use-keybinds
Version:
Lightweight keybind library for React
3 lines • 587 B
JavaScript
"use client"
import K,{createContext as u,useMemo as g}from"react";var r=(e,i)=>(i?"isSequential-":"")+e.join("");var p=u({keybinds:{},combinationsToKeybindKey:{}}),l=e=>{let{children:i,keybinds:o={}}=e,s=g(()=>Object.entries(o).reduce((b,t)=>{let d=t[0],n=t[1],y=(Array.isArray(n.keybind[0])?n.keybind:[n.keybind]).reduce((a,c)=>{let m=r(c,n.isSequential);return{...a,[m]:d}},{});return{...b,...y}},{}),[o]);return K.createElement(p.Provider,{value:{keybinds:o,combinationsToKeybindKey:s}},i)},f=l;export{p as KeybindsContext,f as default};
//# sourceMappingURL=KeybindsProvider.mjs.map