#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'

View File

@@ -6,7 +6,7 @@
import Progress from '../Progress/Progress.svelte' import Progress from '../Progress/Progress.svelte'
import { NEXT, PREV } from '../../direction' import { NEXT, PREV } from '../../direction'
import { swipeable } from '../../actions/swipeable' import { swipeable } from '../../actions/swipeable'
import { focusable } from '../../actions/focusable' import { hoverable } from '../../actions/hoverable'
import { tappable } from '../../actions/tappable' import { tappable } from '../../actions/tappable'
import { import {
addResizeEventListener, addResizeEventListener,
@@ -311,7 +311,7 @@
await offsetPage({ animated: true }) await offsetPage({ animated: true })
} }
function handleFocused(event) { function handleHovered(event) {
focused = event.detail.value focused = event.detail.value
} }
function handleTapped(event) { function handleTapped(event) {
@@ -336,8 +336,8 @@
class="sc-carousel__pages-window" class="sc-carousel__pages-window"
bind:this={pageWindowElement} bind:this={pageWindowElement}
use:focusable use:hoverable
on:focused={handleFocused} on:hovered={handleHovered}
use:tappable use:tappable
on:tapped={handleTapped} on:tapped={handleTapped}