From d0194042594448bf794dc4d864a172434a3607f3 Mon Sep 17 00:00:00 2001 From: Vadim Date: Mon, 16 Aug 2021 16:42:07 +0300 Subject: [PATCH] #56 : Rename focusable -> hoverable --- src/actions/focusable/event.js | 15 ----------- src/actions/focusable/focusable.js | 33 ------------------------- src/actions/focusable/index.js | 1 - src/actions/hoverable/event.js | 15 +++++++++++ src/actions/hoverable/hoverable.js | 33 +++++++++++++++++++++++++ src/actions/hoverable/index.js | 1 + src/components/Carousel/Carousel.svelte | 8 +++--- 7 files changed, 53 insertions(+), 53 deletions(-) delete mode 100644 src/actions/focusable/event.js delete mode 100644 src/actions/focusable/focusable.js delete mode 100644 src/actions/focusable/index.js create mode 100644 src/actions/hoverable/event.js create mode 100644 src/actions/hoverable/hoverable.js create mode 100644 src/actions/hoverable/index.js diff --git a/src/actions/focusable/event.js b/src/actions/focusable/event.js deleted file mode 100644 index 7bd13f4..0000000 --- a/src/actions/focusable/event.js +++ /dev/null @@ -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) -} diff --git a/src/actions/focusable/focusable.js b/src/actions/focusable/focusable.js deleted file mode 100644 index 4887082..0000000 --- a/src/actions/focusable/focusable.js +++ /dev/null @@ -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) - }, - } -} diff --git a/src/actions/focusable/index.js b/src/actions/focusable/index.js deleted file mode 100644 index 16fa8dd..0000000 --- a/src/actions/focusable/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from './focusable' diff --git a/src/actions/hoverable/event.js b/src/actions/hoverable/event.js new file mode 100644 index 0000000..e9b3b06 --- /dev/null +++ b/src/actions/hoverable/event.js @@ -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) +} diff --git a/src/actions/hoverable/hoverable.js b/src/actions/hoverable/hoverable.js new file mode 100644 index 0000000..173d6df --- /dev/null +++ b/src/actions/hoverable/hoverable.js @@ -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) + }, + } +} diff --git a/src/actions/hoverable/index.js b/src/actions/hoverable/index.js new file mode 100644 index 0000000..70ae5d9 --- /dev/null +++ b/src/actions/hoverable/index.js @@ -0,0 +1 @@ +export * from './hoverable' diff --git a/src/components/Carousel/Carousel.svelte b/src/components/Carousel/Carousel.svelte index 4cff4cd..4ab0c61 100644 --- a/src/components/Carousel/Carousel.svelte +++ b/src/components/Carousel/Carousel.svelte @@ -6,7 +6,7 @@ import Progress from '../Progress/Progress.svelte' import { NEXT, PREV } from '../../direction' import { swipeable } from '../../actions/swipeable' - import { focusable } from '../../actions/focusable' + import { hoverable } from '../../actions/hoverable' import { tappable } from '../../actions/tappable' import { addResizeEventListener, @@ -311,7 +311,7 @@ await offsetPage({ animated: true }) } - function handleFocused(event) { + function handleHovered(event) { focused = event.detail.value } function handleTapped(event) { @@ -336,8 +336,8 @@ class="sc-carousel__pages-window" bind:this={pageWindowElement} - use:focusable - on:focused={handleFocused} + use:hoverable + on:hovered={handleHovered} use:tappable on:tapped={handleTapped}