@bgscore/react-core 0.0.89 → 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 +12 -1
- package/dist/index.d.ts +12 -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 fe=require('react'),E=require('dayjs'),Ee=require('dayjs/plugin/utc'),Ke=require('dayjs/plugin/timezone'),Me=require('dayjs/plugin/duration'),Fe=require('dayjs/plugin/advancedFormat'),Le=require('dayjs/plugin/localizedFormat'),Be=require('dayjs/plugin/relativeTime'),He=require('dayjs/plugin/isSameOrBefore'),Ie=require('dayjs/plugin/isSameOrAfter'),$e=require('dayjs/plugin/weekOfYear'),je=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),xe=require('crypto-js/aes'),Te=require('crypto-js/pbkdf2'),Ge=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),be=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),ut=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var fe__default=/*#__PURE__*/_interopDefault(fe);var E__default=/*#__PURE__*/_interopDefault(E);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ke__default=/*#__PURE__*/_interopDefault(Ke);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 $e__default=/*#__PURE__*/_interopDefault($e);var je__default=/*#__PURE__*/_interopDefault(je);var xe__default=/*#__PURE__*/_interopDefault(xe);var Te__default=/*#__PURE__*/_interopDefault(Te);var Ge__default=/*#__PURE__*/_interopDefault(Ge);var X__default=/*#__PURE__*/_interopDefault(X);var be__default=/*#__PURE__*/_interopDefault(be);var ut__default=/*#__PURE__*/_interopDefault(ut);function Dt(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function St(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pt=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Ot(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function B(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var me={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=me.snackCase(me.camelCase(t)),e&&(r=r?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return r?.trim()}};function qt(t,e){return typeof t=="function"?t(e):t}var K=(t,e,r="")=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let o=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of o){if(s==null)return r;s=s[a];}return s===void 0?r:s},wt={desc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(r,e):"";return s<a?1:-1}else return r<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(o,e):"";return s>a?1:-1}else return r>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(o=>Number(e?K(o,e)||0:o||0)),r.reduce((o,s)=>(o||0)+(s||0),0)||0};function vt(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function Ne(t){let e=new WeakSet;return JSON.stringify(t,function(r,o){return o!==null&&typeof o=="object"?e.has(o)?void 0:(e.add(o),Object.keys(o).sort().reduce((s,a)=>(s[a]=o[a],s),{})):o})??""}function Re(t,e){return Ne([e??"undefined",t??"undefined"])}function ye(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function kt(t,e=0){let r;return function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);}}var ge=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};E__default.default.extend(Ee__default.default);E__default.default.extend(Ke__default.default);E__default.default.extend(Me__default.default);E__default.default.extend(Fe__default.default);E__default.default.extend(Le__default.default);E__default.default.extend(Be__default.default);E__default.default.extend(He__default.default);E__default.default.extend(Ie__default.default);E__default.default.extend($e__default.default);E__default.default.extend(je__default.default);var M=E__default.default;var he=fe.createContext(void 0);function $(){let t=fe.useContext(he);return t||{}}var Je=({children:t,value:e})=>{let r={...e};return fe.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:i}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&M.locale(s,a??{},i);}})();},[e.localeConfig]),jsxRuntime.jsx(he.Provider,{value:r,children:t})};function oe(t,e){let r=be__default.default.random(16),o=be__default.default.random(16),s=Te__default.default(e,r,{keySize:256/32,iterations:1e3}),a=xe__default.default.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:r.toString(X__default.default),iv:o.toString(X__default.default),encrypted:a}}function se(t,e){let{salt:r,iv:o,encrypted:s}=t,a=Te__default.default(e,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),n=xe__default.default.decrypt(s,a,{iv:X__default.default.parse(o)}).toString(Ge__default.default);return JSON.parse(n)}function Ce(t,e){return JSON.stringify(oe(t,e))}function Ae(t,e){return se(JSON.parse(t),e)}function Z(){let{passphrase:t}=$();return {passphrase:t,encrypt(e,r){return oe(e,r||t)},decrypt(e,r){return se(e,r||t)},encryptString(e,r){return Ce(e,r||t)},decryptString(e,r){return Ae(e,r||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Z(),r=fe.useCallback((i,n)=>{try{let p=t(n);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[t]),o=fe.useCallback(i=>{try{let n=localStorage.getItem(i);return n?e(JSON.parse(n)):null}catch(n){return console.error("Failed to get from storage:",n),null}},[e]),s=i=>{let[n,p]=fe.useState(()=>{try{let c=localStorage.getItem(i);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return fe.useEffect(()=>{let c=y=>{if(y.key===i)if(y.newValue)try{p(e(JSON.parse(y.newValue)));}catch(S){console.error("Decrypt error from storage event",S);}else p(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,e]),n},a=fe.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:o,clear:a,useWatchStorage:s}};function Qe(t,e){for(let r in e){let o=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(o),i=JSON.stringify(s);if(a!==i)return false}else if(o!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=zustand.create((t,e)=>({states:{},updateState:(r,o)=>{let s=e().states[r]??z,a={...s,...o};Qe(s,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ie=new Map,Se=(t,e)=>{ie.set(t,e);},Pe=t=>{ie.delete(t);},Oe=t=>ie.get(t);function tt(...t){let[e,r,o]=t,s=e.__isVoid,a=e.__path||e.name,i=s?void 0:r,n=s?r:o,p=n?.storeName||`${a}`,[c,y,S,g]=J(shallow.useShallow(h=>{let u=h.states[p]??z;return [u.loading,u.isCancel,u.response,h.updateState]})),{storageKey:D,cache:T,clearPreviousData:C,refetchOnWindowFocus:q}=$(),j=De(),N=fe.useRef(void 0),F=fe.useRef(null),{cacheName:H,cacheKey:L,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=fe.useMemo(()=>{let h=D?j.get(D):void 0,u=typeof n?.cache=="object"?n?.cache?.cacheName??a:a,b=Re({...i,session:h},typeof n?.cache=="object"?n?.cache?.cacheKey:void 0),R=false;typeof T?.enabled=="boolean"&&(R=T.enabled);let P=false;typeof T?.persistence=="boolean"&&(P=T?.persistence),typeof n?.cache=="object"&&typeof n?.cache?.persistence=="boolean"&&(P=n?.cache?.persistence??false);let O=60*5,v="s";return B(T?.timeout)&&(typeof T?.timeout=="number"?(O=T.timeout,v="s"):typeof T?.timeout=="object"&&(O=T?.timeout.value,v=T?.timeout.unit)),B(n?.cache)&&(typeof n?.cache!="boolean"?(typeof n?.cache?.enabled=="boolean"?R=n.cache.enabled:R=true,typeof n?.cache?.timeout=="number"?(O=n.cache.timeout,v="s"):typeof n?.cache?.timeout=="object"&&(O=n.cache.timeout.value,v=n.cache.timeout.unit)):R=n.cache),{cacheName:u,cacheKey:b,timeout:O,timeoutUnit:v,persistence:P,cacheEnabled:R}},[n?.cache,i,D,T,a]);fe.useEffect(()=>{let h=JSON.stringify(B(N.current)?N.current:""),u=JSON.stringify(B(i)?i:""),b=N.current===void 0;(h!==u||b)&&!n?.hold&&((n?.clearPreviousData??C)&&g(p,{response:null}),m(),N.current=i),n?.onChange&&n?.onChange(i,U);},[i,n?.clearPreviousData,C,n?.hold,...n?.trigger||[]]),fe.useEffect(()=>{let h=async()=>{!te&&H&&L&&(await caches.open(H)).delete(L);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),F.current?.abort();}},[te,H,L,p,F]);let m=fe.useCallback(async h=>{let u=i;if(n?.hold&&n?.logging&&console.log("Hold active"),n?.beforeRequest&&(u=n?.beforeRequest(i)),G&&!h&&!y){n?.onBeforeRequest&&n?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(L))?.json();if(P){let{data:O,expired:v}=P;if(M().isAfter(v))await b.delete(L);else {n?.afterResponse&&O?.data&&(O.data=n?.afterResponse(O.data,u)),n?.logging&&console.log("After request: Using Cache",O),O?.status&&n?.onSuccess?.(O,u),n?.onAfterResponse?.(O,u),g(p,{loading:false,response:O});return}}}if(typeof e=="function"){F.current?.abort();let b=new AbortController;F.current=b,g(p,{loading:true}),n?.logging&&console.log("Before request",i),n?.onBeforeRequest&&n?.onBeforeRequest(i);let R=s?await e(void 0,{...n,signal:b.signal}):await e(u,void 0,{...n,signal:b.signal});if(n?.afterResponse&&R?.data&&(R.data=n?.afterResponse(R.data,u)),n?.logging&&console.log("After request",R),R.status&&n?.onSuccess?.(R,u),R.status||n?.onError?.(R,u),n?.onAfterResponse?.(R,u),g(p,{loading:false,response:R,isCancel:false}),G&&R.status){let P=M().add(Q,ee).toISOString(),O={data:R,expired:P},v=await caches.open(H),V=new Response(JSON.stringify(O));await v.put(L,V);}}},[i,e,n,y,H,L,Q,ee,G]);fe.useEffect(()=>{if(n?.refreshInterval){let h=typeof n.refreshInterval=="number"?n.refreshInterval:n.refreshInterval.value,u=typeof n.refreshInterval=="number"?"s":n.refreshInterval.unit,b=setInterval(()=>{m();},M.duration(h,u).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[n?.refreshInterval,m]);let l=fe.useRef(null),{enabledRefetch:f,timeoutRefetch:A,timeoutUnitRefetch:x}=fe.useMemo(()=>{let h=n?.refetchOnWindowFocus?.enabled??q?.enabled??false,u=n?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof u=="number"?u:u?.value??60*5,R=typeof u=="object"?u.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:R}},[n?.refetchOnWindowFocus,q]);fe.useEffect(()=>{if(!f)return;let h=M.duration(A,x).asMilliseconds(),u=()=>{let R=Date.now(),P=l.current;P!==null&&R-P>=h&&m(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",u),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",b);}},[f,A,x,m]);let w=fe.useCallback(()=>{F.current?.abort(),F.current=null,g(p,{loading:false,isCancel:true});},[p,F]),d=fe.useCallback(()=>{g(p,{loading:false,response:null});},[p]),U=fe.useMemo(()=>({...S,loading:c,refresh:m,abort:w,clear:d,response:S,isCancel:y,clone:(h,u)=>tt(e,h,u)}),[S,c,m,w,d,y,e]);return fe.useEffect(()=>(Se(p,U),()=>{Pe(p);}),[U,p]),[S?.data,U]}async function Cr(t,e=()=>{}){let r=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},r);})}var rt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(rt||{}),nt=(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))(nt||{});var qr=(t,e,r)=>{let{format:o}=$();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...r}):e==="boolean"?ot(t,r):e==="string"?st(t,r):t?.toString()??""};function ot(t,e){let r=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?o:s}function st(t,e){if(!B(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ye(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function at(t,{thouSep:e,decSep:r,decDigits:o,method:s}){if(t==null||isNaN(Number(t)))return "";let a=typeof t=="string"?parseFloat(t):t;if(s)if(typeof o=="number"){let c=Math.pow(10,o);a=Math[s](a*c)/c;}else a=Math[s](a);else if(typeof o=="number"){let c=Math.pow(10,o);a=Math.floor(a*c)/c;}let i=0;if(o==="auto"){let c=a.toString(),y=c.indexOf(".");y!==-1&&(i=c.length-y-1);}let n={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?i:o||0,maximumFractionDigits:o==="auto"?i:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",n).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function it(t,{display:e,value:r}){if(!B(t))return t;let o=M(t,r);return o.isValid()?o.format(e):t}function vr(t,{interval:e,lead:r}){let o=fe.useRef(null);fe.useEffect(()=>{o.current=t;},[t]),fe.useEffect(()=>{let s=()=>o.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Er(t,e,r){let[o,s]=fe.useState(false),a=(c,y)=>typeof t=="string"&&c===t||typeof t=="number"&&y===t,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),n=c=>{let{key:y,keyCode:S}=c,g=c.ctrlKey,D=c.altKey,T=c.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(y,S)&&(e==="ctrl"&&g||e==="alt"&&D||e==="shift"&&T)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));else {let C=e.every(q=>q==="ctrl"?g:q==="alt"?D:q==="shift"?T:false);a(y,S)&&C&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));}else a(y,S)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));},p=({key:c,keyCode:y})=>{a(c,y)&&s(false);};return fe.useEffect(()=>(window.addEventListener("keydown",n),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",p);}),[]),o}var $r=({url:t,token:e,beforeRequest:r,onCallback:o,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:n,disabledToastWhenCancel:p,withCredentials:c,encryptRequest:y,encryptResponse:S,passphrase:g})=>{let{encrypt:D,decrypt:T,passphrase:C}=Z(),q=(m,l,f,A)=>{let x=A?.code==="ERR_CANCELED",w=m?.status===401,d=m?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:S)&&d){let P=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:g;try{d=T(d,P);}catch{try{d=T(d,C);}catch{}}}let u={...o({...m,data:d,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:m?.status},b=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:p,R=n?n(u,f):!w;if((f?.infoSuccess&&u.status||f?.infoError&&!u.status)&&i&&(!x||!b)&&i(u),!R&&(!x||!f?.disabledHandleUnauthorized)){let P=f?.onUnauthorized||a;P&&P(u);}if(l)l(u);else return u},j=(m,l=()=>{})=>ut__default.default.create({baseURL:`${t}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:c})(m).then(l).catch(A=>l(A.response,A)),N=(m,l,f,A,x)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):d.token&&(U.Authorization=`Bearer ${d.token}`)),r&&(f=r(f)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:y)&&f){let u=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;f=D(f,u);}return j({url:l,method:m,data:f,headers:U,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:u=>{d?.onUploadProgress&&d?.onUploadProgress(u);}},(u,b)=>q(u,A,d,b))};return {client:j,post:(m,l,f,A)=>N("POST",`${m}`,l,f,A),put:(m,l,f,A)=>N("PUT",`${m}`,l,f,A),patch:(m,l,f,A)=>N("PATCH",`${m}`,l,f,A),delete:(m,l,f)=>N("DELETE",`${m}`,null,l,f),get:(m,l,f)=>N("GET",`${m}`,null,l,f),upload:(m,l,f,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),N("POST",`${m}`,x,f,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(m,l,f,A,x)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?e:d.token;k&&(U.Authorization=`Bearer ${k}`);}let h=f;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:y)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:g;h=D(h,k);}let b=await fetch(`${t}${l}`,{method:m,headers:U,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),R=b?.status,P=R===401;if(!b.ok){let k=b?.statusText||"Error";try{let Y=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(Y.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:S)&&f){let ke=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{f=T(ne,ke);}catch{try{f=T(ne,C);}catch{}}}k=ne?.message||k;}catch{k=I;}else k=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:R,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),v=new TextDecoder("utf-8"),V="",de=!1;for(;!de;){let{done:k,value:re}=await O.read();de=k,V+=v.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
|
@@ -435,6 +435,7 @@ type OptionsNumberProps = {
|
|
|
435
435
|
type OptionsNumber = OptionsNumberProps & {
|
|
436
436
|
dataType: Extract<DataType, "number">;
|
|
437
437
|
method?: "round" | "ceil" | "floor";
|
|
438
|
+
dirty?: boolean;
|
|
438
439
|
};
|
|
439
440
|
type DataTypeDateGroup = Extract<DataType, "date" | "dateTime" | "month" | "year" | "time">;
|
|
440
441
|
type OptionsDate = {
|
|
@@ -575,6 +576,8 @@ type SplitElementResult<T extends string> = {
|
|
|
575
576
|
};
|
|
576
577
|
declare const splitElement: <T extends string>(children: React$1.ReactNode, elementNames: T[]) => SplitElementResult<T>;
|
|
577
578
|
|
|
579
|
+
declare function useParseStringToNumber(): (value?: string, strict?: boolean) => number | null;
|
|
580
|
+
|
|
578
581
|
declare function generateUUID(): string;
|
|
579
582
|
declare function diffJson(data1: any, data2: any): boolean;
|
|
580
583
|
declare const mappingUndefinedtoNull: (values: any) => any;
|
|
@@ -598,6 +601,14 @@ declare function generateCacheKey(data?: any, cacheKey?: string | any[]): string
|
|
|
598
601
|
declare function capitalizeWords(value?: string): string;
|
|
599
602
|
declare function debounce<T extends (...args: any[]) => void>(func: T, delayInSeconds?: number): (...args: Parameters<T>) => void;
|
|
600
603
|
declare const parseSSEChunk: (chunk: string) => any;
|
|
604
|
+
declare function isDirtyRaw(val: string, decSep: string): boolean;
|
|
605
|
+
declare function isValidNumber(val: any, dirty?: boolean, decSep?: string): boolean;
|
|
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;
|
|
601
612
|
|
|
602
613
|
type Listener = () => void;
|
|
603
614
|
declare function createStore<T>(initialState: T): {
|
|
@@ -665,4 +676,4 @@ interface BgsCoreProviderProps {
|
|
|
665
676
|
}
|
|
666
677
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
667
678
|
|
|
668
|
-
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, isNotEmpty, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, 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
|
@@ -435,6 +435,7 @@ type OptionsNumberProps = {
|
|
|
435
435
|
type OptionsNumber = OptionsNumberProps & {
|
|
436
436
|
dataType: Extract<DataType, "number">;
|
|
437
437
|
method?: "round" | "ceil" | "floor";
|
|
438
|
+
dirty?: boolean;
|
|
438
439
|
};
|
|
439
440
|
type DataTypeDateGroup = Extract<DataType, "date" | "dateTime" | "month" | "year" | "time">;
|
|
440
441
|
type OptionsDate = {
|
|
@@ -575,6 +576,8 @@ type SplitElementResult<T extends string> = {
|
|
|
575
576
|
};
|
|
576
577
|
declare const splitElement: <T extends string>(children: React$1.ReactNode, elementNames: T[]) => SplitElementResult<T>;
|
|
577
578
|
|
|
579
|
+
declare function useParseStringToNumber(): (value?: string, strict?: boolean) => number | null;
|
|
580
|
+
|
|
578
581
|
declare function generateUUID(): string;
|
|
579
582
|
declare function diffJson(data1: any, data2: any): boolean;
|
|
580
583
|
declare const mappingUndefinedtoNull: (values: any) => any;
|
|
@@ -598,6 +601,14 @@ declare function generateCacheKey(data?: any, cacheKey?: string | any[]): string
|
|
|
598
601
|
declare function capitalizeWords(value?: string): string;
|
|
599
602
|
declare function debounce<T extends (...args: any[]) => void>(func: T, delayInSeconds?: number): (...args: Parameters<T>) => void;
|
|
600
603
|
declare const parseSSEChunk: (chunk: string) => any;
|
|
604
|
+
declare function isDirtyRaw(val: string, decSep: string): boolean;
|
|
605
|
+
declare function isValidNumber(val: any, dirty?: boolean, decSep?: string): boolean;
|
|
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;
|
|
601
612
|
|
|
602
613
|
type Listener = () => void;
|
|
603
614
|
declare function createStore<T>(initialState: T): {
|
|
@@ -665,4 +676,4 @@ interface BgsCoreProviderProps {
|
|
|
665
676
|
}
|
|
666
677
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
667
678
|
|
|
668
|
-
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, isNotEmpty, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, 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 fe,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import E from'dayjs';import Ee from'dayjs/plugin/utc';import Ke from'dayjs/plugin/timezone';import Me from'dayjs/plugin/duration';import Fe from'dayjs/plugin/advancedFormat';import Le from'dayjs/plugin/localizedFormat';import Be from'dayjs/plugin/relativeTime';import He from'dayjs/plugin/isSameOrBefore';import Ie from'dayjs/plugin/isSameOrAfter';import $e from'dayjs/plugin/weekOfYear';import je from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import xe from'crypto-js/aes';import Te from'crypto-js/pbkdf2';import Ge from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import be from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import ut from'axios';function Dt(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function St(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pt=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Ot(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function B(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var me={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=me.snackCase(me.camelCase(t)),e&&(r=r?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return r?.trim()}};function qt(t,e){return typeof t=="function"?t(e):t}var K=(t,e,r="")=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let o=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of o){if(s==null)return r;s=s[a];}return s===void 0?r:s},wt={desc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(r,e):"";return s<a?1:-1}else return r<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(o,e):"";return s>a?1:-1}else return r>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(o=>Number(e?K(o,e)||0:o||0)),r.reduce((o,s)=>(o||0)+(s||0),0)||0};function vt(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function Ne(t){let e=new WeakSet;return JSON.stringify(t,function(r,o){return o!==null&&typeof o=="object"?e.has(o)?void 0:(e.add(o),Object.keys(o).sort().reduce((s,a)=>(s[a]=o[a],s),{})):o})??""}function Re(t,e){return Ne([e??"undefined",t??"undefined"])}function ye(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function kt(t,e=0){let r;return function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);}}var ge=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};E.extend(Ee);E.extend(Ke);E.extend(Me);E.extend(Fe);E.extend(Le);E.extend(Be);E.extend(He);E.extend(Ie);E.extend($e);E.extend(je);var M=E;var he=createContext(void 0);function $(){let t=useContext(he);return t||{}}var Je=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:i}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&M.locale(s,a??{},i);}})();},[e.localeConfig]),jsx(he.Provider,{value:r,children:t})};function oe(t,e){let r=be.random(16),o=be.random(16),s=Te(e,r,{keySize:256/32,iterations:1e3}),a=xe.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:r.toString(X),iv:o.toString(X),encrypted:a}}function se(t,e){let{salt:r,iv:o,encrypted:s}=t,a=Te(e,X.parse(r),{keySize:256/32,iterations:1e3}),n=xe.decrypt(s,a,{iv:X.parse(o)}).toString(Ge);return JSON.parse(n)}function Ce(t,e){return JSON.stringify(oe(t,e))}function Ae(t,e){return se(JSON.parse(t),e)}function Z(){let{passphrase:t}=$();return {passphrase:t,encrypt(e,r){return oe(e,r||t)},decrypt(e,r){return se(e,r||t)},encryptString(e,r){return Ce(e,r||t)},decryptString(e,r){return Ae(e,r||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Z(),r=useCallback((i,n)=>{try{let p=t(n);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[t]),o=useCallback(i=>{try{let n=localStorage.getItem(i);return n?e(JSON.parse(n)):null}catch(n){return console.error("Failed to get from storage:",n),null}},[e]),s=i=>{let[n,p]=useState(()=>{try{let c=localStorage.getItem(i);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=y=>{if(y.key===i)if(y.newValue)try{p(e(JSON.parse(y.newValue)));}catch(S){console.error("Decrypt error from storage event",S);}else p(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,e]),n},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:o,clear:a,useWatchStorage:s}};function Qe(t,e){for(let r in e){let o=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(o),i=JSON.stringify(s);if(a!==i)return false}else if(o!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=create((t,e)=>({states:{},updateState:(r,o)=>{let s=e().states[r]??z,a={...s,...o};Qe(s,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ie=new Map,Se=(t,e)=>{ie.set(t,e);},Pe=t=>{ie.delete(t);},Oe=t=>ie.get(t);function tt(...t){let[e,r,o]=t,s=e.__isVoid,a=e.__path||e.name,i=s?void 0:r,n=s?r:o,p=n?.storeName||`${a}`,[c,y,S,g]=J(useShallow(h=>{let u=h.states[p]??z;return [u.loading,u.isCancel,u.response,h.updateState]})),{storageKey:D,cache:T,clearPreviousData:C,refetchOnWindowFocus:q}=$(),j=De(),N=useRef(void 0),F=useRef(null),{cacheName:H,cacheKey:L,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=useMemo(()=>{let h=D?j.get(D):void 0,u=typeof n?.cache=="object"?n?.cache?.cacheName??a:a,b=Re({...i,session:h},typeof n?.cache=="object"?n?.cache?.cacheKey:void 0),R=false;typeof T?.enabled=="boolean"&&(R=T.enabled);let P=false;typeof T?.persistence=="boolean"&&(P=T?.persistence),typeof n?.cache=="object"&&typeof n?.cache?.persistence=="boolean"&&(P=n?.cache?.persistence??false);let O=60*5,v="s";return B(T?.timeout)&&(typeof T?.timeout=="number"?(O=T.timeout,v="s"):typeof T?.timeout=="object"&&(O=T?.timeout.value,v=T?.timeout.unit)),B(n?.cache)&&(typeof n?.cache!="boolean"?(typeof n?.cache?.enabled=="boolean"?R=n.cache.enabled:R=true,typeof n?.cache?.timeout=="number"?(O=n.cache.timeout,v="s"):typeof n?.cache?.timeout=="object"&&(O=n.cache.timeout.value,v=n.cache.timeout.unit)):R=n.cache),{cacheName:u,cacheKey:b,timeout:O,timeoutUnit:v,persistence:P,cacheEnabled:R}},[n?.cache,i,D,T,a]);useEffect(()=>{let h=JSON.stringify(B(N.current)?N.current:""),u=JSON.stringify(B(i)?i:""),b=N.current===void 0;(h!==u||b)&&!n?.hold&&((n?.clearPreviousData??C)&&g(p,{response:null}),m(),N.current=i),n?.onChange&&n?.onChange(i,U);},[i,n?.clearPreviousData,C,n?.hold,...n?.trigger||[]]),useEffect(()=>{let h=async()=>{!te&&H&&L&&(await caches.open(H)).delete(L);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),F.current?.abort();}},[te,H,L,p,F]);let m=useCallback(async h=>{let u=i;if(n?.hold&&n?.logging&&console.log("Hold active"),n?.beforeRequest&&(u=n?.beforeRequest(i)),G&&!h&&!y){n?.onBeforeRequest&&n?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(L))?.json();if(P){let{data:O,expired:v}=P;if(M().isAfter(v))await b.delete(L);else {n?.afterResponse&&O?.data&&(O.data=n?.afterResponse(O.data,u)),n?.logging&&console.log("After request: Using Cache",O),O?.status&&n?.onSuccess?.(O,u),n?.onAfterResponse?.(O,u),g(p,{loading:false,response:O});return}}}if(typeof e=="function"){F.current?.abort();let b=new AbortController;F.current=b,g(p,{loading:true}),n?.logging&&console.log("Before request",i),n?.onBeforeRequest&&n?.onBeforeRequest(i);let R=s?await e(void 0,{...n,signal:b.signal}):await e(u,void 0,{...n,signal:b.signal});if(n?.afterResponse&&R?.data&&(R.data=n?.afterResponse(R.data,u)),n?.logging&&console.log("After request",R),R.status&&n?.onSuccess?.(R,u),R.status||n?.onError?.(R,u),n?.onAfterResponse?.(R,u),g(p,{loading:false,response:R,isCancel:false}),G&&R.status){let P=M().add(Q,ee).toISOString(),O={data:R,expired:P},v=await caches.open(H),V=new Response(JSON.stringify(O));await v.put(L,V);}}},[i,e,n,y,H,L,Q,ee,G]);useEffect(()=>{if(n?.refreshInterval){let h=typeof n.refreshInterval=="number"?n.refreshInterval:n.refreshInterval.value,u=typeof n.refreshInterval=="number"?"s":n.refreshInterval.unit,b=setInterval(()=>{m();},M.duration(h,u).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[n?.refreshInterval,m]);let l=useRef(null),{enabledRefetch:f,timeoutRefetch:A,timeoutUnitRefetch:x}=useMemo(()=>{let h=n?.refetchOnWindowFocus?.enabled??q?.enabled??false,u=n?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof u=="number"?u:u?.value??60*5,R=typeof u=="object"?u.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:R}},[n?.refetchOnWindowFocus,q]);useEffect(()=>{if(!f)return;let h=M.duration(A,x).asMilliseconds(),u=()=>{let R=Date.now(),P=l.current;P!==null&&R-P>=h&&m(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",u),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",b);}},[f,A,x,m]);let w=useCallback(()=>{F.current?.abort(),F.current=null,g(p,{loading:false,isCancel:true});},[p,F]),d=useCallback(()=>{g(p,{loading:false,response:null});},[p]),U=useMemo(()=>({...S,loading:c,refresh:m,abort:w,clear:d,response:S,isCancel:y,clone:(h,u)=>tt(e,h,u)}),[S,c,m,w,d,y,e]);return useEffect(()=>(Se(p,U),()=>{Pe(p);}),[U,p]),[S?.data,U]}async function Cr(t,e=()=>{}){let r=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},r);})}var rt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(rt||{}),nt=(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))(nt||{});var qr=(t,e,r)=>{let{format:o}=$();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...r}):e==="boolean"?ot(t,r):e==="string"?st(t,r):t?.toString()??""};function ot(t,e){let r=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?o:s}function st(t,e){if(!B(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ye(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function at(t,{thouSep:e,decSep:r,decDigits:o,method:s}){if(t==null||isNaN(Number(t)))return "";let a=typeof t=="string"?parseFloat(t):t;if(s)if(typeof o=="number"){let c=Math.pow(10,o);a=Math[s](a*c)/c;}else a=Math[s](a);else if(typeof o=="number"){let c=Math.pow(10,o);a=Math.floor(a*c)/c;}let i=0;if(o==="auto"){let c=a.toString(),y=c.indexOf(".");y!==-1&&(i=c.length-y-1);}let n={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?i:o||0,maximumFractionDigits:o==="auto"?i:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",n).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function it(t,{display:e,value:r}){if(!B(t))return t;let o=M(t,r);return o.isValid()?o.format(e):t}function vr(t,{interval:e,lead:r}){let o=useRef(null);useEffect(()=>{o.current=t;},[t]),useEffect(()=>{let s=()=>o.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Er(t,e,r){let[o,s]=useState(false),a=(c,y)=>typeof t=="string"&&c===t||typeof t=="number"&&y===t,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),n=c=>{let{key:y,keyCode:S}=c,g=c.ctrlKey,D=c.altKey,T=c.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(y,S)&&(e==="ctrl"&&g||e==="alt"&&D||e==="shift"&&T)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));else {let C=e.every(q=>q==="ctrl"?g:q==="alt"?D:q==="shift"?T:false);a(y,S)&&C&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));}else a(y,S)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));},p=({key:c,keyCode:y})=>{a(c,y)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",n),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",p);}),[]),o}var $r=({url:t,token:e,beforeRequest:r,onCallback:o,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:n,disabledToastWhenCancel:p,withCredentials:c,encryptRequest:y,encryptResponse:S,passphrase:g})=>{let{encrypt:D,decrypt:T,passphrase:C}=Z(),q=(m,l,f,A)=>{let x=A?.code==="ERR_CANCELED",w=m?.status===401,d=m?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:S)&&d){let P=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:g;try{d=T(d,P);}catch{try{d=T(d,C);}catch{}}}let u={...o({...m,data:d,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:m?.status},b=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:p,R=n?n(u,f):!w;if((f?.infoSuccess&&u.status||f?.infoError&&!u.status)&&i&&(!x||!b)&&i(u),!R&&(!x||!f?.disabledHandleUnauthorized)){let P=f?.onUnauthorized||a;P&&P(u);}if(l)l(u);else return u},j=(m,l=()=>{})=>ut.create({baseURL:`${t}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:c})(m).then(l).catch(A=>l(A.response,A)),N=(m,l,f,A,x)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):d.token&&(U.Authorization=`Bearer ${d.token}`)),r&&(f=r(f)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:y)&&f){let u=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;f=D(f,u);}return j({url:l,method:m,data:f,headers:U,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:u=>{d?.onUploadProgress&&d?.onUploadProgress(u);}},(u,b)=>q(u,A,d,b))};return {client:j,post:(m,l,f,A)=>N("POST",`${m}`,l,f,A),put:(m,l,f,A)=>N("PUT",`${m}`,l,f,A),patch:(m,l,f,A)=>N("PATCH",`${m}`,l,f,A),delete:(m,l,f)=>N("DELETE",`${m}`,null,l,f),get:(m,l,f)=>N("GET",`${m}`,null,l,f),upload:(m,l,f,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),N("POST",`${m}`,x,f,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(m,l,f,A,x)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?e:d.token;k&&(U.Authorization=`Bearer ${k}`);}let h=f;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:y)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:g;h=D(h,k);}let b=await fetch(`${t}${l}`,{method:m,headers:U,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),R=b?.status,P=R===401;if(!b.ok){let k=b?.statusText||"Error";try{let Y=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(Y.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:S)&&f){let ke=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{f=T(ne,ke);}catch{try{f=T(ne,C);}catch{}}}k=ne?.message||k;}catch{k=I;}else k=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:R,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),v=new TextDecoder("utf-8"),V="",de=!1;for(;!de;){let{done:k,value:re}=await O.read();de=k,V+=v.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",
|