@bgscore/react-core 1.0.43 → 1.0.44

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 CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var le=require('react'),I=require('dayjs'),Ze=require('dayjs/plugin/utc'),et=require('dayjs/plugin/timezone'),tt=require('dayjs/plugin/duration'),rt=require('dayjs/plugin/advancedFormat'),nt=require('dayjs/plugin/localizedFormat'),ot=require('dayjs/plugin/relativeTime'),st=require('dayjs/plugin/isSameOrBefore'),at=require('dayjs/plugin/isSameOrAfter'),it=require('dayjs/plugin/weekOfYear'),lt=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ee=require('crypto-js/aes'),Ne=require('crypto-js/pbkdf2'),ht=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),ke=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Nt=require('axios'),tr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var lt__default=/*#__PURE__*/_interopDefault(lt);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var ht__default=/*#__PURE__*/_interopDefault(ht);var ie__default=/*#__PURE__*/_interopDefault(ie);var ke__default=/*#__PURE__*/_interopDefault(ke);var Nt__default=/*#__PURE__*/_interopDefault(Nt);var tr__default=/*#__PURE__*/_interopDefault(tr);I__default.default.extend(Ze__default.default);I__default.default.extend(et__default.default);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);I__default.default.extend(lt__default.default);var H=I__default.default;function xr(){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 Cr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Ar=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Sr(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 V(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 we={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,o)=>o.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=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Or={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Pr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function qr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ct(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((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(e,t){return ct([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function de(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 pt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&de(n,r))return true}return false}function ve(e="",t=false,r="."){if(!pt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ut=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 Ur(e){let t={};for(let r in e)ut.has(r)&&(t[r]=e[r]);return t}function kr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Er(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(H).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Nr(e,t){let r=H(e),n=H(t),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${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 Mr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=H(e,"HH:mm",true),n=H(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var $r=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let u=typeof t=="function"?t(l,c):l,h=typeof r=="function"?r(l,c):l;return {label:u,value:h,index:c,rowData:l}}else {let u=typeof t=="function"?t(l,c):E(l,t,""),h=typeof r=="function"?r(l,c):E(l,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,u=i.map(d=>String(typeof c=="object"?E(c,d,"")??"":"")).join(o),h=s.get(u)||[];h.push(l),s.set(u,h);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function ft(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ft(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var Ue=le.createContext(void 0);function W(){let e=le.useContext(Ue);return e||{}}var gt=({children:e,value:t})=>{let r={...t};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(Ue.Provider,{value:r,children:e})};function me(e,t){let r=ke__default.default.random(16),n=ke__default.default.random(16),o=Ne__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Ee__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function ye(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne__default.default(t,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ee__default.default.decrypt(o,a,{iv:ie__default.default.parse(n)}).toString(ht__default.default);return JSON.parse(s)}function Me(e,t){return JSON.stringify(me(e,t))}function $e(e,t){return ye(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return me(t,r||e)},decrypt(t,r){return ye(t,r||e)},encryptString(t,r){return Me(t,r||e)},decryptString(t,r){return $e(t,r||e)}}}var Le=()=>{let{encrypt:e,decrypt:t}=X(),r=le.useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=le.useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,l]=le.useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return le.useEffect(()=>{let c=u=>{if(u.key===i)if(u.newValue)try{l(t(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=le.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function xt(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??re,a={...o,...n};xt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Fe=e=>{Re.delete(e);},Ke=e=>Re.get(e);function At(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[u,h,d,C]=ne(shallow.useShallow(S=>{let b=S.states[l]??re;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:F}=W(),z=Le(),U=le.useRef(void 0),K=le.useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=le.useMemo(()=>{let S=P?z.get(P):void 0,b=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...i,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,i,P,x,a]);le.useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),b=JSON.stringify(V(i)?i:""),T=U.current===void 0;(S!==b||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,f);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,B,k,l,K]);let A=le.useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),ee&&!S&&!h){s?.onBeforeRequest&&s?.onBeforeRequest(i);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,b)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,b),s?.onAfterResponse?.(w,b),C(l,{loading:false,response:w});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let g=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,c==="append"&&V(d.__rawData)&&V(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let q=[...d?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let q={...d.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,b)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,b),g.status||s?.onError?.(g,b),s?.onAfterResponse?.(g,b),C(l,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,h,B,k,M,Z,ee,d]);le.useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,b=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,F]);le.useEffect(()=>{if(!R||s?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,s?.hold]);let m=le.useCallback(()=>{K.current?.abort(),K.current=null,C(l,{loading:false,isCancel:true});},[l,K]),O=le.useCallback(()=>{C(l,{loading:false,response:null});},[l]),f=le.useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>At(t,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,t]);return le.useEffect(()=>(He(l,f),()=>{Fe(l);}),[f,l]),[d?.data,f]}async function yn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var St=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(St||{}),wt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(wt||{});var Dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?vt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ot(t,n):r==="string"?Pt(t,n):t?.toString()}catch{return}}};function Ot(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function Pt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(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 qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let h=String(e??"").trim().trim();if(de(h,r))return h}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let u=Math.pow(10,n);i=Math[o](i*u)/u;}else i=Math[o](i);else if(typeof n=="number"){let u=Math.pow(10,n);i=Math.trunc(i*u)/u;}let s=0;if(n==="auto"){let u=i.toString(),h=u.indexOf(".");h!==-1&&(s=u.length-h-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function vt(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function An(e,{interval:t,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=e;},[e]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function On(e,t,r){let[n,o]=le.useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(u,h)&&(t==="ctrl"&&d||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let x=t.every(N=>N==="ctrl"?d:N==="alt"?C:N==="shift"?P:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:u})=>{a(c,u)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Mn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Nt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=P(f,w);}catch{try{f=P(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:l,q=s?s(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?t:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${e}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=P(G,fe);}catch{try{p=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
1
+ 'use strict';var le=require('react'),I=require('dayjs'),Ze=require('dayjs/plugin/utc'),et=require('dayjs/plugin/timezone'),tt=require('dayjs/plugin/duration'),rt=require('dayjs/plugin/advancedFormat'),nt=require('dayjs/plugin/localizedFormat'),ot=require('dayjs/plugin/relativeTime'),st=require('dayjs/plugin/isSameOrBefore'),at=require('dayjs/plugin/isSameOrAfter'),it=require('dayjs/plugin/weekOfYear'),lt=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ee=require('crypto-js/aes'),Ne=require('crypto-js/pbkdf2'),ht=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),ke=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Nt=require('axios'),tr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var lt__default=/*#__PURE__*/_interopDefault(lt);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var ht__default=/*#__PURE__*/_interopDefault(ht);var ie__default=/*#__PURE__*/_interopDefault(ie);var ke__default=/*#__PURE__*/_interopDefault(ke);var Nt__default=/*#__PURE__*/_interopDefault(Nt);var tr__default=/*#__PURE__*/_interopDefault(tr);I__default.default.extend(Ze__default.default);I__default.default.extend(et__default.default);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);I__default.default.extend(lt__default.default);var H=I__default.default;function xr(){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 Cr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Ar=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Sr(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 V(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 we={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,o)=>o.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=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Or={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Pr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function qr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ct(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((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(e,t){return ct([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function de(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 pt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&de(n,r))return true}return false}function ve(e="",t=false,r="."){if(!pt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ut=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 Ur(e){let t={};for(let r in e)ut.has(r)&&(t[r]=e[r]);return t}function kr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Er(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(H).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Nr(e,t){let r=H(e),n=H(t),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${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 Mr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=H(e,"HH:mm",true),n=H(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var $r=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let u=typeof t=="function"?t(l,c):l,h=typeof r=="function"?r(l,c):l;return {label:u,value:h,index:c,rowData:l}}else {let u=typeof t=="function"?t(l,c):E(l,t,""),h=typeof r=="function"?r(l,c):E(l,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,u=i.map(d=>String(typeof c=="object"?E(c,d,"")??"":"")).join(o),h=s.get(u)||[];h.push(l),s.set(u,h);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function ft(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ft(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var Ue=le.createContext(void 0);function W(){let e=le.useContext(Ue);return e||{}}var gt=({children:e,value:t})=>{let r={...t};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(Ue.Provider,{value:r,children:e})};function me(e,t){let r=ke__default.default.random(16),n=ke__default.default.random(16),o=Ne__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Ee__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function ye(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne__default.default(t,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ee__default.default.decrypt(o,a,{iv:ie__default.default.parse(n)}).toString(ht__default.default);return JSON.parse(s)}function Me(e,t){return JSON.stringify(me(e,t))}function $e(e,t){return ye(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return me(t,r||e)},decrypt(t,r){return ye(t,r||e)},encryptString(t,r){return Me(t,r||e)},decryptString(t,r){return $e(t,r||e)}}}var Le=()=>{let{encrypt:e,decrypt:t}=X(),r=le.useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=le.useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,l]=le.useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return le.useEffect(()=>{let c=u=>{if(u.key===i)if(u.newValue)try{l(t(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=le.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function xt(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??re,a={...o,...n};xt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Fe=e=>{Re.delete(e);},Ke=e=>Re.get(e);function At(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[u,h,d,C]=ne(shallow.useShallow(S=>{let b=S.states[l]??re;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:F}=W(),z=Le(),U=le.useRef(void 0),K=le.useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=le.useMemo(()=>{let S=P?z.get(P):void 0,b=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...i,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,i,P,x,a]);le.useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),b=JSON.stringify(V(i)?i:""),T=U.current===void 0;(S!==b||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,f);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,B,k,l,K]);let A=le.useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),ee&&!S&&!h&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(i);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,b)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,b),s?.onAfterResponse?.(w,b),C(l,{loading:false,response:w});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let g=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,c==="append"&&V(d.__rawData)&&V(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let q=[...d?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let q={...d.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,b)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,b),g.status||s?.onError?.(g,b),s?.onAfterResponse?.(g,b),C(l,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,h,B,k,M,Z,ee,d]);le.useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,b=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,F]);le.useEffect(()=>{if(!R||s?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,s?.hold]);let m=le.useCallback(()=>{K.current?.abort(),K.current=null,C(l,{loading:false,isCancel:true});},[l,K]),O=le.useCallback(()=>{C(l,{loading:false,response:null});},[l]),f=le.useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>At(t,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,t]);return le.useEffect(()=>(He(l,f),()=>{Fe(l);}),[f,l]),[d?.data,f]}async function yn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var St=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(St||{}),wt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(wt||{});var Dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?vt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ot(t,n):r==="string"?Pt(t,n):t?.toString()}catch{return}}};function Ot(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function Pt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(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 qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let h=String(e??"").trim().trim();if(de(h,r))return h}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let u=Math.pow(10,n);i=Math[o](i*u)/u;}else i=Math[o](i);else if(typeof n=="number"){let u=Math.pow(10,n);i=Math.trunc(i*u)/u;}let s=0;if(n==="auto"){let u=i.toString(),h=u.indexOf(".");h!==-1&&(s=u.length-h-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function vt(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function An(e,{interval:t,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=e;},[e]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function On(e,t,r){let[n,o]=le.useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(u,h)&&(t==="ctrl"&&d||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let x=t.every(N=>N==="ctrl"?d:N==="alt"?C:N==="shift"?P:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:u})=>{a(c,u)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Mn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Nt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=P(f,w);}catch{try{f=P(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:l,q=s?s(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?t:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${e}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=P(G,fe);}catch{try{p=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
2
2
 
3
3
  `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(e,t){let[r,n]=le.useState(false),[o,a]=le.useState(),[i,s]=le.useState(0),l=le.useRef(null);return le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let C=new AbortController;l.current=C,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let P={...t,signal:C.signal,onUploadProgress:N=>{let F=Math.round(N.loaded*100/(N.total||1));s(F);}},x=e.__isVoid?await e(void 0,P):await e(d,void 0,P);t?.logging&&console.log("After response",x),a(x),n(false),s(0),t?.afterResponse&&x?.data&&(x.data=t?.afterResponse(x.data,d)),x.status&&t?.onSuccess&&t?.onSuccess(x,d),!x.status&&t?.onError&&t?.onError(x,d),t?.onAfterResponse?.(x,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Lt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Ht=typeof window<"u"?window:null;function Bn(e={}){let{getTrigger:t=Lt,target:r=Ht,disableHysteresis:n=false,threshold:o=100}=e,a=le__default.default.useRef(0),[i,s]=le__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),i}function Vn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=le.useState(e);return le.useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Gn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ke(n)||{},c=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=o?ne(shallow.useShallow(c)):ne(c),C=le.useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:i,clear:s,clone:l}],[d,u,h,a,i,s,l]);return t?.selector?t.selector(C):C};var eo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},je=(e,t)=>{let r=false;return le__default.default.Children.forEach(e,n=>{if(le__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&je(o.props.children,t))&&(r=true);}}),r},to=(e,t)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,a=>{if(le__default.default.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;t.includes(i)?r[i]=a:l&&je(l,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function so(){let{format:e}=W();return (t="",r=false)=>ve(t,r,e.number.decSep)}function lo(e,t){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function fo(e,t){let[r,n]=le.useState(false),[o,a]=le.useState(),[i,s]=le.useState();return le.useEffect(()=>{if(!e)return;if(Ae[e]){s(()=>Ae[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=c.default,s(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function go(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(l=>l());}function i(s){let l=le.useRef(s?s(t):t);return le.useSyncExternalStore(o,()=>{let c=s?s(t):t,u=l.current;return Object.is(u,c)||(l.current=c),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Ie(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ie(n,o);});}function ho(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let a=n(...o);return Ie(a,r),a};}return t}function Do(e,t){let[r,n]=le.useState(false),[o,a]=le.useState([]),i=le.useRef([]),s=le.useRef(null);le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async h=>{s.current?.abort();let d=new AbortController;s.current=d,n(true),a([]),i.current=[],e(h,C=>{C.isDone||(i.current.push(C),a([...i.current])),(C.isDone||!C.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),C.status?t?.onStream&&t?.onStream(C):t?.onError&&t?.onError(C);},{signal:d.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},u=()=>{n(false),a([]),i.current=[];};return [o.map(h=>h.data),l,{loading:r,abort:c,reset:u,response:o}]}function So(e,t){let{key:r}=t,[n,o]=le.useState();return le.useEffect(()=>{let a=tr.liveQuery(()=>e(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function qo(e,t){let{key:r}=t,[n,o]=le.useState(false);return le.useEffect(()=>{let a=tr.liveQuery(async()=>!!await e(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:e,version:t=1,table:r}){return ce||(ce=new tr__default.default(e),t=Object.keys(pe).length+1,ce.version(t).stores(pe)),r}function No({name:e,primaryKey:t}){pe[e]||(pe[e]=t);let r=()=>{let c=ce.table(e);if(!c)throw new Error(`Table ${e} is not registered in Dexie`);return c};return {table:r,create:async l=>await r().add(l),update:async(l,c)=>await r().update(l,c),put:async(l,c)=>await r().put({...c,[t]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var jo=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=Nt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:P)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=t(f,w);}catch{try{f=t(f,r);}catch{}}}let T={...i({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,q=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||l;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=e(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?o:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=e(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=t(G,fe);}catch{try{p=t(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&c&&!Q&&c(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
4
4
 
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import Ze from'dayjs/plugin/utc';import et from'dayjs/plugin/timezone';import tt from'dayjs/plugin/duration';import rt from'dayjs/plugin/advancedFormat';import nt from'dayjs/plugin/localizedFormat';import ot from'dayjs/plugin/relativeTime';import st from'dayjs/plugin/isSameOrBefore';import at from'dayjs/plugin/isSameOrAfter';import it from'dayjs/plugin/weekOfYear';import lt from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ee from'crypto-js/aes';import Ne from'crypto-js/pbkdf2';import ht from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import ke from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Nt from'axios';import tr,{liveQuery}from'dexie';I.extend(Ze);I.extend(et);I.extend(tt);I.extend(rt);I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(lt);var H=I;function xr(){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 Cr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Ar=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Sr(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 V(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 we={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,o)=>o.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=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Or={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Pr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function qr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ct(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((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(e,t){return ct([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function de(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 pt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&de(n,r))return true}return false}function ve(e="",t=false,r="."){if(!pt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ut=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 Ur(e){let t={};for(let r in e)ut.has(r)&&(t[r]=e[r]);return t}function kr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Er(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(H).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Nr(e,t){let r=H(e),n=H(t),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${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 Mr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=H(e,"HH:mm",true),n=H(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var $r=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let u=typeof t=="function"?t(l,c):l,h=typeof r=="function"?r(l,c):l;return {label:u,value:h,index:c,rowData:l}}else {let u=typeof t=="function"?t(l,c):E(l,t,""),h=typeof r=="function"?r(l,c):E(l,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,u=i.map(d=>String(typeof c=="object"?E(c,d,"")??"":"")).join(o),h=s.get(u)||[];h.push(l),s.set(u,h);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function ft(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ft(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var Ue=createContext(void 0);function W(){let e=useContext(Ue);return e||{}}var gt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},i);}})();},[t.localeConfig]),jsx(Ue.Provider,{value:r,children:e})};function me(e,t){let r=ke.random(16),n=ke.random(16),o=Ne(t,r,{keySize:256/32,iterations:1e3}),a=Ee.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function ye(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne(t,ie.parse(r),{keySize:256/32,iterations:1e3}),s=Ee.decrypt(o,a,{iv:ie.parse(n)}).toString(ht);return JSON.parse(s)}function Me(e,t){return JSON.stringify(me(e,t))}function $e(e,t){return ye(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return me(t,r||e)},decrypt(t,r){return ye(t,r||e)},encryptString(t,r){return Me(t,r||e)},decryptString(t,r){return $e(t,r||e)}}}var Le=()=>{let{encrypt:e,decrypt:t}=X(),r=useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,l]=useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=u=>{if(u.key===i)if(u.newValue)try{l(t(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function xt(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??re,a={...o,...n};xt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Fe=e=>{Re.delete(e);},Ke=e=>Re.get(e);function At(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[u,h,d,C]=ne(useShallow(S=>{let b=S.states[l]??re;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:F}=W(),z=Le(),U=useRef(void 0),K=useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=useMemo(()=>{let S=P?z.get(P):void 0,b=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...i,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,i,P,x,a]);useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),b=JSON.stringify(V(i)?i:""),T=U.current===void 0;(S!==b||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,f);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,B,k,l,K]);let A=useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),ee&&!S&&!h){s?.onBeforeRequest&&s?.onBeforeRequest(i);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,b)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,b),s?.onAfterResponse?.(w,b),C(l,{loading:false,response:w});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let g=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,c==="append"&&V(d.__rawData)&&V(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let q=[...d?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let q={...d.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,b)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,b),g.status||s?.onError?.(g,b),s?.onAfterResponse?.(g,b),C(l,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,h,B,k,M,Z,ee,d]);useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,b=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!R||s?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,s?.hold]);let m=useCallback(()=>{K.current?.abort(),K.current=null,C(l,{loading:false,isCancel:true});},[l,K]),O=useCallback(()=>{C(l,{loading:false,response:null});},[l]),f=useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>At(t,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,t]);return useEffect(()=>(He(l,f),()=>{Fe(l);}),[f,l]),[d?.data,f]}async function yn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var St=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(St||{}),wt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(wt||{});var Dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?vt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ot(t,n):r==="string"?Pt(t,n):t?.toString()}catch{return}}};function Ot(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function Pt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(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 qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let h=String(e??"").trim().trim();if(de(h,r))return h}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let u=Math.pow(10,n);i=Math[o](i*u)/u;}else i=Math[o](i);else if(typeof n=="number"){let u=Math.pow(10,n);i=Math.trunc(i*u)/u;}let s=0;if(n==="auto"){let u=i.toString(),h=u.indexOf(".");h!==-1&&(s=u.length-h-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function vt(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function An(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function On(e,t,r){let[n,o]=useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(u,h)&&(t==="ctrl"&&d||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let x=t.every(N=>N==="ctrl"?d:N==="alt"?C:N==="shift"?P:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:u})=>{a(c,u)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Mn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Nt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=P(f,w);}catch{try{f=P(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:l,q=s?s(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?t:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${e}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=P(G,fe);}catch{try{p=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
1
+ import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import Ze from'dayjs/plugin/utc';import et from'dayjs/plugin/timezone';import tt from'dayjs/plugin/duration';import rt from'dayjs/plugin/advancedFormat';import nt from'dayjs/plugin/localizedFormat';import ot from'dayjs/plugin/relativeTime';import st from'dayjs/plugin/isSameOrBefore';import at from'dayjs/plugin/isSameOrAfter';import it from'dayjs/plugin/weekOfYear';import lt from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ee from'crypto-js/aes';import Ne from'crypto-js/pbkdf2';import ht from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import ke from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Nt from'axios';import tr,{liveQuery}from'dexie';I.extend(Ze);I.extend(et);I.extend(tt);I.extend(rt);I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(lt);var H=I;function xr(){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 Cr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Ar=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Sr(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 V(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 we={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,o)=>o.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=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Or={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Pr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function qr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ct(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((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(e,t){return ct([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function de(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 pt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&de(n,r))return true}return false}function ve(e="",t=false,r="."){if(!pt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ut=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 Ur(e){let t={};for(let r in e)ut.has(r)&&(t[r]=e[r]);return t}function kr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Er(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(H).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Nr(e,t){let r=H(e),n=H(t),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${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 Mr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=H(e,"HH:mm",true),n=H(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var $r=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let u=typeof t=="function"?t(l,c):l,h=typeof r=="function"?r(l,c):l;return {label:u,value:h,index:c,rowData:l}}else {let u=typeof t=="function"?t(l,c):E(l,t,""),h=typeof r=="function"?r(l,c):E(l,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,u=i.map(d=>String(typeof c=="object"?E(c,d,"")??"":"")).join(o),h=s.get(u)||[];h.push(l),s.set(u,h);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function ft(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ft(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var Ue=createContext(void 0);function W(){let e=useContext(Ue);return e||{}}var gt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},i);}})();},[t.localeConfig]),jsx(Ue.Provider,{value:r,children:e})};function me(e,t){let r=ke.random(16),n=ke.random(16),o=Ne(t,r,{keySize:256/32,iterations:1e3}),a=Ee.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function ye(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne(t,ie.parse(r),{keySize:256/32,iterations:1e3}),s=Ee.decrypt(o,a,{iv:ie.parse(n)}).toString(ht);return JSON.parse(s)}function Me(e,t){return JSON.stringify(me(e,t))}function $e(e,t){return ye(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return me(t,r||e)},decrypt(t,r){return ye(t,r||e)},encryptString(t,r){return Me(t,r||e)},decryptString(t,r){return $e(t,r||e)}}}var Le=()=>{let{encrypt:e,decrypt:t}=X(),r=useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,l]=useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=u=>{if(u.key===i)if(u.newValue)try{l(t(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function xt(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??re,a={...o,...n};xt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Fe=e=>{Re.delete(e);},Ke=e=>Re.get(e);function At(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[u,h,d,C]=ne(useShallow(S=>{let b=S.states[l]??re;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:F}=W(),z=Le(),U=useRef(void 0),K=useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=useMemo(()=>{let S=P?z.get(P):void 0,b=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...i,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,i,P,x,a]);useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),b=JSON.stringify(V(i)?i:""),T=U.current===void 0;(S!==b||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,f);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,B,k,l,K]);let A=useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),ee&&!S&&!h&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(i);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,b)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,b),s?.onAfterResponse?.(w,b),C(l,{loading:false,response:w});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let g=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,c==="append"&&V(d.__rawData)&&V(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let q=[...d?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let q={...d.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,b)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,b),g.status||s?.onError?.(g,b),s?.onAfterResponse?.(g,b),C(l,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,h,B,k,M,Z,ee,d]);useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,b=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!R||s?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,s?.hold]);let m=useCallback(()=>{K.current?.abort(),K.current=null,C(l,{loading:false,isCancel:true});},[l,K]),O=useCallback(()=>{C(l,{loading:false,response:null});},[l]),f=useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>At(t,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,t]);return useEffect(()=>(He(l,f),()=>{Fe(l);}),[f,l]),[d?.data,f]}async function yn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var St=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(St||{}),wt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(wt||{});var Dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?vt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ot(t,n):r==="string"?Pt(t,n):t?.toString()}catch{return}}};function Ot(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function Pt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(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 qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let h=String(e??"").trim().trim();if(de(h,r))return h}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let u=Math.pow(10,n);i=Math[o](i*u)/u;}else i=Math[o](i);else if(typeof n=="number"){let u=Math.pow(10,n);i=Math.trunc(i*u)/u;}let s=0;if(n==="auto"){let u=i.toString(),h=u.indexOf(".");h!==-1&&(s=u.length-h-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function vt(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function An(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function On(e,t,r){let[n,o]=useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(u,h)&&(t==="ctrl"&&d||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let x=t.every(N=>N==="ctrl"?d:N==="alt"?C:N==="shift"?P:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:u})=>{a(c,u)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Mn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Nt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=P(f,w);}catch{try{f=P(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:l,q=s?s(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?t:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${e}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=P(G,fe);}catch{try{p=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
2
2
 
3
3
  `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),l=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let C=new AbortController;l.current=C,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let P={...t,signal:C.signal,onUploadProgress:N=>{let F=Math.round(N.loaded*100/(N.total||1));s(F);}},x=e.__isVoid?await e(void 0,P):await e(d,void 0,P);t?.logging&&console.log("After response",x),a(x),n(false),s(0),t?.afterResponse&&x?.data&&(x.data=t?.afterResponse(x.data,d)),x.status&&t?.onSuccess&&t?.onSuccess(x,d),!x.status&&t?.onError&&t?.onError(x,d),t?.onAfterResponse?.(x,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Lt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Ht=typeof window<"u"?window:null;function Bn(e={}){let{getTrigger:t=Lt,target:r=Ht,disableHysteresis:n=false,threshold:o=100}=e,a=le.useRef(0),[i,s]=le.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),i}function Vn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=useState(e);return useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Gn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ke(n)||{},c=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=o?ne(useShallow(c)):ne(c),C=useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:i,clear:s,clone:l}],[d,u,h,a,i,s,l]);return t?.selector?t.selector(C):C};var eo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},je=(e,t)=>{let r=false;return le.Children.forEach(e,n=>{if(le.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&je(o.props.children,t))&&(r=true);}}),r},to=(e,t)=>{let r={others:[]},n=o=>{le.Children.forEach(o,a=>{if(le.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;t.includes(i)?r[i]=a:l&&je(l,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function so(){let{format:e}=W();return (t="",r=false)=>ve(t,r,e.number.decSep)}function lo(e,t){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function fo(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!e)return;if(Ae[e]){s(()=>Ae[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=c.default,s(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function go(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(l=>l());}function i(s){let l=useRef(s?s(t):t);return useSyncExternalStore(o,()=>{let c=s?s(t):t,u=l.current;return Object.is(u,c)||(l.current=c),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Ie(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ie(n,o);});}function ho(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let a=n(...o);return Ie(a,r),a};}return t}function Do(e,t){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async h=>{s.current?.abort();let d=new AbortController;s.current=d,n(true),a([]),i.current=[],e(h,C=>{C.isDone||(i.current.push(C),a([...i.current])),(C.isDone||!C.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),C.status?t?.onStream&&t?.onStream(C):t?.onError&&t?.onError(C);},{signal:d.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},u=()=>{n(false),a([]),i.current=[];};return [o.map(h=>h.data),l,{loading:r,abort:c,reset:u,response:o}]}function So(e,t){let{key:r}=t,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>e(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function qo(e,t){let{key:r}=t,[n,o]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await e(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:e,version:t=1,table:r}){return ce||(ce=new tr(e),t=Object.keys(pe).length+1,ce.version(t).stores(pe)),r}function No({name:e,primaryKey:t}){pe[e]||(pe[e]=t);let r=()=>{let c=ce.table(e);if(!c)throw new Error(`Table ${e} is not registered in Dexie`);return c};return {table:r,create:async l=>await r().add(l),update:async(l,c)=>await r().update(l,c),put:async(l,c)=>await r().put({...c,[t]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var jo=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=Nt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:P)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=t(f,w);}catch{try{f=t(f,r);}catch{}}}let T={...i({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,q=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||l;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=e(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?o:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=e(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=t(G,fe);}catch{try{p=t(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&c&&!Q&&c(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "1.0.43",
3
+ "version": "1.0.44",
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",