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
TypeScript
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