@vef-framework-react/hooks 2.2.2 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/lib.cjs +1 -1
  3. package/dist/cjs/use-authorized-items/index.cjs +1 -1
  4. package/dist/cjs/use-breakpoints/index.cjs +1 -1
  5. package/dist/cjs/use-check-permission/index.cjs +1 -1
  6. package/dist/cjs/use-data-options/index.cjs +1 -1
  7. package/dist/cjs/use-deep-callback/index.cjs +1 -1
  8. package/dist/cjs/use-deep-compare/index.cjs +1 -1
  9. package/dist/cjs/use-deep-effect/index.cjs +1 -1
  10. package/dist/cjs/use-deep-isomorphic-effect/index.cjs +1 -1
  11. package/dist/cjs/use-deep-layout-effect/index.cjs +1 -1
  12. package/dist/cjs/use-deep-memo/index.cjs +1 -1
  13. package/dist/cjs/use-dictionary-query/index.cjs +1 -1
  14. package/dist/cjs/use-document-event/index.cjs +1 -1
  15. package/dist/cjs/use-emitter-event/index.cjs +1 -1
  16. package/dist/cjs/use-has-fetching/index.cjs +1 -1
  17. package/dist/cjs/use-has-mutating/index.cjs +1 -1
  18. package/dist/cjs/use-is-authorized/index.cjs +1 -1
  19. package/dist/cjs/use-latest/index.cjs +1 -1
  20. package/dist/cjs/use-raf-state/index.cjs +1 -1
  21. package/dist/cjs/use-shallow-callback/index.cjs +1 -1
  22. package/dist/cjs/use-shallow-compare/index.cjs +1 -1
  23. package/dist/cjs/use-shallow-effect/index.cjs +1 -1
  24. package/dist/cjs/use-shallow-isomorphic-effect/index.cjs +1 -1
  25. package/dist/cjs/use-shallow-layout-effect/index.cjs +1 -1
  26. package/dist/cjs/use-shallow-memo/index.cjs +1 -1
  27. package/dist/cjs/use-singleton/index.cjs +1 -1
  28. package/dist/cjs/use-upload/index.cjs +1 -1
  29. package/dist/cjs/use-viewport-size/index.cjs +1 -1
  30. package/dist/es/index.js +1 -1
  31. package/dist/es/lib.js +1 -1
  32. package/dist/es/use-authorized-items/index.js +2 -2
  33. package/dist/es/use-breakpoints/index.js +1 -1
  34. package/dist/es/use-check-permission/index.js +1 -1
  35. package/dist/es/use-data-options/index.js +1 -1
  36. package/dist/es/use-deep-callback/index.js +1 -1
  37. package/dist/es/use-deep-compare/index.js +1 -1
  38. package/dist/es/use-deep-effect/index.js +1 -1
  39. package/dist/es/use-deep-isomorphic-effect/index.js +1 -1
  40. package/dist/es/use-deep-layout-effect/index.js +1 -1
  41. package/dist/es/use-deep-memo/index.js +1 -1
  42. package/dist/es/use-dictionary-query/index.js +1 -1
  43. package/dist/es/use-document-event/index.js +1 -1
  44. package/dist/es/use-emitter-event/index.js +1 -1
  45. package/dist/es/use-has-fetching/index.js +1 -1
  46. package/dist/es/use-has-mutating/index.js +1 -1
  47. package/dist/es/use-is-authorized/index.js +1 -1
  48. package/dist/es/use-latest/index.js +1 -1
  49. package/dist/es/use-raf-state/index.js +1 -1
  50. package/dist/es/use-shallow-callback/index.js +1 -1
  51. package/dist/es/use-shallow-compare/index.js +1 -1
  52. package/dist/es/use-shallow-effect/index.js +1 -1
  53. package/dist/es/use-shallow-isomorphic-effect/index.js +1 -1
  54. package/dist/es/use-shallow-layout-effect/index.js +1 -1
  55. package/dist/es/use-shallow-memo/index.js +1 -1
  56. package/dist/es/use-singleton/index.js +1 -1
  57. package/dist/es/use-upload/index.js +1 -1
  58. package/dist/es/use-viewport-size/index.js +1 -1
  59. package/dist/types/{index.d.ts → src/index.d.ts} +1 -1
  60. package/dist/types/{lib.d.ts → src/lib.d.ts} +0 -1
  61. package/dist/types/{use-authorized-items → src/use-authorized-items}/index.d.ts +2 -2
  62. package/dist/types/{use-check-permission → src/use-check-permission}/index.d.ts +1 -1
  63. package/dist/types/{use-dictionary-query → src/use-dictionary-query}/index.d.ts +25 -2
  64. package/dist/types/src/use-is-authorized/index.d.ts +10 -0
  65. package/package.json +5 -5
  66. package/dist/types/use-is-authorized/index.d.ts +0 -10
  67. /package/dist/types/{use-breakpoints → src/use-breakpoints}/index.d.ts +0 -0
  68. /package/dist/types/{use-data-options → src/use-data-options}/index.d.ts +0 -0
  69. /package/dist/types/{use-deep-callback → src/use-deep-callback}/index.d.ts +0 -0
  70. /package/dist/types/{use-deep-compare → src/use-deep-compare}/index.d.ts +0 -0
  71. /package/dist/types/{use-deep-effect → src/use-deep-effect}/index.d.ts +0 -0
  72. /package/dist/types/{use-deep-isomorphic-effect → src/use-deep-isomorphic-effect}/index.d.ts +0 -0
  73. /package/dist/types/{use-deep-layout-effect → src/use-deep-layout-effect}/index.d.ts +0 -0
  74. /package/dist/types/{use-deep-memo → src/use-deep-memo}/index.d.ts +0 -0
  75. /package/dist/types/{use-document-event → src/use-document-event}/index.d.ts +0 -0
  76. /package/dist/types/{use-emitter-event → src/use-emitter-event}/index.d.ts +0 -0
  77. /package/dist/types/{use-has-fetching → src/use-has-fetching}/index.d.ts +0 -0
  78. /package/dist/types/{use-has-mutating → src/use-has-mutating}/index.d.ts +0 -0
  79. /package/dist/types/{use-latest → src/use-latest}/index.d.ts +0 -0
  80. /package/dist/types/{use-raf-state → src/use-raf-state}/index.d.ts +0 -0
  81. /package/dist/types/{use-shallow-callback → src/use-shallow-callback}/index.d.ts +0 -0
  82. /package/dist/types/{use-shallow-compare → src/use-shallow-compare}/index.d.ts +0 -0
  83. /package/dist/types/{use-shallow-effect → src/use-shallow-effect}/index.d.ts +0 -0
  84. /package/dist/types/{use-shallow-isomorphic-effect → src/use-shallow-isomorphic-effect}/index.d.ts +0 -0
  85. /package/dist/types/{use-shallow-layout-effect → src/use-shallow-layout-effect}/index.d.ts +0 -0
  86. /package/dist/types/{use-shallow-memo → src/use-shallow-memo}/index.d.ts +0 -0
  87. /package/dist/types/{use-singleton → src/use-singleton}/index.d.ts +0 -0
  88. /package/dist/types/{use-upload → src/use-upload}/index.d.ts +0 -0
  89. /package/dist/types/{use-viewport-size → src/use-viewport-size}/index.d.ts +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./lib.cjs`),t=require(`./use-authorized-items/index.cjs`),n=require(`./use-breakpoints/index.cjs`),r=require(`./use-check-permission/index.cjs`),i=require(`./use-data-options/index.cjs`),a=require(`./use-deep-compare/index.cjs`),o=require(`./use-deep-callback/index.cjs`),s=require(`./use-deep-effect/index.cjs`),c=require(`./use-deep-isomorphic-effect/index.cjs`),l=require(`./use-deep-layout-effect/index.cjs`),u=require(`./use-deep-memo/index.cjs`),d=require(`./use-dictionary-query/index.cjs`),f=require(`./use-latest/index.cjs`),p=require(`./use-document-event/index.cjs`),m=require(`./use-emitter-event/index.cjs`),h=require(`./use-has-fetching/index.cjs`),g=require(`./use-has-mutating/index.cjs`),_=require(`./use-is-authorized/index.cjs`),v=require(`./use-raf-state/index.cjs`),y=require(`./use-shallow-compare/index.cjs`),b=require(`./use-shallow-callback/index.cjs`),x=require(`./use-shallow-effect/index.cjs`),S=require(`./use-shallow-isomorphic-effect/index.cjs`),C=require(`./use-shallow-layout-effect/index.cjs`),w=require(`./use-shallow-memo/index.cjs`),T=require(`./use-singleton/index.cjs`),E=require(`./use-upload/index.cjs`),D=require(`./use-viewport-size/index.cjs`);let O=require(`react-hotkeys-hook`),k=require(`@mantine/hooks`);Object.defineProperty(exports,`HotkeysProvider`,{enumerable:!0,get:function(){return O.HotkeysProvider}}),Object.defineProperty(exports,`assignRef`,{enumerable:!0,get:function(){return k.assignRef}}),Object.defineProperty(exports,`getHotkeyHandler`,{enumerable:!0,get:function(){return k.getHotkeyHandler}}),Object.defineProperty(exports,`mergeRefs`,{enumerable:!0,get:function(){return k.mergeRefs}}),exports.resolveDictKey=d.resolveDictKey,exports.useAuthorizedItems=t.useAuthorizedItems,exports.useBreakpoints=n.useBreakpoints,exports.useCheckPermission=r.useCheckPermission,exports.useColorScheme=e.useColorScheme,exports.useDataOptionsQuery=i.useDataOptionsQuery,Object.defineProperty(exports,`useDebouncedCallback`,{enumerable:!0,get:function(){return k.useDebouncedCallback}}),Object.defineProperty(exports,`useDebouncedState`,{enumerable:!0,get:function(){return k.useDebouncedState}}),Object.defineProperty(exports,`useDebouncedValue`,{enumerable:!0,get:function(){return k.useDebouncedValue}}),exports.useDeepCallback=o.useDeepCallback,exports.useDeepCompare=a.useDeepCompare,exports.useDeepEffect=s.useDeepEffect,exports.useDeepIsomorphicEffect=c.useDeepIsomorphicEffect,exports.useDeepLayoutEffect=l.useDeepLayoutEffect,exports.useDeepMemo=u.useDeepMemo,exports.useDictionaryQuery=d.useDictionaryQuery,Object.defineProperty(exports,`useDidUpdate`,{enumerable:!0,get:function(){return k.useDidUpdate}}),exports.useDocumentEvent=p.useDocumentEvent,Object.defineProperty(exports,`useDocumentTitle`,{enumerable:!0,get:function(){return k.useDocumentTitle}}),exports.useElementSize=e.useElementSize,exports.useEmitterEvent=m.useEmitterEvent,Object.defineProperty(exports,`useEventListener`,{enumerable:!0,get:function(){return k.useEventListener}}),Object.defineProperty(exports,`useFocusTrap`,{enumerable:!0,get:function(){return k.useFocusTrap}}),Object.defineProperty(exports,`useFullscreenDocument`,{enumerable:!0,get:function(){return k.useFullscreenDocument}}),exports.useHasFetching=h.useHasFetching,exports.useHasMutating=g.useHasMutating,Object.defineProperty(exports,`useHotkeys`,{enumerable:!0,get:function(){return O.useHotkeys}}),Object.defineProperty(exports,`useHotkeysContext`,{enumerable:!0,get:function(){return O.useHotkeysContext}}),Object.defineProperty(exports,`useIntersection`,{enumerable:!0,get:function(){return k.useIntersection}}),Object.defineProperty(exports,`useInterval`,{enumerable:!0,get:function(){return k.useInterval}}),exports.useIsAuthorized=_.useIsAuthorized,Object.defineProperty(exports,`useIsFirstRender`,{enumerable:!0,get:function(){return k.useIsFirstRender}}),Object.defineProperty(exports,`useIsomorphicEffect`,{enumerable:!0,get:function(){return k.useIsomorphicEffect}}),exports.useLatest=f.useLatest,exports.useMediaQuery=e.useMediaQuery,Object.defineProperty(exports,`useMergedRef`,{enumerable:!0,get:function(){return k.useMergedRef}}),Object.defineProperty(exports,`useMounted`,{enumerable:!0,get:function(){return k.useMounted}}),Object.defineProperty(exports,`useMutationObserverTarget`,{enumerable:!0,get:function(){return k.useMutationObserverTarget}}),Object.defineProperty(exports,`usePrevious`,{enumerable:!0,get:function(){return k.usePrevious}}),exports.useRafState=v.useRafState,Object.defineProperty(exports,`useRecordHotkeys`,{enumerable:!0,get:function(){return O.useRecordHotkeys}}),exports.useReducedMotion=e.useReducedMotion,Object.defineProperty(exports,`useResizeObserver`,{enumerable:!0,get:function(){return k.useResizeObserver}}),exports.useShallowCallback=b.useShallowCallback,exports.useShallowCompare=y.useShallowCompare,exports.useShallowEffect=x.useShallowEffect,exports.useShallowIsomorphicEffect=S.useShallowIsomorphicEffect,exports.useShallowLayoutEffect=C.useShallowLayoutEffect,exports.useShallowMemo=w.useShallowMemo,exports.useSingleton=T.useSingleton,Object.defineProperty(exports,`useTimeout`,{enumerable:!0,get:function(){return k.useTimeout}}),exports.useUpload=E.useUpload,exports.useViewportSize=D.useViewportSize,Object.defineProperty(exports,`useWindowEvent`,{enumerable:!0,get:function(){return k.useWindowEvent}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib.cjs"),t=require("./use-authorized-items/index.cjs"),n=require("./use-breakpoints/index.cjs"),r=require("./use-check-permission/index.cjs"),i=require("./use-data-options/index.cjs"),a=require("./use-deep-compare/index.cjs"),o=require("./use-deep-callback/index.cjs"),s=require("./use-deep-effect/index.cjs"),c=require("./use-deep-isomorphic-effect/index.cjs"),l=require("./use-deep-layout-effect/index.cjs"),u=require("./use-deep-memo/index.cjs"),d=require("./use-dictionary-query/index.cjs"),f=require("./use-latest/index.cjs"),p=require("./use-document-event/index.cjs"),m=require("./use-emitter-event/index.cjs"),h=require("./use-has-fetching/index.cjs"),g=require("./use-has-mutating/index.cjs"),_=require("./use-is-authorized/index.cjs"),v=require("./use-raf-state/index.cjs"),y=require("./use-shallow-compare/index.cjs"),b=require("./use-shallow-callback/index.cjs"),x=require("./use-shallow-effect/index.cjs"),S=require("./use-shallow-isomorphic-effect/index.cjs"),C=require("./use-shallow-layout-effect/index.cjs"),w=require("./use-shallow-memo/index.cjs"),T=require("./use-singleton/index.cjs"),E=require("./use-upload/index.cjs"),D=require("./use-viewport-size/index.cjs");let O=require("react-hotkeys-hook"),k=require("@mantine/hooks");Object.defineProperty(exports,"HotkeysProvider",{enumerable:!0,get:function(){return O.HotkeysProvider}}),Object.defineProperty(exports,"assignRef",{enumerable:!0,get:function(){return k.assignRef}}),Object.defineProperty(exports,"getHotkeyHandler",{enumerable:!0,get:function(){return k.getHotkeyHandler}}),Object.defineProperty(exports,"mergeRefs",{enumerable:!0,get:function(){return k.mergeRefs}}),exports.resolveDictKey=d.resolveDictKey,exports.useAuthorizedItems=t.useAuthorizedItems,exports.useBreakpoints=n.useBreakpoints,exports.useCheckPermission=r.useCheckPermission,exports.useColorScheme=e.useColorScheme,exports.useDataOptionsQuery=i.useDataOptionsQuery,Object.defineProperty(exports,"useDebouncedCallback",{enumerable:!0,get:function(){return k.useDebouncedCallback}}),Object.defineProperty(exports,"useDebouncedState",{enumerable:!0,get:function(){return k.useDebouncedState}}),Object.defineProperty(exports,"useDebouncedValue",{enumerable:!0,get:function(){return k.useDebouncedValue}}),exports.useDeepCallback=o.useDeepCallback,exports.useDeepCompare=a.useDeepCompare,exports.useDeepEffect=s.useDeepEffect,exports.useDeepIsomorphicEffect=c.useDeepIsomorphicEffect,exports.useDeepLayoutEffect=l.useDeepLayoutEffect,exports.useDeepMemo=u.useDeepMemo,exports.useDictionaryQuery=d.useDictionaryQuery,Object.defineProperty(exports,"useDidUpdate",{enumerable:!0,get:function(){return k.useDidUpdate}}),exports.useDocumentEvent=p.useDocumentEvent,Object.defineProperty(exports,"useDocumentTitle",{enumerable:!0,get:function(){return k.useDocumentTitle}}),exports.useElementSize=e.useElementSize,exports.useEmitterEvent=m.useEmitterEvent,Object.defineProperty(exports,"useEventListener",{enumerable:!0,get:function(){return k.useEventListener}}),Object.defineProperty(exports,"useFocusTrap",{enumerable:!0,get:function(){return k.useFocusTrap}}),Object.defineProperty(exports,"useFullscreenDocument",{enumerable:!0,get:function(){return k.useFullscreenDocument}}),exports.useHasFetching=h.useHasFetching,exports.useHasMutating=g.useHasMutating,Object.defineProperty(exports,"useHotkeys",{enumerable:!0,get:function(){return O.useHotkeys}}),Object.defineProperty(exports,"useHotkeysContext",{enumerable:!0,get:function(){return O.useHotkeysContext}}),Object.defineProperty(exports,"useIntersection",{enumerable:!0,get:function(){return k.useIntersection}}),Object.defineProperty(exports,"useInterval",{enumerable:!0,get:function(){return k.useInterval}}),exports.useIsAuthorized=_.useIsAuthorized,Object.defineProperty(exports,"useIsFirstRender",{enumerable:!0,get:function(){return k.useIsFirstRender}}),Object.defineProperty(exports,"useIsomorphicEffect",{enumerable:!0,get:function(){return k.useIsomorphicEffect}}),exports.useLatest=f.useLatest,exports.useMediaQuery=e.useMediaQuery,Object.defineProperty(exports,"useMergedRef",{enumerable:!0,get:function(){return k.useMergedRef}}),Object.defineProperty(exports,"useMounted",{enumerable:!0,get:function(){return k.useMounted}}),Object.defineProperty(exports,"useMutationObserverTarget",{enumerable:!0,get:function(){return k.useMutationObserverTarget}}),Object.defineProperty(exports,"usePrevious",{enumerable:!0,get:function(){return k.usePrevious}}),exports.useRafState=v.useRafState,Object.defineProperty(exports,"useRecordHotkeys",{enumerable:!0,get:function(){return O.useRecordHotkeys}}),exports.useReducedMotion=e.useReducedMotion,Object.defineProperty(exports,"useResizeObserver",{enumerable:!0,get:function(){return k.useResizeObserver}}),exports.useShallowCallback=b.useShallowCallback,exports.useShallowCompare=y.useShallowCompare,exports.useShallowEffect=x.useShallowEffect,exports.useShallowIsomorphicEffect=S.useShallowIsomorphicEffect,exports.useShallowLayoutEffect=C.useShallowLayoutEffect,exports.useShallowMemo=w.useShallowMemo,exports.useSingleton=T.useSingleton,Object.defineProperty(exports,"useTimeout",{enumerable:!0,get:function(){return k.useTimeout}}),exports.useUpload=E.useUpload,exports.useViewportSize=D.useViewportSize,Object.defineProperty(exports,"useWindowEvent",{enumerable:!0,get:function(){return k.useWindowEvent}});
package/dist/cjs/lib.cjs CHANGED
@@ -1 +1 @@
1
- let e=require(`@mantine/hooks`);require(`react-hotkeys-hook`);var t={getInitialValueInEffect:!1};function n(n,r,i=t){return(0,e.useMediaQuery)(n,r,{getInitialValueInEffect:i.getInitialValueInEffect})}function r(n,r=t){return(0,e.useColorScheme)(n,{getInitialValueInEffect:r.getInitialValueInEffect})}function i(n,r=t){return(0,e.useReducedMotion)(n,{getInitialValueInEffect:r.getInitialValueInEffect})}var a={box:`border-box`};function o(t=a){return(0,e.useElementSize)(t)}exports.useColorScheme=r,exports.useElementSize=o,exports.useMediaQuery=n,exports.useReducedMotion=i;
1
+ let e=require("@mantine/hooks");require("react-hotkeys-hook");var t={getInitialValueInEffect:!1};function n(n,r,i=t){return(0,e.useMediaQuery)(n,r,{getInitialValueInEffect:i.getInitialValueInEffect})}function r(n,r=t){return(0,e.useColorScheme)(n,{getInitialValueInEffect:r.getInitialValueInEffect})}function i(n,r=t){return(0,e.useReducedMotion)(n,{getInitialValueInEffect:r.getInitialValueInEffect})}var a={box:`border-box`};function o(t=a){return(0,e.useElementSize)(t)}exports.useColorScheme=r,exports.useElementSize=o,exports.useMediaQuery=n,exports.useReducedMotion=i;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`);function t(t){let{hasPermission:n=()=>!0}=(0,e.useAppContext)();return t.filter(t=>{let{permTokens:r,checkMode:i=`any`}=t;return(0,e.checkPermission)(n,r,i)})}exports.useAuthorizedItems=t;
1
+ let e=require("@vef-framework-react/core");function t(t){let{hasPermission:n=()=>!0}=(0,e.useAppContext)();return t.filter(t=>{let{requiredPermissions:r,checkMode:i=`any`}=t;return(0,e.checkPermission)(n,r,i)})}exports.useAuthorizedItems=t;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/shared`),t=require(`react`);function n(t){return`(min-width: ${(0,e.isNumber)(t)?`${t}px`:t})`}function r(r,i={}){let{initialBreakpoint:a,getInitialValueInEffect:o=!1}=i,s=(0,t.useMemo)(()=>Object.entries(r).map(([t,r])=>({name:t,value:r,query:n(r),order:(0,e.isNumber)(r)?r:Number.parseInt(r)})).toSorted((e,t)=>e.order-t.order),[r]),[c,l]=(0,t.useState)(()=>{if(globalThis.window===void 0||o)return{current:a,value:s.find(e=>e.name===a)?.value,matches:a?[a]:[]};let e=s.filter(e=>globalThis.matchMedia(e.query).matches),t=e.at(-1);return{current:t?.name,value:t?.value,matches:e.map(e=>e.name)}});return(0,t.useEffect)(()=>{let e=s.map(e=>({name:e.name,value:e.value,mql:globalThis.matchMedia(e.query)}));function t(){let t=e.filter(e=>e.mql.matches),n=t.at(-1);l({current:n?.name,value:n?.value,matches:t.map(e=>e.name)})}o&&t();for(let n of e)n.mql.addEventListener(`change`,t);return()=>{for(let n of e)n.mql.removeEventListener(`change`,t)}},[o,s]),c}exports.useBreakpoints=r;
1
+ let e=require("@vef-framework-react/shared"),t=require("react");function n(t){return`(min-width: ${(0,e.isNumber)(t)?`${t}px`:t})`}function r(r,i={}){let{initialBreakpoint:a,getInitialValueInEffect:o=!1}=i,s=(0,t.useMemo)(()=>Object.entries(r).map(([t,r])=>({name:t,value:r,query:n(r),order:(0,e.isNumber)(r)?r:Number.parseInt(r)})).toSorted((e,t)=>e.order-t.order),[r]),[c,l]=(0,t.useState)(()=>{if(globalThis.window===void 0||o)return{current:a,value:s.find(e=>e.name===a)?.value,matches:a?[a]:[]};let e=s.filter(e=>globalThis.matchMedia(e.query).matches),t=e.at(-1);return{current:t?.name,value:t?.value,matches:e.map(e=>e.name)}});return(0,t.useEffect)(()=>{let e=s.map(e=>({name:e.name,value:e.value,mql:globalThis.matchMedia(e.query)}));function t(){let t=e.filter(e=>e.mql.matches),n=t.at(-1);l({current:n?.name,value:n?.value,matches:t.map(e=>e.name)})}o&&t();for(let n of e)n.mql.addEventListener(`change`,t);return()=>{for(let n of e)n.mql.removeEventListener(`change`,t)}},[o,s]),c}exports.useBreakpoints=r;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`);function t(){let{hasPermission:t=()=>!0}=(0,e.useAppContext)();return(n,r)=>(0,e.checkPermission)(t,n,r)}exports.useCheckPermission=t;
1
+ let e=require("@vef-framework-react/core");function t(){let{hasPermission:t=()=>!0}=(0,e.useAppContext)();return(n,r)=>(0,e.checkPermission)(t,n,r)}exports.useCheckPermission=t;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`),t=require(`@vef-framework-react/shared`),n=require(`react`);function r(e,n,r){return n?(0,t.isFunction)(n)?n(e):(0,t.get)(e,n):e[r]}function i(e,n,a){let{labelKey:o,valueKey:s,disabledKey:c,descriptionKey:l,childrenKey:u}=n,d=r(e,o,`label`),f=r(e,s,`value`),p=r(e,c,`disabled`),m=r(e,l,`description`),h=r(e,u,`children`),g={...e,label:d,value:f,...!(0,t.isNullish)(p)&&{disabled:p},...!(0,t.isNullish)(m)&&{description:m}},_=a?(0,t.withPinyin)(g,`label`,`description`):g;return Array.isArray(h)&&h.length>0&&(_.children=h.map(e=>i(e,n,a))),_}function a(e,n,r){return!e||(0,t.isEmpty)(e)?[]:e.map(e=>i(e,n,r))}function o({queryOptions:t,labelKey:r,valueKey:i,disabledKey:o,descriptionKey:s,childrenKey:c,withPinyin:l=!1}){let{data:u,...d}=(0,e.useQuery)(t),f=(0,n.useMemo)(()=>({labelKey:r,valueKey:i,disabledKey:o,descriptionKey:s,childrenKey:c}),[r,i,o,s,c]);return{options:(0,n.useMemo)(()=>a(u,f,l),[u,f,l]),...d}}exports.useDataOptionsQuery=o;
1
+ let e=require("@vef-framework-react/core"),t=require("@vef-framework-react/shared"),n=require("react");function r(e,n,r){return n?(0,t.isFunction)(n)?n(e):(0,t.get)(e,n):e[r]}function i(e,n,a){let{labelKey:o,valueKey:s,disabledKey:c,descriptionKey:l,childrenKey:u}=n,d=r(e,o,`label`),f=r(e,s,`value`),p=r(e,c,`disabled`),m=r(e,l,`description`),h=r(e,u,`children`),g={...e,label:d,value:f,...!(0,t.isNullish)(p)&&{disabled:p},...!(0,t.isNullish)(m)&&{description:m}},_=a?(0,t.withPinyin)(g,`label`,`description`):g;return Array.isArray(h)&&h.length>0&&(_.children=h.map(e=>i(e,n,a))),_}function a(e,n,r){return!e||(0,t.isEmpty)(e)?[]:e.map(e=>i(e,n,r))}function o({queryOptions:t,labelKey:r,valueKey:i,disabledKey:o,descriptionKey:s,childrenKey:c,withPinyin:l=!1}){let{data:u,...d}=(0,e.useQuery)(t),f=(0,n.useMemo)(()=>({labelKey:r,valueKey:i,disabledKey:o,descriptionKey:s,childrenKey:c}),[r,i,o,s,c]);return{options:(0,n.useMemo)(()=>a(u,f,l),[u,f,l]),...d}}exports.useDataOptionsQuery=o;
@@ -1 +1 @@
1
- const e=require(`../use-deep-compare/index.cjs`);let t=require(`react`);function n(n,r){return(0,t.useCallback)(n,e.useDeepCompare(r))}exports.useDeepCallback=n;
1
+ const e=require("../use-deep-compare/index.cjs");let t=require("react");function n(n,r){return(0,t.useCallback)(n,e.useDeepCompare(r))}exports.useDeepCallback=n;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/shared`),t=require(`react`);function n(e){let n=(0,t.useRef)(void 0),i=(0,t.useRef)(0);return r(n.current,e)||(n.current=e,i.current+=1),[i.current]}function r(t,n){if(t===void 0||n===void 0)return!1;if(Object.is(t,n))return!0;if(t.length!==n.length)return!1;for(let[r,i]of t.entries())if(!(0,e.isDeepEqual)(i,n[r]))return!1;return!0}exports.useDeepCompare=n;
1
+ let e=require("@vef-framework-react/shared"),t=require("react");function n(e){let n=(0,t.useRef)(void 0),i=(0,t.useRef)(0);return r(n.current,e)||(n.current=e,i.current+=1),[i.current]}function r(t,n){if(t===void 0||n===void 0)return!1;if(Object.is(t,n))return!0;if(t.length!==n.length)return!1;for(let[r,i]of t.entries())if(!(0,e.isDeepEqual)(i,n[r]))return!1;return!0}exports.useDeepCompare=n;
@@ -1 +1 @@
1
- const e=require(`../use-deep-compare/index.cjs`);let t=require(`react`);function n(n,r){(0,t.useEffect)(n,e.useDeepCompare(r))}exports.useDeepEffect=n;
1
+ const e=require("../use-deep-compare/index.cjs");let t=require("react");function n(n,r){(0,t.useEffect)(n,e.useDeepCompare(r))}exports.useDeepEffect=n;
@@ -1 +1 @@
1
- const e=require(`../use-deep-compare/index.cjs`);let t=require(`@mantine/hooks`);function n(n,r){(0,t.useIsomorphicEffect)(n,e.useDeepCompare(r))}exports.useDeepIsomorphicEffect=n;
1
+ const e=require("../use-deep-compare/index.cjs");let t=require("@mantine/hooks");function n(n,r){(0,t.useIsomorphicEffect)(n,e.useDeepCompare(r))}exports.useDeepIsomorphicEffect=n;
@@ -1 +1 @@
1
- const e=require(`../use-deep-compare/index.cjs`);let t=require(`react`);function n(n,r){(0,t.useLayoutEffect)(n,e.useDeepCompare(r))}exports.useDeepLayoutEffect=n;
1
+ const e=require("../use-deep-compare/index.cjs");let t=require("react");function n(n,r){(0,t.useLayoutEffect)(n,e.useDeepCompare(r))}exports.useDeepLayoutEffect=n;
@@ -1 +1 @@
1
- const e=require(`../use-deep-compare/index.cjs`);let t=require(`react`);function n(n,r){return(0,t.useMemo)(n,e.useDeepCompare(r))}exports.useDeepMemo=n;
1
+ const e=require("../use-deep-compare/index.cjs");let t=require("react");function n(n,r){return(0,t.useMemo)(n,e.useDeepCompare(r))}exports.useDeepMemo=n;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`),t=require(`@vef-framework-react/shared`),n=require(`react`);function r(e){return(0,t.isString)(e)?e:e.key}function i(i,a){let{dictionaryQueryFn:o}=(0,e.useAppContext)();if(!(0,t.isFunction)(o))throw Error(`Dictionary query function is not provided in the app context.`);let{enabled:s,select:c}=a??{},l=(0,n.useMemo)(()=>[...new Set(Object.values(i).map(e=>r(e)))].toSorted(),[i]),u=(0,n.useCallback)(e=>{let t=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,e[r(n)]??[]]));return c?c(t):t},[i,c]);return(0,e.useQuery)({queryFn:l.length===0?e.skipQueryToken:o,queryKey:[o.key,l],enabled:s,select:u,staleTime:1/0})}exports.resolveDictKey=r,exports.useDictionaryQuery=i;
1
+ let e=require("@vef-framework-react/core"),t=require("@vef-framework-react/shared"),n=require("react");function r(e){return(0,t.isString)(e)?e:e.key}function i(i,a){let{dictionaryQueryFn:o}=(0,e.useAppContext)();if(!(0,t.isFunction)(o))throw Error(`Dictionary query function is not provided in the app context.`);let{enabled:s,select:c}=a??{},l=(0,n.useMemo)(()=>[...new Set(Object.values(i).map(e=>r(e)))].toSorted(),[i]),u=(0,n.useCallback)(e=>{let t=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,e[r(n)]??[]]));return c?c(t):t},[i,c]);return(0,e.useQuery)({queryFn:l.length===0?e.skipQueryToken:o,queryKey:[o.key,l],enabled:s,select:u,staleTime:1/0})}exports.resolveDictKey=r,exports.useDictionaryQuery=i;
@@ -1 +1 @@
1
- const e=require(`../use-latest/index.cjs`);let t=require(`react`);function n(n,r,i){let a=e.useLatest(r);(0,t.useEffect)(()=>{function e(e){a.current.call(this,e)}return document.addEventListener(n,e,i),()=>{document.removeEventListener(n,e,i)}},[n,i,a])}exports.useDocumentEvent=n;
1
+ const e=require("../use-latest/index.cjs");let t=require("react");function n(n,r,i){let a=e.useLatest(r);(0,t.useEffect)(()=>{function e(e){a.current.call(this,e)}return document.addEventListener(n,e,i),()=>{document.removeEventListener(n,e,i)}},[n,i,a])}exports.useDocumentEvent=n;
@@ -1 +1 @@
1
- require(`@vef-framework-react/shared`);let e=require(`react`);function t(t,n,r){(0,e.useEffect)(()=>t.on(n,r),[t,n,r])}exports.useEmitterEvent=t;
1
+ require("@vef-framework-react/shared");let e=require("react");function t(t,n,r){(0,e.useEffect)(()=>t.on(n,r),[t,n,r])}exports.useEmitterEvent=t;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`);function t(t,n){return(0,e.useIsFetching)({queryKey:n?[t,n]:[t],exact:!1,type:`active`})>0}exports.useHasFetching=t;
1
+ let e=require("@vef-framework-react/core");function t(t,n){return(0,e.useIsFetching)({queryKey:n?[t,n]:[t],exact:!1,type:`active`})>0}exports.useHasFetching=t;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`);function t(t){return(0,e.useIsMutating)({mutationKey:[t],exact:!1})>0}exports.useHasMutating=t;
1
+ let e=require("@vef-framework-react/core");function t(t){return(0,e.useIsMutating)({mutationKey:[t],exact:!1})>0}exports.useHasMutating=t;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/core`);function t(t,n){let{hasPermission:r=()=>!0}=(0,e.useAppContext)();return(0,e.checkPermission)(r,t,n)}exports.useIsAuthorized=t;
1
+ let e=require("@vef-framework-react/core");function t(t,n){let{hasPermission:r=()=>!0}=(0,e.useAppContext)();return(0,e.checkPermission)(r,t,n)}exports.useIsAuthorized=t;
@@ -1 +1 @@
1
- let e=require(`react`);function t(t){let n=(0,e.useRef)(t);return n.current=t,n}exports.useLatest=t;
1
+ let e=require("react");function t(t){let n=(0,e.useRef)(t);return n.current=t,n}exports.useLatest=t;
@@ -1 +1 @@
1
- let e=require(`react`);function t(t){let n=(0,e.useRef)(0),[r,i]=(0,e.useState)(t),a=(0,e.useCallback)(e=>{cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{i(e)})},[]);return(0,e.useEffect)(()=>()=>{cancelAnimationFrame(n.current)},[]),[r,a]}exports.useRafState=t;
1
+ let e=require("react");function t(t){let n=(0,e.useRef)(0),[r,i]=(0,e.useState)(t),a=(0,e.useCallback)(e=>{cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{i(e)})},[]);return(0,e.useEffect)(()=>()=>{cancelAnimationFrame(n.current)},[]),[r,a]}exports.useRafState=t;
@@ -1 +1 @@
1
- const e=require(`../use-shallow-compare/index.cjs`);let t=require(`react`);function n(n,r){return(0,t.useCallback)(n,e.useShallowCompare(r))}exports.useShallowCallback=n;
1
+ const e=require("../use-shallow-compare/index.cjs");let t=require("react");function n(n,r){return(0,t.useCallback)(n,e.useShallowCompare(r))}exports.useShallowCallback=n;
@@ -1 +1 @@
1
- let e=require(`@vef-framework-react/shared`),t=require(`react`);function n(e){let n=(0,t.useRef)(void 0),i=(0,t.useRef)(0);return r(n.current,e)||(n.current=e,i.current+=1),[i.current]}function r(t,n){if(t===void 0||n===void 0)return!1;if(t===n)return!0;if(t.length!==n.length)return!1;for(let[r,i]of t.entries())if(!(0,e.isShallowEqual)(i,n[r]))return!1;return!0}exports.useShallowCompare=n;
1
+ let e=require("@vef-framework-react/shared"),t=require("react");function n(e){let n=(0,t.useRef)(void 0),i=(0,t.useRef)(0);return r(n.current,e)||(n.current=e,i.current+=1),[i.current]}function r(t,n){if(t===void 0||n===void 0)return!1;if(t===n)return!0;if(t.length!==n.length)return!1;for(let[r,i]of t.entries())if(!(0,e.isShallowEqual)(i,n[r]))return!1;return!0}exports.useShallowCompare=n;
@@ -1 +1 @@
1
- const e=require(`../use-shallow-compare/index.cjs`);let t=require(`react`);function n(n,r){(0,t.useEffect)(n,e.useShallowCompare(r))}exports.useShallowEffect=n;
1
+ const e=require("../use-shallow-compare/index.cjs");let t=require("react");function n(n,r){(0,t.useEffect)(n,e.useShallowCompare(r))}exports.useShallowEffect=n;
@@ -1 +1 @@
1
- const e=require(`../use-shallow-compare/index.cjs`);let t=require(`@mantine/hooks`);function n(n,r){(0,t.useIsomorphicEffect)(n,e.useShallowCompare(r))}exports.useShallowIsomorphicEffect=n;
1
+ const e=require("../use-shallow-compare/index.cjs");let t=require("@mantine/hooks");function n(n,r){(0,t.useIsomorphicEffect)(n,e.useShallowCompare(r))}exports.useShallowIsomorphicEffect=n;
@@ -1 +1 @@
1
- const e=require(`../use-shallow-compare/index.cjs`);let t=require(`react`);function n(n,r){(0,t.useLayoutEffect)(n,e.useShallowCompare(r))}exports.useShallowLayoutEffect=n;
1
+ const e=require("../use-shallow-compare/index.cjs");let t=require("react");function n(n,r){(0,t.useLayoutEffect)(n,e.useShallowCompare(r))}exports.useShallowLayoutEffect=n;
@@ -1 +1 @@
1
- const e=require(`../use-shallow-compare/index.cjs`);let t=require(`react`);function n(n,r){return(0,t.useMemo)(n,e.useShallowCompare(r))}exports.useShallowMemo=n;
1
+ const e=require("../use-shallow-compare/index.cjs");let t=require("react");function n(n,r){return(0,t.useMemo)(n,e.useShallowCompare(r))}exports.useShallowMemo=n;
@@ -1 +1 @@
1
- let e=require(`react`);function t(t){let n=(0,e.useRef)(void 0);return n.current===void 0&&(n.current=t()),n}exports.useSingleton=t;
1
+ let e=require("react");function t(t){let n=(0,e.useRef)(void 0);return n.current===void 0&&(n.current=t()),n}exports.useSingleton=t;
@@ -1 +1 @@
1
- const e=require(`../use-latest/index.cjs`);let t=require(`@vef-framework-react/core`),n=require(`react`);var r=new Set([`initializing`,`uploading`,`completing`,`aborting`]);function i(){return typeof crypto<`u`&&crypto.subtle!==void 0?new t.PrefixFingerprinter:new t.WeakFingerprinter}function a(){return{status:`idle`,progress:{loaded:0,total:0,partsCompleted:0,partsTotal:0,percent:0},error:null,result:null}}function o(o={}){let s=(0,t.useApiClient)()[t.HTTP_CLIENT],c=e.useLatest(o),l=(0,n.useRef)(a()),u=(0,n.useRef)(new Set),d=(0,n.useRef)(null),f=(0,n.useRef)(0),p=(0,n.useRef)(null),m=(0,n.useCallback)(e=>(u.current.add(e),()=>{u.current.delete(e)}),[]),h=(0,n.useCallback)(()=>l.current,[]),g=(0,n.useCallback)(e=>{l.current={...l.current,...e};for(let e of u.current)e()},[]),_=(0,n.useCallback)(async(e,n)=>{let a=c.current,o=++f.current,l=()=>f.current!==o;p.current?.abort();let u=new AbortController;p.current=u;let m=e instanceof File&&a.persistence!==null,h=m?a.persistence??new t.LocalStoragePersistence:null,_=m?a.fingerprinter??i():null,v={http:s,apiPath:a.apiPath??t.STORAGE_API_PATH,resource:a.resource??t.STORAGE_RESOURCE,version:a.version??t.STORAGE_VERSION},y=m&&e instanceof File&&_?await _.fingerprint(e):null;if(l())throw new t.UploadAbortedError;let b=m&&h&&y?await(0,t.resolveResumePlan)({fingerprint:y,persistence:h,ctx:v,onResumeDetected:a.onResumeDetected,signal:u.signal}):void 0;if(l())throw new t.UploadAbortedError;let x=new t.Uploader(s,e,{...a,init:{...a.init,...n},onStatusChange:e=>{d.current===x&&(h&&y&&(e===`succeeded`||e===`aborted`)&&h.remove(y),g({status:e}),a.onStatusChange?.(e))},onProgress:e=>{d.current===x&&(g({progress:e}),a.onProgress?.(e))},onSessionOpened:e=>{d.current===x&&h&&y&&h.save({fingerprint:y,claimId:e.claimId,key:e.key,partSize:e.partSize,partCount:e.partCount,expiresAt:e.expiresAt,savedAt:Date.now()})}}),S=d.current;if(d.current=x,S&&r.has(S.status)&&await S.abort(),l())throw d.current===x&&(d.current=S),new t.UploadAbortedError;g({status:`idle`,progress:{loaded:0,total:e.size,partsCompleted:0,partsTotal:0,percent:0},error:null,result:null});try{let e=await x.start(b);return g({result:e}),a.onSuccess?.(e),e}catch(e){let t=e;throw b?.kind===`resume`&&h&&y&&d.current===x&&h.remove(y),d.current===x&&(g({error:t}),a.onError?.(t)),t}},[s,g,c]),v=(0,n.useCallback)(()=>{p.current?.abort();let{current:e}=d;e&&r.has(e.status)&&e.abort()},[]),y=(0,n.useCallback)(()=>{f.current++,p.current?.abort();let{current:e}=d;e&&r.has(e.status)&&e.abort(),d.current=null,g(a())},[g]);(0,n.useEffect)(()=>()=>{p.current?.abort();let{current:e}=d;e&&r.has(e.status)&&e.abort()},[]);let b=(0,n.useSyncExternalStore)(m,h,h);return(0,n.useMemo)(()=>({upload:_,abort:v,reset:y,status:b.status,progress:b.progress,error:b.error,result:b.result,isUploading:r.has(b.status)}),[_,v,y,b])}exports.useUpload=o;
1
+ const e=require("../use-latest/index.cjs");let t=require("@vef-framework-react/core"),n=require("react");var r=new Set([`initializing`,`uploading`,`completing`,`aborting`]);function i(){return typeof crypto<`u`&&crypto.subtle!==void 0?new t.PrefixFingerprinter:new t.WeakFingerprinter}function a(){return{status:`idle`,progress:{loaded:0,total:0,partsCompleted:0,partsTotal:0,percent:0},error:null,result:null}}function o(o={}){let s=(0,t.useApiClient)()[t.HTTP_CLIENT],c=e.useLatest(o),l=(0,n.useRef)(a()),u=(0,n.useRef)(new Set),d=(0,n.useRef)(null),f=(0,n.useRef)(0),p=(0,n.useRef)(null),m=(0,n.useCallback)(e=>(u.current.add(e),()=>{u.current.delete(e)}),[]),h=(0,n.useCallback)(()=>l.current,[]),g=(0,n.useCallback)(e=>{l.current={...l.current,...e};for(let e of u.current)e()},[]),_=(0,n.useCallback)(async(e,n)=>{let a=c.current,o=++f.current,l=()=>f.current!==o;p.current?.abort();let u=new AbortController;p.current=u;let m=e instanceof File&&a.persistence!==null,h=m?a.persistence??new t.LocalStoragePersistence:null,_=m?a.fingerprinter??i():null,v={http:s,apiPath:a.apiPath??t.STORAGE_API_PATH,resource:a.resource??t.STORAGE_RESOURCE,version:a.version??t.STORAGE_VERSION},y=m&&e instanceof File&&_?await _.fingerprint(e):null;if(l())throw new t.UploadAbortedError;let b=m&&h&&y?await(0,t.resolveResumePlan)({fingerprint:y,persistence:h,ctx:v,onResumeDetected:a.onResumeDetected,signal:u.signal}):void 0;if(l())throw new t.UploadAbortedError;let x=new t.Uploader(s,e,{...a,init:{...a.init,...n},onStatusChange:e=>{d.current===x&&(h&&y&&(e===`succeeded`||e===`aborted`)&&h.remove(y),g({status:e}),a.onStatusChange?.(e))},onProgress:e=>{d.current===x&&(g({progress:e}),a.onProgress?.(e))},onSessionOpened:e=>{d.current===x&&h&&y&&h.save({fingerprint:y,claimId:e.claimId,key:e.key,partSize:e.partSize,partCount:e.partCount,expiresAt:e.expiresAt,savedAt:Date.now()})}}),S=d.current;if(d.current=x,S&&r.has(S.status)&&await S.abort(),l())throw d.current===x&&(d.current=S),new t.UploadAbortedError;g({status:`idle`,progress:{loaded:0,total:e.size,partsCompleted:0,partsTotal:0,percent:0},error:null,result:null});try{let e=await x.start(b);return g({result:e}),a.onSuccess?.(e),e}catch(e){let t=e;throw b?.kind===`resume`&&h&&y&&d.current===x&&h.remove(y),d.current===x&&(g({error:t}),a.onError?.(t)),t}},[s,g,c]),v=(0,n.useCallback)(()=>{p.current?.abort();let{current:e}=d;e&&r.has(e.status)&&e.abort()},[]),y=(0,n.useCallback)(()=>{f.current++,p.current?.abort();let{current:e}=d;e&&r.has(e.status)&&e.abort(),d.current=null,g(a())},[g]);(0,n.useEffect)(()=>()=>{p.current?.abort();let{current:e}=d;e&&r.has(e.status)&&e.abort()},[]);let b=(0,n.useSyncExternalStore)(m,h,h);return(0,n.useMemo)(()=>({upload:_,abort:v,reset:y,status:b.status,progress:b.progress,error:b.error,result:b.result,isUploading:r.has(b.status)}),[_,v,y,b])}exports.useUpload=o;
@@ -1 +1 @@
1
- const e=require(`../use-raf-state/index.cjs`);let t=require(`@vef-framework-react/shared`),n=require(`react`),r=require(`@mantine/hooks`);var i={passive:!0};function a(){let a=!(0,t.isUndefined)(globalThis.window),[o,s]=e.useRafState(()=>({width:a?window.innerWidth:0,height:a?window.innerHeight:0}));return(0,n.useEffect)(()=>{function e(){(0,t.isUndefined)(globalThis.window)||s({width:window.innerWidth,height:window.innerHeight})}e()},[s]),(0,r.useWindowEvent)(`resize`,()=>{(0,t.isUndefined)(globalThis.window)||s({width:window.innerWidth,height:window.innerHeight})},i),(0,r.useWindowEvent)(`orientationchange`,()=>{(0,t.isUndefined)(globalThis.window)||s({width:window.innerWidth,height:window.innerHeight})},i),o}exports.useViewportSize=a;
1
+ const e=require("../use-raf-state/index.cjs");let t=require("@vef-framework-react/shared"),n=require("react"),r=require("@mantine/hooks");var i={passive:!0};function a(){let a=!(0,t.isUndefined)(globalThis.window),[o,s]=e.useRafState(()=>({width:a?window.innerWidth:0,height:a?window.innerHeight:0}));return(0,n.useEffect)(()=>{function e(){(0,t.isUndefined)(globalThis.window)||s({width:window.innerWidth,height:window.innerHeight})}e()},[s]),(0,r.useWindowEvent)(`resize`,()=>{(0,t.isUndefined)(globalThis.window)||s({width:window.innerWidth,height:window.innerHeight})},i),(0,r.useWindowEvent)(`orientationchange`,()=>{(0,t.isUndefined)(globalThis.window)||s({width:window.innerWidth,height:window.innerHeight})},i),o}exports.useViewportSize=a;
package/dist/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { HotkeysProvider as e, assignRef as t, getHotkeyHandler as n, mergeRefs as r, useColorScheme as i, useDebouncedCallback as a, useDebouncedState as o, useDebouncedValue as s, useDidUpdate as c, useDocumentTitle as l, useElementSize as u, useEventListener as d, useFocusTrap as f, useFullscreenDocument as p, useHotkeys as m, useHotkeysContext as h, useIntersection as g, useInterval as _, useIsFirstRender as v, useIsomorphicEffect as y, useMediaQuery as b, useMergedRef as x, useMounted as S, useMutationObserverTarget as C, usePrevious as w, useRecordHotkeys as T, useReducedMotion as E, useResizeObserver as D, useTimeout as O, useWindowEvent as k } from "./lib.js";
3
3
  import { useAuthorizedItems as A } from "./use-authorized-items/index.js";
