@bgscore/react-core 0.0.90 → 0.0.91
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/dist/index.cjs +2 -2
- package/dist/index.d.cts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var de=require('react'),v=require('dayjs'),$e=require('dayjs/plugin/utc'),Me=require('dayjs/plugin/timezone'),Fe=require('dayjs/plugin/duration'),Le=require('dayjs/plugin/advancedFormat'),Be=require('dayjs/plugin/localizedFormat'),He=require('dayjs/plugin/relativeTime'),Ie=require('dayjs/plugin/isSameOrBefore'),je=require('dayjs/plugin/isSameOrAfter'),Ve=require('dayjs/plugin/weekOfYear'),We=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Te=require('crypto-js/aes'),Ce=require('crypto-js/pbkdf2'),Xe=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),xe=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),dt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var de__default=/*#__PURE__*/_interopDefault(de);var v__default=/*#__PURE__*/_interopDefault(v);var $e__default=/*#__PURE__*/_interopDefault($e);var Me__default=/*#__PURE__*/_interopDefault(Me);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Le__default=/*#__PURE__*/_interopDefault(Le);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var We__default=/*#__PURE__*/_interopDefault(We);var Te__default=/*#__PURE__*/_interopDefault(Te);var Ce__default=/*#__PURE__*/_interopDefault(Ce);var Xe__default=/*#__PURE__*/_interopDefault(Xe);var X__default=/*#__PURE__*/_interopDefault(X);var xe__default=/*#__PURE__*/_interopDefault(xe);var dt__default=/*#__PURE__*/_interopDefault(dt);function Pt(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function Ot(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function wt(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function L(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Ut(e,t){return typeof e=="function"?e(t):e}var K=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Nt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=K(r,t)?K(r,t):"",a=K(n,t)?K(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=K(r,t)?K(r,t):"",a=K(n,t)?K(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},kt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?K(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Et(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ve(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return ve([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vt(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+\\${r}$`).test(e)||new RegExp(`^-?\\${r}\\d*$`).test(e)}function Ke(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function Kt(e="",t=false,r="."){if(!Ke(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}v__default.default.extend($e__default.default);v__default.default.extend(Me__default.default);v__default.default.extend(Fe__default.default);v__default.default.extend(Le__default.default);v__default.default.extend(Be__default.default);v__default.default.extend(He__default.default);v__default.default.extend(Ie__default.default);v__default.default.extend(je__default.default);v__default.default.extend(Ve__default.default);v__default.default.extend(We__default.default);var $=v__default.default;var be=de.createContext(void 0);function I(){let e=de.useContext(be);return e||{}}var Ge=({children:e,value:t})=>{let r={...t};return de.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&$.locale(s,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(be.Provider,{value:r,children:e})};function se(e,t){let r=xe__default.default.random(16),n=xe__default.default.random(16),s=Ce__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Te__default.default.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X__default.default),iv:n.toString(X__default.default),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce__default.default(t,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=Te__default.default.decrypt(s,a,{iv:X__default.default.parse(n)}).toString(Xe__default.default);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function De(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return De(t,r||e)}}}var Se=()=>{let{encrypt:e,decrypt:t}=Z(),r=de.useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=de.useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=de.useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return de.useEffect(()=>{let f=d=>{if(d.key===i)if(d.newValue)try{p(t(JSON.parse(d.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=de.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function tt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??z,a={...s,...n};tt(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Pe=(e,t)=>{le.set(e,t);},Oe=e=>{le.delete(e);},qe=e=>le.get(e);function nt(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,d,T,g]=J(shallow.useShallow(h=>{let c=h.states[p]??z;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:C,clearPreviousData:A,refetchOnWindowFocus:q}=I(),j=Se(),E=de.useRef(void 0),M=de.useRef(null),{cacheName:B,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=de.useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof C?.enabled=="boolean"&&(y=C.enabled);let P=false;typeof C?.persistence=="boolean"&&(P=C?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,N="s";return L(C?.timeout)&&(typeof C?.timeout=="number"?(O=C.timeout,N="s"):typeof C?.timeout=="object"&&(O=C?.timeout.value,N=C?.timeout.unit)),L(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,N="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,N=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:N,persistence:P,cacheEnabled:y}},[o?.cache,i,S,C,a]);de.useEffect(()=>{let h=JSON.stringify(L(E.current)?E.current:""),c=JSON.stringify(L(i)?i:""),b=E.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??A)&&g(p,{response:null}),R(),E.current=i),o?.onChange&&o?.onChange(i,U);},[i,o?.clearPreviousData,A,o?.hold,...o?.trigger||[]]),de.useEffect(()=>{let h=async()=>{!te&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),M.current?.abort();}},[te,B,F,p,M]);let R=de.useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),G&&!h&&!d){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(B),P=await(await b.match(F))?.json();if(P){let{data:O,expired:N}=P;if($().isAfter(N))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){M.current?.abort();let b=new AbortController;M.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),G&&y.status){let P=$().add(Q,ee).toISOString(),O={data:y,expired:P},N=await caches.open(B),V=new Response(JSON.stringify(O));await N.put(F,V);}}},[i,t,o,d,B,F,Q,ee,G]);de.useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},$.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=de.useRef(null),{enabledRefetch:u,timeoutRefetch:D,timeoutUnitRefetch:x}=de.useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);de.useEffect(()=>{if(!u)return;let h=$.duration(D,x).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,D,x,R]);let w=de.useCallback(()=>{M.current?.abort(),M.current=null,g(p,{loading:false,isCancel:true});},[p,M]),m=de.useCallback(()=>{g(p,{loading:false,response:null});},[p]),U=de.useMemo(()=>({...T,loading:f,refresh:R,abort:w,clear:m,response:T,isCancel:d,clone:(h,c)=>nt(t,h,c)}),[T,f,R,w,m,d,t]);return de.useEffect(()=>(Pe(p,U),()=>{Oe(p);}),[U,p]),[T?.data,U]}async function Sr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ot=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ot||{}),st=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(st||{});var Nr=(e,t,r)=>{let{format:n}=I();return t==="number"?lt(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?pt(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?at(e,r):t==="string"?it(e,r):e?.toString()??""};function at(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function it(e,t){if(!L(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function lt(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(e==null||isNaN(Number(e)))return "";if(a&&typeof e=="string"){let d=e.trim();if(oe(d,r))return d}let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[s](i*d)/d;}else i=Math[s](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.floor(i*d)/d;}let o=0;if(n==="auto"){let d=i.toString(),T=d.indexOf(".");T!==-1&&(o=d.length-T-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function pt(e,{display:t,value:r}){if(!L(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function vr(e,{interval:t,lead:r}){let n=de.useRef(null);de.useEffect(()=>{n.current=e;},[e]),de.useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Mr(e,t,r){let[n,s]=de.useState(false),a=(f,d)=>typeof e=="string"&&f===e||typeof e=="number"&&d===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:d,keyCode:T}=f,g=f.ctrlKey,S=f.altKey,C=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,T)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&C)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let A=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?C:false);a(d,T)&&A&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(d,T)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:d})=>{a(f,d)&&s(false);};return de.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Wr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:d,encryptResponse:T,passphrase:g})=>{let{encrypt:S,decrypt:C,passphrase:A}=Z(),q=(R,l,u,D)=>{let x=D?.code==="ERR_CANCELED",w=R?.status===401,m=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:T)&&m){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?A:u.passphrase:g;try{m=C(m,P);}catch{try{m=C(m,A);}catch{}}}let c={...n({...R,data:m,isCancel:x,isUnauthorization:w},D),isCancel:x,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!x||!b)&&i(c),!y&&(!x||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>dt__default.default.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(D=>l(D.response,D)),E=(R,l,u,D,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},U={"Content-Type":"application/json",...s,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(U.Authorization=`Bearer ${t}`):m.token&&(U.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:d)&&u){let c=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?A:x.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:U,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:c=>{m?.onUploadProgress&&m?.onUploadProgress(c);}},(c,b)=>q(c,D,m,b))};return {client:j,post:(R,l,u,D)=>E("POST",`${R}`,l,u,D),put:(R,l,u,D)=>E("PUT",`${R}`,l,u,D),patch:(R,l,u,D)=>E("PATCH",`${R}`,l,u,D),delete:(R,l,u)=>E("DELETE",`${R}`,null,l,u),get:(R,l,u)=>E("GET",`${R}`,null,l,u),upload:(R,l,u,D)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),E("POST",`${R}`,x,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(R,l,u,D,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},U={"Content-Type":"application/json",...s,...m.headers};if(m.token){let k=typeof m.token=="boolean"?t:m.token;k&&(U.Authorization=`Bearer ${k}`);}let h=u;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let k=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?A:m.passphrase:g;h=S(h,k);}let b=await fetch(`${e}${l}`,{method:R,headers:U,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let k=b?.statusText||"Error";try{let Y=b.headers.get("content-type")||"",H=await b.clone().text();if(H)if(Y.includes("application/json"))try{let ne=JSON.parse(H);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&u){let Ee=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?A:x.passphrase:g;try{u=C(ne,Ee);}catch{try{u=C(ne,A);}catch{}}}k=ne?.message||k;}catch{k=H;}else k=H;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};x?.infoError&&i&&!re&&i(W),D(W);return}let O=b.body.getReader(),N=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:k,value:re}=await O.read();me=k,V+=N.decode(re,{stream:!0});let W=V.split(`
|
|
1
|
+
'use strict';var de=require('react'),M=require('dayjs'),Me=require('dayjs/plugin/utc'),$e=require('dayjs/plugin/timezone'),Ke=require('dayjs/plugin/duration'),Le=require('dayjs/plugin/advancedFormat'),Fe=require('dayjs/plugin/localizedFormat'),Be=require('dayjs/plugin/relativeTime'),He=require('dayjs/plugin/isSameOrBefore'),Ie=require('dayjs/plugin/isSameOrAfter'),je=require('dayjs/plugin/weekOfYear'),Ve=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),De=require('crypto-js/aes'),Ce=require('crypto-js/pbkdf2'),Qe=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),Te=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Rt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var de__default=/*#__PURE__*/_interopDefault(de);var M__default=/*#__PURE__*/_interopDefault(M);var Me__default=/*#__PURE__*/_interopDefault(Me);var $e__default=/*#__PURE__*/_interopDefault($e);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Le__default=/*#__PURE__*/_interopDefault(Le);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var De__default=/*#__PURE__*/_interopDefault(De);var Ce__default=/*#__PURE__*/_interopDefault(Ce);var Qe__default=/*#__PURE__*/_interopDefault(Qe);var X__default=/*#__PURE__*/_interopDefault(X);var Te__default=/*#__PURE__*/_interopDefault(Te);var Rt__default=/*#__PURE__*/_interopDefault(Rt);M__default.default.extend(Me__default.default);M__default.default.extend($e__default.default);M__default.default.extend(Ke__default.default);M__default.default.extend(Le__default.default);M__default.default.extend(Fe__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(He__default.default);M__default.default.extend(Ie__default.default);M__default.default.extend(je__default.default);M__default.default.extend(Ve__default.default);var U=M__default.default;function Ht(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function It(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var jt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Vt(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function B(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Wt(e,t){return typeof e=="function"?e(t):e}var $=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Yt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?$(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Jt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function We(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return We([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function _t(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+\\${r}$`).test(e)||new RegExp(`^-?\\${r}\\d*$`).test(e)}function Ye(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function be(e="",t=false,r="."){if(!Ye(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var ze=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Gt(e){let t={};for(let r in e)ze.has(r)&&(t[r]=e[r]);return t}function Xt(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Zt(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(U).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Qt(e,t){let r=U(e),n=U(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function er(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=U(e,"HH:mm",true),n=U(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var xe=de.createContext(void 0);function K(){let e=de.useContext(xe);return e||{}}var Xe=({children:e,value:t})=>{let r={...t};return de.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&U.locale(s,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(xe.Provider,{value:r,children:e})};function se(e,t){let r=Te__default.default.random(16),n=Te__default.default.random(16),s=Ce__default.default(t,r,{keySize:256/32,iterations:1e3}),a=De__default.default.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X__default.default),iv:n.toString(X__default.default),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce__default.default(t,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=De__default.default.decrypt(s,a,{iv:X__default.default.parse(n)}).toString(Qe__default.default);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function Se(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=K();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return Se(t,r||e)}}}var Pe=()=>{let{encrypt:e,decrypt:t}=Z(),r=de.useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=de.useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=de.useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return de.useEffect(()=>{let f=d=>{if(d.key===i)if(d.newValue)try{p(t(JSON.parse(d.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=de.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function nt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var Y={loading:false,response:void 0,isCancel:false},z=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??Y,a={...s,...n};nt(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Oe=(e,t)=>{le.set(e,t);},qe=e=>{le.delete(e);},we=e=>le.get(e);function st(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,d,T,g]=z(shallow.useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:D,clearPreviousData:C,refetchOnWindowFocus:q}=K(),j=Pe(),v=de.useRef(void 0),L=de.useRef(null),{cacheName:H,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:_}=de.useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof D?.enabled=="boolean"&&(y=D.enabled);let P=false;typeof D?.persistence=="boolean"&&(P=D?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,k="s";return B(D?.timeout)&&(typeof D?.timeout=="number"?(O=D.timeout,k="s"):typeof D?.timeout=="object"&&(O=D?.timeout.value,k=D?.timeout.unit)),B(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,k="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,k=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:y}},[o?.cache,i,S,D,a]);de.useEffect(()=>{let h=JSON.stringify(B(v.current)?v.current:""),c=JSON.stringify(B(i)?i:""),b=v.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??C)&&g(p,{response:null}),R(),v.current=i),o?.onChange&&o?.onChange(i,N);},[i,o?.clearPreviousData,C,o?.hold,...o?.trigger||[]]),de.useEffect(()=>{let h=async()=>{!te&&H&&F&&(await caches.open(H)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),L.current?.abort();}},[te,H,F,p,L]);let R=de.useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),_&&!h&&!d){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(F))?.json();if(P){let{data:O,expired:k}=P;if(U().isAfter(k))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){L.current?.abort();let b=new AbortController;L.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),_&&y.status){let P=U().add(Q,ee).toISOString(),O={data:y,expired:P},k=await caches.open(H),V=new Response(JSON.stringify(O));await k.put(F,V);}}},[i,t,o,d,H,F,Q,ee,_]);de.useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},U.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=de.useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:x}=de.useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);de.useEffect(()=>{if(!u)return;let h=U.duration(A,x).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,A,x,R]);let w=de.useCallback(()=>{L.current?.abort(),L.current=null,g(p,{loading:false,isCancel:true});},[p,L]),m=de.useCallback(()=>{g(p,{loading:false,response:null});},[p]),N=de.useMemo(()=>({...T,loading:f,refresh:R,abort:w,clear:m,response:T,isCancel:d,clone:(h,c)=>st(t,h,c)}),[T,f,R,w,m,d,t]);return de.useEffect(()=>(Oe(p,N),()=>{qe(p);}),[N,p]),[T?.data,N]}async function kr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var at=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(at||{}),it=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(it||{});var Lr=(e,t,r)=>{let{format:n}=K();return t==="number"?ct(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?ut(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?lt(e,r):t==="string"?pt(e,r):e?.toString()??""};function lt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function pt(e,t){if(!B(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function ct(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(e==null||isNaN(Number(e)))return "";if(a&&typeof e=="string"){let d=e.trim();if(oe(d,r))return d}let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[s](i*d)/d;}else i=Math[s](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.floor(i*d)/d;}let o=0;if(n==="auto"){let d=i.toString(),T=d.indexOf(".");T!==-1&&(o=d.length-T-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function ut(e,{display:t,value:r}){if(!B(e))return e;let n=U(e,r);return n.isValid()?n.format(t):e}function Hr(e,{interval:t,lead:r}){let n=de.useRef(null);de.useEffect(()=>{n.current=e;},[e]),de.useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Vr(e,t,r){let[n,s]=de.useState(false),a=(f,d)=>typeof e=="string"&&f===e||typeof e=="number"&&d===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:d,keyCode:T}=f,g=f.ctrlKey,S=f.altKey,D=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,T)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&D)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let C=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?D:false);a(d,T)&&C&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(d,T)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:d})=>{a(f,d)&&s(false);};return de.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Zr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:d,encryptResponse:T,passphrase:g})=>{let{encrypt:S,decrypt:D,passphrase:C}=Z(),q=(R,l,u,A)=>{let x=A?.code==="ERR_CANCELED",w=R?.status===401,m=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:T)&&m){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:g;try{m=D(m,P);}catch{try{m=D(m,C);}catch{}}}let c={...n({...R,data:m,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!x||!b)&&i(c),!y&&(!x||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>Rt__default.default.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(A=>l(A.response,A)),v=(R,l,u,A,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(N.Authorization=`Bearer ${t}`):m.token&&(N.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:d)&&u){let c=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:N,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:c=>{m?.onUploadProgress&&m?.onUploadProgress(c);}},(c,b)=>q(c,A,m,b))};return {client:j,post:(R,l,u,A)=>v("POST",`${R}`,l,u,A),put:(R,l,u,A)=>v("PUT",`${R}`,l,u,A),patch:(R,l,u,A)=>v("PATCH",`${R}`,l,u,A),delete:(R,l,u)=>v("DELETE",`${R}`,null,l,u),get:(R,l,u)=>v("GET",`${R}`,null,l,u),upload:(R,l,u,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),v("POST",`${R}`,x,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(R,l,u,A,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token){let E=typeof m.token=="boolean"?t:m.token;E&&(N.Authorization=`Bearer ${E}`);}let h=u;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let E=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:g;h=S(h,E);}let b=await fetch(`${e}${l}`,{method:R,headers:N,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let E=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(G.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&u){let ve=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{u=D(ne,ve);}catch{try{u=D(ne,C);}catch{}}}E=ne?.message||E;}catch{E=I;}else E=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:E,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:E,value:re}=await O.read();me=E,V+=k.decode(re,{stream:!0});let W=V.split(`
|
|
2
2
|
|
|
3
|
-
`);V=W.pop();for(let
|
|
3
|
+
`);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let I=he(G);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0});}catch(w){let m=w?.name==="AbortError";A({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function tn(e,t){let[r,n]=de.useState(false),[s,a]=de.useState(),[i,o]=de.useState(0),p=de.useRef(null);return de.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let S=new AbortController;p.current=S,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let D={...t,signal:S.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));o(j);}},C=e.__isVoid?await e(void 0,D):await e(g,void 0,D);t?.logging&&console.log("After response",C),a(C),n(false),o(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,g)),C.status&&t?.onSuccess&&t?.onSuccess(C,g),!C.status&&t?.onError&&t?.onError(C,g),t?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var bt=typeof window<"u"?window:null;function on(e={}){let{getTrigger:t=ht,target:r=bt,disableHysteresis:n=false,threshold:s=100}=e,a=de__default.default.useRef(0),[i,o]=de__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return de__default.default.useEffect(()=>{let p=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,s]),i}var un=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,a=o=>{let p=o.states[n]??Y,{loading:f,isCancel:d,response:T}=p,{refresh:g,abort:S,clear:D,clone:C}=we(n)||{},q=[T?.data,{...T,loading:f,isCancel:d,refresh:g,abort:S,clear:D,clone:C}];return t?.selector?t.selector(q):q};return s?z(shallow.useShallow(a)):z(a)};var mn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Rn=(e,t)=>{let r={};r.others=[];let n=s=>{de__default.default.Children.forEach(s,a=>{if(de__default.default.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let o=a;o.props?.children?n(o.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function bn(){let{format:e}=K();return (t="",r=false)=>be(t,r,e.number.decSep)}function Dn(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(p=>p());}function i(o){let p=de.useRef(o?o(t):t);return de.useSyncExternalStore(s,()=>{let f=o?o(t):t,d=p.current;return Object.is(d,f)||(p.current=f),p.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function Ct(e,t=[]){let r={};for(let n in e){let s=e[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...t,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=Ct(s,[...t,n]):r[n]=s;}return r}function Pn(e,t){let[r,n]=de.useState(false),[s,a]=de.useState([]),i=de.useRef([]),o=de.useRef(null);de.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async T=>{o.current?.abort();let g=new AbortController;o.current=g,n(true),a([]),i.current=[],e(T,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:g.signal});},f=()=>{o.current?.abort(),o.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [s.map(T=>T.data),p,{loading:r,abort:f,reset:d,response:s}]}exports.BgsCoreProvider=Xe;exports.DataTypeEnum=it;exports.HttpMethod=at;exports.capitalizeWords=ge;exports.createApiHelper=Zr;exports.createElement=mn;exports.createStore=Dn;exports.debounce=_t;exports.decrypt=ae;exports.decryptString=Se;exports.defaultState=Y;exports.diffJson=It;exports.encrypt=se;exports.encryptString=Ae;exports.filterDOMPropsLite=Gt;exports.generateCacheKey=ye;exports.generateUUID=Ht;exports.getApiActions=we;exports.getDateRangeLabelFromSorted=Qt;exports.getFieldValue=$;exports.getInitials=Xt;exports.getMinMaxDate=Zt;exports.getTotalMinutes=er;exports.isArray=Vt;exports.isDirtyRaw=oe;exports.isNotEmpty=B;exports.isValidNumber=Ye;exports.jsonCopy=Jt;exports.labelFormatter=Re;exports.mappingUndefinedtoNull=jt;exports.moment=U;exports.parseSSEChunk=he;exports.parseStringToNumber=be;exports.registerApi=Oe;exports.renderChildren=Wt;exports.safeUpdate=nt;exports.sorting=Yt;exports.splitElement=Rn;exports.stableStringify=We;exports.summary=zt;exports.unregisterApi=qe;exports.useApiLoad=st;exports.useApiLoadStore=z;exports.useApiSend=tn;exports.useApiStore=un;exports.useApiStream=Pn;exports.useBgsCore=K;exports.useCrypto=Z;exports.useDelay=kr;exports.useFormatted=Lr;exports.useInterval=Hr;exports.useKeyPress=Vr;exports.useParseStringToNumber=bn;exports.useScrollTrigger=on;exports.useStorage=Pe;exports.wrapApi=Ct;
|
package/dist/index.d.cts
CHANGED
|
@@ -576,6 +576,8 @@ type SplitElementResult<T extends string> = {
|
|
|
576
576
|
};
|
|
577
577
|
declare const splitElement: <T extends string>(children: React$1.ReactNode, elementNames: T[]) => SplitElementResult<T>;
|
|
578
578
|
|
|
579
|
+
declare function useParseStringToNumber(): (value?: string, strict?: boolean) => number | null;
|
|
580
|
+
|
|
579
581
|
declare function generateUUID(): string;
|
|
580
582
|
declare function diffJson(data1: any, data2: any): boolean;
|
|
581
583
|
declare const mappingUndefinedtoNull: (values: any) => any;
|
|
@@ -602,6 +604,11 @@ declare const parseSSEChunk: (chunk: string) => any;
|
|
|
602
604
|
declare function isDirtyRaw(val: string, decSep: string): boolean;
|
|
603
605
|
declare function isValidNumber(val: any, dirty?: boolean, decSep?: string): boolean;
|
|
604
606
|
declare function parseStringToNumber(value?: string, strict?: boolean, decSep?: string): number | null;
|
|
607
|
+
declare function filterDOMPropsLite<T extends Record<string, any>>(props: T): Partial<T>;
|
|
608
|
+
declare function getInitials(fullName?: string, max?: number): string;
|
|
609
|
+
declare function getMinMaxDate(dates?: string[]): [string, string];
|
|
610
|
+
declare function getDateRangeLabelFromSorted(from: string, to: string): string;
|
|
611
|
+
declare function getTotalMinutes(from?: string, to?: string): string;
|
|
605
612
|
|
|
606
613
|
type Listener = () => void;
|
|
607
614
|
declare function createStore<T>(initialState: T): {
|
|
@@ -669,4 +676,4 @@ interface BgsCoreProviderProps {
|
|
|
669
676
|
}
|
|
670
677
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
671
678
|
|
|
672
|
-
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, generateCacheKey, generateUUID, getApiActions, getFieldValue, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useScrollTrigger, useStorage, wrapApi };
|
|
679
|
+
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
package/dist/index.d.ts
CHANGED
|
@@ -576,6 +576,8 @@ type SplitElementResult<T extends string> = {
|
|
|
576
576
|
};
|
|
577
577
|
declare const splitElement: <T extends string>(children: React$1.ReactNode, elementNames: T[]) => SplitElementResult<T>;
|
|
578
578
|
|
|
579
|
+
declare function useParseStringToNumber(): (value?: string, strict?: boolean) => number | null;
|
|
580
|
+
|
|
579
581
|
declare function generateUUID(): string;
|
|
580
582
|
declare function diffJson(data1: any, data2: any): boolean;
|
|
581
583
|
declare const mappingUndefinedtoNull: (values: any) => any;
|
|
@@ -602,6 +604,11 @@ declare const parseSSEChunk: (chunk: string) => any;
|
|
|
602
604
|
declare function isDirtyRaw(val: string, decSep: string): boolean;
|
|
603
605
|
declare function isValidNumber(val: any, dirty?: boolean, decSep?: string): boolean;
|
|
604
606
|
declare function parseStringToNumber(value?: string, strict?: boolean, decSep?: string): number | null;
|
|
607
|
+
declare function filterDOMPropsLite<T extends Record<string, any>>(props: T): Partial<T>;
|
|
608
|
+
declare function getInitials(fullName?: string, max?: number): string;
|
|
609
|
+
declare function getMinMaxDate(dates?: string[]): [string, string];
|
|
610
|
+
declare function getDateRangeLabelFromSorted(from: string, to: string): string;
|
|
611
|
+
declare function getTotalMinutes(from?: string, to?: string): string;
|
|
605
612
|
|
|
606
613
|
type Listener = () => void;
|
|
607
614
|
declare function createStore<T>(initialState: T): {
|
|
@@ -669,4 +676,4 @@ interface BgsCoreProviderProps {
|
|
|
669
676
|
}
|
|
670
677
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
671
678
|
|
|
672
|
-
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, generateCacheKey, generateUUID, getApiActions, getFieldValue, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useScrollTrigger, useStorage, wrapApi };
|
|
679
|
+
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import de,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import v from'dayjs';import $e from'dayjs/plugin/utc';import Me from'dayjs/plugin/timezone';import Fe from'dayjs/plugin/duration';import Le from'dayjs/plugin/advancedFormat';import Be from'dayjs/plugin/localizedFormat';import He from'dayjs/plugin/relativeTime';import Ie from'dayjs/plugin/isSameOrBefore';import je from'dayjs/plugin/isSameOrAfter';import Ve from'dayjs/plugin/weekOfYear';import We from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import Te from'crypto-js/aes';import Ce from'crypto-js/pbkdf2';import Xe from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import xe from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import dt from'axios';function Pt(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function Ot(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function wt(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function L(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Ut(e,t){return typeof e=="function"?e(t):e}var K=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Nt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=K(r,t)?K(r,t):"",a=K(n,t)?K(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=K(r,t)?K(r,t):"",a=K(n,t)?K(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},kt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?K(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Et(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ve(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return ve([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vt(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+\\${r}$`).test(e)||new RegExp(`^-?\\${r}\\d*$`).test(e)}function Ke(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function Kt(e="",t=false,r="."){if(!Ke(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}v.extend($e);v.extend(Me);v.extend(Fe);v.extend(Le);v.extend(Be);v.extend(He);v.extend(Ie);v.extend(je);v.extend(Ve);v.extend(We);var $=v;var be=createContext(void 0);function I(){let e=useContext(be);return e||{}}var Ge=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&$.locale(s,a??{},i);}})();},[t.localeConfig]),jsx(be.Provider,{value:r,children:e})};function se(e,t){let r=xe.random(16),n=xe.random(16),s=Ce(t,r,{keySize:256/32,iterations:1e3}),a=Te.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X),iv:n.toString(X),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce(t,X.parse(r),{keySize:256/32,iterations:1e3}),o=Te.decrypt(s,a,{iv:X.parse(n)}).toString(Xe);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function De(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return De(t,r||e)}}}var Se=()=>{let{encrypt:e,decrypt:t}=Z(),r=useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return useEffect(()=>{let f=d=>{if(d.key===i)if(d.newValue)try{p(t(JSON.parse(d.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function tt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??z,a={...s,...n};tt(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Pe=(e,t)=>{le.set(e,t);},Oe=e=>{le.delete(e);},qe=e=>le.get(e);function nt(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,d,T,g]=J(useShallow(h=>{let c=h.states[p]??z;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:C,clearPreviousData:A,refetchOnWindowFocus:q}=I(),j=Se(),E=useRef(void 0),M=useRef(null),{cacheName:B,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof C?.enabled=="boolean"&&(y=C.enabled);let P=false;typeof C?.persistence=="boolean"&&(P=C?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,N="s";return L(C?.timeout)&&(typeof C?.timeout=="number"?(O=C.timeout,N="s"):typeof C?.timeout=="object"&&(O=C?.timeout.value,N=C?.timeout.unit)),L(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,N="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,N=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:N,persistence:P,cacheEnabled:y}},[o?.cache,i,S,C,a]);useEffect(()=>{let h=JSON.stringify(L(E.current)?E.current:""),c=JSON.stringify(L(i)?i:""),b=E.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??A)&&g(p,{response:null}),R(),E.current=i),o?.onChange&&o?.onChange(i,U);},[i,o?.clearPreviousData,A,o?.hold,...o?.trigger||[]]),useEffect(()=>{let h=async()=>{!te&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),M.current?.abort();}},[te,B,F,p,M]);let R=useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),G&&!h&&!d){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(B),P=await(await b.match(F))?.json();if(P){let{data:O,expired:N}=P;if($().isAfter(N))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){M.current?.abort();let b=new AbortController;M.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),G&&y.status){let P=$().add(Q,ee).toISOString(),O={data:y,expired:P},N=await caches.open(B),V=new Response(JSON.stringify(O));await N.put(F,V);}}},[i,t,o,d,B,F,Q,ee,G]);useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},$.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=useRef(null),{enabledRefetch:u,timeoutRefetch:D,timeoutUnitRefetch:x}=useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);useEffect(()=>{if(!u)return;let h=$.duration(D,x).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,D,x,R]);let w=useCallback(()=>{M.current?.abort(),M.current=null,g(p,{loading:false,isCancel:true});},[p,M]),m=useCallback(()=>{g(p,{loading:false,response:null});},[p]),U=useMemo(()=>({...T,loading:f,refresh:R,abort:w,clear:m,response:T,isCancel:d,clone:(h,c)=>nt(t,h,c)}),[T,f,R,w,m,d,t]);return useEffect(()=>(Pe(p,U),()=>{Oe(p);}),[U,p]),[T?.data,U]}async function Sr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ot=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ot||{}),st=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(st||{});var Nr=(e,t,r)=>{let{format:n}=I();return t==="number"?lt(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?pt(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?at(e,r):t==="string"?it(e,r):e?.toString()??""};function at(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function it(e,t){if(!L(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function lt(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(e==null||isNaN(Number(e)))return "";if(a&&typeof e=="string"){let d=e.trim();if(oe(d,r))return d}let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[s](i*d)/d;}else i=Math[s](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.floor(i*d)/d;}let o=0;if(n==="auto"){let d=i.toString(),T=d.indexOf(".");T!==-1&&(o=d.length-T-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function pt(e,{display:t,value:r}){if(!L(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function vr(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Mr(e,t,r){let[n,s]=useState(false),a=(f,d)=>typeof e=="string"&&f===e||typeof e=="number"&&d===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:d,keyCode:T}=f,g=f.ctrlKey,S=f.altKey,C=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,T)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&C)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let A=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?C:false);a(d,T)&&A&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(d,T)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:d})=>{a(f,d)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Wr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:d,encryptResponse:T,passphrase:g})=>{let{encrypt:S,decrypt:C,passphrase:A}=Z(),q=(R,l,u,D)=>{let x=D?.code==="ERR_CANCELED",w=R?.status===401,m=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:T)&&m){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?A:u.passphrase:g;try{m=C(m,P);}catch{try{m=C(m,A);}catch{}}}let c={...n({...R,data:m,isCancel:x,isUnauthorization:w},D),isCancel:x,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!x||!b)&&i(c),!y&&(!x||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>dt.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(D=>l(D.response,D)),E=(R,l,u,D,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},U={"Content-Type":"application/json",...s,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(U.Authorization=`Bearer ${t}`):m.token&&(U.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:d)&&u){let c=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?A:x.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:U,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:c=>{m?.onUploadProgress&&m?.onUploadProgress(c);}},(c,b)=>q(c,D,m,b))};return {client:j,post:(R,l,u,D)=>E("POST",`${R}`,l,u,D),put:(R,l,u,D)=>E("PUT",`${R}`,l,u,D),patch:(R,l,u,D)=>E("PATCH",`${R}`,l,u,D),delete:(R,l,u)=>E("DELETE",`${R}`,null,l,u),get:(R,l,u)=>E("GET",`${R}`,null,l,u),upload:(R,l,u,D)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),E("POST",`${R}`,x,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(R,l,u,D,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},U={"Content-Type":"application/json",...s,...m.headers};if(m.token){let k=typeof m.token=="boolean"?t:m.token;k&&(U.Authorization=`Bearer ${k}`);}let h=u;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let k=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?A:m.passphrase:g;h=S(h,k);}let b=await fetch(`${e}${l}`,{method:R,headers:U,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let k=b?.statusText||"Error";try{let Y=b.headers.get("content-type")||"",H=await b.clone().text();if(H)if(Y.includes("application/json"))try{let ne=JSON.parse(H);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&u){let Ee=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?A:x.passphrase:g;try{u=C(ne,Ee);}catch{try{u=C(ne,A);}catch{}}}k=ne?.message||k;}catch{k=H;}else k=H;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};x?.infoError&&i&&!re&&i(W),D(W);return}let O=b.body.getReader(),N=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:k,value:re}=await O.read();me=k,V+=N.decode(re,{stream:!0});let W=V.split(`
|
|
1
|
+
import de,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import Me from'dayjs/plugin/utc';import $e from'dayjs/plugin/timezone';import Ke from'dayjs/plugin/duration';import Le from'dayjs/plugin/advancedFormat';import Fe from'dayjs/plugin/localizedFormat';import Be from'dayjs/plugin/relativeTime';import He from'dayjs/plugin/isSameOrBefore';import Ie from'dayjs/plugin/isSameOrAfter';import je from'dayjs/plugin/weekOfYear';import Ve from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import De from'crypto-js/aes';import Ce from'crypto-js/pbkdf2';import Qe from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import Te from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Rt from'axios';M.extend(Me);M.extend($e);M.extend(Ke);M.extend(Le);M.extend(Fe);M.extend(Be);M.extend(He);M.extend(Ie);M.extend(je);M.extend(Ve);var U=M;function Ht(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function It(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var jt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Vt(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function B(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Wt(e,t){return typeof e=="function"?e(t):e}var $=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Yt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?$(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Jt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function We(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return We([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function _t(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+\\${r}$`).test(e)||new RegExp(`^-?\\${r}\\d*$`).test(e)}function Ye(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function be(e="",t=false,r="."){if(!Ye(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var ze=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Gt(e){let t={};for(let r in e)ze.has(r)&&(t[r]=e[r]);return t}function Xt(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Zt(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(U).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Qt(e,t){let r=U(e),n=U(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function er(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=U(e,"HH:mm",true),n=U(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var xe=createContext(void 0);function K(){let e=useContext(xe);return e||{}}var Xe=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&U.locale(s,a??{},i);}})();},[t.localeConfig]),jsx(xe.Provider,{value:r,children:e})};function se(e,t){let r=Te.random(16),n=Te.random(16),s=Ce(t,r,{keySize:256/32,iterations:1e3}),a=De.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X),iv:n.toString(X),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce(t,X.parse(r),{keySize:256/32,iterations:1e3}),o=De.decrypt(s,a,{iv:X.parse(n)}).toString(Qe);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function Se(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=K();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return Se(t,r||e)}}}var Pe=()=>{let{encrypt:e,decrypt:t}=Z(),r=useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return useEffect(()=>{let f=d=>{if(d.key===i)if(d.newValue)try{p(t(JSON.parse(d.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function nt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var Y={loading:false,response:void 0,isCancel:false},z=create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??Y,a={...s,...n};nt(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Oe=(e,t)=>{le.set(e,t);},qe=e=>{le.delete(e);},we=e=>le.get(e);function st(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,d,T,g]=z(useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:D,clearPreviousData:C,refetchOnWindowFocus:q}=K(),j=Pe(),v=useRef(void 0),L=useRef(null),{cacheName:H,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:_}=useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof D?.enabled=="boolean"&&(y=D.enabled);let P=false;typeof D?.persistence=="boolean"&&(P=D?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,k="s";return B(D?.timeout)&&(typeof D?.timeout=="number"?(O=D.timeout,k="s"):typeof D?.timeout=="object"&&(O=D?.timeout.value,k=D?.timeout.unit)),B(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,k="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,k=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:y}},[o?.cache,i,S,D,a]);useEffect(()=>{let h=JSON.stringify(B(v.current)?v.current:""),c=JSON.stringify(B(i)?i:""),b=v.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??C)&&g(p,{response:null}),R(),v.current=i),o?.onChange&&o?.onChange(i,N);},[i,o?.clearPreviousData,C,o?.hold,...o?.trigger||[]]),useEffect(()=>{let h=async()=>{!te&&H&&F&&(await caches.open(H)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),L.current?.abort();}},[te,H,F,p,L]);let R=useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),_&&!h&&!d){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(F))?.json();if(P){let{data:O,expired:k}=P;if(U().isAfter(k))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){L.current?.abort();let b=new AbortController;L.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),_&&y.status){let P=U().add(Q,ee).toISOString(),O={data:y,expired:P},k=await caches.open(H),V=new Response(JSON.stringify(O));await k.put(F,V);}}},[i,t,o,d,H,F,Q,ee,_]);useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},U.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:x}=useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);useEffect(()=>{if(!u)return;let h=U.duration(A,x).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,A,x,R]);let w=useCallback(()=>{L.current?.abort(),L.current=null,g(p,{loading:false,isCancel:true});},[p,L]),m=useCallback(()=>{g(p,{loading:false,response:null});},[p]),N=useMemo(()=>({...T,loading:f,refresh:R,abort:w,clear:m,response:T,isCancel:d,clone:(h,c)=>st(t,h,c)}),[T,f,R,w,m,d,t]);return useEffect(()=>(Oe(p,N),()=>{qe(p);}),[N,p]),[T?.data,N]}async function kr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var at=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(at||{}),it=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(it||{});var Lr=(e,t,r)=>{let{format:n}=K();return t==="number"?ct(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?ut(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?lt(e,r):t==="string"?pt(e,r):e?.toString()??""};function lt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function pt(e,t){if(!B(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function ct(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(e==null||isNaN(Number(e)))return "";if(a&&typeof e=="string"){let d=e.trim();if(oe(d,r))return d}let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[s](i*d)/d;}else i=Math[s](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.floor(i*d)/d;}let o=0;if(n==="auto"){let d=i.toString(),T=d.indexOf(".");T!==-1&&(o=d.length-T-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function ut(e,{display:t,value:r}){if(!B(e))return e;let n=U(e,r);return n.isValid()?n.format(t):e}function Hr(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Vr(e,t,r){let[n,s]=useState(false),a=(f,d)=>typeof e=="string"&&f===e||typeof e=="number"&&d===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:d,keyCode:T}=f,g=f.ctrlKey,S=f.altKey,D=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,T)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&D)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let C=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?D:false);a(d,T)&&C&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(d,T)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:d})=>{a(f,d)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Zr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:d,encryptResponse:T,passphrase:g})=>{let{encrypt:S,decrypt:D,passphrase:C}=Z(),q=(R,l,u,A)=>{let x=A?.code==="ERR_CANCELED",w=R?.status===401,m=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:T)&&m){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:g;try{m=D(m,P);}catch{try{m=D(m,C);}catch{}}}let c={...n({...R,data:m,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!x||!b)&&i(c),!y&&(!x||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>Rt.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(A=>l(A.response,A)),v=(R,l,u,A,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(N.Authorization=`Bearer ${t}`):m.token&&(N.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:d)&&u){let c=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:N,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:c=>{m?.onUploadProgress&&m?.onUploadProgress(c);}},(c,b)=>q(c,A,m,b))};return {client:j,post:(R,l,u,A)=>v("POST",`${R}`,l,u,A),put:(R,l,u,A)=>v("PUT",`${R}`,l,u,A),patch:(R,l,u,A)=>v("PATCH",`${R}`,l,u,A),delete:(R,l,u)=>v("DELETE",`${R}`,null,l,u),get:(R,l,u)=>v("GET",`${R}`,null,l,u),upload:(R,l,u,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),v("POST",`${R}`,x,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(R,l,u,A,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token){let E=typeof m.token=="boolean"?t:m.token;E&&(N.Authorization=`Bearer ${E}`);}let h=u;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let E=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:g;h=S(h,E);}let b=await fetch(`${e}${l}`,{method:R,headers:N,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let E=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(G.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&u){let ve=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{u=D(ne,ve);}catch{try{u=D(ne,C);}catch{}}}E=ne?.message||E;}catch{E=I;}else E=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:E,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:E,value:re}=await O.read();me=E,V+=k.decode(re,{stream:!0});let W=V.split(`
|
|
2
2
|
|
|
3
|
-
`);V=W.pop();for(let
|
|
3
|
+
`);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let I=he(G);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0});}catch(w){let m=w?.name==="AbortError";A({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function tn(e,t){let[r,n]=useState(false),[s,a]=useState(),[i,o]=useState(0),p=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let S=new AbortController;p.current=S,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let D={...t,signal:S.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));o(j);}},C=e.__isVoid?await e(void 0,D):await e(g,void 0,D);t?.logging&&console.log("After response",C),a(C),n(false),o(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,g)),C.status&&t?.onSuccess&&t?.onSuccess(C,g),!C.status&&t?.onError&&t?.onError(C,g),t?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var bt=typeof window<"u"?window:null;function on(e={}){let{getTrigger:t=ht,target:r=bt,disableHysteresis:n=false,threshold:s=100}=e,a=de.useRef(0),[i,o]=de.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return de.useEffect(()=>{let p=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,s]),i}var un=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,a=o=>{let p=o.states[n]??Y,{loading:f,isCancel:d,response:T}=p,{refresh:g,abort:S,clear:D,clone:C}=we(n)||{},q=[T?.data,{...T,loading:f,isCancel:d,refresh:g,abort:S,clear:D,clone:C}];return t?.selector?t.selector(q):q};return s?z(useShallow(a)):z(a)};var mn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Rn=(e,t)=>{let r={};r.others=[];let n=s=>{de.Children.forEach(s,a=>{if(de.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let o=a;o.props?.children?n(o.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function bn(){let{format:e}=K();return (t="",r=false)=>be(t,r,e.number.decSep)}function Dn(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(p=>p());}function i(o){let p=useRef(o?o(t):t);return useSyncExternalStore(s,()=>{let f=o?o(t):t,d=p.current;return Object.is(d,f)||(p.current=f),p.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function Ct(e,t=[]){let r={};for(let n in e){let s=e[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...t,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=Ct(s,[...t,n]):r[n]=s;}return r}function Pn(e,t){let[r,n]=useState(false),[s,a]=useState([]),i=useRef([]),o=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async T=>{o.current?.abort();let g=new AbortController;o.current=g,n(true),a([]),i.current=[],e(T,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:g.signal});},f=()=>{o.current?.abort(),o.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [s.map(T=>T.data),p,{loading:r,abort:f,reset:d,response:s}]}export{Xe as BgsCoreProvider,it as DataTypeEnum,at as HttpMethod,ge as capitalizeWords,Zr as createApiHelper,mn as createElement,Dn as createStore,_t as debounce,ae as decrypt,Se as decryptString,Y as defaultState,It as diffJson,se as encrypt,Ae as encryptString,Gt as filterDOMPropsLite,ye as generateCacheKey,Ht as generateUUID,we as getApiActions,Qt as getDateRangeLabelFromSorted,$ as getFieldValue,Xt as getInitials,Zt as getMinMaxDate,er as getTotalMinutes,Vt as isArray,oe as isDirtyRaw,B as isNotEmpty,Ye as isValidNumber,Jt as jsonCopy,Re as labelFormatter,jt as mappingUndefinedtoNull,U as moment,he as parseSSEChunk,be as parseStringToNumber,Oe as registerApi,Wt as renderChildren,nt as safeUpdate,Yt as sorting,Rn as splitElement,We as stableStringify,zt as summary,qe as unregisterApi,st as useApiLoad,z as useApiLoadStore,tn as useApiSend,un as useApiStore,Pn as useApiStream,K as useBgsCore,Z as useCrypto,kr as useDelay,Lr as useFormatted,Hr as useInterval,Vr as useKeyPress,bn as useParseStringToNumber,on as useScrollTrigger,Pe as useStorage,Ct as wrapApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.91",
|
|
4
4
|
"description": "A React utility library that provides advanced API hooks (fetch, mutation, caching). Built for scalable and flexible data handling in modern React applications.",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|