24 lines
469 B
TypeScript
24 lines
469 B
TypeScript
export type InteractableKind = "grab" | "trigger";
|
|
|
|
interface TriggerInteractableHandle {
|
|
kind: "trigger";
|
|
label: string;
|
|
onPress: () => void;
|
|
}
|
|
|
|
export interface GrabInteractableHandle {
|
|
kind: "grab";
|
|
label: string;
|
|
onPress: () => void;
|
|
onRelease: () => void;
|
|
}
|
|
|
|
export type InteractableHandle =
|
|
| TriggerInteractableHandle
|
|
| GrabInteractableHandle;
|
|
|
|
export interface InteractionSnapshot {
|
|
focused: InteractableHandle | null;
|
|
holding: boolean;
|
|
}
|