@bgscore/react-core 1.0.34 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';var ie=require('react'),H=require('dayjs'),Je=require('dayjs/plugin/utc'),Qe=require('dayjs/plugin/timezone'),Ge=require('dayjs/plugin/duration'),Xe=require('dayjs/plugin/advancedFormat'),Ze=require('dayjs/plugin/localizedFormat'),et=require('dayjs/plugin/relativeTime'),tt=require('dayjs/plugin/isSameOrBefore'),rt=require('dayjs/plugin/isSameOrAfter'),nt=require('dayjs/plugin/weekOfYear'),ot=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ue=require('crypto-js/aes'),ke=require('crypto-js/pbkdf2'),yt=require('crypto-js/enc-utf8'),ae=require('crypto-js/enc-base64'),qe=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Ut=require('axios'),Gt=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ie__default=/*#__PURE__*/_interopDefault(ie);var H__default=/*#__PURE__*/_interopDefault(H);var Je__default=/*#__PURE__*/_interopDefault(Je);var Qe__default=/*#__PURE__*/_interopDefault(Qe);var Ge__default=/*#__PURE__*/_interopDefault(Ge);var Xe__default=/*#__PURE__*/_interopDefault(Xe);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var Ue__default=/*#__PURE__*/_interopDefault(Ue);var ke__default=/*#__PURE__*/_interopDefault(ke);var yt__default=/*#__PURE__*/_interopDefault(yt);var ae__default=/*#__PURE__*/_interopDefault(ae);var qe__default=/*#__PURE__*/_interopDefault(qe);var Ut__default=/*#__PURE__*/_interopDefault(Ut);var Gt__default=/*#__PURE__*/_interopDefault(Gt);H__default.default.extend(Je__default.default);H__default.default.extend(Qe__default.default);H__default.default.extend(Ge__default.default);H__default.default.extend(Xe__default.default);H__default.default.extend(Ze__default.default);H__default.default.extend(et__default.default);H__default.default.extend(tt__default.default);H__default.default.extend(rt__default.default);H__default.default.extend(nt__default.default);H__default.default.extend(ot__default.default);var M=H__default.default;function dr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function yr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var mr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function gr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function L(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var Ce={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=Ce.snackCase(Ce.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Rr(t,e){return typeof t=="function"?t(e):t}var k=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},hr={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=k(r,e)?k(r,e):"",a=k(n,e)?k(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=k(r,e)?k(r,e):"",a=k(n,e)?k(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},br=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?k(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Tr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function st(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Se(t,e){return st([e??"undefined",t??"undefined"])}function Pe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Dr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var se=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function ue(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function at(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&ue(n,r))return true}return false}function Oe(t="",e=false,r="."){if(!at(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var it=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 xr(t){let e={};for(let r in t)it.has(r)&&(e[r]=t[r]);return e}function Cr(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Ar(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(M).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Sr(t,e){let r=M(t),n=M(e),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Pr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=M(t,"HH:mm",true),n=M(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var Or=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((l,p)=>{if(typeof l!="object"){let d=typeof e=="function"?e(l,p):l,b=typeof r=="function"?r(l,p):l;return {label:d,value:b,index:p,rowData:l}}else {let d=typeof e=="function"?e(l,p):k(l,e,""),b=typeof r=="function"?r(l,p):k(l,r,"");return {label:d,value:typeof b=="boolean"?b:b||"",index:p,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,d=i.map(y=>String(typeof p=="object"?k(p,y,"")??"":"")).join(o),b=s.get(d)||[];b.push(l),s.set(d,b);}return [Array.from(s.entries()).map(([l,p])=>({group:l,items:p})),a]};function lt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!L(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(lt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Ae(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Ae(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Ae(t[e]));return t}var we=ie.createContext(void 0);function _(){let t=ie.useContext(we);return t||{}}var ft=({children:t,value:e})=>{let r={...e};return ie.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:i}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&M.locale(o,a??{},i);}})();},[e.localeConfig]),jsxRuntime.jsx(we.Provider,{value:r,children:t})};function fe(t,e){let r=qe__default.default.random(16),n=qe__default.default.random(16),o=ke__default.default(e,r,{keySize:256/32,iterations:1e3}),a=Ue__default.default.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ae__default.default),iv:n.toString(ae__default.default),encrypted:a}}function de(t,e){let{salt:r,iv:n,encrypted:o}=t,a=ke__default.default(e,ae__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ue__default.default.decrypt(o,a,{iv:ae__default.default.parse(n)}).toString(yt__default.default);return JSON.parse(s)}function ve(t,e){return JSON.stringify(fe(t,e))}function Ee(t,e){return de(JSON.parse(t),e)}function Q(){let{passphrase:t}=_();return {passphrase:t,encrypt(e,r){return fe(e,r||t)},decrypt(e,r){return de(e,r||t)},encryptString(e,r){return ve(e,r||t)},decryptString(e,r){return Ee(e,r||t)}}}var Ne=()=>{let{encrypt:t,decrypt:e}=Q(),r=ie.useCallback((i,s)=>{try{let l=t(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[t]),n=ie.useCallback(i=>{try{let s=localStorage.getItem(i);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=i=>{let[s,l]=ie.useState(()=>{try{let p=localStorage.getItem(i);return p?e(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return ie.useEffect(()=>{let p=d=>{if(d.key===i)if(d.newValue)try{l(e(JSON.parse(d.newValue)));}catch(b){console.error("Decrypt error from storage event",b);}else l(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,e]),s},a=ie.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function ht(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var Z={loading:false,response:void 0,isCancel:false},ee=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??Z,a={...o,...n};ht(o,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var me=new Map,Me=(t,e)=>{me.set(t,e);},$e=t=>{me.delete(t);},Ke=t=>me.get(t);function Tt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[d,b,y,S]=ee(shallow.useShallow(C=>{let m=C.states[l]??Z;return [m.loading,m.isCancel,m.response,C.updateState]})),{storageKey:w,cache:T,clearPreviousData:$,refetchOnWindowFocus:B}=_(),W=Ne(),v=ie.useRef(void 0),j=ie.useRef(null),{cacheName:z,cacheKey:I,timeout:re,timeoutUnit:ne,persistence:oe,cacheEnabled:G}=ie.useMemo(()=>{let C=w?W.get(w):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,x=Se({...i,session:C},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),h=false;typeof T?.enabled=="boolean"&&(h=T.enabled);let A=false;typeof T?.persistence=="boolean"&&(A=T?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(A=s?.cache?.persistence??false);let q=60*5,E="s";return L(T?.timeout)&&(typeof T?.timeout=="number"?(q=T.timeout,E="s"):typeof T?.timeout=="object"&&(q=T?.timeout.value,E=T?.timeout.unit)),L(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?h=s.cache.enabled:h=true,typeof s?.cache?.timeout=="number"?(q=s.cache.timeout,E="s"):typeof s?.cache?.timeout=="object"&&(q=s.cache.timeout.value,E=s.cache.timeout.unit)):h=s.cache),{cacheName:m,cacheKey:x,timeout:q,timeoutUnit:E,persistence:A,cacheEnabled:h}},[s?.cache,i,w,T,a]);ie.useEffect(()=>{let C=JSON.stringify(L(v.current)?v.current:""),m=JSON.stringify(L(i)?i:""),x=v.current===void 0;(C!==m||x)&&!s?.hold&&((s?.clearPreviousData??$)&&S(l,{response:null}),c(),v.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,$,s?.hold,...s?.trigger||[]]),ie.useEffect(()=>{let C=async()=>{!oe&&z&&I&&(await caches.open(z)).delete(I);};return window.addEventListener("beforeunload",C),()=>{window.removeEventListener("beforeunload",C),j.current?.abort();}},[oe,z,I,l,j]);let c=ie.useCallback(async C=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),G&&!C&&!b){s?.onBeforeRequest&&s?.onBeforeRequest(i);let x=await caches.open(z),A=await(await x.match(I))?.json();if(A){let{data:q,expired:E}=A;if(M().isAfter(E))await x.delete(I);else {s?.afterResponse&&q?.data&&(q.data=s?.afterResponse(q.data,m)),s?.logging&&console.log("After request: Using Cache",q),q?.status&&s?.onSuccess?.(q,m),s?.onAfterResponse?.(q,m),S(l,{loading:false,response:q});return}}}if(typeof e=="function"){j.current?.abort();let x=new AbortController;j.current=x,S(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let h=o?await e(void 0,{...s,signal:x.signal}):await e(m,void 0,{...s,signal:x.signal});if(h.__rawData=h.data,p==="append"&&L(y.__rawData)&&L(h?.data)){if(Array.isArray(y.__rawData)&&Array.isArray(h?.data)){let A=[...y?.__rawData??[],...h.data??[]];h.data=A,h.__rawData=A;}else if(typeof y.__rawData=="object"&&typeof h.data=="object"){let A={...y.__rawData,...h.data};h.data=A,h.__rawData=A;}}if(s?.afterResponse&&h?.data&&(h.data=s?.afterResponse(h.data,m)),s?.logging&&console.log("After request",h),h.status&&s?.onSuccess?.(h,m),h.status||s?.onError?.(h,m),s?.onAfterResponse?.(h,m),S(l,{loading:false,response:h,isCancel:false}),G&&h.status){let A=M().add(re,ne).toISOString(),q={data:h,expired:A},E=await caches.open(z),F=new Response(JSON.stringify(q));await E.put(I,F);}}},[i,e,s,b,z,I,re,ne,G,y]);ie.useEffect(()=>{if(s?.refreshInterval){let C=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,x=setInterval(()=>{c();},M.duration(C,m).asMilliseconds());return ()=>clearInterval(x)}return ()=>{}},[s?.refreshInterval,c]);let R=ie.useRef(null),{enabledRefetch:u,timeoutRefetch:D,timeoutUnitRefetch:g}=ie.useMemo(()=>{let C=s?.refetchOnWindowFocus?.enabled??B?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??B?.timeout,x=typeof m=="number"?m:m?.value??60*5,h=typeof m=="object"?m.unit:"s";return {enabledRefetch:C,timeoutRefetch:x,timeoutUnitRefetch:h}},[s?.refetchOnWindowFocus,B]);ie.useEffect(()=>{if(!u||s?.hold)return;let C=M.duration(D,g).asMilliseconds(),m=()=>{let h=Date.now(),A=R.current;A!==null&&h-A>=C&&c(),R.current=null;},x=()=>{R.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",x),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",x);}},[u,D,g,c,s?.hold]);let P=ie.useCallback(()=>{j.current?.abort(),j.current=null,S(l,{loading:false,isCancel:true});},[l,j]),f=ie.useCallback(()=>{S(l,{loading:false,response:null});},[l]),U=ie.useMemo(()=>({...y,loading:d,refresh:c,abort:P,clear:f,response:y,isCancel:b,clone:(C,m)=>Tt(e,C,{storeName:`${a}-clone`,...m})}),[y,d,c,P,f,b,e]);return ie.useEffect(()=>(Me(l,U),()=>{$e(l);}),[U,l]),[y?.data,U]}async function sn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var Dt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Dt||{}),xt=(c=>(c.number="number",c.currency="currency",c.percent="percent",c.date="date",c.dateTime="dateTime",c.month="month",c.year="year",c.time="time",c.timestamp="timestamp",c.string="string",c.textarea="textarea",c.code="code",c.password="password",c.boolean="boolean",c.toggle="toggle",c.email="email",c.phone="phone",c.url="url",c.json="json",c.file="file",c.image="image",c.array="array",c.object="object",c.enum="enum",c.user="user",c.department="department",c.status="status",c))(xt||{});var fn=()=>{let{format:t}=_();return (e,r,n)=>{try{return r==="number"?St(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Pt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?Ct(e,n):r==="string"?At(e,n):e?.toString()}catch{return}}};function Ct(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function At(t,e){if(!L(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=Pe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function St(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let b=String(t??"").trim().trim();if(ue(b,r))return b}if(t==null||isNaN(Number(t)))return "";let i=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[o](i*d)/d;}else i=Math[o](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.trunc(i*d)/d;}let s=0;if(n==="auto"){let d=i.toString(),b=d.indexOf(".");b!==-1&&(s=d.length-b-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function Pt(t,{display:e,value:r}){if(!L(t))return t;let n=M(t,r);return n.isValid()?n.format(e):t}function mn(t,{interval:e,lead:r}){let n=ie.useRef(null);ie.useEffect(()=>{n.current=t;},[t]),ie.useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function hn(t,e,r){let[n,o]=ie.useState(false),a=(p,d)=>typeof t=="string"&&p===t||typeof t=="number"&&d===t,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:d,keyCode:b}=p,y=p.ctrlKey,S=p.altKey,w=p.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(d,b)&&(e==="ctrl"&&y||e==="alt"&&S||e==="shift"&&w)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let T=e.every($=>$==="ctrl"?y:$==="alt"?S:$==="shift"?w:false);a(d,b)&&T&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(d,b)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:d})=>{a(p,d)&&o(false);};return ie.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Pn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:d,encryptResponse:b,passphrase:y})=>{let{encrypt:S,decrypt:w,passphrase:T}=Q(),$=Ut__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),B=(c,R,u,D)=>{let g=D?.code==="ERR_CANCELED",P=c?.status===401,f=c?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:b)&&f){let A=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?T:u.passphrase:y;try{f=w(f,A);}catch{try{f=w(f,T);}catch{}}}let m={...n({...c,data:f,isCancel:g,isUnauthorization:P},D),isCancel:g,isUnauthorization:P,httpCode:c?.status},x=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:l,h=s?s(m,u):!P;if((u?.infoSuccess&&m.status||u?.infoError&&!m.status)&&i&&(!g||!x)&&i(m),!h&&(!g||!u?.disabledHandleUnauthorized)){let A=u?.onUnauthorized||a;A&&A(m);}if(typeof R=="function")R(m);else return m},W=(c,R=()=>{})=>$({...c,withCredentials:typeof c.withCredentials=="boolean"?c.withCredentials:p}).then(R).catch(u=>R(u.response,u)),v=(c,R,u,D,g)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},U={...f.headers};if(f.token&&(typeof f.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):f.token&&(U.Authorization=`Bearer ${f.token}`)),r&&(u=r(u)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:d)&&u){let m=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?T:g.passphrase:y;u=S(u,m);}return W({url:R,method:c,data:u,headers:U,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:m=>{f?.onUploadProgress&&f?.onUploadProgress(m);}},(m,x)=>B(m,D,f,x))};return {client:W,post:(c,R,u,D)=>v("POST",`${c}`,R,u,D),put:(c,R,u,D)=>v("PUT",`${c}`,R,u,D),patch:(c,R,u,D)=>v("PATCH",`${c}`,R,u,D),delete:(c,R,u)=>v("DELETE",`${c}`,null,R,u),get:(c,R,u)=>v("GET",`${c}`,null,R,u),upload:(c,R,u,D)=>{let g=new FormData;return Object.keys(R).forEach(P=>g.append(P,R[P])),v("POST",`${c}`,g,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(c,R,u,D,g)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...g},U={"Content-Type":"application/json",...o,...f.headers};if(f.token){let O=typeof f.token=="boolean"?e:f.token;O&&(U.Authorization=`Bearer ${O}`);}let C=u;if(r&&(C=r(C)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:d)&&C){let O=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?T:f.passphrase:y;C=S(C,O);}let x=await fetch(`${t}${R}`,{method:c,headers:U,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(C)}),h=x?.status,A=h===401;if(!x.ok){let O=x?.statusText||"Error";try{let V=x.headers.get("content-type")||"",N=await x.clone().text();if(N)if(V.includes("application/json"))try{let J=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:b)&&u){let pe=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?T:g.passphrase:y;try{u=w(J,pe);}catch{try{u=w(J,T);}catch{}}}O=J?.message||O;}catch{O=N;}else O=N;}catch{}let Y=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:l,K={status:!1,data:void 0,message:O,isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!0};g?.infoError&&i&&!Y&&i(K),D(K);return}let q=x.body.getReader(),E=new TextDecoder("utf-8"),F="",X=!1;for(;!X;){let{done:O,value:Y}=await q.read();X=O,F+=E.decode(Y,{stream:!0});let K=F.split(`
|
|
1
|
+
'use strict';var le=require('react'),H=require('dayjs'),Qe=require('dayjs/plugin/utc'),Ge=require('dayjs/plugin/timezone'),Xe=require('dayjs/plugin/duration'),Ze=require('dayjs/plugin/advancedFormat'),et=require('dayjs/plugin/localizedFormat'),tt=require('dayjs/plugin/relativeTime'),rt=require('dayjs/plugin/isSameOrBefore'),nt=require('dayjs/plugin/isSameOrAfter'),ot=require('dayjs/plugin/weekOfYear'),st=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),ke=require('crypto-js/aes'),ve=require('crypto-js/pbkdf2'),mt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),Ue=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),kt=require('axios'),Xt=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var H__default=/*#__PURE__*/_interopDefault(H);var Qe__default=/*#__PURE__*/_interopDefault(Qe);var Ge__default=/*#__PURE__*/_interopDefault(Ge);var Xe__default=/*#__PURE__*/_interopDefault(Xe);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var ke__default=/*#__PURE__*/_interopDefault(ke);var ve__default=/*#__PURE__*/_interopDefault(ve);var mt__default=/*#__PURE__*/_interopDefault(mt);var ie__default=/*#__PURE__*/_interopDefault(ie);var Ue__default=/*#__PURE__*/_interopDefault(Ue);var kt__default=/*#__PURE__*/_interopDefault(kt);var Xt__default=/*#__PURE__*/_interopDefault(Xt);H__default.default.extend(Qe__default.default);H__default.default.extend(Ge__default.default);H__default.default.extend(Xe__default.default);H__default.default.extend(Ze__default.default);H__default.default.extend(et__default.default);H__default.default.extend(tt__default.default);H__default.default.extend(rt__default.default);H__default.default.extend(nt__default.default);H__default.default.extend(ot__default.default);H__default.default.extend(st__default.default);var M=H__default.default;function yr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function mr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var gr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Rr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function L(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var Ae={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=Ae.snackCase(Ae.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function hr(t,e){return typeof t=="function"?t(e):t}var v=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},br={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=v(r,e)?v(r,e):"",a=v(n,e)?v(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=v(r,e)?v(r,e):"",a=v(n,e)?v(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},Tr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?v(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Dr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function at(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(t,e){return at([e??"undefined",t??"undefined"])}function Oe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function xr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function fe(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function it(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&fe(n,r))return true}return false}function we(t="",e=false,r="."){if(!it(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var lt=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 Cr(t){let e={};for(let r in t)lt.has(r)&&(e[r]=t[r]);return e}function Ar(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Sr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(M).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Pr(t,e){let r=M(t),n=M(e),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Or(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=M(t,"HH:mm",true),n=M(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var wr=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((l,p)=>{if(typeof l!="object"){let f=typeof e=="function"?e(l,p):l,D=typeof r=="function"?r(l,p):l;return {label:f,value:D,index:p,rowData:l}}else {let f=typeof e=="function"?e(l,p):v(l,e,""),D=typeof r=="function"?r(l,p):v(l,r,"");return {label:f,value:typeof D=="boolean"?D:D||"",index:p,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,f=i.map(d=>String(typeof p=="object"?v(p,d,"")??"":"")).join(o),D=s.get(f)||[];D.push(l),s.set(f,D);}return [Array.from(s.entries()).map(([l,p])=>({group:l,items:p})),a]};function ct(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!L(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ct(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Se(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Se(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Se(t[e]));return t}var qe=le.createContext(void 0);function V(){let t=le.useContext(qe);return t||{}}var dt=({children:t,value:e})=>{let r={...e};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:i}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&M.locale(o,a??{},i);}})();},[e.localeConfig]),jsxRuntime.jsx(qe.Provider,{value:r,children:t})};function de(t,e){let r=Ue__default.default.random(16),n=Ue__default.default.random(16),o=ve__default.default(e,r,{keySize:256/32,iterations:1e3}),a=ke__default.default.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function ye(t,e){let{salt:r,iv:n,encrypted:o}=t,a=ve__default.default(e,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=ke__default.default.decrypt(o,a,{iv:ie__default.default.parse(n)}).toString(mt__default.default);return JSON.parse(s)}function Ee(t,e){return JSON.stringify(de(t,e))}function Ne(t,e){return ye(JSON.parse(t),e)}function G(){let{passphrase:t}=V();return {passphrase:t,encrypt(e,r){return de(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return Ee(e,r||t)},decryptString(e,r){return Ne(e,r||t)}}}var Me=()=>{let{encrypt:t,decrypt:e}=G(),r=le.useCallback((i,s)=>{try{let l=t(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[t]),n=le.useCallback(i=>{try{let s=localStorage.getItem(i);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=i=>{let[s,l]=le.useState(()=>{try{let p=localStorage.getItem(i);return p?e(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return le.useEffect(()=>{let p=f=>{if(f.key===i)if(f.newValue)try{l(e(JSON.parse(f.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else l(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,e]),s},a=le.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function bt(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var ee={loading:false,response:void 0,isCancel:false},te=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??ee,a={...o,...n};bt(o,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ge=new Map,$e=(t,e)=>{ge.set(t,e);},Ke=t=>{ge.delete(t);},He=t=>ge.get(t);function Dt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[f,D,d,P]=te(shallow.useShallow(A=>{let h=A.states[l]??ee;return [h.loading,h.isCancel,h.response,A.updateState]})),{storageKey:U,cache:x,clearPreviousData:$,refetchOnWindowFocus:F}=V(),W=Me(),k=le.useRef(void 0),B=le.useRef(null),{cacheName:_,cacheKey:j,timeout:ne,timeoutUnit:oe,persistence:se,cacheEnabled:X}=le.useMemo(()=>{let A=U?W.get(U):void 0,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,b=Pe({...i,session:A},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),m=false;typeof x?.enabled=="boolean"&&(m=x.enabled);let w=false;typeof x?.persistence=="boolean"&&(w=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(w=s?.cache?.persistence??false);let S=60*5,E="s";return L(x?.timeout)&&(typeof x?.timeout=="number"?(S=x.timeout,E="s"):typeof x?.timeout=="object"&&(S=x?.timeout.value,E=x?.timeout.unit)),L(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?m=s.cache.enabled:m=true,typeof s?.cache?.timeout=="number"?(S=s.cache.timeout,E="s"):typeof s?.cache?.timeout=="object"&&(S=s.cache.timeout.value,E=s.cache.timeout.unit)):m=s.cache),{cacheName:h,cacheKey:b,timeout:S,timeoutUnit:E,persistence:w,cacheEnabled:m}},[s?.cache,i,U,x,a]);le.useEffect(()=>{let A=JSON.stringify(L(k.current)?k.current:""),h=JSON.stringify(L(i)?i:""),b=k.current===void 0;(A!==h||b)&&!s?.hold&&((s?.clearPreviousData??$)&&P(l,{response:null}),C(),k.current=i),s?.onChange&&s?.onChange(i,u);},[i,s?.clearPreviousData,$,s?.hold,...s?.trigger||[]]),le.useEffect(()=>{let A=async()=>{!se&&_&&j&&(await caches.open(_)).delete(j);};return window.addEventListener("beforeunload",A),()=>{window.removeEventListener("beforeunload",A),B.current?.abort();}},[se,_,j,l,B]);let C=le.useCallback(async A=>{let h=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(i)),X&&!A&&!D){s?.onBeforeRequest&&s?.onBeforeRequest(i);let b=await caches.open(_),w=await(await b.match(j))?.json();if(w){let{data:S,expired:E}=w;if(M().isAfter(E))await b.delete(j);else {s?.afterResponse&&S?.data&&(S.data=s?.afterResponse(S.data,h)),s?.logging&&console.log("After request: Using Cache",S),S?.status&&s?.onSuccess?.(S,h),s?.onAfterResponse?.(S,h),P(l,{loading:false,response:S});return}}}if(typeof e=="function"){B.current?.abort();let b=new AbortController;B.current=b,P(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let m=o?await e(void 0,{...s,signal:b.signal}):await e(h,void 0,{...s,signal:b.signal});if(m.__rawData=m.data,p==="append"&&L(d.__rawData)&&L(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let w=[...d?.__rawData??[],...m.data??[]];m.data=w,m.__rawData=w;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let w={...d.__rawData,...m.data};m.data=w,m.__rawData=w;}}if(s?.afterResponse&&m?.data&&(m.data=s?.afterResponse(m.data,h)),s?.logging&&console.log("After request",m),m.status&&s?.onSuccess?.(m,h),m.status||s?.onError?.(m,h),s?.onAfterResponse?.(m,h),P(l,{loading:false,response:m,isCancel:false}),X&&m.status){let w=M().add(ne,oe).toISOString(),S={data:m,expired:w},E=await caches.open(_),z=new Response(JSON.stringify(S));await E.put(j,z);}}},[i,e,s,D,_,j,ne,oe,X,d]);le.useEffect(()=>{if(s?.refreshInterval){let A=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,b=setInterval(()=>{C();},M.duration(A,h).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[s?.refreshInterval,C]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:c,timeoutUnitRefetch:T}=le.useMemo(()=>{let A=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??F?.timeout,b=typeof h=="number"?h:h?.value??60*5,m=typeof h=="object"?h.unit:"s";return {enabledRefetch:A,timeoutRefetch:b,timeoutUnitRefetch:m}},[s?.refetchOnWindowFocus,F]);le.useEffect(()=>{if(!R||s?.hold)return;let A=M.duration(c,T).asMilliseconds(),h=()=>{let m=Date.now(),w=y.current;w!==null&&m-w>=A&&C(),y.current=null;},b=()=>{y.current=Date.now();};return window.addEventListener("focus",h),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",b);}},[R,c,T,C,s?.hold]);let g=le.useCallback(()=>{B.current?.abort(),B.current=null,P(l,{loading:false,isCancel:true});},[l,B]),O=le.useCallback(()=>{P(l,{loading:false,response:null});},[l]),u=le.useMemo(()=>({...d,loading:f,refresh:C,abort:g,clear:O,response:d,isCancel:D,clone:(A,h)=>Dt(e,A,{storeName:`${a}-clone`,...h})}),[d,f,C,g,O,D,e]);return le.useEffect(()=>($e(l,u),()=>{Ke(l);}),[u,l]),[d?.data,u]}async function an(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var xt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(xt||{}),Ct=(C=>(C.number="number",C.currency="currency",C.percent="percent",C.date="date",C.dateTime="dateTime",C.month="month",C.year="year",C.time="time",C.timestamp="timestamp",C.string="string",C.textarea="textarea",C.code="code",C.password="password",C.boolean="boolean",C.toggle="toggle",C.email="email",C.phone="phone",C.url="url",C.json="json",C.file="file",C.image="image",C.array="array",C.object="object",C.enum="enum",C.user="user",C.department="department",C.status="status",C))(Ct||{});var dn=()=>{let{format:t}=V();return (e,r,n)=>{try{return r==="number"?Pt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ot(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?At(e,n):r==="string"?St(e,n):e?.toString()}catch{return}}};function At(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function St(t,e){if(!L(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=Oe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function Pt(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let D=String(t??"").trim().trim();if(fe(D,r))return D}if(t==null||isNaN(Number(t)))return "";let i=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),D=f.indexOf(".");D!==-1&&(s=f.length-D-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function Ot(t,{display:e,value:r}){if(!L(t))return t;let n=M(t,r);return n.isValid()?n.format(e):t}function gn(t,{interval:e,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=t;},[t]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function bn(t,e,r){let[n,o]=le.useState(false),a=(p,f)=>typeof t=="string"&&p===t||typeof t=="number"&&f===t,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:f,keyCode:D}=p,d=p.ctrlKey,P=p.altKey,U=p.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(f,D)&&(e==="ctrl"&&d||e==="alt"&&P||e==="shift"&&U)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let x=e.every($=>$==="ctrl"?d:$==="alt"?P:$==="shift"?U:false);a(f,D)&&x&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(f,D)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:f})=>{a(p,f)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var On=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:f,encryptResponse:D,passphrase:d})=>{let{encrypt:P,decrypt:U,passphrase:x}=G(),$=kt__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,c,T)=>{let g=T?.code==="ERR_CANCELED",O=y?.status===401,u=y?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:D)&&u){let S=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?x:c.passphrase:d;try{u=U(u,S);}catch{try{u=U(u,x);}catch{}}}let b={...n({...y,data:u,isCancel:g,isUnauthorization:O},T),isCancel:g,isUnauthorization:O,httpCode:y?.status},m=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:l,w=s?s(b,c):!O;if((c?.infoSuccess&&b.status||c?.infoError&&!b.status)&&i&&(!g||!m)&&i(b),!w&&(!g||!c?.disabledHandleUnauthorized)){let S=c?.onUnauthorized||a;S&&S(b);}if(typeof R=="function")R(b);else return b},W=(y,R=()=>{})=>$({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:p}).then(R).catch(c=>R(c.response,c)),k=(y,R,c,T,g)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},A={...u.headers};if(u.token&&(typeof u.token=="boolean"?e&&(A.Authorization=`Bearer ${e}`):u.token&&(A.Authorization=`Bearer ${u.token}`)),r&&(c=r(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:f)&&c){let b=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?x:g.passphrase:d;c=P(c,b);}return W({url:R,method:y,data:c,headers:A,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:b=>{u?.onUploadProgress&&u?.onUploadProgress(b);}},(b,m)=>F(b,T,u,m))};return {client:W,post:(y,R,c,T)=>k("POST",`${y}`,R,c,T),put:(y,R,c,T)=>k("PUT",`${y}`,R,c,T),patch:(y,R,c,T)=>k("PATCH",`${y}`,R,c,T),delete:(y,R,c)=>k("DELETE",`${y}`,null,R,c),get:(y,R,c)=>k("GET",`${y}`,null,R,c),upload:(y,R,c,T)=>{let g=new FormData;return Object.keys(R).forEach(O=>g.append(O,R[O])),k("POST",`${y}`,g,c,{infoSuccess:false,...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})},stream:async(y,R,c,T,g)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...g},A={"Content-Type":"application/json",...o,...u.headers};if(u.token){let q=typeof u.token=="boolean"?e:u.token;q&&(A.Authorization=`Bearer ${q}`);}let h=c;if(r&&(h=r(h)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:f)&&h){let q=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:d;h=P(h,q);}let m=await fetch(`${t}${R}`,{method:y,headers:A,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(h)}),w=m?.status,S=w===401;if(!m.ok){let q=m?.statusText||"Error";try{let I=m.headers.get("content-type")||"",N=await m.clone().text();if(N)if(I.includes("application/json"))try{let Q=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:D)&&c){let ue=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?x:g.passphrase:d;try{c=U(Q,ue);}catch{try{c=U(Q,x);}catch{}}}q=Q?.message||q;}catch{q=N;}else q=N;}catch{}let J=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:l,K={status:!1,data:void 0,message:q,isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0};g?.infoError&&i&&!J&&i(K),T(K);return}let E=m.body.getReader(),z=new TextDecoder("utf-8"),Y="",Z=!1;for(;!Z;){let{done:q,value:J}=await E.read();Z=q,Y+=z.decode(J,{stream:!0});let K=Y.split(`
|
|
2
2
|
|
|
3
|
-
`);F=K.pop();for(let V of K)if(V.startsWith("data:"))try{let N=se(V);D({status:!0,data:N,message:"",isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!0});}catch(P){let f=P?.name==="AbortError";D({status:false,data:void 0,message:P instanceof Error?P.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}}}};function qn(t,e){let[r,n]=ie.useState(false),[o,a]=ie.useState(),[i,s]=ie.useState(0),l=ie.useRef(null);return ie.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async y=>{l.current?.abort();let S=new AbortController;l.current=S,n(true),e?.beforeRequest&&(y=e?.beforeRequest(y)),e?.logging&&console.log("Before request",y),e?.onBeforeRequest&&e?.onBeforeRequest(y);let w={...e,signal:S.signal,onUploadProgress:$=>{let B=Math.round($.loaded*100/($.total||1));s(B);}},T=t.__isVoid?await t(void 0,w):await t(y,void 0,w);e?.logging&&console.log("After response",T),a(T),n(false),s(0),e?.afterResponse&&T?.data&&(T.data=e?.afterResponse(T.data,y)),T.status&&e?.onSuccess&&e?.onSuccess(T,y),!T.status&&e?.onError&&e?.onError(T,y),e?.onAfterResponse?.(T,y);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Et(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Nt=typeof window<"u"?window:null;function vn(t={}){let{getTrigger:e=Et,target:r=Nt,disableHysteresis:n=false,threshold:o=100}=t,a=ie__default.default.useRef(0),[i,s]=ie__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return ie__default.default.useEffect(()=>{let l=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,e,n,o]),i}function Mn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=ie.useState(t);return ie.useEffect(()=>{let i=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(i)},[t,r,n]),o}var jn=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ke(n)||{},p=w=>{let T=w.states[n]??Z;return {loading:T.loading,isCancel:T.isCancel,response:T.response}},{loading:d,isCancel:b,response:y}=o?ee(shallow.useShallow(p)):ee(p),S=ie.useMemo(()=>[y?.data,{...y,loading:d,isCancel:b,refresh:a,abort:i,clear:s,clone:l}],[y,d,b,a,i,s,l]);return e?.selector?e.selector(S):S};var _n=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Le=(t,e)=>{let r=false;return ie__default.default.Children.forEach(t,n=>{if(ie__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&Le(o.props.children,e))&&(r=true);}}),r},zn=(t,e)=>{let r={others:[]},n=o=>{ie__default.default.Children.forEach(o,a=>{if(ie__default.default.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;e.includes(i)?r[i]=a:l&&Le(l,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function Qn(){let{format:t}=_();return (e="",r=false)=>Oe(e,r,t.number.decSep)}function Zn(t,e){let r=ie.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return ie.useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var xe={};function no(t,e){let[r,n]=ie.useState(false),[o,a]=ie.useState(),[i,s]=ie.useState();return ie.useEffect(()=>{if(!t)return;if(xe[t]){s(()=>xe[t]);return}n(true),(async()=>{try{let p=await import(`${e.path}${t}${e.extension??".svg?react"}`);xe[t]=p.default,s(()=>p.default);}catch(p){a(p),console.error(p);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:i}}function ao(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(l=>l());}function i(s){let l=ie.useRef(s?s(e):e);return ie.useSyncExternalStore(o,()=>{let p=s?s(e):e,d=l.current;return Object.is(d,p)||(l.current=p),l.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Fe(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Fe(n,o);});}function lo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Fe(a,r),a};}return e}function uo(t,e){let[r,n]=ie.useState(false),[o,a]=ie.useState([]),i=ie.useRef([]),s=ie.useRef(null);ie.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async b=>{s.current?.abort();let y=new AbortController;s.current=y,n(true),a([]),i.current=[],t(b,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),e?.onDone&&e?.onDone([...i.current])),S.status?e?.onStream&&e?.onStream(S):e?.onError&&e?.onError(S);},{signal:y.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [o.map(b=>b.data),l,{loading:r,abort:p,reset:d,response:o}]}function go(t,e){let{key:r}=e,[n,o]=ie.useState();return ie.useEffect(()=>{let a=Gt.liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function To(t,e){let{key:r}=e,[n,o]=ie.useState(false);return ie.useEffect(()=>{let a=Gt.liveQuery(async()=>!!await t(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var le,ce={};function Ao({dbName:t,version:e=1,table:r}){return le||(le=new Gt__default.default(t),e=Object.keys(ce).length+1,le.version(e).stores(ce)),r}function So({name:t,primaryKey:e}){ce[t]||(ce[t]=e);let r=()=>{let p=le.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async l=>await r().add(l),update:async(l,p)=>await r().update(l,p),put:async(l,p)=>await r().put({...p,[e]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var Eo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=Q();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:p,handleAuthorization:d,disabledToastWhenCancel:b,withCredentials:y,encryptRequest:S,encryptResponse:w,passphrase:T})=>{let $=Ut__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),B=(c,R,u,D)=>{let g=D?.code==="ERR_CANCELED",P=c?.status===401,f=c?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:w)&&f){let A=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:T;try{f=e(f,A);}catch{try{f=e(f,r);}catch{}}}let m={...i({...c,data:f,isCancel:g,isUnauthorization:P},D),isCancel:g,isUnauthorization:P,httpCode:c?.status},x=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:b,h=d?d(m,u):!P;if((u?.infoSuccess&&m.status||u?.infoError&&!m.status)&&p&&(!g||!x)&&p(m),!h&&(!g||!u?.disabledHandleUnauthorized)){let A=u?.onUnauthorized||l;A&&A(m);}if(typeof R=="function")R(m);else return m},W=(c,R=()=>{})=>$({...c,withCredentials:typeof c.withCredentials=="boolean"?c.withCredentials:y}).then(R).catch(u=>R(u.response,u)),v=(c,R,u,D,g)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},U={...f.headers};if(f.token&&(typeof f.token=="boolean"?o&&(U.Authorization=`Bearer ${o}`):f.token&&(U.Authorization=`Bearer ${f.token}`)),a&&(u=a(u)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:S)&&u){let m=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:T;u=t(u,m);}return W({url:R,method:c,data:u,headers:U,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:m=>{f?.onUploadProgress&&f?.onUploadProgress(m);}},(m,x)=>B(m,D,f,x))};return {client:W,post:(c,R,u,D)=>v("POST",`${c}`,R,u,D),put:(c,R,u,D)=>v("PUT",`${c}`,R,u,D),patch:(c,R,u,D)=>v("PATCH",`${c}`,R,u,D),delete:(c,R,u)=>v("DELETE",`${c}`,null,R,u),get:(c,R,u)=>v("GET",`${c}`,null,R,u),upload:(c,R,u,D)=>{let g=new FormData;return Object.keys(R).forEach(P=>g.append(P,R[P])),v("POST",`${c}`,g,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(c,R,u,D,g)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...g},U={"Content-Type":"application/json",...s,...f.headers};if(f.token){let O=typeof f.token=="boolean"?o:f.token;O&&(U.Authorization=`Bearer ${O}`);}let C=u;if(a&&(C=a(C)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:S)&&C){let O=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:T;C=t(C,O);}let x=await fetch(`${n}${R}`,{method:c,headers:U,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(C)}),h=x?.status,A=h===401;if(!x.ok){let O=x?.statusText||"Error";try{let V=x.headers.get("content-type")||"",N=await x.clone().text();if(N)if(V.includes("application/json"))try{let J=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:w)&&u){let pe=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:T;try{u=e(J,pe);}catch{try{u=e(J,r);}catch{}}}O=J?.message||O;}catch{O=N;}else O=N;}catch{}let Y=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:b,K={status:!1,data:void 0,message:O,isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!0};g?.infoError&&p&&!Y&&p(K),D(K);return}let q=x.body.getReader(),E=new TextDecoder("utf-8"),F="",X=!1;for(;!X;){let{done:O,value:Y}=await q.read();X=O,F+=E.decode(Y,{stream:!0});let K=F.split(`
|
|
3
|
+
`);Y=K.pop();for(let I of K)if(I.startsWith("data:"))try{let N=ae(I);T({status:!0,data:N,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!1});}catch{}}T({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0});}catch(O){let u=O?.name==="AbortError";T({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,c,T)=>{let g=new FormData;return Object.keys(R).forEach(O=>g.append(O,R[O])),k("POST",`${y}`,g,c,{infoSuccess:false,...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})}}};function Un(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[i,s]=le.useState(0),l=le.useRef(null);return le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let P=new AbortController;l.current=P,n(true),e?.beforeRequest&&(d=e?.beforeRequest(d)),e?.logging&&console.log("Before request",d),e?.onBeforeRequest&&e?.onBeforeRequest(d);let U={...e,signal:P.signal,onUploadProgress:$=>{let F=Math.round($.loaded*100/($.total||1));s(F);}},x=t.__isVoid?await t(void 0,U):await t(d,void 0,U);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,d)),x.status&&e?.onSuccess&&e?.onSuccess(x,d),!x.status&&e?.onError&&e?.onError(x,d),e?.onAfterResponse?.(x,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Nt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Mt=typeof window<"u"?window:null;function En(t={}){let{getTrigger:e=Nt,target:r=Mt,disableHysteresis:n=false,threshold:o=100}=t,a=le__default.default.useRef(0),[i,s]=le__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let l=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,e,n,o]),i}function $n(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=le.useState(t);return le.useEffect(()=>{let i=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(i)},[t,r,n]),o}var In=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=He(n)||{},p=U=>{let x=U.states[n]??ee;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:f,isCancel:D,response:d}=o?te(shallow.useShallow(p)):te(p),P=le.useMemo(()=>[d?.data,{...d,loading:f,isCancel:D,refresh:a,abort:i,clear:s,clone:l}],[d,f,D,a,i,s,l]);return e?.selector?e.selector(P):P};var zn=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Fe=(t,e)=>{let r=false;return le__default.default.Children.forEach(t,n=>{if(le__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&Fe(o.props.children,e))&&(r=true);}}),r},Wn=(t,e)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,a=>{if(le__default.default.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;e.includes(i)?r[i]=a:l&&Fe(l,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function Gn(){let{format:t}=V();return (e="",r=false)=>we(e,r,t.number.decSep)}function eo(t,e){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ce={};function oo(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[i,s]=le.useState();return le.useEffect(()=>{if(!t)return;if(Ce[t]){s(()=>Ce[t]);return}n(true),(async()=>{try{let p=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ce[t]=p.default,s(()=>p.default);}catch(p){a(p),console.error(p);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:i}}function io(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(l=>l());}function i(s){let l=le.useRef(s?s(e):e);return le.useSyncExternalStore(o,()=>{let p=s?s(e):e,f=l.current;return Object.is(f,p)||(l.current=p),l.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Be(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Be(n,o);});}function co(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Be(a,r),a};}return e}function fo(t,e){let[r,n]=le.useState(false),[o,a]=le.useState([]),i=le.useRef([]),s=le.useRef(null);le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async D=>{s.current?.abort();let d=new AbortController;s.current=d,n(true),a([]),i.current=[],t(D,P=>{P.isDone||(i.current.push(P),a([...i.current])),(P.isDone||!P.status)&&(n(false),e?.onDone&&e?.onDone([...i.current])),P.status?e?.onStream&&e?.onStream(P):e?.onError&&e?.onError(P);},{signal:d.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},f=()=>{n(false),a([]),i.current=[];};return [o.map(D=>D.data),l,{loading:r,abort:p,reset:f,response:o}]}function Ro(t,e){let{key:r}=e,[n,o]=le.useState();return le.useEffect(()=>{let a=Xt.liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Do(t,e){let{key:r}=e,[n,o]=le.useState(false);return le.useEffect(()=>{let a=Xt.liveQuery(async()=>!!await t(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function So({dbName:t,version:e=1,table:r}){return ce||(ce=new Xt__default.default(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function Po({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async l=>await r().add(l),update:async(l,p)=>await r().update(l,p),put:async(l,p)=>await r().put({...p,[e]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var No=()=>{let{encrypt:t,decrypt:e,passphrase:r}=G();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:p,handleAuthorization:f,disabledToastWhenCancel:D,withCredentials:d,encryptRequest:P,encryptResponse:U,passphrase:x})=>{let $=kt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,c,T)=>{let g=T?.code==="ERR_CANCELED",O=y?.status===401,u=y?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:U)&&u){let S=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?r:c.passphrase:x;try{u=e(u,S);}catch{try{u=e(u,r);}catch{}}}let b={...i({...y,data:u,isCancel:g,isUnauthorization:O},T),isCancel:g,isUnauthorization:O,httpCode:y?.status},m=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:D,w=f?f(b,c):!O;if((c?.infoSuccess&&b.status||c?.infoError&&!b.status)&&p&&(!g||!m)&&p(b),!w&&(!g||!c?.disabledHandleUnauthorized)){let S=c?.onUnauthorized||l;S&&S(b);}if(typeof R=="function")R(b);else return b},W=(y,R=()=>{})=>$({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(c=>R(c.response,c)),k=(y,R,c,T,g)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},A={...u.headers};if(u.token&&(typeof u.token=="boolean"?o&&(A.Authorization=`Bearer ${o}`):u.token&&(A.Authorization=`Bearer ${u.token}`)),a&&(c=a(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:P)&&c){let b=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:x;c=t(c,b);}return W({url:R,method:y,data:c,headers:A,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:b=>{u?.onUploadProgress&&u?.onUploadProgress(b);}},(b,m)=>F(b,T,u,m))};return {client:W,post:(y,R,c,T)=>k("POST",`${y}`,R,c,T),put:(y,R,c,T)=>k("PUT",`${y}`,R,c,T),patch:(y,R,c,T)=>k("PATCH",`${y}`,R,c,T),delete:(y,R,c)=>k("DELETE",`${y}`,null,R,c),get:(y,R,c)=>k("GET",`${y}`,null,R,c),upload:(y,R,c,T)=>{let g=new FormData;return Object.keys(R).forEach(O=>g.append(O,R[O])),k("POST",`${y}`,g,c,{infoSuccess:false,...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})},stream:async(y,R,c,T,g)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...g},A={"Content-Type":"application/json",...s,...u.headers};if(u.token){let q=typeof u.token=="boolean"?o:u.token;q&&(A.Authorization=`Bearer ${q}`);}let h=c;if(a&&(h=a(h)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:P)&&h){let q=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;h=t(h,q);}let m=await fetch(`${n}${R}`,{method:y,headers:A,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(h)}),w=m?.status,S=w===401;if(!m.ok){let q=m?.statusText||"Error";try{let I=m.headers.get("content-type")||"",N=await m.clone().text();if(N)if(I.includes("application/json"))try{let Q=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:U)&&c){let ue=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:x;try{c=e(Q,ue);}catch{try{c=e(Q,r);}catch{}}}q=Q?.message||q;}catch{q=N;}else q=N;}catch{}let J=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:D,K={status:!1,data:void 0,message:q,isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0};g?.infoError&&p&&!J&&p(K),T(K);return}let E=m.body.getReader(),z=new TextDecoder("utf-8"),Y="",Z=!1;for(;!Z;){let{done:q,value:J}=await E.read();Z=q,Y+=z.decode(J,{stream:!0});let K=Y.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
5
|
+
`);Y=K.pop();for(let I of K)if(I.startsWith("data:"))try{let N=ae(I);T({status:!0,data:N,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!1});}catch{}}T({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0});}catch(O){let u=O?.name==="AbortError";T({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,c,T)=>k("POST",`${y}`,R,c,{...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})}}};function Ve(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ve(n,o);});}function _e(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return Ve(o,r),o};if(!t||typeof t!="object")return t;let n={};for(let o in t){let a=r?`${r}.${o}`:o;n[o]=_e(t[o],e,a);}return n}function $o(t,e){return _e(t,e)}function Lo(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,i)=>{if(Array.isArray(i.and))return i.and.every(s=>n(a,s));if(Array.isArray(i.or))return i.or.some(s=>n(a,s));for(let[s,l]of Object.entries(i)){if(s==="and"||s==="or")continue;let{opt:p="eq",value:f,required:D=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!D&&(f==null||f===""))continue;let d=v(a,s,void 0);switch(p){case "eq":if(d!==f)return false;break;case "neq":if(d===f)return false;break;case "gt":if(!(d>f))return false;break;case "gte":if(!(d>=f))return false;break;case "lt":if(!(d<f))return false;break;case "lte":if(!(d<=f))return false;break;case "contains":{if(d==null||f==null)return false;if(Array.isArray(d)){if(!d.some(U=>r(U).toLowerCase().includes(r(f).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(f).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(U=>r(U).toLowerCase().includes(r(f).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(f).toLowerCase()))return false;break}case "startsWith":if(d==null||f==null||!String(d).startsWith(String(f)))return false;break;case "endsWith":if(d==null||f==null||!String(d).endsWith(String(f)))return false;break;case "in":if(!Array.isArray(f)||!f.includes(d))return false;break;case "notIn":if(Array.isArray(f)&&f.includes(d))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(i=>n(i,a))),o},sort(a){let i=Object.entries(a);return e.sort((s,l)=>{for(let[p,f]of i){let D=v(s,p),d=v(l,p);if(D!==d)return f==="asc"?D>d?1:-1:D<d?1:-1}return 0}),o},distinct(a){let i=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(l=>{let p=i.length?i.map(f=>v(l,f)).join("|"):JSON.stringify(l);return s.has(p)?false:(s.add(p),true)}),o},select(a){return e=e.map(i=>{let s={};for(let l of a)s[l]=v(i,l);return s}),o},paginate(a,i){let s=(a-1)*i,l=s+i;return {data:e.slice(s,l),total:e.length,page:a,pageSize:i,totalPages:Math.ceil(e.length/i)}},groupBy(a){let i={};for(let s of e){let l=v(s,a),p=String(l??"undefined");i[p]||(i[p]=[]),i[p].push(s);}return i},map(a){return e=e.map(a),o},reduce(a,i){return e.reduce(a,i)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}function Bo({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.map((i,s)=>jsxRuntime.jsx("span",{style:i?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:i},s))})}exports.BgsCoreProvider=dt;exports.DataTypeEnum=Ct;exports.Highlight=Bo;exports.HttpMethod=xt;exports.bindApi=$o;exports.capitalizeWords=Oe;exports.createApiHelper=On;exports.createDatabase=So;exports.createElement=zn;exports.createStore=io;exports.createTable=Po;exports.debounce=xr;exports.decrypt=ye;exports.decryptString=Ne;exports.defaultState=ee;exports.diffJson=mr;exports.encrypt=de;exports.encryptString=Ee;exports.filterDOMPropsLite=Cr;exports.formatBoolean=At;exports.formatDate=Ot;exports.formatNumber=Pt;exports.formatString=St;exports.generateCacheKey=Pe;exports.generateUUID=yr;exports.getApiActions=He;exports.getDateRangeLabelFromSorted=Pr;exports.getFieldValue=v;exports.getInitials=Ar;exports.getMinMaxDate=Sr;exports.getTotalMinutes=Or;exports.isArray=Rr;exports.isDirtyRaw=fe;exports.isNotEmpty=L;exports.isValidNumber=it;exports.jsonCopy=Dr;exports.labelFormatter=Ae;exports.mappingData=wr;exports.mappingUndefinedtoNull=gr;exports.moment=M;exports.objectToQueryString=ct;exports.parseSSEChunk=ae;exports.parseStringToNumber=we;exports.query=Lo;exports.registerApi=$e;exports.renderChildren=hr;exports.replaceNullStrings=Se;exports.safeUpdate=bt;exports.sorting=br;exports.splitElement=Wn;exports.stableStringify=at;exports.summary=Tr;exports.unregisterApi=Ke;exports.useApiLoad=Dt;exports.useApiLoadStore=te;exports.useApiSend=Un;exports.useApiStore=In;exports.useApiStream=fo;exports.useBgsCore=V;exports.useCreateApi=No;exports.useCrypto=G;exports.useDbLive=Ro;exports.useDbLiveFlag=Do;exports.useDebounce=$n;exports.useDelay=an;exports.useDynamicSvgImport=oo;exports.useElementBounding=eo;exports.useFormatted=dn;exports.useInterval=gn;exports.useKeyPress=bn;exports.useParseStringToNumber=Gn;exports.useScrollTrigger=En;exports.useStorage=Me;exports.wrapApi=co;
|
package/dist/index.d.cts
CHANGED
|
@@ -516,6 +516,7 @@ declare const createApiHelper: <DReq = any, DRes = any>({ url, token, beforeRequ
|
|
|
516
516
|
get: ApiDefaultFetch<DRes>;
|
|
517
517
|
upload: ApiDefaultMethod<DReq, DRes>;
|
|
518
518
|
stream: ApiDefaultStream<DReq, DRes>;
|
|
519
|
+
multipart: ApiDefaultMethod<DReq, DRes>;
|
|
519
520
|
};
|
|
520
521
|
|
|
521
522
|
declare function useApiSend<DReq, DRes>(api: ApiMethod<DReq, DRes>, props?: UseApiSendProps<DReq, DRes>): UseApiSendReturnType<DReq, DRes>;
|
|
@@ -754,6 +755,7 @@ declare const useCreateApi: () => <DReq = any, DRes = any>({ url, token, beforeR
|
|
|
754
755
|
get: ApiDefaultFetch<DRes>;
|
|
755
756
|
upload: ApiDefaultMethod<DReq, DRes>;
|
|
756
757
|
stream: ApiDefaultStream<DReq, DRes>;
|
|
758
|
+
multipart: ApiDefaultMethod<DReq, DRes>;
|
|
757
759
|
};
|
|
758
760
|
|
|
759
761
|
type AnyFunc = (...args: any[]) => any;
|
package/dist/index.d.ts
CHANGED
|
@@ -516,6 +516,7 @@ declare const createApiHelper: <DReq = any, DRes = any>({ url, token, beforeRequ
|
|
|
516
516
|
get: ApiDefaultFetch<DRes>;
|
|
517
517
|
upload: ApiDefaultMethod<DReq, DRes>;
|
|
518
518
|
stream: ApiDefaultStream<DReq, DRes>;
|
|
519
|
+
multipart: ApiDefaultMethod<DReq, DRes>;
|
|
519
520
|
};
|
|
520
521
|
|
|
521
522
|
declare function useApiSend<DReq, DRes>(api: ApiMethod<DReq, DRes>, props?: UseApiSendProps<DReq, DRes>): UseApiSendReturnType<DReq, DRes>;
|
|
@@ -754,6 +755,7 @@ declare const useCreateApi: () => <DReq = any, DRes = any>({ url, token, beforeR
|
|
|
754
755
|
get: ApiDefaultFetch<DRes>;
|
|
755
756
|
upload: ApiDefaultMethod<DReq, DRes>;
|
|
756
757
|
stream: ApiDefaultStream<DReq, DRes>;
|
|
758
|
+
multipart: ApiDefaultMethod<DReq, DRes>;
|
|
757
759
|
};
|
|
758
760
|
|
|
759
761
|
type AnyFunc = (...args: any[]) => any;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ie,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import H from'dayjs';import Je from'dayjs/plugin/utc';import Qe from'dayjs/plugin/timezone';import Ge from'dayjs/plugin/duration';import Xe from'dayjs/plugin/advancedFormat';import Ze from'dayjs/plugin/localizedFormat';import et from'dayjs/plugin/relativeTime';import tt from'dayjs/plugin/isSameOrBefore';import rt from'dayjs/plugin/isSameOrAfter';import nt from'dayjs/plugin/weekOfYear';import ot from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ue from'crypto-js/aes';import ke from'crypto-js/pbkdf2';import yt from'crypto-js/enc-utf8';import ae from'crypto-js/enc-base64';import qe from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Ut from'axios';import Gt,{liveQuery}from'dexie';H.extend(Je);H.extend(Qe);H.extend(Ge);H.extend(Xe);H.extend(Ze);H.extend(et);H.extend(tt);H.extend(rt);H.extend(nt);H.extend(ot);var M=H;function dr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function yr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var mr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function gr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function L(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var Ce={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=Ce.snackCase(Ce.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Rr(t,e){return typeof t=="function"?t(e):t}var k=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},hr={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=k(r,e)?k(r,e):"",a=k(n,e)?k(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=k(r,e)?k(r,e):"",a=k(n,e)?k(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},br=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?k(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Tr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function st(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Se(t,e){return st([e??"undefined",t??"undefined"])}function Pe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Dr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var se=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function ue(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function at(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&ue(n,r))return true}return false}function Oe(t="",e=false,r="."){if(!at(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var it=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 xr(t){let e={};for(let r in t)it.has(r)&&(e[r]=t[r]);return e}function Cr(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Ar(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(M).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Sr(t,e){let r=M(t),n=M(e),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Pr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=M(t,"HH:mm",true),n=M(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var Or=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((l,p)=>{if(typeof l!="object"){let d=typeof e=="function"?e(l,p):l,b=typeof r=="function"?r(l,p):l;return {label:d,value:b,index:p,rowData:l}}else {let d=typeof e=="function"?e(l,p):k(l,e,""),b=typeof r=="function"?r(l,p):k(l,r,"");return {label:d,value:typeof b=="boolean"?b:b||"",index:p,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,d=i.map(y=>String(typeof p=="object"?k(p,y,"")??"":"")).join(o),b=s.get(d)||[];b.push(l),s.set(d,b);}return [Array.from(s.entries()).map(([l,p])=>({group:l,items:p})),a]};function lt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!L(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(lt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Ae(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Ae(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Ae(t[e]));return t}var we=createContext(void 0);function _(){let t=useContext(we);return t||{}}var ft=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:i}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&M.locale(o,a??{},i);}})();},[e.localeConfig]),jsx(we.Provider,{value:r,children:t})};function fe(t,e){let r=qe.random(16),n=qe.random(16),o=ke(e,r,{keySize:256/32,iterations:1e3}),a=Ue.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ae),iv:n.toString(ae),encrypted:a}}function de(t,e){let{salt:r,iv:n,encrypted:o}=t,a=ke(e,ae.parse(r),{keySize:256/32,iterations:1e3}),s=Ue.decrypt(o,a,{iv:ae.parse(n)}).toString(yt);return JSON.parse(s)}function ve(t,e){return JSON.stringify(fe(t,e))}function Ee(t,e){return de(JSON.parse(t),e)}function Q(){let{passphrase:t}=_();return {passphrase:t,encrypt(e,r){return fe(e,r||t)},decrypt(e,r){return de(e,r||t)},encryptString(e,r){return ve(e,r||t)},decryptString(e,r){return Ee(e,r||t)}}}var Ne=()=>{let{encrypt:t,decrypt:e}=Q(),r=useCallback((i,s)=>{try{let l=t(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[t]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=i=>{let[s,l]=useState(()=>{try{let p=localStorage.getItem(i);return p?e(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return useEffect(()=>{let p=d=>{if(d.key===i)if(d.newValue)try{l(e(JSON.parse(d.newValue)));}catch(b){console.error("Decrypt error from storage event",b);}else l(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,e]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function ht(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var Z={loading:false,response:void 0,isCancel:false},ee=create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??Z,a={...o,...n};ht(o,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var me=new Map,Me=(t,e)=>{me.set(t,e);},$e=t=>{me.delete(t);},Ke=t=>me.get(t);function Tt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[d,b,y,S]=ee(useShallow(C=>{let m=C.states[l]??Z;return [m.loading,m.isCancel,m.response,C.updateState]})),{storageKey:w,cache:T,clearPreviousData:$,refetchOnWindowFocus:B}=_(),W=Ne(),v=useRef(void 0),j=useRef(null),{cacheName:z,cacheKey:I,timeout:re,timeoutUnit:ne,persistence:oe,cacheEnabled:G}=useMemo(()=>{let C=w?W.get(w):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,x=Se({...i,session:C},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),h=false;typeof T?.enabled=="boolean"&&(h=T.enabled);let A=false;typeof T?.persistence=="boolean"&&(A=T?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(A=s?.cache?.persistence??false);let q=60*5,E="s";return L(T?.timeout)&&(typeof T?.timeout=="number"?(q=T.timeout,E="s"):typeof T?.timeout=="object"&&(q=T?.timeout.value,E=T?.timeout.unit)),L(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?h=s.cache.enabled:h=true,typeof s?.cache?.timeout=="number"?(q=s.cache.timeout,E="s"):typeof s?.cache?.timeout=="object"&&(q=s.cache.timeout.value,E=s.cache.timeout.unit)):h=s.cache),{cacheName:m,cacheKey:x,timeout:q,timeoutUnit:E,persistence:A,cacheEnabled:h}},[s?.cache,i,w,T,a]);useEffect(()=>{let C=JSON.stringify(L(v.current)?v.current:""),m=JSON.stringify(L(i)?i:""),x=v.current===void 0;(C!==m||x)&&!s?.hold&&((s?.clearPreviousData??$)&&S(l,{response:null}),c(),v.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,$,s?.hold,...s?.trigger||[]]),useEffect(()=>{let C=async()=>{!oe&&z&&I&&(await caches.open(z)).delete(I);};return window.addEventListener("beforeunload",C),()=>{window.removeEventListener("beforeunload",C),j.current?.abort();}},[oe,z,I,l,j]);let c=useCallback(async C=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),G&&!C&&!b){s?.onBeforeRequest&&s?.onBeforeRequest(i);let x=await caches.open(z),A=await(await x.match(I))?.json();if(A){let{data:q,expired:E}=A;if(M().isAfter(E))await x.delete(I);else {s?.afterResponse&&q?.data&&(q.data=s?.afterResponse(q.data,m)),s?.logging&&console.log("After request: Using Cache",q),q?.status&&s?.onSuccess?.(q,m),s?.onAfterResponse?.(q,m),S(l,{loading:false,response:q});return}}}if(typeof e=="function"){j.current?.abort();let x=new AbortController;j.current=x,S(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let h=o?await e(void 0,{...s,signal:x.signal}):await e(m,void 0,{...s,signal:x.signal});if(h.__rawData=h.data,p==="append"&&L(y.__rawData)&&L(h?.data)){if(Array.isArray(y.__rawData)&&Array.isArray(h?.data)){let A=[...y?.__rawData??[],...h.data??[]];h.data=A,h.__rawData=A;}else if(typeof y.__rawData=="object"&&typeof h.data=="object"){let A={...y.__rawData,...h.data};h.data=A,h.__rawData=A;}}if(s?.afterResponse&&h?.data&&(h.data=s?.afterResponse(h.data,m)),s?.logging&&console.log("After request",h),h.status&&s?.onSuccess?.(h,m),h.status||s?.onError?.(h,m),s?.onAfterResponse?.(h,m),S(l,{loading:false,response:h,isCancel:false}),G&&h.status){let A=M().add(re,ne).toISOString(),q={data:h,expired:A},E=await caches.open(z),F=new Response(JSON.stringify(q));await E.put(I,F);}}},[i,e,s,b,z,I,re,ne,G,y]);useEffect(()=>{if(s?.refreshInterval){let C=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,x=setInterval(()=>{c();},M.duration(C,m).asMilliseconds());return ()=>clearInterval(x)}return ()=>{}},[s?.refreshInterval,c]);let R=useRef(null),{enabledRefetch:u,timeoutRefetch:D,timeoutUnitRefetch:g}=useMemo(()=>{let C=s?.refetchOnWindowFocus?.enabled??B?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??B?.timeout,x=typeof m=="number"?m:m?.value??60*5,h=typeof m=="object"?m.unit:"s";return {enabledRefetch:C,timeoutRefetch:x,timeoutUnitRefetch:h}},[s?.refetchOnWindowFocus,B]);useEffect(()=>{if(!u||s?.hold)return;let C=M.duration(D,g).asMilliseconds(),m=()=>{let h=Date.now(),A=R.current;A!==null&&h-A>=C&&c(),R.current=null;},x=()=>{R.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",x),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",x);}},[u,D,g,c,s?.hold]);let P=useCallback(()=>{j.current?.abort(),j.current=null,S(l,{loading:false,isCancel:true});},[l,j]),f=useCallback(()=>{S(l,{loading:false,response:null});},[l]),U=useMemo(()=>({...y,loading:d,refresh:c,abort:P,clear:f,response:y,isCancel:b,clone:(C,m)=>Tt(e,C,{storeName:`${a}-clone`,...m})}),[y,d,c,P,f,b,e]);return useEffect(()=>(Me(l,U),()=>{$e(l);}),[U,l]),[y?.data,U]}async function sn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var Dt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Dt||{}),xt=(c=>(c.number="number",c.currency="currency",c.percent="percent",c.date="date",c.dateTime="dateTime",c.month="month",c.year="year",c.time="time",c.timestamp="timestamp",c.string="string",c.textarea="textarea",c.code="code",c.password="password",c.boolean="boolean",c.toggle="toggle",c.email="email",c.phone="phone",c.url="url",c.json="json",c.file="file",c.image="image",c.array="array",c.object="object",c.enum="enum",c.user="user",c.department="department",c.status="status",c))(xt||{});var fn=()=>{let{format:t}=_();return (e,r,n)=>{try{return r==="number"?St(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Pt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?Ct(e,n):r==="string"?At(e,n):e?.toString()}catch{return}}};function Ct(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function At(t,e){if(!L(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=Pe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function St(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let b=String(t??"").trim().trim();if(ue(b,r))return b}if(t==null||isNaN(Number(t)))return "";let i=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[o](i*d)/d;}else i=Math[o](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.trunc(i*d)/d;}let s=0;if(n==="auto"){let d=i.toString(),b=d.indexOf(".");b!==-1&&(s=d.length-b-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function Pt(t,{display:e,value:r}){if(!L(t))return t;let n=M(t,r);return n.isValid()?n.format(e):t}function mn(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function hn(t,e,r){let[n,o]=useState(false),a=(p,d)=>typeof t=="string"&&p===t||typeof t=="number"&&d===t,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:d,keyCode:b}=p,y=p.ctrlKey,S=p.altKey,w=p.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(d,b)&&(e==="ctrl"&&y||e==="alt"&&S||e==="shift"&&w)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let T=e.every($=>$==="ctrl"?y:$==="alt"?S:$==="shift"?w:false);a(d,b)&&T&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(d,b)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:d})=>{a(p,d)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var Pn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:d,encryptResponse:b,passphrase:y})=>{let{encrypt:S,decrypt:w,passphrase:T}=Q(),$=Ut.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),B=(c,R,u,D)=>{let g=D?.code==="ERR_CANCELED",P=c?.status===401,f=c?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:b)&&f){let A=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?T:u.passphrase:y;try{f=w(f,A);}catch{try{f=w(f,T);}catch{}}}let m={...n({...c,data:f,isCancel:g,isUnauthorization:P},D),isCancel:g,isUnauthorization:P,httpCode:c?.status},x=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:l,h=s?s(m,u):!P;if((u?.infoSuccess&&m.status||u?.infoError&&!m.status)&&i&&(!g||!x)&&i(m),!h&&(!g||!u?.disabledHandleUnauthorized)){let A=u?.onUnauthorized||a;A&&A(m);}if(typeof R=="function")R(m);else return m},W=(c,R=()=>{})=>$({...c,withCredentials:typeof c.withCredentials=="boolean"?c.withCredentials:p}).then(R).catch(u=>R(u.response,u)),v=(c,R,u,D,g)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},U={...f.headers};if(f.token&&(typeof f.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):f.token&&(U.Authorization=`Bearer ${f.token}`)),r&&(u=r(u)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:d)&&u){let m=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?T:g.passphrase:y;u=S(u,m);}return W({url:R,method:c,data:u,headers:U,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:m=>{f?.onUploadProgress&&f?.onUploadProgress(m);}},(m,x)=>B(m,D,f,x))};return {client:W,post:(c,R,u,D)=>v("POST",`${c}`,R,u,D),put:(c,R,u,D)=>v("PUT",`${c}`,R,u,D),patch:(c,R,u,D)=>v("PATCH",`${c}`,R,u,D),delete:(c,R,u)=>v("DELETE",`${c}`,null,R,u),get:(c,R,u)=>v("GET",`${c}`,null,R,u),upload:(c,R,u,D)=>{let g=new FormData;return Object.keys(R).forEach(P=>g.append(P,R[P])),v("POST",`${c}`,g,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(c,R,u,D,g)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...g},U={"Content-Type":"application/json",...o,...f.headers};if(f.token){let O=typeof f.token=="boolean"?e:f.token;O&&(U.Authorization=`Bearer ${O}`);}let C=u;if(r&&(C=r(C)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:d)&&C){let O=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?T:f.passphrase:y;C=S(C,O);}let x=await fetch(`${t}${R}`,{method:c,headers:U,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(C)}),h=x?.status,A=h===401;if(!x.ok){let O=x?.statusText||"Error";try{let V=x.headers.get("content-type")||"",N=await x.clone().text();if(N)if(V.includes("application/json"))try{let J=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:b)&&u){let pe=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?T:g.passphrase:y;try{u=w(J,pe);}catch{try{u=w(J,T);}catch{}}}O=J?.message||O;}catch{O=N;}else O=N;}catch{}let Y=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:l,K={status:!1,data:void 0,message:O,isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!0};g?.infoError&&i&&!Y&&i(K),D(K);return}let q=x.body.getReader(),E=new TextDecoder("utf-8"),F="",X=!1;for(;!X;){let{done:O,value:Y}=await q.read();X=O,F+=E.decode(Y,{stream:!0});let K=F.split(`
|
|
1
|
+
import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import H from'dayjs';import Qe from'dayjs/plugin/utc';import Ge from'dayjs/plugin/timezone';import Xe from'dayjs/plugin/duration';import Ze from'dayjs/plugin/advancedFormat';import et from'dayjs/plugin/localizedFormat';import tt from'dayjs/plugin/relativeTime';import rt from'dayjs/plugin/isSameOrBefore';import nt from'dayjs/plugin/isSameOrAfter';import ot from'dayjs/plugin/weekOfYear';import st from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import ke from'crypto-js/aes';import ve from'crypto-js/pbkdf2';import mt from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import Ue from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import kt from'axios';import Xt,{liveQuery}from'dexie';H.extend(Qe);H.extend(Ge);H.extend(Xe);H.extend(Ze);H.extend(et);H.extend(tt);H.extend(rt);H.extend(nt);H.extend(ot);H.extend(st);var M=H;function yr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function mr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var gr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Rr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function L(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var Ae={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=Ae.snackCase(Ae.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function hr(t,e){return typeof t=="function"?t(e):t}var v=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},br={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=v(r,e)?v(r,e):"",a=v(n,e)?v(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=v(r,e)?v(r,e):"",a=v(n,e)?v(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},Tr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?v(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Dr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function at(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Pe(t,e){return at([e??"undefined",t??"undefined"])}function Oe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function xr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function fe(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function it(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&fe(n,r))return true}return false}function we(t="",e=false,r="."){if(!it(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var lt=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 Cr(t){let e={};for(let r in t)lt.has(r)&&(e[r]=t[r]);return e}function Ar(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Sr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(M).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Pr(t,e){let r=M(t),n=M(e),o=r.month()===n.month(),a=r.year()===n.year();return a&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Or(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=M(t,"HH:mm",true),n=M(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var wr=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((l,p)=>{if(typeof l!="object"){let f=typeof e=="function"?e(l,p):l,D=typeof r=="function"?r(l,p):l;return {label:f,value:D,index:p,rowData:l}}else {let f=typeof e=="function"?e(l,p):v(l,e,""),D=typeof r=="function"?r(l,p):v(l,r,"");return {label:f,value:typeof D=="boolean"?D:D||"",index:p,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,f=i.map(d=>String(typeof p=="object"?v(p,d,"")??"":"")).join(o),D=s.get(f)||[];D.push(l),s.set(f,D);}return [Array.from(s.entries()).map(([l,p])=>({group:l,items:p})),a]};function ct(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!L(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(ct(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Se(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Se(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Se(t[e]));return t}var qe=createContext(void 0);function V(){let t=useContext(qe);return t||{}}var dt=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:i}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&M.locale(o,a??{},i);}})();},[e.localeConfig]),jsx(qe.Provider,{value:r,children:t})};function de(t,e){let r=Ue.random(16),n=Ue.random(16),o=ve(e,r,{keySize:256/32,iterations:1e3}),a=ke.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function ye(t,e){let{salt:r,iv:n,encrypted:o}=t,a=ve(e,ie.parse(r),{keySize:256/32,iterations:1e3}),s=ke.decrypt(o,a,{iv:ie.parse(n)}).toString(mt);return JSON.parse(s)}function Ee(t,e){return JSON.stringify(de(t,e))}function Ne(t,e){return ye(JSON.parse(t),e)}function G(){let{passphrase:t}=V();return {passphrase:t,encrypt(e,r){return de(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return Ee(e,r||t)},decryptString(e,r){return Ne(e,r||t)}}}var Me=()=>{let{encrypt:t,decrypt:e}=G(),r=useCallback((i,s)=>{try{let l=t(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[t]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=i=>{let[s,l]=useState(()=>{try{let p=localStorage.getItem(i);return p?e(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return useEffect(()=>{let p=f=>{if(f.key===i)if(f.newValue)try{l(e(JSON.parse(f.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else l(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,e]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function bt(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var ee={loading:false,response:void 0,isCancel:false},te=create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??ee,a={...o,...n};bt(o,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ge=new Map,$e=(t,e)=>{ge.set(t,e);},Ke=t=>{ge.delete(t);},He=t=>ge.get(t);function Dt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[f,D,d,P]=te(useShallow(A=>{let h=A.states[l]??ee;return [h.loading,h.isCancel,h.response,A.updateState]})),{storageKey:U,cache:x,clearPreviousData:$,refetchOnWindowFocus:F}=V(),W=Me(),k=useRef(void 0),B=useRef(null),{cacheName:_,cacheKey:j,timeout:ne,timeoutUnit:oe,persistence:se,cacheEnabled:X}=useMemo(()=>{let A=U?W.get(U):void 0,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,b=Pe({...i,session:A},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),m=false;typeof x?.enabled=="boolean"&&(m=x.enabled);let w=false;typeof x?.persistence=="boolean"&&(w=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(w=s?.cache?.persistence??false);let S=60*5,E="s";return L(x?.timeout)&&(typeof x?.timeout=="number"?(S=x.timeout,E="s"):typeof x?.timeout=="object"&&(S=x?.timeout.value,E=x?.timeout.unit)),L(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?m=s.cache.enabled:m=true,typeof s?.cache?.timeout=="number"?(S=s.cache.timeout,E="s"):typeof s?.cache?.timeout=="object"&&(S=s.cache.timeout.value,E=s.cache.timeout.unit)):m=s.cache),{cacheName:h,cacheKey:b,timeout:S,timeoutUnit:E,persistence:w,cacheEnabled:m}},[s?.cache,i,U,x,a]);useEffect(()=>{let A=JSON.stringify(L(k.current)?k.current:""),h=JSON.stringify(L(i)?i:""),b=k.current===void 0;(A!==h||b)&&!s?.hold&&((s?.clearPreviousData??$)&&P(l,{response:null}),C(),k.current=i),s?.onChange&&s?.onChange(i,u);},[i,s?.clearPreviousData,$,s?.hold,...s?.trigger||[]]),useEffect(()=>{let A=async()=>{!se&&_&&j&&(await caches.open(_)).delete(j);};return window.addEventListener("beforeunload",A),()=>{window.removeEventListener("beforeunload",A),B.current?.abort();}},[se,_,j,l,B]);let C=useCallback(async A=>{let h=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(i)),X&&!A&&!D){s?.onBeforeRequest&&s?.onBeforeRequest(i);let b=await caches.open(_),w=await(await b.match(j))?.json();if(w){let{data:S,expired:E}=w;if(M().isAfter(E))await b.delete(j);else {s?.afterResponse&&S?.data&&(S.data=s?.afterResponse(S.data,h)),s?.logging&&console.log("After request: Using Cache",S),S?.status&&s?.onSuccess?.(S,h),s?.onAfterResponse?.(S,h),P(l,{loading:false,response:S});return}}}if(typeof e=="function"){B.current?.abort();let b=new AbortController;B.current=b,P(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let m=o?await e(void 0,{...s,signal:b.signal}):await e(h,void 0,{...s,signal:b.signal});if(m.__rawData=m.data,p==="append"&&L(d.__rawData)&&L(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let w=[...d?.__rawData??[],...m.data??[]];m.data=w,m.__rawData=w;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let w={...d.__rawData,...m.data};m.data=w,m.__rawData=w;}}if(s?.afterResponse&&m?.data&&(m.data=s?.afterResponse(m.data,h)),s?.logging&&console.log("After request",m),m.status&&s?.onSuccess?.(m,h),m.status||s?.onError?.(m,h),s?.onAfterResponse?.(m,h),P(l,{loading:false,response:m,isCancel:false}),X&&m.status){let w=M().add(ne,oe).toISOString(),S={data:m,expired:w},E=await caches.open(_),z=new Response(JSON.stringify(S));await E.put(j,z);}}},[i,e,s,D,_,j,ne,oe,X,d]);useEffect(()=>{if(s?.refreshInterval){let A=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,b=setInterval(()=>{C();},M.duration(A,h).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[s?.refreshInterval,C]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:c,timeoutUnitRefetch:T}=useMemo(()=>{let A=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??F?.timeout,b=typeof h=="number"?h:h?.value??60*5,m=typeof h=="object"?h.unit:"s";return {enabledRefetch:A,timeoutRefetch:b,timeoutUnitRefetch:m}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!R||s?.hold)return;let A=M.duration(c,T).asMilliseconds(),h=()=>{let m=Date.now(),w=y.current;w!==null&&m-w>=A&&C(),y.current=null;},b=()=>{y.current=Date.now();};return window.addEventListener("focus",h),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",b);}},[R,c,T,C,s?.hold]);let g=useCallback(()=>{B.current?.abort(),B.current=null,P(l,{loading:false,isCancel:true});},[l,B]),O=useCallback(()=>{P(l,{loading:false,response:null});},[l]),u=useMemo(()=>({...d,loading:f,refresh:C,abort:g,clear:O,response:d,isCancel:D,clone:(A,h)=>Dt(e,A,{storeName:`${a}-clone`,...h})}),[d,f,C,g,O,D,e]);return useEffect(()=>($e(l,u),()=>{Ke(l);}),[u,l]),[d?.data,u]}async function an(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var xt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(xt||{}),Ct=(C=>(C.number="number",C.currency="currency",C.percent="percent",C.date="date",C.dateTime="dateTime",C.month="month",C.year="year",C.time="time",C.timestamp="timestamp",C.string="string",C.textarea="textarea",C.code="code",C.password="password",C.boolean="boolean",C.toggle="toggle",C.email="email",C.phone="phone",C.url="url",C.json="json",C.file="file",C.image="image",C.array="array",C.object="object",C.enum="enum",C.user="user",C.department="department",C.status="status",C))(Ct||{});var dn=()=>{let{format:t}=V();return (e,r,n)=>{try{return r==="number"?Pt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ot(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?At(e,n):r==="string"?St(e,n):e?.toString()}catch{return}}};function At(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function St(t,e){if(!L(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=Oe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function Pt(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let D=String(t??"").trim().trim();if(fe(D,r))return D}if(t==null||isNaN(Number(t)))return "";let i=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),D=f.indexOf(".");D!==-1&&(s=f.length-D-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function Ot(t,{display:e,value:r}){if(!L(t))return t;let n=M(t,r);return n.isValid()?n.format(e):t}function gn(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function bn(t,e,r){let[n,o]=useState(false),a=(p,f)=>typeof t=="string"&&p===t||typeof t=="number"&&f===t,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:f,keyCode:D}=p,d=p.ctrlKey,P=p.altKey,U=p.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(f,D)&&(e==="ctrl"&&d||e==="alt"&&P||e==="shift"&&U)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let x=e.every($=>$==="ctrl"?d:$==="alt"?P:$==="shift"?U:false);a(f,D)&&x&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(f,D)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:f})=>{a(p,f)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var On=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:f,encryptResponse:D,passphrase:d})=>{let{encrypt:P,decrypt:U,passphrase:x}=G(),$=kt.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,c,T)=>{let g=T?.code==="ERR_CANCELED",O=y?.status===401,u=y?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:D)&&u){let S=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?x:c.passphrase:d;try{u=U(u,S);}catch{try{u=U(u,x);}catch{}}}let b={...n({...y,data:u,isCancel:g,isUnauthorization:O},T),isCancel:g,isUnauthorization:O,httpCode:y?.status},m=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:l,w=s?s(b,c):!O;if((c?.infoSuccess&&b.status||c?.infoError&&!b.status)&&i&&(!g||!m)&&i(b),!w&&(!g||!c?.disabledHandleUnauthorized)){let S=c?.onUnauthorized||a;S&&S(b);}if(typeof R=="function")R(b);else return b},W=(y,R=()=>{})=>$({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:p}).then(R).catch(c=>R(c.response,c)),k=(y,R,c,T,g)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},A={...u.headers};if(u.token&&(typeof u.token=="boolean"?e&&(A.Authorization=`Bearer ${e}`):u.token&&(A.Authorization=`Bearer ${u.token}`)),r&&(c=r(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:f)&&c){let b=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?x:g.passphrase:d;c=P(c,b);}return W({url:R,method:y,data:c,headers:A,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:b=>{u?.onUploadProgress&&u?.onUploadProgress(b);}},(b,m)=>F(b,T,u,m))};return {client:W,post:(y,R,c,T)=>k("POST",`${y}`,R,c,T),put:(y,R,c,T)=>k("PUT",`${y}`,R,c,T),patch:(y,R,c,T)=>k("PATCH",`${y}`,R,c,T),delete:(y,R,c)=>k("DELETE",`${y}`,null,R,c),get:(y,R,c)=>k("GET",`${y}`,null,R,c),upload:(y,R,c,T)=>{let g=new FormData;return Object.keys(R).forEach(O=>g.append(O,R[O])),k("POST",`${y}`,g,c,{infoSuccess:false,...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})},stream:async(y,R,c,T,g)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...g},A={"Content-Type":"application/json",...o,...u.headers};if(u.token){let q=typeof u.token=="boolean"?e:u.token;q&&(A.Authorization=`Bearer ${q}`);}let h=c;if(r&&(h=r(h)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:f)&&h){let q=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:d;h=P(h,q);}let m=await fetch(`${t}${R}`,{method:y,headers:A,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(h)}),w=m?.status,S=w===401;if(!m.ok){let q=m?.statusText||"Error";try{let I=m.headers.get("content-type")||"",N=await m.clone().text();if(N)if(I.includes("application/json"))try{let Q=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:D)&&c){let ue=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?x:g.passphrase:d;try{c=U(Q,ue);}catch{try{c=U(Q,x);}catch{}}}q=Q?.message||q;}catch{q=N;}else q=N;}catch{}let J=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:l,K={status:!1,data:void 0,message:q,isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0};g?.infoError&&i&&!J&&i(K),T(K);return}let E=m.body.getReader(),z=new TextDecoder("utf-8"),Y="",Z=!1;for(;!Z;){let{done:q,value:J}=await E.read();Z=q,Y+=z.decode(J,{stream:!0});let K=Y.split(`
|
|
2
2
|
|
|
3
|
-
`);F=K.pop();for(let V of K)if(V.startsWith("data:"))try{let N=se(V);D({status:!0,data:N,message:"",isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!0});}catch(P){let f=P?.name==="AbortError";D({status:false,data:void 0,message:P instanceof Error?P.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}}}};function qn(t,e){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),l=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async y=>{l.current?.abort();let S=new AbortController;l.current=S,n(true),e?.beforeRequest&&(y=e?.beforeRequest(y)),e?.logging&&console.log("Before request",y),e?.onBeforeRequest&&e?.onBeforeRequest(y);let w={...e,signal:S.signal,onUploadProgress:$=>{let B=Math.round($.loaded*100/($.total||1));s(B);}},T=t.__isVoid?await t(void 0,w):await t(y,void 0,w);e?.logging&&console.log("After response",T),a(T),n(false),s(0),e?.afterResponse&&T?.data&&(T.data=e?.afterResponse(T.data,y)),T.status&&e?.onSuccess&&e?.onSuccess(T,y),!T.status&&e?.onError&&e?.onError(T,y),e?.onAfterResponse?.(T,y);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Et(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Nt=typeof window<"u"?window:null;function vn(t={}){let{getTrigger:e=Et,target:r=Nt,disableHysteresis:n=false,threshold:o=100}=t,a=ie.useRef(0),[i,s]=ie.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return ie.useEffect(()=>{let l=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,e,n,o]),i}function Mn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=useState(t);return useEffect(()=>{let i=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(i)},[t,r,n]),o}var jn=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ke(n)||{},p=w=>{let T=w.states[n]??Z;return {loading:T.loading,isCancel:T.isCancel,response:T.response}},{loading:d,isCancel:b,response:y}=o?ee(useShallow(p)):ee(p),S=useMemo(()=>[y?.data,{...y,loading:d,isCancel:b,refresh:a,abort:i,clear:s,clone:l}],[y,d,b,a,i,s,l]);return e?.selector?e.selector(S):S};var _n=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Le=(t,e)=>{let r=false;return ie.Children.forEach(t,n=>{if(ie.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&Le(o.props.children,e))&&(r=true);}}),r},zn=(t,e)=>{let r={others:[]},n=o=>{ie.Children.forEach(o,a=>{if(ie.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;e.includes(i)?r[i]=a:l&&Le(l,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function Qn(){let{format:t}=_();return (e="",r=false)=>Oe(e,r,t.number.decSep)}function Zn(t,e){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var xe={};function no(t,e){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!t)return;if(xe[t]){s(()=>xe[t]);return}n(true),(async()=>{try{let p=await import(`${e.path}${t}${e.extension??".svg?react"}`);xe[t]=p.default,s(()=>p.default);}catch(p){a(p),console.error(p);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:i}}function ao(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(l=>l());}function i(s){let l=useRef(s?s(e):e);return useSyncExternalStore(o,()=>{let p=s?s(e):e,d=l.current;return Object.is(d,p)||(l.current=p),l.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Fe(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Fe(n,o);});}function lo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Fe(a,r),a};}return e}function uo(t,e){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async b=>{s.current?.abort();let y=new AbortController;s.current=y,n(true),a([]),i.current=[],t(b,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),e?.onDone&&e?.onDone([...i.current])),S.status?e?.onStream&&e?.onStream(S):e?.onError&&e?.onError(S);},{signal:y.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [o.map(b=>b.data),l,{loading:r,abort:p,reset:d,response:o}]}function go(t,e){let{key:r}=e,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function To(t,e){let{key:r}=e,[n,o]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await t(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var le,ce={};function Ao({dbName:t,version:e=1,table:r}){return le||(le=new Gt(t),e=Object.keys(ce).length+1,le.version(e).stores(ce)),r}function So({name:t,primaryKey:e}){ce[t]||(ce[t]=e);let r=()=>{let p=le.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async l=>await r().add(l),update:async(l,p)=>await r().update(l,p),put:async(l,p)=>await r().put({...p,[e]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var Eo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=Q();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:p,handleAuthorization:d,disabledToastWhenCancel:b,withCredentials:y,encryptRequest:S,encryptResponse:w,passphrase:T})=>{let $=Ut.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),B=(c,R,u,D)=>{let g=D?.code==="ERR_CANCELED",P=c?.status===401,f=c?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:w)&&f){let A=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:T;try{f=e(f,A);}catch{try{f=e(f,r);}catch{}}}let m={...i({...c,data:f,isCancel:g,isUnauthorization:P},D),isCancel:g,isUnauthorization:P,httpCode:c?.status},x=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:b,h=d?d(m,u):!P;if((u?.infoSuccess&&m.status||u?.infoError&&!m.status)&&p&&(!g||!x)&&p(m),!h&&(!g||!u?.disabledHandleUnauthorized)){let A=u?.onUnauthorized||l;A&&A(m);}if(typeof R=="function")R(m);else return m},W=(c,R=()=>{})=>$({...c,withCredentials:typeof c.withCredentials=="boolean"?c.withCredentials:y}).then(R).catch(u=>R(u.response,u)),v=(c,R,u,D,g)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},U={...f.headers};if(f.token&&(typeof f.token=="boolean"?o&&(U.Authorization=`Bearer ${o}`):f.token&&(U.Authorization=`Bearer ${f.token}`)),a&&(u=a(u)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:S)&&u){let m=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:T;u=t(u,m);}return W({url:R,method:c,data:u,headers:U,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:m=>{f?.onUploadProgress&&f?.onUploadProgress(m);}},(m,x)=>B(m,D,f,x))};return {client:W,post:(c,R,u,D)=>v("POST",`${c}`,R,u,D),put:(c,R,u,D)=>v("PUT",`${c}`,R,u,D),patch:(c,R,u,D)=>v("PATCH",`${c}`,R,u,D),delete:(c,R,u)=>v("DELETE",`${c}`,null,R,u),get:(c,R,u)=>v("GET",`${c}`,null,R,u),upload:(c,R,u,D)=>{let g=new FormData;return Object.keys(R).forEach(P=>g.append(P,R[P])),v("POST",`${c}`,g,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(c,R,u,D,g)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...g},U={"Content-Type":"application/json",...s,...f.headers};if(f.token){let O=typeof f.token=="boolean"?o:f.token;O&&(U.Authorization=`Bearer ${O}`);}let C=u;if(a&&(C=a(C)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:S)&&C){let O=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:T;C=t(C,O);}let x=await fetch(`${n}${R}`,{method:c,headers:U,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(C)}),h=x?.status,A=h===401;if(!x.ok){let O=x?.statusText||"Error";try{let V=x.headers.get("content-type")||"",N=await x.clone().text();if(N)if(V.includes("application/json"))try{let J=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:w)&&u){let pe=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:T;try{u=e(J,pe);}catch{try{u=e(J,r);}catch{}}}O=J?.message||O;}catch{O=N;}else O=N;}catch{}let Y=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:b,K={status:!1,data:void 0,message:O,isCancel:!1,isUnauthorization:A,httpCode:h,isDone:!0};g?.infoError&&p&&!Y&&p(K),D(K);return}let q=x.body.getReader(),E=new TextDecoder("utf-8"),F="",X=!1;for(;!X;){let{done:O,value:Y}=await q.read();X=O,F+=E.decode(Y,{stream:!0});let K=F.split(`
|
|
3
|
+
`);Y=K.pop();for(let I of K)if(I.startsWith("data:"))try{let N=ae(I);T({status:!0,data:N,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!1});}catch{}}T({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0});}catch(O){let u=O?.name==="AbortError";T({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,c,T)=>{let g=new FormData;return Object.keys(R).forEach(O=>g.append(O,R[O])),k("POST",`${y}`,g,c,{infoSuccess:false,...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})}}};function Un(t,e){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),l=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let P=new AbortController;l.current=P,n(true),e?.beforeRequest&&(d=e?.beforeRequest(d)),e?.logging&&console.log("Before request",d),e?.onBeforeRequest&&e?.onBeforeRequest(d);let U={...e,signal:P.signal,onUploadProgress:$=>{let F=Math.round($.loaded*100/($.total||1));s(F);}},x=t.__isVoid?await t(void 0,U):await t(d,void 0,U);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,d)),x.status&&e?.onSuccess&&e?.onSuccess(x,d),!x.status&&e?.onError&&e?.onError(x,d),e?.onAfterResponse?.(x,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Nt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Mt=typeof window<"u"?window:null;function En(t={}){let{getTrigger:e=Nt,target:r=Mt,disableHysteresis:n=false,threshold:o=100}=t,a=le.useRef(0),[i,s]=le.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let l=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,e,n,o]),i}function $n(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=useState(t);return useEffect(()=>{let i=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(i)},[t,r,n]),o}var In=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=He(n)||{},p=U=>{let x=U.states[n]??ee;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:f,isCancel:D,response:d}=o?te(useShallow(p)):te(p),P=useMemo(()=>[d?.data,{...d,loading:f,isCancel:D,refresh:a,abort:i,clear:s,clone:l}],[d,f,D,a,i,s,l]);return e?.selector?e.selector(P):P};var zn=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Fe=(t,e)=>{let r=false;return le.Children.forEach(t,n=>{if(le.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&Fe(o.props.children,e))&&(r=true);}}),r},Wn=(t,e)=>{let r={others:[]},n=o=>{le.Children.forEach(o,a=>{if(le.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;e.includes(i)?r[i]=a:l&&Fe(l,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function Gn(){let{format:t}=V();return (e="",r=false)=>we(e,r,t.number.decSep)}function eo(t,e){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ce={};function oo(t,e){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!t)return;if(Ce[t]){s(()=>Ce[t]);return}n(true),(async()=>{try{let p=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ce[t]=p.default,s(()=>p.default);}catch(p){a(p),console.error(p);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:i}}function io(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(l=>l());}function i(s){let l=useRef(s?s(e):e);return useSyncExternalStore(o,()=>{let p=s?s(e):e,f=l.current;return Object.is(f,p)||(l.current=p),l.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Be(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Be(n,o);});}function co(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Be(a,r),a};}return e}function fo(t,e){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async D=>{s.current?.abort();let d=new AbortController;s.current=d,n(true),a([]),i.current=[],t(D,P=>{P.isDone||(i.current.push(P),a([...i.current])),(P.isDone||!P.status)&&(n(false),e?.onDone&&e?.onDone([...i.current])),P.status?e?.onStream&&e?.onStream(P):e?.onError&&e?.onError(P);},{signal:d.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},f=()=>{n(false),a([]),i.current=[];};return [o.map(D=>D.data),l,{loading:r,abort:p,reset:f,response:o}]}function Ro(t,e){let{key:r}=e,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Do(t,e){let{key:r}=e,[n,o]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await t(r)).subscribe(i=>{o(s=>s!==i?i:s);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function So({dbName:t,version:e=1,table:r}){return ce||(ce=new Xt(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function Po({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async l=>await r().add(l),update:async(l,p)=>await r().update(l,p),put:async(l,p)=>await r().put({...p,[e]:l}),detail:async l=>await r().get(l),remove:async l=>await r().delete(l)}}var No=()=>{let{encrypt:t,decrypt:e,passphrase:r}=G();return ({url:n,token:o,beforeRequest:a,onCallback:i,headers:s,onUnauthorized:l,handleToast:p,handleAuthorization:f,disabledToastWhenCancel:D,withCredentials:d,encryptRequest:P,encryptResponse:U,passphrase:x})=>{let $=kt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,c,T)=>{let g=T?.code==="ERR_CANCELED",O=y?.status===401,u=y?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:U)&&u){let S=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?r:c.passphrase:x;try{u=e(u,S);}catch{try{u=e(u,r);}catch{}}}let b={...i({...y,data:u,isCancel:g,isUnauthorization:O},T),isCancel:g,isUnauthorization:O,httpCode:y?.status},m=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:D,w=f?f(b,c):!O;if((c?.infoSuccess&&b.status||c?.infoError&&!b.status)&&p&&(!g||!m)&&p(b),!w&&(!g||!c?.disabledHandleUnauthorized)){let S=c?.onUnauthorized||l;S&&S(b);}if(typeof R=="function")R(b);else return b},W=(y,R=()=>{})=>$({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(c=>R(c.response,c)),k=(y,R,c,T,g)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...g},A={...u.headers};if(u.token&&(typeof u.token=="boolean"?o&&(A.Authorization=`Bearer ${o}`):u.token&&(A.Authorization=`Bearer ${u.token}`)),a&&(c=a(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:P)&&c){let b=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:x;c=t(c,b);}return W({url:R,method:y,data:c,headers:A,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:b=>{u?.onUploadProgress&&u?.onUploadProgress(b);}},(b,m)=>F(b,T,u,m))};return {client:W,post:(y,R,c,T)=>k("POST",`${y}`,R,c,T),put:(y,R,c,T)=>k("PUT",`${y}`,R,c,T),patch:(y,R,c,T)=>k("PATCH",`${y}`,R,c,T),delete:(y,R,c)=>k("DELETE",`${y}`,null,R,c),get:(y,R,c)=>k("GET",`${y}`,null,R,c),upload:(y,R,c,T)=>{let g=new FormData;return Object.keys(R).forEach(O=>g.append(O,R[O])),k("POST",`${y}`,g,c,{infoSuccess:false,...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})},stream:async(y,R,c,T,g)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...g},A={"Content-Type":"application/json",...s,...u.headers};if(u.token){let q=typeof u.token=="boolean"?o:u.token;q&&(A.Authorization=`Bearer ${q}`);}let h=c;if(a&&(h=a(h)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:P)&&h){let q=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;h=t(h,q);}let m=await fetch(`${n}${R}`,{method:y,headers:A,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(h)}),w=m?.status,S=w===401;if(!m.ok){let q=m?.statusText||"Error";try{let I=m.headers.get("content-type")||"",N=await m.clone().text();if(N)if(I.includes("application/json"))try{let Q=JSON.parse(N);if((typeof g?.encryptResponse=="boolean"?g?.encryptResponse:U)&&c){let ue=g?.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?r:g.passphrase:x;try{c=e(Q,ue);}catch{try{c=e(Q,r);}catch{}}}q=Q?.message||q;}catch{q=N;}else q=N;}catch{}let J=typeof g?.disabledToastWhenCancel=="boolean"?g?.disabledToastWhenCancel:D,K={status:!1,data:void 0,message:q,isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0};g?.infoError&&p&&!J&&p(K),T(K);return}let E=m.body.getReader(),z=new TextDecoder("utf-8"),Y="",Z=!1;for(;!Z;){let{done:q,value:J}=await E.read();Z=q,Y+=z.decode(J,{stream:!0});let K=Y.split(`
|
|
4
4
|
|
|
5
|
-
`);
|
|
5
|
+
`);Y=K.pop();for(let I of K)if(I.startsWith("data:"))try{let N=ae(I);T({status:!0,data:N,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!1});}catch{}}T({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:w,isDone:!0});}catch(O){let u=O?.name==="AbortError";T({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,c,T)=>k("POST",`${y}`,R,c,{...T,headers:{"Content-Type":"multipart/form-data",...T?.headers}})}}};function Ve(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ve(n,o);});}function _e(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return Ve(o,r),o};if(!t||typeof t!="object")return t;let n={};for(let o in t){let a=r?`${r}.${o}`:o;n[o]=_e(t[o],e,a);}return n}function $o(t,e){return _e(t,e)}function Lo(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,i)=>{if(Array.isArray(i.and))return i.and.every(s=>n(a,s));if(Array.isArray(i.or))return i.or.some(s=>n(a,s));for(let[s,l]of Object.entries(i)){if(s==="and"||s==="or")continue;let{opt:p="eq",value:f,required:D=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!D&&(f==null||f===""))continue;let d=v(a,s,void 0);switch(p){case "eq":if(d!==f)return false;break;case "neq":if(d===f)return false;break;case "gt":if(!(d>f))return false;break;case "gte":if(!(d>=f))return false;break;case "lt":if(!(d<f))return false;break;case "lte":if(!(d<=f))return false;break;case "contains":{if(d==null||f==null)return false;if(Array.isArray(d)){if(!d.some(U=>r(U).toLowerCase().includes(r(f).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(f).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(U=>r(U).toLowerCase().includes(r(f).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(f).toLowerCase()))return false;break}case "startsWith":if(d==null||f==null||!String(d).startsWith(String(f)))return false;break;case "endsWith":if(d==null||f==null||!String(d).endsWith(String(f)))return false;break;case "in":if(!Array.isArray(f)||!f.includes(d))return false;break;case "notIn":if(Array.isArray(f)&&f.includes(d))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(i=>n(i,a))),o},sort(a){let i=Object.entries(a);return e.sort((s,l)=>{for(let[p,f]of i){let D=v(s,p),d=v(l,p);if(D!==d)return f==="asc"?D>d?1:-1:D<d?1:-1}return 0}),o},distinct(a){let i=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(l=>{let p=i.length?i.map(f=>v(l,f)).join("|"):JSON.stringify(l);return s.has(p)?false:(s.add(p),true)}),o},select(a){return e=e.map(i=>{let s={};for(let l of a)s[l]=v(i,l);return s}),o},paginate(a,i){let s=(a-1)*i,l=s+i;return {data:e.slice(s,l),total:e.length,page:a,pageSize:i,totalPages:Math.ceil(e.length/i)}},groupBy(a){let i={};for(let s of e){let l=v(s,a),p=String(l??"undefined");i[p]||(i[p]=[]),i[p].push(s);}return i},map(a){return e=e.map(a),o},reduce(a,i){return e.reduce(a,i)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}function Bo({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsx(Fragment,{children:o.map((i,s)=>jsx("span",{style:i?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:i},s))})}export{dt as BgsCoreProvider,Ct as DataTypeEnum,Bo as Highlight,xt as HttpMethod,$o as bindApi,Oe as capitalizeWords,On as createApiHelper,So as createDatabase,zn as createElement,io as createStore,Po as createTable,xr as debounce,ye as decrypt,Ne as decryptString,ee as defaultState,mr as diffJson,de as encrypt,Ee as encryptString,Cr as filterDOMPropsLite,At as formatBoolean,Ot as formatDate,Pt as formatNumber,St as formatString,Pe as generateCacheKey,yr as generateUUID,He as getApiActions,Pr as getDateRangeLabelFromSorted,v as getFieldValue,Ar as getInitials,Sr as getMinMaxDate,Or as getTotalMinutes,Rr as isArray,fe as isDirtyRaw,L as isNotEmpty,it as isValidNumber,Dr as jsonCopy,Ae as labelFormatter,wr as mappingData,gr as mappingUndefinedtoNull,M as moment,ct as objectToQueryString,ae as parseSSEChunk,we as parseStringToNumber,Lo as query,$e as registerApi,hr as renderChildren,Se as replaceNullStrings,bt as safeUpdate,br as sorting,Wn as splitElement,at as stableStringify,Tr as summary,Ke as unregisterApi,Dt as useApiLoad,te as useApiLoadStore,Un as useApiSend,In as useApiStore,fo as useApiStream,V as useBgsCore,No as useCreateApi,G as useCrypto,Ro as useDbLive,Do as useDbLiveFlag,$n as useDebounce,an as useDelay,oo as useDynamicSvgImport,eo as useElementBounding,dn as useFormatted,gn as useInterval,bn as useKeyPress,Gn as useParseStringToNumber,En as useScrollTrigger,Me as useStorage,co as wrapApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.36",
|
|
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",
|