@bgscore/react-core 1.0.42 → 1.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3 -3
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';var le=require('react'),I=require('dayjs'),Xe=require('dayjs/plugin/utc'),Ze=require('dayjs/plugin/timezone'),et=require('dayjs/plugin/duration'),tt=require('dayjs/plugin/advancedFormat'),rt=require('dayjs/plugin/localizedFormat'),nt=require('dayjs/plugin/relativeTime'),ot=require('dayjs/plugin/isSameOrBefore'),st=require('dayjs/plugin/isSameOrAfter'),at=require('dayjs/plugin/weekOfYear'),it=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ee=require('crypto-js/aes'),Ne=require('crypto-js/pbkdf2'),Rt=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'),Et=require('axios'),er=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 Xe__default=/*#__PURE__*/_interopDefault(Xe);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var Rt__default=/*#__PURE__*/_interopDefault(Rt);var ie__default=/*#__PURE__*/_interopDefault(ie);var ke__default=/*#__PURE__*/_interopDefault(ke);var Et__default=/*#__PURE__*/_interopDefault(Et);var er__default=/*#__PURE__*/_interopDefault(er);I__default.default.extend(Xe__default.default);I__default.default.extend(Ze__default.default);I__default.default.extend(et__default.default);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);var H=I__default.default;function xr(){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 Cr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Ar=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Sr(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 z(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,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(t,e){return typeof t=="function"?t(e):t}var N=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Or={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(r,e):"";return s<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(n,e):"";return s>a?1:-1}else return r>n?1:-1}))},Pr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?N(n,e)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function qr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function lt(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((s,a)=>(s[a]=n[a],s),{})):n})??""}function Pe(t,e){return lt([e??"undefined",t??"undefined"])}function qe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function vr(t,e=0){let r,n=function(...s){clearTimeout(r),r=setTimeout(()=>{t(...s);},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 fe(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 ct(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||e&&fe(n,r))return true}return false}function ve(t="",e=false,r="."){if(!ct(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var pt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Ur(t){let e={};for(let r in t)pt.has(r)&&(e[r]=t[r]);return e}function kr(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Er(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Nr(t,e){let r=H(t),n=H(e),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Mr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var $r=(t=[],e="label",r="value",n,s=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((i,c)=>{if(typeof i!="object"){let u=typeof e=="function"?e(i,c):i,h=typeof r=="function"?r(i,c):i;return {label:u,value:h,index:c,rowData:i}}else {let u=typeof e=="function"?e(i,c):N(i,e,""),h=typeof r=="function"?r(i,c):N(i,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:i}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],o=new Map;for(let i of a){let c=i.rowData,u=l.map(d=>String(typeof c=="object"?N(c,d,"")??"":"")).join(s),h=o.get(u)||[];h.push(i),o.set(u,h);}return [Array.from(o.entries()).map(([i,c])=>({group:i,items:c})),a]};function ut(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let s=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!z(s))continue;Array.isArray(s)?s.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof s=="object"&&s!==null?r.push(ut(s,a)):r.push(`${a}=${encodeURIComponent(s)}`);}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 _(){let t=le.useContext(Ue);return t||{}}var yt=({children:t,value:e})=>{let r={...e};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:l}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&H.locale(s,a??{},l);}})();},[e.localeConfig]),jsxRuntime.jsx(Ue.Provider,{value:r,children:t})};function de(t,e){let r=ke__default.default.random(16),n=ke__default.default.random(16),s=Ne__default.default(e,r,{keySize:256/32,iterations:1e3}),a=Ee__default.default.encrypt(JSON.stringify(t),s,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function me(t,e){let{salt:r,iv:n,encrypted:s}=t,a=Ne__default.default(e,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=Ee__default.default.decrypt(s,a,{iv:ie__default.default.parse(n)}).toString(Rt__default.default);return JSON.parse(o)}function Me(t,e){return JSON.stringify(de(t,e))}function $e(t,e){return me(JSON.parse(t),e)}function G(){let{passphrase:t}=_();return {passphrase:t,encrypt(e,r){return de(e,r||t)},decrypt(e,r){return me(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}=G(),r=le.useCallback((l,o)=>{try{let i=t(o);localStorage.setItem(l,JSON.stringify(i));}catch(i){console.error("Failed to save to storage:",i);}},[t]),n=le.useCallback(l=>{try{let o=localStorage.getItem(l);return o?e(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[e]),s=l=>{let[o,i]=le.useState(()=>{try{let c=localStorage.getItem(l);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return le.useEffect(()=>{let c=u=>{if(u.key===l)if(u.newValue)try{i(e(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else i(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[l,e]),o},a=le.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Dt(t,e){for(let r in e){let n=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(s);if(a!==l)return false}else if(n!==s)return false}return true}var te={loading:false,response:void 0,isCancel:false},re=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let s=e().states[r]??te,a={...s,...n};Dt(s,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var ge=new Map,He=(t,e)=>{ge.set(t,e);},Fe=t=>{ge.delete(t);},Ke=t=>ge.get(t);function Ct(...t){let[e,r,n]=t,s=e.__isVoid,a=e.__path||e.name,l=s?void 0:r,o=s?r:n,i=o?.storeName||`${a}`,c=o?.mergeStrategy??"replace",[u,h,d,C]=re(shallow.useShallow(S=>{let b=S.states[i]??te;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:q,cache:x,clearPreviousData:M,refetchOnWindowFocus:F}=_(),B=Le(),U=le.useRef(void 0),K=le.useRef(null),{cacheName:k,cacheKey:E,timeout:X,timeoutUnit:oe,persistence:se,cacheEnabled:Z}=le.useMemo(()=>{let S=q?B.get(q):void 0,b=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,T=Pe({...l,session:S},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let P=false;typeof x?.persistence=="boolean"&&(P=x?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let w=60*5,$="s";return z(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),z(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?g=o.cache.enabled:g=true,typeof o?.cache?.timeout=="number"?(w=o.cache.timeout,$="s"):typeof o?.cache?.timeout=="object"&&(w=o.cache.timeout.value,$=o.cache.timeout.unit)):g=o.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:P,cacheEnabled:g}},[o?.cache,l,q,x,a]);le.useEffect(()=>{let S=JSON.stringify(z(U.current)?U.current:""),b=JSON.stringify(z(l)?l:""),T=U.current===void 0;(S!==b||T)&&!o?.hold&&((o?.clearPreviousData??M)&&C(i,{response:null}),A(),U.current=l),o?.onChange&&o?.onChange(l,f);},[l,o?.clearPreviousData,M,o?.hold,...o?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&k&&E&&(await caches.open(k)).delete(E);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,k,E,i,K]);let A=le.useCallback(async S=>{let b=l;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(b=o?.beforeRequest(l)),Z&&!S&&!h){o?.onBeforeRequest&&o?.onBeforeRequest(l);let T=await caches.open(k),P=await(await T.match(E))?.json();if(P){let{data:w,expired:$}=P;if(H().isAfter($))await T.delete(E);else {o?.afterResponse&&w?.data&&(w.data=o?.afterResponse(w.data,b)),o?.logging&&console.log("After request: Using Cache",w),w?.status&&o?.onSuccess?.(w,b),o?.onAfterResponse?.(w,b),C(i,{loading:false,response:w});return}}}if(typeof e=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(i,{loading:true}),o?.logging&&console.log("Before request",l),o?.onBeforeRequest&&o?.onBeforeRequest(l);let g=s?await e(void 0,{...o,signal:T.signal}):await e(b,void 0,{...o,signal:T.signal});if(g.__rawData=g.data,c==="append"&&z(d.__rawData)&&z(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let P=[...d?.__rawData??[],...g.data??[]];g.data=P,g.__rawData=P;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let P={...d.__rawData,...g.data};g.data=P,g.__rawData=P;}}if(o?.afterResponse&&g?.data&&(g.data=o?.afterResponse(g.data,b)),o?.logging&&console.log("After request",g),g.status&&o?.onSuccess?.(g,b),g.status||o?.onError?.(g,b),o?.onAfterResponse?.(g,b),C(i,{loading:false,response:g,isCancel:false}),Z&&g.status){let P=H().add(X,oe).toISOString(),w={data:g,expired:P},$=await caches.open(k),W=new Response(JSON.stringify(w));await $.put(E,W);}}},[l,e,o,h,k,E,X,oe,Z,d]);le.useEffect(()=>{if(o?.refreshInterval){let S=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,b=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[o?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=o?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=o?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[o?.refetchOnWindowFocus,F]);le.useEffect(()=>{if(!R||o?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),P=y.current;P!==null&&g-P>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,o?.hold]);let m=le.useCallback(()=>{K.current?.abort(),K.current=null,C(i,{loading:false,isCancel:true});},[i,K]),O=le.useCallback(()=>{C(i,{loading:false,response:null});},[i]),f=le.useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>Ct(e,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,e]);return le.useEffect(()=>(He(i,f),()=>{Fe(i);}),[f,i]),[d?.data,f]}async function yn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var At=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(At||{}),St=(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))(St||{});var Dn=()=>{let{format:t}=_();return (e,r,n)=>{try{return r==="number"?Pt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===r)?qt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?wt(e,n):r==="string"?Ot(e,n):e?.toString()}catch{return}}};function wt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?n:s}function Ot(t,e){if(!z(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 Pt(t,{thouSep:e,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let h=String(t??"").trim().trim();if(fe(h,r))return h}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(s)if(typeof n=="number"){let u=Math.pow(10,n);l=Math[s](l*u)/u;}else l=Math[s](l);else if(typeof n=="number"){let u=Math.pow(10,n);l=Math.trunc(l*u)/u;}let o=0;if(n==="auto"){let u=l.toString(),h=u.indexOf(".");h!==-1&&(o=u.length-h-1);}let i={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function qt(t,{display:e,value:r}){if(!z(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function An(t,{interval:e,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=t;},[t]),le.useEffect(()=>{let s=()=>n.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function On(t,e,r){let[n,s]=le.useState(false),a=(c,u)=>typeof t=="string"&&c===t||typeof t=="number"&&u===t,l=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,q=c.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(u,h)&&(e==="ctrl"&&d||e==="alt"&&C||e==="shift"&&q)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let x=e.every(M=>M==="ctrl"?d:M==="alt"?C:M==="shift"?q:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},i=({key:c,keyCode:u})=>{a(c,u)&&s(false);};return le.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",i);}),[]),n}var Mn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:o,disabledToastWhenCancel:i,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:q,passphrase:x}=G(),M=Et__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=q(f,w);}catch{try{f=q(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:i,P=o?o(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?e:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${t}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=q(Q,ue);}catch{try{p=q(Q,x);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:i,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&l&&!J&&l(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
1
|
+
'use strict';var le=require('react'),I=require('dayjs'),Ze=require('dayjs/plugin/utc'),et=require('dayjs/plugin/timezone'),tt=require('dayjs/plugin/duration'),rt=require('dayjs/plugin/advancedFormat'),nt=require('dayjs/plugin/localizedFormat'),ot=require('dayjs/plugin/relativeTime'),st=require('dayjs/plugin/isSameOrBefore'),at=require('dayjs/plugin/isSameOrAfter'),it=require('dayjs/plugin/weekOfYear'),lt=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ee=require('crypto-js/aes'),Ne=require('crypto-js/pbkdf2'),ht=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),ke=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Nt=require('axios'),tr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var lt__default=/*#__PURE__*/_interopDefault(lt);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var ht__default=/*#__PURE__*/_interopDefault(ht);var ie__default=/*#__PURE__*/_interopDefault(ie);var ke__default=/*#__PURE__*/_interopDefault(ke);var Nt__default=/*#__PURE__*/_interopDefault(Nt);var tr__default=/*#__PURE__*/_interopDefault(tr);I__default.default.extend(Ze__default.default);I__default.default.extend(et__default.default);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);I__default.default.extend(lt__default.default);var H=I__default.default;function xr(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function Cr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Ar=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Sr(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function V(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var we={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Or={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Pr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function qr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ct(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(e,t){return ct([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function de(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+${r}$`).test(e)||new RegExp(`^-?${r}\\d*$`).test(e)}function pt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&de(n,r))return true}return false}function ve(e="",t=false,r="."){if(!pt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ut=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Ur(e){let t={};for(let r in e)ut.has(r)&&(t[r]=e[r]);return t}function kr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Er(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(H).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Nr(e,t){let r=H(e),n=H(t),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Mr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=H(e,"HH:mm",true),n=H(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var $r=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let u=typeof t=="function"?t(l,c):l,h=typeof r=="function"?r(l,c):l;return {label:u,value:h,index:c,rowData:l}}else {let u=typeof t=="function"?t(l,c):E(l,t,""),h=typeof r=="function"?r(l,c):E(l,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,u=i.map(d=>String(typeof c=="object"?E(c,d,"")??"":"")).join(o),h=s.get(u)||[];h.push(l),s.set(u,h);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function ft(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ft(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var Ue=le.createContext(void 0);function W(){let e=le.useContext(Ue);return e||{}}var gt=({children:e,value:t})=>{let r={...t};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(Ue.Provider,{value:r,children:e})};function me(e,t){let r=ke__default.default.random(16),n=ke__default.default.random(16),o=Ne__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Ee__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function ye(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne__default.default(t,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ee__default.default.decrypt(o,a,{iv:ie__default.default.parse(n)}).toString(ht__default.default);return JSON.parse(s)}function Me(e,t){return JSON.stringify(me(e,t))}function $e(e,t){return ye(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return me(t,r||e)},decrypt(t,r){return ye(t,r||e)},encryptString(t,r){return Me(t,r||e)},decryptString(t,r){return $e(t,r||e)}}}var Le=()=>{let{encrypt:e,decrypt:t}=X(),r=le.useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=le.useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,l]=le.useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return le.useEffect(()=>{let c=u=>{if(u.key===i)if(u.newValue)try{l(t(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=le.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function xt(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??re,a={...o,...n};xt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Fe=e=>{Re.delete(e);},Ke=e=>Re.get(e);function At(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[u,h,d,C]=ne(shallow.useShallow(S=>{let b=S.states[l]??re;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:F}=W(),z=Le(),U=le.useRef(void 0),K=le.useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=le.useMemo(()=>{let S=P?z.get(P):void 0,b=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...i,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,i,P,x,a]);le.useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),b=JSON.stringify(V(i)?i:""),T=U.current===void 0;(S!==b||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,f);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,B,k,l,K]);let A=le.useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),ee&&!S&&!h&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(i);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,b)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,b),s?.onAfterResponse?.(w,b),C(l,{loading:false,response:w});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let g=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,c==="append"&&V(d.__rawData)&&V(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let q=[...d?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let q={...d.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,b)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,b),g.status||s?.onError?.(g,b),s?.onAfterResponse?.(g,b),C(l,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,h,B,k,M,Z,ee,d]);le.useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,b=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,F]);le.useEffect(()=>{if(!R||s?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,s?.hold]);let m=le.useCallback(()=>{K.current?.abort(),K.current=null,C(l,{loading:false,isCancel:true});},[l,K]),O=le.useCallback(()=>{C(l,{loading:false,response:null});},[l]),f=le.useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>At(t,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,t]);return le.useEffect(()=>(He(l,f),()=>{Fe(l);}),[f,l]),[d?.data,f]}async function yn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var St=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(St||{}),wt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(wt||{});var Dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?vt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ot(t,n):r==="string"?Pt(t,n):t?.toString()}catch{return}}};function Ot(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function Pt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let h=String(e??"").trim().trim();if(de(h,r))return h}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let u=Math.pow(10,n);i=Math[o](i*u)/u;}else i=Math[o](i);else if(typeof n=="number"){let u=Math.pow(10,n);i=Math.trunc(i*u)/u;}let s=0;if(n==="auto"){let u=i.toString(),h=u.indexOf(".");h!==-1&&(s=u.length-h-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function vt(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function An(e,{interval:t,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=e;},[e]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function On(e,t,r){let[n,o]=le.useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(u,h)&&(t==="ctrl"&&d||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let x=t.every(N=>N==="ctrl"?d:N==="alt"?C:N==="shift"?P:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:u})=>{a(c,u)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Mn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Nt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=P(f,w);}catch{try{f=P(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:l,q=s?s(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?t:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${e}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=P(G,fe);}catch{try{p=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
2
2
|
|
|
3
|
-
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let L=ae(V);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(t,e){let[r,n]=le.useState(false),[s,a]=le.useState(),[l,o]=le.useState(0),i=le.useRef(null);return le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{i.current?.abort();}},[]),[async d=>{i.current?.abort();let C=new AbortController;i.current=C,n(true),e?.beforeRequest&&(d=e?.beforeRequest(d)),e?.logging&&console.log("Before request",d),e?.onBeforeRequest&&e?.onBeforeRequest(d);let q={...e,signal:C.signal,onUploadProgress:M=>{let F=Math.round(M.loaded*100/(M.total||1));o(F);}},x=t.__isVoid?await t(void 0,q):await t(d,void 0,q);e?.logging&&console.log("After response",x),a(x),n(false),o(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,d)),x.status&&e?.onSuccess&&e?.onSuccess(x,d),!x.status&&e?.onError&&e?.onError(x,d),e?.onAfterResponse?.(x,d);},{...s,loading:r,abort:()=>{i.current?.abort(),i.current=null,n(false),o(0);},progress:l,reset:()=>{n(false),o(0),a(null);}}]}function $t(t,e){let{disableHysteresis:r=false,threshold:n=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Lt=typeof window<"u"?window:null;function Bn(t={}){let{getTrigger:e=$t,target:r=Lt,disableHysteresis:n=false,threshold:s=100}=t,a=le__default.default.useRef(0),[l,o]=le__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:s,target:r}));return le__default.default.useEffect(()=>{let i=()=>{o(e(a,{disableHysteresis:n,threshold:s,target:r}));};if(i(),r)return r.addEventListener("scroll",i,{passive:true}),()=>{r.removeEventListener("scroll",i);}},[r,e,n,s]),l}function zn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[s,a]=le.useState(t);return le.useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),s}var Gn=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,s=e?.shallow??true,{refresh:a,abort:l,clear:o,clone:i}=Ke(n)||{},c=q=>{let x=q.states[n]??te;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=s?re(shallow.useShallow(c)):re(c),C=le.useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:l,clear:o,clone:i}],[d,u,h,a,l,o,i]);return e?.selector?e.selector(C):C};var eo=(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 s=n,a=n.type.displayName;(e.includes(a)||s.props?.children&&je(s.props.children,e))&&(r=true);}}),r},to=(t,e)=>{let r={others:[]},n=s=>{le__default.default.Children.forEach(s,a=>{if(le__default.default.isValidElement(a)){let l=a.type.displayName,o=a,i=o.props?.children;e.includes(l)?r[l]=a:i&&je(i,e)?n(o.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function so(){let{format:t}=_();return (e="",r=false)=>ve(e,r,t.number.decSep)}function lo(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 s=new ResizeObserver(()=>n());return s.observe(t),()=>s.disconnect()},[t,e]),r}var Ce={};function fo(t,e){let[r,n]=le.useState(false),[s,a]=le.useState(),[l,o]=le.useState();return le.useEffect(()=>{if(!t)return;if(Ce[t]){o(()=>Ce[t]);return}n(true),(async()=>{try{let c=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ce[t]=c.default,o(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[t,e.path,e.extension]),{error:s,loading:r,Icon:l}}function go(t){let e=t,r=new Set;function n(){return e}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?e=o(e):e=o,r.forEach(i=>i());}function l(o){let i=le.useRef(o?o(e):e);return le.useSyncExternalStore(s,()=>{let c=o?o(e):e,u=i.current;return Object.is(u,c)||(i.current=c),i.current},()=>o?o(e):e)}return {getSnapshot:n,subscribe:s,setState:a,useStore:l}}function Ie(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],s=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}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,s);});}function ho(t){let e={};for(let r in t){let n=t[r];e[r]=(...s)=>{let a=n(...s);return Ie(a,r),a};}return e}function Do(t,e){let[r,n]=le.useState(false),[s,a]=le.useState([]),l=le.useRef([]),o=le.useRef(null);le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let i=async h=>{o.current?.abort();let d=new AbortController;o.current=d,n(true),a([]),l.current=[],t(h,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:d.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},u=()=>{n(false),a([]),l.current=[];};return [s.map(h=>h.data),i,{loading:r,abort:c,reset:u,response:s}]}function So(t,e){let{key:r}=e,[n,s]=le.useState();return le.useEffect(()=>{let a=er.liveQuery(()=>t(r)).subscribe(s);return ()=>a.unsubscribe()},[r]),n}function qo(t,e){let{key:r}=e,[n,s]=le.useState(false);return le.useEffect(()=>{let a=er.liveQuery(async()=>!!await t(r)).subscribe(l=>{s(o=>o!==l?l:o);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:t,version:e=1,table:r}){return ce||(ce=new er__default.default(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function No({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let c=ce.table(t);if(!c)throw new Error(`Table ${t} is not registered in Dexie`);return c};return {table:r,create:async i=>await r().add(i),update:async(i,c)=>await r().update(i,c),put:async(i,c)=>await r().put({...c,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i)}}var jo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=G();return ({url:n,token:s,beforeRequest:a,onCallback:l,headers:o,onUnauthorized:i,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:q,passphrase:x})=>{let M=Et__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:q)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=e(f,w);}catch{try{f=e(f,r);}catch{}}}let T={...l({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,P=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||i;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?s&&(S.Authorization=`Bearer ${s}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=t(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?s:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=t(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:q)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=e(Q,ue);}catch{try{p=e(Q,r);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&c&&!J&&c(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.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 f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(e,t){let[r,n]=le.useState(false),[o,a]=le.useState(),[i,s]=le.useState(0),l=le.useRef(null);return le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let C=new AbortController;l.current=C,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let P={...t,signal:C.signal,onUploadProgress:N=>{let F=Math.round(N.loaded*100/(N.total||1));s(F);}},x=e.__isVoid?await e(void 0,P):await e(d,void 0,P);t?.logging&&console.log("After response",x),a(x),n(false),s(0),t?.afterResponse&&x?.data&&(x.data=t?.afterResponse(x.data,d)),x.status&&t?.onSuccess&&t?.onSuccess(x,d),!x.status&&t?.onError&&t?.onError(x,d),t?.onAfterResponse?.(x,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Lt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Ht=typeof window<"u"?window:null;function Bn(e={}){let{getTrigger:t=Lt,target:r=Ht,disableHysteresis:n=false,threshold:o=100}=e,a=le__default.default.useRef(0),[i,s]=le__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),i}function Vn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=le.useState(e);return le.useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Gn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ke(n)||{},c=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=o?ne(shallow.useShallow(c)):ne(c),C=le.useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:i,clear:s,clone:l}],[d,u,h,a,i,s,l]);return t?.selector?t.selector(C):C};var eo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},je=(e,t)=>{let r=false;return le__default.default.Children.forEach(e,n=>{if(le__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&je(o.props.children,t))&&(r=true);}}),r},to=(e,t)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,a=>{if(le__default.default.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;t.includes(i)?r[i]=a:l&&je(l,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function so(){let{format:e}=W();return (t="",r=false)=>ve(t,r,e.number.decSep)}function lo(e,t){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function fo(e,t){let[r,n]=le.useState(false),[o,a]=le.useState(),[i,s]=le.useState();return le.useEffect(()=>{if(!e)return;if(Ae[e]){s(()=>Ae[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=c.default,s(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function go(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(l=>l());}function i(s){let l=le.useRef(s?s(t):t);return le.useSyncExternalStore(o,()=>{let c=s?s(t):t,u=l.current;return Object.is(u,c)||(l.current=c),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Ie(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ie(n,o);});}function ho(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let a=n(...o);return Ie(a,r),a};}return t}function Do(e,t){let[r,n]=le.useState(false),[o,a]=le.useState([]),i=le.useRef([]),s=le.useRef(null);le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async h=>{s.current?.abort();let d=new AbortController;s.current=d,n(true),a([]),i.current=[],e(h,C=>{C.isDone||(i.current.push(C),a([...i.current])),(C.isDone||!C.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),C.status?t?.onStream&&t?.onStream(C):t?.onError&&t?.onError(C);},{signal:d.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},u=()=>{n(false),a([]),i.current=[];};return [o.map(h=>h.data),l,{loading:r,abort:c,reset:u,response:o}]}function So(e,t){let{key:r}=t,[n,o]=le.useState();return le.useEffect(()=>{let a=tr.liveQuery(()=>e(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function qo(e,t){let{key:r}=t,[n,o]=le.useState(false);return le.useEffect(()=>{let a=tr.liveQuery(async()=>!!await e(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:e,version:t=1,table:r}){return ce||(ce=new tr__default.default(e),t=Object.keys(pe).length+1,ce.version(t).stores(pe)),r}function No({name:e,primaryKey:t}){pe[e]||(pe[e]=t);let r=()=>{let c=ce.table(e);if(!c)throw new Error(`Table ${e} is not registered in Dexie`);return c};return {table:r,create:async l=>await r().add(l),update:async(l,c)=>await r().update(l,c),put:async(l,c)=>await r().put({...c,[t]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var jo=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=Nt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:P)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=t(f,w);}catch{try{f=t(f,r);}catch{}}}let T={...i({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,q=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||l;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=e(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?o:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=e(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=t(G,fe);}catch{try{p=t(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&c&&!Q&&c(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
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 f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function _e(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"&&_e(n,o);});}function We(e,t,r=""){if(typeof e=="function")return ()=>{let o=e(t);return _e(o,r),o};if(!e||typeof e!="object")return e;let n={};for(let o in e){let a=r?`${r}.${o}`:o;n[o]=We(e[o],t,a);}return n}function Vo(e,t){return We(e,t)}function Wo(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:u,required:h=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!h&&(u==null||u===""))continue;let d=E(a,s,void 0);switch(c){case "eq":if(d!==u)return false;break;case "neq":if(d===u)return false;break;case "gt":if(!(d>u))return false;break;case "gte":if(!(d>=u))return false;break;case "lt":if(!(d<u))return false;break;case "lte":if(!(d<=u))return false;break;case "contains":{if(d==null||u==null)return false;if(Array.isArray(d)){if(!d.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "startsWith":if(d==null||u==null||!String(d).startsWith(String(u)))return false;break;case "endsWith":if(d==null||u==null||!String(d).endsWith(String(u)))return false;break;case "in":if(!Array.isArray(u)||!u.includes(d))return false;break;case "notIn":if(Array.isArray(u)&&u.includes(d))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,u]of i){let h=E(s,c),d=E(l,c);if(h!==d)return u==="asc"?h>d?1:-1:h<d?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(u=>E(l,u)).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}function Jo({label:e="",search:t="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];e||(e="");let a=t?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof e!="string"?o=e.toString().split(new RegExp(`(${a})`,"gi")):o=e.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.map((i,s)=>jsxRuntime.jsx("span",{style:i?.toString()?.toLowerCase()===t?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:i},s))})}function es(e,t,r,n){let o=le.useRef(void 0),a=le.useRef({x:0,y:0,width:0,visible:true}),i=le.useRef(r),s=le.useRef(true);le.useEffect(()=>{let l=e.current;if(!l)return;let c=new IntersectionObserver(([u])=>{s.current=u.isIntersecting;},{threshold:0});return c.observe(l),()=>{c.disconnect(),s.current=false;}},[e,t]),le.useEffect(()=>{i.current=r;},[r]),le.useLayoutEffect(()=>{if(n)return;let l=e.current,c=t.current;if(!l||!c)return;if(i.current){requestAnimationFrame(()=>{c.style.transform="",c.style.top="",c.style.left="",c.style.removeProperty("width");});return}let u=false,h=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},d=()=>{if(!l||!c||i.current)return;let k=l.getBoundingClientRect(),M=h(l);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(c.style.top="0",c.style.left="0",c.style.display="",c.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,c.style.width=`${k.width}px`):c.style.display="none";},C=()=>{if(!l||!c||i.current)return;let M=c.getBoundingClientRect().height;l.style.height=`${M}px`,l.style.minHeight=`${M}px`;},P=()=>{u||(u=true,o.current=requestAnimationFrame(()=>{d(),u=false;}));},x=()=>{requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),F=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),d();});}),z=new MutationObserver(()=>{P();});N.observe(l),F.observe(c),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,K=()=>{if(!l||!c||i.current||!s.current)return;let k=c.cloneNode(true);k.removeAttribute("style"),l.innerHTML="",l.appendChild(k),requestAnimationFrame(()=>{c.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{l.innerHTML="",requestAnimationFrame(()=>{c.style.display="";});},150);},B=()=>{P();};return c.addEventListener("layout-complete",x),window.addEventListener("scroll",K,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),F.disconnect(),z.disconnect(),c.removeEventListener("layout-complete",x),window.removeEventListener("scroll",K),window.removeEventListener("resize",B);}},[n]);}function ns(e=100){let[t,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>e&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[e]),t}function is(e,t=0){let[r,n]=le.useState(false),o=le.useRef(null),a=le.useRef(null),i=le.useRef(false);return le.useLayoutEffect(()=>{let s=e.current;if(!s)return;let l=()=>{i.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{i.current=true,n(true);},t));},c=()=>{let d=s.getBoundingClientRect();if(d.width===0||d.height===0)return;let C=a.current,P={w:d.width,h:d.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,l());};requestAnimationFrame(()=>{c();});let u=new ResizeObserver(()=>{c();}),h=new MutationObserver(()=>{c();});return u.observe(s),h.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),u.disconnect(),h.disconnect();}},[t]),r}exports.BgsCoreProvider=gt;exports.DataTypeEnum=wt;exports.Highlight=Jo;exports.HttpMethod=St;exports.bindApi=Vo;exports.capitalizeWords=qe;exports.createApiHelper=Mn;exports.createDatabase=Eo;exports.createElement=eo;exports.createStore=go;exports.createTable=No;exports.debounce=vr;exports.decrypt=ye;exports.decryptString=$e;exports.defaultState=re;exports.diffJson=Cr;exports.encrypt=me;exports.encryptString=Me;exports.filterDOMPropsLite=Ur;exports.formatBoolean=Ot;exports.formatDate=vt;exports.formatNumber=qt;exports.formatString=Pt;exports.generateCacheKey=Pe;exports.generateUUID=xr;exports.getApiActions=Ke;exports.getDateRangeLabelFromSorted=Nr;exports.getFieldValue=E;exports.getInitials=kr;exports.getMinMaxDate=Er;exports.getTotalMinutes=Mr;exports.isArray=Sr;exports.isDirtyRaw=de;exports.isNotEmpty=V;exports.isValidNumber=pt;exports.jsonCopy=qr;exports.labelFormatter=we;exports.mappingData=$r;exports.mappingUndefinedtoNull=Ar;exports.moment=H;exports.objectToQueryString=ft;exports.parseSSEChunk=ae;exports.parseStringToNumber=ve;exports.query=Wo;exports.registerApi=He;exports.renderChildren=wr;exports.replaceNullStrings=Oe;exports.safeUpdate=xt;exports.sorting=Or;exports.splitElement=to;exports.stableStringify=ct;exports.summary=Pr;exports.unregisterApi=Fe;exports.useAnchorPosition=es;exports.useApiLoad=At;exports.useApiLoadStore=ne;exports.useApiSend=Hn;exports.useApiStore=Gn;exports.useApiStream=Do;exports.useBgsCore=W;exports.useCpuBusy=ns;exports.useCreateApi=jo;exports.useCrypto=X;exports.useDbLive=So;exports.useDbLiveFlag=qo;exports.useDebounce=Vn;exports.useDelay=yn;exports.useDynamicSvgImport=fo;exports.useElementBounding=lo;exports.useFormatted=Dn;exports.useInterval=An;exports.useKeyPress=On;exports.useLayoutReady=is;exports.useParseStringToNumber=so;exports.useScrollTrigger=Bn;exports.useStorage=Le;exports.wrapApi=ho;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import Xe from'dayjs/plugin/utc';import Ze from'dayjs/plugin/timezone';import et from'dayjs/plugin/duration';import tt from'dayjs/plugin/advancedFormat';import rt from'dayjs/plugin/localizedFormat';import nt from'dayjs/plugin/relativeTime';import ot from'dayjs/plugin/isSameOrBefore';import st from'dayjs/plugin/isSameOrAfter';import at from'dayjs/plugin/weekOfYear';import it from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ee from'crypto-js/aes';import Ne from'crypto-js/pbkdf2';import Rt 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 Et from'axios';import er,{liveQuery}from'dexie';I.extend(Xe);I.extend(Ze);I.extend(et);I.extend(tt);I.extend(rt);I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);var H=I;function xr(){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 Cr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Ar=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Sr(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 z(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,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(t,e){return typeof t=="function"?t(e):t}var N=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Or={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(r,e):"";return s<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(n,e):"";return s>a?1:-1}else return r>n?1:-1}))},Pr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?N(n,e)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function qr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function lt(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((s,a)=>(s[a]=n[a],s),{})):n})??""}function Pe(t,e){return lt([e??"undefined",t??"undefined"])}function qe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function vr(t,e=0){let r,n=function(...s){clearTimeout(r),r=setTimeout(()=>{t(...s);},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 fe(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 ct(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||e&&fe(n,r))return true}return false}function ve(t="",e=false,r="."){if(!ct(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var pt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Ur(t){let e={};for(let r in t)pt.has(r)&&(e[r]=t[r]);return e}function kr(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Er(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Nr(t,e){let r=H(t),n=H(e),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Mr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var $r=(t=[],e="label",r="value",n,s=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((i,c)=>{if(typeof i!="object"){let u=typeof e=="function"?e(i,c):i,h=typeof r=="function"?r(i,c):i;return {label:u,value:h,index:c,rowData:i}}else {let u=typeof e=="function"?e(i,c):N(i,e,""),h=typeof r=="function"?r(i,c):N(i,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:i}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],o=new Map;for(let i of a){let c=i.rowData,u=l.map(d=>String(typeof c=="object"?N(c,d,"")??"":"")).join(s),h=o.get(u)||[];h.push(i),o.set(u,h);}return [Array.from(o.entries()).map(([i,c])=>({group:i,items:c})),a]};function ut(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let s=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!z(s))continue;Array.isArray(s)?s.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof s=="object"&&s!==null?r.push(ut(s,a)):r.push(`${a}=${encodeURIComponent(s)}`);}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 _(){let t=useContext(Ue);return t||{}}var yt=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:l}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&H.locale(s,a??{},l);}})();},[e.localeConfig]),jsx(Ue.Provider,{value:r,children:t})};function de(t,e){let r=ke.random(16),n=ke.random(16),s=Ne(e,r,{keySize:256/32,iterations:1e3}),a=Ee.encrypt(JSON.stringify(t),s,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function me(t,e){let{salt:r,iv:n,encrypted:s}=t,a=Ne(e,ie.parse(r),{keySize:256/32,iterations:1e3}),o=Ee.decrypt(s,a,{iv:ie.parse(n)}).toString(Rt);return JSON.parse(o)}function Me(t,e){return JSON.stringify(de(t,e))}function $e(t,e){return me(JSON.parse(t),e)}function G(){let{passphrase:t}=_();return {passphrase:t,encrypt(e,r){return de(e,r||t)},decrypt(e,r){return me(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}=G(),r=useCallback((l,o)=>{try{let i=t(o);localStorage.setItem(l,JSON.stringify(i));}catch(i){console.error("Failed to save to storage:",i);}},[t]),n=useCallback(l=>{try{let o=localStorage.getItem(l);return o?e(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[e]),s=l=>{let[o,i]=useState(()=>{try{let c=localStorage.getItem(l);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=u=>{if(u.key===l)if(u.newValue)try{i(e(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else i(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[l,e]),o},a=useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Dt(t,e){for(let r in e){let n=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(s);if(a!==l)return false}else if(n!==s)return false}return true}var te={loading:false,response:void 0,isCancel:false},re=create((t,e)=>({states:{},updateState:(r,n)=>{let s=e().states[r]??te,a={...s,...n};Dt(s,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var ge=new Map,He=(t,e)=>{ge.set(t,e);},Fe=t=>{ge.delete(t);},Ke=t=>ge.get(t);function Ct(...t){let[e,r,n]=t,s=e.__isVoid,a=e.__path||e.name,l=s?void 0:r,o=s?r:n,i=o?.storeName||`${a}`,c=o?.mergeStrategy??"replace",[u,h,d,C]=re(useShallow(S=>{let b=S.states[i]??te;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:q,cache:x,clearPreviousData:M,refetchOnWindowFocus:F}=_(),B=Le(),U=useRef(void 0),K=useRef(null),{cacheName:k,cacheKey:E,timeout:X,timeoutUnit:oe,persistence:se,cacheEnabled:Z}=useMemo(()=>{let S=q?B.get(q):void 0,b=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,T=Pe({...l,session:S},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let P=false;typeof x?.persistence=="boolean"&&(P=x?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let w=60*5,$="s";return z(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),z(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?g=o.cache.enabled:g=true,typeof o?.cache?.timeout=="number"?(w=o.cache.timeout,$="s"):typeof o?.cache?.timeout=="object"&&(w=o.cache.timeout.value,$=o.cache.timeout.unit)):g=o.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:P,cacheEnabled:g}},[o?.cache,l,q,x,a]);useEffect(()=>{let S=JSON.stringify(z(U.current)?U.current:""),b=JSON.stringify(z(l)?l:""),T=U.current===void 0;(S!==b||T)&&!o?.hold&&((o?.clearPreviousData??M)&&C(i,{response:null}),A(),U.current=l),o?.onChange&&o?.onChange(l,f);},[l,o?.clearPreviousData,M,o?.hold,...o?.trigger||[]]),useEffect(()=>{let S=async()=>{!se&&k&&E&&(await caches.open(k)).delete(E);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,k,E,i,K]);let A=useCallback(async S=>{let b=l;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(b=o?.beforeRequest(l)),Z&&!S&&!h){o?.onBeforeRequest&&o?.onBeforeRequest(l);let T=await caches.open(k),P=await(await T.match(E))?.json();if(P){let{data:w,expired:$}=P;if(H().isAfter($))await T.delete(E);else {o?.afterResponse&&w?.data&&(w.data=o?.afterResponse(w.data,b)),o?.logging&&console.log("After request: Using Cache",w),w?.status&&o?.onSuccess?.(w,b),o?.onAfterResponse?.(w,b),C(i,{loading:false,response:w});return}}}if(typeof e=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(i,{loading:true}),o?.logging&&console.log("Before request",l),o?.onBeforeRequest&&o?.onBeforeRequest(l);let g=s?await e(void 0,{...o,signal:T.signal}):await e(b,void 0,{...o,signal:T.signal});if(g.__rawData=g.data,c==="append"&&z(d.__rawData)&&z(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let P=[...d?.__rawData??[],...g.data??[]];g.data=P,g.__rawData=P;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let P={...d.__rawData,...g.data};g.data=P,g.__rawData=P;}}if(o?.afterResponse&&g?.data&&(g.data=o?.afterResponse(g.data,b)),o?.logging&&console.log("After request",g),g.status&&o?.onSuccess?.(g,b),g.status||o?.onError?.(g,b),o?.onAfterResponse?.(g,b),C(i,{loading:false,response:g,isCancel:false}),Z&&g.status){let P=H().add(X,oe).toISOString(),w={data:g,expired:P},$=await caches.open(k),W=new Response(JSON.stringify(w));await $.put(E,W);}}},[l,e,o,h,k,E,X,oe,Z,d]);useEffect(()=>{if(o?.refreshInterval){let S=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,b=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[o?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=useMemo(()=>{let S=o?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=o?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[o?.refetchOnWindowFocus,F]);useEffect(()=>{if(!R||o?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),P=y.current;P!==null&&g-P>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,o?.hold]);let m=useCallback(()=>{K.current?.abort(),K.current=null,C(i,{loading:false,isCancel:true});},[i,K]),O=useCallback(()=>{C(i,{loading:false,response:null});},[i]),f=useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>Ct(e,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,e]);return useEffect(()=>(He(i,f),()=>{Fe(i);}),[f,i]),[d?.data,f]}async function yn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var At=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(At||{}),St=(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))(St||{});var Dn=()=>{let{format:t}=_();return (e,r,n)=>{try{return r==="number"?Pt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===r)?qt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?wt(e,n):r==="string"?Ot(e,n):e?.toString()}catch{return}}};function wt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?n:s}function Ot(t,e){if(!z(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 Pt(t,{thouSep:e,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let h=String(t??"").trim().trim();if(fe(h,r))return h}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(s)if(typeof n=="number"){let u=Math.pow(10,n);l=Math[s](l*u)/u;}else l=Math[s](l);else if(typeof n=="number"){let u=Math.pow(10,n);l=Math.trunc(l*u)/u;}let o=0;if(n==="auto"){let u=l.toString(),h=u.indexOf(".");h!==-1&&(o=u.length-h-1);}let i={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function qt(t,{display:e,value:r}){if(!z(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function An(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let s=()=>n.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function On(t,e,r){let[n,s]=useState(false),a=(c,u)=>typeof t=="string"&&c===t||typeof t=="number"&&u===t,l=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,q=c.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(u,h)&&(e==="ctrl"&&d||e==="alt"&&C||e==="shift"&&q)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let x=e.every(M=>M==="ctrl"?d:M==="alt"?C:M==="shift"?q:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},i=({key:c,keyCode:u})=>{a(c,u)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",i);}),[]),n}var Mn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:o,disabledToastWhenCancel:i,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:q,passphrase:x}=G(),M=Et.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=q(f,w);}catch{try{f=q(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:i,P=o?o(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?e:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${t}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=q(Q,ue);}catch{try{p=q(Q,x);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:i,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&l&&!J&&l(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
1
|
+
import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import Ze from'dayjs/plugin/utc';import et from'dayjs/plugin/timezone';import tt from'dayjs/plugin/duration';import rt from'dayjs/plugin/advancedFormat';import nt from'dayjs/plugin/localizedFormat';import ot from'dayjs/plugin/relativeTime';import st from'dayjs/plugin/isSameOrBefore';import at from'dayjs/plugin/isSameOrAfter';import it from'dayjs/plugin/weekOfYear';import lt from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ee from'crypto-js/aes';import Ne from'crypto-js/pbkdf2';import ht from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import ke from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Nt from'axios';import tr,{liveQuery}from'dexie';I.extend(Ze);I.extend(et);I.extend(tt);I.extend(rt);I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(lt);var H=I;function xr(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function Cr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Ar=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Sr(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function V(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var we={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Or={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Pr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function qr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ct(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(e,t){return ct([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function vr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function de(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+${r}$`).test(e)||new RegExp(`^-?${r}\\d*$`).test(e)}function pt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&de(n,r))return true}return false}function ve(e="",t=false,r="."){if(!pt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var ut=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Ur(e){let t={};for(let r in e)ut.has(r)&&(t[r]=e[r]);return t}function kr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Er(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(H).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Nr(e,t){let r=H(e),n=H(t),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Mr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=H(e,"HH:mm",true),n=H(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var $r=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let u=typeof t=="function"?t(l,c):l,h=typeof r=="function"?r(l,c):l;return {label:u,value:h,index:c,rowData:l}}else {let u=typeof t=="function"?t(l,c):E(l,t,""),h=typeof r=="function"?r(l,c):E(l,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,u=i.map(d=>String(typeof c=="object"?E(c,d,"")??"":"")).join(o),h=s.get(u)||[];h.push(l),s.set(u,h);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function ft(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ft(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var Ue=createContext(void 0);function W(){let e=useContext(Ue);return e||{}}var gt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},i);}})();},[t.localeConfig]),jsx(Ue.Provider,{value:r,children:e})};function me(e,t){let r=ke.random(16),n=ke.random(16),o=Ne(t,r,{keySize:256/32,iterations:1e3}),a=Ee.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function ye(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ne(t,ie.parse(r),{keySize:256/32,iterations:1e3}),s=Ee.decrypt(o,a,{iv:ie.parse(n)}).toString(ht);return JSON.parse(s)}function Me(e,t){return JSON.stringify(me(e,t))}function $e(e,t){return ye(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return me(t,r||e)},decrypt(t,r){return ye(t,r||e)},encryptString(t,r){return Me(t,r||e)},decryptString(t,r){return $e(t,r||e)}}}var Le=()=>{let{encrypt:e,decrypt:t}=X(),r=useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,l]=useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=u=>{if(u.key===i)if(u.newValue)try{l(t(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function xt(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??re,a={...o,...n};xt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var Re=new Map,He=(e,t)=>{Re.set(e,t);},Fe=e=>{Re.delete(e);},Ke=e=>Re.get(e);function At(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[u,h,d,C]=ne(useShallow(S=>{let b=S.states[l]??re;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:F}=W(),z=Le(),U=useRef(void 0),K=useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=useMemo(()=>{let S=P?z.get(P):void 0,b=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=Pe({...i,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,i,P,x,a]);useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),b=JSON.stringify(V(i)?i:""),T=U.current===void 0;(S!==b||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(l,{response:null}),A(),U.current=i),s?.onChange&&s?.onChange(i,f);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,B,k,l,K]);let A=useCallback(async S=>{let b=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(b=s?.beforeRequest(i)),ee&&!S&&!h&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(i);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,b)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,b),s?.onAfterResponse?.(w,b),C(l,{loading:false,response:w});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let g=o?await t(void 0,{...s,signal:T.signal}):await t(b,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,c==="append"&&V(d.__rawData)&&V(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let q=[...d?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let q={...d.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,b)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,b),g.status||s?.onError?.(g,b),s?.onAfterResponse?.(g,b),C(l,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[i,t,s,h,B,k,M,Z,ee,d]);useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,b=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=s?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!R||s?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,s?.hold]);let m=useCallback(()=>{K.current?.abort(),K.current=null,C(l,{loading:false,isCancel:true});},[l,K]),O=useCallback(()=>{C(l,{loading:false,response:null});},[l]),f=useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>At(t,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,t]);return useEffect(()=>(He(l,f),()=>{Fe(l);}),[f,l]),[d?.data,f]}async function yn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var St=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(St||{}),wt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(wt||{});var Dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?vt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ot(t,n):r==="string"?Pt(t,n):t?.toString()}catch{return}}};function Ot(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function Pt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let h=String(e??"").trim().trim();if(de(h,r))return h}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let u=Math.pow(10,n);i=Math[o](i*u)/u;}else i=Math[o](i);else if(typeof n=="number"){let u=Math.pow(10,n);i=Math.trunc(i*u)/u;}let s=0;if(n==="auto"){let u=i.toString(),h=u.indexOf(".");h!==-1&&(s=u.length-h-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function vt(e,{display:t,value:r}){if(!V(e))return e;let n=H(e,r);return n.isValid()?n.format(t):e}function An(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function On(e,t,r){let[n,o]=useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(u,h)&&(t==="ctrl"&&d||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let x=t.every(N=>N==="ctrl"?d:N==="alt"?C:N==="shift"?P:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:u})=>{a(c,u)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Mn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=Nt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=P(f,w);}catch{try{f=P(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:l,q=s?s(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?t&&(S.Authorization=`Bearer ${t}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?t:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${e}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=P(G,fe);}catch{try{p=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
2
2
|
|
|
3
|
-
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let L=ae(V);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(t,e){let[r,n]=useState(false),[s,a]=useState(),[l,o]=useState(0),i=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{i.current?.abort();}},[]),[async d=>{i.current?.abort();let C=new AbortController;i.current=C,n(true),e?.beforeRequest&&(d=e?.beforeRequest(d)),e?.logging&&console.log("Before request",d),e?.onBeforeRequest&&e?.onBeforeRequest(d);let q={...e,signal:C.signal,onUploadProgress:M=>{let F=Math.round(M.loaded*100/(M.total||1));o(F);}},x=t.__isVoid?await t(void 0,q):await t(d,void 0,q);e?.logging&&console.log("After response",x),a(x),n(false),o(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,d)),x.status&&e?.onSuccess&&e?.onSuccess(x,d),!x.status&&e?.onError&&e?.onError(x,d),e?.onAfterResponse?.(x,d);},{...s,loading:r,abort:()=>{i.current?.abort(),i.current=null,n(false),o(0);},progress:l,reset:()=>{n(false),o(0),a(null);}}]}function $t(t,e){let{disableHysteresis:r=false,threshold:n=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Lt=typeof window<"u"?window:null;function Bn(t={}){let{getTrigger:e=$t,target:r=Lt,disableHysteresis:n=false,threshold:s=100}=t,a=le.useRef(0),[l,o]=le.useState(()=>e(a,{disableHysteresis:n,threshold:s,target:r}));return le.useEffect(()=>{let i=()=>{o(e(a,{disableHysteresis:n,threshold:s,target:r}));};if(i(),r)return r.addEventListener("scroll",i,{passive:true}),()=>{r.removeEventListener("scroll",i);}},[r,e,n,s]),l}function zn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[s,a]=useState(t);return useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),s}var Gn=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,s=e?.shallow??true,{refresh:a,abort:l,clear:o,clone:i}=Ke(n)||{},c=q=>{let x=q.states[n]??te;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=s?re(useShallow(c)):re(c),C=useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:l,clear:o,clone:i}],[d,u,h,a,l,o,i]);return e?.selector?e.selector(C):C};var eo=(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 s=n,a=n.type.displayName;(e.includes(a)||s.props?.children&&je(s.props.children,e))&&(r=true);}}),r},to=(t,e)=>{let r={others:[]},n=s=>{le.Children.forEach(s,a=>{if(le.isValidElement(a)){let l=a.type.displayName,o=a,i=o.props?.children;e.includes(l)?r[l]=a:i&&je(i,e)?n(o.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function so(){let{format:t}=_();return (e="",r=false)=>ve(e,r,t.number.decSep)}function lo(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 s=new ResizeObserver(()=>n());return s.observe(t),()=>s.disconnect()},[t,e]),r}var Ce={};function fo(t,e){let[r,n]=useState(false),[s,a]=useState(),[l,o]=useState();return useEffect(()=>{if(!t)return;if(Ce[t]){o(()=>Ce[t]);return}n(true),(async()=>{try{let c=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ce[t]=c.default,o(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[t,e.path,e.extension]),{error:s,loading:r,Icon:l}}function go(t){let e=t,r=new Set;function n(){return e}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?e=o(e):e=o,r.forEach(i=>i());}function l(o){let i=useRef(o?o(e):e);return useSyncExternalStore(s,()=>{let c=o?o(e):e,u=i.current;return Object.is(u,c)||(i.current=c),i.current},()=>o?o(e):e)}return {getSnapshot:n,subscribe:s,setState:a,useStore:l}}function Ie(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],s=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}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,s);});}function ho(t){let e={};for(let r in t){let n=t[r];e[r]=(...s)=>{let a=n(...s);return Ie(a,r),a};}return e}function Do(t,e){let[r,n]=useState(false),[s,a]=useState([]),l=useRef([]),o=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let i=async h=>{o.current?.abort();let d=new AbortController;o.current=d,n(true),a([]),l.current=[],t(h,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:d.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},u=()=>{n(false),a([]),l.current=[];};return [s.map(h=>h.data),i,{loading:r,abort:c,reset:u,response:s}]}function So(t,e){let{key:r}=e,[n,s]=useState();return useEffect(()=>{let a=liveQuery(()=>t(r)).subscribe(s);return ()=>a.unsubscribe()},[r]),n}function qo(t,e){let{key:r}=e,[n,s]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await t(r)).subscribe(l=>{s(o=>o!==l?l:o);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:t,version:e=1,table:r}){return ce||(ce=new er(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function No({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let c=ce.table(t);if(!c)throw new Error(`Table ${t} is not registered in Dexie`);return c};return {table:r,create:async i=>await r().add(i),update:async(i,c)=>await r().update(i,c),put:async(i,c)=>await r().put({...c,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i)}}var jo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=G();return ({url:n,token:s,beforeRequest:a,onCallback:l,headers:o,onUnauthorized:i,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:q,passphrase:x})=>{let M=Et.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:q)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=e(f,w);}catch{try{f=e(f,r);}catch{}}}let T={...l({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,P=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||i;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?s&&(S.Authorization=`Bearer ${s}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=t(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?s:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=t(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:q)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=e(Q,ue);}catch{try{p=e(Q,r);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&c&&!J&&c(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.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 f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),l=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let C=new AbortController;l.current=C,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let P={...t,signal:C.signal,onUploadProgress:N=>{let F=Math.round(N.loaded*100/(N.total||1));s(F);}},x=e.__isVoid?await e(void 0,P):await e(d,void 0,P);t?.logging&&console.log("After response",x),a(x),n(false),s(0),t?.afterResponse&&x?.data&&(x.data=t?.afterResponse(x.data,d)),x.status&&t?.onSuccess&&t?.onSuccess(x,d),!x.status&&t?.onError&&t?.onError(x,d),t?.onAfterResponse?.(x,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Lt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Ht=typeof window<"u"?window:null;function Bn(e={}){let{getTrigger:t=Lt,target:r=Ht,disableHysteresis:n=false,threshold:o=100}=e,a=le.useRef(0),[i,s]=le.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),i}function Vn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=useState(e);return useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Gn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ke(n)||{},c=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=o?ne(useShallow(c)):ne(c),C=useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:i,clear:s,clone:l}],[d,u,h,a,i,s,l]);return t?.selector?t.selector(C):C};var eo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},je=(e,t)=>{let r=false;return le.Children.forEach(e,n=>{if(le.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&je(o.props.children,t))&&(r=true);}}),r},to=(e,t)=>{let r={others:[]},n=o=>{le.Children.forEach(o,a=>{if(le.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;t.includes(i)?r[i]=a:l&&je(l,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function so(){let{format:e}=W();return (t="",r=false)=>ve(t,r,e.number.decSep)}function lo(e,t){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function fo(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!e)return;if(Ae[e]){s(()=>Ae[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=c.default,s(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function go(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(l=>l());}function i(s){let l=useRef(s?s(t):t);return useSyncExternalStore(o,()=>{let c=s?s(t):t,u=l.current;return Object.is(u,c)||(l.current=c),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Ie(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ie(n,o);});}function ho(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let a=n(...o);return Ie(a,r),a};}return t}function Do(e,t){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async h=>{s.current?.abort();let d=new AbortController;s.current=d,n(true),a([]),i.current=[],e(h,C=>{C.isDone||(i.current.push(C),a([...i.current])),(C.isDone||!C.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),C.status?t?.onStream&&t?.onStream(C):t?.onError&&t?.onError(C);},{signal:d.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},u=()=>{n(false),a([]),i.current=[];};return [o.map(h=>h.data),l,{loading:r,abort:c,reset:u,response:o}]}function So(e,t){let{key:r}=t,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>e(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function qo(e,t){let{key:r}=t,[n,o]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await e(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:e,version:t=1,table:r}){return ce||(ce=new tr(e),t=Object.keys(pe).length+1,ce.version(t).stores(pe)),r}function No({name:e,primaryKey:t}){pe[e]||(pe[e]=t);let r=()=>{let c=ce.table(e);if(!c)throw new Error(`Table ${e} is not registered in Dexie`);return c};return {table:r,create:async l=>await r().add(l),update:async(l,c)=>await r().update(l,c),put:async(l,c)=>await r().put({...c,[t]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var jo=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=Nt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:P)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=t(f,w);}catch{try{f=t(f,r);}catch{}}}let T={...i({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,q=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!q&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||l;w&&w(T);}if(typeof R=="function")R(T);else return T},z=(y,R=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=e(p,T);}return z({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:z,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?o:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=e(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&p){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=t(G,fe);}catch{try{p=t(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&c&&!Q&&c(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
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 f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function _e(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"&&_e(n,o);});}function We(e,t,r=""){if(typeof e=="function")return ()=>{let o=e(t);return _e(o,r),o};if(!e||typeof e!="object")return e;let n={};for(let o in e){let a=r?`${r}.${o}`:o;n[o]=We(e[o],t,a);}return n}function Vo(e,t){return We(e,t)}function Wo(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:u,required:h=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!h&&(u==null||u===""))continue;let d=E(a,s,void 0);switch(c){case "eq":if(d!==u)return false;break;case "neq":if(d===u)return false;break;case "gt":if(!(d>u))return false;break;case "gte":if(!(d>=u))return false;break;case "lt":if(!(d<u))return false;break;case "lte":if(!(d<=u))return false;break;case "contains":{if(d==null||u==null)return false;if(Array.isArray(d)){if(!d.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "startsWith":if(d==null||u==null||!String(d).startsWith(String(u)))return false;break;case "endsWith":if(d==null||u==null||!String(d).endsWith(String(u)))return false;break;case "in":if(!Array.isArray(u)||!u.includes(d))return false;break;case "notIn":if(Array.isArray(u)&&u.includes(d))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,u]of i){let h=E(s,c),d=E(l,c);if(h!==d)return u==="asc"?h>d?1:-1:h<d?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(u=>E(l,u)).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}function Jo({label:e="",search:t="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];e||(e="");let a=t?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof e!="string"?o=e.toString().split(new RegExp(`(${a})`,"gi")):o=e.split(new RegExp(`(${a})`,"gi")),jsx(Fragment,{children:o.map((i,s)=>jsx("span",{style:i?.toString()?.toLowerCase()===t?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:i},s))})}function es(e,t,r,n){let o=useRef(void 0),a=useRef({x:0,y:0,width:0,visible:true}),i=useRef(r),s=useRef(true);useEffect(()=>{let l=e.current;if(!l)return;let c=new IntersectionObserver(([u])=>{s.current=u.isIntersecting;},{threshold:0});return c.observe(l),()=>{c.disconnect(),s.current=false;}},[e,t]),useEffect(()=>{i.current=r;},[r]),useLayoutEffect(()=>{if(n)return;let l=e.current,c=t.current;if(!l||!c)return;if(i.current){requestAnimationFrame(()=>{c.style.transform="",c.style.top="",c.style.left="",c.style.removeProperty("width");});return}let u=false,h=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},d=()=>{if(!l||!c||i.current)return;let k=l.getBoundingClientRect(),M=h(l);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(c.style.top="0",c.style.left="0",c.style.display="",c.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,c.style.width=`${k.width}px`):c.style.display="none";},C=()=>{if(!l||!c||i.current)return;let M=c.getBoundingClientRect().height;l.style.height=`${M}px`,l.style.minHeight=`${M}px`;},P=()=>{u||(u=true,o.current=requestAnimationFrame(()=>{d(),u=false;}));},x=()=>{requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),F=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),d();});}),z=new MutationObserver(()=>{P();});N.observe(l),F.observe(c),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,K=()=>{if(!l||!c||i.current||!s.current)return;let k=c.cloneNode(true);k.removeAttribute("style"),l.innerHTML="",l.appendChild(k),requestAnimationFrame(()=>{c.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{l.innerHTML="",requestAnimationFrame(()=>{c.style.display="";});},150);},B=()=>{P();};return c.addEventListener("layout-complete",x),window.addEventListener("scroll",K,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),F.disconnect(),z.disconnect(),c.removeEventListener("layout-complete",x),window.removeEventListener("scroll",K),window.removeEventListener("resize",B);}},[n]);}function ns(e=100){let[t,r]=useState(false);return useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let a of o.getEntries())a.duration>e&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[e]),t}function is(e,t=0){let[r,n]=useState(false),o=useRef(null),a=useRef(null),i=useRef(false);return useLayoutEffect(()=>{let s=e.current;if(!s)return;let l=()=>{i.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{i.current=true,n(true);},t));},c=()=>{let d=s.getBoundingClientRect();if(d.width===0||d.height===0)return;let C=a.current,P={w:d.width,h:d.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,l());};requestAnimationFrame(()=>{c();});let u=new ResizeObserver(()=>{c();}),h=new MutationObserver(()=>{c();});return u.observe(s),h.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),u.disconnect(),h.disconnect();}},[t]),r}export{gt as BgsCoreProvider,wt as DataTypeEnum,Jo as Highlight,St as HttpMethod,Vo as bindApi,qe as capitalizeWords,Mn as createApiHelper,Eo as createDatabase,eo as createElement,go as createStore,No as createTable,vr as debounce,ye as decrypt,$e as decryptString,re as defaultState,Cr as diffJson,me as encrypt,Me as encryptString,Ur as filterDOMPropsLite,Ot as formatBoolean,vt as formatDate,qt as formatNumber,Pt as formatString,Pe as generateCacheKey,xr as generateUUID,Ke as getApiActions,Nr as getDateRangeLabelFromSorted,E as getFieldValue,kr as getInitials,Er as getMinMaxDate,Mr as getTotalMinutes,Sr as isArray,de as isDirtyRaw,V as isNotEmpty,pt as isValidNumber,qr as jsonCopy,we as labelFormatter,$r as mappingData,Ar as mappingUndefinedtoNull,H as moment,ft as objectToQueryString,ae as parseSSEChunk,ve as parseStringToNumber,Wo as query,He as registerApi,wr as renderChildren,Oe as replaceNullStrings,xt as safeUpdate,Or as sorting,to as splitElement,ct as stableStringify,Pr as summary,Fe as unregisterApi,es as useAnchorPosition,At as useApiLoad,ne as useApiLoadStore,Hn as useApiSend,Gn as useApiStore,Do as useApiStream,W as useBgsCore,ns as useCpuBusy,jo as useCreateApi,X as useCrypto,So as useDbLive,qo as useDbLiveFlag,Vn as useDebounce,yn as useDelay,fo as useDynamicSvgImport,lo as useElementBounding,Dn as useFormatted,An as useInterval,On as useKeyPress,is as useLayoutReady,so as useParseStringToNumber,Bn as useScrollTrigger,Le as useStorage,ho 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.44",
|
|
4
4
|
"description": "A React utility library that provides advanced API hooks (fetch, mutation, caching). Built for scalable and flexible data handling in modern React applications.",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|