use-keybinds
Version:
Lightweight keybind library for React
3 lines • 1.23 kB
JavaScript
"use client"
;var l=Object.create;var b=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var f=(n,e)=>{for(var i in e)b(n,i,{get:e[i],enumerable:!0})},y=(n,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!x.call(n,o)&&o!==i&&b(n,o,{get:()=>e[o],enumerable:!(r=C(e,o))||r.enumerable});return n};var P=(n,e,i)=>(i=n!=null?l(k(n)):{},y(e||!n||!n.__esModule?b(i,"default",{value:n,enumerable:!0}):i,n)),v=n=>y(b({},"__esModule",{value:!0}),n);var h={};f(h,{KeybindsContext:()=>c,default:()=>T});module.exports=v(h);var t=P(require("react"));var a=(n,e)=>(e?"isSequential-":"")+n.join("");var c=(0,t.createContext)({keybinds:{},combinationsToKeybindKey:{}}),R=n=>{let{children:e,keybinds:i={}}=n,r=(0,t.useMemo)(()=>Object.entries(i).reduce((o,d)=>{let m=d[0],s=d[1],K=(Array.isArray(s.keybind[0])?s.keybind:[s.keybind]).reduce((u,g)=>{let p=a(g,s.isSequential);return{...u,[p]:m}},{});return{...o,...K}},{}),[i]);return t.default.createElement(c.Provider,{value:{keybinds:i,combinationsToKeybindKey:r}},e)},T=R;0&&(module.exports={KeybindsContext});
//# sourceMappingURL=KeybindsProvider.js.map