4
4
  import { useBreakpoints as j } from "./use-breakpoints/index.js";
package/dist/es/lib.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { assignRef as e, getHotkeyHandler as t, mergeRefs as n, useColorScheme as r, useDebouncedCallback as i, useDebouncedState as a, useDebouncedValue as o, useDidUpdate as s, useDocumentTitle as c, useElementSize as l, useEventListener as u, useFocusTrap as d, useFullscreenDocument as f, useIntersection as p, useInterval as m, useIsFirstRender as h, useIsomorphicEffect as g, useMediaQuery as _, useMergedRef as v, useMounted as y, useMutationObserverTarget as b, usePrevious as x, useReducedMotion as S, useResizeObserver as C, useTimeout as w, useWindowEvent as T } from "@mantine/hooks";
3
3
  import { HotkeysProvider as E, useHotkeys as D, useHotkeysContext as O, useRecordHotkeys as k } from "react-hotkeys-hook";
4
4
  //#region src/lib.ts
@@ -1,10 +1,10 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { checkPermission as e, useAppContext as t } from "@vef-framework-react/core";
3
3
  //#region src/use-authorized-items/index.ts
4
4
  function n(n) {
5
5
  let { hasPermission: r = () => !0 } = t();
6
6
  return n.filter((t) => {
7
- let { permTokens: n, checkMode: i = "any" } = t;
7
+ let { requiredPermissions: n, checkMode: i = "any" } = t;
8
8
  return e(r, n, i);
9
9
  });
10
10
  }
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { isNumber as e } from "@vef-framework-react/shared";
3
3
  import { useEffect as t, useMemo as n, useState as r } from "react";
