UNPKG

@clubmed/trident-ui

Version:

Shared ClubMed React UI components

36 lines (35 loc) 956 B
"use client"; import { useCallback as d } from "react"; import { CODE as u, KEY as c } from "./keyboard.constants.js"; const t = (o) => o.key === c.ENTER || o.key === c.SPACE || o.key === c.SPACEBAR || o.code === u.ENTER || o.code === u.SPACE, e = () => { }, p = ({ up: o = e, down: f = e, left: E = e, right: R = e, start: i = e, end: l = e, activate: D = e }) => d( (r) => { if (t(r)) return D(); if (r.code === u.HOME) return r.preventDefault(), i(); if (r.code === u.END) return r.preventDefault(), l(); if (r.code === u.ARROW_UP) return r.preventDefault(), o(); if (r.code === u.ARROW_DOWN) return r.preventDefault(), f(); if (r.code === u.ARROW_RIGHT) return r.preventDefault(), R(); if (r.code === u.ARROW_LEFT) return r.preventDefault(), E(); }, [D, f, l, E, R, i, o] ); export { p as useKeyboardControls }; //# sourceMappingURL=useKeyboardControls.js.map