#56 : Rename focusable -> hoverable

This commit is contained in:
Vadim
2021-08-16 16:42:07 +03:00
parent d71d245a96
commit d019404259
7 changed files with 53 additions and 53 deletions

View File

@@ -1,15 +0,0 @@
// focusin event
export function addFocusinEventListener(source, cb) {
source.addEventListener('mouseenter', cb)
}
export function removeFocusinEventListener(source, cb) {
source.removeEventListener('mouseenter', cb)
}
// focusout event
export function addFocusoutEventListener(source, cb) {
source.addEventListener('mouseleave', cb)
}
export function removeFocusoutEventListener(source, cb) {
source.removeEventListener('mouseleave', cb)
}

View File

@@ -1,33 +0,0 @@
import { createDispatcher } from '../../utils/event'
import {
addFocusinEventListener,
removeFocusinEventListener,
addFocusoutEventListener,
removeFocusoutEventListener
} from './event'
/**
* focusable events are for mouse events only
*/
export function focusable(node) {
const dispatch = createDispatcher(node)
function handleFocusin() {
addFocusoutEventListener(node, handleFocusout)
dispatch('focused', { value: true })
}
function handleFocusout() {
dispatch('focused', { value: false })
removeFocusoutEventListener(node, handleFocusout)
}
addFocusinEventListener(node, handleFocusin)
return {
destroy() {
removeFocusinEventListener(node, handleFocusin)
removeFocusoutEventListener(node, handleFocusout)
},
}
}

View File

@@ -1 +0,0 @@
export * from './focusable'

View File

@@ -0,0 +1,15 @@
// in event
export function addHoverInEventListener(source, cb) {
source.addEventListener('mouseenter', cb)
}
export function removeHoverInEventListener(source, cb) {
source.removeEventListener('mouseenter', cb)
}
// out event
export function addHoverOutEventListener(source, cb) {
source.addEventListener('mouseleave', cb)
}
export function removeHoverOutEventListener(source, cb) {
source.removeEventListener('mouseleave', cb)
}

View File

@@ -0,0 +1,33 @@
import { createDispatcher } from '../../utils/event'
import {
addHoverInEventListener,
removeHoverInEventListener,
addHoverOutEventListener,
removeHoverOutEventListener
} from './event'
/**
* hoverable events are for mouse events only
*/
export function hoverable(node) {
const dispatch = createDispatcher(node)
function handleHoverIn() {
addHoverOutEventListener(node, handleHoverOut)
dispatch('hovered', { value: true })
}
function handleHoverOut() {
dispatch('hovered', { value: false })
removeHoverOutEventListener(node, handleHoverOut)
}
addHoverInEventListener(node, handleHoverIn)
return {
destroy() {
removeHoverInEventListener(node, handleHoverIn)
removeHoverOutEventListener(node, handleHoverOut)
},
}
}

View File

@@ -0,0 +1 @@
export * from './hoverable'