UNPKG

@sv-use/core

Version:

A collection of Svelte 5 utilities.

71 lines (70 loc) 2.52 kB
import type { CleanupFunction, MaybeGetter } from '../__internal__/types.js'; type OnLongPressOptions = { /** * Whether to auto-cleanup the event listeners or not. * * If set to `true`, it must run in the component initialization lifecycle. * @default true */ autoCleanup?: boolean; /** * Time in milliseconds before the `handler` gets called. * @default 500 */ delay?: number; /** * Allowance of moving distance in pixels. * * The action will get canceled when moving too far from the pointerdown position. * @default 10 */ distanceThreshold?: number; modifiers?: OnLongPressModifiers; /** * The callback for when the pointer is released. * @param duration How long the element was pressed for in milliseconds. * @param distance The distance travelled from the pointerdown position. * @param isLongPress Whether the action was a long press or not. */ onMouseUp?(duration: number, distance: number, isLongPress: boolean): void; }; type OnLongPressModifiers = { /** * Whether to dispatch to the registered listener before being dispatched to any `EventTarget` beneath it in the DOM tree or not. * * Will be used in the event listeners' options. * @default false */ capture?: boolean; /** * Whether the event listener should be invoked at most once after being added or not. * * Will be used in the event listeners' options. * @default false */ once?: boolean; /** * Whether to call `event.preventDefault()` when an event occurs or not. * @default false */ preventDefault?: boolean; /** * Whether the listener should only be invoked if the `event.target` is the given element or not. */ self?: boolean; /** * Whether to call `event.stopPropagation()` when an event occurs or not. * @default false */ stopPropagation?: boolean; }; /** * Runs a callback when a long press occurs on a given element. * @param target The element on which to attach the long press. * @param handler The callback to execute. * @param options Additional options to customize the behavior. * @returns A cleanup function. * @see https://svelte-librarian.github.io/sv-use/docs/core/on-long-press */ export declare function onLongPress(target: MaybeGetter<HTMLElement | null | undefined>, handler: (event: PointerEvent) => void, options?: OnLongPressOptions): CleanupFunction; export {};