4
4
  //#region src/use-breakpoints/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { checkPermission as e, useAppContext as t } from "@vef-framework-react/core";
3
3
  //#region src/use-check-permission/index.ts
4
4
  function n() {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useQuery as e } from "@vef-framework-react/core";
3
3
  import { get as t, isEmpty as n, isFunction as r, isNullish as i, withPinyin as a } from "@vef-framework-react/shared";
4
4
  import { useMemo as o } from "react";
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useDeepCompare as e } from "../use-deep-compare/index.js";
3
3
  import { useCallback as t } from "react";
4
4
  //#region src/use-deep-callback/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { isDeepEqual as e } from "@vef-framework-react/shared";
3
3
  import { useRef as t } from "react";
4
4
  //#region src/use-deep-compare/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useDeepCompare as e } from "../use-deep-compare/index.js";
3
3
  import { useEffect as t } from "react";
4
4
  //#region src/use-deep-effect/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useIsomorphicEffect as e } from "../lib.js";
3
3
  import { useDeepCompare as t } from "../use-deep-compare/index.js";
4
4
  //#region src/use-deep-isomorphic-effect/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useDeepCompare as e } from "../use-deep-compare/index.js";
3
3
  import { useLayoutEffect as t } from "react";
4
4
  //#region src/use-deep-layout-effect/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useDeepCompare as e } from "../use-deep-compare/index.js";
