@@ -3,32 +3,32 @@ import type { RecognizeableEffect } from '../classes'
33import { toHookApi , storePointerStartMetadata , storePointerTimeMetadata , storePointerMoveMetadata } from '../extracted'
44import type { PointerStartMetadata , PointerTimeMetadata , HookApi , PointerMoveMetadata } from '../extracted'
55
6- export type HoverType = 'mouseover ' | 'mouseout' | 'touchstart '
6+ export type PointerhoverType = 'pointerover ' | 'pointerout '
77
8- export type HoverMetadata = (
8+ export type PointerhoverMetadata = (
99 & PointerStartMetadata
1010 & PointerMoveMetadata
1111 & PointerTimeMetadata
1212)
1313
14- export type HoverOptions = {
14+ export type PointerhoverOptions = {
1515 minDuration ?: number ,
16- onOver ?: HoverHook ,
17- onOut ?: HoverHook ,
16+ onOver ?: PointerhoverHook ,
17+ onOut ?: PointerhoverHook ,
1818}
1919
20- export type HoverHook = ( api : HoverHookApi ) => any
20+ export type PointerhoverHook = ( api : PointerhoverHookApi ) => any
2121
22- export type HoverHookApi = HookApi < HoverType , HoverMetadata >
22+ export type PointerhoverHookApi = HookApi < PointerhoverType , PointerhoverMetadata >
2323
24- const defaultOptions : HoverOptions = {
24+ const defaultOptions : PointerhoverOptions = {
2525 minDuration : 0 ,
2626}
2727
2828/**
29- * [Docs](https://baleada.dev/docs/logic/factories/hover )
29+ * [Docs](https://baleada.dev/docs/logic/factories/pointerhover )
3030 */
31- export function createHover ( options : HoverOptions = { } ) {
31+ export function createPointerhover ( options : PointerhoverOptions = { } ) {
3232 const {
3333 minDuration,
3434 onOver,
@@ -39,18 +39,18 @@ export function createHover (options: HoverOptions = {}) {
3939 }
4040
4141 let request : number
42- let mouseStatus : 'entered' | 'exited' = 'exited'
42+ let pointerStatus : 'entered' | 'exited' = 'exited'
4343
44- const mouseover : RecognizeableEffect < 'mouseover ' , HoverMetadata > = ( event , api ) => {
45- if ( mouseStatus === 'exited' ) {
46- mouseStatus = 'entered'
44+ const pointerover : RecognizeableEffect < 'pointerover ' , PointerhoverMetadata > = ( event , api ) => {
45+ if ( pointerStatus === 'exited' ) {
46+ pointerStatus = 'entered'
4747
4848 storePointerStartMetadata ( { event, api } )
4949 storePointerMoveMetadata ( { event, api } )
5050 storePointerTimeMetadata ( {
5151 event,
5252 api,
53- getShouldStore : ( ) => mouseStatus === 'entered' ,
53+ getShouldStore : ( ) => pointerStatus === 'entered' ,
5454 setRequest : newRequest => request = newRequest ,
5555 // @ts -expect-error
5656 recognize,
@@ -64,7 +64,7 @@ export function createHover (options: HoverOptions = {}) {
6464 onOver ?.( toHookApi ( api ) )
6565 }
6666
67- const recognize : RecognizeableEffect < 'mouseover ' , HoverMetadata > = ( event , api ) => {
67+ const recognize : RecognizeableEffect < 'pointerover ' , PointerhoverMetadata > = ( event , api ) => {
6868 const { getMetadata, recognized } = api ,
6969 metadata = getMetadata ( )
7070
@@ -73,8 +73,8 @@ export function createHover (options: HoverOptions = {}) {
7373 }
7474 }
7575
76- const mouseout : RecognizeableEffect < 'mouseout ' , HoverMetadata > = ( event , api ) => {
77- const { denied, listenInjection : { optionsByType : { mouseout : { target } } } } = api
76+ const pointerout : RecognizeableEffect < 'pointerout ' , PointerhoverMetadata > = ( event , api ) => {
77+ const { denied, listenInjection : { optionsByType : { pointerout : { target } } } } = api
7878
7979 if (
8080 event . target !== target
@@ -84,36 +84,31 @@ export function createHover (options: HoverOptions = {}) {
8484 return
8585 }
8686
87- if ( mouseStatus === 'entered' ) {
87+ if ( pointerStatus === 'entered' ) {
8888 denied ( )
8989 stop ( )
90- mouseStatus = 'exited'
90+ pointerStatus = 'exited'
9191 }
9292
9393 onOut ?.( toHookApi ( api ) )
9494 }
9595
96- const touchstart : RecognizeableEffect < 'touchstart' , HoverMetadata > = event => {
97- event . preventDefault ( )
98- }
99-
10096 return {
101- mouseover : {
102- effect : mouseover ,
97+ pointerover : {
98+ effect : pointerover ,
10399 stop,
104100 } ,
105- mouseout,
106- touchstart,
101+ pointerout,
107102 }
108103}
109104
110- export class Hover extends Listenable < HoverType , HoverMetadata > {
111- constructor ( options ?: HoverOptions ) {
105+ export class Pointerhover extends Listenable < PointerhoverType , PointerhoverMetadata > {
106+ constructor ( options ?: PointerhoverOptions ) {
112107 super (
113- 'recognizeable' as HoverType ,
108+ 'recognizeable' as PointerhoverType ,
114109 {
115110 recognizeable : {
116- effects : createHover ( options ) ,
111+ effects : createPointerhover ( options ) ,
117112 } ,
118113 }
119114 )
0 commit comments