UNPKG

vevet

Version:

Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.

109 lines 2.76 kB
import { IModuleCallbacksMap, IModuleMutableProps, IModuleStaticProps } from '../../base/Module'; export interface ICursorStaticProps extends IModuleStaticProps { /** * The container where the custom cursor is active. * Use `window` for full-window activation. * @default window */ container?: Element | Window; /** * Hides the native cursor if set to `true`. * @default false */ hideNative?: boolean; } export interface ICursorMutableProps extends IModuleMutableProps { /** * Enables or disables the custom cursor interactions. * @default true */ enabled?: boolean; /** * The initial width of the custom cursor. * @default 50 */ width?: number; /** * The initial height of the custom cursor. * @default 50 */ height?: number; /** * Linear interpolation factor for smooth cursor movement. * The value must be between `0` and `1`, with higher values indicating faster movement. * @default 0.2 */ lerp?: number; /** * Stops rendering the cursor automatically when its coordinates and size * closely match the target values. * @default true */ autoStop?: boolean; } /** * Callback types for the custom cursor component. */ export interface ICursorCallbacksMap extends IModuleCallbacksMap { /** * Triggered on each render to update the cursor's position. */ render: undefined; } /** * Represents the cursor's position. */ export interface ICursorCoords { x: number; y: number; } /** * Represents the cursor's position and size. */ export interface ICursorFullCoords { x: number; y: number; width: number; height: number; } /** * Information about the currently hovered element affecting cursor behavior. */ export interface ICursorHoveredElement { /** * The currently hovered element. */ element: Element; /** Cursor type */ type?: string; /** * Indicates whether the hover state should persist on the element. */ sticky?: boolean; /** * Target width of the cursor while hovering over this element. * @default null */ width?: null | number | 'auto'; /** * Target height of the cursor while hovering over this element. * @default null */ height?: null | number | 'auto'; /** * Padding around the cursor while hovering over this element. */ padding?: number; } /** * Information about the currently hovered element affecting cursor behavior. */ export interface ICursorType { /** * The currently hovered element. */ element: Element; /** Cursor type */ type: string; } //# sourceMappingURL=types.d.ts.map