@bgscore/react-core 1.0.50 → 1.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- 'use strict';var le=require('react'),I=require('dayjs'),tt=require('dayjs/plugin/utc'),rt=require('dayjs/plugin/timezone'),nt=require('dayjs/plugin/duration'),ot=require('dayjs/plugin/advancedFormat'),st=require('dayjs/plugin/localizedFormat'),at=require('dayjs/plugin/relativeTime'),it=require('dayjs/plugin/isSameOrBefore'),lt=require('dayjs/plugin/isSameOrAfter'),ct=require('dayjs/plugin/weekOfYear'),pt=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ne=require('crypto-js/aes'),Me=require('crypto-js/pbkdf2'),Tt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),Ee=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),$t=require('axios'),nr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var lt__default=/*#__PURE__*/_interopDefault(lt);var ct__default=/*#__PURE__*/_interopDefault(ct);var pt__default=/*#__PURE__*/_interopDefault(pt);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var Me__default=/*#__PURE__*/_interopDefault(Me);var Tt__default=/*#__PURE__*/_interopDefault(Tt);var ie__default=/*#__PURE__*/_interopDefault(ie);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var $t__default=/*#__PURE__*/_interopDefault($t);var nr__default=/*#__PURE__*/_interopDefault(nr);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);I__default.default.extend(lt__default.default);I__default.default.extend(ct__default.default);I__default.default.extend(pt__default.default);var H=I__default.default;function Pe(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Or(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function qr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function V(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function vr(t,e){return typeof t=="function"?t(e):t}var E=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Ur={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},kr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?E(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Er(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function ut(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 qe(t,e){return ut([e??"undefined",t??"undefined"])}function ve(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Nr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function de(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ft(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&de(n,r))return true}return false}function Ue(t="",e=false,r="."){if(!ft(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var dt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Mr(t){let e={};for(let r in t)dt.has(r)&&(e[r]=t[r]);return e}function $r(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Lr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Hr(t,e){let r=H(t),n=H(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 Kr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var Fr=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((c,i)=>{if(typeof c!="object"){let p=typeof e=="function"?e(c,i):c,R=typeof r=="function"?r(c,i):c;return {label:p,value:R,index:i,rowData:c}}else {let p=typeof e=="function"?e(c,i):E(c,e,""),R=typeof r=="function"?r(c,i):E(c,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:c}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],s=new Map;for(let c of a){let i=c.rowData,p=l.map(f=>String(typeof i=="object"?E(i,f,"")??"":"")).join(o),R=s.get(p)||[];R.push(c),s.set(p,R);}return [Array.from(s.entries()).map(([c,i])=>({group:c,items:i})),a]};function mt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof o=="object"&&o!==null?r.push(mt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var ke=le.createContext(void 0);function W(){let t=le.useContext(ke);return t||{}}var bt=({children:t,value:e})=>{let r={...e};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:l}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},l);}})();},[e.localeConfig]),jsxRuntime.jsx(ke.Provider,{value:r,children:t})};function me(t,e){let r=Ee__default.default.random(16),n=Ee__default.default.random(16),o=Me__default.default(e,r,{keySize:256/32,iterations:1e3}),a=Ne__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=Me__default.default(e,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ne__default.default.decrypt(o,a,{iv:ie__default.default.parse(n)}).toString(Tt__default.default);return JSON.parse(s)}function $e(t,e){return JSON.stringify(me(t,e))}function Le(t,e){return ye(JSON.parse(t),e)}function X(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,r){return me(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return $e(e,r||t)},decryptString(e,r){return Le(e,r||t)}}}var He=()=>{let{encrypt:t,decrypt:e}=X(),r=le.useCallback((l,s)=>{try{let c=t(s);localStorage.setItem(l,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[t]),n=le.useCallback(l=>{try{let s=localStorage.getItem(l);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=l=>{let[s,c]=le.useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return le.useEffect(()=>{let i=p=>{if(p.key===l)if(p.newValue)try{c(e(JSON.parse(p.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else c(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),s},a=le.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function At(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(o);if(a!==l)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??re,a={...o,...n};At(o,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var Re=new Map,Ke=(t,e)=>{Re.set(t,e);},Fe=t=>{Re.delete(t);},Be=t=>Re.get(t);function wt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,l=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,i=s?.mergeStrategy??"replace",[p,R,f,C]=ne(shallow.useShallow(S=>{let h=S.states[c]??re;return [h.loading,h.isCancel,h.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:K}=W(),z=He(),U=le.useRef(void 0),F=le.useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=le.useMemo(()=>{let S=P?z.get(P):void 0,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=qe({...l,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:h,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,l,P,x,a]);le.useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),h=JSON.stringify(V(l)?l:""),T=U.current===void 0;(S!==h||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(c,{response:null}),A(),U.current=l),s?.onChange&&s?.onChange(l,d);},[l,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),F.current?.abort();}},[se,B,k,c,F]);let A=le.useCallback(async S=>{let h=l;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(l)),ee&&!S&&!R&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(l);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,h)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,h),s?.onAfterResponse?.(w,h),C(c,{loading:false,response:w});return}}}if(typeof e=="function"){F.current?.abort();let T=new AbortController;F.current=T,C(c,{loading:true}),s?.logging&&console.log("Before request",l),s?.onBeforeRequest&&s?.onBeforeRequest(l);let g=o?await e(void 0,{...s,signal:T.signal}):await e(h,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,i==="append"&&V(f.__rawData)&&V(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let q=[...f?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let q={...f.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,h)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,h),g.status||s?.onError?.(g,h),s?.onAfterResponse?.(g,h),C(c,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[l,e,s,R,B,k,M,Z,ee,f]);le.useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:b,timeoutRefetch:u,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??K?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??K?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,K]);le.useEffect(()=>{if(!b||s?.hold)return;let S=H.duration(u,D).asMilliseconds(),h=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",h),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",T);}},[b,u,D,A,s?.hold]);let m=le.useCallback(()=>{F.current?.abort(),F.current=null,C(c,{loading:false,isCancel:true});},[c,F]),O=le.useCallback(()=>{C(c,{loading:false,response:null});},[c]),d=le.useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:R,clone:(S,h)=>wt(e,S,{storeName:`${a}-clone`,...h})}),[f,p,A,m,O,R,e]);return le.useEffect(()=>(Ke(c,d),()=>{Fe(c);}),[d,c]),[f?.data,d]}async function hn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var Ot=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Ot||{}),Pt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(Pt||{});var Sn=()=>{let{format:t}=W();return (e,r,n)=>{try{return r==="number"?Ut(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?kt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?qt(e,n):r==="string"?vt(e,n):e?.toString()}catch{return}}};function qt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function vt(t,e){if(!V(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ve(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 Ut(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(t??"").trim().trim();if(de(R,r))return R}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let p=Math.pow(10,n);l=Math[o](l*p)/p;}else l=Math[o](l);else if(typeof n=="number"){let p=Math.pow(10,n);l=Math.trunc(l*p)/p;}let s=0;if(n==="auto"){let p=l.toString(),R=p.indexOf(".");R!==-1&&(s=p.length-R-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function kt(t,{display:e,value:r}){if(!V(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function Pn(t,{interval:e,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=t;},[t]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function Un(t,e,r){let[n,o]=le.useState(false),a=(i,p)=>typeof t=="string"&&i===t||typeof t=="number"&&p===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),s=i=>{let{key:p,keyCode:R}=i,f=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(p,R)&&(e==="ctrl"&&f||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let x=e.every(N=>N==="ctrl"?f:N==="alt"?C:N==="shift"?P:false);a(p,R)&&x&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else a(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},c=({key:i,keyCode:p})=>{a(i,p)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var Kn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:l,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=$t__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),K=(y,b,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:R)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,x);}catch{}}}let T={...n({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:c,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||a;w&&w(T);}if(typeof b=="function")b(T);else return T},z=(y,b=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:i}).then(b).catch(u=>b(u.response,u)),U=(y,b,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;u=C(u,T);}return z({url:b,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>K(T,D,d,g))};return {client:z,post:(y,b,u,D)=>U("POST",`${y}`,b,u,D),put:(y,b,u,D)=>U("PUT",`${y}`,b,u,D),patch:(y,b,u,D)=>U("PATCH",`${y}`,b,u,D),delete:(y,b,u)=>U("DELETE",`${y}`,null,b,u),get:(y,b,u)=>U("GET",`${y}`,null,b,u),upload:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?e:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,v);}let g=await fetch(`${t}${b}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:R)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:c,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&l&&!Q&&l(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
1
+ 'use strict';var le=require('react'),I=require('dayjs'),nt=require('dayjs/plugin/utc'),ot=require('dayjs/plugin/timezone'),st=require('dayjs/plugin/duration'),at=require('dayjs/plugin/advancedFormat'),it=require('dayjs/plugin/localizedFormat'),ct=require('dayjs/plugin/relativeTime'),lt=require('dayjs/plugin/isSameOrBefore'),pt=require('dayjs/plugin/isSameOrAfter'),ut=require('dayjs/plugin/weekOfYear'),ft=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Mt=require('axios'),Le=require('crypto-js/aes'),He=require('crypto-js/pbkdf2'),Kt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),$e=require('crypto-js/lib-typedarrays'),ce=require('js-cookie'),sr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var ct__default=/*#__PURE__*/_interopDefault(ct);var lt__default=/*#__PURE__*/_interopDefault(lt);var pt__default=/*#__PURE__*/_interopDefault(pt);var ut__default=/*#__PURE__*/_interopDefault(ut);var ft__default=/*#__PURE__*/_interopDefault(ft);var Mt__default=/*#__PURE__*/_interopDefault(Mt);var Le__default=/*#__PURE__*/_interopDefault(Le);var He__default=/*#__PURE__*/_interopDefault(He);var Kt__default=/*#__PURE__*/_interopDefault(Kt);var ie__default=/*#__PURE__*/_interopDefault(ie);var $e__default=/*#__PURE__*/_interopDefault($e);var ce__default=/*#__PURE__*/_interopDefault(ce);var sr__default=/*#__PURE__*/_interopDefault(sr);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);I__default.default.extend(ct__default.default);I__default.default.extend(lt__default.default);I__default.default.extend(pt__default.default);I__default.default.extend(ut__default.default);I__default.default.extend(ft__default.default);var $=I__default.default;function Pe(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function vr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Ur(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function V(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var we={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function kr(e,t){return typeof e=="function"?e(t):e}var k=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n){if(o==null)return r;o=o[s];}return o===void 0?r:o},Er={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(r,t):"";return o<s?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(n,t):"";return o>s?1:-1}else return r>n?1:-1}))},Nr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?k(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Kr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function dt(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,s)=>(o[s]=n[s],o),{})):n})??""}function ve(e,t){return dt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Mr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function me(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+${r}$`).test(e)||new RegExp(`^-?${r}\\d*$`).test(e)}function mt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&me(n,r))return true}return false}function Ue(e="",t=false,r="."){if(!mt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var yt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function $r(e){let t={};for(let r in e)yt.has(r)&&(t[r]=e[r]);return t}function Lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Hr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map($).sort((s,c)=>s.diff(c)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Fr(e,t){let r=$(e),n=$(t),o=r.month()===n.month(),s=r.year()===n.year();return s&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:s?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Br(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=$(e,"HH:mm",true),n=$(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var jr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let s=e.map((l,i)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,i):l,R=typeof r=="function"?r(l,i):l;return {label:p,value:R,index:i,rowData:l}}else {let p=typeof t=="function"?t(l,i):k(l,t,""),R=typeof r=="function"?r(l,i):k(l,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:l}}});if(!n)return [[{items:s}],s];let c=Array.isArray(n)?n:[n],a=new Map;for(let l of s){let i=l.rowData,p=c.map(d=>String(typeof i=="object"?k(i,d,"")??"":"")).join(o),R=a.get(p)||[];R.push(l),a.set(p,R);}return [Array.from(a.entries()).map(([l,i])=>({group:l,items:i})),s]};function gt(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],s=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(c=>{r.push(`${s}=${encodeURIComponent(c)}`);}):typeof o=="object"&&o!==null?r.push(gt(o,s)):r.push(`${s}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var ke=le.createContext(void 0);function W(){let e=le.useContext(ke);return e||{}}var Tt=({children:e,value:t})=>{let r={...t};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:s,isLocal:c}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&$.locale(o,s??{},c);}})();},[t.localeConfig]),jsxRuntime.jsx(ke.Provider,{value:r,children:e})};function Ct(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let s=JSON.stringify(n),c=JSON.stringify(o);if(s!==c)return false}else if(n!==o)return false}return true}var ne={loading:false,response:void 0,isCancel:false},oe=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,s={...o,...n};Ct(o,s)||e(c=>({states:{...c.states,[r]:s}}));}}));var ye=new Map,Ee=(e,t)=>{ye.set(e,t);},Ne=e=>{ye.delete(e);},Ke=e=>ye.get(e);function St(...e){let[t,r,n]=e,o=t.__isVoid,s=t.__path||t.name,c=o?void 0:r,a=o?r:n,l=a?.storeName||`${s}`,i=a?.mergeStrategy??"replace",[p,R,d,h]=oe(shallow.useShallow(u=>{let T=u.states[l]??ne;return [T.loading,T.isCancel,T.response,u.updateState]})),{storageKey:x,cache:C,clearPreviousData:N,refetchOnWindowFocus:H}=W(),L=le.useRef(void 0),v=le.useRef(null),{cacheName:B,cacheKey:F,timeout:E,timeoutUnit:K,persistence:Z,cacheEnabled:ee}=le.useMemo(()=>{let u=x?localStorage.get(x):void 0,T=typeof a?.cache=="object"?a?.cache?.cacheName??s:s,w=ve({...c,session:u},typeof a?.cache=="object"?a?.cache?.cacheKey:void 0),m=false;typeof C?.enabled=="boolean"&&(m=C.enabled);let A=false;typeof C?.persistence=="boolean"&&(A=C?.persistence),typeof a?.cache=="object"&&typeof a?.cache?.persistence=="boolean"&&(A=a?.cache?.persistence??false);let P=60*5,q="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(P=C.timeout,q="s"):typeof C?.timeout=="object"&&(P=C?.timeout.value,q=C?.timeout.unit)),V(a?.cache)&&(typeof a?.cache!="boolean"?(typeof a?.cache?.enabled=="boolean"?m=a.cache.enabled:m=true,typeof a?.cache?.timeout=="number"?(P=a.cache.timeout,q="s"):typeof a?.cache?.timeout=="object"&&(P=a.cache.timeout.value,q=a.cache.timeout.unit)):m=a.cache),{cacheName:T,cacheKey:w,timeout:P,timeoutUnit:q,persistence:A,cacheEnabled:m}},[a?.cache,c,x,C,s]);le.useEffect(()=>{let u=JSON.stringify(V(L.current)?L.current:""),T=JSON.stringify(V(c)?c:""),w=L.current===void 0;(u!==T||w)&&!a?.hold&&((a?.clearPreviousData??N)&&h(l,{response:null}),z(),L.current=c),a?.onChange&&a?.onChange(c,S);},[c,a?.clearPreviousData,N,a?.hold,...a?.trigger||[]]),le.useEffect(()=>{let u=async()=>{!Z&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u),v.current?.abort();}},[Z,B,F,l,v]);let z=le.useCallback(async u=>{let T=c;if(a?.hold&&a?.logging&&console.log("Hold active"),a?.beforeRequest&&(T=a?.beforeRequest(c)),ee&&!u&&!R&&window.isSecureContext){a?.onBeforeRequest&&a?.onBeforeRequest(c);let w=await caches.open(B),A=await(await w.match(F))?.json();if(A){let{data:P,expired:q}=A;if($().isAfter(q))await w.delete(F);else {a?.afterResponse&&P?.data&&(P.data=a?.afterResponse(P.data,T)),a?.logging&&console.log("After request: Using Cache",P),P?.status&&a?.onSuccess?.(P,T),a?.onAfterResponse?.(P,T),h(l,{loading:false,response:P});return}}}if(typeof t=="function"){v.current?.abort();let w=new AbortController;v.current=w,h(l,{loading:true}),a?.logging&&console.log("Before request",c),a?.onBeforeRequest&&a?.onBeforeRequest(c);let m=o?await t(void 0,{...a,signal:w.signal}):await t(T,void 0,{...a,signal:w.signal});if(m.__rawData=m.data,i==="append"&&V(d.__rawData)&&V(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let A=[...d?.__rawData??[],...m.data??[]];m.data=A,m.__rawData=A;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let A={...d.__rawData,...m.data};m.data=A,m.__rawData=A;}}if(a?.afterResponse&&m?.data&&(m.data=a?.afterResponse(m.data,T)),a?.logging&&console.log("After request",m),m.status&&a?.onSuccess?.(m,T),m.status||a?.onError?.(m,T),a?.onAfterResponse?.(m,T),h(l,{loading:false,response:m,isCancel:false}),ee&&m.status){let A=$().add(E,K).toISOString(),P={data:m,expired:A},q=await caches.open(B),Y=new Response(JSON.stringify(P));await q.put(F,Y);}}},[c,t,a,R,B,F,E,K,ee,d]);le.useEffect(()=>{if(a?.refreshInterval){let u=typeof a.refreshInterval=="number"?a.refreshInterval:a.refreshInterval.value,T=typeof a.refreshInterval=="number"?"s":a.refreshInterval.unit,w=setInterval(()=>{z();},$.duration(u,T).asMilliseconds());return ()=>clearInterval(w)}return ()=>{}},[a?.refreshInterval,z]);let O=le.useRef(null),{enabledRefetch:g,timeoutRefetch:b,timeoutUnitRefetch:f}=le.useMemo(()=>{let u=a?.refetchOnWindowFocus?.enabled??H?.enabled??false,T=a?.refetchOnWindowFocus?.timeout??H?.timeout,w=typeof T=="number"?T:T?.value??60*5,m=typeof T=="object"?T.unit:"s";return {enabledRefetch:u,timeoutRefetch:w,timeoutUnitRefetch:m}},[a?.refetchOnWindowFocus,H]);le.useEffect(()=>{if(!g||a?.hold)return;let u=$.duration(b,f).asMilliseconds(),T=()=>{let m=Date.now(),A=O.current;A!==null&&m-A>=u&&z(),O.current=null;},w=()=>{O.current=Date.now();};return window.addEventListener("focus",T),window.addEventListener("blur",w),()=>{window.removeEventListener("focus",T),window.removeEventListener("blur",w);}},[g,b,f,z,a?.hold]);let D=le.useCallback(()=>{v.current?.abort(),v.current=null,h(l,{loading:false,isCancel:true});},[l,v]),y=le.useCallback(()=>{h(l,{loading:false,response:null});},[l]),S=le.useMemo(()=>({...d,loading:p,refresh:z,abort:D,clear:y,response:d,isCancel:R,clone:(u,T)=>St(t,u,{storeName:`${s}-clone`,...T})}),[d,p,z,D,y,R,t]);return le.useEffect(()=>(Ee(l,S),()=>{Ne(l);}),[S,l]),[d?.data,S]}async function an(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(s=>(s.POST="POST",s.PUT="PUT",s.PATCH="PATCH",s.DELETE="DELETE",s.GET="GET",s))(wt||{}),Ot=(O=>(O.number="number",O.currency="currency",O.percent="percent",O.date="date",O.dateTime="dateTime",O.month="month",O.year="year",O.time="time",O.timestamp="timestamp",O.string="string",O.textarea="textarea",O.code="code",O.password="password",O.boolean="boolean",O.toggle="toggle",O.email="email",O.phone="phone",O.url="url",O.json="json",O.file="file",O.image="image",O.array="array",O.object="object",O.enum="enum",O.user="user",O.department="department",O.status="status",O))(Ot||{});var dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?vt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function vt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:s}){if(s){let R=String(e??"").trim().trim();if(me(R,r))return R}if(e==null||isNaN(Number(e)))return "";let c=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);c=Math[o](c*p)/p;}else c=Math[o](c);else if(typeof n=="number"){let p=Math.pow(10,n);c=Math.trunc(c*p)/p;}let a=0;if(n==="auto"){let p=c.toString(),R=p.indexOf(".");R!==-1&&(a=p.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?a:n||0,maximumFractionDigits:n==="auto"?a:n||0,minimumIntegerDigits:1};return c.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Ut(e,{display:t,value:r}){if(!V(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function gn(e,{interval:t,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=e;},[e]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let s=setInterval(o,t);return ()=>clearInterval(s)}},[t]);}function bn(e,t,r){let[n,o]=le.useState(false),s=(i,p)=>typeof e=="string"&&i===e||typeof e=="number"&&p===e,c=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),a=i=>{let{key:p,keyCode:R}=i,d=i.ctrlKey,h=i.altKey,x=i.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")s(p,R)&&(t==="ctrl"&&d||t==="alt"&&h||t==="shift"&&x)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?d:N==="alt"?h:N==="shift"?x:false);s(p,R)&&C&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else s(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},l=({key:i,keyCode:p})=>{s(i,p)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",a),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",a),window.removeEventListener("keyup",l);}),[]),n}function be(e,t){let r=$e__default.default.random(16),n=$e__default.default.random(16),o=He__default.default(t,r,{keySize:256/32,iterations:1e3}),s=Le__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:s}}function Te(e,t){let{salt:r,iv:n,encrypted:o}=e,s=He__default.default(t,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),a=Le__default.default.decrypt(o,s,{iv:ie__default.default.parse(n)}).toString(Kt__default.default);return JSON.parse(a)}function Fe(e,t){return JSON.stringify(be(e,t))}function Be(e,t){return Te(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return Te(t,r||e)},encryptString(t,r){return Fe(t,r||e)},decryptString(t,r){return Be(t,r||e)}}}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:s,handleToast:c,handleAuthorization:a,disabledToastWhenCancel:l,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:d})=>{let{encrypt:h,decrypt:x,passphrase:C}=X(),N=Mt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:R)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:d;try{u=x(u,q);}catch{try{u=x(u,C);}catch{}}}let m={...n({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:l,P=a?a(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&c&&(!y||!A)&&c(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||s;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:i}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(T.Authorization=`Bearer ${t}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),r&&(f=r(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:p)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;f=h(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...o,...u.headers};if(u.token){let U=typeof u.token=="boolean"?t:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(r&&(w=r(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:p)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:d;w=h(w,U);}let A=await fetch(`${e}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:R)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;try{f=x(G,de);}catch{try{f=x(G,C);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&c&&!Q&&c(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
2
2
 
3
- `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function jn(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[l,s]=le.useState(0),c=le.useRef(null);return le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async f=>{c.current?.abort();let C=new AbortController;c.current=C,n(true),e?.beforeRequest&&(f=e?.beforeRequest(f)),e?.logging&&console.log("Before request",f),e?.onBeforeRequest&&e?.onBeforeRequest(f);let P={...e,signal:C.signal,onUploadProgress:N=>{let K=Math.round(N.loaded*100/(N.total||1));s(K);}},x=t.__isVoid?await t(void 0,P):await t(f,void 0,P);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,f)),x.status&&e?.onSuccess&&e?.onSuccess(x,f),!x.status&&e?.onError&&e?.onError(x,f),e?.onAfterResponse?.(x,f);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:l,reset:()=>{n(false),s(0),a(null);}}]}function Kt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Ft=typeof window<"u"?window:null;function zn(t={}){let{getTrigger:e=Kt,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=t,a=le__default.default.useRef(0),[l,s]=le__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let c=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,e,n,o]),l}function Yn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=le.useState(t);return le.useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),o}var to=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:l,clear:s,clone:c}=Be(n)||{},i=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:p,isCancel:R,response:f}=o?ne(shallow.useShallow(i)):ne(i),C=le.useMemo(()=>[f?.data,{...f,loading:p,isCancel:R,refresh:a,abort:l,clear:s,clone:c}],[f,p,R,a,l,s,c]);return e?.selector?e.selector(C):C};var oo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Ie=(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&&Ie(o.props.children,e))&&(r=true);}}),r},so=(t,e)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,a=>{if(le__default.default.isValidElement(a)){let l=a.type.displayName,s=a,c=s.props?.children;e.includes(l)?r[l]=a:c&&Ie(c,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function co(){let{format:t}=W();return (e="",r=false)=>Ue(e,r,t.number.decSep)}function fo(t,e){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ae={};function Ro(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[l,s]=le.useState();return le.useEffect(()=>{if(!t)return;if(Ae[t]){s(()=>Ae[t]);return}n(true),(async()=>{try{let i=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ae[t]=i.default,s(()=>i.default);}catch(i){a(i),console.error(i);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:l}}function To(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(c=>c());}function l(s){let c=le.useRef(s?s(e):e);return le.useSyncExternalStore(o,()=>{let i=s?s(e):e,p=c.current;return Object.is(p,i)||(c.current=i),c.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:l}}function 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 xo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Ve(a,r),a};}return e}function So(t,e){let[r,n]=le.useState(false),[o,a]=le.useState([]),l=le.useRef([]),s=le.useRef(null);le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async R=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),l.current=[],t(R,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:f.signal});},i=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),l.current=[];};return [o.map(R=>R.data),c,{loading:r,abort:i,reset:p,response:o}]}function qo(t,e){let{key:r}=e,[n,o]=le.useState();return le.useEffect(()=>{let a=nr.liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Eo(t,e){let{key:r}=e,[n,o]=le.useState(false);return le.useEffect(()=>{let a=nr.liveQuery(async()=>!!await t(r)).subscribe(l=>{o(s=>s!==l?l:s);});return ()=>a.unsubscribe()},[r]),n}function We(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(s=>n(a,s));if(Array.isArray(l.or))return l.or.some(s=>n(a,s));for(let[s,c]of Object.entries(l)){if(s==="and"||s==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof c=="object"&&c!==null&&"value"in c?c:{value:c};if(!R&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(i){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(l=>n(l,a))),o},sort(a){let l=Object.entries(a);return e.sort((s,c)=>{for(let[i,p]of l){let R=E(s,i),f=E(c,i);if(R!==f)return p==="asc"?R>f?1:-1:R<f?1:-1}return 0}),o},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(c=>{let i=l.length?l.map(p=>E(c,p)).join("|"):JSON.stringify(c);return s.has(i)?false:(s.add(i),true)}),o},select(a){return e=e.map(l=>{let s={};for(let c of a)s[c]=E(l,c);return s}),o},paginate(a,l){let s=(a-1)*l,c=s+l;return {data:e.slice(s,c),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let s of e){let c=E(s,a),i=String(c??"undefined");l[i]||(l[i]=[]),l[i].push(s);}return l},map(a){return e=e.map(a),o},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}var ce,pe={};function jo({dbName:t,version:e=1,table:r}){return ce||(ce=new nr__default.default(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function Io({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=e,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),f=We(R);return i?.where&&(f=f.where(i.where)),i?.orderBy&&(f=f.sort(i.orderBy)),f.get()}}}var Go=()=>{let{encrypt:t,decrypt:e,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:l,headers:s,onUnauthorized:c,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=$t__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),K=(y,b,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;try{d=e(d,w);}catch{try{d=e(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:R,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||c;w&&w(T);}if(typeof b=="function")b(T);else return T},z=(y,b=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(b).catch(u=>b(u.response,u)),U=(y,b,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;u=t(u,T);}return z({url:b,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>K(T,D,d,g))};return {client:z,post:(y,b,u,D)=>U("POST",`${y}`,b,u,D),put:(y,b,u,D)=>U("PUT",`${y}`,b,u,D),patch:(y,b,u,D)=>U("PATCH",`${y}`,b,u,D),delete:(y,b,u)=>U("DELETE",`${y}`,null,b,u),get:(y,b,u)=>U("GET",`${y}`,null,b,u),upload:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=t(h,v);}let g=await fetch(`${n}${b}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{u=e(G,fe);}catch{try{u=e(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
3
+ `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let M=ae(_);D({status:!0,data:M,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0});}catch(S){let u=S?.name==="AbortError";D({status:false,data:void 0,message:S instanceof Error?S.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Fn(e,t){let[r,n]=le.useState(false),[o,s]=le.useState(),[c,a]=le.useState(0),l=le.useRef(null);return le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let h=new AbortController;l.current=h,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let x={...t,signal:h.signal,onUploadProgress:N=>{let H=Math.round(N.loaded*100/(N.total||1));a(H);}},C=e.__isVoid?await e(void 0,x):await e(d,void 0,x);t?.logging&&console.log("After response",C),s(C),n(false),a(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,d)),C.status&&t?.onSuccess&&t?.onSuccess(C,d),!C.status&&t?.onError&&t?.onError(C,d),t?.onAfterResponse?.(C,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),a(0);},progress:c,reset:()=>{n(false),a(0),s(null);}}]}function Ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,s=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&s!==void 0&&e.current<s?false:(e.current||0)>n}var Ft=typeof window<"u"?window:null;function In(e={}){let{getTrigger:t=Ht,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=e,s=le__default.default.useRef(0),[c,a]=le__default.default.useState(()=>t(s,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let l=()=>{a(t(s,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),c}var Ve=zustand.create(e=>({state:{},setStateValue:(t,r)=>e(n=>({state:{...n.state,[t]:r}}))})),jt={local:{get:e=>localStorage.getItem(e),set:(e,t)=>localStorage.setItem(e,t),remove:e=>localStorage.removeItem(e)},cookie:{get:e=>ce__default.default.get(e)??null,set:(e,t,r)=>{if(!r||r.type!=="cookie"){ce__default.default.set(e,t);return}let{type:n,...o}=r;ce__default.default.set(e,t,o);},remove:e=>ce__default.default.remove(e,{path:"/"})}};function Qn(e,t={}){let{encrypt:r,decrypt:n}=X(),o=t.type??"local",s=t.defaultValue,c=jt[o],a=o==="cookie",l=Ve(h=>h.state[e]),i=Ve(h=>h.setStateValue),p=()=>{let h=c.get(e);if(!h)return s;try{let x=JSON.parse(h);return a?x:n(x)}catch{return h}};le.useEffect(()=>{l===void 0&&i(e,p());},[e]);let R=le.useCallback(h=>{try{let x=a?h:r(h);c.set(e,JSON.stringify(x),t),i(e,h);}catch(x){console.error("useStorage set error:",x);}},[e,r,a,t]),d=le.useCallback(()=>{c.remove(e),i(e,s);},[e,s]);return le.useEffect(()=>{if(o!=="local")return;let h=x=>{if(x.key===e){if(!x.newValue){i(e,s);return}try{i(e,n(JSON.parse(x.newValue)));}catch{i(e,x.newValue);}}};return window.addEventListener("storage",h),()=>window.removeEventListener("storage",h)},[e,o,n,s]),[l,[R,d]]}function Zn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,s]=le.useState(e);return le.useEffect(()=>{let c=setTimeout(()=>{s(e),n&&n(e);},r);return ()=>clearTimeout(c)},[e,r,n]),o}var ao=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:s,abort:c,clear:a,clone:l}=Ke(n)||{},i=x=>{let C=x.states[n]??ne;return {loading:C.loading,isCancel:C.isCancel,response:C.response}},{loading:p,isCancel:R,response:d}=o?oe(shallow.useShallow(i)):oe(i),h=le.useMemo(()=>[d?.data,{...d,loading:p,isCancel:R,refresh:s,abort:c,clear:a,clone:l}],[d,p,R,s,c,a,l]);return t?.selector?t.selector(h):h};var lo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},ze=(e,t)=>{let r=false;return le__default.default.Children.forEach(e,n=>{if(le__default.default.isValidElement(n)){let o=n,s=n.type.displayName;(t.includes(s)||o.props?.children&&ze(o.props.children,t))&&(r=true);}}),r},po=(e,t)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,s=>{if(le__default.default.isValidElement(s)){let c=s.type.displayName,a=s,l=a.props?.children;t.includes(c)?r[c]=s:l&&ze(l,t)?n(a.props.children):r.others.push(s);}else r.others.push(s);});};return n(e),r};function yo(){let{format:e}=W();return (t="",r=false)=>Ue(t,r,e.number.decSep)}function ho(e,t){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!e)return;let n=()=>{let s=e.getBoundingClientRect();r.current={width:s.width,height:s.height,top:s.top,left:s.left,right:s.right,bottom:s.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function xo(e,t){let[r,n]=le.useState(false),[o,s]=le.useState(),[c,a]=le.useState();return le.useEffect(()=>{if(!e)return;if(Ae[e]){a(()=>Ae[e]);return}n(true),(async()=>{try{let i=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=i.default,a(()=>i.default);}catch(i){s(i),console.error(i);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:c}}function So(e){let t=e,r=new Set;function n(){return t}function o(a){return r.add(a),()=>r.delete(a)}function s(a){typeof a=="function"?t=a(t):t=a,r.forEach(l=>l());}function c(a){let l=le.useRef(a?a(t):t);return le.useSyncExternalStore(o,()=>{let i=a?a(t):t,p=l.current;return Object.is(p,i)||(l.current=i),l.current},()=>a?a(t):t)}return {getSnapshot:n,subscribe:o,setState:s,useStore:c}}function _e(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&_e(n,o);});}function Oo(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let s=n(...o);return _e(s,r),s};}return t}function qo(e,t){let[r,n]=le.useState(false),[o,s]=le.useState([]),c=le.useRef([]),a=le.useRef(null);le.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{a.current?.abort();}},[]);let l=async R=>{a.current?.abort();let d=new AbortController;a.current=d,n(true),s([]),c.current=[],e(R,h=>{h.isDone||(c.current.push(h),s([...c.current])),(h.isDone||!h.status)&&(n(false),t?.onDone&&t?.onDone([...c.current])),h.status?t?.onStream&&t?.onStream(h):t?.onError&&t?.onError(h);},{signal:d.signal});},i=()=>{a.current?.abort(),a.current=null,n(false);},p=()=>{n(false),s([]),c.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:i,reset:p,response:o}]}function No(e,t){let{key:r}=t,[n,o]=le.useState();return le.useEffect(()=>{let s=sr.liveQuery(()=>e(r)).subscribe(o);return ()=>s.unsubscribe()},[r]),n}function Lo(e,t){let{key:r}=t,[n,o]=le.useState(false);return le.useEffect(()=>{let s=sr.liveQuery(async()=>!!await e(r)).subscribe(c=>{o(a=>a!==c?c:a);});return ()=>s.unsubscribe()},[r]),n}function Je(e){let t=[...e],r=s=>s==null?"":String(s),n=(s,c)=>{if(Array.isArray(c.and))return c.and.every(a=>n(s,a));if(Array.isArray(c.or))return c.or.some(a=>n(s,a));for(let[a,l]of Object.entries(c)){if(a==="and"||a==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!R&&(p==null||p===""))continue;let d=k(s,a,void 0);switch(i){case "eq":if(d!==p)return false;break;case "neq":if(d===p)return false;break;case "gt":if(!(d>p))return false;break;case "gte":if(!(d>=p))return false;break;case "lt":if(!(d<p))return false;break;case "lte":if(!(d<=p))return false;break;case "contains":{if(d==null||p==null)return false;if(Array.isArray(d)){if(!d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(d==null||p==null||!String(d).startsWith(String(p)))return false;break;case "endsWith":if(d==null||p==null||!String(d).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(d))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(d))return false;break;default:return false}}return true},o={where(s){return s&&(t=t.filter(c=>n(c,s))),o},sort(s){let c=Object.entries(s);return t.sort((a,l)=>{for(let[i,p]of c){let R=k(a,i),d=k(l,i);if(R!==d)return p==="asc"?R>d?1:-1:R<d?1:-1}return 0}),o},distinct(s){let c=Array.isArray(s)?s:s?[s]:[],a=new Set;return t=t.filter(l=>{let i=c.length?c.map(p=>k(l,p)).join("|"):JSON.stringify(l);return a.has(i)?false:(a.add(i),true)}),o},select(s){return t=t.map(c=>{let a={};for(let l of s)a[l]=k(c,l);return a}),o},paginate(s,c){let a=(s-1)*c,l=a+c;return {data:t.slice(a,l),total:t.length,page:s,pageSize:c,totalPages:Math.ceil(t.length/c)}},groupBy(s){let c={};for(let a of t){let l=k(a,s),i=String(l??"undefined");c[i]||(c[i]=[]),c[i].push(a);}return c},map(s){return t=t.map(s),o},reduce(s,c){return t.reduce(s,c)},limit(s){return t=t.slice(0,s),o},get(){return t}};return o}var pe,ue={};function Wo({dbName:e,version:t=1,table:r}){return pe||(pe=new sr__default.default(e),t=Object.keys(ue).length+1,pe.version(t).stores(ue)),r}function Yo({name:e,primaryKey:t}){ue[e]||(ue[e]=t);let r=()=>{let p=pe.table(e);if(!p)throw new Error(`Table ${e} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=t,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[t]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),d=Je(R);return i?.where&&(d=d.where(i.where)),i?.orderBy&&(d=d.sort(i.orderBy)),d.get()}}}var rs=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:s,onCallback:c,headers:a,onUnauthorized:l,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:d,encryptRequest:h,encryptResponse:x,passphrase:C})=>{let N=Mt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...a}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:x)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:C;try{u=t(u,q);}catch{try{u=t(u,r);}catch{}}}let m={...c({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:R,P=p?p(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&i&&(!y||!A)&&i(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||l;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:d}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?o&&(T.Authorization=`Bearer ${o}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),s&&(f=s(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:h)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;f=e(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...a,...u.headers};if(u.token){let U=typeof u.token=="boolean"?o:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(s&&(w=s(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:h)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:C;w=e(w,U);}let A=await fetch(`${n}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:x)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;try{f=t(G,de);}catch{try{f=t(G,r);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&i&&!Q&&i(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
4
4
 
5
- `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function Ye(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"&&Ye(n,o);});}function Je(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return Ye(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]=Je(t[o],e,a);}return n}function Zo(t,e){return Je(t,e)}function ts({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.map((l,s)=>jsxRuntime.jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},s))})}function as(t,e,r,n){let o=le.useRef(void 0),a=le.useRef({x:0,y:0,width:0,visible:true}),l=le.useRef(r),s=le.useRef(true);le.useEffect(()=>{let c=t.current;if(!c)return;let i=new IntersectionObserver(([p])=>{s.current=p.isIntersecting;},{threshold:0});return i.observe(c),()=>{i.disconnect(),s.current=false;}},[t,e]),le.useEffect(()=>{l.current=r;},[r]),le.useLayoutEffect(()=>{if(n)return;let c=t.current,i=e.current;if(!c||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,R=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},f=()=>{if(!c||!i||l.current)return;let k=c.getBoundingClientRect(),M=R(c);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,i.style.width=`${k.width}px`):i.style.display="none";},C=()=>{if(!c||!i||l.current)return;let M=i.getBoundingClientRect().height;c.style.height=`${M}px`,c.style.minHeight=`${M}px`;},P=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{f(),p=false;}));},x=()=>{requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),K=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),f();});}),z=new MutationObserver(()=>{P();});N.observe(c),K.observe(i),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,F=()=>{if(!c||!i||l.current||!s.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),c.innerHTML="",c.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{c.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},B=()=>{P();};return i.addEventListener("layout-complete",x),window.addEventListener("scroll",F,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),K.disconnect(),z.disconnect(),i.removeEventListener("layout-complete",x),window.removeEventListener("scroll",F),window.removeEventListener("resize",B);}},[n]);}function cs(t=100){let[e,r]=le.useState(false);return le.useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let a of o.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function ds(t,e=0){let[r,n]=le.useState(false),o=le.useRef(null),a=le.useRef(null),l=le.useRef(false);return le.useLayoutEffect(()=>{let s=t.current;if(!s)return;let c=()=>{l.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{l.current=true,n(true);},e));},i=()=>{let f=s.getBoundingClientRect();if(f.width===0||f.height===0)return;let C=a.current,P={w:f.width,h:f.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,c());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),R=new MutationObserver(()=>{i();});return p.observe(s),R.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),R.disconnect();}},[e]),r}function Rs(t,e){let[r,n]=le.useState();return le.useEffect(()=>{let o=nr.liveQuery(()=>t(e)).subscribe(n);return ()=>o.unsubscribe()},[t,e]),r}exports.BgsCoreProvider=bt;exports.DataTypeEnum=Pt;exports.Highlight=ts;exports.HttpMethod=Ot;exports.bindApi=Zo;exports.capitalizeWords=ve;exports.createApiHelper=Kn;exports.createDatabase=jo;exports.createElement=oo;exports.createStore=To;exports.createTable=Io;exports.debounce=Nr;exports.decrypt=ye;exports.decryptString=Le;exports.defaultState=re;exports.diffJson=Or;exports.encrypt=me;exports.encryptString=$e;exports.filterDOMPropsLite=Mr;exports.formatBoolean=qt;exports.formatDate=kt;exports.formatNumber=Ut;exports.formatString=vt;exports.generateCacheKey=qe;exports.generateUUID=Pe;exports.getApiActions=Be;exports.getDateRangeLabelFromSorted=Hr;exports.getFieldValue=E;exports.getInitials=$r;exports.getMinMaxDate=Lr;exports.getTotalMinutes=Kr;exports.isArray=qr;exports.isDirtyRaw=de;exports.isNotEmpty=V;exports.isValidNumber=ft;exports.jsonCopy=Er;exports.labelFormatter=we;exports.mappingData=Fr;exports.mappingUndefinedtoNull=Pr;exports.moment=H;exports.objectToQueryString=mt;exports.parseSSEChunk=ae;exports.parseStringToNumber=Ue;exports.query=We;exports.registerApi=Ke;exports.renderChildren=vr;exports.replaceNullStrings=Oe;exports.safeUpdate=At;exports.sorting=Ur;exports.splitElement=so;exports.stableStringify=ut;exports.summary=kr;exports.unregisterApi=Fe;exports.useAnchorPosition=as;exports.useApiLoad=wt;exports.useApiLoadStore=ne;exports.useApiSend=jn;exports.useApiStore=to;exports.useApiStream=So;exports.useBgsCore=W;exports.useCpuBusy=cs;exports.useCreateApi=Go;exports.useCrypto=X;exports.useDbLive=qo;exports.useDbLiveFlag=Eo;exports.useDbLoad=Rs;exports.useDebounce=Yn;exports.useDelay=hn;exports.useDynamicSvgImport=Ro;exports.useElementBounding=fo;exports.useFormatted=Sn;exports.useInterval=Pn;exports.useKeyPress=Un;exports.useLayoutReady=ds;exports.useParseStringToNumber=co;exports.useScrollTrigger=zn;exports.useStorage=He;exports.wrapApi=xo;
5
+ `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let M=ae(_);D({status:!0,data:M,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0});}catch(S){let u=S?.name==="AbortError";D({status:false,data:void 0,message:S instanceof Error?S.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function Qe(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Qe(n,o);});}function Ge(e,t,r=""){if(typeof e=="function")return ()=>{let o=e(t);return Qe(o,r),o};if(!e||typeof e!="object")return e;let n={};for(let o in e){let s=r?`${r}.${o}`:o;n[o]=Ge(e[o],t,s);}return n}function os(e,t){return Ge(e,t)}function as({label:e="",search:t="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];e||(e="");let s=t?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof e!="string"?o=e.toString().split(new RegExp(`(${s})`,"gi")):o=e.split(new RegExp(`(${s})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.map((c,a)=>jsxRuntime.jsx("span",{style:c?.toString()?.toLowerCase()===t?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:c},a))})}function us(e,t,r,n){let o=le.useRef(void 0),s=le.useRef({x:0,y:0,width:0,visible:true}),c=le.useRef(r),a=le.useRef(true);le.useEffect(()=>{let l=e.current;if(!l)return;let i=new IntersectionObserver(([p])=>{a.current=p.isIntersecting;},{threshold:0});return i.observe(l),()=>{i.disconnect(),a.current=false;}},[e,t]),le.useEffect(()=>{c.current=r;},[r]),le.useLayoutEffect(()=>{if(n)return;let l=e.current,i=t.current;if(!l||!i)return;if(c.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,R=E=>{let K=E;for(;K;){if(window.getComputedStyle(K).display==="none")return false;K=K.parentElement;}return true},d=()=>{if(!l||!i||c.current)return;let E=l.getBoundingClientRect(),K=R(l);s.current={x:E.left,y:E.top,width:E.width,visible:K},K?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${E.left}px, ${E.top}px, 0)`,i.style.width=`${E.width}px`):i.style.display="none";},h=()=>{if(!l||!i||c.current)return;let K=i.getBoundingClientRect().height;l.style.height=`${K}px`,l.style.minHeight=`${K}px`;},x=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{d(),p=false;}));},C=()=>{requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{h();});});},N=new ResizeObserver(()=>{x();}),H=new ResizeObserver(()=>{requestAnimationFrame(()=>{h(),d();});}),L=new MutationObserver(()=>{x();});N.observe(l),H.observe(i),L.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let v=null,B=()=>{if(!l||!i||c.current||!a.current)return;let E=i.cloneNode(true);E.removeAttribute("style"),l.innerHTML="",l.appendChild(E),requestAnimationFrame(()=>{i.style.display="none";}),v&&clearTimeout(v),v=setTimeout(()=>{l.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},F=()=>{x();};return i.addEventListener("layout-complete",C),window.addEventListener("scroll",B,{passive:true,capture:true}),window.addEventListener("resize",F,{passive:true}),requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{h();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),H.disconnect(),L.disconnect(),i.removeEventListener("layout-complete",C),window.removeEventListener("scroll",B),window.removeEventListener("resize",F);}},[n]);}function ms(e=100){let[t,r]=le.useState(false);return le.useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let s of o.getEntries())s.duration>e&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[e]),t}function hs(e,t=0){let[r,n]=le.useState(false),o=le.useRef(null),s=le.useRef(null),c=le.useRef(false);return le.useLayoutEffect(()=>{let a=e.current;if(!a)return;let l=()=>{c.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{c.current=true,n(true);},t));},i=()=>{let d=a.getBoundingClientRect();if(d.width===0||d.height===0)return;let h=s.current,x={w:d.width,h:d.height};(!h||h.w!==x.w||h.h!==x.h)&&(s.current=x,l());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),R=new MutationObserver(()=>{i();});return p.observe(a),R.observe(a,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),R.disconnect();}},[t]),r}function xs(e,t){let[r,n]=le.useState();return le.useEffect(()=>{let o=sr.liveQuery(()=>e(t)).subscribe(n);return ()=>o.unsubscribe()},[]),r}exports.BgsCoreProvider=Tt;exports.DataTypeEnum=Ot;exports.Highlight=as;exports.HttpMethod=wt;exports.bindApi=os;exports.capitalizeWords=qe;exports.createApiHelper=$n;exports.createDatabase=Wo;exports.createElement=lo;exports.createStore=So;exports.createTable=Yo;exports.debounce=Mr;exports.decrypt=Te;exports.decryptString=Be;exports.defaultState=ne;exports.diffJson=vr;exports.encrypt=be;exports.encryptString=Fe;exports.filterDOMPropsLite=$r;exports.formatBoolean=Pt;exports.formatDate=Ut;exports.formatNumber=qt;exports.formatString=vt;exports.generateCacheKey=ve;exports.generateUUID=Pe;exports.getApiActions=Ke;exports.getDateRangeLabelFromSorted=Fr;exports.getFieldValue=k;exports.getInitials=Lr;exports.getMinMaxDate=Hr;exports.getTotalMinutes=Br;exports.isArray=Ur;exports.isDirtyRaw=me;exports.isNotEmpty=V;exports.isValidNumber=mt;exports.jsonCopy=Kr;exports.labelFormatter=we;exports.mappingData=jr;exports.mappingUndefinedtoNull=qr;exports.moment=$;exports.objectToQueryString=gt;exports.parseSSEChunk=ae;exports.parseStringToNumber=Ue;exports.query=Je;exports.registerApi=Ee;exports.renderChildren=kr;exports.replaceNullStrings=Oe;exports.safeUpdate=Ct;exports.sorting=Er;exports.splitElement=po;exports.stableStringify=dt;exports.summary=Nr;exports.unregisterApi=Ne;exports.useAnchorPosition=us;exports.useApiLoad=St;exports.useApiLoadStore=oe;exports.useApiSend=Fn;exports.useApiStore=ao;exports.useApiStream=qo;exports.useBgsCore=W;exports.useCpuBusy=ms;exports.useCreateApi=rs;exports.useCrypto=X;exports.useDbLive=No;exports.useDbLiveFlag=Lo;exports.useDbLoad=xs;exports.useDebounce=Zn;exports.useDelay=an;exports.useDynamicSvgImport=xo;exports.useElementBounding=ho;exports.useFormatted=dn;exports.useInterval=gn;exports.useKeyPress=bn;exports.useLayoutReady=hs;exports.useParseStringToNumber=yo;exports.useScrollTrigger=In;exports.useStorage=Qn;exports.wrapApi=Oo;
package/dist/index.d.cts CHANGED
@@ -2,6 +2,7 @@ import { GenericAbortSignal, AxiosProgressEvent, AxiosResponse, AxiosRequestConf
2
2
  import { DurationUnitType } from 'dayjs/plugin/duration';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { RefObject, PropsWithChildren } from 'react';
5
+ import { CookieAttributes } from 'js-cookie';
5
6
  import * as zustand from 'zustand';
6
7
  import dayjs from 'dayjs';
7
8
  import * as dexie from 'dexie';
@@ -534,12 +535,18 @@ interface UseScrollTriggerOptions {
534
535
  }
535
536
  declare function useScrollTrigger(options?: UseScrollTriggerOptions): boolean;
536
537
 
537
- declare const useStorage: () => {
538
- save: <T = any>(key: string, data: T) => void;
539
- get: <T = any>(key: string) => T | null;
540
- clear: (key?: string) => void;
541
- useWatchStorage: <T = any>(key: string) => T | null;
542
- };
538
+ type StorageType = "local" | "cookie";
539
+ interface LocalStorageOptions<K = unknown> {
540
+ type?: "local";
541
+ defaultValue?: K;
542
+ }
543
+ interface CookieStorageOptions<K = unknown> extends CookieAttributes {
544
+ type: "cookie";
545
+ defaultValue?: K;
546
+ }
547
+ type UseStorageOptions<K = unknown> = LocalStorageOptions<K> | CookieStorageOptions<K>;
548
+ type UseStorageReturn<T> = [T | undefined, [(value: T) => void, () => void]];
549
+ declare function useStorage<K extends StorageKey>(key: K, options?: UseStorageOptions<StorageSchema[K]>): UseStorageReturn<StorageSchema[K]>;
543
550
 
544
551
  type EncryptedPayload = {
545
552
  salt: string;
@@ -859,4 +866,4 @@ interface BgsCoreProviderProps {
859
866
  }
860
867
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
861
868
 
862
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDbLoad, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
869
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CookieStorageOptions, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type LocalStorageOptions, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorageType, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, type UseStorageOptions, type UseStorageReturn, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDbLoad, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { GenericAbortSignal, AxiosProgressEvent, AxiosResponse, AxiosRequestConf
2
2
  import { DurationUnitType } from 'dayjs/plugin/duration';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { RefObject, PropsWithChildren } from 'react';
5
+ import { CookieAttributes } from 'js-cookie';
5
6
  import * as zustand from 'zustand';
6
7
  import dayjs from 'dayjs';
7
8
  import * as dexie from 'dexie';
@@ -534,12 +535,18 @@ interface UseScrollTriggerOptions {
534
535
  }
535
536
  declare function useScrollTrigger(options?: UseScrollTriggerOptions): boolean;
536
537
 
537
- declare const useStorage: () => {
538
- save: <T = any>(key: string, data: T) => void;
539
- get: <T = any>(key: string) => T | null;
540
- clear: (key?: string) => void;
541
- useWatchStorage: <T = any>(key: string) => T | null;
542
- };
538
+ type StorageType = "local" | "cookie";
539
+ interface LocalStorageOptions<K = unknown> {
540
+ type?: "local";
541
+ defaultValue?: K;
542
+ }
543
+ interface CookieStorageOptions<K = unknown> extends CookieAttributes {
544
+ type: "cookie";
545
+ defaultValue?: K;
546
+ }
547
+ type UseStorageOptions<K = unknown> = LocalStorageOptions<K> | CookieStorageOptions<K>;
548
+ type UseStorageReturn<T> = [T | undefined, [(value: T) => void, () => void]];
549
+ declare function useStorage<K extends StorageKey>(key: K, options?: UseStorageOptions<StorageSchema[K]>): UseStorageReturn<StorageSchema[K]>;
543
550
 
544
551
  type EncryptedPayload = {
545
552
  salt: string;
@@ -859,4 +866,4 @@ interface BgsCoreProviderProps {
859
866
  }
860
867
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
861
868
 
862
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDbLoad, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
869
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CookieStorageOptions, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type LocalStorageOptions, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorageType, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, type UseStorageOptions, type UseStorageReturn, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDbLoad, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import tt from'dayjs/plugin/utc';import rt from'dayjs/plugin/timezone';import nt from'dayjs/plugin/duration';import ot from'dayjs/plugin/advancedFormat';import st from'dayjs/plugin/localizedFormat';import at from'dayjs/plugin/relativeTime';import it from'dayjs/plugin/isSameOrBefore';import lt from'dayjs/plugin/isSameOrAfter';import ct from'dayjs/plugin/weekOfYear';import pt from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ne from'crypto-js/aes';import Me from'crypto-js/pbkdf2';import Tt from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import Ee from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import $t from'axios';import nr,{liveQuery}from'dexie';I.extend(tt);I.extend(rt);I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(lt);I.extend(ct);I.extend(pt);var H=I;function Pe(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Or(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function qr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function V(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function vr(t,e){return typeof t=="function"?t(e):t}var E=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Ur={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},kr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?E(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Er(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function ut(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 qe(t,e){return ut([e??"undefined",t??"undefined"])}function ve(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Nr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function de(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ft(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&de(n,r))return true}return false}function Ue(t="",e=false,r="."){if(!ft(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var dt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Mr(t){let e={};for(let r in t)dt.has(r)&&(e[r]=t[r]);return e}function $r(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Lr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Hr(t,e){let r=H(t),n=H(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 Kr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var Fr=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((c,i)=>{if(typeof c!="object"){let p=typeof e=="function"?e(c,i):c,R=typeof r=="function"?r(c,i):c;return {label:p,value:R,index:i,rowData:c}}else {let p=typeof e=="function"?e(c,i):E(c,e,""),R=typeof r=="function"?r(c,i):E(c,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:c}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],s=new Map;for(let c of a){let i=c.rowData,p=l.map(f=>String(typeof i=="object"?E(i,f,"")??"":"")).join(o),R=s.get(p)||[];R.push(c),s.set(p,R);}return [Array.from(s.entries()).map(([c,i])=>({group:c,items:i})),a]};function mt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof o=="object"&&o!==null?r.push(mt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var ke=createContext(void 0);function W(){let t=useContext(ke);return t||{}}var bt=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:l}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},l);}})();},[e.localeConfig]),jsx(ke.Provider,{value:r,children:t})};function me(t,e){let r=Ee.random(16),n=Ee.random(16),o=Me(e,r,{keySize:256/32,iterations:1e3}),a=Ne.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=Me(e,ie.parse(r),{keySize:256/32,iterations:1e3}),s=Ne.decrypt(o,a,{iv:ie.parse(n)}).toString(Tt);return JSON.parse(s)}function $e(t,e){return JSON.stringify(me(t,e))}function Le(t,e){return ye(JSON.parse(t),e)}function X(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,r){return me(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return $e(e,r||t)},decryptString(e,r){return Le(e,r||t)}}}var He=()=>{let{encrypt:t,decrypt:e}=X(),r=useCallback((l,s)=>{try{let c=t(s);localStorage.setItem(l,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[t]),n=useCallback(l=>{try{let s=localStorage.getItem(l);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=l=>{let[s,c]=useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return useEffect(()=>{let i=p=>{if(p.key===l)if(p.newValue)try{c(e(JSON.parse(p.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else c(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),s},a=useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function At(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(o);if(a!==l)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??re,a={...o,...n};At(o,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var Re=new Map,Ke=(t,e)=>{Re.set(t,e);},Fe=t=>{Re.delete(t);},Be=t=>Re.get(t);function wt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,l=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,i=s?.mergeStrategy??"replace",[p,R,f,C]=ne(useShallow(S=>{let h=S.states[c]??re;return [h.loading,h.isCancel,h.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:K}=W(),z=He(),U=useRef(void 0),F=useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=useMemo(()=>{let S=P?z.get(P):void 0,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=qe({...l,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:h,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,l,P,x,a]);useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),h=JSON.stringify(V(l)?l:""),T=U.current===void 0;(S!==h||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(c,{response:null}),A(),U.current=l),s?.onChange&&s?.onChange(l,d);},[l,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),F.current?.abort();}},[se,B,k,c,F]);let A=useCallback(async S=>{let h=l;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(l)),ee&&!S&&!R&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(l);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,h)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,h),s?.onAfterResponse?.(w,h),C(c,{loading:false,response:w});return}}}if(typeof e=="function"){F.current?.abort();let T=new AbortController;F.current=T,C(c,{loading:true}),s?.logging&&console.log("Before request",l),s?.onBeforeRequest&&s?.onBeforeRequest(l);let g=o?await e(void 0,{...s,signal:T.signal}):await e(h,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,i==="append"&&V(f.__rawData)&&V(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let q=[...f?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let q={...f.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,h)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,h),g.status||s?.onError?.(g,h),s?.onAfterResponse?.(g,h),C(c,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[l,e,s,R,B,k,M,Z,ee,f]);useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:b,timeoutRefetch:u,timeoutUnitRefetch:D}=useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??K?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??K?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,K]);useEffect(()=>{if(!b||s?.hold)return;let S=H.duration(u,D).asMilliseconds(),h=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",h),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",T);}},[b,u,D,A,s?.hold]);let m=useCallback(()=>{F.current?.abort(),F.current=null,C(c,{loading:false,isCancel:true});},[c,F]),O=useCallback(()=>{C(c,{loading:false,response:null});},[c]),d=useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:R,clone:(S,h)=>wt(e,S,{storeName:`${a}-clone`,...h})}),[f,p,A,m,O,R,e]);return useEffect(()=>(Ke(c,d),()=>{Fe(c);}),[d,c]),[f?.data,d]}async function hn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var Ot=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Ot||{}),Pt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(Pt||{});var Sn=()=>{let{format:t}=W();return (e,r,n)=>{try{return r==="number"?Ut(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?kt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?qt(e,n):r==="string"?vt(e,n):e?.toString()}catch{return}}};function qt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function vt(t,e){if(!V(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ve(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 Ut(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(t??"").trim().trim();if(de(R,r))return R}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let p=Math.pow(10,n);l=Math[o](l*p)/p;}else l=Math[o](l);else if(typeof n=="number"){let p=Math.pow(10,n);l=Math.trunc(l*p)/p;}let s=0;if(n==="auto"){let p=l.toString(),R=p.indexOf(".");R!==-1&&(s=p.length-R-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function kt(t,{display:e,value:r}){if(!V(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function Pn(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function Un(t,e,r){let[n,o]=useState(false),a=(i,p)=>typeof t=="string"&&i===t||typeof t=="number"&&p===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),s=i=>{let{key:p,keyCode:R}=i,f=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(p,R)&&(e==="ctrl"&&f||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let x=e.every(N=>N==="ctrl"?f:N==="alt"?C:N==="shift"?P:false);a(p,R)&&x&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else a(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},c=({key:i,keyCode:p})=>{a(i,p)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var Kn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:l,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=$t.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),K=(y,b,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:R)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,x);}catch{}}}let T={...n({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:c,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||a;w&&w(T);}if(typeof b=="function")b(T);else return T},z=(y,b=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:i}).then(b).catch(u=>b(u.response,u)),U=(y,b,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;u=C(u,T);}return z({url:b,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>K(T,D,d,g))};return {client:z,post:(y,b,u,D)=>U("POST",`${y}`,b,u,D),put:(y,b,u,D)=>U("PUT",`${y}`,b,u,D),patch:(y,b,u,D)=>U("PATCH",`${y}`,b,u,D),delete:(y,b,u)=>U("DELETE",`${y}`,null,b,u),get:(y,b,u)=>U("GET",`${y}`,null,b,u),upload:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?e:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,v);}let g=await fetch(`${t}${b}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:R)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:c,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&l&&!Q&&l(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
1
+ import le,{createContext,useContext,useEffect,useRef,useMemo,useCallback,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import nt from'dayjs/plugin/utc';import ot from'dayjs/plugin/timezone';import st from'dayjs/plugin/duration';import at from'dayjs/plugin/advancedFormat';import it from'dayjs/plugin/localizedFormat';import ct from'dayjs/plugin/relativeTime';import lt from'dayjs/plugin/isSameOrBefore';import pt from'dayjs/plugin/isSameOrAfter';import ut from'dayjs/plugin/weekOfYear';import ft from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Mt from'axios';import Le from'crypto-js/aes';import He from'crypto-js/pbkdf2';import Kt from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import $e from'crypto-js/lib-typedarrays';import ce from'js-cookie';import sr,{liveQuery}from'dexie';I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);I.extend(ct);I.extend(lt);I.extend(pt);I.extend(ut);I.extend(ft);var $=I;function Pe(){let e=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function vr(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var qr=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Ur(e,t){let r=false;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(r=true):r=true),r}function V(e){return !(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var we={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=we.snackCase(we.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function kr(e,t){return typeof e=="function"?e(t):e}var k=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n){if(o==null)return r;o=o[s];}return o===void 0?r:o},Er={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(r,t):"";return o<s?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=k(r,t)?k(r,t):"",s=k(n,t)?k(n,t):"";return o>s?1:-1}else return r>n?1:-1}))},Nr=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?k(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Kr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function dt(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,s)=>(o[s]=n[s],o),{})):n})??""}function ve(e,t){return dt([t??"undefined",e??"undefined"])}function qe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Mr(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function me(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+${r}$`).test(e)||new RegExp(`^-?${r}\\d*$`).test(e)}function mt(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&me(n,r))return true}return false}function Ue(e="",t=false,r="."){if(!mt(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var yt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function $r(e){let t={};for(let r in e)yt.has(r)&&(t[r]=e[r]);return t}function Lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Hr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map($).sort((s,c)=>s.diff(c)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Fr(e,t){let r=$(e),n=$(t),o=r.month()===n.month(),s=r.year()===n.year();return s&&o?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:s?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Br(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=$(e,"HH:mm",true),n=$(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var jr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let s=e.map((l,i)=>{if(typeof l!="object"){let p=typeof t=="function"?t(l,i):l,R=typeof r=="function"?r(l,i):l;return {label:p,value:R,index:i,rowData:l}}else {let p=typeof t=="function"?t(l,i):k(l,t,""),R=typeof r=="function"?r(l,i):k(l,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:l}}});if(!n)return [[{items:s}],s];let c=Array.isArray(n)?n:[n],a=new Map;for(let l of s){let i=l.rowData,p=c.map(d=>String(typeof i=="object"?k(i,d,"")??"":"")).join(o),R=a.get(p)||[];R.push(l),a.set(p,R);}return [Array.from(a.entries()).map(([l,i])=>({group:l,items:i})),s]};function gt(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],s=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(c=>{r.push(`${s}=${encodeURIComponent(c)}`);}):typeof o=="object"&&o!==null?r.push(gt(o,s)):r.push(`${s}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Oe(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Oe(e[t]));return e}var ke=createContext(void 0);function W(){let e=useContext(ke);return e||{}}var Tt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:s,isLocal:c}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&$.locale(o,s??{},c);}})();},[t.localeConfig]),jsx(ke.Provider,{value:r,children:e})};function Ct(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let s=JSON.stringify(n),c=JSON.stringify(o);if(s!==c)return false}else if(n!==o)return false}return true}var ne={loading:false,response:void 0,isCancel:false},oe=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??ne,s={...o,...n};Ct(o,s)||e(c=>({states:{...c.states,[r]:s}}));}}));var ye=new Map,Ee=(e,t)=>{ye.set(e,t);},Ne=e=>{ye.delete(e);},Ke=e=>ye.get(e);function St(...e){let[t,r,n]=e,o=t.__isVoid,s=t.__path||t.name,c=o?void 0:r,a=o?r:n,l=a?.storeName||`${s}`,i=a?.mergeStrategy??"replace",[p,R,d,h]=oe(useShallow(u=>{let T=u.states[l]??ne;return [T.loading,T.isCancel,T.response,u.updateState]})),{storageKey:x,cache:C,clearPreviousData:N,refetchOnWindowFocus:H}=W(),L=useRef(void 0),v=useRef(null),{cacheName:B,cacheKey:F,timeout:E,timeoutUnit:K,persistence:Z,cacheEnabled:ee}=useMemo(()=>{let u=x?localStorage.get(x):void 0,T=typeof a?.cache=="object"?a?.cache?.cacheName??s:s,w=ve({...c,session:u},typeof a?.cache=="object"?a?.cache?.cacheKey:void 0),m=false;typeof C?.enabled=="boolean"&&(m=C.enabled);let A=false;typeof C?.persistence=="boolean"&&(A=C?.persistence),typeof a?.cache=="object"&&typeof a?.cache?.persistence=="boolean"&&(A=a?.cache?.persistence??false);let P=60*5,q="s";return V(C?.timeout)&&(typeof C?.timeout=="number"?(P=C.timeout,q="s"):typeof C?.timeout=="object"&&(P=C?.timeout.value,q=C?.timeout.unit)),V(a?.cache)&&(typeof a?.cache!="boolean"?(typeof a?.cache?.enabled=="boolean"?m=a.cache.enabled:m=true,typeof a?.cache?.timeout=="number"?(P=a.cache.timeout,q="s"):typeof a?.cache?.timeout=="object"&&(P=a.cache.timeout.value,q=a.cache.timeout.unit)):m=a.cache),{cacheName:T,cacheKey:w,timeout:P,timeoutUnit:q,persistence:A,cacheEnabled:m}},[a?.cache,c,x,C,s]);useEffect(()=>{let u=JSON.stringify(V(L.current)?L.current:""),T=JSON.stringify(V(c)?c:""),w=L.current===void 0;(u!==T||w)&&!a?.hold&&((a?.clearPreviousData??N)&&h(l,{response:null}),z(),L.current=c),a?.onChange&&a?.onChange(c,S);},[c,a?.clearPreviousData,N,a?.hold,...a?.trigger||[]]),useEffect(()=>{let u=async()=>{!Z&&B&&F&&(await caches.open(B)).delete(F);};return window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u),v.current?.abort();}},[Z,B,F,l,v]);let z=useCallback(async u=>{let T=c;if(a?.hold&&a?.logging&&console.log("Hold active"),a?.beforeRequest&&(T=a?.beforeRequest(c)),ee&&!u&&!R&&window.isSecureContext){a?.onBeforeRequest&&a?.onBeforeRequest(c);let w=await caches.open(B),A=await(await w.match(F))?.json();if(A){let{data:P,expired:q}=A;if($().isAfter(q))await w.delete(F);else {a?.afterResponse&&P?.data&&(P.data=a?.afterResponse(P.data,T)),a?.logging&&console.log("After request: Using Cache",P),P?.status&&a?.onSuccess?.(P,T),a?.onAfterResponse?.(P,T),h(l,{loading:false,response:P});return}}}if(typeof t=="function"){v.current?.abort();let w=new AbortController;v.current=w,h(l,{loading:true}),a?.logging&&console.log("Before request",c),a?.onBeforeRequest&&a?.onBeforeRequest(c);let m=o?await t(void 0,{...a,signal:w.signal}):await t(T,void 0,{...a,signal:w.signal});if(m.__rawData=m.data,i==="append"&&V(d.__rawData)&&V(m?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(m?.data)){let A=[...d?.__rawData??[],...m.data??[]];m.data=A,m.__rawData=A;}else if(typeof d.__rawData=="object"&&typeof m.data=="object"){let A={...d.__rawData,...m.data};m.data=A,m.__rawData=A;}}if(a?.afterResponse&&m?.data&&(m.data=a?.afterResponse(m.data,T)),a?.logging&&console.log("After request",m),m.status&&a?.onSuccess?.(m,T),m.status||a?.onError?.(m,T),a?.onAfterResponse?.(m,T),h(l,{loading:false,response:m,isCancel:false}),ee&&m.status){let A=$().add(E,K).toISOString(),P={data:m,expired:A},q=await caches.open(B),Y=new Response(JSON.stringify(P));await q.put(F,Y);}}},[c,t,a,R,B,F,E,K,ee,d]);useEffect(()=>{if(a?.refreshInterval){let u=typeof a.refreshInterval=="number"?a.refreshInterval:a.refreshInterval.value,T=typeof a.refreshInterval=="number"?"s":a.refreshInterval.unit,w=setInterval(()=>{z();},$.duration(u,T).asMilliseconds());return ()=>clearInterval(w)}return ()=>{}},[a?.refreshInterval,z]);let O=useRef(null),{enabledRefetch:g,timeoutRefetch:b,timeoutUnitRefetch:f}=useMemo(()=>{let u=a?.refetchOnWindowFocus?.enabled??H?.enabled??false,T=a?.refetchOnWindowFocus?.timeout??H?.timeout,w=typeof T=="number"?T:T?.value??60*5,m=typeof T=="object"?T.unit:"s";return {enabledRefetch:u,timeoutRefetch:w,timeoutUnitRefetch:m}},[a?.refetchOnWindowFocus,H]);useEffect(()=>{if(!g||a?.hold)return;let u=$.duration(b,f).asMilliseconds(),T=()=>{let m=Date.now(),A=O.current;A!==null&&m-A>=u&&z(),O.current=null;},w=()=>{O.current=Date.now();};return window.addEventListener("focus",T),window.addEventListener("blur",w),()=>{window.removeEventListener("focus",T),window.removeEventListener("blur",w);}},[g,b,f,z,a?.hold]);let D=useCallback(()=>{v.current?.abort(),v.current=null,h(l,{loading:false,isCancel:true});},[l,v]),y=useCallback(()=>{h(l,{loading:false,response:null});},[l]),S=useMemo(()=>({...d,loading:p,refresh:z,abort:D,clear:y,response:d,isCancel:R,clone:(u,T)=>St(t,u,{storeName:`${s}-clone`,...T})}),[d,p,z,D,y,R,t]);return useEffect(()=>(Ee(l,S),()=>{Ne(l);}),[S,l]),[d?.data,S]}async function an(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var wt=(s=>(s.POST="POST",s.PUT="PUT",s.PATCH="PATCH",s.DELETE="DELETE",s.GET="GET",s))(wt||{}),Ot=(O=>(O.number="number",O.currency="currency",O.percent="percent",O.date="date",O.dateTime="dateTime",O.month="month",O.year="year",O.time="time",O.timestamp="timestamp",O.string="string",O.textarea="textarea",O.code="code",O.password="password",O.boolean="boolean",O.toggle="toggle",O.email="email",O.phone="phone",O.url="url",O.json="json",O.file="file",O.image="image",O.array="array",O.object="object",O.enum="enum",O.user="user",O.department="department",O.status="status",O))(Ot||{});var dn=()=>{let{format:e}=W();return (t,r,n)=>{try{return r==="number"?qt(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Ut(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Pt(t,n):r==="string"?vt(t,n):t?.toString()}catch{return}}};function Pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function vt(e,t){if(!V(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function qt(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:s}){if(s){let R=String(e??"").trim().trim();if(me(R,r))return R}if(e==null||isNaN(Number(e)))return "";let c=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let p=Math.pow(10,n);c=Math[o](c*p)/p;}else c=Math[o](c);else if(typeof n=="number"){let p=Math.pow(10,n);c=Math.trunc(c*p)/p;}let a=0;if(n==="auto"){let p=c.toString(),R=p.indexOf(".");R!==-1&&(a=p.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?a:n||0,maximumFractionDigits:n==="auto"?a:n||0,minimumIntegerDigits:1};return c.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Ut(e,{display:t,value:r}){if(!V(e))return e;let n=$(e,r);return n.isValid()?n.format(t):e}function gn(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let s=setInterval(o,t);return ()=>clearInterval(s)}},[t]);}function bn(e,t,r){let[n,o]=useState(false),s=(i,p)=>typeof e=="string"&&i===e||typeof e=="number"&&p===e,c=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),a=i=>{let{key:p,keyCode:R}=i,d=i.ctrlKey,h=i.altKey,x=i.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")s(p,R)&&(t==="ctrl"&&d||t==="alt"&&h||t==="shift"&&x)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let C=t.every(N=>N==="ctrl"?d:N==="alt"?h:N==="shift"?x:false);s(p,R)&&C&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else s(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},l=({key:i,keyCode:p})=>{s(i,p)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",a),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",a),window.removeEventListener("keyup",l);}),[]),n}function be(e,t){let r=$e.random(16),n=$e.random(16),o=He(t,r,{keySize:256/32,iterations:1e3}),s=Le.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:s}}function Te(e,t){let{salt:r,iv:n,encrypted:o}=e,s=He(t,ie.parse(r),{keySize:256/32,iterations:1e3}),a=Le.decrypt(o,s,{iv:ie.parse(n)}).toString(Kt);return JSON.parse(a)}function Fe(e,t){return JSON.stringify(be(e,t))}function Be(e,t){return Te(JSON.parse(e),t)}function X(){let{passphrase:e}=W();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return Te(t,r||e)},encryptString(t,r){return Fe(t,r||e)},decryptString(t,r){return Be(t,r||e)}}}var $n=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:s,handleToast:c,handleAuthorization:a,disabledToastWhenCancel:l,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:d})=>{let{encrypt:h,decrypt:x,passphrase:C}=X(),N=Mt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...o}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:R)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:d;try{u=x(u,q);}catch{try{u=x(u,C);}catch{}}}let m={...n({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:l,P=a?a(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&c&&(!y||!A)&&c(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||s;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:i}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(T.Authorization=`Bearer ${t}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),r&&(f=r(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:p)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;f=h(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...o,...u.headers};if(u.token){let U=typeof u.token=="boolean"?t:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(r&&(w=r(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:p)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:d;w=h(w,U);}let A=await fetch(`${e}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:R)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?C:y.passphrase:d;try{f=x(G,de);}catch{try{f=x(G,C);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:l,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&c&&!Q&&c(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
2
2
 
3
- `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function jn(t,e){let[r,n]=useState(false),[o,a]=useState(),[l,s]=useState(0),c=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async f=>{c.current?.abort();let C=new AbortController;c.current=C,n(true),e?.beforeRequest&&(f=e?.beforeRequest(f)),e?.logging&&console.log("Before request",f),e?.onBeforeRequest&&e?.onBeforeRequest(f);let P={...e,signal:C.signal,onUploadProgress:N=>{let K=Math.round(N.loaded*100/(N.total||1));s(K);}},x=t.__isVoid?await t(void 0,P):await t(f,void 0,P);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,f)),x.status&&e?.onSuccess&&e?.onSuccess(x,f),!x.status&&e?.onError&&e?.onError(x,f),e?.onAfterResponse?.(x,f);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:l,reset:()=>{n(false),s(0),a(null);}}]}function Kt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Ft=typeof window<"u"?window:null;function zn(t={}){let{getTrigger:e=Kt,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=t,a=le.useRef(0),[l,s]=le.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let c=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,e,n,o]),l}function Yn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=useState(t);return useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),o}var to=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:l,clear:s,clone:c}=Be(n)||{},i=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:p,isCancel:R,response:f}=o?ne(useShallow(i)):ne(i),C=useMemo(()=>[f?.data,{...f,loading:p,isCancel:R,refresh:a,abort:l,clear:s,clone:c}],[f,p,R,a,l,s,c]);return e?.selector?e.selector(C):C};var oo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Ie=(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&&Ie(o.props.children,e))&&(r=true);}}),r},so=(t,e)=>{let r={others:[]},n=o=>{le.Children.forEach(o,a=>{if(le.isValidElement(a)){let l=a.type.displayName,s=a,c=s.props?.children;e.includes(l)?r[l]=a:c&&Ie(c,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function co(){let{format:t}=W();return (e="",r=false)=>Ue(e,r,t.number.decSep)}function fo(t,e){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ae={};function Ro(t,e){let[r,n]=useState(false),[o,a]=useState(),[l,s]=useState();return useEffect(()=>{if(!t)return;if(Ae[t]){s(()=>Ae[t]);return}n(true),(async()=>{try{let i=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ae[t]=i.default,s(()=>i.default);}catch(i){a(i),console.error(i);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:l}}function To(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(c=>c());}function l(s){let c=useRef(s?s(e):e);return useSyncExternalStore(o,()=>{let i=s?s(e):e,p=c.current;return Object.is(p,i)||(c.current=i),c.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:l}}function 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 xo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Ve(a,r),a};}return e}function So(t,e){let[r,n]=useState(false),[o,a]=useState([]),l=useRef([]),s=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async R=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),l.current=[],t(R,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:f.signal});},i=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),l.current=[];};return [o.map(R=>R.data),c,{loading:r,abort:i,reset:p,response:o}]}function qo(t,e){let{key:r}=e,[n,o]=useState();return useEffect(()=>{let a=liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Eo(t,e){let{key:r}=e,[n,o]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await t(r)).subscribe(l=>{o(s=>s!==l?l:s);});return ()=>a.unsubscribe()},[r]),n}function We(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(s=>n(a,s));if(Array.isArray(l.or))return l.or.some(s=>n(a,s));for(let[s,c]of Object.entries(l)){if(s==="and"||s==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof c=="object"&&c!==null&&"value"in c?c:{value:c};if(!R&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(i){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(l=>n(l,a))),o},sort(a){let l=Object.entries(a);return e.sort((s,c)=>{for(let[i,p]of l){let R=E(s,i),f=E(c,i);if(R!==f)return p==="asc"?R>f?1:-1:R<f?1:-1}return 0}),o},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(c=>{let i=l.length?l.map(p=>E(c,p)).join("|"):JSON.stringify(c);return s.has(i)?false:(s.add(i),true)}),o},select(a){return e=e.map(l=>{let s={};for(let c of a)s[c]=E(l,c);return s}),o},paginate(a,l){let s=(a-1)*l,c=s+l;return {data:e.slice(s,c),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let s of e){let c=E(s,a),i=String(c??"undefined");l[i]||(l[i]=[]),l[i].push(s);}return l},map(a){return e=e.map(a),o},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}var ce,pe={};function jo({dbName:t,version:e=1,table:r}){return ce||(ce=new nr(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function Io({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=e,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),f=We(R);return i?.where&&(f=f.where(i.where)),i?.orderBy&&(f=f.sort(i.orderBy)),f.get()}}}var Go=()=>{let{encrypt:t,decrypt:e,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:l,headers:s,onUnauthorized:c,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=$t.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),K=(y,b,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;try{d=e(d,w);}catch{try{d=e(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:R,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||c;w&&w(T);}if(typeof b=="function")b(T);else return T},z=(y,b=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(b).catch(u=>b(u.response,u)),U=(y,b,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;u=t(u,T);}return z({url:b,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>K(T,D,d,g))};return {client:z,post:(y,b,u,D)=>U("POST",`${y}`,b,u,D),put:(y,b,u,D)=>U("PUT",`${y}`,b,u,D),patch:(y,b,u,D)=>U("PATCH",`${y}`,b,u,D),delete:(y,b,u)=>U("DELETE",`${y}`,null,b,u),get:(y,b,u)=>U("GET",`${y}`,null,b,u),upload:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=t(h,v);}let g=await fetch(`${n}${b}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{u=e(G,fe);}catch{try{u=e(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
3
+ `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let M=ae(_);D({status:!0,data:M,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0});}catch(S){let u=S?.name==="AbortError";D({status:false,data:void 0,message:S instanceof Error?S.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Fn(e,t){let[r,n]=useState(false),[o,s]=useState(),[c,a]=useState(0),l=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async d=>{l.current?.abort();let h=new AbortController;l.current=h,n(true),t?.beforeRequest&&(d=t?.beforeRequest(d)),t?.logging&&console.log("Before request",d),t?.onBeforeRequest&&t?.onBeforeRequest(d);let x={...t,signal:h.signal,onUploadProgress:N=>{let H=Math.round(N.loaded*100/(N.total||1));a(H);}},C=e.__isVoid?await e(void 0,x):await e(d,void 0,x);t?.logging&&console.log("After response",C),s(C),n(false),a(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,d)),C.status&&t?.onSuccess&&t?.onSuccess(C,d),!C.status&&t?.onError&&t?.onError(C,d),t?.onAfterResponse?.(C,d);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),a(0);},progress:c,reset:()=>{n(false),a(0),s(null);}}]}function Ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,s=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&s!==void 0&&e.current<s?false:(e.current||0)>n}var Ft=typeof window<"u"?window:null;function In(e={}){let{getTrigger:t=Ht,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=e,s=le.useRef(0),[c,a]=le.useState(()=>t(s,{disableHysteresis:n,threshold:o,target:r}));return le.useEffect(()=>{let l=()=>{a(t(s,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),c}var Ve=create(e=>({state:{},setStateValue:(t,r)=>e(n=>({state:{...n.state,[t]:r}}))})),jt={local:{get:e=>localStorage.getItem(e),set:(e,t)=>localStorage.setItem(e,t),remove:e=>localStorage.removeItem(e)},cookie:{get:e=>ce.get(e)??null,set:(e,t,r)=>{if(!r||r.type!=="cookie"){ce.set(e,t);return}let{type:n,...o}=r;ce.set(e,t,o);},remove:e=>ce.remove(e,{path:"/"})}};function Qn(e,t={}){let{encrypt:r,decrypt:n}=X(),o=t.type??"local",s=t.defaultValue,c=jt[o],a=o==="cookie",l=Ve(h=>h.state[e]),i=Ve(h=>h.setStateValue),p=()=>{let h=c.get(e);if(!h)return s;try{let x=JSON.parse(h);return a?x:n(x)}catch{return h}};useEffect(()=>{l===void 0&&i(e,p());},[e]);let R=useCallback(h=>{try{let x=a?h:r(h);c.set(e,JSON.stringify(x),t),i(e,h);}catch(x){console.error("useStorage set error:",x);}},[e,r,a,t]),d=useCallback(()=>{c.remove(e),i(e,s);},[e,s]);return useEffect(()=>{if(o!=="local")return;let h=x=>{if(x.key===e){if(!x.newValue){i(e,s);return}try{i(e,n(JSON.parse(x.newValue)));}catch{i(e,x.newValue);}}};return window.addEventListener("storage",h),()=>window.removeEventListener("storage",h)},[e,o,n,s]),[l,[R,d]]}function Zn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,s]=useState(e);return useEffect(()=>{let c=setTimeout(()=>{s(e),n&&n(e);},r);return ()=>clearTimeout(c)},[e,r,n]),o}var ao=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:s,abort:c,clear:a,clone:l}=Ke(n)||{},i=x=>{let C=x.states[n]??ne;return {loading:C.loading,isCancel:C.isCancel,response:C.response}},{loading:p,isCancel:R,response:d}=o?oe(useShallow(i)):oe(i),h=useMemo(()=>[d?.data,{...d,loading:p,isCancel:R,refresh:s,abort:c,clear:a,clone:l}],[d,p,R,s,c,a,l]);return t?.selector?t.selector(h):h};var lo=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},ze=(e,t)=>{let r=false;return le.Children.forEach(e,n=>{if(le.isValidElement(n)){let o=n,s=n.type.displayName;(t.includes(s)||o.props?.children&&ze(o.props.children,t))&&(r=true);}}),r},po=(e,t)=>{let r={others:[]},n=o=>{le.Children.forEach(o,s=>{if(le.isValidElement(s)){let c=s.type.displayName,a=s,l=a.props?.children;t.includes(c)?r[c]=s:l&&ze(l,t)?n(a.props.children):r.others.push(s);}else r.others.push(s);});};return n(e),r};function yo(){let{format:e}=W();return (t="",r=false)=>Ue(t,r,e.number.decSep)}function ho(e,t){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!e)return;let n=()=>{let s=e.getBoundingClientRect();r.current={width:s.width,height:s.height,top:s.top,left:s.left,right:s.right,bottom:s.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Ae={};function xo(e,t){let[r,n]=useState(false),[o,s]=useState(),[c,a]=useState();return useEffect(()=>{if(!e)return;if(Ae[e]){a(()=>Ae[e]);return}n(true),(async()=>{try{let i=await import(`${t.path}${e}${t.extension??".svg?react"}`);Ae[e]=i.default,a(()=>i.default);}catch(i){s(i),console.error(i);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:c}}function So(e){let t=e,r=new Set;function n(){return t}function o(a){return r.add(a),()=>r.delete(a)}function s(a){typeof a=="function"?t=a(t):t=a,r.forEach(l=>l());}function c(a){let l=useRef(a?a(t):t);return useSyncExternalStore(o,()=>{let i=a?a(t):t,p=l.current;return Object.is(p,i)||(l.current=i),l.current},()=>a?a(t):t)}return {getSnapshot:n,subscribe:o,setState:s,useStore:c}}function _e(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&_e(n,o);});}function Oo(e){let t={};for(let r in e){let n=e[r];t[r]=(...o)=>{let s=n(...o);return _e(s,r),s};}return t}function qo(e,t){let[r,n]=useState(false),[o,s]=useState([]),c=useRef([]),a=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{a.current?.abort();}},[]);let l=async R=>{a.current?.abort();let d=new AbortController;a.current=d,n(true),s([]),c.current=[],e(R,h=>{h.isDone||(c.current.push(h),s([...c.current])),(h.isDone||!h.status)&&(n(false),t?.onDone&&t?.onDone([...c.current])),h.status?t?.onStream&&t?.onStream(h):t?.onError&&t?.onError(h);},{signal:d.signal});},i=()=>{a.current?.abort(),a.current=null,n(false);},p=()=>{n(false),s([]),c.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:i,reset:p,response:o}]}function No(e,t){let{key:r}=t,[n,o]=useState();return useEffect(()=>{let s=liveQuery(()=>e(r)).subscribe(o);return ()=>s.unsubscribe()},[r]),n}function Lo(e,t){let{key:r}=t,[n,o]=useState(false);return useEffect(()=>{let s=liveQuery(async()=>!!await e(r)).subscribe(c=>{o(a=>a!==c?c:a);});return ()=>s.unsubscribe()},[r]),n}function Je(e){let t=[...e],r=s=>s==null?"":String(s),n=(s,c)=>{if(Array.isArray(c.and))return c.and.every(a=>n(s,a));if(Array.isArray(c.or))return c.or.some(a=>n(s,a));for(let[a,l]of Object.entries(c)){if(a==="and"||a==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof l=="object"&&l!==null&&"value"in l?l:{value:l};if(!R&&(p==null||p===""))continue;let d=k(s,a,void 0);switch(i){case "eq":if(d!==p)return false;break;case "neq":if(d===p)return false;break;case "gt":if(!(d>p))return false;break;case "gte":if(!(d>=p))return false;break;case "lt":if(!(d<p))return false;break;case "lte":if(!(d<=p))return false;break;case "contains":{if(d==null||p==null)return false;if(Array.isArray(d)){if(!d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(x=>r(x).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(d==null||p==null||!String(d).startsWith(String(p)))return false;break;case "endsWith":if(d==null||p==null||!String(d).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(d))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(d))return false;break;default:return false}}return true},o={where(s){return s&&(t=t.filter(c=>n(c,s))),o},sort(s){let c=Object.entries(s);return t.sort((a,l)=>{for(let[i,p]of c){let R=k(a,i),d=k(l,i);if(R!==d)return p==="asc"?R>d?1:-1:R<d?1:-1}return 0}),o},distinct(s){let c=Array.isArray(s)?s:s?[s]:[],a=new Set;return t=t.filter(l=>{let i=c.length?c.map(p=>k(l,p)).join("|"):JSON.stringify(l);return a.has(i)?false:(a.add(i),true)}),o},select(s){return t=t.map(c=>{let a={};for(let l of s)a[l]=k(c,l);return a}),o},paginate(s,c){let a=(s-1)*c,l=a+c;return {data:t.slice(a,l),total:t.length,page:s,pageSize:c,totalPages:Math.ceil(t.length/c)}},groupBy(s){let c={};for(let a of t){let l=k(a,s),i=String(l??"undefined");c[i]||(c[i]=[]),c[i].push(a);}return c},map(s){return t=t.map(s),o},reduce(s,c){return t.reduce(s,c)},limit(s){return t=t.slice(0,s),o},get(){return t}};return o}var pe,ue={};function Wo({dbName:e,version:t=1,table:r}){return pe||(pe=new sr(e),t=Object.keys(ue).length+1,pe.version(t).stores(ue)),r}function Yo({name:e,primaryKey:t}){ue[e]||(ue[e]=t);let r=()=>{let p=pe.table(e);if(!p)throw new Error(`Table ${e} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=t,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[t]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),d=Je(R);return i?.where&&(d=d.where(i.where)),i?.orderBy&&(d=d.sort(i.orderBy)),d.get()}}}var rs=()=>{let{encrypt:e,decrypt:t,passphrase:r}=X();return ({url:n,token:o,beforeRequest:s,onCallback:c,headers:a,onUnauthorized:l,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:d,encryptRequest:h,encryptResponse:x,passphrase:C})=>{let N=Mt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...a}}),H=(g,b,f,D)=>{let y=D?.code==="ERR_CANCELED",S=g?.status===401,u=g?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:x)&&u){let q=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:C;try{u=t(u,q);}catch{try{u=t(u,r);}catch{}}}let m={...c({...g,data:u,isCancel:y,isUnauthorization:S},D),isCancel:y,isUnauthorization:S,httpCode:g?.status},A=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:R,P=p?p(m,f):!S;if((f?.infoSuccess&&m.status||f?.infoError&&!m.status)&&i&&(!y||!A)&&i(m),!P&&(!y||!f?.disabledHandleUnauthorized)){let q=f?.onUnauthorized||l;q&&q(m);}if(typeof b=="function")b(m);else return m},L=(g,b=()=>{})=>N({...g,withCredentials:typeof g.withCredentials=="boolean"?g.withCredentials:d}).then(b).catch(f=>b(f.response,f)),v=(g,b,f,D,y)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...y},T={...u.headers};if(u.token&&(typeof u.token=="boolean"?o&&(T.Authorization=`Bearer ${o}`):u.token&&(T.Authorization=`Bearer ${u.token}`)),s&&(f=s(f)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:h)&&f){let m=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;f=e(f,m);}return L({url:b,method:g,data:f,headers:T,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:m=>{u?.onUploadProgress&&u?.onUploadProgress(m);}},(m,A)=>H(m,D,u,A))};return {client:L,post:(g,b,f,D)=>v("POST",`${g}`,b,f,D),put:(g,b,f,D)=>v("PUT",`${g}`,b,f,D),patch:(g,b,f,D)=>v("PATCH",`${g}`,b,f,D),delete:(g,b,f)=>v("DELETE",`${g}`,null,b,f),get:(g,b,f)=>v("GET",`${g}`,null,b,f),upload:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(g,b,f,D,y)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...y},T={"Content-Type":"application/json",...a,...u.headers};if(u.token){let U=typeof u.token=="boolean"?o:u.token;U&&(T.Authorization=`Bearer ${U}`);}let w=f;if(s&&(w=s(w)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:h)&&w){let U=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:C;w=e(w,U);}let A=await fetch(`${n}${b}`,{method:g,headers:T,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(w)}),P=A?.status,q=P===401;if(!A.ok){let U=A?.statusText||"Error";try{let _=A.headers.get("content-type")||"",M=await A.clone().text();if(M)if(_.includes("application/json"))try{let G=JSON.parse(M);if((typeof y?.encryptResponse=="boolean"?y?.encryptResponse:x)&&f){let de=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?r:y.passphrase:C;try{f=t(G,de);}catch{try{f=t(G,r);}catch{}}}U=G?.message||U;}catch{U=M;}else U=M;}catch{}let Q=typeof y?.disabledToastWhenCancel=="boolean"?y?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:U,isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0};y?.infoError&&i&&!Q&&i(j),D(j);return}let Y=A.body.getReader(),te=new TextDecoder("utf-8"),J="",re=!1;for(;!re;){let{done:U,value:Q}=await Y.read();re=U,J+=te.decode(Q,{stream:!0});let j=J.split(`
4
4
 
5
- `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function Ye(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"&&Ye(n,o);});}function Je(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return Ye(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]=Je(t[o],e,a);}return n}function Zo(t,e){return Je(t,e)}function ts({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsx(Fragment,{children:o.map((l,s)=>jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},s))})}function as(t,e,r,n){let o=useRef(void 0),a=useRef({x:0,y:0,width:0,visible:true}),l=useRef(r),s=useRef(true);useEffect(()=>{let c=t.current;if(!c)return;let i=new IntersectionObserver(([p])=>{s.current=p.isIntersecting;},{threshold:0});return i.observe(c),()=>{i.disconnect(),s.current=false;}},[t,e]),useEffect(()=>{l.current=r;},[r]),useLayoutEffect(()=>{if(n)return;let c=t.current,i=e.current;if(!c||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,R=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},f=()=>{if(!c||!i||l.current)return;let k=c.getBoundingClientRect(),M=R(c);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,i.style.width=`${k.width}px`):i.style.display="none";},C=()=>{if(!c||!i||l.current)return;let M=i.getBoundingClientRect().height;c.style.height=`${M}px`,c.style.minHeight=`${M}px`;},P=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{f(),p=false;}));},x=()=>{requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),K=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),f();});}),z=new MutationObserver(()=>{P();});N.observe(c),K.observe(i),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,F=()=>{if(!c||!i||l.current||!s.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),c.innerHTML="",c.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{c.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},B=()=>{P();};return i.addEventListener("layout-complete",x),window.addEventListener("scroll",F,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),K.disconnect(),z.disconnect(),i.removeEventListener("layout-complete",x),window.removeEventListener("scroll",F),window.removeEventListener("resize",B);}},[n]);}function cs(t=100){let[e,r]=useState(false);return useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let a of o.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function ds(t,e=0){let[r,n]=useState(false),o=useRef(null),a=useRef(null),l=useRef(false);return useLayoutEffect(()=>{let s=t.current;if(!s)return;let c=()=>{l.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{l.current=true,n(true);},e));},i=()=>{let f=s.getBoundingClientRect();if(f.width===0||f.height===0)return;let C=a.current,P={w:f.width,h:f.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,c());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),R=new MutationObserver(()=>{i();});return p.observe(s),R.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),R.disconnect();}},[e]),r}function Rs(t,e){let[r,n]=useState();return useEffect(()=>{let o=liveQuery(()=>t(e)).subscribe(n);return ()=>o.unsubscribe()},[t,e]),r}export{bt as BgsCoreProvider,Pt as DataTypeEnum,ts as Highlight,Ot as HttpMethod,Zo as bindApi,ve as capitalizeWords,Kn as createApiHelper,jo as createDatabase,oo as createElement,To as createStore,Io as createTable,Nr as debounce,ye as decrypt,Le as decryptString,re as defaultState,Or as diffJson,me as encrypt,$e as encryptString,Mr as filterDOMPropsLite,qt as formatBoolean,kt as formatDate,Ut as formatNumber,vt as formatString,qe as generateCacheKey,Pe as generateUUID,Be as getApiActions,Hr as getDateRangeLabelFromSorted,E as getFieldValue,$r as getInitials,Lr as getMinMaxDate,Kr as getTotalMinutes,qr as isArray,de as isDirtyRaw,V as isNotEmpty,ft as isValidNumber,Er as jsonCopy,we as labelFormatter,Fr as mappingData,Pr as mappingUndefinedtoNull,H as moment,mt as objectToQueryString,ae as parseSSEChunk,Ue as parseStringToNumber,We as query,Ke as registerApi,vr as renderChildren,Oe as replaceNullStrings,At as safeUpdate,Ur as sorting,so as splitElement,ut as stableStringify,kr as summary,Fe as unregisterApi,as as useAnchorPosition,wt as useApiLoad,ne as useApiLoadStore,jn as useApiSend,to as useApiStore,So as useApiStream,W as useBgsCore,cs as useCpuBusy,Go as useCreateApi,X as useCrypto,qo as useDbLive,Eo as useDbLiveFlag,Rs as useDbLoad,Yn as useDebounce,hn as useDelay,Ro as useDynamicSvgImport,fo as useElementBounding,Sn as useFormatted,Pn as useInterval,Un as useKeyPress,ds as useLayoutReady,co as useParseStringToNumber,zn as useScrollTrigger,He as useStorage,xo as wrapApi};
5
+ `);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let M=ae(_);D({status:!0,data:M,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:q,httpCode:P,isDone:!0});}catch(S){let u=S?.name==="AbortError";D({status:false,data:void 0,message:S instanceof Error?S.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(g,b,f,D)=>{let y=new FormData;return Object.keys(b).forEach(S=>y.append(S,b[S])),v("POST",`${g}`,y,f,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function Qe(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],o=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Qe(n,o);});}function Ge(e,t,r=""){if(typeof e=="function")return ()=>{let o=e(t);return Qe(o,r),o};if(!e||typeof e!="object")return e;let n={};for(let o in e){let s=r?`${r}.${o}`:o;n[o]=Ge(e[o],t,s);}return n}function os(e,t){return Ge(e,t)}function as({label:e="",search:t="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];e||(e="");let s=t?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof e!="string"?o=e.toString().split(new RegExp(`(${s})`,"gi")):o=e.split(new RegExp(`(${s})`,"gi")),jsx(Fragment,{children:o.map((c,a)=>jsx("span",{style:c?.toString()?.toLowerCase()===t?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:c},a))})}function us(e,t,r,n){let o=useRef(void 0),s=useRef({x:0,y:0,width:0,visible:true}),c=useRef(r),a=useRef(true);useEffect(()=>{let l=e.current;if(!l)return;let i=new IntersectionObserver(([p])=>{a.current=p.isIntersecting;},{threshold:0});return i.observe(l),()=>{i.disconnect(),a.current=false;}},[e,t]),useEffect(()=>{c.current=r;},[r]),useLayoutEffect(()=>{if(n)return;let l=e.current,i=t.current;if(!l||!i)return;if(c.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,R=E=>{let K=E;for(;K;){if(window.getComputedStyle(K).display==="none")return false;K=K.parentElement;}return true},d=()=>{if(!l||!i||c.current)return;let E=l.getBoundingClientRect(),K=R(l);s.current={x:E.left,y:E.top,width:E.width,visible:K},K?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${E.left}px, ${E.top}px, 0)`,i.style.width=`${E.width}px`):i.style.display="none";},h=()=>{if(!l||!i||c.current)return;let K=i.getBoundingClientRect().height;l.style.height=`${K}px`,l.style.minHeight=`${K}px`;},x=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{d(),p=false;}));},C=()=>{requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{h();});});},N=new ResizeObserver(()=>{x();}),H=new ResizeObserver(()=>{requestAnimationFrame(()=>{h(),d();});}),L=new MutationObserver(()=>{x();});N.observe(l),H.observe(i),L.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let v=null,B=()=>{if(!l||!i||c.current||!a.current)return;let E=i.cloneNode(true);E.removeAttribute("style"),l.innerHTML="",l.appendChild(E),requestAnimationFrame(()=>{i.style.display="none";}),v&&clearTimeout(v),v=setTimeout(()=>{l.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},F=()=>{x();};return i.addEventListener("layout-complete",C),window.addEventListener("scroll",B,{passive:true,capture:true}),window.addEventListener("resize",F,{passive:true}),requestAnimationFrame(()=>{d(),requestAnimationFrame(()=>{h();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),H.disconnect(),L.disconnect(),i.removeEventListener("layout-complete",C),window.removeEventListener("scroll",B),window.removeEventListener("resize",F);}},[n]);}function ms(e=100){let[t,r]=useState(false);return useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let s of o.getEntries())s.duration>e&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[e]),t}function hs(e,t=0){let[r,n]=useState(false),o=useRef(null),s=useRef(null),c=useRef(false);return useLayoutEffect(()=>{let a=e.current;if(!a)return;let l=()=>{c.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{c.current=true,n(true);},t));},i=()=>{let d=a.getBoundingClientRect();if(d.width===0||d.height===0)return;let h=s.current,x={w:d.width,h:d.height};(!h||h.w!==x.w||h.h!==x.h)&&(s.current=x,l());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),R=new MutationObserver(()=>{i();});return p.observe(a),R.observe(a,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),R.disconnect();}},[t]),r}function xs(e,t){let[r,n]=useState();return useEffect(()=>{let o=liveQuery(()=>e(t)).subscribe(n);return ()=>o.unsubscribe()},[]),r}export{Tt as BgsCoreProvider,Ot as DataTypeEnum,as as Highlight,wt as HttpMethod,os as bindApi,qe as capitalizeWords,$n as createApiHelper,Wo as createDatabase,lo as createElement,So as createStore,Yo as createTable,Mr as debounce,Te as decrypt,Be as decryptString,ne as defaultState,vr as diffJson,be as encrypt,Fe as encryptString,$r as filterDOMPropsLite,Pt as formatBoolean,Ut as formatDate,qt as formatNumber,vt as formatString,ve as generateCacheKey,Pe as generateUUID,Ke as getApiActions,Fr as getDateRangeLabelFromSorted,k as getFieldValue,Lr as getInitials,Hr as getMinMaxDate,Br as getTotalMinutes,Ur as isArray,me as isDirtyRaw,V as isNotEmpty,mt as isValidNumber,Kr as jsonCopy,we as labelFormatter,jr as mappingData,qr as mappingUndefinedtoNull,$ as moment,gt as objectToQueryString,ae as parseSSEChunk,Ue as parseStringToNumber,Je as query,Ee as registerApi,kr as renderChildren,Oe as replaceNullStrings,Ct as safeUpdate,Er as sorting,po as splitElement,dt as stableStringify,Nr as summary,Ne as unregisterApi,us as useAnchorPosition,St as useApiLoad,oe as useApiLoadStore,Fn as useApiSend,ao as useApiStore,qo as useApiStream,W as useBgsCore,ms as useCpuBusy,rs as useCreateApi,X as useCrypto,No as useDbLive,Lo as useDbLiveFlag,xs as useDbLoad,Zn as useDebounce,an as useDelay,xo as useDynamicSvgImport,ho as useElementBounding,dn as useFormatted,gn as useInterval,bn as useKeyPress,hs as useLayoutReady,yo as useParseStringToNumber,In as useScrollTrigger,Qn as useStorage,Oo as wrapApi};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "1.0.50",
3
+ "version": "1.0.52",
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",
@@ -50,10 +50,12 @@
50
50
  "crypto-js": "^4.2.0",
51
51
  "dayjs": "^1.11.13",
52
52
  "dexie": "^4.2.1",
53
+ "js-cookie": "^3.0.5",
53
54
  "zustand": "^5.0.6"
54
55
  },
55
56
  "devDependencies": {
56
57
  "@types/crypto-js": "^4.2.2",
58
+ "@types/js-cookie": "^3.0.6",
57
59
  "@types/react": "^19.1.1",
58
60
  "@types/react-dom": "^19.1.2",
59
61
  "tsup": "^8.4.0",