@bgscore/react-core 1.0.52 → 1.0.54
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 +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var le=require('react'),I=require('dayjs'),nt=require('dayjs/plugin/utc'),ot=require('dayjs/plugin/timezone'),st=require('dayjs/plugin/duration'),at=require('dayjs/plugin/advancedFormat'),it=require('dayjs/plugin/localizedFormat'),ct=require('dayjs/plugin/relativeTime'),lt=require('dayjs/plugin/isSameOrBefore'),pt=require('dayjs/plugin/isSameOrAfter'),ut=require('dayjs/plugin/weekOfYear'),ft=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Mt=require('axios'),Le=require('crypto-js/aes'),He=require('crypto-js/pbkdf2'),Kt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),$e=require('crypto-js/lib-typedarrays'),ce=require('js-cookie'),sr=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 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 ct__default=/*#__PURE__*/_interopDefault(ct);var lt__default=/*#__PURE__*/_interopDefault(lt);var pt__default=/*#__PURE__*/_interopDefault(pt);var ut__default=/*#__PURE__*/_interopDefault(ut);var ft__default=/*#__PURE__*/_interopDefault(ft);var Mt__default=/*#__PURE__*/_interopDefault(Mt);var Le__default=/*#__PURE__*/_interopDefault(Le);var He__default=/*#__PURE__*/_interopDefault(He);var Kt__default=/*#__PURE__*/_interopDefault(Kt);var ie__default=/*#__PURE__*/_interopDefault(ie);var $e__default=/*#__PURE__*/_interopDefault($e);var ce__default=/*#__PURE__*/_interopDefault(ce);var sr__default=/*#__PURE__*/_interopDefault(sr);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(ct__default.default);I__default.default.extend(lt__default.default);I__default.default.extend(pt__default.default);I__default.default.extend(ut__default.default);I__default.default.extend(ft__default.default);var $=I__default.default;function Pe(){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 vr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Ur(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 kr(e,t){return typeof e=="function"?e(t):e}var k=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n){if(o==null)return r;o=o[s];}return o===void 0?r:o},Er={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(r,t):"";return o<s?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(n,t):"";return o>s?1:-1}else return r>n?1:-1}))},Nr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?k(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Kr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function dt(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,s)=>(o[s]=n[s],o),{})):n})??""}function ve(e,t){return dt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Mr(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 me(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 mt(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&&me(n,r))return true}return false}function Ue(e="",t=false,r="."){if(!mt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var yt=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 $r(e){let t={};for(let r in e)yt.has(r)&&(t[r]=e[r]);return t}function Lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Hr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map($).sort((s,c)=>s.diff(c)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Fr(e,t){let r=$(e),n=$(t),o=r.month()===n.month(),s=r.year()===n.year();return s&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:s?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Br(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=$(e,"HH:mm",true),n=$(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 jr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let s=e.map((l,i)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,i):l,R=typeof r=="function"?r(l,i):l;return {label:p,value:R,index:i,rowData:l}}else {let p=typeof t=="function"?t(l,i):k(l,t,""),R=typeof r=="function"?r(l,i):k(l,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:l}}});if(!n)return [[{items:s}],s];let c=Array.isArray(n)?n:[n],a=new Map;for(let l of s){let i=l.rowData,p=c.map(d=>String(typeof i=="object"?k(i,d,"")??"":"")).join(o),R=a.get(p)||[];R.push(l),a.set(p,R);}return [Array.from(a.entries()).map(([l,i])=>({group:l,items:i})),s]};function gt(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],s=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(c=>{r.push(`${s}=${encodeURIComponent(c)}`);}):typeof o=="object"&&o!==null?r.push(gt(o,s)):r.push(`${s}=${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 ke=le.createContext(void 0);function W(){let e=le.useContext(ke);return e||{}}var Tt=({children:e,value:t})=>{let r={...t};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:s,isLocal:c}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&$.locale(o,s??{},c);}})();},[t.localeConfig]),jsxRuntime.jsx(ke.Provider,{value:r,children:e})};function Ct(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let s=JSON.stringify(n),c=JSON.stringify(o);if(s!==c)return false}else if(n!==o)return false}return true}var ne={loading:false,response:void 0,isCancel:false},oe=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,s={...o,...n};Ct(o,s)||e(c=>({states:{...c.states,[r]:s}}));}}));var ye=new Map,Ee=(e,t)=>{ye.set(e,t);},Ne=e=>{ye.delete(e);},Ke=e=>ye.get(e);function St(...e){let[t,r,n]=e,o=t.__isVoid,s=t.__path||t.name,c=o?void 0:r,a=o?r:n,l=a?.storeName||`${s}`,i=a?.mergeStrategy??"replace",[p,R,d,h]=oe(shallow.useShallow(u=>{let T=u.states[l]??ne;return [T.loading,T.isCancel,T.response,u.updateState]})),{storageKey:x,cache:C,clearPreviousData:N,refetchOnWindowFocus:H}=W(),L=le.useRef(void 0),v=le.useRef(null),{cacheName:B,cacheKey:F,timeout:E,timeoutUnit:K,persistence:Z,cacheEnabled:ee}=le.useMemo(()=>{let u=x?localStorage.get(x):void 0,T=typeof a?.cache=="object"?a?.cache?.cacheName??s:s,w=ve({...c,session:u},typeof a?.cache=="object"?a?.cache?.cacheKey:void 0),m=false;typeof C?.enabled=="boolean"&&(m=C.enabled);let A=false;typeof C?.persistence=="boolean"&&(A=C?.persistence),typeof a?.cache=="object"&&typeof a?.cache?.persistence=="boolean"&&(A=a?.cache?.persistence??false);let P=60*5,q="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(P=C.timeout,q="s"):typeof C?.timeout=="object"&&(P=C?.timeout.value,q=C?.timeout.unit)),V(a?.cache)&&(typeof a?.cache!="boolean"?(typeof a?.cache?.enabled=="boolean"?m=a.cache.enabled:m=true,typeof a?.cache?.timeout=="number"?(P=a.cache.timeout,q="s"):typeof a?.cache?.timeout=="object"&&(P=a.cache.timeout.value,q=a.cache.timeout.unit)):m=a.cache),{cacheName:T,cacheKey:w,timeout:P,timeoutUnit:q,persistence:A,cacheEnabled:m}},[a?.cache,c,x,C,s]);le.useEffect(()=>{let u=JSON.stringify(V(L.current)?L.current:""),T=JSON.stringify(V(c)?c:""),w=L.current===void 0;(u!==T||w)&&!a?.hold&&((a?.clearPreviousData??N)&&h(l,{response:null}),z(),L.current=c),a?.onChange&&a?.onChange(c,S);},[c,a?.clearPreviousData,N,a?.hold,...a?.trigger||[]]),le.useEffect(()=>{let u=async()=>{!Z&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u),v.current?.abort();}},[Z,B,F,l,v]);let z=le.useCallback(async u=>{let T=c;if(a?.hold&&a?.logging&&console.log("Hold active"),a?.beforeRequest&&(T=a?.beforeRequest(c)),ee&&!u&&!R&&window.isSecureContext){a?.onBeforeRequest&&a?.onBeforeRequest(c);let w=await caches.open(B),A=await(await w.match(F))?.json();if(A){let{data:P,expired:q}=A;if($().isAfter(q))await w.delete(F);else {a?.afterResponse&&P?.data&&(P.data=a?.afterResponse(P.data,T)),a?.logging&&console.log("After request: Using Cache",P),P?.status&&a?.onSuccess?.(P,T),a?.onAfterResponse?.(P,T),h(l,{loading:false,response:P});return}}}if(typeof t=="function"){v.current?.abort();let w=new AbortController;v.current=w,h(l,{loading:true}),a?.logging&&console.log("Before request",c),a?.onBeforeRequest&&a?.onBeforeRequest(c);let m=o?await t(void 0,{...a,signal:w.signal}):await t(T,void 0,{...a,signal:w.signal});if(m.__rawData=m.data,i==="append"&&V(d.__rawData)&&V(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let A=[...d?.__rawData??[],...m.data??[]];m.data=A,m.__rawData=A;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let A={...d.__rawData,...m.data};m.data=A,m.__rawData=A;}}if(a?.afterResponse&&m?.data&&(m.data=a?.afterResponse(m.data,T)),a?.logging&&console.log("After request",m),m.status&&a?.onSuccess?.(m,T),m.status||a?.onError?.(m,T),a?.onAfterResponse?.(m,T),h(l,{loading:false,response:m,isCancel:false}),ee&&m.status){let A=$().add(E,K).toISOString(),P={data:m,expired:A},q=await caches.open(B),Y=new Response(JSON.stringify(P));await q.put(F,Y);}}},[c,t,a,R,B,F,E,K,ee,d]);le.useEffect(()=>{if(a?.refreshInterval){let u=typeof a.refreshInterval=="number"?a.refreshInterval:a.refreshInterval.value,T=typeof a.refreshInterval=="number"?"s":a.refreshInterval.unit,w=setInterval(()=>{z();},$.duration(u,T).asMilliseconds());return ()=>clearInterval(w)}return ()=>{}},[a?.refreshInterval,z]);let O=le.useRef(null),{enabledRefetch:g,timeoutRefetch:b,timeoutUnitRefetch:f}=le.useMemo(()=>{let u=a?.refetchOnWindowFocus?.enabled??H?.enabled??false,T=a?.refetchOnWindowFocus?.timeout??H?.timeout,w=typeof T=="number"?T:T?.value??60*5,m=typeof T=="object"?T.unit:"s";return {enabledRefetch:u,timeoutRefetch:w,timeoutUnitRefetch:m}},[a?.refetchOnWindowFocus,H]);le.useEffect(()=>{if(!g||a?.hold)return;let u=$.duration(b,f).asMilliseconds(),T=()=>{let m=Date.now(),A=O.current;A!==null&&m-A>=u&&z(),O.current=null;},w=()=>{O.current=Date.now();};return window.addEventListener("focus",T),window.addEventListener("blur",w),()=>{window.removeEventListener("focus",T),window.removeEventListener("blur",w);}},[g,b,f,z,a?.hold]);let D=le.useCallback(()=>{v.current?.abort(),v.current=null,h(l,{loading:false,isCancel:true});},[l,v]),y=le.useCallback(()=>{h(l,{loading:false,response:null});},[l]),S=le.useMemo(()=>({...d,loading:p,refresh:z,abort:D,clear:y,response:d,isCancel:R,clone:(u,T)=>St(t,u,{storeName:`${s}-clone`,...T})}),[d,p,z,D,y,R,t]);return le.useEffect(()=>(Ee(l,S),()=>{Ne(l);}),[S,l]),[d?.data,S]}async function an(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(s=>(s.POST="POST",s.PUT="PUT",s.PATCH="PATCH",s.DELETE="DELETE",s.GET="GET",s))(wt||{}),Ot=(O=>(O.number="number",O.currency="currency",O.percent="percent",O.date="date",O.dateTime="dateTime",O.month="month",O.year="year",O.time="time",O.timestamp="timestamp",O.string="string",O.textarea="textarea",O.code="code",O.password="password",O.boolean="boolean",O.toggle="toggle",O.email="email",O.phone="phone",O.url="url",O.json="json",O.file="file",O.image="image",O.array="array",O.object="object",O.enum="enum",O.user="user",O.department="department",O.status="status",O))(Ot||{});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)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?vt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function vt(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:s}){if(s){let R=String(e??"").trim().trim();if(me(R,r))return R}if(e==null||isNaN(Number(e)))return "";let c=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);c=Math[o](c*p)/p;}else c=Math[o](c);else if(typeof n=="number"){let p=Math.pow(10,n);c=Math.trunc(c*p)/p;}let a=0;if(n==="auto"){let p=c.toString(),R=p.indexOf(".");R!==-1&&(a=p.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?a:n||0,maximumFractionDigits:n==="auto"?a:n||0,minimumIntegerDigits:1};return c.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Ut(e,{display:t,value:r}){if(!V(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function gn(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 s=setInterval(o,t);return ()=>clearInterval(s)}},[t]);}function bn(e,t,r){let[n,o]=le.useState(false),s=(i,p)=>typeof e=="string"&&i===e||typeof e=="number"&&p===e,c=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),a=i=>{let{key:p,keyCode:R}=i,d=i.ctrlKey,h=i.altKey,x=i.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")s(p,R)&&(t==="ctrl"&&d||t==="alt"&&h||t==="shift"&&x)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?d:N==="alt"?h:N==="shift"?x:false);s(p,R)&&C&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else s(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},l=({key:i,keyCode:p})=>{s(i,p)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",a),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",a),window.removeEventListener("keyup",l);}),[]),n}function be(e,t){let r=$e__default.default.random(16),n=$e__default.default.random(16),o=He__default.default(t,r,{keySize:256/32,iterations:1e3}),s=Le__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:s}}function Te(e,t){let{salt:r,iv:n,encrypted:o}=e,s=He__default.default(t,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),a=Le__default.default.decrypt(o,s,{iv:ie__default.default.parse(n)}).toString(Kt__default.default);return JSON.parse(a)}function Fe(e,t){return JSON.stringify(be(e,t))}function Be(e,t){return Te(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return Te(t,r||e)},encryptString(t,r){return Fe(t,r||e)},decryptString(t,r){return Be(t,r||e)}}}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:s,handleToast:c,handleAuthorization:a,disabledToastWhenCancel:l,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:d})=>{let{encrypt:h,decrypt:x,passphrase:C}=X(),N=Mt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:R)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:d;try{u=x(u,q);}catch{try{u=x(u,C);}catch{}}}let m={...n({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:l,P=a?a(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&c&&(!y||!A)&&c(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||s;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:i}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(T.Authorization=`Bearer ${t}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),r&&(f=r(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:p)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;f=h(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...o,...u.headers};if(u.token){let U=typeof u.token=="boolean"?t:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(r&&(w=r(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:p)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:d;w=h(w,U);}let A=await fetch(`${e}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:R)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;try{f=x(G,de);}catch{try{f=x(G,C);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&c&&!Q&&c(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
|
|
1
|
+
'use strict';var le=require('react'),I=require('dayjs'),nt=require('dayjs/plugin/utc'),ot=require('dayjs/plugin/timezone'),st=require('dayjs/plugin/duration'),at=require('dayjs/plugin/advancedFormat'),it=require('dayjs/plugin/localizedFormat'),ct=require('dayjs/plugin/relativeTime'),lt=require('dayjs/plugin/isSameOrBefore'),pt=require('dayjs/plugin/isSameOrAfter'),ut=require('dayjs/plugin/weekOfYear'),ft=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Mt=require('axios'),Le=require('crypto-js/aes'),He=require('crypto-js/pbkdf2'),Kt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),$e=require('crypto-js/lib-typedarrays'),ce=require('js-cookie'),sr=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 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 ct__default=/*#__PURE__*/_interopDefault(ct);var lt__default=/*#__PURE__*/_interopDefault(lt);var pt__default=/*#__PURE__*/_interopDefault(pt);var ut__default=/*#__PURE__*/_interopDefault(ut);var ft__default=/*#__PURE__*/_interopDefault(ft);var Mt__default=/*#__PURE__*/_interopDefault(Mt);var Le__default=/*#__PURE__*/_interopDefault(Le);var He__default=/*#__PURE__*/_interopDefault(He);var Kt__default=/*#__PURE__*/_interopDefault(Kt);var ie__default=/*#__PURE__*/_interopDefault(ie);var $e__default=/*#__PURE__*/_interopDefault($e);var ce__default=/*#__PURE__*/_interopDefault(ce);var sr__default=/*#__PURE__*/_interopDefault(sr);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(ct__default.default);I__default.default.extend(lt__default.default);I__default.default.extend(pt__default.default);I__default.default.extend(ut__default.default);I__default.default.extend(ft__default.default);var $=I__default.default;function Pe(){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 vr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Ur(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 kr(e,t){return typeof e=="function"?e(t):e}var k=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n){if(o==null)return r;o=o[s];}return o===void 0?r:o},Er={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(r,t):"";return o<s?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(n,t):"";return o>s?1:-1}else return r>n?1:-1}))},Nr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?k(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Kr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function dt(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,s)=>(o[s]=n[s],o),{})):n})??""}function ve(e,t){return dt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Mr(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 me(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 mt(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&&me(n,r))return true}return false}function Ue(e="",t=false,r="."){if(!mt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var yt=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 $r(e){let t={};for(let r in e)yt.has(r)&&(t[r]=e[r]);return t}function Lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Hr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map($).sort((s,c)=>s.diff(c)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Fr(e,t){let r=$(e),n=$(t),o=r.month()===n.month(),s=r.year()===n.year();return s&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:s?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Br(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=$(e,"HH:mm",true),n=$(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 jr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let s=e.map((l,i)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,i):l,R=typeof r=="function"?r(l,i):l;return {label:p,value:R,index:i,rowData:l}}else {let p=typeof t=="function"?t(l,i):k(l,t,""),R=typeof r=="function"?r(l,i):k(l,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:l}}});if(!n)return [[{items:s}],s];let c=Array.isArray(n)?n:[n],a=new Map;for(let l of s){let i=l.rowData,p=c.map(d=>String(typeof i=="object"?k(i,d,"")??"":"")).join(o),R=a.get(p)||[];R.push(l),a.set(p,R);}return [Array.from(a.entries()).map(([l,i])=>({group:l,items:i})),s]};function gt(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],s=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(c=>{r.push(`${s}=${encodeURIComponent(c)}`);}):typeof o=="object"&&o!==null?r.push(gt(o,s)):r.push(`${s}=${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 ke=le.createContext(void 0);function W(){let e=le.useContext(ke);return e||{}}var Tt=({children:e,value:t})=>{let r={...t};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:s,isLocal:c}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&$.locale(o,s??{},c);}})();},[t.localeConfig]),jsxRuntime.jsx(ke.Provider,{value:r,children:e})};function Ct(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let s=JSON.stringify(n),c=JSON.stringify(o);if(s!==c)return false}else if(n!==o)return false}return true}var ne={loading:false,response:void 0,isCancel:false},oe=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,s={...o,...n};Ct(o,s)||e(c=>({states:{...c.states,[r]:s}}));}}));var ye=new Map,Ee=(e,t)=>{ye.set(e,t);},Ne=e=>{ye.delete(e);},Ke=e=>ye.get(e);function St(...e){let[t,r,n]=e,o=t.__isVoid,s=t.__path||t.name,c=o?void 0:r,a=o?r:n,l=a?.storeName||`${s}`,i=a?.mergeStrategy??"replace",[p,R,d,h]=oe(shallow.useShallow(u=>{let T=u.states[l]??ne;return [T.loading,T.isCancel,T.response,u.updateState]})),{storageKey:x,cache:C,clearPreviousData:N,refetchOnWindowFocus:H}=W(),L=le.useRef(void 0),v=le.useRef(null),{cacheName:B,cacheKey:F,timeout:E,timeoutUnit:K,persistence:Z,cacheEnabled:ee}=le.useMemo(()=>{let u=x?localStorage.getItem(x):void 0,T=typeof a?.cache=="object"?a?.cache?.cacheName??s:s,w=ve({...c,session:u},typeof a?.cache=="object"?a?.cache?.cacheKey:void 0),m=false;typeof C?.enabled=="boolean"&&(m=C.enabled);let A=false;typeof C?.persistence=="boolean"&&(A=C?.persistence),typeof a?.cache=="object"&&typeof a?.cache?.persistence=="boolean"&&(A=a?.cache?.persistence??false);let P=60*5,q="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(P=C.timeout,q="s"):typeof C?.timeout=="object"&&(P=C?.timeout.value,q=C?.timeout.unit)),V(a?.cache)&&(typeof a?.cache!="boolean"?(typeof a?.cache?.enabled=="boolean"?m=a.cache.enabled:m=true,typeof a?.cache?.timeout=="number"?(P=a.cache.timeout,q="s"):typeof a?.cache?.timeout=="object"&&(P=a.cache.timeout.value,q=a.cache.timeout.unit)):m=a.cache),{cacheName:T,cacheKey:w,timeout:P,timeoutUnit:q,persistence:A,cacheEnabled:m}},[a?.cache,c,x,C,s]);le.useEffect(()=>{let u=JSON.stringify(V(L.current)?L.current:""),T=JSON.stringify(V(c)?c:""),w=L.current===void 0;(u!==T||w)&&!a?.hold&&((a?.clearPreviousData??N)&&h(l,{response:null}),z(),L.current=c),a?.onChange&&a?.onChange(c,S);},[c,a?.clearPreviousData,N,a?.hold,...a?.trigger||[]]),le.useEffect(()=>{let u=async()=>{!Z&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u),v.current?.abort();}},[Z,B,F,l,v]);let z=le.useCallback(async u=>{let T=c;if(a?.hold&&a?.logging&&console.log("Hold active"),a?.beforeRequest&&(T=a?.beforeRequest(c)),ee&&!u&&!R&&window.isSecureContext){a?.onBeforeRequest&&a?.onBeforeRequest(c);let w=await caches.open(B),A=await(await w.match(F))?.json();if(A){let{data:P,expired:q}=A;if($().isAfter(q))await w.delete(F);else {a?.afterResponse&&P?.data&&(P.data=a?.afterResponse(P.data,T)),a?.logging&&console.log("After request: Using Cache",P),P?.status&&a?.onSuccess?.(P,T),a?.onAfterResponse?.(P,T),h(l,{loading:false,response:P});return}}}if(typeof t=="function"){v.current?.abort();let w=new AbortController;v.current=w,h(l,{loading:true}),a?.logging&&console.log("Before request",c),a?.onBeforeRequest&&a?.onBeforeRequest(c);let m=o?await t(void 0,{...a,signal:w.signal}):await t(T,void 0,{...a,signal:w.signal});if(m.__rawData=m.data,i==="append"&&V(d.__rawData)&&V(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let A=[...d?.__rawData??[],...m.data??[]];m.data=A,m.__rawData=A;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let A={...d.__rawData,...m.data};m.data=A,m.__rawData=A;}}if(a?.afterResponse&&m?.data&&(m.data=a?.afterResponse(m.data,T)),a?.logging&&console.log("After request",m),m.status&&a?.onSuccess?.(m,T),m.status||a?.onError?.(m,T),a?.onAfterResponse?.(m,T),h(l,{loading:false,response:m,isCancel:false}),ee&&m.status){let A=$().add(E,K).toISOString(),P={data:m,expired:A},q=await caches.open(B),Y=new Response(JSON.stringify(P));await q.put(F,Y);}}},[c,t,a,R,B,F,E,K,ee,d]);le.useEffect(()=>{if(a?.refreshInterval){let u=typeof a.refreshInterval=="number"?a.refreshInterval:a.refreshInterval.value,T=typeof a.refreshInterval=="number"?"s":a.refreshInterval.unit,w=setInterval(()=>{z();},$.duration(u,T).asMilliseconds());return ()=>clearInterval(w)}return ()=>{}},[a?.refreshInterval,z]);let O=le.useRef(null),{enabledRefetch:g,timeoutRefetch:b,timeoutUnitRefetch:f}=le.useMemo(()=>{let u=a?.refetchOnWindowFocus?.enabled??H?.enabled??false,T=a?.refetchOnWindowFocus?.timeout??H?.timeout,w=typeof T=="number"?T:T?.value??60*5,m=typeof T=="object"?T.unit:"s";return {enabledRefetch:u,timeoutRefetch:w,timeoutUnitRefetch:m}},[a?.refetchOnWindowFocus,H]);le.useEffect(()=>{if(!g||a?.hold)return;let u=$.duration(b,f).asMilliseconds(),T=()=>{let m=Date.now(),A=O.current;A!==null&&m-A>=u&&z(),O.current=null;},w=()=>{O.current=Date.now();};return window.addEventListener("focus",T),window.addEventListener("blur",w),()=>{window.removeEventListener("focus",T),window.removeEventListener("blur",w);}},[g,b,f,z,a?.hold]);let D=le.useCallback(()=>{v.current?.abort(),v.current=null,h(l,{loading:false,isCancel:true});},[l,v]),y=le.useCallback(()=>{h(l,{loading:false,response:null});},[l]),S=le.useMemo(()=>({...d,loading:p,refresh:z,abort:D,clear:y,response:d,isCancel:R,clone:(u,T)=>St(t,u,{storeName:`${s}-clone`,...T})}),[d,p,z,D,y,R,t]);return le.useEffect(()=>(Ee(l,S),()=>{Ne(l);}),[S,l]),[d?.data,S]}async function an(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(s=>(s.POST="POST",s.PUT="PUT",s.PATCH="PATCH",s.DELETE="DELETE",s.GET="GET",s))(wt||{}),Ot=(O=>(O.number="number",O.currency="currency",O.percent="percent",O.date="date",O.dateTime="dateTime",O.month="month",O.year="year",O.time="time",O.timestamp="timestamp",O.string="string",O.textarea="textarea",O.code="code",O.password="password",O.boolean="boolean",O.toggle="toggle",O.email="email",O.phone="phone",O.url="url",O.json="json",O.file="file",O.image="image",O.array="array",O.object="object",O.enum="enum",O.user="user",O.department="department",O.status="status",O))(Ot||{});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)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?vt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function vt(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:s}){if(s){let R=String(e??"").trim().trim();if(me(R,r))return R}if(e==null||isNaN(Number(e)))return "";let c=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);c=Math[o](c*p)/p;}else c=Math[o](c);else if(typeof n=="number"){let p=Math.pow(10,n);c=Math.trunc(c*p)/p;}let a=0;if(n==="auto"){let p=c.toString(),R=p.indexOf(".");R!==-1&&(a=p.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?a:n||0,maximumFractionDigits:n==="auto"?a:n||0,minimumIntegerDigits:1};return c.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Ut(e,{display:t,value:r}){if(!V(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function gn(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 s=setInterval(o,t);return ()=>clearInterval(s)}},[t]);}function bn(e,t,r){let[n,o]=le.useState(false),s=(i,p)=>typeof e=="string"&&i===e||typeof e=="number"&&p===e,c=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),a=i=>{let{key:p,keyCode:R}=i,d=i.ctrlKey,h=i.altKey,x=i.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")s(p,R)&&(t==="ctrl"&&d||t==="alt"&&h||t==="shift"&&x)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?d:N==="alt"?h:N==="shift"?x:false);s(p,R)&&C&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else s(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},l=({key:i,keyCode:p})=>{s(i,p)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",a),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",a),window.removeEventListener("keyup",l);}),[]),n}function be(e,t){let r=$e__default.default.random(16),n=$e__default.default.random(16),o=He__default.default(t,r,{keySize:256/32,iterations:1e3}),s=Le__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:s}}function Te(e,t){let{salt:r,iv:n,encrypted:o}=e,s=He__default.default(t,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),a=Le__default.default.decrypt(o,s,{iv:ie__default.default.parse(n)}).toString(Kt__default.default);return JSON.parse(a)}function Fe(e,t){return JSON.stringify(be(e,t))}function Be(e,t){return Te(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return Te(t,r||e)},encryptString(t,r){return Fe(t,r||e)},decryptString(t,r){return Be(t,r||e)}}}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:s,handleToast:c,handleAuthorization:a,disabledToastWhenCancel:l,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:d})=>{let{encrypt:h,decrypt:x,passphrase:C}=X(),N=Mt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:R)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:d;try{u=x(u,q);}catch{try{u=x(u,C);}catch{}}}let m={...n({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:l,P=a?a(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&c&&(!y||!A)&&c(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||s;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:i}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(T.Authorization=`Bearer ${t}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),r&&(f=r(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:p)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;f=h(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...o,...u.headers};if(u.token){let U=typeof u.token=="boolean"?t:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(r&&(w=r(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:p)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:d;w=h(w,U);}let A=await fetch(`${e}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:R)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;try{f=x(G,de);}catch{try{f=x(G,C);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&c&&!Q&&c(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
|
|
2
2
|
|
|
3
3
|
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let M=ae(_);D({status:!0,data:M,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0});}catch(S){let u=S?.name==="AbortError";D({status:false,data:void 0,message:S instanceof Error?S.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Fn(e,t){let[r,n]=le.useState(false),[o,s]=le.useState(),[c,a]=le.useState(0),l=le.useRef(null);return le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let h=new AbortController;l.current=h,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let x={...t,signal:h.signal,onUploadProgress:N=>{let H=Math.round(N.loaded*100/(N.total||1));a(H);}},C=e.__isVoid?await e(void 0,x):await e(d,void 0,x);t?.logging&&console.log("After response",C),s(C),n(false),a(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,d)),C.status&&t?.onSuccess&&t?.onSuccess(C,d),!C.status&&t?.onError&&t?.onError(C,d),t?.onAfterResponse?.(C,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),a(0);},progress:c,reset:()=>{n(false),a(0),s(null);}}]}function Ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,s=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&s!==void 0&&e.current<s?false:(e.current||0)>n}var Ft=typeof window<"u"?window:null;function In(e={}){let{getTrigger:t=Ht,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=e,s=le__default.default.useRef(0),[c,a]=le__default.default.useState(()=>t(s,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let l=()=>{a(t(s,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),c}var Ve=zustand.create(e=>({state:{},setStateValue:(t,r)=>e(n=>({state:{...n.state,[t]:r}}))})),jt={local:{get:e=>localStorage.getItem(e),set:(e,t)=>localStorage.setItem(e,t),remove:e=>localStorage.removeItem(e)},cookie:{get:e=>ce__default.default.get(e)??null,set:(e,t,r)=>{if(!r||r.type!=="cookie"){ce__default.default.set(e,t);return}let{type:n,...o}=r;ce__default.default.set(e,t,o);},remove:e=>ce__default.default.remove(e,{path:"/"})}};function Qn(e,t={}){let{encrypt:r,decrypt:n}=X(),o=t.type??"local",s=t.defaultValue,c=jt[o],a=o==="cookie",l=Ve(h=>h.state[e]),i=Ve(h=>h.setStateValue),p=()=>{let h=c.get(e);if(!h)return s;try{let x=JSON.parse(h);return a?x:n(x)}catch{return h}};le.useEffect(()=>{l===void 0&&i(e,p());},[e]);let R=le.useCallback(h=>{try{let x=a?h:r(h);c.set(e,JSON.stringify(x),t),i(e,h);}catch(x){console.error("useStorage set error:",x);}},[e,r,a,t]),d=le.useCallback(()=>{c.remove(e),i(e,s);},[e,s]);return le.useEffect(()=>{if(o!=="local")return;let h=x=>{if(x.key===e){if(!x.newValue){i(e,s);return}try{i(e,n(JSON.parse(x.newValue)));}catch{i(e,x.newValue);}}};return window.addEventListener("storage",h),()=>window.removeEventListener("storage",h)},[e,o,n,s]),[l,[R,d]]}function Zn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,s]=le.useState(e);return le.useEffect(()=>{let c=setTimeout(()=>{s(e),n&&n(e);},r);return ()=>clearTimeout(c)},[e,r,n]),o}var ao=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:s,abort:c,clear:a,clone:l}=Ke(n)||{},i=x=>{let C=x.states[n]??ne;return {loading:C.loading,isCancel:C.isCancel,response:C.response}},{loading:p,isCancel:R,response:d}=o?oe(shallow.useShallow(i)):oe(i),h=le.useMemo(()=>[d?.data,{...d,loading:p,isCancel:R,refresh:s,abort:c,clear:a,clone:l}],[d,p,R,s,c,a,l]);return t?.selector?t.selector(h):h};var lo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},ze=(e,t)=>{let r=false;return le__default.default.Children.forEach(e,n=>{if(le__default.default.isValidElement(n)){let o=n,s=n.type.displayName;(t.includes(s)||o.props?.children&&ze(o.props.children,t))&&(r=true);}}),r},po=(e,t)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,s=>{if(le__default.default.isValidElement(s)){let c=s.type.displayName,a=s,l=a.props?.children;t.includes(c)?r[c]=s:l&&ze(l,t)?n(a.props.children):r.others.push(s);}else r.others.push(s);});};return n(e),r};function yo(){let{format:e}=W();return (t="",r=false)=>Ue(t,r,e.number.decSep)}function ho(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 s=e.getBoundingClientRect();r.current={width:s.width,height:s.height,top:s.top,left:s.left,right:s.right,bottom:s.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function xo(e,t){let[r,n]=le.useState(false),[o,s]=le.useState(),[c,a]=le.useState();return le.useEffect(()=>{if(!e)return;if(Ae[e]){a(()=>Ae[e]);return}n(true),(async()=>{try{let i=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=i.default,a(()=>i.default);}catch(i){s(i),console.error(i);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:c}}function So(e){let t=e,r=new Set;function n(){return t}function o(a){return r.add(a),()=>r.delete(a)}function s(a){typeof a=="function"?t=a(t):t=a,r.forEach(l=>l());}function c(a){let l=le.useRef(a?a(t):t);return le.useSyncExternalStore(o,()=>{let i=a?a(t):t,p=l.current;return Object.is(p,i)||(l.current=i),l.current},()=>a?a(t):t)}return {getSnapshot:n,subscribe:o,setState:s,useStore:c}}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 Oo(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let s=n(...o);return _e(s,r),s};}return t}function qo(e,t){let[r,n]=le.useState(false),[o,s]=le.useState([]),c=le.useRef([]),a=le.useRef(null);le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{a.current?.abort();}},[]);let l=async R=>{a.current?.abort();let d=new AbortController;a.current=d,n(true),s([]),c.current=[],e(R,h=>{h.isDone||(c.current.push(h),s([...c.current])),(h.isDone||!h.status)&&(n(false),t?.onDone&&t?.onDone([...c.current])),h.status?t?.onStream&&t?.onStream(h):t?.onError&&t?.onError(h);},{signal:d.signal});},i=()=>{a.current?.abort(),a.current=null,n(false);},p=()=>{n(false),s([]),c.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:i,reset:p,response:o}]}function No(e,t){let{key:r}=t,[n,o]=le.useState();return le.useEffect(()=>{let s=sr.liveQuery(()=>e(r)).subscribe(o);return ()=>s.unsubscribe()},[r]),n}function Lo(e,t){let{key:r}=t,[n,o]=le.useState(false);return le.useEffect(()=>{let s=sr.liveQuery(async()=>!!await e(r)).subscribe(c=>{o(a=>a!==c?c:a);});return ()=>s.unsubscribe()},[r]),n}function Je(e){let t=[...e],r=s=>s==null?"":String(s),n=(s,c)=>{if(Array.isArray(c.and))return c.and.every(a=>n(s,a));if(Array.isArray(c.or))return c.or.some(a=>n(s,a));for(let[a,l]of Object.entries(c)){if(a==="and"||a==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!R&&(p==null||p===""))continue;let d=k(s,a,void 0);switch(i){case "eq":if(d!==p)return false;break;case "neq":if(d===p)return false;break;case "gt":if(!(d>p))return false;break;case "gte":if(!(d>=p))return false;break;case "lt":if(!(d<p))return false;break;case "lte":if(!(d<=p))return false;break;case "contains":{if(d==null||p==null)return false;if(Array.isArray(d)){if(!d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(d==null||p==null||!String(d).startsWith(String(p)))return false;break;case "endsWith":if(d==null||p==null||!String(d).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(d))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(d))return false;break;default:return false}}return true},o={where(s){return s&&(t=t.filter(c=>n(c,s))),o},sort(s){let c=Object.entries(s);return t.sort((a,l)=>{for(let[i,p]of c){let R=k(a,i),d=k(l,i);if(R!==d)return p==="asc"?R>d?1:-1:R<d?1:-1}return 0}),o},distinct(s){let c=Array.isArray(s)?s:s?[s]:[],a=new Set;return t=t.filter(l=>{let i=c.length?c.map(p=>k(l,p)).join("|"):JSON.stringify(l);return a.has(i)?false:(a.add(i),true)}),o},select(s){return t=t.map(c=>{let a={};for(let l of s)a[l]=k(c,l);return a}),o},paginate(s,c){let a=(s-1)*c,l=a+c;return {data:t.slice(a,l),total:t.length,page:s,pageSize:c,totalPages:Math.ceil(t.length/c)}},groupBy(s){let c={};for(let a of t){let l=k(a,s),i=String(l??"undefined");c[i]||(c[i]=[]),c[i].push(a);}return c},map(s){return t=t.map(s),o},reduce(s,c){return t.reduce(s,c)},limit(s){return t=t.slice(0,s),o},get(){return t}};return o}var pe,ue={};function Wo({dbName:e,version:t=1,table:r}){return pe||(pe=new sr__default.default(e),t=Object.keys(ue).length+1,pe.version(t).stores(ue)),r}function Yo({name:e,primaryKey:t}){ue[e]||(ue[e]=t);let r=()=>{let p=pe.table(e);if(!p)throw new Error(`Table ${e} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=t,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[t]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),d=Je(R);return i?.where&&(d=d.where(i.where)),i?.orderBy&&(d=d.sort(i.orderBy)),d.get()}}}var rs=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:s,onCallback:c,headers:a,onUnauthorized:l,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:d,encryptRequest:h,encryptResponse:x,passphrase:C})=>{let N=Mt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...a}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:x)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:C;try{u=t(u,q);}catch{try{u=t(u,r);}catch{}}}let m={...c({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:R,P=p?p(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&i&&(!y||!A)&&i(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||l;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:d}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?o&&(T.Authorization=`Bearer ${o}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),s&&(f=s(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:h)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;f=e(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...a,...u.headers};if(u.token){let U=typeof u.token=="boolean"?o:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(s&&(w=s(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:h)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:C;w=e(w,U);}let A=await fetch(`${n}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:x)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;try{f=t(G,de);}catch{try{f=t(G,r);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&i&&!Q&&i(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
|
|
4
4
|
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import le,{createContext,useContext,useEffect,useRef,useMemo,useCallback,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import nt from'dayjs/plugin/utc';import ot from'dayjs/plugin/timezone';import st from'dayjs/plugin/duration';import at from'dayjs/plugin/advancedFormat';import it from'dayjs/plugin/localizedFormat';import ct from'dayjs/plugin/relativeTime';import lt from'dayjs/plugin/isSameOrBefore';import pt from'dayjs/plugin/isSameOrAfter';import ut from'dayjs/plugin/weekOfYear';import ft from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Mt from'axios';import Le from'crypto-js/aes';import He from'crypto-js/pbkdf2';import Kt from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import $e from'crypto-js/lib-typedarrays';import ce from'js-cookie';import sr,{liveQuery}from'dexie';I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(ct);I.extend(lt);I.extend(pt);I.extend(ut);I.extend(ft);var $=I;function Pe(){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 vr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Ur(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 kr(e,t){return typeof e=="function"?e(t):e}var k=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n){if(o==null)return r;o=o[s];}return o===void 0?r:o},Er={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(r,t):"";return o<s?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(n,t):"";return o>s?1:-1}else return r>n?1:-1}))},Nr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?k(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Kr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function dt(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,s)=>(o[s]=n[s],o),{})):n})??""}function ve(e,t){return dt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Mr(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 me(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 mt(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&&me(n,r))return true}return false}function Ue(e="",t=false,r="."){if(!mt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var yt=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 $r(e){let t={};for(let r in e)yt.has(r)&&(t[r]=e[r]);return t}function Lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Hr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map($).sort((s,c)=>s.diff(c)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Fr(e,t){let r=$(e),n=$(t),o=r.month()===n.month(),s=r.year()===n.year();return s&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:s?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Br(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=$(e,"HH:mm",true),n=$(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 jr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let s=e.map((l,i)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,i):l,R=typeof r=="function"?r(l,i):l;return {label:p,value:R,index:i,rowData:l}}else {let p=typeof t=="function"?t(l,i):k(l,t,""),R=typeof r=="function"?r(l,i):k(l,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:l}}});if(!n)return [[{items:s}],s];let c=Array.isArray(n)?n:[n],a=new Map;for(let l of s){let i=l.rowData,p=c.map(d=>String(typeof i=="object"?k(i,d,"")??"":"")).join(o),R=a.get(p)||[];R.push(l),a.set(p,R);}return [Array.from(a.entries()).map(([l,i])=>({group:l,items:i})),s]};function gt(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],s=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(c=>{r.push(`${s}=${encodeURIComponent(c)}`);}):typeof o=="object"&&o!==null?r.push(gt(o,s)):r.push(`${s}=${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 ke=createContext(void 0);function W(){let e=useContext(ke);return e||{}}var Tt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:s,isLocal:c}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&$.locale(o,s??{},c);}})();},[t.localeConfig]),jsx(ke.Provider,{value:r,children:e})};function Ct(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let s=JSON.stringify(n),c=JSON.stringify(o);if(s!==c)return false}else if(n!==o)return false}return true}var ne={loading:false,response:void 0,isCancel:false},oe=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,s={...o,...n};Ct(o,s)||e(c=>({states:{...c.states,[r]:s}}));}}));var ye=new Map,Ee=(e,t)=>{ye.set(e,t);},Ne=e=>{ye.delete(e);},Ke=e=>ye.get(e);function St(...e){let[t,r,n]=e,o=t.__isVoid,s=t.__path||t.name,c=o?void 0:r,a=o?r:n,l=a?.storeName||`${s}`,i=a?.mergeStrategy??"replace",[p,R,d,h]=oe(useShallow(u=>{let T=u.states[l]??ne;return [T.loading,T.isCancel,T.response,u.updateState]})),{storageKey:x,cache:C,clearPreviousData:N,refetchOnWindowFocus:H}=W(),L=useRef(void 0),v=useRef(null),{cacheName:B,cacheKey:F,timeout:E,timeoutUnit:K,persistence:Z,cacheEnabled:ee}=useMemo(()=>{let u=x?localStorage.get(x):void 0,T=typeof a?.cache=="object"?a?.cache?.cacheName??s:s,w=ve({...c,session:u},typeof a?.cache=="object"?a?.cache?.cacheKey:void 0),m=false;typeof C?.enabled=="boolean"&&(m=C.enabled);let A=false;typeof C?.persistence=="boolean"&&(A=C?.persistence),typeof a?.cache=="object"&&typeof a?.cache?.persistence=="boolean"&&(A=a?.cache?.persistence??false);let P=60*5,q="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(P=C.timeout,q="s"):typeof C?.timeout=="object"&&(P=C?.timeout.value,q=C?.timeout.unit)),V(a?.cache)&&(typeof a?.cache!="boolean"?(typeof a?.cache?.enabled=="boolean"?m=a.cache.enabled:m=true,typeof a?.cache?.timeout=="number"?(P=a.cache.timeout,q="s"):typeof a?.cache?.timeout=="object"&&(P=a.cache.timeout.value,q=a.cache.timeout.unit)):m=a.cache),{cacheName:T,cacheKey:w,timeout:P,timeoutUnit:q,persistence:A,cacheEnabled:m}},[a?.cache,c,x,C,s]);useEffect(()=>{let u=JSON.stringify(V(L.current)?L.current:""),T=JSON.stringify(V(c)?c:""),w=L.current===void 0;(u!==T||w)&&!a?.hold&&((a?.clearPreviousData??N)&&h(l,{response:null}),z(),L.current=c),a?.onChange&&a?.onChange(c,S);},[c,a?.clearPreviousData,N,a?.hold,...a?.trigger||[]]),useEffect(()=>{let u=async()=>{!Z&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u),v.current?.abort();}},[Z,B,F,l,v]);let z=useCallback(async u=>{let T=c;if(a?.hold&&a?.logging&&console.log("Hold active"),a?.beforeRequest&&(T=a?.beforeRequest(c)),ee&&!u&&!R&&window.isSecureContext){a?.onBeforeRequest&&a?.onBeforeRequest(c);let w=await caches.open(B),A=await(await w.match(F))?.json();if(A){let{data:P,expired:q}=A;if($().isAfter(q))await w.delete(F);else {a?.afterResponse&&P?.data&&(P.data=a?.afterResponse(P.data,T)),a?.logging&&console.log("After request: Using Cache",P),P?.status&&a?.onSuccess?.(P,T),a?.onAfterResponse?.(P,T),h(l,{loading:false,response:P});return}}}if(typeof t=="function"){v.current?.abort();let w=new AbortController;v.current=w,h(l,{loading:true}),a?.logging&&console.log("Before request",c),a?.onBeforeRequest&&a?.onBeforeRequest(c);let m=o?await t(void 0,{...a,signal:w.signal}):await t(T,void 0,{...a,signal:w.signal});if(m.__rawData=m.data,i==="append"&&V(d.__rawData)&&V(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let A=[...d?.__rawData??[],...m.data??[]];m.data=A,m.__rawData=A;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let A={...d.__rawData,...m.data};m.data=A,m.__rawData=A;}}if(a?.afterResponse&&m?.data&&(m.data=a?.afterResponse(m.data,T)),a?.logging&&console.log("After request",m),m.status&&a?.onSuccess?.(m,T),m.status||a?.onError?.(m,T),a?.onAfterResponse?.(m,T),h(l,{loading:false,response:m,isCancel:false}),ee&&m.status){let A=$().add(E,K).toISOString(),P={data:m,expired:A},q=await caches.open(B),Y=new Response(JSON.stringify(P));await q.put(F,Y);}}},[c,t,a,R,B,F,E,K,ee,d]);useEffect(()=>{if(a?.refreshInterval){let u=typeof a.refreshInterval=="number"?a.refreshInterval:a.refreshInterval.value,T=typeof a.refreshInterval=="number"?"s":a.refreshInterval.unit,w=setInterval(()=>{z();},$.duration(u,T).asMilliseconds());return ()=>clearInterval(w)}return ()=>{}},[a?.refreshInterval,z]);let O=useRef(null),{enabledRefetch:g,timeoutRefetch:b,timeoutUnitRefetch:f}=useMemo(()=>{let u=a?.refetchOnWindowFocus?.enabled??H?.enabled??false,T=a?.refetchOnWindowFocus?.timeout??H?.timeout,w=typeof T=="number"?T:T?.value??60*5,m=typeof T=="object"?T.unit:"s";return {enabledRefetch:u,timeoutRefetch:w,timeoutUnitRefetch:m}},[a?.refetchOnWindowFocus,H]);useEffect(()=>{if(!g||a?.hold)return;let u=$.duration(b,f).asMilliseconds(),T=()=>{let m=Date.now(),A=O.current;A!==null&&m-A>=u&&z(),O.current=null;},w=()=>{O.current=Date.now();};return window.addEventListener("focus",T),window.addEventListener("blur",w),()=>{window.removeEventListener("focus",T),window.removeEventListener("blur",w);}},[g,b,f,z,a?.hold]);let D=useCallback(()=>{v.current?.abort(),v.current=null,h(l,{loading:false,isCancel:true});},[l,v]),y=useCallback(()=>{h(l,{loading:false,response:null});},[l]),S=useMemo(()=>({...d,loading:p,refresh:z,abort:D,clear:y,response:d,isCancel:R,clone:(u,T)=>St(t,u,{storeName:`${s}-clone`,...T})}),[d,p,z,D,y,R,t]);return useEffect(()=>(Ee(l,S),()=>{Ne(l);}),[S,l]),[d?.data,S]}async function an(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(s=>(s.POST="POST",s.PUT="PUT",s.PATCH="PATCH",s.DELETE="DELETE",s.GET="GET",s))(wt||{}),Ot=(O=>(O.number="number",O.currency="currency",O.percent="percent",O.date="date",O.dateTime="dateTime",O.month="month",O.year="year",O.time="time",O.timestamp="timestamp",O.string="string",O.textarea="textarea",O.code="code",O.password="password",O.boolean="boolean",O.toggle="toggle",O.email="email",O.phone="phone",O.url="url",O.json="json",O.file="file",O.image="image",O.array="array",O.object="object",O.enum="enum",O.user="user",O.department="department",O.status="status",O))(Ot||{});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)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?vt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function vt(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:s}){if(s){let R=String(e??"").trim().trim();if(me(R,r))return R}if(e==null||isNaN(Number(e)))return "";let c=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);c=Math[o](c*p)/p;}else c=Math[o](c);else if(typeof n=="number"){let p=Math.pow(10,n);c=Math.trunc(c*p)/p;}let a=0;if(n==="auto"){let p=c.toString(),R=p.indexOf(".");R!==-1&&(a=p.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?a:n||0,maximumFractionDigits:n==="auto"?a:n||0,minimumIntegerDigits:1};return c.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Ut(e,{display:t,value:r}){if(!V(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function gn(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 s=setInterval(o,t);return ()=>clearInterval(s)}},[t]);}function bn(e,t,r){let[n,o]=useState(false),s=(i,p)=>typeof e=="string"&&i===e||typeof e=="number"&&p===e,c=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),a=i=>{let{key:p,keyCode:R}=i,d=i.ctrlKey,h=i.altKey,x=i.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")s(p,R)&&(t==="ctrl"&&d||t==="alt"&&h||t==="shift"&&x)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?d:N==="alt"?h:N==="shift"?x:false);s(p,R)&&C&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else s(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},l=({key:i,keyCode:p})=>{s(i,p)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",a),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",a),window.removeEventListener("keyup",l);}),[]),n}function be(e,t){let r=$e.random(16),n=$e.random(16),o=He(t,r,{keySize:256/32,iterations:1e3}),s=Le.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:s}}function Te(e,t){let{salt:r,iv:n,encrypted:o}=e,s=He(t,ie.parse(r),{keySize:256/32,iterations:1e3}),a=Le.decrypt(o,s,{iv:ie.parse(n)}).toString(Kt);return JSON.parse(a)}function Fe(e,t){return JSON.stringify(be(e,t))}function Be(e,t){return Te(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return Te(t,r||e)},encryptString(t,r){return Fe(t,r||e)},decryptString(t,r){return Be(t,r||e)}}}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:s,handleToast:c,handleAuthorization:a,disabledToastWhenCancel:l,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:d})=>{let{encrypt:h,decrypt:x,passphrase:C}=X(),N=Mt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:R)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:d;try{u=x(u,q);}catch{try{u=x(u,C);}catch{}}}let m={...n({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:l,P=a?a(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&c&&(!y||!A)&&c(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||s;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:i}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(T.Authorization=`Bearer ${t}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),r&&(f=r(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:p)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;f=h(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...o,...u.headers};if(u.token){let U=typeof u.token=="boolean"?t:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(r&&(w=r(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:p)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:d;w=h(w,U);}let A=await fetch(`${e}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:R)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;try{f=x(G,de);}catch{try{f=x(G,C);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&c&&!Q&&c(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
|
|
1
|
+
import le,{createContext,useContext,useEffect,useRef,useMemo,useCallback,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import nt from'dayjs/plugin/utc';import ot from'dayjs/plugin/timezone';import st from'dayjs/plugin/duration';import at from'dayjs/plugin/advancedFormat';import it from'dayjs/plugin/localizedFormat';import ct from'dayjs/plugin/relativeTime';import lt from'dayjs/plugin/isSameOrBefore';import pt from'dayjs/plugin/isSameOrAfter';import ut from'dayjs/plugin/weekOfYear';import ft from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Mt from'axios';import Le from'crypto-js/aes';import He from'crypto-js/pbkdf2';import Kt from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import $e from'crypto-js/lib-typedarrays';import ce from'js-cookie';import sr,{liveQuery}from'dexie';I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(ct);I.extend(lt);I.extend(pt);I.extend(ut);I.extend(ft);var $=I;function Pe(){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 vr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Ur(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 kr(e,t){return typeof e=="function"?e(t):e}var k=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n){if(o==null)return r;o=o[s];}return o===void 0?r:o},Er={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(r,t):"";return o<s?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(n,t):"";return o>s?1:-1}else return r>n?1:-1}))},Nr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?k(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Kr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function dt(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,s)=>(o[s]=n[s],o),{})):n})??""}function ve(e,t){return dt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Mr(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 me(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 mt(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&&me(n,r))return true}return false}function Ue(e="",t=false,r="."){if(!mt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var yt=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 $r(e){let t={};for(let r in e)yt.has(r)&&(t[r]=e[r]);return t}function Lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Hr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map($).sort((s,c)=>s.diff(c)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Fr(e,t){let r=$(e),n=$(t),o=r.month()===n.month(),s=r.year()===n.year();return s&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:s?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Br(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=$(e,"HH:mm",true),n=$(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 jr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let s=e.map((l,i)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,i):l,R=typeof r=="function"?r(l,i):l;return {label:p,value:R,index:i,rowData:l}}else {let p=typeof t=="function"?t(l,i):k(l,t,""),R=typeof r=="function"?r(l,i):k(l,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:l}}});if(!n)return [[{items:s}],s];let c=Array.isArray(n)?n:[n],a=new Map;for(let l of s){let i=l.rowData,p=c.map(d=>String(typeof i=="object"?k(i,d,"")??"":"")).join(o),R=a.get(p)||[];R.push(l),a.set(p,R);}return [Array.from(a.entries()).map(([l,i])=>({group:l,items:i})),s]};function gt(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],s=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(c=>{r.push(`${s}=${encodeURIComponent(c)}`);}):typeof o=="object"&&o!==null?r.push(gt(o,s)):r.push(`${s}=${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 ke=createContext(void 0);function W(){let e=useContext(ke);return e||{}}var Tt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:s,isLocal:c}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&$.locale(o,s??{},c);}})();},[t.localeConfig]),jsx(ke.Provider,{value:r,children:e})};function Ct(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let s=JSON.stringify(n),c=JSON.stringify(o);if(s!==c)return false}else if(n!==o)return false}return true}var ne={loading:false,response:void 0,isCancel:false},oe=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,s={...o,...n};Ct(o,s)||e(c=>({states:{...c.states,[r]:s}}));}}));var ye=new Map,Ee=(e,t)=>{ye.set(e,t);},Ne=e=>{ye.delete(e);},Ke=e=>ye.get(e);function St(...e){let[t,r,n]=e,o=t.__isVoid,s=t.__path||t.name,c=o?void 0:r,a=o?r:n,l=a?.storeName||`${s}`,i=a?.mergeStrategy??"replace",[p,R,d,h]=oe(useShallow(u=>{let T=u.states[l]??ne;return [T.loading,T.isCancel,T.response,u.updateState]})),{storageKey:x,cache:C,clearPreviousData:N,refetchOnWindowFocus:H}=W(),L=useRef(void 0),v=useRef(null),{cacheName:B,cacheKey:F,timeout:E,timeoutUnit:K,persistence:Z,cacheEnabled:ee}=useMemo(()=>{let u=x?localStorage.getItem(x):void 0,T=typeof a?.cache=="object"?a?.cache?.cacheName??s:s,w=ve({...c,session:u},typeof a?.cache=="object"?a?.cache?.cacheKey:void 0),m=false;typeof C?.enabled=="boolean"&&(m=C.enabled);let A=false;typeof C?.persistence=="boolean"&&(A=C?.persistence),typeof a?.cache=="object"&&typeof a?.cache?.persistence=="boolean"&&(A=a?.cache?.persistence??false);let P=60*5,q="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(P=C.timeout,q="s"):typeof C?.timeout=="object"&&(P=C?.timeout.value,q=C?.timeout.unit)),V(a?.cache)&&(typeof a?.cache!="boolean"?(typeof a?.cache?.enabled=="boolean"?m=a.cache.enabled:m=true,typeof a?.cache?.timeout=="number"?(P=a.cache.timeout,q="s"):typeof a?.cache?.timeout=="object"&&(P=a.cache.timeout.value,q=a.cache.timeout.unit)):m=a.cache),{cacheName:T,cacheKey:w,timeout:P,timeoutUnit:q,persistence:A,cacheEnabled:m}},[a?.cache,c,x,C,s]);useEffect(()=>{let u=JSON.stringify(V(L.current)?L.current:""),T=JSON.stringify(V(c)?c:""),w=L.current===void 0;(u!==T||w)&&!a?.hold&&((a?.clearPreviousData??N)&&h(l,{response:null}),z(),L.current=c),a?.onChange&&a?.onChange(c,S);},[c,a?.clearPreviousData,N,a?.hold,...a?.trigger||[]]),useEffect(()=>{let u=async()=>{!Z&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u),v.current?.abort();}},[Z,B,F,l,v]);let z=useCallback(async u=>{let T=c;if(a?.hold&&a?.logging&&console.log("Hold active"),a?.beforeRequest&&(T=a?.beforeRequest(c)),ee&&!u&&!R&&window.isSecureContext){a?.onBeforeRequest&&a?.onBeforeRequest(c);let w=await caches.open(B),A=await(await w.match(F))?.json();if(A){let{data:P,expired:q}=A;if($().isAfter(q))await w.delete(F);else {a?.afterResponse&&P?.data&&(P.data=a?.afterResponse(P.data,T)),a?.logging&&console.log("After request: Using Cache",P),P?.status&&a?.onSuccess?.(P,T),a?.onAfterResponse?.(P,T),h(l,{loading:false,response:P});return}}}if(typeof t=="function"){v.current?.abort();let w=new AbortController;v.current=w,h(l,{loading:true}),a?.logging&&console.log("Before request",c),a?.onBeforeRequest&&a?.onBeforeRequest(c);let m=o?await t(void 0,{...a,signal:w.signal}):await t(T,void 0,{...a,signal:w.signal});if(m.__rawData=m.data,i==="append"&&V(d.__rawData)&&V(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let A=[...d?.__rawData??[],...m.data??[]];m.data=A,m.__rawData=A;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let A={...d.__rawData,...m.data};m.data=A,m.__rawData=A;}}if(a?.afterResponse&&m?.data&&(m.data=a?.afterResponse(m.data,T)),a?.logging&&console.log("After request",m),m.status&&a?.onSuccess?.(m,T),m.status||a?.onError?.(m,T),a?.onAfterResponse?.(m,T),h(l,{loading:false,response:m,isCancel:false}),ee&&m.status){let A=$().add(E,K).toISOString(),P={data:m,expired:A},q=await caches.open(B),Y=new Response(JSON.stringify(P));await q.put(F,Y);}}},[c,t,a,R,B,F,E,K,ee,d]);useEffect(()=>{if(a?.refreshInterval){let u=typeof a.refreshInterval=="number"?a.refreshInterval:a.refreshInterval.value,T=typeof a.refreshInterval=="number"?"s":a.refreshInterval.unit,w=setInterval(()=>{z();},$.duration(u,T).asMilliseconds());return ()=>clearInterval(w)}return ()=>{}},[a?.refreshInterval,z]);let O=useRef(null),{enabledRefetch:g,timeoutRefetch:b,timeoutUnitRefetch:f}=useMemo(()=>{let u=a?.refetchOnWindowFocus?.enabled??H?.enabled??false,T=a?.refetchOnWindowFocus?.timeout??H?.timeout,w=typeof T=="number"?T:T?.value??60*5,m=typeof T=="object"?T.unit:"s";return {enabledRefetch:u,timeoutRefetch:w,timeoutUnitRefetch:m}},[a?.refetchOnWindowFocus,H]);useEffect(()=>{if(!g||a?.hold)return;let u=$.duration(b,f).asMilliseconds(),T=()=>{let m=Date.now(),A=O.current;A!==null&&m-A>=u&&z(),O.current=null;},w=()=>{O.current=Date.now();};return window.addEventListener("focus",T),window.addEventListener("blur",w),()=>{window.removeEventListener("focus",T),window.removeEventListener("blur",w);}},[g,b,f,z,a?.hold]);let D=useCallback(()=>{v.current?.abort(),v.current=null,h(l,{loading:false,isCancel:true});},[l,v]),y=useCallback(()=>{h(l,{loading:false,response:null});},[l]),S=useMemo(()=>({...d,loading:p,refresh:z,abort:D,clear:y,response:d,isCancel:R,clone:(u,T)=>St(t,u,{storeName:`${s}-clone`,...T})}),[d,p,z,D,y,R,t]);return useEffect(()=>(Ee(l,S),()=>{Ne(l);}),[S,l]),[d?.data,S]}async function an(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(s=>(s.POST="POST",s.PUT="PUT",s.PATCH="PATCH",s.DELETE="DELETE",s.GET="GET",s))(wt||{}),Ot=(O=>(O.number="number",O.currency="currency",O.percent="percent",O.date="date",O.dateTime="dateTime",O.month="month",O.year="year",O.time="time",O.timestamp="timestamp",O.string="string",O.textarea="textarea",O.code="code",O.password="password",O.boolean="boolean",O.toggle="toggle",O.email="email",O.phone="phone",O.url="url",O.json="json",O.file="file",O.image="image",O.array="array",O.object="object",O.enum="enum",O.user="user",O.department="department",O.status="status",O))(Ot||{});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)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?vt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function vt(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:s}){if(s){let R=String(e??"").trim().trim();if(me(R,r))return R}if(e==null||isNaN(Number(e)))return "";let c=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);c=Math[o](c*p)/p;}else c=Math[o](c);else if(typeof n=="number"){let p=Math.pow(10,n);c=Math.trunc(c*p)/p;}let a=0;if(n==="auto"){let p=c.toString(),R=p.indexOf(".");R!==-1&&(a=p.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?a:n||0,maximumFractionDigits:n==="auto"?a:n||0,minimumIntegerDigits:1};return c.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Ut(e,{display:t,value:r}){if(!V(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function gn(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 s=setInterval(o,t);return ()=>clearInterval(s)}},[t]);}function bn(e,t,r){let[n,o]=useState(false),s=(i,p)=>typeof e=="string"&&i===e||typeof e=="number"&&p===e,c=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),a=i=>{let{key:p,keyCode:R}=i,d=i.ctrlKey,h=i.altKey,x=i.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")s(p,R)&&(t==="ctrl"&&d||t==="alt"&&h||t==="shift"&&x)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?d:N==="alt"?h:N==="shift"?x:false);s(p,R)&&C&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else s(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},l=({key:i,keyCode:p})=>{s(i,p)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",a),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",a),window.removeEventListener("keyup",l);}),[]),n}function be(e,t){let r=$e.random(16),n=$e.random(16),o=He(t,r,{keySize:256/32,iterations:1e3}),s=Le.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:s}}function Te(e,t){let{salt:r,iv:n,encrypted:o}=e,s=He(t,ie.parse(r),{keySize:256/32,iterations:1e3}),a=Le.decrypt(o,s,{iv:ie.parse(n)}).toString(Kt);return JSON.parse(a)}function Fe(e,t){return JSON.stringify(be(e,t))}function Be(e,t){return Te(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return Te(t,r||e)},encryptString(t,r){return Fe(t,r||e)},decryptString(t,r){return Be(t,r||e)}}}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:s,handleToast:c,handleAuthorization:a,disabledToastWhenCancel:l,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:d})=>{let{encrypt:h,decrypt:x,passphrase:C}=X(),N=Mt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:R)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:d;try{u=x(u,q);}catch{try{u=x(u,C);}catch{}}}let m={...n({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:l,P=a?a(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&c&&(!y||!A)&&c(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||s;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:i}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(T.Authorization=`Bearer ${t}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),r&&(f=r(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:p)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;f=h(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...o,...u.headers};if(u.token){let U=typeof u.token=="boolean"?t:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(r&&(w=r(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:p)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:d;w=h(w,U);}let A=await fetch(`${e}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:R)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;try{f=x(G,de);}catch{try{f=x(G,C);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&c&&!Q&&c(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
|
|
2
2
|
|
|
3
3
|
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let M=ae(_);D({status:!0,data:M,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0});}catch(S){let u=S?.name==="AbortError";D({status:false,data:void 0,message:S instanceof Error?S.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Fn(e,t){let[r,n]=useState(false),[o,s]=useState(),[c,a]=useState(0),l=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let h=new AbortController;l.current=h,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let x={...t,signal:h.signal,onUploadProgress:N=>{let H=Math.round(N.loaded*100/(N.total||1));a(H);}},C=e.__isVoid?await e(void 0,x):await e(d,void 0,x);t?.logging&&console.log("After response",C),s(C),n(false),a(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,d)),C.status&&t?.onSuccess&&t?.onSuccess(C,d),!C.status&&t?.onError&&t?.onError(C,d),t?.onAfterResponse?.(C,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),a(0);},progress:c,reset:()=>{n(false),a(0),s(null);}}]}function Ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,s=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&s!==void 0&&e.current<s?false:(e.current||0)>n}var Ft=typeof window<"u"?window:null;function In(e={}){let{getTrigger:t=Ht,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=e,s=le.useRef(0),[c,a]=le.useState(()=>t(s,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let l=()=>{a(t(s,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),c}var Ve=create(e=>({state:{},setStateValue:(t,r)=>e(n=>({state:{...n.state,[t]:r}}))})),jt={local:{get:e=>localStorage.getItem(e),set:(e,t)=>localStorage.setItem(e,t),remove:e=>localStorage.removeItem(e)},cookie:{get:e=>ce.get(e)??null,set:(e,t,r)=>{if(!r||r.type!=="cookie"){ce.set(e,t);return}let{type:n,...o}=r;ce.set(e,t,o);},remove:e=>ce.remove(e,{path:"/"})}};function Qn(e,t={}){let{encrypt:r,decrypt:n}=X(),o=t.type??"local",s=t.defaultValue,c=jt[o],a=o==="cookie",l=Ve(h=>h.state[e]),i=Ve(h=>h.setStateValue),p=()=>{let h=c.get(e);if(!h)return s;try{let x=JSON.parse(h);return a?x:n(x)}catch{return h}};useEffect(()=>{l===void 0&&i(e,p());},[e]);let R=useCallback(h=>{try{let x=a?h:r(h);c.set(e,JSON.stringify(x),t),i(e,h);}catch(x){console.error("useStorage set error:",x);}},[e,r,a,t]),d=useCallback(()=>{c.remove(e),i(e,s);},[e,s]);return useEffect(()=>{if(o!=="local")return;let h=x=>{if(x.key===e){if(!x.newValue){i(e,s);return}try{i(e,n(JSON.parse(x.newValue)));}catch{i(e,x.newValue);}}};return window.addEventListener("storage",h),()=>window.removeEventListener("storage",h)},[e,o,n,s]),[l,[R,d]]}function Zn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,s]=useState(e);return useEffect(()=>{let c=setTimeout(()=>{s(e),n&&n(e);},r);return ()=>clearTimeout(c)},[e,r,n]),o}var ao=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:s,abort:c,clear:a,clone:l}=Ke(n)||{},i=x=>{let C=x.states[n]??ne;return {loading:C.loading,isCancel:C.isCancel,response:C.response}},{loading:p,isCancel:R,response:d}=o?oe(useShallow(i)):oe(i),h=useMemo(()=>[d?.data,{...d,loading:p,isCancel:R,refresh:s,abort:c,clear:a,clone:l}],[d,p,R,s,c,a,l]);return t?.selector?t.selector(h):h};var lo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},ze=(e,t)=>{let r=false;return le.Children.forEach(e,n=>{if(le.isValidElement(n)){let o=n,s=n.type.displayName;(t.includes(s)||o.props?.children&&ze(o.props.children,t))&&(r=true);}}),r},po=(e,t)=>{let r={others:[]},n=o=>{le.Children.forEach(o,s=>{if(le.isValidElement(s)){let c=s.type.displayName,a=s,l=a.props?.children;t.includes(c)?r[c]=s:l&&ze(l,t)?n(a.props.children):r.others.push(s);}else r.others.push(s);});};return n(e),r};function yo(){let{format:e}=W();return (t="",r=false)=>Ue(t,r,e.number.decSep)}function ho(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 s=e.getBoundingClientRect();r.current={width:s.width,height:s.height,top:s.top,left:s.left,right:s.right,bottom:s.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function xo(e,t){let[r,n]=useState(false),[o,s]=useState(),[c,a]=useState();return useEffect(()=>{if(!e)return;if(Ae[e]){a(()=>Ae[e]);return}n(true),(async()=>{try{let i=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=i.default,a(()=>i.default);}catch(i){s(i),console.error(i);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:c}}function So(e){let t=e,r=new Set;function n(){return t}function o(a){return r.add(a),()=>r.delete(a)}function s(a){typeof a=="function"?t=a(t):t=a,r.forEach(l=>l());}function c(a){let l=useRef(a?a(t):t);return useSyncExternalStore(o,()=>{let i=a?a(t):t,p=l.current;return Object.is(p,i)||(l.current=i),l.current},()=>a?a(t):t)}return {getSnapshot:n,subscribe:o,setState:s,useStore:c}}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 Oo(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let s=n(...o);return _e(s,r),s};}return t}function qo(e,t){let[r,n]=useState(false),[o,s]=useState([]),c=useRef([]),a=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{a.current?.abort();}},[]);let l=async R=>{a.current?.abort();let d=new AbortController;a.current=d,n(true),s([]),c.current=[],e(R,h=>{h.isDone||(c.current.push(h),s([...c.current])),(h.isDone||!h.status)&&(n(false),t?.onDone&&t?.onDone([...c.current])),h.status?t?.onStream&&t?.onStream(h):t?.onError&&t?.onError(h);},{signal:d.signal});},i=()=>{a.current?.abort(),a.current=null,n(false);},p=()=>{n(false),s([]),c.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:i,reset:p,response:o}]}function No(e,t){let{key:r}=t,[n,o]=useState();return useEffect(()=>{let s=liveQuery(()=>e(r)).subscribe(o);return ()=>s.unsubscribe()},[r]),n}function Lo(e,t){let{key:r}=t,[n,o]=useState(false);return useEffect(()=>{let s=liveQuery(async()=>!!await e(r)).subscribe(c=>{o(a=>a!==c?c:a);});return ()=>s.unsubscribe()},[r]),n}function Je(e){let t=[...e],r=s=>s==null?"":String(s),n=(s,c)=>{if(Array.isArray(c.and))return c.and.every(a=>n(s,a));if(Array.isArray(c.or))return c.or.some(a=>n(s,a));for(let[a,l]of Object.entries(c)){if(a==="and"||a==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!R&&(p==null||p===""))continue;let d=k(s,a,void 0);switch(i){case "eq":if(d!==p)return false;break;case "neq":if(d===p)return false;break;case "gt":if(!(d>p))return false;break;case "gte":if(!(d>=p))return false;break;case "lt":if(!(d<p))return false;break;case "lte":if(!(d<=p))return false;break;case "contains":{if(d==null||p==null)return false;if(Array.isArray(d)){if(!d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(d==null||p==null||!String(d).startsWith(String(p)))return false;break;case "endsWith":if(d==null||p==null||!String(d).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(d))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(d))return false;break;default:return false}}return true},o={where(s){return s&&(t=t.filter(c=>n(c,s))),o},sort(s){let c=Object.entries(s);return t.sort((a,l)=>{for(let[i,p]of c){let R=k(a,i),d=k(l,i);if(R!==d)return p==="asc"?R>d?1:-1:R<d?1:-1}return 0}),o},distinct(s){let c=Array.isArray(s)?s:s?[s]:[],a=new Set;return t=t.filter(l=>{let i=c.length?c.map(p=>k(l,p)).join("|"):JSON.stringify(l);return a.has(i)?false:(a.add(i),true)}),o},select(s){return t=t.map(c=>{let a={};for(let l of s)a[l]=k(c,l);return a}),o},paginate(s,c){let a=(s-1)*c,l=a+c;return {data:t.slice(a,l),total:t.length,page:s,pageSize:c,totalPages:Math.ceil(t.length/c)}},groupBy(s){let c={};for(let a of t){let l=k(a,s),i=String(l??"undefined");c[i]||(c[i]=[]),c[i].push(a);}return c},map(s){return t=t.map(s),o},reduce(s,c){return t.reduce(s,c)},limit(s){return t=t.slice(0,s),o},get(){return t}};return o}var pe,ue={};function Wo({dbName:e,version:t=1,table:r}){return pe||(pe=new sr(e),t=Object.keys(ue).length+1,pe.version(t).stores(ue)),r}function Yo({name:e,primaryKey:t}){ue[e]||(ue[e]=t);let r=()=>{let p=pe.table(e);if(!p)throw new Error(`Table ${e} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=t,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[t]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),d=Je(R);return i?.where&&(d=d.where(i.where)),i?.orderBy&&(d=d.sort(i.orderBy)),d.get()}}}var rs=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:s,onCallback:c,headers:a,onUnauthorized:l,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:d,encryptRequest:h,encryptResponse:x,passphrase:C})=>{let N=Mt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...a}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:x)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:C;try{u=t(u,q);}catch{try{u=t(u,r);}catch{}}}let m={...c({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:R,P=p?p(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&i&&(!y||!A)&&i(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||l;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:d}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?o&&(T.Authorization=`Bearer ${o}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),s&&(f=s(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:h)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;f=e(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...a,...u.headers};if(u.token){let U=typeof u.token=="boolean"?o:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(s&&(w=s(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:h)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:C;w=e(w,U);}let A=await fetch(`${n}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:x)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;try{f=t(G,de);}catch{try{f=t(G,r);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&i&&!Q&&i(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
|
|
4
4
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.54",
|
|
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",
|