@bgscore/react-core 1.0.46 → 1.0.48
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 +3 -3
- package/dist/index.d.cts +12 -5
- package/dist/index.d.ts +12 -5
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';var ce=require('react'),I=require('dayjs'),et=require('dayjs/plugin/utc'),tt=require('dayjs/plugin/timezone'),rt=require('dayjs/plugin/duration'),nt=require('dayjs/plugin/advancedFormat'),ot=require('dayjs/plugin/localizedFormat'),st=require('dayjs/plugin/relativeTime'),at=require('dayjs/plugin/isSameOrBefore'),it=require('dayjs/plugin/isSameOrAfter'),lt=require('dayjs/plugin/weekOfYear'),ct=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ee=require('crypto-js/aes'),Ne=require('crypto-js/pbkdf2'),bt=require('crypto-js/enc-utf8'),le=require('crypto-js/enc-base64'),ke=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Mt=require('axios'),rr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ce__default=/*#__PURE__*/_interopDefault(ce);var I__default=/*#__PURE__*/_interopDefault(I);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 ct__default=/*#__PURE__*/_interopDefault(ct);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var bt__default=/*#__PURE__*/_interopDefault(bt);var le__default=/*#__PURE__*/_interopDefault(le);var ke__default=/*#__PURE__*/_interopDefault(ke);var Mt__default=/*#__PURE__*/_interopDefault(Mt);var rr__default=/*#__PURE__*/_interopDefault(rr);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);I__default.default.extend(ct__default.default);var H=I__default.default;function Cr(){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 Ar(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Sr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function wr(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 Or(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},Pr={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}))},qr=(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 vr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function pt(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 pt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Ur(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ie=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 ut(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(!ut(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ft=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 kr(e){let t={};for(let r in e)ft.has(r)&&(t[r]=e[r]);return t}function Er(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Nr(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 Mr(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 $r(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 Lr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,c):l,y=typeof r=="function"?r(l,c):l;return {label:p,value:y,index:c,rowData:l}}else {let p=typeof t=="function"?t(l,c):E(l,t,""),y=typeof r=="function"?r(l,c):E(l,r,"");return {label:p,value:typeof y=="boolean"?y:y||"",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,p=i.map(f=>String(typeof c=="object"?E(c,f,"")??"":"")).join(o),y=s.get(p)||[];y.push(l),s.set(p,y);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function dt(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(dt(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=ce.createContext(void 0);function W(){let e=ce.useContext(Ue);return e||{}}var Rt=({children:e,value:t})=>{let r={...t};return ce.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 ye(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(le__default.default),iv:n.toString(le__default.default),encrypted:a}}function me(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne__default.default(t,le__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ee__default.default.decrypt(o,a,{iv:le__default.default.parse(n)}).toString(bt__default.default);return JSON.parse(s)}function Me(e,t){return JSON.stringify(ye(e,t))}function $e(e,t){return me(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return ye(t,r||e)},decrypt(t,r){return me(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=ce.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=ce.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]=ce.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 ce.useEffect(()=>{let c=p=>{if(p.key===i)if(p.newValue)try{l(t(JSON.parse(p.newValue)));}catch(y){console.error("Decrypt error from storage event",y);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=ce.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function Ct(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 ne={loading:false,response:void 0,isCancel:false},oe=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,a={...o,...n};Ct(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Ke=e=>{Re.delete(e);},Fe=e=>Re.get(e);function St(...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",[p,y,f,x]=oe(shallow.useShallow(S=>{let b=S.states[l]??ne;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:C,clearPreviousData:N,refetchOnWindowFocus:K}=W(),z=Le(),U=ce.useRef(void 0),F=ce.useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:ee,persistence:ae,cacheEnabled:te}=ce.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),R=false;typeof C?.enabled=="boolean"&&(R=C.enabled);let q=false;typeof C?.persistence=="boolean"&&(q=C?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(w=C.timeout,$="s"):typeof C?.timeout=="object"&&(w=C?.timeout.value,$=C?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?R=s.cache.enabled:R=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)):R=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:R}},[s?.cache,i,P,C,a]);ce.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)&&x(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,d);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),ce.useEffect(()=>{let S=async()=>{!ae&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),F.current?.abort();}},[ae,B,k,l,F]);let A=ce.useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),te&&!S&&!y&&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),x(l,{loading:false,response:w});return}}}if(typeof t=="function"){F.current?.abort();let T=new AbortController;F.current=T,x(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let R=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(R.__rawData=R.data,c==="append"&&V(f.__rawData)&&V(R?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(R?.data)){let q=[...f?.__rawData??[],...R.data??[]];R.data=q,R.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof R.data=="object"){let q={...f.__rawData,...R.data};R.data=q,R.__rawData=q;}}if(s?.afterResponse&&R?.data&&(R.data=s?.afterResponse(R.data,b)),s?.logging&&console.log("After request",R),R.status&&s?.onSuccess?.(R,b),R.status||s?.onError?.(R,b),s?.onAfterResponse?.(R,b),x(l,{loading:false,response:R,isCancel:false}),te&&R.status){let q=H().add(M,ee).toISOString(),w={data:R,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,y,B,k,M,ee,te,f]);ce.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 g=ce.useRef(null),{enabledRefetch:h,timeoutRefetch:u,timeoutUnitRefetch:D}=ce.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??K?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??K?.timeout,T=typeof b=="number"?b:b?.value??60*5,R=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:R}},[s?.refetchOnWindowFocus,K]);ce.useEffect(()=>{if(!h||s?.hold)return;let S=H.duration(u,D).asMilliseconds(),b=()=>{let R=Date.now(),q=g.current;q!==null&&R-q>=S&&A(),g.current=null;},T=()=>{g.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[h,u,D,A,s?.hold]);let m=ce.useCallback(()=>{F.current?.abort(),F.current=null,x(l,{loading:false,isCancel:true});},[l,F]),O=ce.useCallback(()=>{x(l,{loading:false,response:null});},[l]),d=ce.useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:y,clone:(S,b)=>St(t,S,{storeName:`${a}-clone`,...b})}),[f,p,A,m,O,y,t]);return ce.useEffect(()=>(He(l,d),()=>{Ke(l);}),[d,l]),[f?.data,d]}async function gn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(wt||{}),Ot=(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))(Ot||{});var xn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?vt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?qt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function qt(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 vt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let y=String(e??"").trim().trim();if(de(y,r))return y}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);i=Math[o](i*p)/p;}else i=Math[o](i);else if(typeof n=="number"){let p=Math.pow(10,n);i=Math.trunc(i*p)/p;}let s=0;if(n==="auto"){let p=i.toString(),y=p.indexOf(".");y!==-1&&(s=p.length-y-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 Ut(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function Sn(e,{interval:t,lead:r}){let n=ce.useRef(null);ce.useEffect(()=>{n.current=e;},[e]),ce.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function Pn(e,t,r){let[n,o]=ce.useState(false),a=(c,p)=>typeof e=="string"&&c===e||typeof e=="number"&&p===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:p,keyCode:y}=c,f=c.ctrlKey,x=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(p,y)&&(t==="ctrl"&&f||t==="alt"&&x||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?f:N==="alt"?x:N==="shift"?P:false);a(p,y)&&C&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(p,y)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:p})=>{a(c,p)&&o(false);};return ce.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:p,encryptResponse:y,passphrase:f})=>{let{encrypt:x,decrypt:P,passphrase:C}=X(),N=Mt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),K=(g,h,u,D)=>{let m=D?.code==="ERR_CANCELED",O=g?.status===401,d=g?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:y)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,C);}catch{}}}let T={...n({...g,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:g?.status},R=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:l,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!R)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||a;w&&w(T);}if(typeof h=="function")h(T);else return T},z=(g,h=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:c}).then(h).catch(u=>h(u.response,u)),U=(g,h,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:f;u=x(u,T);}return z({url:h,method:g,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,R)=>K(T,D,d,R))};return {client:z,post:(g,h,u,D)=>U("POST",`${g}`,h,u,D),put:(g,h,u,D)=>U("PUT",`${g}`,h,u,D),patch:(g,h,u,D)=>U("PATCH",`${g}`,h,u,D),delete:(g,h,u)=>U("DELETE",`${g}`,null,h,u),get:(g,h,u)=>U("GET",`${g}`,null,h,u),upload:(g,h,u,D)=>{let m=new FormData;return Object.keys(h).forEach(O=>m.append(O,h[O])),U("POST",`${g}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,h,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?t:d.token;v&&(S.Authorization=`Bearer ${v}`);}let b=u;if(r&&(b=r(b)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&b){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:f;b=x(b,v);}let R=await fetch(`${e}${h}`,{method:g,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(b)}),q=R?.status,w=q===401;if(!R.ok){let v=R?.statusText||"Error";try{let _=R.headers.get("content-type")||"",L=await R.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:y)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,C);}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 $=R.body.getReader(),Y=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:v,value:Q}=await $.read();re=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
1
|
+
'use strict';var le=require('react'),I=require('dayjs'),et=require('dayjs/plugin/utc'),tt=require('dayjs/plugin/timezone'),rt=require('dayjs/plugin/duration'),nt=require('dayjs/plugin/advancedFormat'),ot=require('dayjs/plugin/localizedFormat'),st=require('dayjs/plugin/relativeTime'),at=require('dayjs/plugin/isSameOrBefore'),it=require('dayjs/plugin/isSameOrAfter'),lt=require('dayjs/plugin/weekOfYear'),ct=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'),Mt=require('axios'),rr=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 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 ct__default=/*#__PURE__*/_interopDefault(ct);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 Mt__default=/*#__PURE__*/_interopDefault(Mt);var rr__default=/*#__PURE__*/_interopDefault(rr);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);I__default.default.extend(ct__default.default);var K=I__default.default;function wr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Or(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function qr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function V(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function vr(t,e){return typeof t=="function"?t(e):t}var E=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Ur={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},kr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?E(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Er(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function pt(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(t,e){return pt([e??"undefined",t??"undefined"])}function qe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Nr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function de(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ut(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&de(n,r))return true}return false}function ve(t="",e=false,r="."){if(!ut(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ft=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 Mr(t){let e={};for(let r in t)ft.has(r)&&(e[r]=t[r]);return e}function $r(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Lr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(K).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Kr(t,e){let r=K(t),n=K(e),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 Hr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=K(t,"HH:mm",true),n=K(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var Fr=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((c,i)=>{if(typeof c!="object"){let p=typeof e=="function"?e(c,i):c,b=typeof r=="function"?r(c,i):c;return {label:p,value:b,index:i,rowData:c}}else {let p=typeof e=="function"?e(c,i):E(c,e,""),b=typeof r=="function"?r(c,i):E(c,r,"");return {label:p,value:typeof b=="boolean"?b:b||"",index:i,rowData:c}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],s=new Map;for(let c of a){let i=c.rowData,p=l.map(f=>String(typeof i=="object"?E(i,f,"")??"":"")).join(o),b=s.get(p)||[];b.push(c),s.set(p,b);}return [Array.from(s.entries()).map(([c,i])=>({group:c,items:i})),a]};function dt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof o=="object"&&o!==null?r.push(dt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var Ue=le.createContext(void 0);function W(){let t=le.useContext(Ue);return t||{}}var Rt=({children:t,value:e})=>{let r={...e};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:l}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&K.locale(o,a??{},l);}})();},[e.localeConfig]),jsxRuntime.jsx(Ue.Provider,{value:r,children:t})};function me(t,e){let r=ke__default.default.random(16),n=ke__default.default.random(16),o=Ne__default.default(e,r,{keySize:256/32,iterations:1e3}),a=Ee__default.default.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function ye(t,e){let{salt:r,iv:n,encrypted:o}=t,a=Ne__default.default(e,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(t,e){return JSON.stringify(me(t,e))}function $e(t,e){return ye(JSON.parse(t),e)}function X(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,r){return me(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return Me(e,r||t)},decryptString(e,r){return $e(e,r||t)}}}var Le=()=>{let{encrypt:t,decrypt:e}=X(),r=le.useCallback((l,s)=>{try{let c=t(s);localStorage.setItem(l,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[t]),n=le.useCallback(l=>{try{let s=localStorage.getItem(l);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=l=>{let[s,c]=le.useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return le.useEffect(()=>{let i=p=>{if(p.key===l)if(p.newValue)try{c(e(JSON.parse(p.newValue)));}catch(b){console.error("Decrypt error from storage event",b);}else c(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),s},a=le.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function Ct(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(o);if(a!==l)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??re,a={...o,...n};Ct(o,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var Re=new Map,Ke=(t,e)=>{Re.set(t,e);},He=t=>{Re.delete(t);},Fe=t=>Re.get(t);function St(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,l=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,i=s?.mergeStrategy??"replace",[p,b,f,C]=ne(shallow.useShallow(S=>{let h=S.states[c]??re;return [h.loading,h.isCancel,h.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:H}=W(),z=Le(),U=le.useRef(void 0),F=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,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...l,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:h,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,l,P,x,a]);le.useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),h=JSON.stringify(V(l)?l:""),T=U.current===void 0;(S!==h||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(c,{response:null}),A(),U.current=l),s?.onChange&&s?.onChange(l,d);},[l,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),F.current?.abort();}},[se,B,k,c,F]);let A=le.useCallback(async S=>{let h=l;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(l)),ee&&!S&&!b&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(l);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(K().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,h)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,h),s?.onAfterResponse?.(w,h),C(c,{loading:false,response:w});return}}}if(typeof e=="function"){F.current?.abort();let T=new AbortController;F.current=T,C(c,{loading:true}),s?.logging&&console.log("Before request",l),s?.onBeforeRequest&&s?.onBeforeRequest(l);let g=o?await e(void 0,{...s,signal:T.signal}):await e(h,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,i==="append"&&V(f.__rawData)&&V(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let q=[...f?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let q={...f.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,h)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,h),g.status||s?.onError?.(g,h),s?.onAfterResponse?.(g,h),C(c,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=K().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[l,e,s,b,B,k,M,Z,ee,f]);le.useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},K.duration(S,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:u,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??H?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??H?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,H]);le.useEffect(()=>{if(!R||s?.hold)return;let S=K.duration(u,D).asMilliseconds(),h=()=>{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",h),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",T);}},[R,u,D,A,s?.hold]);let m=le.useCallback(()=>{F.current?.abort(),F.current=null,C(c,{loading:false,isCancel:true});},[c,F]),O=le.useCallback(()=>{C(c,{loading:false,response:null});},[c]),d=le.useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:b,clone:(S,h)=>St(e,S,{storeName:`${a}-clone`,...h})}),[f,p,A,m,O,b,e]);return le.useEffect(()=>(Ke(c,d),()=>{He(c);}),[d,c]),[f?.data,d]}async function hn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var wt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(wt||{}),Ot=(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))(Ot||{});var Sn=()=>{let{format:t}=W();return (e,r,n)=>{try{return r==="number"?vt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ut(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?Pt(e,n):r==="string"?qt(e,n):e?.toString()}catch{return}}};function Pt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function qt(t,e){if(!V(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function vt(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let b=String(t??"").trim().trim();if(de(b,r))return b}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let p=Math.pow(10,n);l=Math[o](l*p)/p;}else l=Math[o](l);else if(typeof n=="number"){let p=Math.pow(10,n);l=Math.trunc(l*p)/p;}let s=0;if(n==="auto"){let p=l.toString(),b=p.indexOf(".");b!==-1&&(s=p.length-b-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function Ut(t,{display:e,value:r}){if(!V(t))return t;let n=K(t,r);return n.isValid()?n.format(e):t}function Pn(t,{interval:e,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=t;},[t]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function Un(t,e,r){let[n,o]=le.useState(false),a=(i,p)=>typeof t=="string"&&i===t||typeof t=="number"&&p===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),s=i=>{let{key:p,keyCode:b}=i,f=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(p,b)&&(e==="ctrl"&&f||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let x=e.every(N=>N==="ctrl"?f:N==="alt"?C:N==="shift"?P:false);a(p,b)&&x&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else a(p,b)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},c=({key:i,keyCode:p})=>{a(i,p)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var Hn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:l,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:i,encryptRequest:p,encryptResponse:b,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Mt__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),H=(y,R,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:b)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,x);}catch{}}}let T={...n({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:c,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.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:i}).then(R).catch(u=>R(u.response,u)),U=(y,R,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;u=C(u,T);}return z({url:R,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:z,post:(y,R,u,D)=>U("POST",`${y}`,R,u,D),put:(y,R,u,D)=>U("PUT",`${y}`,R,u,D),patch:(y,R,u,D)=>U("PATCH",`${y}`,R,u,D),delete:(y,R,u)=>U("DELETE",`${y}`,null,R,u),get:(y,R,u)=>U("GET",`${y}`,null,R,u),upload:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?e:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,v);}let g=await fetch(`${t}${R}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),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:b)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:c,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&l&&!Q&&l(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
|
-
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ie(_);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 d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,h,u,D)=>{let m=new FormData;return Object.keys(h).forEach(O=>m.append(O,h[O])),U("POST",`${g}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Kn(e,t){let[r,n]=ce.useState(false),[o,a]=ce.useState(),[i,s]=ce.useState(0),l=ce.useRef(null);return ce.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async f=>{l.current?.abort();let x=new AbortController;l.current=x,n(true),t?.beforeRequest&&(f=t?.beforeRequest(f)),t?.logging&&console.log("Before request",f),t?.onBeforeRequest&&t?.onBeforeRequest(f);let P={...t,signal:x.signal,onUploadProgress:N=>{let K=Math.round(N.loaded*100/(N.total||1));s(K);}},C=e.__isVoid?await e(void 0,P):await e(f,void 0,P);t?.logging&&console.log("After response",C),a(C),n(false),s(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,f)),C.status&&t?.onSuccess&&t?.onSuccess(C,f),!C.status&&t?.onError&&t?.onError(C,f),t?.onAfterResponse?.(C,f);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Ht(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 Kt=typeof window<"u"?window:null;function jn(e={}){let{getTrigger:t=Ht,target:r=Kt,disableHysteresis:n=false,threshold:o=100}=e,a=ce__default.default.useRef(0),[i,s]=ce__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return ce__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 zn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=ce.useState(e);return ce.useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Xn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Fe(n)||{},c=P=>{let C=P.states[n]??ne;return {loading:C.loading,isCancel:C.isCancel,response:C.response}},{loading:p,isCancel:y,response:f}=o?oe(shallow.useShallow(c)):oe(c),x=ce.useMemo(()=>[f?.data,{...f,loading:p,isCancel:y,refresh:a,abort:i,clear:s,clone:l}],[f,p,y,a,i,s,l]);return t?.selector?t.selector(x):x};var to=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},je=(e,t)=>{let r=false;return ce__default.default.Children.forEach(e,n=>{if(ce__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},ro=(e,t)=>{let r={others:[]},n=o=>{ce__default.default.Children.forEach(o,a=>{if(ce__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 ao(){let{format:e}=W();return (t="",r=false)=>ve(t,r,e.number.decSep)}function co(e,t){let r=ce.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return ce.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 yo(e,t){let[r,n]=ce.useState(false),[o,a]=ce.useState(),[i,s]=ce.useState();return ce.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 Ro(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=ce.useRef(s?s(t):t);return ce.useSyncExternalStore(o,()=>{let c=s?s(t):t,p=l.current;return Object.is(p,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 bo(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 xo(e,t){let[r,n]=ce.useState(false),[o,a]=ce.useState([]),i=ce.useRef([]),s=ce.useRef(null);ce.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async y=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),i.current=[],e(y,x=>{x.isDone||(i.current.push(x),a([...i.current])),(x.isDone||!x.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),x.status?t?.onStream&&t?.onStream(x):t?.onError&&t?.onError(x);},{signal:f.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),i.current=[];};return [o.map(y=>y.data),l,{loading:r,abort:c,reset:p,response:o}]}function wo(e,t){let{key:r}=t,[n,o]=ce.useState();return ce.useEffect(()=>{let a=rr.liveQuery(()=>e(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function vo(e,t){let{key:r}=t,[n,o]=ce.useState(false);return ce.useEffect(()=>{let a=rr.liveQuery(async()=>!!await e(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}function _e(e){let t=[...e],r=a=>a==null?"":String(a),n=(a,i)=>{if(Array.isArray(i.and))return i.and.every(s=>n(a,s));if(Array.isArray(i.or))return i.or.some(s=>n(a,s));for(let[s,l]of Object.entries(i)){if(s==="and"||s==="or")continue;let{opt:c="eq",value:p,required:y=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!y&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(c){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(t=t.filter(i=>n(i,a))),o},sort(a){let i=Object.entries(a);return t.sort((s,l)=>{for(let[c,p]of i){let y=E(s,c),f=E(l,c);if(y!==f)return p==="asc"?y>f?1:-1:y<f?1:-1}return 0}),o},distinct(a){let i=Array.isArray(a)?a:a?[a]:[],s=new Set;return t=t.filter(l=>{let c=i.length?i.map(p=>E(l,p)).join("|"):JSON.stringify(l);return s.has(c)?false:(s.add(c),true)}),o},select(a){return t=t.map(i=>{let s={};for(let l of a)s[l]=E(i,l);return s}),o},paginate(a,i){let s=(a-1)*i,l=s+i;return {data:t.slice(s,l),total:t.length,page:a,pageSize:i,totalPages:Math.ceil(t.length/i)}},groupBy(a){let i={};for(let s of t){let l=E(s,a),c=String(l??"undefined");i[c]||(i[c]=[]),i[c].push(s);}return i},map(a){return t=t.map(a),o},reduce(a,i){return t.reduce(a,i)},limit(a){return t=t.slice(0,a),o},get(){return t}};return o}var pe={},Z={};function Ho({dbName:e,version:t=1,table:r}){return pe[e]||(pe[e]=new rr__default.default(e),t=Object.keys(Z[e]).length+1,pe[e].version(t).stores(Z[e])),r}function Ko({name:e,primaryKey:t,dbName:r}){Z[r]||(Z[r]={}),Z[r][e]||(Z[r][e]=t);let n=()=>{let y=pe[r].table(e);if(!y)throw new Error(`Table ${e} is not registered in Dexie`);return y};return {table:n,create:async p=>await n().add(p),update:async(p,y)=>await n().update(p,y),put:async(p,y)=>await n().put({...y,[t]:p}),detail:async p=>await n().get(p),remove:async p=>await n().delete(p),list:async p=>{let y=n().toCollection();typeof p?.offset=="number"&&(y=y.offset(p.offset)),typeof p?.limit=="number"&&(y=y.limit(p.limit));let f=await y.toArray(),x=_e(f);return p?.where&&(x=x.where(p.where)),p?.orderBy&&(x=x.sort(p.orderBy)),x.get()}}}var Wo=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:c,handleAuthorization:p,disabledToastWhenCancel:y,withCredentials:f,encryptRequest:x,encryptResponse:P,passphrase:C})=>{let N=Mt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),K=(g,h,u,D)=>{let m=D?.code==="ERR_CANCELED",O=g?.status===401,d=g?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:C;try{d=t(d,w);}catch{try{d=t(d,r);}catch{}}}let T={...i({...g,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:g?.status},R=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:y,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&c&&(!m||!R)&&c(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||l;w&&w(T);}if(typeof h=="function")h(T);else return T},z=(g,h=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:f}).then(h).catch(u=>h(u.response,u)),U=(g,h,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:x)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:C;u=e(u,T);}return z({url:h,method:g,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,R)=>K(T,D,d,R))};return {client:z,post:(g,h,u,D)=>U("POST",`${g}`,h,u,D),put:(g,h,u,D)=>U("PUT",`${g}`,h,u,D),patch:(g,h,u,D)=>U("PATCH",`${g}`,h,u,D),delete:(g,h,u)=>U("DELETE",`${g}`,null,h,u),get:(g,h,u)=>U("GET",`${g}`,null,h,u),upload:(g,h,u,D)=>{let m=new FormData;return Object.keys(h).forEach(O=>m.append(O,h[O])),U("POST",`${g}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,h,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let b=u;if(a&&(b=a(b)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:x)&&b){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:C;b=e(b,v);}let R=await fetch(`${n}${h}`,{method:g,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(b)}),q=R?.status,w=q===401;if(!R.ok){let v=R?.statusText||"Error";try{let _=R.headers.get("content-type")||"",L=await R.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:C;try{u=t(G,fe);}catch{try{u=t(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:y,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 $=R.body.getReader(),Y=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:v,value:Q}=await $.read();re=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
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 d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function jn(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[l,s]=le.useState(0),c=le.useRef(null);return le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async f=>{c.current?.abort();let C=new AbortController;c.current=C,n(true),e?.beforeRequest&&(f=e?.beforeRequest(f)),e?.logging&&console.log("Before request",f),e?.onBeforeRequest&&e?.onBeforeRequest(f);let P={...e,signal:C.signal,onUploadProgress:N=>{let H=Math.round(N.loaded*100/(N.total||1));s(H);}},x=t.__isVoid?await t(void 0,P):await t(f,void 0,P);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,f)),x.status&&e?.onSuccess&&e?.onSuccess(x,f),!x.status&&e?.onError&&e?.onError(x,f),e?.onAfterResponse?.(x,f);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:l,reset:()=>{n(false),s(0),a(null);}}]}function Kt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Ht=typeof window<"u"?window:null;function zn(t={}){let{getTrigger:e=Kt,target:r=Ht,disableHysteresis:n=false,threshold:o=100}=t,a=le__default.default.useRef(0),[l,s]=le__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let c=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,e,n,o]),l}function Yn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=le.useState(t);return le.useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),o}var to=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:l,clear:s,clone:c}=Fe(n)||{},i=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:p,isCancel:b,response:f}=o?ne(shallow.useShallow(i)):ne(i),C=le.useMemo(()=>[f?.data,{...f,loading:p,isCancel:b,refresh:a,abort:l,clear:s,clone:c}],[f,p,b,a,l,s,c]);return e?.selector?e.selector(C):C};var oo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},je=(t,e)=>{let r=false;return le__default.default.Children.forEach(t,n=>{if(le__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&je(o.props.children,e))&&(r=true);}}),r},so=(t,e)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,a=>{if(le__default.default.isValidElement(a)){let l=a.type.displayName,s=a,c=s.props?.children;e.includes(l)?r[l]=a:c&&je(c,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function co(){let{format:t}=W();return (e="",r=false)=>ve(e,r,t.number.decSep)}function fo(t,e){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ae={};function Ro(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[l,s]=le.useState();return le.useEffect(()=>{if(!t)return;if(Ae[t]){s(()=>Ae[t]);return}n(true),(async()=>{try{let i=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ae[t]=i.default,s(()=>i.default);}catch(i){a(i),console.error(i);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:l}}function To(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(c=>c());}function l(s){let c=le.useRef(s?s(e):e);return le.useSyncExternalStore(o,()=>{let i=s?s(e):e,p=c.current;return Object.is(p,i)||(c.current=i),c.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:l}}function Ie(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${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 xo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Ie(a,r),a};}return e}function So(t,e){let[r,n]=le.useState(false),[o,a]=le.useState([]),l=le.useRef([]),s=le.useRef(null);le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async b=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),l.current=[],t(b,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:f.signal});},i=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),l.current=[];};return [o.map(b=>b.data),c,{loading:r,abort:i,reset:p,response:o}]}function qo(t,e){let{key:r}=e,[n,o]=le.useState();return le.useEffect(()=>{let a=rr.liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Eo(t,e){let{key:r}=e,[n,o]=le.useState(false);return le.useEffect(()=>{let a=rr.liveQuery(async()=>!!await t(r)).subscribe(l=>{o(s=>s!==l?l:s);});return ()=>a.unsubscribe()},[r]),n}function _e(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(s=>n(a,s));if(Array.isArray(l.or))return l.or.some(s=>n(a,s));for(let[s,c]of Object.entries(l)){if(s==="and"||s==="or")continue;let{opt:i="eq",value:p,required:b=true}=typeof c=="object"&&c!==null&&"value"in c?c:{value:c};if(!b&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(i){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(l=>n(l,a))),o},sort(a){let l=Object.entries(a);return e.sort((s,c)=>{for(let[i,p]of l){let b=E(s,i),f=E(c,i);if(b!==f)return p==="asc"?b>f?1:-1:b<f?1:-1}return 0}),o},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(c=>{let i=l.length?l.map(p=>E(c,p)).join("|"):JSON.stringify(c);return s.has(i)?false:(s.add(i),true)}),o},select(a){return e=e.map(l=>{let s={};for(let c of a)s[c]=E(l,c);return s}),o},paginate(a,l){let s=(a-1)*l,c=s+l;return {data:e.slice(s,c),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let s of e){let c=E(s,a),i=String(c??"undefined");l[i]||(l[i]=[]),l[i].push(s);}return l},map(a){return e=e.map(a),o},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}var ce,pe={};function Bo({dbName:t,version:e=1,table:r}){return ce||(ce=new rr__default.default(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function jo({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async i=>await r().add(i),update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let b=await p.toArray(),f=_e(b);return i?.where&&(f=f.where(i.where)),i?.orderBy&&(f=f.sort(i.orderBy)),f.get()}}}var Qo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:l,headers:s,onUnauthorized:c,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:b,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=Mt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),H=(y,R,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;try{d=e(d,w);}catch{try{d=e(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:b,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||c;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(R).catch(u=>R(u.response,u)),U=(y,R,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;u=t(u,T);}return z({url:R,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:z,post:(y,R,u,D)=>U("POST",`${y}`,R,u,D),put:(y,R,u,D)=>U("PUT",`${y}`,R,u,D),patch:(y,R,u,D)=>U("PATCH",`${y}`,R,u,D),delete:(y,R,u)=>U("DELETE",`${y}`,null,R,u),get:(y,R,u)=>U("GET",`${y}`,null,R,u),upload:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=t(h,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),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)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{u=e(G,fe);}catch{try{u=e(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:b,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(`
|
|
4
4
|
|
|
5
|
-
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=
|
|
5
|
+
`);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 d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function We(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${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"&&We(n,o);});}function Ye(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return We(o,r),o};if(!t||typeof t!="object")return t;let n={};for(let o in t){let a=r?`${r}.${o}`:o;n[o]=Ye(t[o],e,a);}return n}function Xo(t,e){return Ye(t,e)}function es({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.map((l,s)=>jsxRuntime.jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},s))})}function ss(t,e,r,n){let o=le.useRef(void 0),a=le.useRef({x:0,y:0,width:0,visible:true}),l=le.useRef(r),s=le.useRef(true);le.useEffect(()=>{let c=t.current;if(!c)return;let i=new IntersectionObserver(([p])=>{s.current=p.isIntersecting;},{threshold:0});return i.observe(c),()=>{i.disconnect(),s.current=false;}},[t,e]),le.useEffect(()=>{l.current=r;},[r]),le.useLayoutEffect(()=>{if(n)return;let c=t.current,i=e.current;if(!c||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,b=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},f=()=>{if(!c||!i||l.current)return;let k=c.getBoundingClientRect(),M=b(c);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,i.style.width=`${k.width}px`):i.style.display="none";},C=()=>{if(!c||!i||l.current)return;let M=i.getBoundingClientRect().height;c.style.height=`${M}px`,c.style.minHeight=`${M}px`;},P=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{f(),p=false;}));},x=()=>{requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),H=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),f();});}),z=new MutationObserver(()=>{P();});N.observe(c),H.observe(i),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,F=()=>{if(!c||!i||l.current||!s.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),c.innerHTML="",c.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{c.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},B=()=>{P();};return i.addEventListener("layout-complete",x),window.addEventListener("scroll",F,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),H.disconnect(),z.disconnect(),i.removeEventListener("layout-complete",x),window.removeEventListener("scroll",F),window.removeEventListener("resize",B);}},[n]);}function ls(t=100){let[e,r]=le.useState(false);return le.useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let a of o.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function fs(t,e=0){let[r,n]=le.useState(false),o=le.useRef(null),a=le.useRef(null),l=le.useRef(false);return le.useLayoutEffect(()=>{let s=t.current;if(!s)return;let c=()=>{l.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{l.current=true,n(true);},e));},i=()=>{let f=s.getBoundingClientRect();if(f.width===0||f.height===0)return;let C=a.current,P={w:f.width,h:f.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,c());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),b=new MutationObserver(()=>{i();});return p.observe(s),b.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),b.disconnect();}},[e]),r}function gs(t,e){let[r,n]=le.useState();return le.useEffect(()=>{let o=rr.liveQuery(()=>t(e)).subscribe(n);return ()=>o.unsubscribe()},[e]),r}exports.BgsCoreProvider=Rt;exports.DataTypeEnum=Ot;exports.Highlight=es;exports.HttpMethod=wt;exports.bindApi=Xo;exports.capitalizeWords=qe;exports.createApiHelper=Hn;exports.createDatabase=Bo;exports.createElement=oo;exports.createStore=To;exports.createTable=jo;exports.debounce=Nr;exports.decrypt=ye;exports.decryptString=$e;exports.defaultState=re;exports.diffJson=Or;exports.encrypt=me;exports.encryptString=Me;exports.filterDOMPropsLite=Mr;exports.formatBoolean=Pt;exports.formatDate=Ut;exports.formatNumber=vt;exports.formatString=qt;exports.generateCacheKey=Pe;exports.generateUUID=wr;exports.getApiActions=Fe;exports.getDateRangeLabelFromSorted=Kr;exports.getFieldValue=E;exports.getInitials=$r;exports.getMinMaxDate=Lr;exports.getTotalMinutes=Hr;exports.isArray=qr;exports.isDirtyRaw=de;exports.isNotEmpty=V;exports.isValidNumber=ut;exports.jsonCopy=Er;exports.labelFormatter=we;exports.mappingData=Fr;exports.mappingUndefinedtoNull=Pr;exports.moment=K;exports.objectToQueryString=dt;exports.parseSSEChunk=ae;exports.parseStringToNumber=ve;exports.query=_e;exports.registerApi=Ke;exports.renderChildren=vr;exports.replaceNullStrings=Oe;exports.safeUpdate=Ct;exports.sorting=Ur;exports.splitElement=so;exports.stableStringify=pt;exports.summary=kr;exports.unregisterApi=He;exports.useAnchorPosition=ss;exports.useApiLoad=St;exports.useApiLoadStore=ne;exports.useApiSend=jn;exports.useApiStore=to;exports.useApiStream=So;exports.useBgsCore=W;exports.useCpuBusy=ls;exports.useCreateApi=Qo;exports.useCrypto=X;exports.useDbLive=qo;exports.useDbLiveFlag=Eo;exports.useDbLoad=gs;exports.useDebounce=Yn;exports.useDelay=hn;exports.useDynamicSvgImport=Ro;exports.useElementBounding=fo;exports.useFormatted=Sn;exports.useInterval=Pn;exports.useKeyPress=Un;exports.useLayoutReady=fs;exports.useParseStringToNumber=co;exports.useScrollTrigger=zn;exports.useStorage=Le;exports.wrapApi=xo;
|
package/dist/index.d.cts
CHANGED
|
@@ -637,11 +637,11 @@ type BoundingSize = {
|
|
|
637
637
|
};
|
|
638
638
|
declare function useElementBounding(target?: HTMLElement | Element | null, onResize?: (size: BoundingSize) => void): React$1.RefObject<BoundingSize>;
|
|
639
639
|
|
|
640
|
-
interface Options {
|
|
640
|
+
interface Options$1 {
|
|
641
641
|
path: string;
|
|
642
642
|
extension?: string;
|
|
643
643
|
}
|
|
644
|
-
declare function useDynamicSvgImport(iconName: string, options: Options): {
|
|
644
|
+
declare function useDynamicSvgImport(iconName: string, options: Options$1): {
|
|
645
645
|
error: unknown;
|
|
646
646
|
loading: boolean;
|
|
647
647
|
Icon: React__default.FC<React__default.SVGProps<SVGElement>> | undefined;
|
|
@@ -767,9 +767,8 @@ declare function createDatabase<T>({ dbName, version, table }: CreateDatabasePro
|
|
|
767
767
|
type CreateTableProps = {
|
|
768
768
|
primaryKey: string;
|
|
769
769
|
name: string;
|
|
770
|
-
dbName: string;
|
|
771
770
|
};
|
|
772
|
-
declare function createTable<Props>({ name, primaryKey
|
|
771
|
+
declare function createTable<Props>({ name, primaryKey }: CreateTableProps): {
|
|
773
772
|
table: () => Table<any, dexie.IndexableType, any>;
|
|
774
773
|
create: <T = Props>(data: T) => Promise<dexie.IndexableType>;
|
|
775
774
|
update: <T = Props>(id: string, data: Partial<T>) => Promise<number>;
|
|
@@ -820,6 +819,14 @@ declare function useCpuBusy(thresholdMs?: number): boolean;
|
|
|
820
819
|
|
|
821
820
|
declare function useLayoutReady(ref: RefObject<HTMLElement | null>, settleMs?: number): boolean;
|
|
822
821
|
|
|
822
|
+
interface Options<T> {
|
|
823
|
+
where?: QueryCondition<T>;
|
|
824
|
+
orderBy?: Partial<Record<NestedKeyOf<T>, "asc" | "desc">>;
|
|
825
|
+
limit?: number;
|
|
826
|
+
offset?: number;
|
|
827
|
+
}
|
|
828
|
+
declare function useDbLoad<T>(detailFn: (opt: Options<T>) => Promise<T | undefined>, options?: Options<T>): T | undefined;
|
|
829
|
+
|
|
823
830
|
type FormatType = {
|
|
824
831
|
display: string;
|
|
825
832
|
value: string;
|
|
@@ -851,4 +858,4 @@ interface BgsCoreProviderProps {
|
|
|
851
858
|
}
|
|
852
859
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
853
860
|
|
|
854
|
-
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
|
861
|
+
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDbLoad, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
package/dist/index.d.ts
CHANGED
|
@@ -637,11 +637,11 @@ type BoundingSize = {
|
|
|
637
637
|
};
|
|
638
638
|
declare function useElementBounding(target?: HTMLElement | Element | null, onResize?: (size: BoundingSize) => void): React$1.RefObject<BoundingSize>;
|
|
639
639
|
|
|
640
|
-
interface Options {
|
|
640
|
+
interface Options$1 {
|
|
641
641
|
path: string;
|
|
642
642
|
extension?: string;
|
|
643
643
|
}
|
|
644
|
-
declare function useDynamicSvgImport(iconName: string, options: Options): {
|
|
644
|
+
declare function useDynamicSvgImport(iconName: string, options: Options$1): {
|
|
645
645
|
error: unknown;
|
|
646
646
|
loading: boolean;
|
|
647
647
|
Icon: React__default.FC<React__default.SVGProps<SVGElement>> | undefined;
|
|
@@ -767,9 +767,8 @@ declare function createDatabase<T>({ dbName, version, table }: CreateDatabasePro
|
|
|
767
767
|
type CreateTableProps = {
|
|
768
768
|
primaryKey: string;
|
|
769
769
|
name: string;
|
|
770
|
-
dbName: string;
|
|
771
770
|
};
|
|
772
|
-
declare function createTable<Props>({ name, primaryKey
|
|
771
|
+
declare function createTable<Props>({ name, primaryKey }: CreateTableProps): {
|
|
773
772
|
table: () => Table<any, dexie.IndexableType, any>;
|
|
774
773
|
create: <T = Props>(data: T) => Promise<dexie.IndexableType>;
|
|
775
774
|
update: <T = Props>(id: string, data: Partial<T>) => Promise<number>;
|
|
@@ -820,6 +819,14 @@ declare function useCpuBusy(thresholdMs?: number): boolean;
|
|
|
820
819
|
|
|
821
820
|
declare function useLayoutReady(ref: RefObject<HTMLElement | null>, settleMs?: number): boolean;
|
|
822
821
|
|
|
822
|
+
interface Options<T> {
|
|
823
|
+
where?: QueryCondition<T>;
|
|
824
|
+
orderBy?: Partial<Record<NestedKeyOf<T>, "asc" | "desc">>;
|
|
825
|
+
limit?: number;
|
|
826
|
+
offset?: number;
|
|
827
|
+
}
|
|
828
|
+
declare function useDbLoad<T>(detailFn: (opt: Options<T>) => Promise<T | undefined>, options?: Options<T>): T | undefined;
|
|
829
|
+
|
|
823
830
|
type FormatType = {
|
|
824
831
|
display: string;
|
|
825
832
|
value: string;
|
|
@@ -851,4 +858,4 @@ interface BgsCoreProviderProps {
|
|
|
851
858
|
}
|
|
852
859
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
853
860
|
|
|
854
|
-
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
|
861
|
+
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDbLoad, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ce,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import et from'dayjs/plugin/utc';import tt from'dayjs/plugin/timezone';import rt from'dayjs/plugin/duration';import nt from'dayjs/plugin/advancedFormat';import ot from'dayjs/plugin/localizedFormat';import st from'dayjs/plugin/relativeTime';import at from'dayjs/plugin/isSameOrBefore';import it from'dayjs/plugin/isSameOrAfter';import lt from'dayjs/plugin/weekOfYear';import ct from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ee from'crypto-js/aes';import Ne from'crypto-js/pbkdf2';import bt from'crypto-js/enc-utf8';import le from'crypto-js/enc-base64';import ke from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Mt from'axios';import rr,{liveQuery}from'dexie';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);I.extend(ct);var H=I;function Cr(){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 Ar(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Sr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function wr(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 Or(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},Pr={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}))},qr=(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 vr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function pt(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 pt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Ur(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ie=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 ut(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(!ut(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ft=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 kr(e){let t={};for(let r in e)ft.has(r)&&(t[r]=e[r]);return t}function Er(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Nr(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 Mr(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 $r(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 Lr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,c):l,y=typeof r=="function"?r(l,c):l;return {label:p,value:y,index:c,rowData:l}}else {let p=typeof t=="function"?t(l,c):E(l,t,""),y=typeof r=="function"?r(l,c):E(l,r,"");return {label:p,value:typeof y=="boolean"?y:y||"",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,p=i.map(f=>String(typeof c=="object"?E(c,f,"")??"":"")).join(o),y=s.get(p)||[];y.push(l),s.set(p,y);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function dt(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(dt(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 Rt=({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 ye(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(le),iv:n.toString(le),encrypted:a}}function me(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne(t,le.parse(r),{keySize:256/32,iterations:1e3}),s=Ee.decrypt(o,a,{iv:le.parse(n)}).toString(bt);return JSON.parse(s)}function Me(e,t){return JSON.stringify(ye(e,t))}function $e(e,t){return me(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return ye(t,r||e)},decrypt(t,r){return me(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=p=>{if(p.key===i)if(p.newValue)try{l(t(JSON.parse(p.newValue)));}catch(y){console.error("Decrypt error from storage event",y);}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 Ct(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 ne={loading:false,response:void 0,isCancel:false},oe=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,a={...o,...n};Ct(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Ke=e=>{Re.delete(e);},Fe=e=>Re.get(e);function St(...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",[p,y,f,x]=oe(useShallow(S=>{let b=S.states[l]??ne;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:C,clearPreviousData:N,refetchOnWindowFocus:K}=W(),z=Le(),U=useRef(void 0),F=useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:ee,persistence:ae,cacheEnabled:te}=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),R=false;typeof C?.enabled=="boolean"&&(R=C.enabled);let q=false;typeof C?.persistence=="boolean"&&(q=C?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(w=C.timeout,$="s"):typeof C?.timeout=="object"&&(w=C?.timeout.value,$=C?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?R=s.cache.enabled:R=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)):R=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:R}},[s?.cache,i,P,C,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)&&x(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,d);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),useEffect(()=>{let S=async()=>{!ae&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),F.current?.abort();}},[ae,B,k,l,F]);let A=useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),te&&!S&&!y&&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),x(l,{loading:false,response:w});return}}}if(typeof t=="function"){F.current?.abort();let T=new AbortController;F.current=T,x(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let R=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(R.__rawData=R.data,c==="append"&&V(f.__rawData)&&V(R?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(R?.data)){let q=[...f?.__rawData??[],...R.data??[]];R.data=q,R.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof R.data=="object"){let q={...f.__rawData,...R.data};R.data=q,R.__rawData=q;}}if(s?.afterResponse&&R?.data&&(R.data=s?.afterResponse(R.data,b)),s?.logging&&console.log("After request",R),R.status&&s?.onSuccess?.(R,b),R.status||s?.onError?.(R,b),s?.onAfterResponse?.(R,b),x(l,{loading:false,response:R,isCancel:false}),te&&R.status){let q=H().add(M,ee).toISOString(),w={data:R,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,y,B,k,M,ee,te,f]);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 g=useRef(null),{enabledRefetch:h,timeoutRefetch:u,timeoutUnitRefetch:D}=useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??K?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??K?.timeout,T=typeof b=="number"?b:b?.value??60*5,R=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:R}},[s?.refetchOnWindowFocus,K]);useEffect(()=>{if(!h||s?.hold)return;let S=H.duration(u,D).asMilliseconds(),b=()=>{let R=Date.now(),q=g.current;q!==null&&R-q>=S&&A(),g.current=null;},T=()=>{g.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[h,u,D,A,s?.hold]);let m=useCallback(()=>{F.current?.abort(),F.current=null,x(l,{loading:false,isCancel:true});},[l,F]),O=useCallback(()=>{x(l,{loading:false,response:null});},[l]),d=useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:y,clone:(S,b)=>St(t,S,{storeName:`${a}-clone`,...b})}),[f,p,A,m,O,y,t]);return useEffect(()=>(He(l,d),()=>{Ke(l);}),[d,l]),[f?.data,d]}async function gn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(wt||{}),Ot=(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))(Ot||{});var xn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?vt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?qt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function qt(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 vt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let y=String(e??"").trim().trim();if(de(y,r))return y}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);i=Math[o](i*p)/p;}else i=Math[o](i);else if(typeof n=="number"){let p=Math.pow(10,n);i=Math.trunc(i*p)/p;}let s=0;if(n==="auto"){let p=i.toString(),y=p.indexOf(".");y!==-1&&(s=p.length-y-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 Ut(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function Sn(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 Pn(e,t,r){let[n,o]=useState(false),a=(c,p)=>typeof e=="string"&&c===e||typeof e=="number"&&p===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:p,keyCode:y}=c,f=c.ctrlKey,x=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(p,y)&&(t==="ctrl"&&f||t==="alt"&&x||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?f:N==="alt"?x:N==="shift"?P:false);a(p,y)&&C&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(p,y)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:p})=>{a(c,p)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:p,encryptResponse:y,passphrase:f})=>{let{encrypt:x,decrypt:P,passphrase:C}=X(),N=Mt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),K=(g,h,u,D)=>{let m=D?.code==="ERR_CANCELED",O=g?.status===401,d=g?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:y)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,C);}catch{}}}let T={...n({...g,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:g?.status},R=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:l,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!R)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||a;w&&w(T);}if(typeof h=="function")h(T);else return T},z=(g,h=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:c}).then(h).catch(u=>h(u.response,u)),U=(g,h,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:f;u=x(u,T);}return z({url:h,method:g,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,R)=>K(T,D,d,R))};return {client:z,post:(g,h,u,D)=>U("POST",`${g}`,h,u,D),put:(g,h,u,D)=>U("PUT",`${g}`,h,u,D),patch:(g,h,u,D)=>U("PATCH",`${g}`,h,u,D),delete:(g,h,u)=>U("DELETE",`${g}`,null,h,u),get:(g,h,u)=>U("GET",`${g}`,null,h,u),upload:(g,h,u,D)=>{let m=new FormData;return Object.keys(h).forEach(O=>m.append(O,h[O])),U("POST",`${g}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,h,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?t:d.token;v&&(S.Authorization=`Bearer ${v}`);}let b=u;if(r&&(b=r(b)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&b){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:f;b=x(b,v);}let R=await fetch(`${e}${h}`,{method:g,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(b)}),q=R?.status,w=q===401;if(!R.ok){let v=R?.statusText||"Error";try{let _=R.headers.get("content-type")||"",L=await R.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:y)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,C);}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 $=R.body.getReader(),Y=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:v,value:Q}=await $.read();re=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 et from'dayjs/plugin/utc';import tt from'dayjs/plugin/timezone';import rt from'dayjs/plugin/duration';import nt from'dayjs/plugin/advancedFormat';import ot from'dayjs/plugin/localizedFormat';import st from'dayjs/plugin/relativeTime';import at from'dayjs/plugin/isSameOrBefore';import it from'dayjs/plugin/isSameOrAfter';import lt from'dayjs/plugin/weekOfYear';import ct 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 Mt from'axios';import rr,{liveQuery}from'dexie';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);I.extend(ct);var K=I;function wr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Or(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function qr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function V(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function vr(t,e){return typeof t=="function"?t(e):t}var E=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Ur={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},kr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?E(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Er(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function pt(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(t,e){return pt([e??"undefined",t??"undefined"])}function qe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Nr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function de(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ut(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&de(n,r))return true}return false}function ve(t="",e=false,r="."){if(!ut(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ft=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 Mr(t){let e={};for(let r in t)ft.has(r)&&(e[r]=t[r]);return e}function $r(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Lr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(K).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Kr(t,e){let r=K(t),n=K(e),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 Hr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=K(t,"HH:mm",true),n=K(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var Fr=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((c,i)=>{if(typeof c!="object"){let p=typeof e=="function"?e(c,i):c,b=typeof r=="function"?r(c,i):c;return {label:p,value:b,index:i,rowData:c}}else {let p=typeof e=="function"?e(c,i):E(c,e,""),b=typeof r=="function"?r(c,i):E(c,r,"");return {label:p,value:typeof b=="boolean"?b:b||"",index:i,rowData:c}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],s=new Map;for(let c of a){let i=c.rowData,p=l.map(f=>String(typeof i=="object"?E(i,f,"")??"":"")).join(o),b=s.get(p)||[];b.push(c),s.set(p,b);}return [Array.from(s.entries()).map(([c,i])=>({group:c,items:i})),a]};function dt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof o=="object"&&o!==null?r.push(dt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var Ue=createContext(void 0);function W(){let t=useContext(Ue);return t||{}}var Rt=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:l}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&K.locale(o,a??{},l);}})();},[e.localeConfig]),jsx(Ue.Provider,{value:r,children:t})};function me(t,e){let r=ke.random(16),n=ke.random(16),o=Ne(e,r,{keySize:256/32,iterations:1e3}),a=Ee.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function ye(t,e){let{salt:r,iv:n,encrypted:o}=t,a=Ne(e,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(t,e){return JSON.stringify(me(t,e))}function $e(t,e){return ye(JSON.parse(t),e)}function X(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,r){return me(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return Me(e,r||t)},decryptString(e,r){return $e(e,r||t)}}}var Le=()=>{let{encrypt:t,decrypt:e}=X(),r=useCallback((l,s)=>{try{let c=t(s);localStorage.setItem(l,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[t]),n=useCallback(l=>{try{let s=localStorage.getItem(l);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=l=>{let[s,c]=useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return useEffect(()=>{let i=p=>{if(p.key===l)if(p.newValue)try{c(e(JSON.parse(p.newValue)));}catch(b){console.error("Decrypt error from storage event",b);}else c(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),s},a=useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function Ct(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(o);if(a!==l)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??re,a={...o,...n};Ct(o,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var Re=new Map,Ke=(t,e)=>{Re.set(t,e);},He=t=>{Re.delete(t);},Fe=t=>Re.get(t);function St(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,l=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,i=s?.mergeStrategy??"replace",[p,b,f,C]=ne(useShallow(S=>{let h=S.states[c]??re;return [h.loading,h.isCancel,h.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:H}=W(),z=Le(),U=useRef(void 0),F=useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=useMemo(()=>{let S=P?z.get(P):void 0,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...l,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:h,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,l,P,x,a]);useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),h=JSON.stringify(V(l)?l:""),T=U.current===void 0;(S!==h||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(c,{response:null}),A(),U.current=l),s?.onChange&&s?.onChange(l,d);},[l,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),F.current?.abort();}},[se,B,k,c,F]);let A=useCallback(async S=>{let h=l;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(l)),ee&&!S&&!b&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(l);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(K().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,h)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,h),s?.onAfterResponse?.(w,h),C(c,{loading:false,response:w});return}}}if(typeof e=="function"){F.current?.abort();let T=new AbortController;F.current=T,C(c,{loading:true}),s?.logging&&console.log("Before request",l),s?.onBeforeRequest&&s?.onBeforeRequest(l);let g=o?await e(void 0,{...s,signal:T.signal}):await e(h,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,i==="append"&&V(f.__rawData)&&V(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let q=[...f?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let q={...f.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,h)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,h),g.status||s?.onError?.(g,h),s?.onAfterResponse?.(g,h),C(c,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=K().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[l,e,s,b,B,k,M,Z,ee,f]);useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},K.duration(S,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:u,timeoutUnitRefetch:D}=useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??H?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??H?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,H]);useEffect(()=>{if(!R||s?.hold)return;let S=K.duration(u,D).asMilliseconds(),h=()=>{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",h),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",T);}},[R,u,D,A,s?.hold]);let m=useCallback(()=>{F.current?.abort(),F.current=null,C(c,{loading:false,isCancel:true});},[c,F]),O=useCallback(()=>{C(c,{loading:false,response:null});},[c]),d=useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:b,clone:(S,h)=>St(e,S,{storeName:`${a}-clone`,...h})}),[f,p,A,m,O,b,e]);return useEffect(()=>(Ke(c,d),()=>{He(c);}),[d,c]),[f?.data,d]}async function hn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var wt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(wt||{}),Ot=(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))(Ot||{});var Sn=()=>{let{format:t}=W();return (e,r,n)=>{try{return r==="number"?vt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ut(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?Pt(e,n):r==="string"?qt(e,n):e?.toString()}catch{return}}};function Pt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function qt(t,e){if(!V(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function vt(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let b=String(t??"").trim().trim();if(de(b,r))return b}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let p=Math.pow(10,n);l=Math[o](l*p)/p;}else l=Math[o](l);else if(typeof n=="number"){let p=Math.pow(10,n);l=Math.trunc(l*p)/p;}let s=0;if(n==="auto"){let p=l.toString(),b=p.indexOf(".");b!==-1&&(s=p.length-b-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function Ut(t,{display:e,value:r}){if(!V(t))return t;let n=K(t,r);return n.isValid()?n.format(e):t}function Pn(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function Un(t,e,r){let[n,o]=useState(false),a=(i,p)=>typeof t=="string"&&i===t||typeof t=="number"&&p===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),s=i=>{let{key:p,keyCode:b}=i,f=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(p,b)&&(e==="ctrl"&&f||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let x=e.every(N=>N==="ctrl"?f:N==="alt"?C:N==="shift"?P:false);a(p,b)&&x&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else a(p,b)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},c=({key:i,keyCode:p})=>{a(i,p)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var Hn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:l,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:i,encryptRequest:p,encryptResponse:b,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Mt.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),H=(y,R,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:b)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,x);}catch{}}}let T={...n({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:c,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.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:i}).then(R).catch(u=>R(u.response,u)),U=(y,R,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;u=C(u,T);}return z({url:R,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:z,post:(y,R,u,D)=>U("POST",`${y}`,R,u,D),put:(y,R,u,D)=>U("PUT",`${y}`,R,u,D),patch:(y,R,u,D)=>U("PATCH",`${y}`,R,u,D),delete:(y,R,u)=>U("DELETE",`${y}`,null,R,u),get:(y,R,u)=>U("GET",`${y}`,null,R,u),upload:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?e:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,v);}let g=await fetch(`${t}${R}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),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:b)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:c,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&l&&!Q&&l(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
|
-
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ie(_);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 d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,h,u,D)=>{let m=new FormData;return Object.keys(h).forEach(O=>m.append(O,h[O])),U("POST",`${g}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Kn(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 f=>{l.current?.abort();let x=new AbortController;l.current=x,n(true),t?.beforeRequest&&(f=t?.beforeRequest(f)),t?.logging&&console.log("Before request",f),t?.onBeforeRequest&&t?.onBeforeRequest(f);let P={...t,signal:x.signal,onUploadProgress:N=>{let K=Math.round(N.loaded*100/(N.total||1));s(K);}},C=e.__isVoid?await e(void 0,P):await e(f,void 0,P);t?.logging&&console.log("After response",C),a(C),n(false),s(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,f)),C.status&&t?.onSuccess&&t?.onSuccess(C,f),!C.status&&t?.onError&&t?.onError(C,f),t?.onAfterResponse?.(C,f);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Ht(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 Kt=typeof window<"u"?window:null;function jn(e={}){let{getTrigger:t=Ht,target:r=Kt,disableHysteresis:n=false,threshold:o=100}=e,a=ce.useRef(0),[i,s]=ce.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return ce.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 zn(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 Xn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Fe(n)||{},c=P=>{let C=P.states[n]??ne;return {loading:C.loading,isCancel:C.isCancel,response:C.response}},{loading:p,isCancel:y,response:f}=o?oe(useShallow(c)):oe(c),x=useMemo(()=>[f?.data,{...f,loading:p,isCancel:y,refresh:a,abort:i,clear:s,clone:l}],[f,p,y,a,i,s,l]);return t?.selector?t.selector(x):x};var to=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},je=(e,t)=>{let r=false;return ce.Children.forEach(e,n=>{if(ce.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&je(o.props.children,t))&&(r=true);}}),r},ro=(e,t)=>{let r={others:[]},n=o=>{ce.Children.forEach(o,a=>{if(ce.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 ao(){let{format:e}=W();return (t="",r=false)=>ve(t,r,e.number.decSep)}function co(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 yo(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 Ro(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,p=l.current;return Object.is(p,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 bo(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 xo(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 y=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),i.current=[],e(y,x=>{x.isDone||(i.current.push(x),a([...i.current])),(x.isDone||!x.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),x.status?t?.onStream&&t?.onStream(x):t?.onError&&t?.onError(x);},{signal:f.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),i.current=[];};return [o.map(y=>y.data),l,{loading:r,abort:c,reset:p,response:o}]}function wo(e,t){let{key:r}=t,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>e(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function vo(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}function _e(e){let t=[...e],r=a=>a==null?"":String(a),n=(a,i)=>{if(Array.isArray(i.and))return i.and.every(s=>n(a,s));if(Array.isArray(i.or))return i.or.some(s=>n(a,s));for(let[s,l]of Object.entries(i)){if(s==="and"||s==="or")continue;let{opt:c="eq",value:p,required:y=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!y&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(c){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(t=t.filter(i=>n(i,a))),o},sort(a){let i=Object.entries(a);return t.sort((s,l)=>{for(let[c,p]of i){let y=E(s,c),f=E(l,c);if(y!==f)return p==="asc"?y>f?1:-1:y<f?1:-1}return 0}),o},distinct(a){let i=Array.isArray(a)?a:a?[a]:[],s=new Set;return t=t.filter(l=>{let c=i.length?i.map(p=>E(l,p)).join("|"):JSON.stringify(l);return s.has(c)?false:(s.add(c),true)}),o},select(a){return t=t.map(i=>{let s={};for(let l of a)s[l]=E(i,l);return s}),o},paginate(a,i){let s=(a-1)*i,l=s+i;return {data:t.slice(s,l),total:t.length,page:a,pageSize:i,totalPages:Math.ceil(t.length/i)}},groupBy(a){let i={};for(let s of t){let l=E(s,a),c=String(l??"undefined");i[c]||(i[c]=[]),i[c].push(s);}return i},map(a){return t=t.map(a),o},reduce(a,i){return t.reduce(a,i)},limit(a){return t=t.slice(0,a),o},get(){return t}};return o}var pe={},Z={};function Ho({dbName:e,version:t=1,table:r}){return pe[e]||(pe[e]=new rr(e),t=Object.keys(Z[e]).length+1,pe[e].version(t).stores(Z[e])),r}function Ko({name:e,primaryKey:t,dbName:r}){Z[r]||(Z[r]={}),Z[r][e]||(Z[r][e]=t);let n=()=>{let y=pe[r].table(e);if(!y)throw new Error(`Table ${e} is not registered in Dexie`);return y};return {table:n,create:async p=>await n().add(p),update:async(p,y)=>await n().update(p,y),put:async(p,y)=>await n().put({...y,[t]:p}),detail:async p=>await n().get(p),remove:async p=>await n().delete(p),list:async p=>{let y=n().toCollection();typeof p?.offset=="number"&&(y=y.offset(p.offset)),typeof p?.limit=="number"&&(y=y.limit(p.limit));let f=await y.toArray(),x=_e(f);return p?.where&&(x=x.where(p.where)),p?.orderBy&&(x=x.sort(p.orderBy)),x.get()}}}var Wo=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:c,handleAuthorization:p,disabledToastWhenCancel:y,withCredentials:f,encryptRequest:x,encryptResponse:P,passphrase:C})=>{let N=Mt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),K=(g,h,u,D)=>{let m=D?.code==="ERR_CANCELED",O=g?.status===401,d=g?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:C;try{d=t(d,w);}catch{try{d=t(d,r);}catch{}}}let T={...i({...g,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:g?.status},R=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:y,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&c&&(!m||!R)&&c(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||l;w&&w(T);}if(typeof h=="function")h(T);else return T},z=(g,h=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:f}).then(h).catch(u=>h(u.response,u)),U=(g,h,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:x)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:C;u=e(u,T);}return z({url:h,method:g,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,R)=>K(T,D,d,R))};return {client:z,post:(g,h,u,D)=>U("POST",`${g}`,h,u,D),put:(g,h,u,D)=>U("PUT",`${g}`,h,u,D),patch:(g,h,u,D)=>U("PATCH",`${g}`,h,u,D),delete:(g,h,u)=>U("DELETE",`${g}`,null,h,u),get:(g,h,u)=>U("GET",`${g}`,null,h,u),upload:(g,h,u,D)=>{let m=new FormData;return Object.keys(h).forEach(O=>m.append(O,h[O])),U("POST",`${g}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,h,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let b=u;if(a&&(b=a(b)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:x)&&b){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:C;b=e(b,v);}let R=await fetch(`${n}${h}`,{method:g,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(b)}),q=R?.status,w=q===401;if(!R.ok){let v=R?.statusText||"Error";try{let _=R.headers.get("content-type")||"",L=await R.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:C;try{u=t(G,fe);}catch{try{u=t(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:y,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 $=R.body.getReader(),Y=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:v,value:Q}=await $.read();re=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
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 d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function jn(t,e){let[r,n]=useState(false),[o,a]=useState(),[l,s]=useState(0),c=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async f=>{c.current?.abort();let C=new AbortController;c.current=C,n(true),e?.beforeRequest&&(f=e?.beforeRequest(f)),e?.logging&&console.log("Before request",f),e?.onBeforeRequest&&e?.onBeforeRequest(f);let P={...e,signal:C.signal,onUploadProgress:N=>{let H=Math.round(N.loaded*100/(N.total||1));s(H);}},x=t.__isVoid?await t(void 0,P):await t(f,void 0,P);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,f)),x.status&&e?.onSuccess&&e?.onSuccess(x,f),!x.status&&e?.onError&&e?.onError(x,f),e?.onAfterResponse?.(x,f);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:l,reset:()=>{n(false),s(0),a(null);}}]}function Kt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Ht=typeof window<"u"?window:null;function zn(t={}){let{getTrigger:e=Kt,target:r=Ht,disableHysteresis:n=false,threshold:o=100}=t,a=le.useRef(0),[l,s]=le.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let c=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,e,n,o]),l}function Yn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=useState(t);return useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),o}var to=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:l,clear:s,clone:c}=Fe(n)||{},i=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:p,isCancel:b,response:f}=o?ne(useShallow(i)):ne(i),C=useMemo(()=>[f?.data,{...f,loading:p,isCancel:b,refresh:a,abort:l,clear:s,clone:c}],[f,p,b,a,l,s,c]);return e?.selector?e.selector(C):C};var oo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},je=(t,e)=>{let r=false;return le.Children.forEach(t,n=>{if(le.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&je(o.props.children,e))&&(r=true);}}),r},so=(t,e)=>{let r={others:[]},n=o=>{le.Children.forEach(o,a=>{if(le.isValidElement(a)){let l=a.type.displayName,s=a,c=s.props?.children;e.includes(l)?r[l]=a:c&&je(c,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function co(){let{format:t}=W();return (e="",r=false)=>ve(e,r,t.number.decSep)}function fo(t,e){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ae={};function Ro(t,e){let[r,n]=useState(false),[o,a]=useState(),[l,s]=useState();return useEffect(()=>{if(!t)return;if(Ae[t]){s(()=>Ae[t]);return}n(true),(async()=>{try{let i=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ae[t]=i.default,s(()=>i.default);}catch(i){a(i),console.error(i);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:l}}function To(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(c=>c());}function l(s){let c=useRef(s?s(e):e);return useSyncExternalStore(o,()=>{let i=s?s(e):e,p=c.current;return Object.is(p,i)||(c.current=i),c.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:l}}function Ie(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${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 xo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Ie(a,r),a};}return e}function So(t,e){let[r,n]=useState(false),[o,a]=useState([]),l=useRef([]),s=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async b=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),l.current=[],t(b,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:f.signal});},i=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),l.current=[];};return [o.map(b=>b.data),c,{loading:r,abort:i,reset:p,response:o}]}function qo(t,e){let{key:r}=e,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Eo(t,e){let{key:r}=e,[n,o]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await t(r)).subscribe(l=>{o(s=>s!==l?l:s);});return ()=>a.unsubscribe()},[r]),n}function _e(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(s=>n(a,s));if(Array.isArray(l.or))return l.or.some(s=>n(a,s));for(let[s,c]of Object.entries(l)){if(s==="and"||s==="or")continue;let{opt:i="eq",value:p,required:b=true}=typeof c=="object"&&c!==null&&"value"in c?c:{value:c};if(!b&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(i){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(l=>n(l,a))),o},sort(a){let l=Object.entries(a);return e.sort((s,c)=>{for(let[i,p]of l){let b=E(s,i),f=E(c,i);if(b!==f)return p==="asc"?b>f?1:-1:b<f?1:-1}return 0}),o},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(c=>{let i=l.length?l.map(p=>E(c,p)).join("|"):JSON.stringify(c);return s.has(i)?false:(s.add(i),true)}),o},select(a){return e=e.map(l=>{let s={};for(let c of a)s[c]=E(l,c);return s}),o},paginate(a,l){let s=(a-1)*l,c=s+l;return {data:e.slice(s,c),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let s of e){let c=E(s,a),i=String(c??"undefined");l[i]||(l[i]=[]),l[i].push(s);}return l},map(a){return e=e.map(a),o},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}var ce,pe={};function Bo({dbName:t,version:e=1,table:r}){return ce||(ce=new rr(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function jo({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async i=>await r().add(i),update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let b=await p.toArray(),f=_e(b);return i?.where&&(f=f.where(i.where)),i?.orderBy&&(f=f.sort(i.orderBy)),f.get()}}}var Qo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:l,headers:s,onUnauthorized:c,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:b,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=Mt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),H=(y,R,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;try{d=e(d,w);}catch{try{d=e(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:b,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||c;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(R).catch(u=>R(u.response,u)),U=(y,R,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;u=t(u,T);}return z({url:R,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:z,post:(y,R,u,D)=>U("POST",`${y}`,R,u,D),put:(y,R,u,D)=>U("PUT",`${y}`,R,u,D),patch:(y,R,u,D)=>U("PATCH",`${y}`,R,u,D),delete:(y,R,u)=>U("DELETE",`${y}`,null,R,u),get:(y,R,u)=>U("GET",`${y}`,null,R,u),upload:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=t(h,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),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)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{u=e(G,fe);}catch{try{u=e(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:b,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(`
|
|
4
4
|
|
|
5
|
-
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=
|
|
5
|
+
`);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 d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,u,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,u,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function We(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${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"&&We(n,o);});}function Ye(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return We(o,r),o};if(!t||typeof t!="object")return t;let n={};for(let o in t){let a=r?`${r}.${o}`:o;n[o]=Ye(t[o],e,a);}return n}function Xo(t,e){return Ye(t,e)}function es({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsx(Fragment,{children:o.map((l,s)=>jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},s))})}function ss(t,e,r,n){let o=useRef(void 0),a=useRef({x:0,y:0,width:0,visible:true}),l=useRef(r),s=useRef(true);useEffect(()=>{let c=t.current;if(!c)return;let i=new IntersectionObserver(([p])=>{s.current=p.isIntersecting;},{threshold:0});return i.observe(c),()=>{i.disconnect(),s.current=false;}},[t,e]),useEffect(()=>{l.current=r;},[r]),useLayoutEffect(()=>{if(n)return;let c=t.current,i=e.current;if(!c||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,b=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},f=()=>{if(!c||!i||l.current)return;let k=c.getBoundingClientRect(),M=b(c);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,i.style.width=`${k.width}px`):i.style.display="none";},C=()=>{if(!c||!i||l.current)return;let M=i.getBoundingClientRect().height;c.style.height=`${M}px`,c.style.minHeight=`${M}px`;},P=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{f(),p=false;}));},x=()=>{requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),H=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),f();});}),z=new MutationObserver(()=>{P();});N.observe(c),H.observe(i),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,F=()=>{if(!c||!i||l.current||!s.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),c.innerHTML="",c.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{c.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},B=()=>{P();};return i.addEventListener("layout-complete",x),window.addEventListener("scroll",F,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),H.disconnect(),z.disconnect(),i.removeEventListener("layout-complete",x),window.removeEventListener("scroll",F),window.removeEventListener("resize",B);}},[n]);}function ls(t=100){let[e,r]=useState(false);return useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let a of o.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function fs(t,e=0){let[r,n]=useState(false),o=useRef(null),a=useRef(null),l=useRef(false);return useLayoutEffect(()=>{let s=t.current;if(!s)return;let c=()=>{l.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{l.current=true,n(true);},e));},i=()=>{let f=s.getBoundingClientRect();if(f.width===0||f.height===0)return;let C=a.current,P={w:f.width,h:f.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,c());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),b=new MutationObserver(()=>{i();});return p.observe(s),b.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),b.disconnect();}},[e]),r}function gs(t,e){let[r,n]=useState();return useEffect(()=>{let o=liveQuery(()=>t(e)).subscribe(n);return ()=>o.unsubscribe()},[e]),r}export{Rt as BgsCoreProvider,Ot as DataTypeEnum,es as Highlight,wt as HttpMethod,Xo as bindApi,qe as capitalizeWords,Hn as createApiHelper,Bo as createDatabase,oo as createElement,To as createStore,jo as createTable,Nr as debounce,ye as decrypt,$e as decryptString,re as defaultState,Or as diffJson,me as encrypt,Me as encryptString,Mr as filterDOMPropsLite,Pt as formatBoolean,Ut as formatDate,vt as formatNumber,qt as formatString,Pe as generateCacheKey,wr as generateUUID,Fe as getApiActions,Kr as getDateRangeLabelFromSorted,E as getFieldValue,$r as getInitials,Lr as getMinMaxDate,Hr as getTotalMinutes,qr as isArray,de as isDirtyRaw,V as isNotEmpty,ut as isValidNumber,Er as jsonCopy,we as labelFormatter,Fr as mappingData,Pr as mappingUndefinedtoNull,K as moment,dt as objectToQueryString,ae as parseSSEChunk,ve as parseStringToNumber,_e as query,Ke as registerApi,vr as renderChildren,Oe as replaceNullStrings,Ct as safeUpdate,Ur as sorting,so as splitElement,pt as stableStringify,kr as summary,He as unregisterApi,ss as useAnchorPosition,St as useApiLoad,ne as useApiLoadStore,jn as useApiSend,to as useApiStore,So as useApiStream,W as useBgsCore,ls as useCpuBusy,Qo as useCreateApi,X as useCrypto,qo as useDbLive,Eo as useDbLiveFlag,gs as useDbLoad,Yn as useDebounce,hn as useDelay,Ro as useDynamicSvgImport,fo as useElementBounding,Sn as useFormatted,Pn as useInterval,Un as useKeyPress,fs as useLayoutReady,co as useParseStringToNumber,zn as useScrollTrigger,Le as useStorage,xo as wrapApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.48",
|
|
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",
|