@pmndrs/uikit
Version:
Build performant 3D user interfaces with Three.js and yoga.
16 lines (15 loc) • 1.05 kB
TypeScript
import { Signal } from '@preact/signals-core';
import { PropertyTransformers } from './properties/merged.js';
import { EventHandlers } from './events.js';
import { AllOptionalProperties } from './properties/index.js';
export type WithHover<T> = T & {
cursor?: string;
hover?: T;
onHoverChange?: (hover: boolean) => void;
};
export type HoverEventHandlers = Pick<EventHandlers, 'onPointerOver' | 'onPointerOut'>;
export declare function setupCursorCleanup(hoveredSignal: Signal<Array<number>>, abortSignal: AbortSignal): void;
export declare function addHoverHandlers(target: EventHandlers, style: WithHover<{}> | undefined, properties: WithHover<{}> | undefined, defaultProperties: AllOptionalProperties | undefined, hoveredSignal: Signal<Array<number>>, defaultCursor?: string): void;
export declare function createHoverPropertyTransformers(hoveredSignal: Signal<Array<number>>): PropertyTransformers;
export declare function setCursorType(ref: unknown, type: string): void;
export declare function unsetCursorType(ref: unknown): void;