@vef-framework-react/hooks 2.1.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.
- package/README +15 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/lib.cjs +1 -0
- package/dist/cjs/use-authorized-items/index.cjs +1 -0
- package/dist/cjs/use-breakpoints/index.cjs +1 -0
- package/dist/cjs/use-check-permission/index.cjs +1 -0
- package/dist/cjs/use-data-dict-query/index.cjs +1 -0
- package/dist/cjs/use-data-options/index.cjs +1 -0
- package/dist/cjs/use-deep-callback/index.cjs +1 -0
- package/dist/cjs/use-deep-compare/index.cjs +1 -0
- package/dist/cjs/use-deep-effect/index.cjs +1 -0
- package/dist/cjs/use-deep-isomorphic-effect/index.cjs +1 -0
- package/dist/cjs/use-deep-layout-effect/index.cjs +1 -0
- package/dist/cjs/use-deep-memo/index.cjs +1 -0
- package/dist/cjs/use-document-event/index.cjs +1 -0
- package/dist/cjs/use-emitter-event/index.cjs +1 -0
- package/dist/cjs/use-has-fetching/index.cjs +1 -0
- package/dist/cjs/use-has-mutating/index.cjs +1 -0
- package/dist/cjs/use-is-authorized/index.cjs +1 -0
- package/dist/cjs/use-latest/index.cjs +1 -0
- package/dist/cjs/use-raf-state/index.cjs +1 -0
- package/dist/cjs/use-shallow-callback/index.cjs +1 -0
- package/dist/cjs/use-shallow-compare/index.cjs +1 -0
- package/dist/cjs/use-shallow-effect/index.cjs +1 -0
- package/dist/cjs/use-shallow-isomorphic-effect/index.cjs +1 -0
- package/dist/cjs/use-shallow-layout-effect/index.cjs +1 -0
- package/dist/cjs/use-shallow-memo/index.cjs +1 -0
- package/dist/cjs/use-singleton/index.cjs +1 -0
- package/dist/cjs/use-viewport-size/index.cjs +1 -0
- package/dist/es/index.js +29 -0
- package/dist/es/lib.js +17 -0
- package/dist/es/use-authorized-items/index.js +12 -0
- package/dist/es/use-breakpoints/index.js +49 -0
- package/dist/es/use-check-permission/index.js +9 -0
- package/dist/es/use-data-dict-query/index.js +22 -0
- package/dist/es/use-data-options/index.js +50 -0
- package/dist/es/use-deep-callback/index.js +9 -0
- package/dist/es/use-deep-compare/index.js +17 -0
- package/dist/es/use-deep-effect/index.js +9 -0
- package/dist/es/use-deep-isomorphic-effect/index.js +9 -0
- package/dist/es/use-deep-layout-effect/index.js +9 -0
- package/dist/es/use-deep-memo/index.js +9 -0
- package/dist/es/use-document-event/index.js +21 -0
- package/dist/es/use-emitter-event/index.js +13 -0
- package/dist/es/use-has-fetching/index.js +12 -0
- package/dist/es/use-has-mutating/index.js +11 -0
- package/dist/es/use-is-authorized/index.js +9 -0
- package/dist/es/use-latest/index.js +9 -0
- package/dist/es/use-raf-state/index.js +15 -0
- package/dist/es/use-shallow-callback/index.js +9 -0
- package/dist/es/use-shallow-compare/index.js +17 -0
- package/dist/es/use-shallow-effect/index.js +9 -0
- package/dist/es/use-shallow-isomorphic-effect/index.js +9 -0
- package/dist/es/use-shallow-layout-effect/index.js +9 -0
- package/dist/es/use-shallow-memo/index.js +9 -0
- package/dist/es/use-singleton/index.js +9 -0
- package/dist/es/use-viewport-size/index.js +34 -0
- package/dist/types/src/index.d.ts +27 -0
- package/dist/types/src/lib.d.ts +7 -0
- package/dist/types/src/use-authorized-items/index.d.ts +22 -0
- package/dist/types/src/use-breakpoints/index.d.ts +55 -0
- package/dist/types/src/use-check-permission/index.d.ts +8 -0
- package/dist/types/src/use-data-dict-query/index.d.ts +15 -0
- package/dist/types/src/use-data-options/index.d.ts +86 -0
- package/dist/types/src/use-deep-callback/index.d.ts +11 -0
- package/dist/types/src/use-deep-compare/index.d.ts +9 -0
- package/dist/types/src/use-deep-effect/index.d.ts +10 -0
- package/dist/types/src/use-deep-isomorphic-effect/index.d.ts +11 -0
- package/dist/types/src/use-deep-layout-effect/index.d.ts +10 -0
- package/dist/types/src/use-deep-memo/index.d.ts +11 -0
- package/dist/types/src/use-document-event/index.d.ts +19 -0
- package/dist/types/src/use-emitter-event/index.d.ts +17 -0
- package/dist/types/src/use-has-fetching/index.d.ts +8 -0
- package/dist/types/src/use-has-mutating/index.d.ts +7 -0
- package/dist/types/src/use-is-authorized/index.d.ts +10 -0
- package/dist/types/src/use-latest/index.d.ts +21 -0
- package/dist/types/src/use-raf-state/index.d.ts +23 -0
- package/dist/types/src/use-shallow-callback/index.d.ts +14 -0
- package/dist/types/src/use-shallow-compare/index.d.ts +13 -0
- package/dist/types/src/use-shallow-effect/index.d.ts +13 -0
- package/dist/types/src/use-shallow-isomorphic-effect/index.d.ts +13 -0
- package/dist/types/src/use-shallow-layout-effect/index.d.ts +13 -0
- package/dist/types/src/use-shallow-memo/index.d.ts +14 -0
- package/dist/types/src/use-singleton/index.d.ts +18 -0
- package/dist/types/src/use-viewport-size/index.d.ts +20 -0
- package/package.json +65 -0
package/README
ADDED
|
@@ -0,0 +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-dict-query/index.cjs`),a=require(`./use-data-options/index.cjs`),o=require(`./use-deep-compare/index.cjs`),s=require(`./use-deep-callback/index.cjs`),c=require(`./use-deep-effect/index.cjs`),l=require(`./use-deep-isomorphic-effect/index.cjs`),u=require(`./use-deep-layout-effect/index.cjs`),d=require(`./use-deep-memo/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-viewport-size/index.cjs`);let D=require(`@mantine/hooks`),O=require(`react-hotkeys-hook`),k=require(`@ai-sdk/react`);Object.defineProperty(exports,`HotkeysProvider`,{enumerable:!0,get:function(){return O.HotkeysProvider}}),Object.defineProperty(exports,`assignRef`,{enumerable:!0,get:function(){return D.assignRef}}),Object.defineProperty(exports,`getHotkeyHandler`,{enumerable:!0,get:function(){return D.getHotkeyHandler}}),Object.defineProperty(exports,`mergeRefs`,{enumerable:!0,get:function(){return D.mergeRefs}}),exports.useAuthorizedItems=t.useAuthorizedItems,exports.useBreakpoints=n.useBreakpoints,Object.defineProperty(exports,`useChat`,{enumerable:!0,get:function(){return k.useChat}}),exports.useCheckPermission=r.useCheckPermission,exports.useColorScheme=e.useColorScheme,Object.defineProperty(exports,`useCompletion`,{enumerable:!0,get:function(){return k.useCompletion}}),exports.useDataDictQuery=i.useDataDictQuery,exports.useDataOptionsQuery=a.useDataOptionsQuery,Object.defineProperty(exports,`useDebouncedCallback`,{enumerable:!0,get:function(){return D.useDebouncedCallback}}),Object.defineProperty(exports,`useDebouncedState`,{enumerable:!0,get:function(){return D.useDebouncedState}}),Object.defineProperty(exports,`useDebouncedValue`,{enumerable:!0,get:function(){return D.useDebouncedValue}}),exports.useDeepCallback=s.useDeepCallback,exports.useDeepCompare=o.useDeepCompare,exports.useDeepEffect=c.useDeepEffect,exports.useDeepIsomorphicEffect=l.useDeepIsomorphicEffect,exports.useDeepLayoutEffect=u.useDeepLayoutEffect,exports.useDeepMemo=d.useDeepMemo,Object.defineProperty(exports,`useDidUpdate`,{enumerable:!0,get:function(){return D.useDidUpdate}}),exports.useDocumentEvent=p.useDocumentEvent,Object.defineProperty(exports,`useDocumentTitle`,{enumerable:!0,get:function(){return D.useDocumentTitle}}),Object.defineProperty(exports,`useElementSize`,{enumerable:!0,get:function(){return D.useElementSize}}),exports.useEmitterEvent=m.useEmitterEvent,Object.defineProperty(exports,`useEventListener`,{enumerable:!0,get:function(){return D.useEventListener}}),Object.defineProperty(exports,`useFocusTrap`,{enumerable:!0,get:function(){return D.useFocusTrap}}),Object.defineProperty(exports,`useFullscreen`,{enumerable:!0,get:function(){return D.useFullscreen}}),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 D.useIntersection}}),Object.defineProperty(exports,`useInterval`,{enumerable:!0,get:function(){return D.useInterval}}),exports.useIsAuthorized=_.useIsAuthorized,Object.defineProperty(exports,`useIsFirstRender`,{enumerable:!0,get:function(){return D.useIsFirstRender}}),Object.defineProperty(exports,`useIsomorphicEffect`,{enumerable:!0,get:function(){return D.useIsomorphicEffect}}),exports.useLatest=f.useLatest,exports.useMediaQuery=e.useMediaQuery,Object.defineProperty(exports,`useMergedRef`,{enumerable:!0,get:function(){return D.useMergedRef}}),Object.defineProperty(exports,`useMounted`,{enumerable:!0,get:function(){return D.useMounted}}),Object.defineProperty(exports,`useMutationObserver`,{enumerable:!0,get:function(){return D.useMutationObserver}}),Object.defineProperty(exports,`useObject`,{enumerable:!0,get:function(){return k.experimental_useObject}}),Object.defineProperty(exports,`usePrevious`,{enumerable:!0,get:function(){return D.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 D.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 D.useTimeout}}),exports.useViewportSize=E.useViewportSize,Object.defineProperty(exports,`useWindowEvent`,{enumerable:!0,get:function(){return D.useWindowEvent}});
|
package/dist/cjs/lib.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`@mantine/hooks`);require(`@ai-sdk/react`),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})}exports.useColorScheme=r,exports.useMediaQuery=n,exports.useReducedMotion=i;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`@vef-framework-react/core`),t=require(`@vef-framework-react/shared`),n=require(`react`);function r({dataDictKey:r,onFetch:i,...a}){let{dataDictQueryFn:o}=(0,e.useAppContext)();if(!(0,t.isFunction)(o))throw Error(`Data dictionary query function is not provided in the app context.`);let s=(0,n.useRef)(i);s.current=i;let c=(0,e.useQuery)({...a,queryFn:(0,t.isEmpty)(r)?e.skipQueryToken:o,queryKey:[o.key,r],staleTime:a?.staleTime??1/0});return(0,n.useEffect)(()=>{s.current&&c.promise.then(s.current)},[c.promise]),c}exports.useDataDictQuery=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../use-data-dict-query/index.cjs`);let t=require(`@vef-framework-react/core`),n=require(`@vef-framework-react/shared`),r=require(`react`);function i(e,t,r){return t?(0,n.isFunction)(t)?t(e):(0,n.get)(e,t):e[r]}function a(e,t,r){let{labelKey:o,valueKey:s,disabledKey:c,descriptionKey:l,childrenKey:u}=t,d=i(e,o,`label`),f=i(e,s,`value`),p=i(e,c,`disabled`),m=i(e,l,`description`),h=i(e,u,`children`),g={...e,label:d,value:f,...!(0,n.isNullish)(p)&&{disabled:p},...!(0,n.isNullish)(m)&&{description:m}},_=r?(0,n.withPinyin)(g,`label`,`description`):g;return Array.isArray(h)&&h.length>0&&(_.children=h.map(e=>a(e,t,r))),_}function o(e,t,r){return!e||(0,n.isEmpty)(e)?[]:e.map(e=>a(e,t,r))}function s({queryOptions:i,dataDictKey:a,labelKey:s,valueKey:c,disabledKey:l,descriptionKey:u,childrenKey:d,withPinyin:f=!1}){let p=(0,n.isString)(a)&&a.length>0,m=(0,t.useQuery)({...i,queryFn:p?t.skipQueryToken:i?.queryFn}),h=e.useDataDictQuery({dataDictKey:a}),{data:g,..._}=p?h:m,v=(0,r.useMemo)(()=>({labelKey:s,valueKey:c,disabledKey:l,descriptionKey:u,childrenKey:d}),[s,c,l,u,d]);return{options:(0,r.useMemo)(()=>o(g,v,f),[g,v,f]),..._}}exports.useDataOptionsQuery=s;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`@vef-framework-react/core`);function t(t){return(0,e.useIsMutating)({mutationKey:[t],exact:!1})>0}exports.useHasMutating=t;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`react`);function t(t){let n=(0,e.useRef)(t);return n.current=t,n}exports.useLatest=t;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
package/dist/es/index.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { HotkeysProvider as e, assignRef as t, getHotkeyHandler as n, mergeRefs as r, useChat as i, useColorScheme as a, useCompletion as o, useDebouncedCallback as s, useDebouncedState as c, useDebouncedValue as l, useDidUpdate as u, useDocumentTitle as d, useElementSize as f, useEventListener as p, useFocusTrap as m, useFullscreen as h, useHotkeys as g, useHotkeysContext as _, useIntersection as v, useInterval as y, useIsFirstRender as b, useIsomorphicEffect as x, useMediaQuery as S, useMergedRef as C, useMounted as w, useMutationObserver as T, useObject as E, usePrevious as D, useRecordHotkeys as O, useReducedMotion as k, useResizeObserver as A, useTimeout as j, useWindowEvent as M } from "./lib.js";
|
|
3
|
+
import { useAuthorizedItems as N } from "./use-authorized-items/index.js";
|
|
4
|
+
import { useBreakpoints as P } from "./use-breakpoints/index.js";
|
|
5
|
+
import { useCheckPermission as F } from "./use-check-permission/index.js";
|
|
6
|
+
import { useDataDictQuery as I } from "./use-data-dict-query/index.js";
|
|
7
|
+
import { useDataOptionsQuery as L } from "./use-data-options/index.js";
|
|
8
|
+
import { useDeepCompare as R } from "./use-deep-compare/index.js";
|
|
9
|
+
import { useDeepCallback as z } from "./use-deep-callback/index.js";
|
|
10
|
+
import { useDeepEffect as B } from "./use-deep-effect/index.js";
|
|
11
|
+
import { useDeepIsomorphicEffect as V } from "./use-deep-isomorphic-effect/index.js";
|
|
12
|
+
import { useDeepLayoutEffect as H } from "./use-deep-layout-effect/index.js";
|
|
13
|
+
import { useDeepMemo as U } from "./use-deep-memo/index.js";
|
|
14
|
+
import { useLatest as W } from "./use-latest/index.js";
|
|
15
|
+
import { useDocumentEvent as G } from "./use-document-event/index.js";
|
|
16
|
+
import { useEmitterEvent as K } from "./use-emitter-event/index.js";
|
|
17
|
+
import { useHasFetching as q } from "./use-has-fetching/index.js";
|
|
18
|
+
import { useHasMutating as J } from "./use-has-mutating/index.js";
|
|
19
|
+
import { useIsAuthorized as Y } from "./use-is-authorized/index.js";
|
|
20
|
+
import { useRafState as X } from "./use-raf-state/index.js";
|
|
21
|
+
import { useShallowCompare as Z } from "./use-shallow-compare/index.js";
|
|
22
|
+
import { useShallowCallback as Q } from "./use-shallow-callback/index.js";
|
|
23
|
+
import { useShallowEffect as $ } from "./use-shallow-effect/index.js";
|
|
24
|
+
import { useShallowIsomorphicEffect as ee } from "./use-shallow-isomorphic-effect/index.js";
|
|
25
|
+
import { useShallowLayoutEffect as te } from "./use-shallow-layout-effect/index.js";
|
|
26
|
+
import { useShallowMemo as ne } from "./use-shallow-memo/index.js";
|
|
27
|
+
import { useSingleton as re } from "./use-singleton/index.js";
|
|
28
|
+
import { useViewportSize as ie } from "./use-viewport-size/index.js";
|
|
29
|
+
export { e as HotkeysProvider, t as assignRef, n as getHotkeyHandler, r as mergeRefs, N as useAuthorizedItems, P as useBreakpoints, i as useChat, F as useCheckPermission, a as useColorScheme, o as useCompletion, I as useDataDictQuery, L as useDataOptionsQuery, s as useDebouncedCallback, c as useDebouncedState, l as useDebouncedValue, z as useDeepCallback, R as useDeepCompare, B as useDeepEffect, V as useDeepIsomorphicEffect, H as useDeepLayoutEffect, U as useDeepMemo, u as useDidUpdate, G as useDocumentEvent, d as useDocumentTitle, f as useElementSize, K as useEmitterEvent, p as useEventListener, m as useFocusTrap, h as useFullscreen, q as useHasFetching, J as useHasMutating, g as useHotkeys, _ as useHotkeysContext, v as useIntersection, y as useInterval, Y as useIsAuthorized, b as useIsFirstRender, x as useIsomorphicEffect, W as useLatest, S as useMediaQuery, C as useMergedRef, w as useMounted, T as useMutationObserver, E as useObject, D as usePrevious, X as useRafState, O as useRecordHotkeys, k as useReducedMotion, A as useResizeObserver, Q as useShallowCallback, Z as useShallowCompare, $ as useShallowEffect, ee as useShallowIsomorphicEffect, te as useShallowLayoutEffect, ne as useShallowMemo, re as useSingleton, j as useTimeout, ie as useViewportSize, M as useWindowEvent };
|
package/dist/es/lib.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
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, useFullscreen as f, useIntersection as p, useInterval as m, useIsFirstRender as h, useIsomorphicEffect as g, useMediaQuery as _, useMergedRef as v, useMounted as y, useMutationObserver as b, usePrevious as x, useReducedMotion as S, useResizeObserver as C, useTimeout as w, useWindowEvent as T } from "@mantine/hooks";
|
|
3
|
+
import { experimental_useObject as E, useChat as D, useCompletion as O } from "@ai-sdk/react";
|
|
4
|
+
import { HotkeysProvider as k, useHotkeys as A, useHotkeysContext as j, useRecordHotkeys as M } from "react-hotkeys-hook";
|
|
5
|
+
//#region src/lib.ts
|
|
6
|
+
var N = { getInitialValueInEffect: !1 };
|
|
7
|
+
function P(e, t, n = N) {
|
|
8
|
+
return _(e, t, { getInitialValueInEffect: n.getInitialValueInEffect });
|
|
9
|
+
}
|
|
10
|
+
function F(e, t = N) {
|
|
11
|
+
return r(e, { getInitialValueInEffect: t.getInitialValueInEffect });
|
|
12
|
+
}
|
|
13
|
+
function I(e, t = N) {
|
|
14
|
+
return S(e, { getInitialValueInEffect: t.getInitialValueInEffect });
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { k as HotkeysProvider, e as assignRef, t as getHotkeyHandler, n as mergeRefs, D as useChat, F as useColorScheme, O as useCompletion, i as useDebouncedCallback, a as useDebouncedState, o as useDebouncedValue, s as useDidUpdate, c as useDocumentTitle, l as useElementSize, u as useEventListener, d as useFocusTrap, f as useFullscreen, A as useHotkeys, j as useHotkeysContext, p as useIntersection, m as useInterval, h as useIsFirstRender, g as useIsomorphicEffect, P as useMediaQuery, v as useMergedRef, y as useMounted, b as useMutationObserver, E as useObject, x as usePrevious, M as useRecordHotkeys, I as useReducedMotion, C as useResizeObserver, w as useTimeout, T as useWindowEvent };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { checkPermission as e, useAppContext as t } from "@vef-framework-react/core";
|
|
3
|
+
//#region src/use-authorized-items/index.ts
|
|
4
|
+
function n(n) {
|
|
5
|
+
let { hasPermission: r = () => !0 } = t();
|
|
6
|
+
return n.filter((t) => {
|
|
7
|
+
let { permTokens: n, checkMode: i = "any" } = t;
|
|
8
|
+
return e(r, n, i);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { n as useAuthorizedItems };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { isNumber as e } from "@vef-framework-react/shared";
|
|
3
|
+
import { useEffect as t, useMemo as n, useState as r } from "react";
|
|
4
|
+
//#region src/use-breakpoints/index.ts
|
|
5
|
+
function i(t) {
|
|
6
|
+
return `(min-width: ${e(t) ? `${t}px` : t})`;
|
|
7
|
+
}
|
|
8
|
+
function a(a, o = {}) {
|
|
9
|
+
let { initialBreakpoint: s, getInitialValueInEffect: c = !1 } = o, l = n(() => Object.entries(a).map(([t, n]) => ({
|
|
10
|
+
name: t,
|
|
11
|
+
value: n,
|
|
12
|
+
query: i(n),
|
|
13
|
+
order: e(n) ? n : Number.parseInt(n)
|
|
14
|
+
})).toSorted((e, t) => e.order - t.order), [a]), [u, d] = r(() => {
|
|
15
|
+
if (globalThis.window === void 0 || c) return {
|
|
16
|
+
current: s,
|
|
17
|
+
value: l.find((e) => e.name === s)?.value,
|
|
18
|
+
matches: s ? [s] : []
|
|
19
|
+
};
|
|
20
|
+
let e = l.filter((e) => globalThis.matchMedia(e.query).matches), t = e.at(-1);
|
|
21
|
+
return {
|
|
22
|
+
current: t?.name,
|
|
23
|
+
value: t?.value,
|
|
24
|
+
matches: e.map((e) => e.name)
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
return t(() => {
|
|
28
|
+
let e = l.map((e) => ({
|
|
29
|
+
name: e.name,
|
|
30
|
+
value: e.value,
|
|
31
|
+
mql: globalThis.matchMedia(e.query)
|
|
32
|
+
}));
|
|
33
|
+
function t() {
|
|
34
|
+
let t = e.filter((e) => e.mql.matches), n = t.at(-1);
|
|
35
|
+
d({
|
|
36
|
+
current: n?.name,
|
|
37
|
+
value: n?.value,
|
|
38
|
+
matches: t.map((e) => e.name)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
c && t();
|
|
42
|
+
for (let n of e) n.mql.addEventListener("change", t);
|
|
43
|
+
return () => {
|
|
44
|
+
for (let n of e) n.mql.removeEventListener("change", t);
|
|
45
|
+
};
|
|
46
|
+
}, [c, l]), u;
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { a as useBreakpoints };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { checkPermission as e, useAppContext as t } from "@vef-framework-react/core";
|
|
3
|
+
//#region src/use-check-permission/index.ts
|
|
4
|
+
function n() {
|
|
5
|
+
let { hasPermission: n = () => !0 } = t();
|
|
6
|
+
return (t, r) => e(n, t, r);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useCheckPermission };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { skipQueryToken as e, useAppContext as t, useQuery as n } from "@vef-framework-react/core";
|
|
3
|
+
import { isEmpty as r, isFunction as i } from "@vef-framework-react/shared";
|
|
4
|
+
import { useEffect as a, useRef as o } from "react";
|
|
5
|
+
//#region src/use-data-dict-query/index.ts
|
|
6
|
+
function s({ dataDictKey: s, onFetch: c, ...l }) {
|
|
7
|
+
let { dataDictQueryFn: u } = t();
|
|
8
|
+
if (!i(u)) throw Error("Data dictionary query function is not provided in the app context.");
|
|
9
|
+
let d = o(c);
|
|
10
|
+
d.current = c;
|
|
11
|
+
let f = n({
|
|
12
|
+
...l,
|
|
13
|
+
queryFn: r(s) ? e : u,
|
|
14
|
+
queryKey: [u.key, s],
|
|
15
|
+
staleTime: l?.staleTime ?? Infinity
|
|
16
|
+
});
|
|
17
|
+
return a(() => {
|
|
18
|
+
d.current && f.promise.then(d.current);
|
|
19
|
+
}, [f.promise]), f;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { s as useDataDictQuery };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useDataDictQuery as e } from "../use-data-dict-query/index.js";
|
|
3
|
+
import { skipQueryToken as t, useQuery as n } from "@vef-framework-react/core";
|
|
4
|
+
import { get as r, isEmpty as i, isFunction as a, isNullish as o, isString as s, withPinyin as c } from "@vef-framework-react/shared";
|
|
5
|
+
import { useMemo as l } from "react";
|
|
6
|
+
//#region src/use-data-options/index.ts
|
|
7
|
+
function u(e, t, n) {
|
|
8
|
+
return t ? a(t) ? t(e) : r(e, t) : e[n];
|
|
9
|
+
}
|
|
10
|
+
function d(e, t, n) {
|
|
11
|
+
let { labelKey: r, valueKey: i, disabledKey: a, descriptionKey: s, childrenKey: l } = t, f = u(e, r, "label"), p = u(e, i, "value"), m = u(e, a, "disabled"), h = u(e, s, "description"), g = u(e, l, "children"), _ = {
|
|
12
|
+
...e,
|
|
13
|
+
label: f,
|
|
14
|
+
value: p,
|
|
15
|
+
...!o(m) && { disabled: m },
|
|
16
|
+
...!o(h) && { description: h }
|
|
17
|
+
}, v = n ? c(_, "label", "description") : _;
|
|
18
|
+
return Array.isArray(g) && g.length > 0 && (v.children = g.map((e) => d(e, t, n))), v;
|
|
19
|
+
}
|
|
20
|
+
function f(e, t, n) {
|
|
21
|
+
return !e || i(e) ? [] : e.map((e) => d(e, t, n));
|
|
22
|
+
}
|
|
23
|
+
function p({ queryOptions: r, dataDictKey: i, labelKey: a, valueKey: o, disabledKey: c, descriptionKey: u, childrenKey: d, withPinyin: p = !1 }) {
|
|
24
|
+
let m = s(i) && i.length > 0, h = n({
|
|
25
|
+
...r,
|
|
26
|
+
queryFn: m ? t : r?.queryFn
|
|
27
|
+
}), g = e({ dataDictKey: i }), { data: _, ...v } = m ? g : h, y = l(() => ({
|
|
28
|
+
labelKey: a,
|
|
29
|
+
valueKey: o,
|
|
30
|
+
disabledKey: c,
|
|
31
|
+
descriptionKey: u,
|
|
32
|
+
childrenKey: d
|
|
33
|
+
}), [
|
|
34
|
+
a,
|
|
35
|
+
o,
|
|
36
|
+
c,
|
|
37
|
+
u,
|
|
38
|
+
d
|
|
39
|
+
]);
|
|
40
|
+
return {
|
|
41
|
+
options: l(() => f(_, y, p), [
|
|
42
|
+
_,
|
|
43
|
+
y,
|
|
44
|
+
p
|
|
45
|
+
]),
|
|
46
|
+
...v
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { p as useDataOptionsQuery };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useDeepCompare as e } from "../use-deep-compare/index.js";
|
|
3
|
+
import { useCallback as t } from "react";
|
|
4
|
+
//#region src/use-deep-callback/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
return t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useDeepCallback };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { isDeepEqual as e } from "@vef-framework-react/shared";
|
|
3
|
+
import { useRef as t } from "react";
|
|
4
|
+
//#region src/use-deep-compare/index.ts
|
|
5
|
+
function n(e) {
|
|
6
|
+
let n = t(void 0), i = t(0);
|
|
7
|
+
return r(n.current, e) || (n.current = e, i.current += 1), [i.current];
|
|
8
|
+
}
|
|
9
|
+
function r(t, n) {
|
|
10
|
+
if (t === void 0 || n === void 0) return !1;
|
|
11
|
+
if (Object.is(t, n)) return !0;
|
|
12
|
+
if (t.length !== n.length) return !1;
|
|
13
|
+
for (let [r, i] of t.entries()) if (!e(i, n[r])) return !1;
|
|
14
|
+
return !0;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { n as useDeepCompare };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useDeepCompare as e } from "../use-deep-compare/index.js";
|
|
3
|
+
import { useEffect as t } from "react";
|
|
4
|
+
//#region src/use-deep-effect/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useDeepEffect };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useIsomorphicEffect as e } from "../lib.js";
|
|
3
|
+
import { useDeepCompare as t } from "../use-deep-compare/index.js";
|
|
4
|
+
//#region src/use-deep-isomorphic-effect/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
e(n, t(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useDeepIsomorphicEffect };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useDeepCompare as e } from "../use-deep-compare/index.js";
|
|
3
|
+
import { useLayoutEffect as t } from "react";
|
|
4
|
+
//#region src/use-deep-layout-effect/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useDeepLayoutEffect };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useDeepCompare as e } from "../use-deep-compare/index.js";
|
|
3
|
+
import { useMemo as t } from "react";
|
|
4
|
+
//#region src/use-deep-memo/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
return t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useDeepMemo };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useLatest as e } from "../use-latest/index.js";
|
|
3
|
+
import { useEffect as t } from "react";
|
|
4
|
+
//#region src/use-document-event/index.ts
|
|
5
|
+
function n(n, r, i) {
|
|
6
|
+
let a = e(r);
|
|
7
|
+
t(() => {
|
|
8
|
+
function e(e) {
|
|
9
|
+
a.current.call(this, e);
|
|
10
|
+
}
|
|
11
|
+
return document.addEventListener(n, e, i), () => {
|
|
12
|
+
document.removeEventListener(n, e, i);
|
|
13
|
+
};
|
|
14
|
+
}, [
|
|
15
|
+
n,
|
|
16
|
+
i,
|
|
17
|
+
a
|
|
18
|
+
]);
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { n as useDocumentEvent };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import "@vef-framework-react/shared";
|
|
3
|
+
import { useEffect as e } from "react";
|
|
4
|
+
//#region src/use-emitter-event/index.ts
|
|
5
|
+
function t(t, n, r) {
|
|
6
|
+
e(() => t.on(n, r), [
|
|
7
|
+
t,
|
|
8
|
+
n,
|
|
9
|
+
r
|
|
10
|
+
]);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { t as useEmitterEvent };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useIsFetching as e } from "@vef-framework-react/core";
|
|
3
|
+
//#region src/use-has-fetching/index.ts
|
|
4
|
+
function t(t, n) {
|
|
5
|
+
return e({
|
|
6
|
+
queryKey: n ? [t, n] : [t],
|
|
7
|
+
exact: !1,
|
|
8
|
+
type: "active"
|
|
9
|
+
}) > 0;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { t as useHasFetching };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useIsMutating as e } from "@vef-framework-react/core";
|
|
3
|
+
//#region src/use-has-mutating/index.ts
|
|
4
|
+
function t(t) {
|
|
5
|
+
return e({
|
|
6
|
+
mutationKey: [t],
|
|
7
|
+
exact: !1
|
|
8
|
+
}) > 0;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { t as useHasMutating };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { checkPermission as e, useAppContext as t } from "@vef-framework-react/core";
|
|
3
|
+
//#region src/use-is-authorized/index.ts
|
|
4
|
+
function n(n, r) {
|
|
5
|
+
let { hasPermission: i = () => !0 } = t();
|
|
6
|
+
return e(i, n, r);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useIsAuthorized };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useRef as e } from "react";
|
|
3
|
+
//#region src/use-latest/index.ts
|
|
4
|
+
function t(t) {
|
|
5
|
+
let n = e(t);
|
|
6
|
+
return n.current = t, n;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { t as useLatest };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
|
|
3
|
+
//#region src/use-raf-state/index.ts
|
|
4
|
+
function i(i) {
|
|
5
|
+
let a = n(0), [o, s] = r(i), c = e((e) => {
|
|
6
|
+
cancelAnimationFrame(a.current), a.current = requestAnimationFrame(() => {
|
|
7
|
+
s(e);
|
|
8
|
+
});
|
|
9
|
+
}, []);
|
|
10
|
+
return t(() => () => {
|
|
11
|
+
cancelAnimationFrame(a.current);
|
|
12
|
+
}, []), [o, c];
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { i as useRafState };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useShallowCompare as e } from "../use-shallow-compare/index.js";
|
|
3
|
+
import { useCallback as t } from "react";
|
|
4
|
+
//#region src/use-shallow-callback/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
return t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useShallowCallback };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { isShallowEqual as e } from "@vef-framework-react/shared";
|
|
3
|
+
import { useRef as t } from "react";
|
|
4
|
+
//#region src/use-shallow-compare/index.ts
|
|
5
|
+
function n(e) {
|
|
6
|
+
let n = t(void 0), i = t(0);
|
|
7
|
+
return r(n.current, e) || (n.current = e, i.current += 1), [i.current];
|
|
8
|
+
}
|
|
9
|
+
function r(t, n) {
|
|
10
|
+
if (t === void 0 || n === void 0) return !1;
|
|
11
|
+
if (t === n) return !0;
|
|
12
|
+
if (t.length !== n.length) return !1;
|
|
13
|
+
for (let [r, i] of t.entries()) if (!e(i, n[r])) return !1;
|
|
14
|
+
return !0;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { n as useShallowCompare };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useShallowCompare as e } from "../use-shallow-compare/index.js";
|
|
3
|
+
import { useEffect as t } from "react";
|
|
4
|
+
//#region src/use-shallow-effect/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useShallowEffect };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useIsomorphicEffect as e } from "../lib.js";
|
|
3
|
+
import { useShallowCompare as t } from "../use-shallow-compare/index.js";
|
|
4
|
+
//#region src/use-shallow-isomorphic-effect/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
e(n, t(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useShallowIsomorphicEffect };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useShallowCompare as e } from "../use-shallow-compare/index.js";
|
|
3
|
+
import { useLayoutEffect as t } from "react";
|
|
4
|
+
//#region src/use-shallow-layout-effect/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useShallowLayoutEffect };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useShallowCompare as e } from "../use-shallow-compare/index.js";
|
|
3
|
+
import { useMemo as t } from "react";
|
|
4
|
+
//#region src/use-shallow-memo/index.ts
|
|
5
|
+
function n(n, r) {
|
|
6
|
+
return t(n, e(r));
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as useShallowMemo };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useRef as e } from "react";
|
|
3
|
+
//#region src/use-singleton/index.ts
|
|
4
|
+
function t(t) {
|
|
5
|
+
let n = e(void 0);
|
|
6
|
+
return n.current === void 0 && (n.current = t()), n;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { t as useSingleton };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*! @vef-framework-react/hooks v2.1.0 made by Venus | 2026-03-27T08:01:42.568Z */
|
|
2
|
+
import { useWindowEvent as e } from "../lib.js";
|
|
3
|
+
import { useRafState as t } from "../use-raf-state/index.js";
|
|
4
|
+
import { isUndefined as n } from "@vef-framework-react/shared";
|
|
5
|
+
import { useEffect as r } from "react";
|
|
6
|
+
//#region src/use-viewport-size/index.ts
|
|
7
|
+
var i = { passive: !0 };
|
|
8
|
+
function a() {
|
|
9
|
+
let a = !n(globalThis.window), [o, s] = t(() => ({
|
|
10
|
+
width: a ? window.innerWidth : 0,
|
|
11
|
+
height: a ? window.innerHeight : 0
|
|
12
|
+
}));
|
|
13
|
+
return r(() => {
|
|
14
|
+
function e() {
|
|
15
|
+
n(globalThis.window) || s({
|
|
16
|
+
width: window.innerWidth,
|
|
17
|
+
height: window.innerHeight
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
e();
|
|
21
|
+
}, [s]), e("resize", () => {
|
|
22
|
+
n(globalThis.window) || s({
|
|
23
|
+
width: window.innerWidth,
|
|
24
|
+
height: window.innerHeight
|
|
25
|
+
});
|
|
26
|
+
}, i), e("orientationchange", () => {
|
|
27
|
+
n(globalThis.window) || s({
|
|
28
|
+
width: window.innerWidth,
|
|
29
|
+
height: window.innerHeight
|
|
30
|
+
});
|
|
31
|
+
}, i), o;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { a as useViewportSize };
|