3
3
  import { useMemo as t } from "react";
4
4
  //#region src/use-deep-memo/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { skipQueryToken as e, useAppContext as t, useQuery as n } from "@vef-framework-react/core";
3
3
  import { isFunction as r, isString as i } from "@vef-framework-react/shared";
4
4
  import { useCallback as a, useMemo as o } from "react";
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useLatest as e } from "../use-latest/index.js";
3
3
  import { useEffect as t } from "react";
4
4
  //#region src/use-document-event/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import "@vef-framework-react/shared";
3
3
  import { useEffect as e } from "react";
4
4
  //#region src/use-emitter-event/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useIsFetching as e } from "@vef-framework-react/core";
3
3
  //#region src/use-has-fetching/index.ts
4
4
  function t(t, n) {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useIsMutating as e } from "@vef-framework-react/core";
3
3
  //#region src/use-has-mutating/index.ts
4
4
  function t(t) {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { checkPermission as e, useAppContext as t } from "@vef-framework-react/core";
3
3
  //#region src/use-is-authorized/index.ts
4
4
  function n(n, r) {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useRef as e } from "react";
3
3
  //#region src/use-latest/index.ts
4
4
  function t(t) {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
3
3
  //#region src/use-raf-state/index.ts
4
4
  function i(i) {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useShallowCompare as e } from "../use-shallow-compare/index.js";
3
3
  import { useCallback as t } from "react";
4
4
  //#region src/use-shallow-callback/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { isShallowEqual as e } from "@vef-framework-react/shared";
3
3
  import { useRef as t } from "react";
4
4
  //#region src/use-shallow-compare/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useShallowCompare as e } from "../use-shallow-compare/index.js";
3
3
  import { useEffect as t } from "react";
4
4
  //#region src/use-shallow-effect/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useIsomorphicEffect as e } from "../lib.js";
3
3
  import { useShallowCompare as t } from "../use-shallow-compare/index.js";
4
4
  //#region src/use-shallow-isomorphic-effect/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useShallowCompare as e } from "../use-shallow-compare/index.js";
3
3
  import { useLayoutEffect as t } from "react";
4
4
  //#region src/use-shallow-layout-effect/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useShallowCompare as e } from "../use-shallow-compare/index.js";
3
3
  import { useMemo as t } from "react";
4
4
  //#region src/use-shallow-memo/index.ts
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useRef as e } from "react";
3
3
  //#region src/use-singleton/index.ts
4
4
  function t(t) {
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useLatest as e } from "../use-latest/index.js";
3
3
  import { HTTP_CLIENT as t, LocalStoragePersistence as n, PrefixFingerprinter as r, STORAGE_API_PATH as i, STORAGE_RESOURCE as a, STORAGE_VERSION as o, UploadAbortedError as s, Uploader as c, WeakFingerprinter as l, resolveResumePlan as u, useApiClient as d } from "@vef-framework-react/core";
4
4
  import { useCallback as f, useEffect as p, useMemo as m, useRef as h, useSyncExternalStore as g } from "react";
@@ -1,4 +1,4 @@
1
- /*! @vef-framework-react/hooks v2.2.2 made by Venus | 2026-05-18T12:43:55.247Z */
1
+ /*! @vef-framework-react/hooks v2.4.0 made by Venus | 2026-06-15T15:10:13.436Z */
2
2
  import { useWindowEvent as e } from "../lib.js";
3
3
  import { useRafState as t } from "../use-raf-state/index.js";
4
4
  import { isUndefined as n } from "@vef-framework-react/shared";
@@ -9,7 +9,7 @@ export { useDeepEffect } from './use-deep-effect';
9
9
  export { useDeepIsomorphicEffect } from './use-deep-isomorphic-effect';
10
10
  export { useDeepLayoutEffect } from './use-deep-layout-effect';
11
11
  export { useDeepMemo } from './use-deep-memo';
12
- export { resolveDictKey, useDictionaryQuery, type DictionaryAliasMap, type DictionaryKeyConfig, type DictionaryKeyValue, type DictionaryQueryData, type UseDictionaryQueryOptions } from './use-dictionary-query';
12
+ export { resolveDictKey, useDictionaryQuery, type DictionaryAliasMap, type DictionaryKey, type DictionaryKeyConfig, type DictionaryKeyValue, type DictionaryQueryData, type Register, type UseDictionaryQueryOptions } from './use-dictionary-query';
13
13
  export { useDocumentEvent } from './use-document-event';
14
14
  export { useEmitterEvent } from './use-emitter-event';
15
15
  export { useHasFetching } from './use-has-fetching';
@@ -1,5 +1,4 @@
1
1
  import { UseColorSchemeValue, UseMediaQueryOptions } from '@mantine/hooks';
2
- import { default as React } from 'react';
3
2
  export declare function useMediaQuery(query: string, initialValue?: boolean, options?: UseMediaQueryOptions): boolean;
4
3
  export declare function useColorScheme(initialValue?: UseColorSchemeValue, options?: UseMediaQueryOptions): UseColorSchemeValue;
5
4
  export declare function useReducedMotion(initialValue?: boolean, options?: UseMediaQueryOptions): boolean;
@@ -5,9 +5,9 @@ import { MaybeArray } from '@vef-framework-react/shared';
5
5
  */
6
6
  export interface PermissionAware {
7
7
  /**
8
- * The permission tokens to check.
8
+ * The permissions required to access this item.
9
9
  */
10
- permTokens?: MaybeArray<string>;
10
+ requiredPermissions?: MaybeArray<string>;
11
11
  /**
12
12
  * The permission check mode (default: "any").
13
13
  */
@@ -5,4 +5,4 @@ import { MaybeArray } from '@vef-framework-react/shared';
5
5
  *
6
6
  * @returns A function that checks if the user has the specified permissions.
7
7
  */
8
- export declare function useCheckPermission(): (permTokens?: MaybeArray<string>, checkMode?: PermissionCheckMode) => boolean;
8
+ export declare function useCheckPermission(): (requiredPermissions?: MaybeArray<string>, checkMode?: PermissionCheckMode) => boolean;
@@ -1,15 +1,38 @@
1
1
  import { DataOption, UseQueryResult } from '@vef-framework-react/core';
2
+ /**
3
+ * Extension registry for hooks package types.
4
+ *
5
+ * Augment via `declare module "@vef-framework-react/hooks"` to constrain
6
+ * dictionary keys to a known union; future hook-level extensions should be
7
+ * added as members of this registry.
8
+ *
9
+ * @example
10
+ * declare module "@vef-framework-react/hooks" {
11
+ * interface Register {
12
+ * dictionaryKeys: "sys.menu.type" | "sys.user.gender";
13
+ * }
14
+ * }
15
+ */
16
+ export interface Register {
17
+ }
18
+ /**
19
+ * Valid dictionary keys for this project. Resolves to the `dictionaryKeys`
20
+ * member augmented onto `Register`, or `string` when not augmented.
21
+ */
22
+ export type DictionaryKey = Register extends {
23
+ dictionaryKeys: infer K extends string;
24
+ } ? K : string;
2
25
  /**
3
26
  * Per-key configuration with dict key and optional overrides.
4
27
  */
5
28
  export interface DictionaryKeyConfig {
6
- key: string;
29
+ key: DictionaryKey;
7
30
  filterable?: boolean;
8
31
  }
9
32
  /**
10
33
  * Value can be a plain dict key string or a config object.
11
34
  */
12
- export type DictionaryKeyValue = string | DictionaryKeyConfig;
35
+ export type DictionaryKeyValue = DictionaryKey | DictionaryKeyConfig;
13
36
  /**
14
37
  * Alias map that rejects array inputs.
15
38
  */
@@ -0,0 +1,10 @@
1
+ import { PermissionCheckMode } from '@vef-framework-react/core';
2
+ import { MaybeArray } from '@vef-framework-react/shared';
3
+ /**
4
+ * Hook to check if the user satisfies the required permissions.
5
+ *
6
+ * @param requiredPermissions - The permissions required for access.
7
+ * @param checkMode - The check mode to use (default: "any").
8
+ * @returns Whether the user is authorized to access the resource.
9
+ */
10
+ export declare function useIsAuthorized(requiredPermissions?: MaybeArray<string>, checkMode?: PermissionCheckMode): boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vef-framework-react/hooks",
3
3
  "type": "module",
4
- "version": "2.2.2",
4
+ "version": "2.4.0",
5
5
  "private": false,
6
6
  "description": "Hooks for VEF framework",
7
7
  "author": {
@@ -48,13 +48,13 @@
48
48
  "react": ">=19"
49
49
  },
50
50
  "dependencies": {
51
- "@mantine/hooks": "^9.2.1",
51
+ "@mantine/hooks": "^9.3.0",
52
52
  "react-hotkeys-hook": "^5.3.2",
53
- "@vef-framework-react/core": "2.2.2",
54
- "@vef-framework-react/shared": "2.2.2"
53
+ "@vef-framework-react/shared": "2.4.0",
54
+ "@vef-framework-react/core": "2.4.0"
55
55
  },
56
56
  "devDependencies": {
57
- "react": "^19.2.6"
57
+ "react": "^19.2.7"
58
58
  },
59
59
  "scripts": {
60
60
  "clean": "rimraf dist",
@@ -1,10 +0,0 @@
1
- import { PermissionCheckMode } from '@vef-framework-react/core';
2
- import { MaybeArray } from '@vef-framework-react/shared';
3
- /**
4
- * Hook to check if the user is authorized based on permission tokens.
5
- *
6
- * @param permTokens - The permission tokens to check.
7
- * @param checkMode - The check mode to use (default: "any").
8
- * @returns Whether the user is authorized to access the resource identified by the permission token.
9
- */
10
- export declare function useIsAuthorized(permTokens?: MaybeArray<string>, checkMode?: PermissionCheckMode): boolean;