monday-ui-react-core
Version:
Official monday.com UI resources for application development in React.js
3 lines (2 loc) • 1.01 kB
JavaScript
import{useRef as e,useCallback as t}from"react";import r from"../useEventListener/index.js";import{isClient as o}from"../../utils/ssr-utils.js";var i;!function(e){e.ALT="altKey",e.META="metaKey",e.CTRL="ctrlKey",e.SHIFT="shiftKey",e.CTRL_OR_META="ctrlOrMetaKey"}(i||(i={}));function n(a){var u=a.keys,c=void 0===u?[]:u,l=a.callback,f=a.modifier,s=a.withoutAnyModifier,d=a.ref,m=a.ignoreDocumentFallback,v=void 0!==m&&m,y=a.capture,p=void 0!==y&&y,K=a.preventDefault,T=void 0!==K&&K,k=a.stopPropagation,M=void 0!==k&&k,b=a.keyEventName,A=void 0===b?"keydown":b,E=e(o()?document.body:null),L=t((function(e){c.includes(e.key)&&(f&&!function(e,t){return t===i.CTRL_OR_META?e.ctrlKey||e.metaKey:e[t]}(e,f)||s&&!function(e){return!Object.values(n.modifiers).some((function(t){if("ctrlOrMetaKey"!==t)return!!e[t]}))}(e)||(T&&e.preventDefault(),M&&e.stopPropagation(),l(e)))}),[c,f,s,T,M,l]);r({eventName:A,callback:L,ref:d||(v?null:E),capture:p})}n.modifiers=i;export{n as default};
//# sourceMappingURL=index.js.map