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