@bgscore/react-core 1.0.40 → 1.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +1 -45
- package/dist/index.d.ts +1 -45
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';var pe=require('react'),I=require('dayjs'),dt=require('dayjs/plugin/utc'),mt=require('dayjs/plugin/timezone'),yt=require('dayjs/plugin/duration'),gt=require('dayjs/plugin/advancedFormat'),Rt=require('dayjs/plugin/localizedFormat'),bt=require('dayjs/plugin/relativeTime'),ht=require('dayjs/plugin/isSameOrBefore'),Tt=require('dayjs/plugin/isSameOrAfter'),xt=require('dayjs/plugin/weekOfYear'),Dt=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ke=require('crypto-js/aes'),Fe=require('crypto-js/pbkdf2'),qt=require('crypto-js/enc-utf8'),ce=require('crypto-js/enc-base64'),He=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Yt=require('axios'),yr=require('dexie'),reactDom=require('react-dom');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var pe__default=/*#__PURE__*/_interopDefault(pe);var I__default=/*#__PURE__*/_interopDefault(I);var dt__default=/*#__PURE__*/_interopDefault(dt);var mt__default=/*#__PURE__*/_interopDefault(mt);var yt__default=/*#__PURE__*/_interopDefault(yt);var gt__default=/*#__PURE__*/_interopDefault(gt);var Rt__default=/*#__PURE__*/_interopDefault(Rt);var bt__default=/*#__PURE__*/_interopDefault(bt);var ht__default=/*#__PURE__*/_interopDefault(ht);var Tt__default=/*#__PURE__*/_interopDefault(Tt);var xt__default=/*#__PURE__*/_interopDefault(xt);var Dt__default=/*#__PURE__*/_interopDefault(Dt);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var qt__default=/*#__PURE__*/_interopDefault(qt);var ce__default=/*#__PURE__*/_interopDefault(ce);var He__default=/*#__PURE__*/_interopDefault(He);var Yt__default=/*#__PURE__*/_interopDefault(Yt);var yr__default=/*#__PURE__*/_interopDefault(yr);I__default.default.extend(dt__default.default);I__default.default.extend(mt__default.default);I__default.default.extend(yt__default.default);I__default.default.extend(gt__default.default);I__default.default.extend(Rt__default.default);I__default.default.extend(bt__default.default);I__default.default.extend(ht__default.default);I__default.default.extend(Tt__default.default);I__default.default.extend(xt__default.default);I__default.default.extend(Dt__default.default);var B=I__default.default;function Yr(){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 Jr(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 Gr(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 _(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 Ue={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,s)=>s.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=Ue.snackCase(Ue.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Xr(e,t){return typeof e=="function"?e(t):e}var L=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Zr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=L(r,t)?L(r,t):"",a=L(n,t)?L(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=L(r,t)?L(r,t):"",a=L(n,t)?L(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},en=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?L(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function tn(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ct(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function Le(e,t){return Ct([t??"undefined",e??"undefined"])}function Ne(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function rn(e,t=0){let r,n=function(...s){clearTimeout(r),r=setTimeout(()=>{e(...s);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var le=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function Re(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 At(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&Re(n,r))return true}return false}function $e(e="",t=false,r="."){if(!At(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var wt=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 nn(e){let t={};for(let r in e)wt.has(r)&&(t[r]=e[r]);return t}function on(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function sn(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(B).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function an(e,t){let r=B(e),n=B(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function ln(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=B(e,"HH:mm",true),n=B(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var cn=(e=[],t="label",r="value",n,s=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((i,c)=>{if(typeof i!="object"){let u=typeof t=="function"?t(i,c):i,R=typeof r=="function"?r(i,c):i;return {label:u,value:R,index:c,rowData:i}}else {let u=typeof t=="function"?t(i,c):L(i,t,""),R=typeof r=="function"?r(i,c):L(i,r,"");return {label:u,value:typeof R=="boolean"?R:R||"",index:c,rowData:i}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],o=new Map;for(let i of a){let c=i.rowData,u=l.map(f=>String(typeof c=="object"?L(c,f,"")??"":"")).join(s),R=o.get(u)||[];R.push(i),o.set(u,R);}return [Array.from(o.entries()).map(([i,c])=>({group:i,items:c})),a]};function St(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let s=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!_(s))continue;Array.isArray(s)?s.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof s=="object"&&s!==null?r.push(St(s,a)):r.push(`${a}=${encodeURIComponent(s)}`);}return r.join("&")}function Me(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Me(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Me(e[t]));return e}var Be=pe.createContext(void 0);function z(){let e=pe.useContext(Be);return e||{}}var Et=({children:e,value:t})=>{let r={...t};return pe.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:l}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&B.locale(s,a??{},l);}})();},[t.localeConfig]),jsxRuntime.jsx(Be.Provider,{value:r,children:e})};function be(e,t){let r=He__default.default.random(16),n=He__default.default.random(16),s=Fe__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Ke__default.default.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(ce__default.default),iv:n.toString(ce__default.default),encrypted:a}}function he(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Fe__default.default(t,ce__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=Ke__default.default.decrypt(s,a,{iv:ce__default.default.parse(n)}).toString(qt__default.default);return JSON.parse(o)}function je(e,t){return JSON.stringify(be(e,t))}function Ie(e,t){return he(JSON.parse(e),t)}function G(){let{passphrase:e}=z();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return he(t,r||e)},encryptString(t,r){return je(t,r||e)},decryptString(t,r){return Ie(t,r||e)}}}var _e=()=>{let{encrypt:e,decrypt:t}=G(),r=pe.useCallback((l,o)=>{try{let i=e(o);localStorage.setItem(l,JSON.stringify(i));}catch(i){console.error("Failed to save to storage:",i);}},[e]),n=pe.useCallback(l=>{try{let o=localStorage.getItem(l);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=l=>{let[o,i]=pe.useState(()=>{try{let c=localStorage.getItem(l);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return pe.useEffect(()=>{let c=u=>{if(u.key===l)if(u.newValue)try{i(t(JSON.parse(u.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else i(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[l,t]),o},a=pe.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Nt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(s);if(a!==l)return false}else if(n!==s)return false}return true}var te={loading:false,response:void 0,isCancel:false},re=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??te,a={...s,...n};Nt(s,a)||e(l=>({states:{...l.states,[r]:a}}));}}));var xe=new Map,ze=(e,t)=>{xe.set(e,t);},Ve=e=>{xe.delete(e);},We=e=>xe.get(e);function Bt(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,l=s?void 0:r,o=s?r:n,i=o?.storeName||`${a}`,c=o?.mergeStrategy??"replace",[u,R,f,C]=re(shallow.useShallow(w=>{let h=w.states[i]??te;return [h.loading,h.isCancel,h.response,w.updateState]})),{storageKey:P,cache:x,clearPreviousData:M,refetchOnWindowFocus:H}=z(),F=_e(),E=pe.useRef(void 0),K=pe.useRef(null),{cacheName:q,cacheKey:U,timeout:X,timeoutUnit:ae,persistence:ie,cacheEnabled:Z}=pe.useMemo(()=>{let w=P?F.get(P):void 0,h=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,T=Le({...l,session:w},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let v=false;typeof x?.persistence=="boolean"&&(v=x?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(v=o?.cache?.persistence??false);let S=60*5,N="s";return _(x?.timeout)&&(typeof x?.timeout=="number"?(S=x.timeout,N="s"):typeof x?.timeout=="object"&&(S=x?.timeout.value,N=x?.timeout.unit)),_(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?g=o.cache.enabled:g=true,typeof o?.cache?.timeout=="number"?(S=o.cache.timeout,N="s"):typeof o?.cache?.timeout=="object"&&(S=o.cache.timeout.value,N=o.cache.timeout.unit)):g=o.cache),{cacheName:h,cacheKey:T,timeout:S,timeoutUnit:N,persistence:v,cacheEnabled:g}},[o?.cache,l,P,x,a]);pe.useEffect(()=>{let w=JSON.stringify(_(E.current)?E.current:""),h=JSON.stringify(_(l)?l:""),T=E.current===void 0;(w!==h||T)&&!o?.hold&&((o?.clearPreviousData??M)&&C(i,{response:null}),A(),E.current=l),o?.onChange&&o?.onChange(l,d);},[l,o?.clearPreviousData,M,o?.hold,...o?.trigger||[]]),pe.useEffect(()=>{let w=async()=>{!ie&&q&&U&&(await caches.open(q)).delete(U);};return window.addEventListener("beforeunload",w),()=>{window.removeEventListener("beforeunload",w),K.current?.abort();}},[ie,q,U,i,K]);let A=pe.useCallback(async w=>{let h=l;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(h=o?.beforeRequest(l)),Z&&!w&&!R){o?.onBeforeRequest&&o?.onBeforeRequest(l);let T=await caches.open(q),v=await(await T.match(U))?.json();if(v){let{data:S,expired:N}=v;if(B().isAfter(N))await T.delete(U);else {o?.afterResponse&&S?.data&&(S.data=o?.afterResponse(S.data,h)),o?.logging&&console.log("After request: Using Cache",S),S?.status&&o?.onSuccess?.(S,h),o?.onAfterResponse?.(S,h),C(i,{loading:false,response:S});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(i,{loading:true}),o?.logging&&console.log("Before request",l),o?.onBeforeRequest&&o?.onBeforeRequest(l);let g=s?await t(void 0,{...o,signal:T.signal}):await t(h,void 0,{...o,signal:T.signal});if(g.__rawData=g.data,c==="append"&&_(f.__rawData)&&_(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let v=[...f?.__rawData??[],...g.data??[]];g.data=v,g.__rawData=v;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let v={...f.__rawData,...g.data};g.data=v,g.__rawData=v;}}if(o?.afterResponse&&g?.data&&(g.data=o?.afterResponse(g.data,h)),o?.logging&&console.log("After request",g),g.status&&o?.onSuccess?.(g,h),g.status||o?.onError?.(g,h),o?.onAfterResponse?.(g,h),C(i,{loading:false,response:g,isCancel:false}),Z&&g.status){let v=B().add(X,ae).toISOString(),S={data:g,expired:v},N=await caches.open(q),W=new Response(JSON.stringify(S));await N.put(U,W);}}},[l,t,o,R,q,U,X,ae,Z,f]);pe.useEffect(()=>{if(o?.refreshInterval){let w=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,h=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,T=setInterval(()=>{A();},B.duration(w,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[o?.refreshInterval,A]);let y=pe.useRef(null),{enabledRefetch:b,timeoutRefetch:p,timeoutUnitRefetch:D}=pe.useMemo(()=>{let w=o?.refetchOnWindowFocus?.enabled??H?.enabled??false,h=o?.refetchOnWindowFocus?.timeout??H?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:w,timeoutRefetch:T,timeoutUnitRefetch:g}},[o?.refetchOnWindowFocus,H]);pe.useEffect(()=>{if(!b||o?.hold)return;let w=B.duration(p,D).asMilliseconds(),h=()=>{let g=Date.now(),v=y.current;v!==null&&g-v>=w&&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,p,D,A,o?.hold]);let m=pe.useCallback(()=>{K.current?.abort(),K.current=null,C(i,{loading:false,isCancel:true});},[i,K]),O=pe.useCallback(()=>{C(i,{loading:false,response:null});},[i]),d=pe.useMemo(()=>({...f,loading:u,refresh:A,abort:m,clear:O,response:f,isCancel:R,clone:(w,h)=>Bt(t,w,{storeName:`${a}-clone`,...h})}),[f,u,A,m,O,R,t]);return pe.useEffect(()=>(ze(i,d),()=>{Ve(i);}),[d,i]),[f?.data,d]}async function Fn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var Ht=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Ht||{}),Kt=(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))(Kt||{});var Wn=()=>{let{format:e}=z();return (t,r,n)=>{try{return r==="number"?It(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===r)?_t(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ft(t,n):r==="string"?jt(t,n):t?.toString()}catch{return}}};function Ft(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function jt(e,t){if(!_(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=Ne(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 It(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let R=String(e??"").trim().trim();if(Re(R,r))return R}if(e==null||isNaN(Number(e)))return "";let l=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let u=Math.pow(10,n);l=Math[s](l*u)/u;}else l=Math[s](l);else if(typeof n=="number"){let u=Math.pow(10,n);l=Math.trunc(l*u)/u;}let o=0;if(n==="auto"){let u=l.toString(),R=u.indexOf(".");R!==-1&&(o=u.length-R-1);}let i={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function _t(e,{display:t,value:r}){if(!_(e))return e;let n=B(e,r);return n.isValid()?n.format(t):e}function Qn(e,{interval:t,lead:r}){let n=pe.useRef(null);pe.useEffect(()=>{n.current=e;},[e]),pe.useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Zn(e,t,r){let[n,s]=pe.useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,l=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:u,keyCode:R}=c,f=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!l(document.activeElement))if(t)if(typeof t=="string")a(u,R)&&(t==="ctrl"&&f||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let x=t.every(M=>M==="ctrl"?f:M==="alt"?C:M==="shift"?P:false);a(u,R)&&x&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(u,R)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},i=({key:c,keyCode:u})=>{a(c,u)&&s(false);};return pe.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",i);}),[]),n}var io=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:o,disabledToastWhenCancel:i,withCredentials:c,encryptRequest:u,encryptResponse:R,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=G(),M=Yt__default.default.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...s}}),H=(y,b,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:R)&&d){let S=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:f;try{d=P(d,S);}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 p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:i,v=o?o(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!v&&(!m||!p?.disabledHandleUnauthorized)){let S=p?.onUnauthorized||a;S&&S(T);}if(typeof b=="function")b(T);else return T},F=(y,b=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(b).catch(p=>b(p.response,p)),E=(y,b,p,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},w={...d.headers};if(d.token&&(typeof d.token=="boolean"?t&&(w.Authorization=`Bearer ${t}`):d.token&&(w.Authorization=`Bearer ${d.token}`)),r&&(p=r(p)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;p=C(p,T);}return F({url:b,method:y,data:p,headers:w,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:F,post:(y,b,p,D)=>E("POST",`${y}`,b,p,D),put:(y,b,p,D)=>E("PUT",`${y}`,b,p,D),patch:(y,b,p,D)=>E("PATCH",`${y}`,b,p,D),delete:(y,b,p)=>E("DELETE",`${y}`,null,b,p),get:(y,b,p)=>E("GET",`${y}`,null,b,p),upload:(y,b,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,p,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},w={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?t:d.token;k&&(w.Authorization=`Bearer ${k}`);}let h=p;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:u)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,k);}let g=await fetch(`${e}${b}`,{method:y,headers:w,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),v=g?.status,S=v===401;if(!g.ok){let k=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",$=await g.clone().text();if($)if(V.includes("application/json"))try{let Q=JSON.parse($);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:R)&&p){let ge=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{p=P(Q,ge);}catch{try{p=P(Q,x);}catch{}}}k=Q?.message||k;}catch{k=$;}else k=$;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:i,j={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!0};m?.infoError&&l&&!J&&l(j),D(j);return}let N=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:k,value:J}=await N.read();ee=k,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
1
|
+
'use strict';var le=require('react'),I=require('dayjs'),Xe=require('dayjs/plugin/utc'),Ze=require('dayjs/plugin/timezone'),et=require('dayjs/plugin/duration'),tt=require('dayjs/plugin/advancedFormat'),rt=require('dayjs/plugin/localizedFormat'),nt=require('dayjs/plugin/relativeTime'),ot=require('dayjs/plugin/isSameOrBefore'),st=require('dayjs/plugin/isSameOrAfter'),at=require('dayjs/plugin/weekOfYear'),it=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ee=require('crypto-js/aes'),Ne=require('crypto-js/pbkdf2'),Rt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),ke=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Et=require('axios'),er=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var Xe__default=/*#__PURE__*/_interopDefault(Xe);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var et__default=/*#__PURE__*/_interopDefault(et);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var Rt__default=/*#__PURE__*/_interopDefault(Rt);var ie__default=/*#__PURE__*/_interopDefault(ie);var ke__default=/*#__PURE__*/_interopDefault(ke);var Et__default=/*#__PURE__*/_interopDefault(Et);var er__default=/*#__PURE__*/_interopDefault(er);I__default.default.extend(Xe__default.default);I__default.default.extend(Ze__default.default);I__default.default.extend(et__default.default);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);var H=I__default.default;function xr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Cr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Ar=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Sr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function z(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(t,e){return typeof t=="function"?t(e):t}var N=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Or={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(r,e):"";return s<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(n,e):"";return s>a?1:-1}else return r>n?1:-1}))},Pr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?N(n,e)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function qr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function lt(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function Pe(t,e){return lt([e??"undefined",t??"undefined"])}function qe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function vr(t,e=0){let r,n=function(...s){clearTimeout(r),r=setTimeout(()=>{t(...s);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function fe(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ct(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||e&&fe(n,r))return true}return false}function ve(t="",e=false,r="."){if(!ct(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var pt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Ur(t){let e={};for(let r in t)pt.has(r)&&(e[r]=t[r]);return e}function kr(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Er(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Nr(t,e){let r=H(t),n=H(e),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Mr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var $r=(t=[],e="label",r="value",n,s=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((i,c)=>{if(typeof i!="object"){let u=typeof e=="function"?e(i,c):i,h=typeof r=="function"?r(i,c):i;return {label:u,value:h,index:c,rowData:i}}else {let u=typeof e=="function"?e(i,c):N(i,e,""),h=typeof r=="function"?r(i,c):N(i,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:i}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],o=new Map;for(let i of a){let c=i.rowData,u=l.map(d=>String(typeof c=="object"?N(c,d,"")??"":"")).join(s),h=o.get(u)||[];h.push(i),o.set(u,h);}return [Array.from(o.entries()).map(([i,c])=>({group:i,items:c})),a]};function ut(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let s=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!z(s))continue;Array.isArray(s)?s.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof s=="object"&&s!==null?r.push(ut(s,a)):r.push(`${a}=${encodeURIComponent(s)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var Ue=le.createContext(void 0);function _(){let t=le.useContext(Ue);return t||{}}var yt=({children:t,value:e})=>{let r={...e};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:l}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&H.locale(s,a??{},l);}})();},[e.localeConfig]),jsxRuntime.jsx(Ue.Provider,{value:r,children:t})};function de(t,e){let r=ke__default.default.random(16),n=ke__default.default.random(16),s=Ne__default.default(e,r,{keySize:256/32,iterations:1e3}),a=Ee__default.default.encrypt(JSON.stringify(t),s,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function me(t,e){let{salt:r,iv:n,encrypted:s}=t,a=Ne__default.default(e,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=Ee__default.default.decrypt(s,a,{iv:ie__default.default.parse(n)}).toString(Rt__default.default);return JSON.parse(o)}function Me(t,e){return JSON.stringify(de(t,e))}function $e(t,e){return me(JSON.parse(t),e)}function G(){let{passphrase:t}=_();return {passphrase:t,encrypt(e,r){return de(e,r||t)},decrypt(e,r){return me(e,r||t)},encryptString(e,r){return Me(e,r||t)},decryptString(e,r){return $e(e,r||t)}}}var Le=()=>{let{encrypt:t,decrypt:e}=G(),r=le.useCallback((l,o)=>{try{let i=t(o);localStorage.setItem(l,JSON.stringify(i));}catch(i){console.error("Failed to save to storage:",i);}},[t]),n=le.useCallback(l=>{try{let o=localStorage.getItem(l);return o?e(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[e]),s=l=>{let[o,i]=le.useState(()=>{try{let c=localStorage.getItem(l);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return le.useEffect(()=>{let c=u=>{if(u.key===l)if(u.newValue)try{i(e(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else i(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[l,e]),o},a=le.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Dt(t,e){for(let r in e){let n=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(s);if(a!==l)return false}else if(n!==s)return false}return true}var te={loading:false,response:void 0,isCancel:false},re=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let s=e().states[r]??te,a={...s,...n};Dt(s,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var ge=new Map,He=(t,e)=>{ge.set(t,e);},Fe=t=>{ge.delete(t);},Ke=t=>ge.get(t);function Ct(...t){let[e,r,n]=t,s=e.__isVoid,a=e.__path||e.name,l=s?void 0:r,o=s?r:n,i=o?.storeName||`${a}`,c=o?.mergeStrategy??"replace",[u,h,d,C]=re(shallow.useShallow(S=>{let b=S.states[i]??te;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:q,cache:x,clearPreviousData:M,refetchOnWindowFocus:F}=_(),B=Le(),U=le.useRef(void 0),K=le.useRef(null),{cacheName:k,cacheKey:E,timeout:X,timeoutUnit:oe,persistence:se,cacheEnabled:Z}=le.useMemo(()=>{let S=q?B.get(q):void 0,b=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,T=Pe({...l,session:S},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let P=false;typeof x?.persistence=="boolean"&&(P=x?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let w=60*5,$="s";return z(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),z(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?g=o.cache.enabled:g=true,typeof o?.cache?.timeout=="number"?(w=o.cache.timeout,$="s"):typeof o?.cache?.timeout=="object"&&(w=o.cache.timeout.value,$=o.cache.timeout.unit)):g=o.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:P,cacheEnabled:g}},[o?.cache,l,q,x,a]);le.useEffect(()=>{let S=JSON.stringify(z(U.current)?U.current:""),b=JSON.stringify(z(l)?l:""),T=U.current===void 0;(S!==b||T)&&!o?.hold&&((o?.clearPreviousData??M)&&C(i,{response:null}),A(),U.current=l),o?.onChange&&o?.onChange(l,f);},[l,o?.clearPreviousData,M,o?.hold,...o?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&k&&E&&(await caches.open(k)).delete(E);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,k,E,i,K]);let A=le.useCallback(async S=>{let b=l;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(b=o?.beforeRequest(l)),Z&&!S&&!h){o?.onBeforeRequest&&o?.onBeforeRequest(l);let T=await caches.open(k),P=await(await T.match(E))?.json();if(P){let{data:w,expired:$}=P;if(H().isAfter($))await T.delete(E);else {o?.afterResponse&&w?.data&&(w.data=o?.afterResponse(w.data,b)),o?.logging&&console.log("After request: Using Cache",w),w?.status&&o?.onSuccess?.(w,b),o?.onAfterResponse?.(w,b),C(i,{loading:false,response:w});return}}}if(typeof e=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(i,{loading:true}),o?.logging&&console.log("Before request",l),o?.onBeforeRequest&&o?.onBeforeRequest(l);let g=s?await e(void 0,{...o,signal:T.signal}):await e(b,void 0,{...o,signal:T.signal});if(g.__rawData=g.data,c==="append"&&z(d.__rawData)&&z(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let P=[...d?.__rawData??[],...g.data??[]];g.data=P,g.__rawData=P;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let P={...d.__rawData,...g.data};g.data=P,g.__rawData=P;}}if(o?.afterResponse&&g?.data&&(g.data=o?.afterResponse(g.data,b)),o?.logging&&console.log("After request",g),g.status&&o?.onSuccess?.(g,b),g.status||o?.onError?.(g,b),o?.onAfterResponse?.(g,b),C(i,{loading:false,response:g,isCancel:false}),Z&&g.status){let P=H().add(X,oe).toISOString(),w={data:g,expired:P},$=await caches.open(k),W=new Response(JSON.stringify(w));await $.put(E,W);}}},[l,e,o,h,k,E,X,oe,Z,d]);le.useEffect(()=>{if(o?.refreshInterval){let S=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,b=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[o?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=o?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=o?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[o?.refetchOnWindowFocus,F]);le.useEffect(()=>{if(!R||o?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),P=y.current;P!==null&&g-P>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,o?.hold]);let m=le.useCallback(()=>{K.current?.abort(),K.current=null,C(i,{loading:false,isCancel:true});},[i,K]),O=le.useCallback(()=>{C(i,{loading:false,response:null});},[i]),f=le.useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>Ct(e,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,e]);return le.useEffect(()=>(He(i,f),()=>{Fe(i);}),[f,i]),[d?.data,f]}async function yn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var At=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(At||{}),St=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(St||{});var Dn=()=>{let{format:t}=_();return (e,r,n)=>{try{return r==="number"?Pt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===r)?qt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?wt(e,n):r==="string"?Ot(e,n):e?.toString()}catch{return}}};function wt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?n:s}function Ot(t,e){if(!z(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function Pt(t,{thouSep:e,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let h=String(t??"").trim().trim();if(fe(h,r))return h}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(s)if(typeof n=="number"){let u=Math.pow(10,n);l=Math[s](l*u)/u;}else l=Math[s](l);else if(typeof n=="number"){let u=Math.pow(10,n);l=Math.trunc(l*u)/u;}let o=0;if(n==="auto"){let u=l.toString(),h=u.indexOf(".");h!==-1&&(o=u.length-h-1);}let i={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function qt(t,{display:e,value:r}){if(!z(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function An(t,{interval:e,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=t;},[t]),le.useEffect(()=>{let s=()=>n.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function On(t,e,r){let[n,s]=le.useState(false),a=(c,u)=>typeof t=="string"&&c===t||typeof t=="number"&&u===t,l=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,q=c.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(u,h)&&(e==="ctrl"&&d||e==="alt"&&C||e==="shift"&&q)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let x=e.every(M=>M==="ctrl"?d:M==="alt"?C:M==="shift"?q:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},i=({key:c,keyCode:u})=>{a(c,u)&&s(false);};return le.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",i);}),[]),n}var Mn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:o,disabledToastWhenCancel:i,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:q,passphrase:x}=G(),M=Et__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=q(f,w);}catch{try{f=q(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:i,P=o?o(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?e:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${t}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=q(Q,ue);}catch{try{p=q(Q,x);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:i,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&l&&!J&&l(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
2
2
|
|
|
3
|
-
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let $=le(V);D({status:!0,data:$,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,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,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function po(e,t){let[r,n]=pe.useState(false),[s,a]=pe.useState(),[l,o]=pe.useState(0),i=pe.useRef(null);return pe.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{i.current?.abort();}},[]),[async f=>{i.current?.abort();let C=new AbortController;i.current=C,n(true),t?.beforeRequest&&(f=t?.beforeRequest(f)),t?.logging&&console.log("Before request",f),t?.onBeforeRequest&&t?.onBeforeRequest(f);let P={...t,signal:C.signal,onUploadProgress:M=>{let H=Math.round(M.loaded*100/(M.total||1));o(H);}},x=e.__isVoid?await e(void 0,P):await e(f,void 0,P);t?.logging&&console.log("After response",x),a(x),n(false),o(0),t?.afterResponse&&x?.data&&(x.data=t?.afterResponse(x.data,f)),x.status&&t?.onSuccess&&t?.onSuccess(x,f),!x.status&&t?.onError&&t?.onError(x,f),t?.onAfterResponse?.(x,f);},{...s,loading:r,abort:()=>{i.current?.abort(),i.current=null,n(false),o(0);},progress:l,reset:()=>{n(false),o(0),a(null);}}]}function Gt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Xt=typeof window<"u"?window:null;function mo(e={}){let{getTrigger:t=Gt,target:r=Xt,disableHysteresis:n=false,threshold:s=100}=e,a=pe__default.default.useRef(0),[l,o]=pe__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return pe__default.default.useEffect(()=>{let i=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(i(),r)return r.addEventListener("scroll",i,{passive:true}),()=>{r.removeEventListener("scroll",i);}},[r,t,n,s]),l}function Ro(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[s,a]=pe.useState(e);return pe.useEffect(()=>{let l=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(l)},[e,r,n]),s}var Ao=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,{refresh:a,abort:l,clear:o,clone:i}=We(n)||{},c=P=>{let x=P.states[n]??te;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:R,response:f}=s?re(shallow.useShallow(c)):re(c),C=pe.useMemo(()=>[f?.data,{...f,loading:u,isCancel:R,refresh:a,abort:l,clear:o,clone:i}],[f,u,R,a,l,o,i]);return t?.selector?t.selector(C):C};var ue=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Je=(e,t)=>{let r=false;return pe__default.default.Children.forEach(e,n=>{if(pe__default.default.isValidElement(n)){let s=n,a=n.type.displayName;(t.includes(a)||s.props?.children&&Je(s.props.children,t))&&(r=true);}}),r},Qe=(e,t)=>{let r={others:[]},n=s=>{pe__default.default.Children.forEach(s,a=>{if(pe__default.default.isValidElement(a)){let l=a.type.displayName,o=a,i=o.props?.children;t.includes(l)?r[l]=a:i&&Je(i,t)?n(o.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function Eo(){let{format:e}=z();return (t="",r=false)=>$e(t,r,e.number.decSep)}function Uo(e,t){let r=pe.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return pe.useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let s=new ResizeObserver(()=>n());return s.observe(e),()=>s.disconnect()},[e,t]),r}var Pe={};function $o(e,t){let[r,n]=pe.useState(false),[s,a]=pe.useState(),[l,o]=pe.useState();return pe.useEffect(()=>{if(!e)return;if(Pe[e]){o(()=>Pe[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Pe[e]=c.default,o(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:s,loading:r,Icon:l}}function Ko(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(i=>i());}function l(o){let i=pe.useRef(o?o(t):t);return pe.useSyncExternalStore(s,()=>{let c=o?o(t):t,u=i.current;return Object.is(u,c)||(i.current=c),i.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:l}}function Ge(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],s=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ge(n,s);});}function jo(e){let t={};for(let r in e){let n=e[r];t[r]=(...s)=>{let a=n(...s);return Ge(a,r),a};}return t}function zo(e,t){let[r,n]=pe.useState(false),[s,a]=pe.useState([]),l=pe.useRef([]),o=pe.useRef(null);pe.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let i=async R=>{o.current?.abort();let f=new AbortController;o.current=f,n(true),a([]),l.current=[],e(R,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),t?.onDone&&t?.onDone([...l.current])),C.status?t?.onStream&&t?.onStream(C):t?.onError&&t?.onError(C);},{signal:f.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},u=()=>{n(false),a([]),l.current=[];};return [s.map(R=>R.data),i,{loading:r,abort:c,reset:u,response:s}]}function Jo(e,t){let{key:r}=t,[n,s]=pe.useState();return pe.useEffect(()=>{let a=yr.liveQuery(()=>e(r)).subscribe(s);return ()=>a.unsubscribe()},[r]),n}function Zo(e,t){let{key:r}=t,[n,s]=pe.useState(false);return pe.useEffect(()=>{let a=yr.liveQuery(async()=>!!await e(r)).subscribe(l=>{s(o=>o!==l?l:o);});return ()=>a.unsubscribe()},[r]),n}var fe,de={};function ns({dbName:e,version:t=1,table:r}){return fe||(fe=new yr__default.default(e),t=Object.keys(de).length+1,fe.version(t).stores(de)),r}function os({name:e,primaryKey:t}){de[e]||(de[e]=t);let r=()=>{let c=fe.table(e);if(!c)throw new Error(`Table ${e} is not registered in Dexie`);return c};return {table:r,create:async i=>await r().add(i),update:async(i,c)=>await r().update(i,c),put:async(i,c)=>await r().put({...c,[t]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i)}}var fs=()=>{let{encrypt:e,decrypt:t,passphrase:r}=G();return ({url:n,token:s,beforeRequest:a,onCallback:l,headers:o,onUnauthorized:i,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:R,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let M=Yt__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...o}}),H=(y,b,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:P)&&d){let S=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{d=t(d,S);}catch{try{d=t(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:R,v=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!v&&(!m||!p?.disabledHandleUnauthorized)){let S=p?.onUnauthorized||i;S&&S(T);}if(typeof b=="function")b(T);else return T},F=(y,b=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(b).catch(p=>b(p.response,p)),E=(y,b,p,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},w={...d.headers};if(d.token&&(typeof d.token=="boolean"?s&&(w.Authorization=`Bearer ${s}`):d.token&&(w.Authorization=`Bearer ${d.token}`)),a&&(p=a(p)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=e(p,T);}return F({url:b,method:y,data:p,headers:w,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:F,post:(y,b,p,D)=>E("POST",`${y}`,b,p,D),put:(y,b,p,D)=>E("PUT",`${y}`,b,p,D),patch:(y,b,p,D)=>E("PATCH",`${y}`,b,p,D),delete:(y,b,p)=>E("DELETE",`${y}`,null,b,p),get:(y,b,p)=>E("GET",`${y}`,null,b,p),upload:(y,b,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,p,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},w={"Content-Type":"application/json",...o,...d.headers};if(d.token){let k=typeof d.token=="boolean"?s:d.token;k&&(w.Authorization=`Bearer ${k}`);}let h=p;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=e(h,k);}let g=await fetch(`${n}${b}`,{method:y,headers:w,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),v=g?.status,S=v===401;if(!g.ok){let k=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",$=await g.clone().text();if($)if(V.includes("application/json"))try{let Q=JSON.parse($);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&p){let ge=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=t(Q,ge);}catch{try{p=t(Q,r);}catch{}}}k=Q?.message||k;}catch{k=$;}else k=$;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!0};m?.infoError&&c&&!J&&c(j),D(j);return}let N=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:k,value:J}=await N.read();ee=k,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
3
|
+
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let L=ae(V);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(t,e){let[r,n]=le.useState(false),[s,a]=le.useState(),[l,o]=le.useState(0),i=le.useRef(null);return le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{i.current?.abort();}},[]),[async d=>{i.current?.abort();let C=new AbortController;i.current=C,n(true),e?.beforeRequest&&(d=e?.beforeRequest(d)),e?.logging&&console.log("Before request",d),e?.onBeforeRequest&&e?.onBeforeRequest(d);let q={...e,signal:C.signal,onUploadProgress:M=>{let F=Math.round(M.loaded*100/(M.total||1));o(F);}},x=t.__isVoid?await t(void 0,q):await t(d,void 0,q);e?.logging&&console.log("After response",x),a(x),n(false),o(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,d)),x.status&&e?.onSuccess&&e?.onSuccess(x,d),!x.status&&e?.onError&&e?.onError(x,d),e?.onAfterResponse?.(x,d);},{...s,loading:r,abort:()=>{i.current?.abort(),i.current=null,n(false),o(0);},progress:l,reset:()=>{n(false),o(0),a(null);}}]}function $t(t,e){let{disableHysteresis:r=false,threshold:n=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Lt=typeof window<"u"?window:null;function Bn(t={}){let{getTrigger:e=$t,target:r=Lt,disableHysteresis:n=false,threshold:s=100}=t,a=le__default.default.useRef(0),[l,o]=le__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:s,target:r}));return le__default.default.useEffect(()=>{let i=()=>{o(e(a,{disableHysteresis:n,threshold:s,target:r}));};if(i(),r)return r.addEventListener("scroll",i,{passive:true}),()=>{r.removeEventListener("scroll",i);}},[r,e,n,s]),l}function zn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[s,a]=le.useState(t);return le.useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),s}var Gn=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,s=e?.shallow??true,{refresh:a,abort:l,clear:o,clone:i}=Ke(n)||{},c=q=>{let x=q.states[n]??te;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=s?re(shallow.useShallow(c)):re(c),C=le.useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:l,clear:o,clone:i}],[d,u,h,a,l,o,i]);return e?.selector?e.selector(C):C};var eo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},je=(t,e)=>{let r=false;return le__default.default.Children.forEach(t,n=>{if(le__default.default.isValidElement(n)){let s=n,a=n.type.displayName;(e.includes(a)||s.props?.children&&je(s.props.children,e))&&(r=true);}}),r},to=(t,e)=>{let r={others:[]},n=s=>{le__default.default.Children.forEach(s,a=>{if(le__default.default.isValidElement(a)){let l=a.type.displayName,o=a,i=o.props?.children;e.includes(l)?r[l]=a:i&&je(i,e)?n(o.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function so(){let{format:t}=_();return (e="",r=false)=>ve(e,r,t.number.decSep)}function lo(t,e){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let s=new ResizeObserver(()=>n());return s.observe(t),()=>s.disconnect()},[t,e]),r}var Ce={};function fo(t,e){let[r,n]=le.useState(false),[s,a]=le.useState(),[l,o]=le.useState();return le.useEffect(()=>{if(!t)return;if(Ce[t]){o(()=>Ce[t]);return}n(true),(async()=>{try{let c=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ce[t]=c.default,o(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[t,e.path,e.extension]),{error:s,loading:r,Icon:l}}function go(t){let e=t,r=new Set;function n(){return e}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?e=o(e):e=o,r.forEach(i=>i());}function l(o){let i=le.useRef(o?o(e):e);return le.useSyncExternalStore(s,()=>{let c=o?o(e):e,u=i.current;return Object.is(u,c)||(i.current=c),i.current},()=>o?o(e):e)}return {getSnapshot:n,subscribe:s,setState:a,useStore:l}}function Ie(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],s=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ie(n,s);});}function ho(t){let e={};for(let r in t){let n=t[r];e[r]=(...s)=>{let a=n(...s);return Ie(a,r),a};}return e}function Do(t,e){let[r,n]=le.useState(false),[s,a]=le.useState([]),l=le.useRef([]),o=le.useRef(null);le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let i=async h=>{o.current?.abort();let d=new AbortController;o.current=d,n(true),a([]),l.current=[],t(h,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:d.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},u=()=>{n(false),a([]),l.current=[];};return [s.map(h=>h.data),i,{loading:r,abort:c,reset:u,response:s}]}function So(t,e){let{key:r}=e,[n,s]=le.useState();return le.useEffect(()=>{let a=er.liveQuery(()=>t(r)).subscribe(s);return ()=>a.unsubscribe()},[r]),n}function qo(t,e){let{key:r}=e,[n,s]=le.useState(false);return le.useEffect(()=>{let a=er.liveQuery(async()=>!!await t(r)).subscribe(l=>{s(o=>o!==l?l:o);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:t,version:e=1,table:r}){return ce||(ce=new er__default.default(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function No({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let c=ce.table(t);if(!c)throw new Error(`Table ${t} is not registered in Dexie`);return c};return {table:r,create:async i=>await r().add(i),update:async(i,c)=>await r().update(i,c),put:async(i,c)=>await r().put({...c,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i)}}var jo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=G();return ({url:n,token:s,beforeRequest:a,onCallback:l,headers:o,onUnauthorized:i,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:q,passphrase:x})=>{let M=Et__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:q)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=e(f,w);}catch{try{f=e(f,r);}catch{}}}let T={...l({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,P=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||i;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?s&&(S.Authorization=`Bearer ${s}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=t(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?s:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=t(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:q)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=e(Q,ue);}catch{try{p=e(Q,r);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&c&&!J&&c(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
4
4
|
|
|
5
|
-
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let $=le(V);D({status:!0,data:$,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,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,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function et(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],s=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&et(n,s);});}function tt(e,t,r=""){if(typeof e=="function")return ()=>{let s=e(t);return et(s,r),s};if(!e||typeof e!="object")return e;let n={};for(let s in e){let a=r?`${r}.${s}`:s;n[s]=tt(e[s],t,a);}return n}function ms(e,t){return tt(e,t)}function Rs(e){let t=[...e],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(o=>n(a,o));if(Array.isArray(l.or))return l.or.some(o=>n(a,o));for(let[o,i]of Object.entries(l)){if(o==="and"||o==="or")continue;let{opt:c="eq",value:u,required:R=true}=typeof i=="object"&&i!==null&&"value"in i?i:{value:i};if(!R&&(u==null||u===""))continue;let f=L(a,o,void 0);switch(c){case "eq":if(f!==u)return false;break;case "neq":if(f===u)return false;break;case "gt":if(!(f>u))return false;break;case "gte":if(!(f>=u))return false;break;case "lt":if(!(f<u))return false;break;case "lte":if(!(f<=u))return false;break;case "contains":{if(f==null||u==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "startsWith":if(f==null||u==null||!String(f).startsWith(String(u)))return false;break;case "endsWith":if(f==null||u==null||!String(f).endsWith(String(u)))return false;break;case "in":if(!Array.isArray(u)||!u.includes(f))return false;break;case "notIn":if(Array.isArray(u)&&u.includes(f))return false;break;default:return false}}return true},s={where(a){return a&&(t=t.filter(l=>n(l,a))),s},sort(a){let l=Object.entries(a);return t.sort((o,i)=>{for(let[c,u]of l){let R=L(o,c),f=L(i,c);if(R!==f)return u==="asc"?R>f?1:-1:R<f?1:-1}return 0}),s},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],o=new Set;return t=t.filter(i=>{let c=l.length?l.map(u=>L(i,u)).join("|"):JSON.stringify(i);return o.has(c)?false:(o.add(c),true)}),s},select(a){return t=t.map(l=>{let o={};for(let i of a)o[i]=L(l,i);return o}),s},paginate(a,l){let o=(a-1)*l,i=o+l;return {data:t.slice(o,i),total:t.length,page:a,pageSize:l,totalPages:Math.ceil(t.length/l)}},groupBy(a){let l={};for(let o of t){let i=L(o,a),c=String(i??"undefined");l[c]||(l[c]=[]),l[c].push(o);}return l},map(a){return t=t.map(a),s},reduce(a,l){return t.reduce(a,l)},limit(a){return t=t.slice(0,a),s},get(){return t}};return s}function hs({label:e="",search:t="",bgcolor:r="#337ab7",color:n="#fff"}){let s=[];e||(e="");let a=t?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof e!="string"?s=e.toString().split(new RegExp(`(${a})`,"gi")):s=e.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:s.map((l,o)=>jsxRuntime.jsx("span",{style:l?.toString()?.toLowerCase()===t?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},o))})}var nt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},Ds=["base","sm","md","lg","xl","2xl"];var me={base:0,sm:1,md:2,lg:3,xl:4,"2xl":5};function Tr(e){if(typeof window>"u")return "base";let r=Object.entries(e).filter(([n,s])=>window.matchMedia(`(min-width: ${s})`).matches);return r.length===0?"base":r[r.length-1][0]}function ve(){let{breakpoints:e=nt}=z(),[t,r]=pe.useState(()=>Tr(e));return pe.useEffect(()=>{if(typeof window>"u")return;let a=Object.entries(e).map(([o,i])=>({key:o,query:window.matchMedia(`(min-width: ${i})`)})),l=()=>{let o=a.filter(i=>i.query.matches);r(o.length===0?"base":o[o.length-1].key);};return l(),a.forEach(o=>{typeof o.query.addEventListener=="function"?o.query.addEventListener("change",l):typeof o.query.addListener=="function"&&o.query.addListener(l);}),()=>{a.forEach(o=>{typeof o.query.removeEventListener=="function"?o.query.removeEventListener("change",l):typeof o.query.removeListener=="function"&&o.query.removeListener(l);});}},[e]),{current:t,isMobile:t==="base"||t==="sm",is:{base:t==="base",sm:t==="sm",md:t==="md",lg:t==="lg",xl:t==="xl","2xl":t==="2xl"},up:s=>me[t]>=me[s],down:s=>me[t]<=me[s]}}function ot(e,t=0){let[r,n]=pe.useState(false),s=pe.useRef(null),a=pe.useRef(null),l=pe.useRef(false);return pe.useLayoutEffect(()=>{let o=e.current;if(!o)return;let i=()=>{l.current||(s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{l.current=true,n(true);},t));},c=()=>{let f=o.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,i());};requestAnimationFrame(()=>{c();});let u=new ResizeObserver(()=>{c();}),R=new MutationObserver(()=>{c();});return u.observe(o),R.observe(o,{childList:true,subtree:true,attributes:true}),()=>{s.current&&clearTimeout(s.current),u.disconnect(),R.disconnect();}},[t]),r}function st(e=100){let[t,r]=pe.useState(false);return pe.useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(s=>{for(let a of s.getEntries())a.duration>e&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[e]),t}function at(e,t,r,n){let s=pe.useRef(void 0),a=pe.useRef({x:0,y:0,width:0,visible:true}),l=pe.useRef(r);pe.useEffect(()=>{l.current=r;},[r]),pe.useLayoutEffect(()=>{if(n)return;let o=e.current,i=t.current;if(!o||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let c=false,u=q=>{let U=q;for(;U;){if(window.getComputedStyle(U).display==="none")return false;U=U.parentElement;}return true},R=()=>{if(!o||!i||l.current)return;let q=o.getBoundingClientRect(),U=u(o);a.current={x:q.left,y:q.top,width:q.width,visible:U},U?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${q.left}px, ${q.top}px, 0)`,i.style.width=`${q.width}px`):i.style.display="none";},f=()=>{if(!o||!i||l.current)return;let U=i.getBoundingClientRect().height;o.style.height=`${U}px`,o.style.minHeight=`${U}px`;},C=()=>{c||(c=true,s.current=requestAnimationFrame(()=>{R(),c=false;}));},P=()=>{requestAnimationFrame(()=>{R(),requestAnimationFrame(()=>{f();});});},x=new ResizeObserver(()=>{C();}),M=new ResizeObserver(()=>{requestAnimationFrame(()=>{f(),R();});}),H=new MutationObserver(()=>{C();});x.observe(o),M.observe(i),H.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let F=null,E=()=>{if(!o||!i||l.current)return;let q=i.cloneNode(true);q.removeAttribute("style"),o.innerHTML="",o.appendChild(q),requestAnimationFrame(()=>{i.style.display="none";}),F&&clearTimeout(F),F=setTimeout(()=>{o.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},K=()=>{C();};return i.addEventListener("layout-complete",P),window.addEventListener("scroll",E,{passive:true,capture:true}),window.addEventListener("resize",K,{passive:true}),requestAnimationFrame(()=>{R(),requestAnimationFrame(()=>{f();});}),()=>{s.current&&cancelAnimationFrame(s.current),x.disconnect(),M.disconnect(),H.disconnect(),i.removeEventListener("layout-complete",P),window.removeEventListener("scroll",E),window.removeEventListener("resize",K);}},[n]);}var ct=pe.createContext(null);function Vs(){let e=pe.useContext(ct);if(!e)throw new Error("useExpandable must be used within ExpandableProvider");return e}var qe=({children:e,renderInlineBelow:t,inlineLayout:r})=>{let{ExpandableModalLoader:n,ExpandableModalBackdrop:s,ExpandableModalContent:a}=pe.useMemo(()=>Qe(e,["ExpandableModalLoader","ExpandableModalBackdrop","ExpandableModalContent"]),[e]),[l,o]=pe.useState(false),i=pe.useRef(null),c=pe.useRef(null),{down:u}=ve(),R=u(t),f=ot(c),C=st(100),P=pe.useRef(false),x=pe.useRef(0);pe.useEffect(()=>{f&&x.current<5&&(x.current+=1,P.current=true);},[f]);let M=!f||!P.current&&C;at(i,c,l,R),pe.useEffect(()=>{if(!l)return;let F=window.innerWidth-document.documentElement.clientWidth,E=document.body.style.overflow,K=document.body.style.paddingRight;return document.body.style.overflow="hidden",document.body.style.paddingRight=`${F}px`,()=>{document.body.style.overflow=E,document.body.style.paddingRight=K;}},[l]);let H={open:l,setOpen:o,targetRef:i,sourceRef:c,showLoading:M};return jsxRuntime.jsx(ct.Provider,{value:H,children:R?r:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[M&&n,jsxRuntime.jsx("div",{"data-slot":"target",ref:i}),reactDom.createPortal(jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[s,a]}),document.body)]})})},qr=ue(({children:e})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e}),"ExpandableModalLoader");qe.Loader=qr;var Ur=ue(({children:e})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e}),"ExpandableModalBackdrop");qe.Backdrop=Ur;var Mr=ue(({children:e})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e}),"ExpandableModalContent");qe.Content=Mr;exports.BREAKPOINT_ORDER=Ds;exports.BgsCoreProvider=Et;exports.DataTypeEnum=Kt;exports.Expandable=qe;exports.Highlight=hs;exports.HttpMethod=Ht;exports.TAILWIND_SCREENS=nt;exports.bindApi=ms;exports.capitalizeWords=Ne;exports.createApiHelper=io;exports.createDatabase=ns;exports.createElement=ue;exports.createStore=Ko;exports.createTable=os;exports.debounce=rn;exports.decrypt=he;exports.decryptString=Ie;exports.defaultState=te;exports.diffJson=Jr;exports.encrypt=be;exports.encryptString=je;exports.filterDOMPropsLite=nn;exports.formatBoolean=Ft;exports.formatDate=_t;exports.formatNumber=It;exports.formatString=jt;exports.generateCacheKey=Le;exports.generateUUID=Yr;exports.getApiActions=We;exports.getDateRangeLabelFromSorted=an;exports.getFieldValue=L;exports.getInitials=on;exports.getMinMaxDate=sn;exports.getTotalMinutes=ln;exports.isArray=Gr;exports.isDirtyRaw=Re;exports.isNotEmpty=_;exports.isValidNumber=At;exports.jsonCopy=tn;exports.labelFormatter=Ue;exports.mappingData=cn;exports.mappingUndefinedtoNull=Qr;exports.moment=B;exports.objectToQueryString=St;exports.parseSSEChunk=le;exports.parseStringToNumber=$e;exports.query=Rs;exports.registerApi=ze;exports.renderChildren=Xr;exports.replaceNullStrings=Me;exports.safeUpdate=Nt;exports.sorting=Zr;exports.splitElement=Qe;exports.stableStringify=Ct;exports.summary=en;exports.unregisterApi=Ve;exports.useAnchorPosition=at;exports.useApiLoad=Bt;exports.useApiLoadStore=re;exports.useApiSend=po;exports.useApiStore=Ao;exports.useApiStream=zo;exports.useBgsCore=z;exports.useCpuBusy=st;exports.useCreateApi=fs;exports.useCrypto=G;exports.useDbLive=Jo;exports.useDbLiveFlag=Zo;exports.useDebounce=Ro;exports.useDelay=Fn;exports.useDynamicSvgImport=$o;exports.useElementBounding=Uo;exports.useExpandable=Vs;exports.useFormatted=Wn;exports.useInterval=Qn;exports.useKeyPress=Zn;exports.useLayoutReady=ot;exports.useParseStringToNumber=Eo;exports.useScrollTrigger=mo;exports.useStorage=_e;exports.wrapApi=jo;
|
|
5
|
+
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let L=ae(V);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function _e(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],s=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&_e(n,s);});}function We(t,e,r=""){if(typeof t=="function")return ()=>{let s=t(e);return _e(s,r),s};if(!t||typeof t!="object")return t;let n={};for(let s in t){let a=r?`${r}.${s}`:s;n[s]=We(t[s],e,a);}return n}function zo(t,e){return We(t,e)}function Wo(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(o=>n(a,o));if(Array.isArray(l.or))return l.or.some(o=>n(a,o));for(let[o,i]of Object.entries(l)){if(o==="and"||o==="or")continue;let{opt:c="eq",value:u,required:h=true}=typeof i=="object"&&i!==null&&"value"in i?i:{value:i};if(!h&&(u==null||u===""))continue;let d=N(a,o,void 0);switch(c){case "eq":if(d!==u)return false;break;case "neq":if(d===u)return false;break;case "gt":if(!(d>u))return false;break;case "gte":if(!(d>=u))return false;break;case "lt":if(!(d<u))return false;break;case "lte":if(!(d<=u))return false;break;case "contains":{if(d==null||u==null)return false;if(Array.isArray(d)){if(!d.some(q=>r(q).toLowerCase().includes(r(u).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(q=>r(q).toLowerCase().includes(r(u).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "startsWith":if(d==null||u==null||!String(d).startsWith(String(u)))return false;break;case "endsWith":if(d==null||u==null||!String(d).endsWith(String(u)))return false;break;case "in":if(!Array.isArray(u)||!u.includes(d))return false;break;case "notIn":if(Array.isArray(u)&&u.includes(d))return false;break;default:return false}}return true},s={where(a){return a&&(e=e.filter(l=>n(l,a))),s},sort(a){let l=Object.entries(a);return e.sort((o,i)=>{for(let[c,u]of l){let h=N(o,c),d=N(i,c);if(h!==d)return u==="asc"?h>d?1:-1:h<d?1:-1}return 0}),s},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],o=new Set;return e=e.filter(i=>{let c=l.length?l.map(u=>N(i,u)).join("|"):JSON.stringify(i);return o.has(c)?false:(o.add(c),true)}),s},select(a){return e=e.map(l=>{let o={};for(let i of a)o[i]=N(l,i);return o}),s},paginate(a,l){let o=(a-1)*l,i=o+l;return {data:e.slice(o,i),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let o of e){let i=N(o,a),c=String(i??"undefined");l[c]||(l[c]=[]),l[c].push(o);}return l},map(a){return e=e.map(a),s},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),s},get(){return e}};return s}function Jo({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let s=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?s=t.toString().split(new RegExp(`(${a})`,"gi")):s=t.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:s.map((l,o)=>jsxRuntime.jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},o))})}function es(t,e,r,n){let s=le.useRef(void 0),a=le.useRef({x:0,y:0,width:0,visible:true}),l=le.useRef(r);le.useEffect(()=>{l.current=r;},[r]),le.useLayoutEffect(()=>{if(n)return;let o=t.current,i=e.current;if(!o||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let c=false,u=k=>{let E=k;for(;E;){if(window.getComputedStyle(E).display==="none")return false;E=E.parentElement;}return true},h=()=>{if(!o||!i||l.current)return;let k=o.getBoundingClientRect(),E=u(o);a.current={x:k.left,y:k.top,width:k.width,visible:E},E?(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";},d=()=>{if(!o||!i||l.current)return;let E=i.getBoundingClientRect().height;o.style.height=`${E}px`,o.style.minHeight=`${E}px`;},C=()=>{c||(c=true,s.current=requestAnimationFrame(()=>{h(),c=false;}));},q=()=>{requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{d();});});},x=new ResizeObserver(()=>{C();}),M=new ResizeObserver(()=>{requestAnimationFrame(()=>{d(),h();});}),F=new MutationObserver(()=>{C();});x.observe(o),M.observe(i),F.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let B=null,U=()=>{if(!o||!i||l.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),o.innerHTML="",o.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),B&&clearTimeout(B),B=setTimeout(()=>{o.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},K=()=>{C();};return i.addEventListener("layout-complete",q),window.addEventListener("scroll",U,{passive:true,capture:true}),window.addEventListener("resize",K,{passive:true}),requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{d();});}),()=>{s.current&&cancelAnimationFrame(s.current),x.disconnect(),M.disconnect(),F.disconnect(),i.removeEventListener("layout-complete",q),window.removeEventListener("scroll",U),window.removeEventListener("resize",K);}},[n]);}function ns(t=100){let[e,r]=le.useState(false);return le.useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(s=>{for(let a of s.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function is(t,e=0){let[r,n]=le.useState(false),s=le.useRef(null),a=le.useRef(null),l=le.useRef(false);return le.useLayoutEffect(()=>{let o=t.current;if(!o)return;let i=()=>{l.current||(s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{l.current=true,n(true);},e));},c=()=>{let d=o.getBoundingClientRect();if(d.width===0||d.height===0)return;let C=a.current,q={w:d.width,h:d.height};(!C||C.w!==q.w||C.h!==q.h)&&(a.current=q,i());};requestAnimationFrame(()=>{c();});let u=new ResizeObserver(()=>{c();}),h=new MutationObserver(()=>{c();});return u.observe(o),h.observe(o,{childList:true,subtree:true,attributes:true}),()=>{s.current&&clearTimeout(s.current),u.disconnect(),h.disconnect();}},[e]),r}exports.BgsCoreProvider=yt;exports.DataTypeEnum=St;exports.Highlight=Jo;exports.HttpMethod=At;exports.bindApi=zo;exports.capitalizeWords=qe;exports.createApiHelper=Mn;exports.createDatabase=Eo;exports.createElement=eo;exports.createStore=go;exports.createTable=No;exports.debounce=vr;exports.decrypt=me;exports.decryptString=$e;exports.defaultState=te;exports.diffJson=Cr;exports.encrypt=de;exports.encryptString=Me;exports.filterDOMPropsLite=Ur;exports.formatBoolean=wt;exports.formatDate=qt;exports.formatNumber=Pt;exports.formatString=Ot;exports.generateCacheKey=Pe;exports.generateUUID=xr;exports.getApiActions=Ke;exports.getDateRangeLabelFromSorted=Nr;exports.getFieldValue=N;exports.getInitials=kr;exports.getMinMaxDate=Er;exports.getTotalMinutes=Mr;exports.isArray=Sr;exports.isDirtyRaw=fe;exports.isNotEmpty=z;exports.isValidNumber=ct;exports.jsonCopy=qr;exports.labelFormatter=we;exports.mappingData=$r;exports.mappingUndefinedtoNull=Ar;exports.moment=H;exports.objectToQueryString=ut;exports.parseSSEChunk=ae;exports.parseStringToNumber=ve;exports.query=Wo;exports.registerApi=He;exports.renderChildren=wr;exports.replaceNullStrings=Oe;exports.safeUpdate=Dt;exports.sorting=Or;exports.splitElement=to;exports.stableStringify=lt;exports.summary=Pr;exports.unregisterApi=Fe;exports.useAnchorPosition=es;exports.useApiLoad=Ct;exports.useApiLoadStore=re;exports.useApiSend=Hn;exports.useApiStore=Gn;exports.useApiStream=Do;exports.useBgsCore=_;exports.useCpuBusy=ns;exports.useCreateApi=jo;exports.useCrypto=G;exports.useDbLive=So;exports.useDbLiveFlag=qo;exports.useDebounce=zn;exports.useDelay=yn;exports.useDynamicSvgImport=fo;exports.useElementBounding=lo;exports.useFormatted=Dn;exports.useInterval=An;exports.useKeyPress=On;exports.useLayoutReady=is;exports.useParseStringToNumber=so;exports.useScrollTrigger=Bn;exports.useStorage=Le;exports.wrapApi=ho;
|
package/dist/index.d.cts
CHANGED
|
@@ -807,51 +807,8 @@ interface HighlightProps {
|
|
|
807
807
|
}
|
|
808
808
|
declare function Highlight({ label, search, bgcolor, color }: HighlightProps): react_jsx_runtime.JSX.Element;
|
|
809
809
|
|
|
810
|
-
declare const TAILWIND_SCREENS: {
|
|
811
|
-
readonly sm: "640px";
|
|
812
|
-
readonly md: "768px";
|
|
813
|
-
readonly lg: "1024px";
|
|
814
|
-
readonly xl: "1280px";
|
|
815
|
-
readonly "2xl": "1536px";
|
|
816
|
-
};
|
|
817
|
-
type TailwindBreakpoint = keyof typeof TAILWIND_SCREENS;
|
|
818
|
-
declare const BREAKPOINT_ORDER: (TailwindBreakpoint | "base")[];
|
|
819
|
-
|
|
820
|
-
interface ExpandableContextData {
|
|
821
|
-
showLoading: boolean;
|
|
822
|
-
open: boolean;
|
|
823
|
-
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
824
|
-
targetRef: RefObject<HTMLDivElement | null>;
|
|
825
|
-
sourceRef: RefObject<HTMLDivElement | null>;
|
|
826
|
-
}
|
|
827
|
-
declare function useExpandable(): ExpandableContextData;
|
|
828
|
-
interface ExpandableProps {
|
|
829
|
-
renderInlineBelow: TailwindBreakpoint | "base";
|
|
830
|
-
inlineLayout: React.ReactNode;
|
|
831
|
-
}
|
|
832
|
-
declare const Expandable: {
|
|
833
|
-
({ children, renderInlineBelow, inlineLayout }: PropsWithChildren<ExpandableProps>): react_jsx_runtime.JSX.Element;
|
|
834
|
-
Loader: React$1.FC<{
|
|
835
|
-
children?: React$1.ReactNode | undefined;
|
|
836
|
-
}>;
|
|
837
|
-
Backdrop: React$1.FC<{
|
|
838
|
-
children?: React$1.ReactNode | undefined;
|
|
839
|
-
}>;
|
|
840
|
-
Content: React$1.FC<{
|
|
841
|
-
children?: React$1.ReactNode | undefined;
|
|
842
|
-
}>;
|
|
843
|
-
};
|
|
844
|
-
|
|
845
810
|
declare function useAnchorPosition(targetRef: RefObject<HTMLDivElement | null>, sourceRef: RefObject<HTMLDivElement | null>, isModalOpen: boolean, disabled: boolean): void;
|
|
846
811
|
|
|
847
|
-
type BreakpointState = {
|
|
848
|
-
current: TailwindBreakpoint | "base";
|
|
849
|
-
is: Record<TailwindBreakpoint | "base", boolean>;
|
|
850
|
-
up: (bp: TailwindBreakpoint | "base") => boolean;
|
|
851
|
-
down: (bp: TailwindBreakpoint | "base") => boolean;
|
|
852
|
-
isMobile: boolean;
|
|
853
|
-
};
|
|
854
|
-
|
|
855
812
|
declare function useCpuBusy(thresholdMs?: number): boolean;
|
|
856
813
|
|
|
857
814
|
declare function useLayoutReady(ref: RefObject<HTMLElement | null>, settleMs?: number): boolean;
|
|
@@ -869,7 +826,6 @@ type FormatContextProps = {
|
|
|
869
826
|
number: OptionsNumberProps;
|
|
870
827
|
};
|
|
871
828
|
type BgsCoreProps = {
|
|
872
|
-
breakpoints?: Record<TailwindBreakpoint, string>;
|
|
873
829
|
localeConfig?: {
|
|
874
830
|
preset?: string | ILocale;
|
|
875
831
|
object?: Partial<ILocale>;
|
|
@@ -888,4 +844,4 @@ interface BgsCoreProviderProps {
|
|
|
888
844
|
}
|
|
889
845
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
890
846
|
|
|
891
|
-
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,
|
|
847
|
+
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
package/dist/index.d.ts
CHANGED
|
@@ -807,51 +807,8 @@ interface HighlightProps {
|
|
|
807
807
|
}
|
|
808
808
|
declare function Highlight({ label, search, bgcolor, color }: HighlightProps): react_jsx_runtime.JSX.Element;
|
|
809
809
|
|
|
810
|
-
declare const TAILWIND_SCREENS: {
|
|
811
|
-
readonly sm: "640px";
|
|
812
|
-
readonly md: "768px";
|
|
813
|
-
readonly lg: "1024px";
|
|
814
|
-
readonly xl: "1280px";
|
|
815
|
-
readonly "2xl": "1536px";
|
|
816
|
-
};
|
|
817
|
-
type TailwindBreakpoint = keyof typeof TAILWIND_SCREENS;
|
|
818
|
-
declare const BREAKPOINT_ORDER: (TailwindBreakpoint | "base")[];
|
|
819
|
-
|
|
820
|
-
interface ExpandableContextData {
|
|
821
|
-
showLoading: boolean;
|
|
822
|
-
open: boolean;
|
|
823
|
-
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
824
|
-
targetRef: RefObject<HTMLDivElement | null>;
|
|
825
|
-
sourceRef: RefObject<HTMLDivElement | null>;
|
|
826
|
-
}
|
|
827
|
-
declare function useExpandable(): ExpandableContextData;
|
|
828
|
-
interface ExpandableProps {
|
|
829
|
-
renderInlineBelow: TailwindBreakpoint | "base";
|
|
830
|
-
inlineLayout: React.ReactNode;
|
|
831
|
-
}
|
|
832
|
-
declare const Expandable: {
|
|
833
|
-
({ children, renderInlineBelow, inlineLayout }: PropsWithChildren<ExpandableProps>): react_jsx_runtime.JSX.Element;
|
|
834
|
-
Loader: React$1.FC<{
|
|
835
|
-
children?: React$1.ReactNode | undefined;
|
|
836
|
-
}>;
|
|
837
|
-
Backdrop: React$1.FC<{
|
|
838
|
-
children?: React$1.ReactNode | undefined;
|
|
839
|
-
}>;
|
|
840
|
-
Content: React$1.FC<{
|
|
841
|
-
children?: React$1.ReactNode | undefined;
|
|
842
|
-
}>;
|
|
843
|
-
};
|
|
844
|
-
|
|
845
810
|
declare function useAnchorPosition(targetRef: RefObject<HTMLDivElement | null>, sourceRef: RefObject<HTMLDivElement | null>, isModalOpen: boolean, disabled: boolean): void;
|
|
846
811
|
|
|
847
|
-
type BreakpointState = {
|
|
848
|
-
current: TailwindBreakpoint | "base";
|
|
849
|
-
is: Record<TailwindBreakpoint | "base", boolean>;
|
|
850
|
-
up: (bp: TailwindBreakpoint | "base") => boolean;
|
|
851
|
-
down: (bp: TailwindBreakpoint | "base") => boolean;
|
|
852
|
-
isMobile: boolean;
|
|
853
|
-
};
|
|
854
|
-
|
|
855
812
|
declare function useCpuBusy(thresholdMs?: number): boolean;
|
|
856
813
|
|
|
857
814
|
declare function useLayoutReady(ref: RefObject<HTMLElement | null>, settleMs?: number): boolean;
|
|
@@ -869,7 +826,6 @@ type FormatContextProps = {
|
|
|
869
826
|
number: OptionsNumberProps;
|
|
870
827
|
};
|
|
871
828
|
type BgsCoreProps = {
|
|
872
|
-
breakpoints?: Record<TailwindBreakpoint, string>;
|
|
873
829
|
localeConfig?: {
|
|
874
830
|
preset?: string | ILocale;
|
|
875
831
|
object?: Partial<ILocale>;
|
|
@@ -888,4 +844,4 @@ interface BgsCoreProviderProps {
|
|
|
888
844
|
}
|
|
889
845
|
declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
|
|
890
846
|
|
|
891
|
-
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,
|
|
847
|
+
export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiHelperBase, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type BoundingSize, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateDatabaseProps, type CreateElementProps, type CreateTableProps, type DataSource, type DataType, type DataTypeDateGroup, DataTypeEnum, type Depth, type EncryptedPayload, Highlight, type HighlightProps, HttpMethod, type MappingDataReturn, type NestedKeyOf, type OptionsBoolean, type OptionsCallReturn, type OptionsDate, type OptionsHelper, type OptionsNumber, type OptionsNumberProps, type OptionsString, type PaginationMeta, type PathValue, type QueryApi, type QueryCondition, type QueryFilterOption, type QueryOperator, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseFormattedOptions, type UseHelperProps, type UseScrollTriggerOptions, bindApi, capitalizeWords, createApiHelper, createDatabase, createElement, createStore, createTable, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, formatBoolean, formatDate, formatNumber, formatString, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, query, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useAnchorPosition, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCpuBusy, useCreateApi, useCrypto, useDbLive, useDbLiveFlag, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useLayoutReady, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import pe,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import dt from'dayjs/plugin/utc';import mt from'dayjs/plugin/timezone';import yt from'dayjs/plugin/duration';import gt from'dayjs/plugin/advancedFormat';import Rt from'dayjs/plugin/localizedFormat';import bt from'dayjs/plugin/relativeTime';import ht from'dayjs/plugin/isSameOrBefore';import Tt from'dayjs/plugin/isSameOrAfter';import xt from'dayjs/plugin/weekOfYear';import Dt from'dayjs/plugin/customParseFormat';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Ke from'crypto-js/aes';import Fe from'crypto-js/pbkdf2';import qt from'crypto-js/enc-utf8';import ce from'crypto-js/enc-base64';import He from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Yt from'axios';import yr,{liveQuery}from'dexie';import {createPortal}from'react-dom';I.extend(dt);I.extend(mt);I.extend(yt);I.extend(gt);I.extend(Rt);I.extend(bt);I.extend(ht);I.extend(Tt);I.extend(xt);I.extend(Dt);var B=I;function Yr(){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 Jr(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 Gr(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 _(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 Ue={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,s)=>s.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=Ue.snackCase(Ue.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Xr(e,t){return typeof e=="function"?e(t):e}var L=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Zr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=L(r,t)?L(r,t):"",a=L(n,t)?L(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=L(r,t)?L(r,t):"",a=L(n,t)?L(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},en=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?L(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function tn(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ct(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function Le(e,t){return Ct([t??"undefined",e??"undefined"])}function Ne(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function rn(e,t=0){let r,n=function(...s){clearTimeout(r),r=setTimeout(()=>{e(...s);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var le=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function Re(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 At(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&Re(n,r))return true}return false}function $e(e="",t=false,r="."){if(!At(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var wt=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 nn(e){let t={};for(let r in e)wt.has(r)&&(t[r]=e[r]);return t}function on(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function sn(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(B).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function an(e,t){let r=B(e),n=B(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function ln(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=B(e,"HH:mm",true),n=B(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var cn=(e=[],t="label",r="value",n,s=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((i,c)=>{if(typeof i!="object"){let u=typeof t=="function"?t(i,c):i,R=typeof r=="function"?r(i,c):i;return {label:u,value:R,index:c,rowData:i}}else {let u=typeof t=="function"?t(i,c):L(i,t,""),R=typeof r=="function"?r(i,c):L(i,r,"");return {label:u,value:typeof R=="boolean"?R:R||"",index:c,rowData:i}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],o=new Map;for(let i of a){let c=i.rowData,u=l.map(f=>String(typeof c=="object"?L(c,f,"")??"":"")).join(s),R=o.get(u)||[];R.push(i),o.set(u,R);}return [Array.from(o.entries()).map(([i,c])=>({group:i,items:c})),a]};function St(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let s=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!_(s))continue;Array.isArray(s)?s.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof s=="object"&&s!==null?r.push(St(s,a)):r.push(`${a}=${encodeURIComponent(s)}`);}return r.join("&")}function Me(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Me(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Me(e[t]));return e}var Be=createContext(void 0);function z(){let e=useContext(Be);return e||{}}var Et=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:l}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&B.locale(s,a??{},l);}})();},[t.localeConfig]),jsx(Be.Provider,{value:r,children:e})};function be(e,t){let r=He.random(16),n=He.random(16),s=Fe(t,r,{keySize:256/32,iterations:1e3}),a=Ke.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(ce),iv:n.toString(ce),encrypted:a}}function he(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Fe(t,ce.parse(r),{keySize:256/32,iterations:1e3}),o=Ke.decrypt(s,a,{iv:ce.parse(n)}).toString(qt);return JSON.parse(o)}function je(e,t){return JSON.stringify(be(e,t))}function Ie(e,t){return he(JSON.parse(e),t)}function G(){let{passphrase:e}=z();return {passphrase:e,encrypt(t,r){return be(t,r||e)},decrypt(t,r){return he(t,r||e)},encryptString(t,r){return je(t,r||e)},decryptString(t,r){return Ie(t,r||e)}}}var _e=()=>{let{encrypt:e,decrypt:t}=G(),r=useCallback((l,o)=>{try{let i=e(o);localStorage.setItem(l,JSON.stringify(i));}catch(i){console.error("Failed to save to storage:",i);}},[e]),n=useCallback(l=>{try{let o=localStorage.getItem(l);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=l=>{let[o,i]=useState(()=>{try{let c=localStorage.getItem(l);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=u=>{if(u.key===l)if(u.newValue)try{i(t(JSON.parse(u.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else i(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[l,t]),o},a=useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Nt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(s);if(a!==l)return false}else if(n!==s)return false}return true}var te={loading:false,response:void 0,isCancel:false},re=create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??te,a={...s,...n};Nt(s,a)||e(l=>({states:{...l.states,[r]:a}}));}}));var xe=new Map,ze=(e,t)=>{xe.set(e,t);},Ve=e=>{xe.delete(e);},We=e=>xe.get(e);function Bt(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,l=s?void 0:r,o=s?r:n,i=o?.storeName||`${a}`,c=o?.mergeStrategy??"replace",[u,R,f,C]=re(useShallow(w=>{let h=w.states[i]??te;return [h.loading,h.isCancel,h.response,w.updateState]})),{storageKey:P,cache:x,clearPreviousData:M,refetchOnWindowFocus:H}=z(),F=_e(),E=useRef(void 0),K=useRef(null),{cacheName:q,cacheKey:U,timeout:X,timeoutUnit:ae,persistence:ie,cacheEnabled:Z}=useMemo(()=>{let w=P?F.get(P):void 0,h=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,T=Le({...l,session:w},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let v=false;typeof x?.persistence=="boolean"&&(v=x?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(v=o?.cache?.persistence??false);let S=60*5,N="s";return _(x?.timeout)&&(typeof x?.timeout=="number"?(S=x.timeout,N="s"):typeof x?.timeout=="object"&&(S=x?.timeout.value,N=x?.timeout.unit)),_(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?g=o.cache.enabled:g=true,typeof o?.cache?.timeout=="number"?(S=o.cache.timeout,N="s"):typeof o?.cache?.timeout=="object"&&(S=o.cache.timeout.value,N=o.cache.timeout.unit)):g=o.cache),{cacheName:h,cacheKey:T,timeout:S,timeoutUnit:N,persistence:v,cacheEnabled:g}},[o?.cache,l,P,x,a]);useEffect(()=>{let w=JSON.stringify(_(E.current)?E.current:""),h=JSON.stringify(_(l)?l:""),T=E.current===void 0;(w!==h||T)&&!o?.hold&&((o?.clearPreviousData??M)&&C(i,{response:null}),A(),E.current=l),o?.onChange&&o?.onChange(l,d);},[l,o?.clearPreviousData,M,o?.hold,...o?.trigger||[]]),useEffect(()=>{let w=async()=>{!ie&&q&&U&&(await caches.open(q)).delete(U);};return window.addEventListener("beforeunload",w),()=>{window.removeEventListener("beforeunload",w),K.current?.abort();}},[ie,q,U,i,K]);let A=useCallback(async w=>{let h=l;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(h=o?.beforeRequest(l)),Z&&!w&&!R){o?.onBeforeRequest&&o?.onBeforeRequest(l);let T=await caches.open(q),v=await(await T.match(U))?.json();if(v){let{data:S,expired:N}=v;if(B().isAfter(N))await T.delete(U);else {o?.afterResponse&&S?.data&&(S.data=o?.afterResponse(S.data,h)),o?.logging&&console.log("After request: Using Cache",S),S?.status&&o?.onSuccess?.(S,h),o?.onAfterResponse?.(S,h),C(i,{loading:false,response:S});return}}}if(typeof t=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(i,{loading:true}),o?.logging&&console.log("Before request",l),o?.onBeforeRequest&&o?.onBeforeRequest(l);let g=s?await t(void 0,{...o,signal:T.signal}):await t(h,void 0,{...o,signal:T.signal});if(g.__rawData=g.data,c==="append"&&_(f.__rawData)&&_(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let v=[...f?.__rawData??[],...g.data??[]];g.data=v,g.__rawData=v;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let v={...f.__rawData,...g.data};g.data=v,g.__rawData=v;}}if(o?.afterResponse&&g?.data&&(g.data=o?.afterResponse(g.data,h)),o?.logging&&console.log("After request",g),g.status&&o?.onSuccess?.(g,h),g.status||o?.onError?.(g,h),o?.onAfterResponse?.(g,h),C(i,{loading:false,response:g,isCancel:false}),Z&&g.status){let v=B().add(X,ae).toISOString(),S={data:g,expired:v},N=await caches.open(q),W=new Response(JSON.stringify(S));await N.put(U,W);}}},[l,t,o,R,q,U,X,ae,Z,f]);useEffect(()=>{if(o?.refreshInterval){let w=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,h=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,T=setInterval(()=>{A();},B.duration(w,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[o?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:b,timeoutRefetch:p,timeoutUnitRefetch:D}=useMemo(()=>{let w=o?.refetchOnWindowFocus?.enabled??H?.enabled??false,h=o?.refetchOnWindowFocus?.timeout??H?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:w,timeoutRefetch:T,timeoutUnitRefetch:g}},[o?.refetchOnWindowFocus,H]);useEffect(()=>{if(!b||o?.hold)return;let w=B.duration(p,D).asMilliseconds(),h=()=>{let g=Date.now(),v=y.current;v!==null&&g-v>=w&&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,p,D,A,o?.hold]);let m=useCallback(()=>{K.current?.abort(),K.current=null,C(i,{loading:false,isCancel:true});},[i,K]),O=useCallback(()=>{C(i,{loading:false,response:null});},[i]),d=useMemo(()=>({...f,loading:u,refresh:A,abort:m,clear:O,response:f,isCancel:R,clone:(w,h)=>Bt(t,w,{storeName:`${a}-clone`,...h})}),[f,u,A,m,O,R,t]);return useEffect(()=>(ze(i,d),()=>{Ve(i);}),[d,i]),[f?.data,d]}async function Fn(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var Ht=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Ht||{}),Kt=(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))(Kt||{});var Wn=()=>{let{format:e}=z();return (t,r,n)=>{try{return r==="number"?It(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===r)?_t(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?Ft(t,n):r==="string"?jt(t,n):t?.toString()}catch{return}}};function Ft(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function jt(e,t){if(!_(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=Ne(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 It(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let R=String(e??"").trim().trim();if(Re(R,r))return R}if(e==null||isNaN(Number(e)))return "";let l=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let u=Math.pow(10,n);l=Math[s](l*u)/u;}else l=Math[s](l);else if(typeof n=="number"){let u=Math.pow(10,n);l=Math.trunc(l*u)/u;}let o=0;if(n==="auto"){let u=l.toString(),R=u.indexOf(".");R!==-1&&(o=u.length-R-1);}let i={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function _t(e,{display:t,value:r}){if(!_(e))return e;let n=B(e,r);return n.isValid()?n.format(t):e}function Qn(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Zn(e,t,r){let[n,s]=useState(false),a=(c,u)=>typeof e=="string"&&c===e||typeof e=="number"&&u===e,l=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:u,keyCode:R}=c,f=c.ctrlKey,C=c.altKey,P=c.shiftKey;if(!l(document.activeElement))if(t)if(typeof t=="string")a(u,R)&&(t==="ctrl"&&f||t==="alt"&&C||t==="shift"&&P)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let x=t.every(M=>M==="ctrl"?f:M==="alt"?C:M==="shift"?P:false);a(u,R)&&x&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(u,R)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},i=({key:c,keyCode:u})=>{a(c,u)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",i);}),[]),n}var io=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:o,disabledToastWhenCancel:i,withCredentials:c,encryptRequest:u,encryptResponse:R,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=G(),M=Yt.create({baseURL:`${e}`,headers:{"Content-Type":"application/json",...s}}),H=(y,b,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:R)&&d){let S=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:f;try{d=P(d,S);}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 p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:i,v=o?o(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!v&&(!m||!p?.disabledHandleUnauthorized)){let S=p?.onUnauthorized||a;S&&S(T);}if(typeof b=="function")b(T);else return T},F=(y,b=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(b).catch(p=>b(p.response,p)),E=(y,b,p,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},w={...d.headers};if(d.token&&(typeof d.token=="boolean"?t&&(w.Authorization=`Bearer ${t}`):d.token&&(w.Authorization=`Bearer ${d.token}`)),r&&(p=r(p)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;p=C(p,T);}return F({url:b,method:y,data:p,headers:w,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:F,post:(y,b,p,D)=>E("POST",`${y}`,b,p,D),put:(y,b,p,D)=>E("PUT",`${y}`,b,p,D),patch:(y,b,p,D)=>E("PATCH",`${y}`,b,p,D),delete:(y,b,p)=>E("DELETE",`${y}`,null,b,p),get:(y,b,p)=>E("GET",`${y}`,null,b,p),upload:(y,b,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,p,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},w={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?t:d.token;k&&(w.Authorization=`Bearer ${k}`);}let h=p;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:u)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,k);}let g=await fetch(`${e}${b}`,{method:y,headers:w,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),v=g?.status,S=v===401;if(!g.ok){let k=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",$=await g.clone().text();if($)if(V.includes("application/json"))try{let Q=JSON.parse($);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:R)&&p){let ge=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{p=P(Q,ge);}catch{try{p=P(Q,x);}catch{}}}k=Q?.message||k;}catch{k=$;}else k=$;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:i,j={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!0};m?.infoError&&l&&!J&&l(j),D(j);return}let N=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:k,value:J}=await N.read();ee=k,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
1
|
+
import le,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useLayoutEffect,useSyncExternalStore}from'react';import I from'dayjs';import Xe from'dayjs/plugin/utc';import Ze from'dayjs/plugin/timezone';import et from'dayjs/plugin/duration';import tt from'dayjs/plugin/advancedFormat';import rt from'dayjs/plugin/localizedFormat';import nt from'dayjs/plugin/relativeTime';import ot from'dayjs/plugin/isSameOrBefore';import st from'dayjs/plugin/isSameOrAfter';import at from'dayjs/plugin/weekOfYear';import it from'dayjs/plugin/customParseFormat';import {jsx,Fragment}from'react/jsx-runtime';import Ee from'crypto-js/aes';import Ne from'crypto-js/pbkdf2';import Rt from'crypto-js/enc-utf8';import ie from'crypto-js/enc-base64';import ke from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Et from'axios';import er,{liveQuery}from'dexie';I.extend(Xe);I.extend(Ze);I.extend(et);I.extend(tt);I.extend(rt);I.extend(nt);I.extend(ot);I.extend(st);I.extend(at);I.extend(it);var H=I;function xr(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Cr(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Ar=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Sr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function z(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wr(t,e){return typeof t=="function"?t(e):t}var N=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Or={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(r,e):"";return s<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=N(r,e)?N(r,e):"",a=N(n,e)?N(n,e):"";return s>a?1:-1}else return r>n?1:-1}))},Pr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?N(n,e)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function qr(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function lt(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function Pe(t,e){return lt([e??"undefined",t??"undefined"])}function qe(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function vr(t,e=0){let r,n=function(...s){clearTimeout(r),r=setTimeout(()=>{t(...s);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function fe(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ct(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||e&&fe(n,r))return true}return false}function ve(t="",e=false,r="."){if(!ct(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var pt=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Ur(t){let e={};for(let r in t)pt.has(r)&&(e[r]=t[r]);return e}function kr(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Er(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Nr(t,e){let r=H(t),n=H(e),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function Mr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var $r=(t=[],e="label",r="value",n,s=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((i,c)=>{if(typeof i!="object"){let u=typeof e=="function"?e(i,c):i,h=typeof r=="function"?r(i,c):i;return {label:u,value:h,index:c,rowData:i}}else {let u=typeof e=="function"?e(i,c):N(i,e,""),h=typeof r=="function"?r(i,c):N(i,r,"");return {label:u,value:typeof h=="boolean"?h:h||"",index:c,rowData:i}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],o=new Map;for(let i of a){let c=i.rowData,u=l.map(d=>String(typeof c=="object"?N(c,d,"")??"":"")).join(s),h=o.get(u)||[];h.push(i),o.set(u,h);}return [Array.from(o.entries()).map(([i,c])=>({group:i,items:c})),a]};function ut(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let s=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!z(s))continue;Array.isArray(s)?s.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof s=="object"&&s!==null?r.push(ut(s,a)):r.push(`${a}=${encodeURIComponent(s)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var Ue=createContext(void 0);function _(){let t=useContext(Ue);return t||{}}var yt=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:l}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&H.locale(s,a??{},l);}})();},[e.localeConfig]),jsx(Ue.Provider,{value:r,children:t})};function de(t,e){let r=ke.random(16),n=ke.random(16),s=Ne(e,r,{keySize:256/32,iterations:1e3}),a=Ee.encrypt(JSON.stringify(t),s,{iv:n}).toString();return {salt:r.toString(ie),iv:n.toString(ie),encrypted:a}}function me(t,e){let{salt:r,iv:n,encrypted:s}=t,a=Ne(e,ie.parse(r),{keySize:256/32,iterations:1e3}),o=Ee.decrypt(s,a,{iv:ie.parse(n)}).toString(Rt);return JSON.parse(o)}function Me(t,e){return JSON.stringify(de(t,e))}function $e(t,e){return me(JSON.parse(t),e)}function G(){let{passphrase:t}=_();return {passphrase:t,encrypt(e,r){return de(e,r||t)},decrypt(e,r){return me(e,r||t)},encryptString(e,r){return Me(e,r||t)},decryptString(e,r){return $e(e,r||t)}}}var Le=()=>{let{encrypt:t,decrypt:e}=G(),r=useCallback((l,o)=>{try{let i=t(o);localStorage.setItem(l,JSON.stringify(i));}catch(i){console.error("Failed to save to storage:",i);}},[t]),n=useCallback(l=>{try{let o=localStorage.getItem(l);return o?e(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[e]),s=l=>{let[o,i]=useState(()=>{try{let c=localStorage.getItem(l);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=u=>{if(u.key===l)if(u.newValue)try{i(e(JSON.parse(u.newValue)));}catch(h){console.error("Decrypt error from storage event",h);}else i(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[l,e]),o},a=useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Dt(t,e){for(let r in e){let n=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(s);if(a!==l)return false}else if(n!==s)return false}return true}var te={loading:false,response:void 0,isCancel:false},re=create((t,e)=>({states:{},updateState:(r,n)=>{let s=e().states[r]??te,a={...s,...n};Dt(s,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var ge=new Map,He=(t,e)=>{ge.set(t,e);},Fe=t=>{ge.delete(t);},Ke=t=>ge.get(t);function Ct(...t){let[e,r,n]=t,s=e.__isVoid,a=e.__path||e.name,l=s?void 0:r,o=s?r:n,i=o?.storeName||`${a}`,c=o?.mergeStrategy??"replace",[u,h,d,C]=re(useShallow(S=>{let b=S.states[i]??te;return [b.loading,b.isCancel,b.response,S.updateState]})),{storageKey:q,cache:x,clearPreviousData:M,refetchOnWindowFocus:F}=_(),B=Le(),U=useRef(void 0),K=useRef(null),{cacheName:k,cacheKey:E,timeout:X,timeoutUnit:oe,persistence:se,cacheEnabled:Z}=useMemo(()=>{let S=q?B.get(q):void 0,b=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,T=Pe({...l,session:S},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let P=false;typeof x?.persistence=="boolean"&&(P=x?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let w=60*5,$="s";return z(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),z(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?g=o.cache.enabled:g=true,typeof o?.cache?.timeout=="number"?(w=o.cache.timeout,$="s"):typeof o?.cache?.timeout=="object"&&(w=o.cache.timeout.value,$=o.cache.timeout.unit)):g=o.cache),{cacheName:b,cacheKey:T,timeout:w,timeoutUnit:$,persistence:P,cacheEnabled:g}},[o?.cache,l,q,x,a]);useEffect(()=>{let S=JSON.stringify(z(U.current)?U.current:""),b=JSON.stringify(z(l)?l:""),T=U.current===void 0;(S!==b||T)&&!o?.hold&&((o?.clearPreviousData??M)&&C(i,{response:null}),A(),U.current=l),o?.onChange&&o?.onChange(l,f);},[l,o?.clearPreviousData,M,o?.hold,...o?.trigger||[]]),useEffect(()=>{let S=async()=>{!se&&k&&E&&(await caches.open(k)).delete(E);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),K.current?.abort();}},[se,k,E,i,K]);let A=useCallback(async S=>{let b=l;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(b=o?.beforeRequest(l)),Z&&!S&&!h){o?.onBeforeRequest&&o?.onBeforeRequest(l);let T=await caches.open(k),P=await(await T.match(E))?.json();if(P){let{data:w,expired:$}=P;if(H().isAfter($))await T.delete(E);else {o?.afterResponse&&w?.data&&(w.data=o?.afterResponse(w.data,b)),o?.logging&&console.log("After request: Using Cache",w),w?.status&&o?.onSuccess?.(w,b),o?.onAfterResponse?.(w,b),C(i,{loading:false,response:w});return}}}if(typeof e=="function"){K.current?.abort();let T=new AbortController;K.current=T,C(i,{loading:true}),o?.logging&&console.log("Before request",l),o?.onBeforeRequest&&o?.onBeforeRequest(l);let g=s?await e(void 0,{...o,signal:T.signal}):await e(b,void 0,{...o,signal:T.signal});if(g.__rawData=g.data,c==="append"&&z(d.__rawData)&&z(g?.data)){if(Array.isArray(d.__rawData)&&Array.isArray(g?.data)){let P=[...d?.__rawData??[],...g.data??[]];g.data=P,g.__rawData=P;}else if(typeof d.__rawData=="object"&&typeof g.data=="object"){let P={...d.__rawData,...g.data};g.data=P,g.__rawData=P;}}if(o?.afterResponse&&g?.data&&(g.data=o?.afterResponse(g.data,b)),o?.logging&&console.log("After request",g),g.status&&o?.onSuccess?.(g,b),g.status||o?.onError?.(g,b),o?.onAfterResponse?.(g,b),C(i,{loading:false,response:g,isCancel:false}),Z&&g.status){let P=H().add(X,oe).toISOString(),w={data:g,expired:P},$=await caches.open(k),W=new Response(JSON.stringify(w));await $.put(E,W);}}},[l,e,o,h,k,E,X,oe,Z,d]);useEffect(()=>{if(o?.refreshInterval){let S=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,b=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,b).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[o?.refreshInterval,A]);let y=useRef(null),{enabledRefetch:R,timeoutRefetch:p,timeoutUnitRefetch:D}=useMemo(()=>{let S=o?.refetchOnWindowFocus?.enabled??F?.enabled??false,b=o?.refetchOnWindowFocus?.timeout??F?.timeout,T=typeof b=="number"?b:b?.value??60*5,g=typeof b=="object"?b.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[o?.refetchOnWindowFocus,F]);useEffect(()=>{if(!R||o?.hold)return;let S=H.duration(p,D).asMilliseconds(),b=()=>{let g=Date.now(),P=y.current;P!==null&&g-P>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",b),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",b),window.removeEventListener("blur",T);}},[R,p,D,A,o?.hold]);let m=useCallback(()=>{K.current?.abort(),K.current=null,C(i,{loading:false,isCancel:true});},[i,K]),O=useCallback(()=>{C(i,{loading:false,response:null});},[i]),f=useMemo(()=>({...d,loading:u,refresh:A,abort:m,clear:O,response:d,isCancel:h,clone:(S,b)=>Ct(e,S,{storeName:`${a}-clone`,...b})}),[d,u,A,m,O,h,e]);return useEffect(()=>(He(i,f),()=>{Fe(i);}),[f,i]),[d?.data,f]}async function yn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var At=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(At||{}),St=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(St||{});var Dn=()=>{let{format:t}=_();return (e,r,n)=>{try{return r==="number"?Pt(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===r)?qt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?wt(e,n):r==="string"?Ot(e,n):e?.toString()}catch{return}}};function wt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?n:s}function Ot(t,e){if(!z(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=qe(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function Pt(t,{thouSep:e,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let h=String(t??"").trim().trim();if(fe(h,r))return h}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(s)if(typeof n=="number"){let u=Math.pow(10,n);l=Math[s](l*u)/u;}else l=Math[s](l);else if(typeof n=="number"){let u=Math.pow(10,n);l=Math.trunc(l*u)/u;}let o=0;if(n==="auto"){let u=l.toString(),h=u.indexOf(".");h!==-1&&(o=u.length-h-1);}let i={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function qt(t,{display:e,value:r}){if(!z(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function An(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let s=()=>n.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function On(t,e,r){let[n,s]=useState(false),a=(c,u)=>typeof t=="string"&&c===t||typeof t=="number"&&u===t,l=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:u,keyCode:h}=c,d=c.ctrlKey,C=c.altKey,q=c.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(u,h)&&(e==="ctrl"&&d||e==="alt"&&C||e==="shift"&&q)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let x=e.every(M=>M==="ctrl"?d:M==="alt"?C:M==="shift"?q:false);a(u,h)&&x&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(u,h)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},i=({key:c,keyCode:u})=>{a(c,u)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",i);}),[]),n}var Mn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:o,disabledToastWhenCancel:i,withCredentials:c,encryptRequest:u,encryptResponse:h,passphrase:d})=>{let{encrypt:C,decrypt:q,passphrase:x}=G(),M=Et.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...s}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:h)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?x:p.passphrase:d;try{f=q(f,w);}catch{try{f=q(f,x);}catch{}}}let T={...n({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:i,P=o?o(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||a;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:c}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),r&&(p=r(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:u)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;p=C(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...f.headers};if(f.token){let v=typeof f.token=="boolean"?e:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(r&&(b=r(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:u)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?x:f.passphrase:d;b=C(b,v);}let g=await fetch(`${t}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:h)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:d;try{p=q(Q,ue);}catch{try{p=q(Q,x);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:i,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&l&&!J&&l(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
2
2
|
|
|
3
|
-
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let $=le(V);D({status:!0,data:$,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,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,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function po(e,t){let[r,n]=useState(false),[s,a]=useState(),[l,o]=useState(0),i=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{i.current?.abort();}},[]),[async f=>{i.current?.abort();let C=new AbortController;i.current=C,n(true),t?.beforeRequest&&(f=t?.beforeRequest(f)),t?.logging&&console.log("Before request",f),t?.onBeforeRequest&&t?.onBeforeRequest(f);let P={...t,signal:C.signal,onUploadProgress:M=>{let H=Math.round(M.loaded*100/(M.total||1));o(H);}},x=e.__isVoid?await e(void 0,P):await e(f,void 0,P);t?.logging&&console.log("After response",x),a(x),n(false),o(0),t?.afterResponse&&x?.data&&(x.data=t?.afterResponse(x.data,f)),x.status&&t?.onSuccess&&t?.onSuccess(x,f),!x.status&&t?.onError&&t?.onError(x,f),t?.onAfterResponse?.(x,f);},{...s,loading:r,abort:()=>{i.current?.abort(),i.current=null,n(false),o(0);},progress:l,reset:()=>{n(false),o(0),a(null);}}]}function Gt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Xt=typeof window<"u"?window:null;function mo(e={}){let{getTrigger:t=Gt,target:r=Xt,disableHysteresis:n=false,threshold:s=100}=e,a=pe.useRef(0),[l,o]=pe.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return pe.useEffect(()=>{let i=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(i(),r)return r.addEventListener("scroll",i,{passive:true}),()=>{r.removeEventListener("scroll",i);}},[r,t,n,s]),l}function Ro(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[s,a]=useState(e);return useEffect(()=>{let l=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(l)},[e,r,n]),s}var Ao=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,{refresh:a,abort:l,clear:o,clone:i}=We(n)||{},c=P=>{let x=P.states[n]??te;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:R,response:f}=s?re(useShallow(c)):re(c),C=useMemo(()=>[f?.data,{...f,loading:u,isCancel:R,refresh:a,abort:l,clear:o,clone:i}],[f,u,R,a,l,o,i]);return t?.selector?t.selector(C):C};var ue=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Je=(e,t)=>{let r=false;return pe.Children.forEach(e,n=>{if(pe.isValidElement(n)){let s=n,a=n.type.displayName;(t.includes(a)||s.props?.children&&Je(s.props.children,t))&&(r=true);}}),r},Qe=(e,t)=>{let r={others:[]},n=s=>{pe.Children.forEach(s,a=>{if(pe.isValidElement(a)){let l=a.type.displayName,o=a,i=o.props?.children;t.includes(l)?r[l]=a:i&&Je(i,t)?n(o.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function Eo(){let{format:e}=z();return (t="",r=false)=>$e(t,r,e.number.decSep)}function Uo(e,t){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let s=new ResizeObserver(()=>n());return s.observe(e),()=>s.disconnect()},[e,t]),r}var Pe={};function $o(e,t){let[r,n]=useState(false),[s,a]=useState(),[l,o]=useState();return useEffect(()=>{if(!e)return;if(Pe[e]){o(()=>Pe[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Pe[e]=c.default,o(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:s,loading:r,Icon:l}}function Ko(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(i=>i());}function l(o){let i=useRef(o?o(t):t);return useSyncExternalStore(s,()=>{let c=o?o(t):t,u=i.current;return Object.is(u,c)||(i.current=c),i.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:l}}function Ge(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],s=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ge(n,s);});}function jo(e){let t={};for(let r in e){let n=e[r];t[r]=(...s)=>{let a=n(...s);return Ge(a,r),a};}return t}function zo(e,t){let[r,n]=useState(false),[s,a]=useState([]),l=useRef([]),o=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let i=async R=>{o.current?.abort();let f=new AbortController;o.current=f,n(true),a([]),l.current=[],e(R,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),t?.onDone&&t?.onDone([...l.current])),C.status?t?.onStream&&t?.onStream(C):t?.onError&&t?.onError(C);},{signal:f.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},u=()=>{n(false),a([]),l.current=[];};return [s.map(R=>R.data),i,{loading:r,abort:c,reset:u,response:s}]}function Jo(e,t){let{key:r}=t,[n,s]=useState();return useEffect(()=>{let a=liveQuery(()=>e(r)).subscribe(s);return ()=>a.unsubscribe()},[r]),n}function Zo(e,t){let{key:r}=t,[n,s]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await e(r)).subscribe(l=>{s(o=>o!==l?l:o);});return ()=>a.unsubscribe()},[r]),n}var fe,de={};function ns({dbName:e,version:t=1,table:r}){return fe||(fe=new yr(e),t=Object.keys(de).length+1,fe.version(t).stores(de)),r}function os({name:e,primaryKey:t}){de[e]||(de[e]=t);let r=()=>{let c=fe.table(e);if(!c)throw new Error(`Table ${e} is not registered in Dexie`);return c};return {table:r,create:async i=>await r().add(i),update:async(i,c)=>await r().update(i,c),put:async(i,c)=>await r().put({...c,[t]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i)}}var fs=()=>{let{encrypt:e,decrypt:t,passphrase:r}=G();return ({url:n,token:s,beforeRequest:a,onCallback:l,headers:o,onUnauthorized:i,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:R,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let M=Yt.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...o}}),H=(y,b,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:P)&&d){let S=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{d=t(d,S);}catch{try{d=t(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:R,v=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!v&&(!m||!p?.disabledHandleUnauthorized)){let S=p?.onUnauthorized||i;S&&S(T);}if(typeof b=="function")b(T);else return T},F=(y,b=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(b).catch(p=>b(p.response,p)),E=(y,b,p,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},w={...d.headers};if(d.token&&(typeof d.token=="boolean"?s&&(w.Authorization=`Bearer ${s}`):d.token&&(w.Authorization=`Bearer ${d.token}`)),a&&(p=a(p)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=e(p,T);}return F({url:b,method:y,data:p,headers:w,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>H(T,D,d,g))};return {client:F,post:(y,b,p,D)=>E("POST",`${y}`,b,p,D),put:(y,b,p,D)=>E("PUT",`${y}`,b,p,D),patch:(y,b,p,D)=>E("PATCH",`${y}`,b,p,D),delete:(y,b,p)=>E("DELETE",`${y}`,null,b,p),get:(y,b,p)=>E("GET",`${y}`,null,b,p),upload:(y,b,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,p,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},w={"Content-Type":"application/json",...o,...d.headers};if(d.token){let k=typeof d.token=="boolean"?s:d.token;k&&(w.Authorization=`Bearer ${k}`);}let h=p;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=e(h,k);}let g=await fetch(`${n}${b}`,{method:y,headers:w,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),v=g?.status,S=v===401;if(!g.ok){let k=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",$=await g.clone().text();if($)if(V.includes("application/json"))try{let Q=JSON.parse($);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&p){let ge=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=t(Q,ge);}catch{try{p=t(Q,r);}catch{}}}k=Q?.message||k;}catch{k=$;}else k=$;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!0};m?.infoError&&c&&!J&&c(j),D(j);return}let N=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:k,value:J}=await N.read();ee=k,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
3
|
+
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let L=ae(V);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function Hn(t,e){let[r,n]=useState(false),[s,a]=useState(),[l,o]=useState(0),i=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{i.current?.abort();}},[]),[async d=>{i.current?.abort();let C=new AbortController;i.current=C,n(true),e?.beforeRequest&&(d=e?.beforeRequest(d)),e?.logging&&console.log("Before request",d),e?.onBeforeRequest&&e?.onBeforeRequest(d);let q={...e,signal:C.signal,onUploadProgress:M=>{let F=Math.round(M.loaded*100/(M.total||1));o(F);}},x=t.__isVoid?await t(void 0,q):await t(d,void 0,q);e?.logging&&console.log("After response",x),a(x),n(false),o(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,d)),x.status&&e?.onSuccess&&e?.onSuccess(x,d),!x.status&&e?.onError&&e?.onError(x,d),e?.onAfterResponse?.(x,d);},{...s,loading:r,abort:()=>{i.current?.abort(),i.current=null,n(false),o(0);},progress:l,reset:()=>{n(false),o(0),a(null);}}]}function $t(t,e){let{disableHysteresis:r=false,threshold:n=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Lt=typeof window<"u"?window:null;function Bn(t={}){let{getTrigger:e=$t,target:r=Lt,disableHysteresis:n=false,threshold:s=100}=t,a=le.useRef(0),[l,o]=le.useState(()=>e(a,{disableHysteresis:n,threshold:s,target:r}));return le.useEffect(()=>{let i=()=>{o(e(a,{disableHysteresis:n,threshold:s,target:r}));};if(i(),r)return r.addEventListener("scroll",i,{passive:true}),()=>{r.removeEventListener("scroll",i);}},[r,e,n,s]),l}function zn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[s,a]=useState(t);return useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),s}var Gn=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,s=e?.shallow??true,{refresh:a,abort:l,clear:o,clone:i}=Ke(n)||{},c=q=>{let x=q.states[n]??te;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:u,isCancel:h,response:d}=s?re(useShallow(c)):re(c),C=useMemo(()=>[d?.data,{...d,loading:u,isCancel:h,refresh:a,abort:l,clear:o,clone:i}],[d,u,h,a,l,o,i]);return e?.selector?e.selector(C):C};var eo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},je=(t,e)=>{let r=false;return le.Children.forEach(t,n=>{if(le.isValidElement(n)){let s=n,a=n.type.displayName;(e.includes(a)||s.props?.children&&je(s.props.children,e))&&(r=true);}}),r},to=(t,e)=>{let r={others:[]},n=s=>{le.Children.forEach(s,a=>{if(le.isValidElement(a)){let l=a.type.displayName,o=a,i=o.props?.children;e.includes(l)?r[l]=a:i&&je(i,e)?n(o.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function so(){let{format:t}=_();return (e="",r=false)=>ve(e,r,t.number.decSep)}function lo(t,e){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let s=new ResizeObserver(()=>n());return s.observe(t),()=>s.disconnect()},[t,e]),r}var Ce={};function fo(t,e){let[r,n]=useState(false),[s,a]=useState(),[l,o]=useState();return useEffect(()=>{if(!t)return;if(Ce[t]){o(()=>Ce[t]);return}n(true),(async()=>{try{let c=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ce[t]=c.default,o(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[t,e.path,e.extension]),{error:s,loading:r,Icon:l}}function go(t){let e=t,r=new Set;function n(){return e}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?e=o(e):e=o,r.forEach(i=>i());}function l(o){let i=useRef(o?o(e):e);return useSyncExternalStore(s,()=>{let c=o?o(e):e,u=i.current;return Object.is(u,c)||(i.current=c),i.current},()=>o?o(e):e)}return {getSnapshot:n,subscribe:s,setState:a,useStore:l}}function Ie(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],s=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ie(n,s);});}function ho(t){let e={};for(let r in t){let n=t[r];e[r]=(...s)=>{let a=n(...s);return Ie(a,r),a};}return e}function Do(t,e){let[r,n]=useState(false),[s,a]=useState([]),l=useRef([]),o=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let i=async h=>{o.current?.abort();let d=new AbortController;o.current=d,n(true),a([]),l.current=[],t(h,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:d.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},u=()=>{n(false),a([]),l.current=[];};return [s.map(h=>h.data),i,{loading:r,abort:c,reset:u,response:s}]}function So(t,e){let{key:r}=e,[n,s]=useState();return useEffect(()=>{let a=liveQuery(()=>t(r)).subscribe(s);return ()=>a.unsubscribe()},[r]),n}function qo(t,e){let{key:r}=e,[n,s]=useState(false);return useEffect(()=>{let a=liveQuery(async()=>!!await t(r)).subscribe(l=>{s(o=>o!==l?l:o);});return ()=>a.unsubscribe()},[r]),n}var ce,pe={};function Eo({dbName:t,version:e=1,table:r}){return ce||(ce=new er(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function No({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let c=ce.table(t);if(!c)throw new Error(`Table ${t} is not registered in Dexie`);return c};return {table:r,create:async i=>await r().add(i),update:async(i,c)=>await r().update(i,c),put:async(i,c)=>await r().put({...c,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i)}}var jo=()=>{let{encrypt:t,decrypt:e,passphrase:r}=G();return ({url:n,token:s,beforeRequest:a,onCallback:l,headers:o,onUnauthorized:i,handleToast:c,handleAuthorization:u,disabledToastWhenCancel:h,withCredentials:d,encryptRequest:C,encryptResponse:q,passphrase:x})=>{let M=Et.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...o}}),F=(y,R,p,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,f=y?.data;if((typeof p?.encryptResponse=="boolean"?p?.encryptResponse:q)&&f){let w=p?.passphrase?typeof p.passphrase=="boolean"&&p.passphrase?r:p.passphrase:x;try{f=e(f,w);}catch{try{f=e(f,r);}catch{}}}let T={...l({...y,data:f,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof p?.disabledToastWhenCancel=="boolean"?p?.disabledToastWhenCancel:h,P=u?u(T,p):!O;if((p?.infoSuccess&&T.status||p?.infoError&&!T.status)&&c&&(!m||!g)&&c(T),!P&&(!m||!p?.disabledHandleUnauthorized)){let w=p?.onUnauthorized||i;w&&w(T);}if(typeof R=="function")R(T);else return T},B=(y,R=()=>{})=>M({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:d}).then(R).catch(p=>R(p.response,p)),U=(y,R,p,D,m)=>{let f={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...f.headers};if(f.token&&(typeof f.token=="boolean"?s&&(S.Authorization=`Bearer ${s}`):f.token&&(S.Authorization=`Bearer ${f.token}`)),a&&(p=a(p)),(typeof f?.encryptRequest=="boolean"?f?.encryptRequest:C)&&p){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;p=t(p,T);}return B({url:R,method:y,data:p,headers:S,responseType:f.responseType,signal:f.signal,withCredentials:f.withCredentials,onUploadProgress:T=>{f?.onUploadProgress&&f?.onUploadProgress(T);}},(T,g)=>F(T,D,f,g))};return {client:B,post:(y,R,p,D)=>U("POST",`${y}`,R,p,D),put:(y,R,p,D)=>U("PUT",`${y}`,R,p,D),patch:(y,R,p,D)=>U("PATCH",`${y}`,R,p,D),delete:(y,R,p)=>U("DELETE",`${y}`,null,R,p),get:(y,R,p)=>U("GET",`${y}`,null,R,p),upload:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,R,p,D,m)=>{try{let f={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...f.headers};if(f.token){let v=typeof f.token=="boolean"?s:f.token;v&&(S.Authorization=`Bearer ${v}`);}let b=p;if(a&&(b=a(b)),(typeof f.encryptRequest=="boolean"?f.encryptRequest:C)&&b){let v=f.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?r:f.passphrase:x;b=t(b,v);}let g=await fetch(`${n}${R}`,{method:y,headers:S,credentials:f.withCredentials?"include":"same-origin",signal:f.signal,body:JSON.stringify(b)}),P=g?.status,w=P===401;if(!g.ok){let v=g?.statusText||"Error";try{let V=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(V.includes("application/json"))try{let Q=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:q)&&p){let ue=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{p=e(Q,ue);}catch{try{p=e(Q,r);}catch{}}}v=Q?.message||v;}catch{v=L;}else v=L;}catch{}let J=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:h,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0};m?.infoError&&c&&!J&&c(j),D(j);return}let $=g.body.getReader(),W=new TextDecoder("utf-8"),Y="",ee=!1;for(;!ee;){let{done:v,value:J}=await $.read();ee=v,Y+=W.decode(J,{stream:!0});let j=Y.split(`
|
|
4
4
|
|
|
5
|
-
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let $=le(V);D({status:!0,data:$,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:S,httpCode:v,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,p,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),E("POST",`${y}`,m,p,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function et(e,t){!e||typeof e!="object"||Object.keys(e).forEach(r=>{let n=e[r],s=t?`${t}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&et(n,s);});}function tt(e,t,r=""){if(typeof e=="function")return ()=>{let s=e(t);return et(s,r),s};if(!e||typeof e!="object")return e;let n={};for(let s in e){let a=r?`${r}.${s}`:s;n[s]=tt(e[s],t,a);}return n}function ms(e,t){return tt(e,t)}function Rs(e){let t=[...e],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(o=>n(a,o));if(Array.isArray(l.or))return l.or.some(o=>n(a,o));for(let[o,i]of Object.entries(l)){if(o==="and"||o==="or")continue;let{opt:c="eq",value:u,required:R=true}=typeof i=="object"&&i!==null&&"value"in i?i:{value:i};if(!R&&(u==null||u===""))continue;let f=L(a,o,void 0);switch(c){case "eq":if(f!==u)return false;break;case "neq":if(f===u)return false;break;case "gt":if(!(f>u))return false;break;case "gte":if(!(f>=u))return false;break;case "lt":if(!(f<u))return false;break;case "lte":if(!(f<=u))return false;break;case "contains":{if(f==null||u==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(u).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "startsWith":if(f==null||u==null||!String(f).startsWith(String(u)))return false;break;case "endsWith":if(f==null||u==null||!String(f).endsWith(String(u)))return false;break;case "in":if(!Array.isArray(u)||!u.includes(f))return false;break;case "notIn":if(Array.isArray(u)&&u.includes(f))return false;break;default:return false}}return true},s={where(a){return a&&(t=t.filter(l=>n(l,a))),s},sort(a){let l=Object.entries(a);return t.sort((o,i)=>{for(let[c,u]of l){let R=L(o,c),f=L(i,c);if(R!==f)return u==="asc"?R>f?1:-1:R<f?1:-1}return 0}),s},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],o=new Set;return t=t.filter(i=>{let c=l.length?l.map(u=>L(i,u)).join("|"):JSON.stringify(i);return o.has(c)?false:(o.add(c),true)}),s},select(a){return t=t.map(l=>{let o={};for(let i of a)o[i]=L(l,i);return o}),s},paginate(a,l){let o=(a-1)*l,i=o+l;return {data:t.slice(o,i),total:t.length,page:a,pageSize:l,totalPages:Math.ceil(t.length/l)}},groupBy(a){let l={};for(let o of t){let i=L(o,a),c=String(i??"undefined");l[c]||(l[c]=[]),l[c].push(o);}return l},map(a){return t=t.map(a),s},reduce(a,l){return t.reduce(a,l)},limit(a){return t=t.slice(0,a),s},get(){return t}};return s}function hs({label:e="",search:t="",bgcolor:r="#337ab7",color:n="#fff"}){let s=[];e||(e="");let a=t?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof e!="string"?s=e.toString().split(new RegExp(`(${a})`,"gi")):s=e.split(new RegExp(`(${a})`,"gi")),jsx(Fragment,{children:s.map((l,o)=>jsx("span",{style:l?.toString()?.toLowerCase()===t?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},o))})}var nt={sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},Ds=["base","sm","md","lg","xl","2xl"];var me={base:0,sm:1,md:2,lg:3,xl:4,"2xl":5};function Tr(e){if(typeof window>"u")return "base";let r=Object.entries(e).filter(([n,s])=>window.matchMedia(`(min-width: ${s})`).matches);return r.length===0?"base":r[r.length-1][0]}function ve(){let{breakpoints:e=nt}=z(),[t,r]=useState(()=>Tr(e));return useEffect(()=>{if(typeof window>"u")return;let a=Object.entries(e).map(([o,i])=>({key:o,query:window.matchMedia(`(min-width: ${i})`)})),l=()=>{let o=a.filter(i=>i.query.matches);r(o.length===0?"base":o[o.length-1].key);};return l(),a.forEach(o=>{typeof o.query.addEventListener=="function"?o.query.addEventListener("change",l):typeof o.query.addListener=="function"&&o.query.addListener(l);}),()=>{a.forEach(o=>{typeof o.query.removeEventListener=="function"?o.query.removeEventListener("change",l):typeof o.query.removeListener=="function"&&o.query.removeListener(l);});}},[e]),{current:t,isMobile:t==="base"||t==="sm",is:{base:t==="base",sm:t==="sm",md:t==="md",lg:t==="lg",xl:t==="xl","2xl":t==="2xl"},up:s=>me[t]>=me[s],down:s=>me[t]<=me[s]}}function ot(e,t=0){let[r,n]=useState(false),s=useRef(null),a=useRef(null),l=useRef(false);return useLayoutEffect(()=>{let o=e.current;if(!o)return;let i=()=>{l.current||(s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{l.current=true,n(true);},t));},c=()=>{let f=o.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,i());};requestAnimationFrame(()=>{c();});let u=new ResizeObserver(()=>{c();}),R=new MutationObserver(()=>{c();});return u.observe(o),R.observe(o,{childList:true,subtree:true,attributes:true}),()=>{s.current&&clearTimeout(s.current),u.disconnect(),R.disconnect();}},[t]),r}function st(e=100){let[t,r]=useState(false);return useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(s=>{for(let a of s.getEntries())a.duration>e&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[e]),t}function at(e,t,r,n){let s=useRef(void 0),a=useRef({x:0,y:0,width:0,visible:true}),l=useRef(r);useEffect(()=>{l.current=r;},[r]),useLayoutEffect(()=>{if(n)return;let o=e.current,i=t.current;if(!o||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let c=false,u=q=>{let U=q;for(;U;){if(window.getComputedStyle(U).display==="none")return false;U=U.parentElement;}return true},R=()=>{if(!o||!i||l.current)return;let q=o.getBoundingClientRect(),U=u(o);a.current={x:q.left,y:q.top,width:q.width,visible:U},U?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${q.left}px, ${q.top}px, 0)`,i.style.width=`${q.width}px`):i.style.display="none";},f=()=>{if(!o||!i||l.current)return;let U=i.getBoundingClientRect().height;o.style.height=`${U}px`,o.style.minHeight=`${U}px`;},C=()=>{c||(c=true,s.current=requestAnimationFrame(()=>{R(),c=false;}));},P=()=>{requestAnimationFrame(()=>{R(),requestAnimationFrame(()=>{f();});});},x=new ResizeObserver(()=>{C();}),M=new ResizeObserver(()=>{requestAnimationFrame(()=>{f(),R();});}),H=new MutationObserver(()=>{C();});x.observe(o),M.observe(i),H.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let F=null,E=()=>{if(!o||!i||l.current)return;let q=i.cloneNode(true);q.removeAttribute("style"),o.innerHTML="",o.appendChild(q),requestAnimationFrame(()=>{i.style.display="none";}),F&&clearTimeout(F),F=setTimeout(()=>{o.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},K=()=>{C();};return i.addEventListener("layout-complete",P),window.addEventListener("scroll",E,{passive:true,capture:true}),window.addEventListener("resize",K,{passive:true}),requestAnimationFrame(()=>{R(),requestAnimationFrame(()=>{f();});}),()=>{s.current&&cancelAnimationFrame(s.current),x.disconnect(),M.disconnect(),H.disconnect(),i.removeEventListener("layout-complete",P),window.removeEventListener("scroll",E),window.removeEventListener("resize",K);}},[n]);}var ct=createContext(null);function Vs(){let e=useContext(ct);if(!e)throw new Error("useExpandable must be used within ExpandableProvider");return e}var qe=({children:e,renderInlineBelow:t,inlineLayout:r})=>{let{ExpandableModalLoader:n,ExpandableModalBackdrop:s,ExpandableModalContent:a}=useMemo(()=>Qe(e,["ExpandableModalLoader","ExpandableModalBackdrop","ExpandableModalContent"]),[e]),[l,o]=useState(false),i=useRef(null),c=useRef(null),{down:u}=ve(),R=u(t),f=ot(c),C=st(100),P=useRef(false),x=useRef(0);useEffect(()=>{f&&x.current<5&&(x.current+=1,P.current=true);},[f]);let M=!f||!P.current&&C;at(i,c,l,R),useEffect(()=>{if(!l)return;let F=window.innerWidth-document.documentElement.clientWidth,E=document.body.style.overflow,K=document.body.style.paddingRight;return document.body.style.overflow="hidden",document.body.style.paddingRight=`${F}px`,()=>{document.body.style.overflow=E,document.body.style.paddingRight=K;}},[l]);let H={open:l,setOpen:o,targetRef:i,sourceRef:c,showLoading:M};return jsx(ct.Provider,{value:H,children:R?r:jsxs(Fragment,{children:[M&&n,jsx("div",{"data-slot":"target",ref:i}),createPortal(jsxs(Fragment,{children:[s,a]}),document.body)]})})},qr=ue(({children:e})=>jsx(Fragment,{children:e}),"ExpandableModalLoader");qe.Loader=qr;var Ur=ue(({children:e})=>jsx(Fragment,{children:e}),"ExpandableModalBackdrop");qe.Backdrop=Ur;var Mr=ue(({children:e})=>jsx(Fragment,{children:e}),"ExpandableModalContent");qe.Content=Mr;export{Ds as BREAKPOINT_ORDER,Et as BgsCoreProvider,Kt as DataTypeEnum,qe as Expandable,hs as Highlight,Ht as HttpMethod,nt as TAILWIND_SCREENS,ms as bindApi,Ne as capitalizeWords,io as createApiHelper,ns as createDatabase,ue as createElement,Ko as createStore,os as createTable,rn as debounce,he as decrypt,Ie as decryptString,te as defaultState,Jr as diffJson,be as encrypt,je as encryptString,nn as filterDOMPropsLite,Ft as formatBoolean,_t as formatDate,It as formatNumber,jt as formatString,Le as generateCacheKey,Yr as generateUUID,We as getApiActions,an as getDateRangeLabelFromSorted,L as getFieldValue,on as getInitials,sn as getMinMaxDate,ln as getTotalMinutes,Gr as isArray,Re as isDirtyRaw,_ as isNotEmpty,At as isValidNumber,tn as jsonCopy,Ue as labelFormatter,cn as mappingData,Qr as mappingUndefinedtoNull,B as moment,St as objectToQueryString,le as parseSSEChunk,$e as parseStringToNumber,Rs as query,ze as registerApi,Xr as renderChildren,Me as replaceNullStrings,Nt as safeUpdate,Zr as sorting,Qe as splitElement,Ct as stableStringify,en as summary,Ve as unregisterApi,at as useAnchorPosition,Bt as useApiLoad,re as useApiLoadStore,po as useApiSend,Ao as useApiStore,zo as useApiStream,z as useBgsCore,st as useCpuBusy,fs as useCreateApi,G as useCrypto,Jo as useDbLive,Zo as useDbLiveFlag,Ro as useDebounce,Fn as useDelay,$o as useDynamicSvgImport,Uo as useElementBounding,Vs as useExpandable,Wn as useFormatted,Qn as useInterval,Zn as useKeyPress,ot as useLayoutReady,Eo as useParseStringToNumber,mo as useScrollTrigger,_e as useStorage,jo as wrapApi};
|
|
5
|
+
`);Y=j.pop();for(let V of j)if(V.startsWith("data:"))try{let L=ae(V);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:P,isDone:!0});}catch(O){let f=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:f,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,R,p,D)=>{let m=new FormData;return Object.keys(R).forEach(O=>m.append(O,R[O])),U("POST",`${y}`,m,p,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function _e(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],s=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:s,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=s;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&_e(n,s);});}function We(t,e,r=""){if(typeof t=="function")return ()=>{let s=t(e);return _e(s,r),s};if(!t||typeof t!="object")return t;let n={};for(let s in t){let a=r?`${r}.${s}`:s;n[s]=We(t[s],e,a);}return n}function zo(t,e){return We(t,e)}function Wo(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(o=>n(a,o));if(Array.isArray(l.or))return l.or.some(o=>n(a,o));for(let[o,i]of Object.entries(l)){if(o==="and"||o==="or")continue;let{opt:c="eq",value:u,required:h=true}=typeof i=="object"&&i!==null&&"value"in i?i:{value:i};if(!h&&(u==null||u===""))continue;let d=N(a,o,void 0);switch(c){case "eq":if(d!==u)return false;break;case "neq":if(d===u)return false;break;case "gt":if(!(d>u))return false;break;case "gte":if(!(d>=u))return false;break;case "lt":if(!(d<u))return false;break;case "lte":if(!(d<=u))return false;break;case "contains":{if(d==null||u==null)return false;if(Array.isArray(d)){if(!d.some(q=>r(q).toLowerCase().includes(r(u).toLowerCase())))return false}else if(!r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "notContains":{if(d==null)break;if(Array.isArray(d)){if(d.some(q=>r(q).toLowerCase().includes(r(u).toLowerCase())))return false}else if(r(d).toLowerCase().includes(r(u).toLowerCase()))return false;break}case "startsWith":if(d==null||u==null||!String(d).startsWith(String(u)))return false;break;case "endsWith":if(d==null||u==null||!String(d).endsWith(String(u)))return false;break;case "in":if(!Array.isArray(u)||!u.includes(d))return false;break;case "notIn":if(Array.isArray(u)&&u.includes(d))return false;break;default:return false}}return true},s={where(a){return a&&(e=e.filter(l=>n(l,a))),s},sort(a){let l=Object.entries(a);return e.sort((o,i)=>{for(let[c,u]of l){let h=N(o,c),d=N(i,c);if(h!==d)return u==="asc"?h>d?1:-1:h<d?1:-1}return 0}),s},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],o=new Set;return e=e.filter(i=>{let c=l.length?l.map(u=>N(i,u)).join("|"):JSON.stringify(i);return o.has(c)?false:(o.add(c),true)}),s},select(a){return e=e.map(l=>{let o={};for(let i of a)o[i]=N(l,i);return o}),s},paginate(a,l){let o=(a-1)*l,i=o+l;return {data:e.slice(o,i),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let o of e){let i=N(o,a),c=String(i??"undefined");l[c]||(l[c]=[]),l[c].push(o);}return l},map(a){return e=e.map(a),s},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),s},get(){return e}};return s}function Jo({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let s=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?s=t.toString().split(new RegExp(`(${a})`,"gi")):s=t.split(new RegExp(`(${a})`,"gi")),jsx(Fragment,{children:s.map((l,o)=>jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},o))})}function es(t,e,r,n){let s=useRef(void 0),a=useRef({x:0,y:0,width:0,visible:true}),l=useRef(r);useEffect(()=>{l.current=r;},[r]),useLayoutEffect(()=>{if(n)return;let o=t.current,i=e.current;if(!o||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let c=false,u=k=>{let E=k;for(;E;){if(window.getComputedStyle(E).display==="none")return false;E=E.parentElement;}return true},h=()=>{if(!o||!i||l.current)return;let k=o.getBoundingClientRect(),E=u(o);a.current={x:k.left,y:k.top,width:k.width,visible:E},E?(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";},d=()=>{if(!o||!i||l.current)return;let E=i.getBoundingClientRect().height;o.style.height=`${E}px`,o.style.minHeight=`${E}px`;},C=()=>{c||(c=true,s.current=requestAnimationFrame(()=>{h(),c=false;}));},q=()=>{requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{d();});});},x=new ResizeObserver(()=>{C();}),M=new ResizeObserver(()=>{requestAnimationFrame(()=>{d(),h();});}),F=new MutationObserver(()=>{C();});x.observe(o),M.observe(i),F.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let B=null,U=()=>{if(!o||!i||l.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),o.innerHTML="",o.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),B&&clearTimeout(B),B=setTimeout(()=>{o.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},K=()=>{C();};return i.addEventListener("layout-complete",q),window.addEventListener("scroll",U,{passive:true,capture:true}),window.addEventListener("resize",K,{passive:true}),requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{d();});}),()=>{s.current&&cancelAnimationFrame(s.current),x.disconnect(),M.disconnect(),F.disconnect(),i.removeEventListener("layout-complete",q),window.removeEventListener("scroll",U),window.removeEventListener("resize",K);}},[n]);}function ns(t=100){let[e,r]=useState(false);return useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(s=>{for(let a of s.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function is(t,e=0){let[r,n]=useState(false),s=useRef(null),a=useRef(null),l=useRef(false);return useLayoutEffect(()=>{let o=t.current;if(!o)return;let i=()=>{l.current||(s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{l.current=true,n(true);},e));},c=()=>{let d=o.getBoundingClientRect();if(d.width===0||d.height===0)return;let C=a.current,q={w:d.width,h:d.height};(!C||C.w!==q.w||C.h!==q.h)&&(a.current=q,i());};requestAnimationFrame(()=>{c();});let u=new ResizeObserver(()=>{c();}),h=new MutationObserver(()=>{c();});return u.observe(o),h.observe(o,{childList:true,subtree:true,attributes:true}),()=>{s.current&&clearTimeout(s.current),u.disconnect(),h.disconnect();}},[e]),r}export{yt as BgsCoreProvider,St as DataTypeEnum,Jo as Highlight,At as HttpMethod,zo as bindApi,qe as capitalizeWords,Mn as createApiHelper,Eo as createDatabase,eo as createElement,go as createStore,No as createTable,vr as debounce,me as decrypt,$e as decryptString,te as defaultState,Cr as diffJson,de as encrypt,Me as encryptString,Ur as filterDOMPropsLite,wt as formatBoolean,qt as formatDate,Pt as formatNumber,Ot as formatString,Pe as generateCacheKey,xr as generateUUID,Ke as getApiActions,Nr as getDateRangeLabelFromSorted,N as getFieldValue,kr as getInitials,Er as getMinMaxDate,Mr as getTotalMinutes,Sr as isArray,fe as isDirtyRaw,z as isNotEmpty,ct as isValidNumber,qr as jsonCopy,we as labelFormatter,$r as mappingData,Ar as mappingUndefinedtoNull,H as moment,ut as objectToQueryString,ae as parseSSEChunk,ve as parseStringToNumber,Wo as query,He as registerApi,wr as renderChildren,Oe as replaceNullStrings,Dt as safeUpdate,Or as sorting,to as splitElement,lt as stableStringify,Pr as summary,Fe as unregisterApi,es as useAnchorPosition,Ct as useApiLoad,re as useApiLoadStore,Hn as useApiSend,Gn as useApiStore,Do as useApiStream,_ as useBgsCore,ns as useCpuBusy,jo as useCreateApi,G as useCrypto,So as useDbLive,qo as useDbLiveFlag,zn as useDebounce,yn as useDelay,fo as useDynamicSvgImport,lo as useElementBounding,Dn as useFormatted,An as useInterval,On as useKeyPress,is as useLayoutReady,so as useParseStringToNumber,Bn as useScrollTrigger,Le as useStorage,ho as wrapApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.42",
|
|
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",
|