#56 : Rename focusable -> hoverable
This commit is contained in:
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
export * from './focusable'
|
||||
15
src/actions/hoverable/event.js
Normal file
15
src/actions/hoverable/event.js
Normal 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)
|
||||
}
|
||||
33
src/actions/hoverable/hoverable.js
Normal file
33
src/actions/hoverable/hoverable.js
Normal 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)
|
||||
},
|
||||
}
|
||||
}
|
||||
1
src/actions/hoverable/index.js
Normal file
1
src/actions/hoverable/index.js
Normal file
@@ -0,0 +1 @@
|
||||
export * from './hoverable'
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user