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