@bgscore/react-core 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var me=require('react'),M=require('dayjs'),Ke=require('dayjs/plugin/utc'),Le=require('dayjs/plugin/timezone'),Fe=require('dayjs/plugin/duration'),Ie=require('dayjs/plugin/advancedFormat'),He=require('dayjs/plugin/localizedFormat'),Be=require('dayjs/plugin/relativeTime'),je=require('dayjs/plugin/isSameOrBefore'),_e=require('dayjs/plugin/isSameOrAfter'),Ve=require('dayjs/plugin/weekOfYear'),We=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ce=require('crypto-js/aes'),Ae=require('crypto-js/pbkdf2'),rt=require('crypto-js/enc-utf8'),Z=require('crypto-js/enc-base64'),xe=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),gt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var me__default=/*#__PURE__*/_interopDefault(me);var M__default=/*#__PURE__*/_interopDefault(M);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Le__default=/*#__PURE__*/_interopDefault(Le);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var He__default=/*#__PURE__*/_interopDefault(He);var Be__default=/*#__PURE__*/_interopDefault(Be);var je__default=/*#__PURE__*/_interopDefault(je);var _e__default=/*#__PURE__*/_interopDefault(_e);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var We__default=/*#__PURE__*/_interopDefault(We);var Ce__default=/*#__PURE__*/_interopDefault(Ce);var Ae__default=/*#__PURE__*/_interopDefault(Ae);var rt__default=/*#__PURE__*/_interopDefault(rt);var Z__default=/*#__PURE__*/_interopDefault(Z);var xe__default=/*#__PURE__*/_interopDefault(xe);var gt__default=/*#__PURE__*/_interopDefault(gt);M__default.default.extend(Ke__default.default);M__default.default.extend(Le__default.default);M__default.default.extend(Fe__default.default);M__default.default.extend(Ie__default.default);M__default.default.extend(He__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(je__default.default);M__default.default.extend(_e__default.default);M__default.default.extend(Ve__default.default);M__default.default.extend(We__default.default);var q=M__default.default;function Wt(){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 Yt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var zt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Jt(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 ye={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=ye.snackCase(ye.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Gt(e,t){return typeof e=="function"?e(t):e}var v=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Xt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=v(r,t)?v(r,t):"",a=v(n,t)?v(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=v(r,t)?v(r,t):"",a=v(n,t)?v(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?v(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Qt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ye(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function ge(e,t){return Ye([t??"undefined",e??"undefined"])}function be(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function er(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function se(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 ze(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&se(n,r))return true}return false}function De(e="",t=false,r="."){if(!ze(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Je=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 tr(e){let t={};for(let r in e)Je.has(r)&&(t[r]=e[r]);return t}function rr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function nr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(q).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 or(e,t){let r=q(e),n=q(t),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 sr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=q(e,"HH:mm",true),n=q(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var ar=(e=[],t="label",r="value",n)=>Array.isArray(e)?e.map((o,a)=>{if(typeof o!="object"){let i=typeof t=="function"?t(o,a):o,s=typeof r=="function"?r(o,a):o;return {label:i,value:s,index:a,rowData:o}}else {let i=typeof t=="function"?t(o,a):v(o,t,""),s=typeof r=="function"?r(o,a):v(o,r,"");return {label:i,value:typeof s=="boolean"?s:s||"",index:a,...n&&{[n]:v(o,n)},rowData:o}}}):[];function Ge(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Ge(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Re(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Re(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Re(e[t]));return e}var Te=me.createContext(void 0);function L(){let e=me.useContext(Te);return e||{}}var et=({children:e,value:t})=>{let r={...t};return me.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&q.locale(o,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(Te.Provider,{value:r,children:e})};function ae(e,t){let r=xe__default.default.random(16),n=xe__default.default.random(16),o=Ae__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Ce__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z__default.default),iv:n.toString(Z__default.default),encrypted:a}}function ie(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ae__default.default(t,Z__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ce__default.default.decrypt(o,a,{iv:Z__default.default.parse(n)}).toString(rt__default.default);return JSON.parse(s)}function Se(e,t){return JSON.stringify(ae(e,t))}function Pe(e,t){return ie(JSON.parse(e),t)}function Q(){let{passphrase:e}=L();return {passphrase:e,encrypt(t,r){return ae(t,r||e)},decrypt(t,r){return ie(t,r||e)},encryptString(t,r){return Se(t,r||e)},decryptString(t,r){return Pe(t,r||e)}}}var Oe=()=>{let{encrypt:e,decrypt:t}=Q(),r=me.useCallback((i,s)=>{try{let p=e(s);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=me.useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,p]=me.useState(()=>{try{let d=localStorage.getItem(i);return d?t(JSON.parse(d)):null}catch(d){return console.error("Failed to parse localStorage value",d),null}});return me.useEffect(()=>{let d=y=>{if(y.key===i)if(y.newValue)try{p(t(JSON.parse(y.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else p(null);};return window.addEventListener("storage",d),()=>window.removeEventListener("storage",d)},[i,t]),s},a=me.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function at(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??z,a={...o,...n};at(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var pe=new Map,we=(e,t)=>{pe.set(e,t);},qe=e=>{pe.delete(e);},Ue=e=>pe.get(e);function lt(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,p=s?.storeName||`${a}`,d=s?.mergeStrategy??"replace",[y,D,R,x]=J(shallow.useShallow(b=>{let f=b.states[p]??z;return [f.loading,f.isCancel,f.response,b.updateState]})),{storageKey:O,cache:g,clearPreviousData:E,refetchOnWindowFocus:F}=L(),I=Oe(),V=me.useRef(void 0),H=me.useRef(null),{cacheName:j,cacheKey:B,timeout:ee,timeoutUnit:te,persistence:re,cacheEnabled:h}=me.useMemo(()=>{let b=O?I.get(O):void 0,f=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=ge({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),c=false;typeof g?.enabled=="boolean"&&(c=g.enabled);let S=false;typeof g?.persistence=="boolean"&&(S=g?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,N="s";return $(g?.timeout)&&(typeof g?.timeout=="number"?(P=g.timeout,N="s"):typeof g?.timeout=="object"&&(P=g?.timeout.value,N=g?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?c=s.cache.enabled:c=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,N="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,N=s.cache.timeout.unit)):c=s.cache),{cacheName:f,cacheKey:A,timeout:P,timeoutUnit:N,persistence:S,cacheEnabled:c}},[s?.cache,i,O,g,a]);me.useEffect(()=>{let b=JSON.stringify($(V.current)?V.current:""),f=JSON.stringify($(i)?i:""),A=V.current===void 0;(b!==f||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(p,{response:null}),l(),V.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),me.useEffect(()=>{let b=async()=>{!re&&j&&B&&(await caches.open(j)).delete(B);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),H.current?.abort();}},[re,j,B,p,H]);let l=me.useCallback(async b=>{let f=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(f=s?.beforeRequest(i)),h&&!b&&!D){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(B))?.json();if(S){let{data:P,expired:N}=S;if(q().isAfter(N))await A.delete(B);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,f)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,f),s?.onAfterResponse?.(P,f),x(p,{loading:false,response:P});return}}}if(typeof t=="function"){H.current?.abort();let A=new AbortController;H.current=A,x(p,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let c=o?await t(void 0,{...s,signal:A.signal}):await t(f,void 0,{...s,signal:A.signal});if(c.__rawData=c.data,d==="append"&&$(R.__rawData)&&$(c?.data)){if(Array.isArray(R.__rawData)&&Array.isArray(c?.data)){let S=[...R?.__rawData??[],...c.data??[]];c.data=S,c.__rawData=S;}else if(typeof R.__rawData=="object"&&typeof c.data=="object"){let S={...R.__rawData,...c.data};c.data=S,c.__rawData=S;}}if(s?.afterResponse&&c?.data&&(c.data=s?.afterResponse(c.data,f)),s?.logging&&console.log("After request",c),c.status&&s?.onSuccess?.(c,f),c.status||s?.onError?.(c,f),s?.onAfterResponse?.(c,f),x(p,{loading:false,response:c,isCancel:false}),h&&c.status){let S=q().add(ee,te).toISOString(),P={data:c,expired:S},N=await caches.open(j),W=new Response(JSON.stringify(P));await N.put(B,W);}}},[i,t,s,D,j,B,ee,te,h,R]);me.useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,f=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{l();},q.duration(b,f).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,l]);let u=me.useRef(null),{enabledRefetch:C,timeoutRefetch:T,timeoutUnitRefetch:w}=me.useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,f=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof f=="number"?f:f?.value??60*5,c=typeof f=="object"?f.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:c}},[s?.refetchOnWindowFocus,F]);me.useEffect(()=>{if(!C)return;let b=q.duration(T,w).asMilliseconds(),f=()=>{let c=Date.now(),S=u.current;S!==null&&c-S>=b&&l(),u.current=null;},A=()=>{u.current=Date.now();};return window.addEventListener("focus",f),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",A);}},[C,T,w,l]);let m=me.useCallback(()=>{H.current?.abort(),H.current=null,x(p,{loading:false,isCancel:true});},[p,H]),K=me.useCallback(()=>{x(p,{loading:false,response:null});},[p]),U=me.useMemo(()=>({...R,loading:y,refresh:l,abort:m,clear:K,response:R,isCancel:D,clone:(b,f)=>lt(t,b,{storeName:`${a}-clone`,...f})}),[R,y,l,m,K,D,t]);return me.useEffect(()=>(we(p,U),()=>{qe(p);}),[U,p]),[R?.data,U]}async function Lr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var pt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(pt||{}),ct=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(ct||{});var _r=()=>{let{format:e}=L();return (t,r,n)=>{try{return r==="number"?Ne(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?dt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?ut(t,n):r==="string"?ft(t,n):t?.toString()}catch{return}}};function ut(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function ft(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=be(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}Ne(10,{thouSep:",",decSep:".",decDigits:2});function Ne(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let D=String(e??"").trim().trim();if(se(D,r))return D}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let y=Math.pow(10,n);i=Math[o](i*y)/y;}else i=Math[o](i);else if(typeof n=="number"){let y=Math.pow(10,n);i=Math.trunc(i*y)/y;}let s=0;if(n==="auto"){let y=i.toString(),D=y.indexOf(".");D!==-1&&(s=y.length-D-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function dt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Yr(e,{interval:t,lead:r}){let n=me.useRef(null);me.useEffect(()=>{n.current=e;},[e]),me.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function Gr(e,t,r){let[n,o]=me.useState(false),a=(d,y)=>typeof e=="string"&&d===e||typeof e=="number"&&y===e,i=d=>d!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(d.tagName)||d.hasAttribute("contentEditable")),s=d=>{let{key:y,keyCode:D}=d,R=d.ctrlKey,x=d.altKey,O=d.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(y,D)&&(t==="ctrl"&&R||t==="alt"&&x||t==="shift"&&O)&&(d.preventDefault(),r&&d.stopPropagation(),o(!n));else {let g=t.every(E=>E==="ctrl"?R:E==="alt"?x:E==="shift"?O:false);a(y,D)&&g&&(d.preventDefault(),r&&d.stopPropagation(),o(!n));}else a(y,D)&&(d.preventDefault(),r&&d.stopPropagation(),o(!n));},p=({key:d,keyCode:y})=>{a(d,y)&&o(false);};return me.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",p);}),[]),n}var on=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:p,withCredentials:d,encryptRequest:y,encryptResponse:D,passphrase:R})=>{let{encrypt:x,decrypt:O,passphrase:g}=Q(),E=(h,l,u,C)=>{let T=C?.code==="ERR_CANCELED",w=h?.status===401,m=h?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:D)&&m){let c=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?g:u.passphrase:R;try{m=O(m,c);}catch{try{m=O(m,g);}catch{}}}let b={...n({...h,data:m,isCancel:T,isUnauthorization:w},C),isCancel:T,isUnauthorization:w,httpCode:h?.status},f=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,A=s?s(b,u):!w;if((u?.infoSuccess&&b.status||u?.infoError&&!b.status)&&i&&(!T||!f)&&i(b),!A&&(!T||!u?.disabledHandleUnauthorized)){let c=u?.onUnauthorized||a;c&&c(b);}if(l)l(b);else return b},F=(h,l=()=>{})=>gt__default.default.create({baseURL:`${e}`,withCredentials:typeof h.withCredentials=="boolean"?h.withCredentials:d})(h).then(l).catch(C=>l(C.response,C)),I=(h,l,u,C,T)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...T},K={"Content-Type":"application/json",...o,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):m.token&&(K.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:y)&&u){let b=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?g:T.passphrase:R;u=x(u,b);}return F({url:l,method:h,data:u,headers:K,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:b=>{m?.onUploadProgress&&m?.onUploadProgress(b);}},(b,f)=>E(b,C,m,f))};return {client:F,post:(h,l,u,C)=>I("POST",`${h}`,l,u,C),put:(h,l,u,C)=>I("PUT",`${h}`,l,u,C),patch:(h,l,u,C)=>I("PATCH",`${h}`,l,u,C),delete:(h,l,u)=>I("DELETE",`${h}`,null,l,u),get:(h,l,u)=>I("GET",`${h}`,null,l,u),upload:(h,l,u,C)=>{let T=new FormData;return Object.keys(l).forEach(w=>T.append(w,l[w])),I("POST",`${h}`,T,u,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(h,l,u,C,T)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...T},K={"Content-Type":"application/json",...o,...m.headers};if(m.token){let k=typeof m.token=="boolean"?t:m.token;k&&(K.Authorization=`Bearer ${k}`);}let U=u;if(r&&(U=r(U)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:y)&&U){let k=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?g:m.passphrase:R;U=x(U,k);}let f=await fetch(`${e}${l}`,{method:h,headers:K,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(U)}),A=f?.status,c=A===401;if(!f.ok){let k=f?.statusText||"Error";try{let X=f.headers.get("content-type")||"",_=await f.clone().text();if(_)if(X.includes("application/json"))try{let oe=JSON.parse(_);if((typeof T?.encryptResponse=="boolean"?T?.encryptResponse:D)&&u){let $e=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?g:T.passphrase:R;try{u=O(oe,$e);}catch{try{u=O(oe,g);}catch{}}}k=oe?.message||k;}catch{k=_;}else k=_;}catch{}let ne=typeof T?.disabledToastWhenCancel=="boolean"?T?.disabledToastWhenCancel:p,Y={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:c,httpCode:A,isDone:!0};T?.infoError&&i&&!ne&&i(Y),C(Y);return}let S=f.body.getReader(),P=new TextDecoder("utf-8"),N="",W=!1;for(;!W;){let{done:k,value:ne}=await S.read();W=k,N+=P.decode(ne,{stream:!0});let Y=N.split(`
1
+ 'use strict';var ee=require('react'),M=require('dayjs'),Le=require('dayjs/plugin/utc'),Be=require('dayjs/plugin/timezone'),He=require('dayjs/plugin/duration'),je=require('dayjs/plugin/advancedFormat'),Ve=require('dayjs/plugin/localizedFormat'),_e=require('dayjs/plugin/relativeTime'),ze=require('dayjs/plugin/isSameOrBefore'),We=require('dayjs/plugin/isSameOrAfter'),Ye=require('dayjs/plugin/weekOfYear'),Je=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Pe=require('crypto-js/aes'),Oe=require('crypto-js/pbkdf2'),st=require('crypto-js/enc-utf8'),Z=require('crypto-js/enc-base64'),Se=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Tt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ee__default=/*#__PURE__*/_interopDefault(ee);var M__default=/*#__PURE__*/_interopDefault(M);var Le__default=/*#__PURE__*/_interopDefault(Le);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var _e__default=/*#__PURE__*/_interopDefault(_e);var ze__default=/*#__PURE__*/_interopDefault(ze);var We__default=/*#__PURE__*/_interopDefault(We);var Ye__default=/*#__PURE__*/_interopDefault(Ye);var Je__default=/*#__PURE__*/_interopDefault(Je);var Pe__default=/*#__PURE__*/_interopDefault(Pe);var Oe__default=/*#__PURE__*/_interopDefault(Oe);var st__default=/*#__PURE__*/_interopDefault(st);var Z__default=/*#__PURE__*/_interopDefault(Z);var Se__default=/*#__PURE__*/_interopDefault(Se);var Tt__default=/*#__PURE__*/_interopDefault(Tt);M__default.default.extend(Le__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(He__default.default);M__default.default.extend(je__default.default);M__default.default.extend(Ve__default.default);M__default.default.extend(_e__default.default);M__default.default.extend(ze__default.default);M__default.default.extend(We__default.default);M__default.default.extend(Ye__default.default);M__default.default.extend(Je__default.default);var q=M__default.default;function Zt(){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 Qt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var er=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function tr(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 he={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=he.snackCase(he.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function rr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},nr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},or=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function sr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ge(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Te(e,t){return Ge([t??"undefined",e??"undefined"])}function xe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function ar(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var De=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function ae(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 Xe(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&ae(n,r))return true}return false}function Ce(e="",t=false,r="."){if(!Xe(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Ze=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 ir(e){let t={};for(let r in e)Ze.has(r)&&(t[r]=e[r]);return t}function lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function cr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(q).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(e,t){let r=q(e),n=q(t),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 ur(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=q(e,"HH:mm",true),n=q(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var fr=(e=[],t="label",r="value",n)=>Array.isArray(e)?e.map((o,a)=>{if(typeof o!="object"){let i=typeof t=="function"?t(o,a):o,s=typeof r=="function"?r(o,a):o;return {label:i,value:s,index:a,rowData:o}}else {let i=typeof t=="function"?t(o,a):E(o,t,""),s=typeof r=="function"?r(o,a):E(o,r,"");return {label:i,value:typeof s=="boolean"?s:s||"",index:a,...n&&{[n]:E(o,n)},rowData:o}}}):[];function Qe(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Qe(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function be(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=be(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=be(e[t]));return e}var Ae=ee.createContext(void 0);function I(){let e=ee.useContext(Ae);return e||{}}var nt=({children:e,value:t})=>{let r={...t};return ee.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&q.locale(o,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(Ae.Provider,{value:r,children:e})};function ie(e,t){let r=Se__default.default.random(16),n=Se__default.default.random(16),o=Oe__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Pe__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z__default.default),iv:n.toString(Z__default.default),encrypted:a}}function le(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Oe__default.default(t,Z__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Pe__default.default.decrypt(o,a,{iv:Z__default.default.parse(n)}).toString(st__default.default);return JSON.parse(s)}function we(e,t){return JSON.stringify(ie(e,t))}function qe(e,t){return le(JSON.parse(e),t)}function Q(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return ie(t,r||e)},decrypt(t,r){return le(t,r||e)},encryptString(t,r){return we(t,r||e)},decryptString(t,r){return qe(t,r||e)}}}var Ue=()=>{let{encrypt:e,decrypt:t}=Q(),r=ee.useCallback((i,s)=>{try{let c=e(s);localStorage.setItem(i,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[e]),n=ee.useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,c]=ee.useState(()=>{try{let p=localStorage.getItem(i);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return ee.useEffect(()=>{let p=y=>{if(y.key===i)if(y.newValue)try{c(t(JSON.parse(y.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else c(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,t]),s},a=ee.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function ct(e,t){for(let r in t){let n=e[r],o=t[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 Y={loading:false,response:void 0,isCancel:false},J=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??Y,a={...o,...n};ct(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var pe=new Map,ve=(e,t)=>{pe.set(e,t);},ke=e=>{pe.delete(e);},Ee=e=>pe.get(e);function ut(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[y,T,R,D]=J(shallow.useShallow(h=>{let d=h.states[c]??Y;return [d.loading,d.isCancel,d.response,h.updateState]})),{storageKey:O,cache:g,clearPreviousData:N,refetchOnWindowFocus:F}=I(),L=Ue(),_=ee.useRef(void 0),B=ee.useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:b}=ee.useMemo(()=>{let h=O?L.get(O):void 0,d=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:h},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof g?.enabled=="boolean"&&(u=g.enabled);let S=false;typeof g?.persistence=="boolean"&&(S=g?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(g?.timeout)&&(typeof g?.timeout=="number"?(P=g.timeout,v="s"):typeof g?.timeout=="object"&&(P=g?.timeout.value,v=g?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?u=s.cache.enabled:u=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,v="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,v=s.cache.timeout.unit)):u=s.cache),{cacheName:d,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,g,a]);ee.useEffect(()=>{let h=JSON.stringify($(_.current)?_.current:""),d=JSON.stringify($(i)?i:""),A=_.current===void 0;(h!==d||A)&&!s?.hold&&((s?.clearPreviousData??N)&&D(c,{response:null}),l(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),ee.useEffect(()=>{let h=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),B.current?.abort();}},[ne,j,H,c,B]);let l=ee.useCallback(async h=>{let d=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(d=s?.beforeRequest(i)),b&&!h&&!T){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(H))?.json();if(S){let{data:P,expired:v}=S;if(q().isAfter(v))await A.delete(H);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,d)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,d),s?.onAfterResponse?.(P,d),D(c,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,D(c,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let u=o?await t(void 0,{...s,signal:A.signal}):await t(d,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,p==="append"&&$(R.__rawData)&&$(u?.data)){if(Array.isArray(R.__rawData)&&Array.isArray(u?.data)){let S=[...R?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof R.__rawData=="object"&&typeof u.data=="object"){let S={...R.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,d)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,d),u.status||s?.onError?.(u,d),s?.onAfterResponse?.(u,d),D(c,{loading:false,response:u,isCancel:false}),b&&u.status){let S=q().add(te,re).toISOString(),P={data:u,expired:S},v=await caches.open(j),z=new Response(JSON.stringify(P));await v.put(H,z);}}},[i,t,s,T,j,H,te,re,b,R]);ee.useEffect(()=>{if(s?.refreshInterval){let h=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,d=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{l();},q.duration(h,d).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,l]);let f=ee.useRef(null),{enabledRefetch:C,timeoutRefetch:x,timeoutUnitRefetch:w}=ee.useMemo(()=>{let h=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,d=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof d=="number"?d:d?.value??60*5,u=typeof d=="object"?d.unit:"s";return {enabledRefetch:h,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);ee.useEffect(()=>{if(!C)return;let h=q.duration(x,w).asMilliseconds(),d=()=>{let u=Date.now(),S=f.current;S!==null&&u-S>=h&&l(),f.current=null;},A=()=>{f.current=Date.now();};return window.addEventListener("focus",d),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",A);}},[C,x,w,l]);let m=ee.useCallback(()=>{B.current?.abort(),B.current=null,D(c,{loading:false,isCancel:true});},[c,B]),K=ee.useCallback(()=>{D(c,{loading:false,response:null});},[c]),U=ee.useMemo(()=>({...R,loading:y,refresh:l,abort:m,clear:K,response:R,isCancel:T,clone:(h,d)=>ut(t,h,{storeName:`${a}-clone`,...d})}),[R,y,l,m,K,T,t]);return ee.useEffect(()=>(ve(c,U),()=>{ke(c);}),[U,c]),[R?.data,U]}async function Vr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ft=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ft||{}),dt=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ne(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Rt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?mt(t,n):r==="string"?yt(t,n):t?.toString()}catch{return}}};function mt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function yt(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=xe(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}Ne(10,{thouSep:",",decSep:".",decDigits:2});function Ne(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let T=String(e??"").trim().trim();if(ae(T,r))return T}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let y=Math.pow(10,n);i=Math[o](i*y)/y;}else i=Math[o](i);else if(typeof n=="number"){let y=Math.pow(10,n);i=Math.trunc(i*y)/y;}let s=0;if(n==="auto"){let y=i.toString(),T=y.indexOf(".");T!==-1&&(s=y.length-T-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Rt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Qr(e,{interval:t,lead:r}){let n=ee.useRef(null);ee.useEffect(()=>{n.current=e;},[e]),ee.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function rn(e,t,r){let[n,o]=ee.useState(false),a=(p,y)=>typeof e=="string"&&p===e||typeof e=="number"&&y===e,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:y,keyCode:T}=p,R=p.ctrlKey,D=p.altKey,O=p.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(y,T)&&(t==="ctrl"&&R||t==="alt"&&D||t==="shift"&&O)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let g=t.every(N=>N==="ctrl"?R:N==="alt"?D:N==="shift"?O:false);a(y,T)&&g&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(y,T)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},c=({key:p,keyCode:y})=>{a(p,y)&&o(false);};return ee.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:p,encryptRequest:y,encryptResponse:T,passphrase:R})=>{let{encrypt:D,decrypt:O,passphrase:g}=Q(),N=(b,l,f,C)=>{let x=C?.code==="ERR_CANCELED",w=b?.status===401,m=b?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:T)&&m){let u=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?g:f.passphrase:R;try{m=O(m,u);}catch{try{m=O(m,g);}catch{}}}let h={...n({...b,data:m,isCancel:x,isUnauthorization:w},C),isCancel:x,isUnauthorization:w,httpCode:b?.status},d=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:c,A=s?s(h,f):!w;if((f?.infoSuccess&&h.status||f?.infoError&&!h.status)&&i&&(!x||!d)&&i(h),!A&&(!x||!f?.disabledHandleUnauthorized)){let u=f?.onUnauthorized||a;u&&u(h);}if(l)l(h);else return h},F=(b,l=()=>{})=>Tt__default.default.create({baseURL:`${e}`,withCredentials:typeof b.withCredentials=="boolean"?b.withCredentials:p})(b).then(l).catch(C=>l(C.response,C)),L=(b,l,f,C,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},K={"Content-Type":"application/json",...o,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):m.token&&(K.Authorization=`Bearer ${m.token}`)),r&&(f=r(f)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:y)&&f){let h=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?g:x.passphrase:R;f=D(f,h);}return F({url:l,method:b,data:f,headers:K,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:h=>{m?.onUploadProgress&&m?.onUploadProgress(h);}},(h,d)=>N(h,C,m,d))};return {client:F,post:(b,l,f,C)=>L("POST",`${b}`,l,f,C),put:(b,l,f,C)=>L("PUT",`${b}`,l,f,C),patch:(b,l,f,C)=>L("PATCH",`${b}`,l,f,C),delete:(b,l,f)=>L("DELETE",`${b}`,null,l,f),get:(b,l,f)=>L("GET",`${b}`,null,l,f),upload:(b,l,f,C)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),L("POST",`${b}`,x,f,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(b,l,f,C,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},K={"Content-Type":"application/json",...o,...m.headers};if(m.token){let k=typeof m.token=="boolean"?t:m.token;k&&(K.Authorization=`Bearer ${k}`);}let U=f;if(r&&(U=r(U)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:y)&&U){let k=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?g:m.passphrase:R;U=D(U,k);}let d=await fetch(`${e}${l}`,{method:b,headers:K,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(U)}),A=d?.status,u=A===401;if(!d.ok){let k=d?.statusText||"Error";try{let X=d.headers.get("content-type")||"",V=await d.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&f){let Fe=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?g:x.passphrase:R;try{f=O(se,Fe);}catch{try{f=O(se,g);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:c,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};x?.infoError&&i&&!oe&&i(W),C(W);return}let S=d.body.getReader(),P=new TextDecoder("utf-8"),v="",z=!1;for(;!z;){let{done:k,value:oe}=await S.read();z=k,v+=P.decode(oe,{stream:!0});let W=v.split(`
2
2
 
3
- `);N=Y.pop();for(let X of Y)if(X.startsWith("data:"))try{let _=he(X);C({status:!0,data:_,message:"",isCancel:!1,isUnauthorization:c,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:c,httpCode:A,isDone:!0});}catch(w){let m=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function ln(e,t){let[r,n]=me.useState(false),[o,a]=me.useState(),[i,s]=me.useState(0),p=me.useRef(null);return me.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async R=>{p.current?.abort();let x=new AbortController;p.current=x,n(true),t?.beforeRequest&&(R=t?.beforeRequest(R)),t?.logging&&console.log("Before request",R),t?.onBeforeRequest&&t?.onBeforeRequest(R);let O={...t,signal:x.signal,onUploadProgress:E=>{let F=Math.round(E.loaded*100/(E.total||1));s(F);}},g=e.__isVoid?await e(void 0,O):await e(R,void 0,O);t?.logging&&console.log("After response",g),a(g),n(false),s(0),t?.afterResponse&&g?.data&&(g.data=t?.afterResponse(g.data,R)),g.status&&t?.onSuccess&&t?.onSuccess(g,R),!g.status&&t?.onError&&t?.onError(g,R),t?.onAfterResponse?.(g,R);},{...o,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Dt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Tt=typeof window<"u"?window:null;function un(e={}){let{getTrigger:t=Dt,target:r=Tt,disableHysteresis:n=false,threshold:o=100}=e,a=me__default.default.useRef(0),[i,s]=me__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return me__default.default.useEffect(()=>{let p=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,o]),i}function mn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=me.useState(e);return me.useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Tn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:p}=Ue(n)||{},d=O=>{let g=O.states[n]??z;return {loading:g.loading,isCancel:g.isCancel,response:g.response}},{loading:y,isCancel:D,response:R}=o?J(shallow.useShallow(d)):J(d),x=me.useMemo(()=>[R?.data,{...R,loading:y,isCancel:D,refresh:a,abort:i,clear:s,clone:p}],[R,y,D,a,i,s,p]);return t?.selector?t.selector(x):x};var An=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Sn=(e,t)=>{let r={};r.others=[];let n=o=>{me__default.default.Children.forEach(o,a=>{if(me__default.default.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let s=a;s.props?.children?n(s.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function qn(){let{format:e}=L();return (t="",r=false)=>De(t,r,e.number.decSep)}function kn(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(p=>p());}function i(s){let p=me.useRef(s?s(t):t);return me.useSyncExternalStore(o,()=>{let d=s?s(t):t,y=p.current;return Object.is(y,d)||(p.current=d),p.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function wt(e,t=[]){let r={};for(let n in e){let o=e[n];if(typeof o=="function"){let a=o.bind(null);a.__path=[...t,n].join("."),a.__isVoid=o.length===2,r[n]=a;}else typeof o=="object"&&o!==null?r[n]=wt(o,[...t,n]):r[n]=o;}return r}function $n(e,t){let[r,n]=me.useState(false),[o,a]=me.useState([]),i=me.useRef([]),s=me.useRef(null);me.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let p=async D=>{s.current?.abort();let R=new AbortController;s.current=R,n(true),a([]),i.current=[],e(D,x=>{x.isDone||(i.current.push(x),a([...i.current])),(x.isDone||!x.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),x.status?t?.onStream&&t?.onStream(x):t?.onError&&t?.onError(x);},{signal:R.signal});},d=()=>{s.current?.abort(),s.current=null,n(false);},y=()=>{n(false),a([]),i.current=[];};return [o.map(D=>D.data),p,{loading:r,abort:d,reset:y,response:o}]}exports.BgsCoreProvider=et;exports.DataTypeEnum=ct;exports.HttpMethod=pt;exports.capitalizeWords=be;exports.createApiHelper=on;exports.createElement=An;exports.createStore=kn;exports.debounce=er;exports.decrypt=ie;exports.decryptString=Pe;exports.defaultState=z;exports.diffJson=Yt;exports.encrypt=ae;exports.encryptString=Se;exports.filterDOMPropsLite=tr;exports.generateCacheKey=ge;exports.generateUUID=Wt;exports.getApiActions=Ue;exports.getDateRangeLabelFromSorted=or;exports.getFieldValue=v;exports.getInitials=rr;exports.getMinMaxDate=nr;exports.getTotalMinutes=sr;exports.isArray=Jt;exports.isDirtyRaw=se;exports.isNotEmpty=$;exports.isValidNumber=ze;exports.jsonCopy=Qt;exports.labelFormatter=ye;exports.mappingData=ar;exports.mappingUndefinedtoNull=zt;exports.moment=q;exports.objectToQueryString=Ge;exports.parseSSEChunk=he;exports.parseStringToNumber=De;exports.registerApi=we;exports.renderChildren=Gt;exports.replaceNullStrings=Re;exports.safeUpdate=at;exports.sorting=Xt;exports.splitElement=Sn;exports.stableStringify=Ye;exports.summary=Zt;exports.unregisterApi=qe;exports.useApiLoad=lt;exports.useApiLoadStore=J;exports.useApiSend=ln;exports.useApiStore=Tn;exports.useApiStream=$n;exports.useBgsCore=L;exports.useCrypto=Q;exports.useDebounce=mn;exports.useDelay=Lr;exports.useFormatted=_r;exports.useInterval=Yr;exports.useKeyPress=Gr;exports.useParseStringToNumber=qn;exports.useScrollTrigger=un;exports.useStorage=Oe;exports.wrapApi=wt;
3
+ `);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=De(X);C({status:!0,data:V,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0});}catch(w){let m=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function mn(e,t){let[r,n]=ee.useState(false),[o,a]=ee.useState(),[i,s]=ee.useState(0),c=ee.useRef(null);return ee.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async R=>{c.current?.abort();let D=new AbortController;c.current=D,n(true),t?.beforeRequest&&(R=t?.beforeRequest(R)),t?.logging&&console.log("Before request",R),t?.onBeforeRequest&&t?.onBeforeRequest(R);let O={...t,signal:D.signal,onUploadProgress:N=>{let F=Math.round(N.loaded*100/(N.total||1));s(F);}},g=e.__isVoid?await e(void 0,O):await e(R,void 0,O);t?.logging&&console.log("After response",g),a(g),n(false),s(0),t?.afterResponse&&g?.data&&(g.data=t?.afterResponse(g.data,R)),g.status&&t?.onSuccess&&t?.onSuccess(g,R),!g.status&&t?.onError&&t?.onError(g,R),t?.onAfterResponse?.(g,R);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Ct(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var At=typeof window<"u"?window:null;function gn(e={}){let{getTrigger:t=Ct,target:r=At,disableHysteresis:n=false,threshold:o=100}=e,a=ee__default.default.useRef(0),[i,s]=ee__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return ee__default.default.useEffect(()=>{let c=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,t,n,o]),i}function Tn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=ee.useState(e);return ee.useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var On=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:c}=Ee(n)||{},p=O=>{let g=O.states[n]??Y;return {loading:g.loading,isCancel:g.isCancel,response:g.response}},{loading:y,isCancel:T,response:R}=o?J(shallow.useShallow(p)):J(p),D=ee.useMemo(()=>[R?.data,{...R,loading:y,isCancel:T,refresh:a,abort:i,clear:s,clone:c}],[R,y,T,a,i,s,c]);return t?.selector?t.selector(D):D};var Un=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},$e=(e,t)=>{let r=false;return ee__default.default.Children.forEach(e,n=>{if(ee__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&$e(o.props.children,t))&&(r=true);}}),r},vn=(e,t)=>{let r={others:[]},n=o=>{ee__default.default.Children.forEach(o,a=>{if(ee__default.default.isValidElement(a)){let i=a.type.displayName,s=a,c=s.props?.children;t.includes(i)?r[i]=a:c&&$e(c,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function Mn(){let{format:e}=I();return (t="",r=false)=>Ce(t,r,e.number.decSep)}function In(e,t){let r=ee.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return ee.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 o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var ge={};function Hn(e,t){let[r,n]=ee.useState(false),[o,a]=ee.useState(),[i,s]=ee.useState();return ee.useEffect(()=>{if(!e)return;if(ge[e]){s(()=>ge[e]);return}n(true),(async()=>{try{let p=await import(`${t.path}${e}${t.extension??".svg?react"}`);ge[e]=p.default,s(()=>p.default);}catch(p){a(p),console.error(p);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function _n(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(c=>c());}function i(s){let c=ee.useRef(s?s(t):t);return ee.useSyncExternalStore(o,()=>{let p=s?s(t):t,y=c.current;return Object.is(y,p)||(c.current=p),c.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Nt(e,t=[]){let r={};for(let n in e){let o=e[n];if(typeof o=="function"){let a=o.bind(null);a.__path=[...t,n].join("."),a.__isVoid=o.length===2,r[n]=a;}else typeof o=="object"&&o!==null?r[n]=Nt(o,[...t,n]):r[n]=o;}return r}function Jn(e,t){let[r,n]=ee.useState(false),[o,a]=ee.useState([]),i=ee.useRef([]),s=ee.useRef(null);ee.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async T=>{s.current?.abort();let R=new AbortController;s.current=R,n(true),a([]),i.current=[],e(T,D=>{D.isDone||(i.current.push(D),a([...i.current])),(D.isDone||!D.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),D.status?t?.onStream&&t?.onStream(D):t?.onError&&t?.onError(D);},{signal:R.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},y=()=>{n(false),a([]),i.current=[];};return [o.map(T=>T.data),c,{loading:r,abort:p,reset:y,response:o}]}exports.BgsCoreProvider=nt;exports.DataTypeEnum=dt;exports.HttpMethod=ft;exports.capitalizeWords=xe;exports.createApiHelper=un;exports.createElement=Un;exports.createStore=_n;exports.debounce=ar;exports.decrypt=le;exports.decryptString=qe;exports.defaultState=Y;exports.diffJson=Qt;exports.encrypt=ie;exports.encryptString=we;exports.filterDOMPropsLite=ir;exports.generateCacheKey=Te;exports.generateUUID=Zt;exports.getApiActions=Ee;exports.getDateRangeLabelFromSorted=pr;exports.getFieldValue=E;exports.getInitials=lr;exports.getMinMaxDate=cr;exports.getTotalMinutes=ur;exports.isArray=tr;exports.isDirtyRaw=ae;exports.isNotEmpty=$;exports.isValidNumber=Xe;exports.jsonCopy=sr;exports.labelFormatter=he;exports.mappingData=fr;exports.mappingUndefinedtoNull=er;exports.moment=q;exports.objectToQueryString=Qe;exports.parseSSEChunk=De;exports.parseStringToNumber=Ce;exports.registerApi=ve;exports.renderChildren=rr;exports.replaceNullStrings=be;exports.safeUpdate=ct;exports.sorting=nr;exports.splitElement=vn;exports.stableStringify=Ge;exports.summary=or;exports.unregisterApi=ke;exports.useApiLoad=ut;exports.useApiLoadStore=J;exports.useApiSend=mn;exports.useApiStore=On;exports.useApiStream=Jn;exports.useBgsCore=I;exports.useCrypto=Q;exports.useDebounce=Tn;exports.useDelay=Vr;exports.useDynamicSvgImport=Hn;exports.useElementBounding=In;exports.useFormatted=Gr;exports.useInterval=Qr;exports.useKeyPress=rn;exports.useParseStringToNumber=Mn;exports.useScrollTrigger=gn;exports.useStorage=Ue;exports.wrapApi=Nt;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { GenericAbortSignal, AxiosProgressEvent, AxiosResponse, AxiosRequestConfig } from 'axios';
2
2
  import { DurationUnitType } from 'dayjs/plugin/duration';
3
- import React$1, { PropsWithChildren } from 'react';
3
+ import * as React$1 from 'react';
4
+ import React__default, { PropsWithChildren } from 'react';
4
5
  import * as zustand from 'zustand';
5
6
  import dayjs from 'dayjs';
6
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -499,7 +500,7 @@ interface UseScrollTriggerOptions {
499
500
  disableHysteresis?: boolean;
500
501
  target?: Node | Window | null;
501
502
  threshold?: number;
502
- getTrigger?: (store: ReturnType<typeof React$1.useRef<number | undefined>>, options: {
503
+ getTrigger?: (store: ReturnType<typeof React__default.useRef<number | undefined>>, options: {
503
504
  disableHysteresis?: boolean;
504
505
  threshold?: number;
505
506
  target?: Node | Window | null;
@@ -588,18 +589,38 @@ interface UseApiStoreOptions<T extends AnyApiMethod, U = UseCallReturnType<Infer
588
589
  declare const useApiStore: <T extends AnyApiMethod, U = UseCallReturnType<InferApiRequest<T>, InferApiResponse<T>>>(api: T, options?: UseApiStoreOptions<T, U>) => U;
589
590
 
590
591
  type CreateElementProps<P = unknown> = {
591
- (element: (props: P) => React$1.JSX.Element, elementName: string): React$1.FC<P>;
592
+ (element: (props: P) => React__default.JSX.Element, elementName: string): React__default.FC<P>;
592
593
  };
593
- declare const createElement: <T>(element: (props: T) => React$1.JSX.Element, elementName: string) => React$1.FC<T>;
594
+ declare const createElement: <T>(element: (props: T) => React__default.JSX.Element, elementName: string) => React__default.FC<T>;
594
595
  type SplitElementResult<T extends string> = {
595
- [K in T]?: React$1.ReactNode;
596
+ [K in T]?: React__default.ReactNode;
596
597
  } & {
597
- others?: React$1.ReactNode[];
598
+ others?: React__default.ReactNode[];
598
599
  };
599
- declare const splitElement: <T extends string>(children: React$1.ReactNode, elementNames: T[]) => SplitElementResult<T>;
600
+ declare const splitElement: <T extends string>(children: React__default.ReactNode, elementNames: T[]) => SplitElementResult<T>;
600
601
 
601
602
  declare function useParseStringToNumber(): (value?: string, strict?: boolean) => number | null;
602
603
 
604
+ type BoundingSize = {
605
+ width: number;
606
+ height: number;
607
+ top: number;
608
+ left: number;
609
+ right: number;
610
+ bottom: number;
611
+ };
612
+ declare function useElementBounding(target?: HTMLElement | Element | null, onResize?: (size: BoundingSize) => void): React$1.RefObject<BoundingSize>;
613
+
614
+ interface Options {
615
+ path: string;
616
+ extension?: string;
617
+ }
618
+ declare function useDynamicSvgImport(iconName: string, options: Options): {
619
+ error: unknown;
620
+ loading: boolean;
621
+ Icon: React__default.FC<React__default.SVGProps<SVGElement>> | undefined;
622
+ };
623
+
603
624
  declare function generateUUID(): string;
604
625
  declare function diffJson(data1: any, data2: any): boolean;
605
626
  declare const mappingUndefinedtoNull: (values: any) => any;
@@ -703,4 +724,4 @@ interface BgsCoreProviderProps {
703
724
  }
704
725
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
705
726
 
706
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDebounce, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
727
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, 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 CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { GenericAbortSignal, AxiosProgressEvent, AxiosResponse, AxiosRequestConfig } from 'axios';
2
2
  import { DurationUnitType } from 'dayjs/plugin/duration';
3
- import React$1, { PropsWithChildren } from 'react';
3
+ import * as React$1 from 'react';
4
+ import React__default, { PropsWithChildren } from 'react';
4
5
  import * as zustand from 'zustand';
5
6
  import dayjs from 'dayjs';
6
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -499,7 +500,7 @@ interface UseScrollTriggerOptions {
499
500
  disableHysteresis?: boolean;
500
501
  target?: Node | Window | null;
501
502
  threshold?: number;
502
- getTrigger?: (store: ReturnType<typeof React$1.useRef<number | undefined>>, options: {
503
+ getTrigger?: (store: ReturnType<typeof React__default.useRef<number | undefined>>, options: {
503
504
  disableHysteresis?: boolean;
504
505
  threshold?: number;
505
506
  target?: Node | Window | null;
@@ -588,18 +589,38 @@ interface UseApiStoreOptions<T extends AnyApiMethod, U = UseCallReturnType<Infer
588
589
  declare const useApiStore: <T extends AnyApiMethod, U = UseCallReturnType<InferApiRequest<T>, InferApiResponse<T>>>(api: T, options?: UseApiStoreOptions<T, U>) => U;
589
590
 
590
591
  type CreateElementProps<P = unknown> = {
591
- (element: (props: P) => React$1.JSX.Element, elementName: string): React$1.FC<P>;
592
+ (element: (props: P) => React__default.JSX.Element, elementName: string): React__default.FC<P>;
592
593
  };
593
- declare const createElement: <T>(element: (props: T) => React$1.JSX.Element, elementName: string) => React$1.FC<T>;
594
+ declare const createElement: <T>(element: (props: T) => React__default.JSX.Element, elementName: string) => React__default.FC<T>;
594
595
  type SplitElementResult<T extends string> = {
595
- [K in T]?: React$1.ReactNode;
596
+ [K in T]?: React__default.ReactNode;
596
597
  } & {
597
- others?: React$1.ReactNode[];
598
+ others?: React__default.ReactNode[];
598
599
  };
599
- declare const splitElement: <T extends string>(children: React$1.ReactNode, elementNames: T[]) => SplitElementResult<T>;
600
+ declare const splitElement: <T extends string>(children: React__default.ReactNode, elementNames: T[]) => SplitElementResult<T>;
600
601
 
601
602
  declare function useParseStringToNumber(): (value?: string, strict?: boolean) => number | null;
602
603
 
604
+ type BoundingSize = {
605
+ width: number;
606
+ height: number;
607
+ top: number;
608
+ left: number;
609
+ right: number;
610
+ bottom: number;
611
+ };
612
+ declare function useElementBounding(target?: HTMLElement | Element | null, onResize?: (size: BoundingSize) => void): React$1.RefObject<BoundingSize>;
613
+
614
+ interface Options {
615
+ path: string;
616
+ extension?: string;
617
+ }
618
+ declare function useDynamicSvgImport(iconName: string, options: Options): {
619
+ error: unknown;
620
+ loading: boolean;
621
+ Icon: React__default.FC<React__default.SVGProps<SVGElement>> | undefined;
622
+ };
623
+
603
624
  declare function generateUUID(): string;
604
625
  declare function diffJson(data1: any, data2: any): boolean;
605
626
  declare const mappingUndefinedtoNull: (values: any) => any;
@@ -703,4 +724,4 @@ interface BgsCoreProviderProps {
703
724
  }
704
725
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
705
726
 
706
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDebounce, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
727
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, 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 CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDebounce, useDelay, useDynamicSvgImport, useElementBounding, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import me,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import Ke from'dayjs/plugin/utc';import Le from'dayjs/plugin/timezone';import Fe from'dayjs/plugin/duration';import Ie from'dayjs/plugin/advancedFormat';import He from'dayjs/plugin/localizedFormat';import Be from'dayjs/plugin/relativeTime';import je from'dayjs/plugin/isSameOrBefore';import _e from'dayjs/plugin/isSameOrAfter';import Ve from'dayjs/plugin/weekOfYear';import We from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import Ce from'crypto-js/aes';import Ae from'crypto-js/pbkdf2';import rt from'crypto-js/enc-utf8';import Z from'crypto-js/enc-base64';import xe from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import gt from'axios';M.extend(Ke);M.extend(Le);M.extend(Fe);M.extend(Ie);M.extend(He);M.extend(Be);M.extend(je);M.extend(_e);M.extend(Ve);M.extend(We);var q=M;function Wt(){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 Yt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var zt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Jt(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 ye={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=ye.snackCase(ye.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Gt(e,t){return typeof e=="function"?e(t):e}var v=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Xt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=v(r,t)?v(r,t):"",a=v(n,t)?v(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=v(r,t)?v(r,t):"",a=v(n,t)?v(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},Zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?v(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Qt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ye(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function ge(e,t){return Ye([t??"undefined",e??"undefined"])}function be(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function er(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function se(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 ze(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&se(n,r))return true}return false}function De(e="",t=false,r="."){if(!ze(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Je=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 tr(e){let t={};for(let r in e)Je.has(r)&&(t[r]=e[r]);return t}function rr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function nr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(q).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 or(e,t){let r=q(e),n=q(t),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 sr(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=q(e,"HH:mm",true),n=q(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var ar=(e=[],t="label",r="value",n)=>Array.isArray(e)?e.map((o,a)=>{if(typeof o!="object"){let i=typeof t=="function"?t(o,a):o,s=typeof r=="function"?r(o,a):o;return {label:i,value:s,index:a,rowData:o}}else {let i=typeof t=="function"?t(o,a):v(o,t,""),s=typeof r=="function"?r(o,a):v(o,r,"");return {label:i,value:typeof s=="boolean"?s:s||"",index:a,...n&&{[n]:v(o,n)},rowData:o}}}):[];function Ge(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Ge(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Re(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=Re(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=Re(e[t]));return e}var Te=createContext(void 0);function L(){let e=useContext(Te);return e||{}}var et=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&q.locale(o,a??{},i);}})();},[t.localeConfig]),jsx(Te.Provider,{value:r,children:e})};function ae(e,t){let r=xe.random(16),n=xe.random(16),o=Ae(t,r,{keySize:256/32,iterations:1e3}),a=Ce.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z),iv:n.toString(Z),encrypted:a}}function ie(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Ae(t,Z.parse(r),{keySize:256/32,iterations:1e3}),s=Ce.decrypt(o,a,{iv:Z.parse(n)}).toString(rt);return JSON.parse(s)}function Se(e,t){return JSON.stringify(ae(e,t))}function Pe(e,t){return ie(JSON.parse(e),t)}function Q(){let{passphrase:e}=L();return {passphrase:e,encrypt(t,r){return ae(t,r||e)},decrypt(t,r){return ie(t,r||e)},encryptString(t,r){return Se(t,r||e)},decryptString(t,r){return Pe(t,r||e)}}}var Oe=()=>{let{encrypt:e,decrypt:t}=Q(),r=useCallback((i,s)=>{try{let p=e(s);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,p]=useState(()=>{try{let d=localStorage.getItem(i);return d?t(JSON.parse(d)):null}catch(d){return console.error("Failed to parse localStorage value",d),null}});return useEffect(()=>{let d=y=>{if(y.key===i)if(y.newValue)try{p(t(JSON.parse(y.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else p(null);};return window.addEventListener("storage",d),()=>window.removeEventListener("storage",d)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function at(e,t){for(let r in t){let n=e[r],o=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(o);if(a!==i)return false}else if(n!==o)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??z,a={...o,...n};at(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var pe=new Map,we=(e,t)=>{pe.set(e,t);},qe=e=>{pe.delete(e);},Ue=e=>pe.get(e);function lt(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,p=s?.storeName||`${a}`,d=s?.mergeStrategy??"replace",[y,D,R,x]=J(useShallow(b=>{let f=b.states[p]??z;return [f.loading,f.isCancel,f.response,b.updateState]})),{storageKey:O,cache:g,clearPreviousData:E,refetchOnWindowFocus:F}=L(),I=Oe(),V=useRef(void 0),H=useRef(null),{cacheName:j,cacheKey:B,timeout:ee,timeoutUnit:te,persistence:re,cacheEnabled:h}=useMemo(()=>{let b=O?I.get(O):void 0,f=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=ge({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),c=false;typeof g?.enabled=="boolean"&&(c=g.enabled);let S=false;typeof g?.persistence=="boolean"&&(S=g?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,N="s";return $(g?.timeout)&&(typeof g?.timeout=="number"?(P=g.timeout,N="s"):typeof g?.timeout=="object"&&(P=g?.timeout.value,N=g?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?c=s.cache.enabled:c=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,N="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,N=s.cache.timeout.unit)):c=s.cache),{cacheName:f,cacheKey:A,timeout:P,timeoutUnit:N,persistence:S,cacheEnabled:c}},[s?.cache,i,O,g,a]);useEffect(()=>{let b=JSON.stringify($(V.current)?V.current:""),f=JSON.stringify($(i)?i:""),A=V.current===void 0;(b!==f||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(p,{response:null}),l(),V.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),useEffect(()=>{let b=async()=>{!re&&j&&B&&(await caches.open(j)).delete(B);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),H.current?.abort();}},[re,j,B,p,H]);let l=useCallback(async b=>{let f=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(f=s?.beforeRequest(i)),h&&!b&&!D){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(B))?.json();if(S){let{data:P,expired:N}=S;if(q().isAfter(N))await A.delete(B);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,f)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,f),s?.onAfterResponse?.(P,f),x(p,{loading:false,response:P});return}}}if(typeof t=="function"){H.current?.abort();let A=new AbortController;H.current=A,x(p,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let c=o?await t(void 0,{...s,signal:A.signal}):await t(f,void 0,{...s,signal:A.signal});if(c.__rawData=c.data,d==="append"&&$(R.__rawData)&&$(c?.data)){if(Array.isArray(R.__rawData)&&Array.isArray(c?.data)){let S=[...R?.__rawData??[],...c.data??[]];c.data=S,c.__rawData=S;}else if(typeof R.__rawData=="object"&&typeof c.data=="object"){let S={...R.__rawData,...c.data};c.data=S,c.__rawData=S;}}if(s?.afterResponse&&c?.data&&(c.data=s?.afterResponse(c.data,f)),s?.logging&&console.log("After request",c),c.status&&s?.onSuccess?.(c,f),c.status||s?.onError?.(c,f),s?.onAfterResponse?.(c,f),x(p,{loading:false,response:c,isCancel:false}),h&&c.status){let S=q().add(ee,te).toISOString(),P={data:c,expired:S},N=await caches.open(j),W=new Response(JSON.stringify(P));await N.put(B,W);}}},[i,t,s,D,j,B,ee,te,h,R]);useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,f=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{l();},q.duration(b,f).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,l]);let u=useRef(null),{enabledRefetch:C,timeoutRefetch:T,timeoutUnitRefetch:w}=useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,f=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof f=="number"?f:f?.value??60*5,c=typeof f=="object"?f.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:c}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!C)return;let b=q.duration(T,w).asMilliseconds(),f=()=>{let c=Date.now(),S=u.current;S!==null&&c-S>=b&&l(),u.current=null;},A=()=>{u.current=Date.now();};return window.addEventListener("focus",f),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",A);}},[C,T,w,l]);let m=useCallback(()=>{H.current?.abort(),H.current=null,x(p,{loading:false,isCancel:true});},[p,H]),K=useCallback(()=>{x(p,{loading:false,response:null});},[p]),U=useMemo(()=>({...R,loading:y,refresh:l,abort:m,clear:K,response:R,isCancel:D,clone:(b,f)=>lt(t,b,{storeName:`${a}-clone`,...f})}),[R,y,l,m,K,D,t]);return useEffect(()=>(we(p,U),()=>{qe(p);}),[U,p]),[R?.data,U]}async function Lr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var pt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(pt||{}),ct=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(ct||{});var _r=()=>{let{format:e}=L();return (t,r,n)=>{try{return r==="number"?Ne(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?dt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?ut(t,n):r==="string"?ft(t,n):t?.toString()}catch{return}}};function ut(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function ft(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=be(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}Ne(10,{thouSep:",",decSep:".",decDigits:2});function Ne(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let D=String(e??"").trim().trim();if(se(D,r))return D}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let y=Math.pow(10,n);i=Math[o](i*y)/y;}else i=Math[o](i);else if(typeof n=="number"){let y=Math.pow(10,n);i=Math.trunc(i*y)/y;}let s=0;if(n==="auto"){let y=i.toString(),D=y.indexOf(".");D!==-1&&(s=y.length-D-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function dt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Yr(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function Gr(e,t,r){let[n,o]=useState(false),a=(d,y)=>typeof e=="string"&&d===e||typeof e=="number"&&y===e,i=d=>d!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(d.tagName)||d.hasAttribute("contentEditable")),s=d=>{let{key:y,keyCode:D}=d,R=d.ctrlKey,x=d.altKey,O=d.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(y,D)&&(t==="ctrl"&&R||t==="alt"&&x||t==="shift"&&O)&&(d.preventDefault(),r&&d.stopPropagation(),o(!n));else {let g=t.every(E=>E==="ctrl"?R:E==="alt"?x:E==="shift"?O:false);a(y,D)&&g&&(d.preventDefault(),r&&d.stopPropagation(),o(!n));}else a(y,D)&&(d.preventDefault(),r&&d.stopPropagation(),o(!n));},p=({key:d,keyCode:y})=>{a(d,y)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",p);}),[]),n}var on=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:p,withCredentials:d,encryptRequest:y,encryptResponse:D,passphrase:R})=>{let{encrypt:x,decrypt:O,passphrase:g}=Q(),E=(h,l,u,C)=>{let T=C?.code==="ERR_CANCELED",w=h?.status===401,m=h?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:D)&&m){let c=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?g:u.passphrase:R;try{m=O(m,c);}catch{try{m=O(m,g);}catch{}}}let b={...n({...h,data:m,isCancel:T,isUnauthorization:w},C),isCancel:T,isUnauthorization:w,httpCode:h?.status},f=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,A=s?s(b,u):!w;if((u?.infoSuccess&&b.status||u?.infoError&&!b.status)&&i&&(!T||!f)&&i(b),!A&&(!T||!u?.disabledHandleUnauthorized)){let c=u?.onUnauthorized||a;c&&c(b);}if(l)l(b);else return b},F=(h,l=()=>{})=>gt.create({baseURL:`${e}`,withCredentials:typeof h.withCredentials=="boolean"?h.withCredentials:d})(h).then(l).catch(C=>l(C.response,C)),I=(h,l,u,C,T)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...T},K={"Content-Type":"application/json",...o,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):m.token&&(K.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:y)&&u){let b=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?g:T.passphrase:R;u=x(u,b);}return F({url:l,method:h,data:u,headers:K,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:b=>{m?.onUploadProgress&&m?.onUploadProgress(b);}},(b,f)=>E(b,C,m,f))};return {client:F,post:(h,l,u,C)=>I("POST",`${h}`,l,u,C),put:(h,l,u,C)=>I("PUT",`${h}`,l,u,C),patch:(h,l,u,C)=>I("PATCH",`${h}`,l,u,C),delete:(h,l,u)=>I("DELETE",`${h}`,null,l,u),get:(h,l,u)=>I("GET",`${h}`,null,l,u),upload:(h,l,u,C)=>{let T=new FormData;return Object.keys(l).forEach(w=>T.append(w,l[w])),I("POST",`${h}`,T,u,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(h,l,u,C,T)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...T},K={"Content-Type":"application/json",...o,...m.headers};if(m.token){let k=typeof m.token=="boolean"?t:m.token;k&&(K.Authorization=`Bearer ${k}`);}let U=u;if(r&&(U=r(U)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:y)&&U){let k=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?g:m.passphrase:R;U=x(U,k);}let f=await fetch(`${e}${l}`,{method:h,headers:K,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(U)}),A=f?.status,c=A===401;if(!f.ok){let k=f?.statusText||"Error";try{let X=f.headers.get("content-type")||"",_=await f.clone().text();if(_)if(X.includes("application/json"))try{let oe=JSON.parse(_);if((typeof T?.encryptResponse=="boolean"?T?.encryptResponse:D)&&u){let $e=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?g:T.passphrase:R;try{u=O(oe,$e);}catch{try{u=O(oe,g);}catch{}}}k=oe?.message||k;}catch{k=_;}else k=_;}catch{}let ne=typeof T?.disabledToastWhenCancel=="boolean"?T?.disabledToastWhenCancel:p,Y={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:c,httpCode:A,isDone:!0};T?.infoError&&i&&!ne&&i(Y),C(Y);return}let S=f.body.getReader(),P=new TextDecoder("utf-8"),N="",W=!1;for(;!W;){let{done:k,value:ne}=await S.read();W=k,N+=P.decode(ne,{stream:!0});let Y=N.split(`
1
+ import ee,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import Le from'dayjs/plugin/utc';import Be from'dayjs/plugin/timezone';import He from'dayjs/plugin/duration';import je from'dayjs/plugin/advancedFormat';import Ve from'dayjs/plugin/localizedFormat';import _e from'dayjs/plugin/relativeTime';import ze from'dayjs/plugin/isSameOrBefore';import We from'dayjs/plugin/isSameOrAfter';import Ye from'dayjs/plugin/weekOfYear';import Je from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import Pe from'crypto-js/aes';import Oe from'crypto-js/pbkdf2';import st from'crypto-js/enc-utf8';import Z from'crypto-js/enc-base64';import Se from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Tt from'axios';M.extend(Le);M.extend(Be);M.extend(He);M.extend(je);M.extend(Ve);M.extend(_e);M.extend(ze);M.extend(We);M.extend(Ye);M.extend(Je);var q=M;function Zt(){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 Qt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var er=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function tr(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 he={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=he.snackCase(he.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function rr(e,t){return typeof e=="function"?e(t):e}var E=(e,t,r)=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},nr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(r,t):"";return o<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=E(r,t)?E(r,t):"",a=E(n,t)?E(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},or=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?E(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function sr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ge(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function Te(e,t){return Ge([t??"undefined",e??"undefined"])}function xe(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function ar(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var De=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function ae(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 Xe(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||t&&ae(n,r))return true}return false}function Ce(e="",t=false,r="."){if(!Xe(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Ze=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 ir(e){let t={};for(let r in e)Ze.has(r)&&(t[r]=e[r]);return t}function lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function cr(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(q).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(e,t){let r=q(e),n=q(t),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 ur(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=q(e,"HH:mm",true),n=q(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let o=n.diff(r,"minutes");return o<=0&&(o+=24*60),o.toString()}var fr=(e=[],t="label",r="value",n)=>Array.isArray(e)?e.map((o,a)=>{if(typeof o!="object"){let i=typeof t=="function"?t(o,a):o,s=typeof r=="function"?r(o,a):o;return {label:i,value:s,index:a,rowData:o}}else {let i=typeof t=="function"?t(o,a):E(o,t,""),s=typeof r=="function"?r(o,a):E(o,r,"");return {label:i,value:typeof s=="boolean"?s:s||"",index:a,...n&&{[n]:E(o,n)},rowData:o}}}):[];function Qe(e,t=""){let r=[];for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],a=t?`${t}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Qe(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function be(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=be(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=be(e[t]));return e}var Ae=createContext(void 0);function I(){let e=useContext(Ae);return e||{}}var nt=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:o,object:a,isLocal:i}=t.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&q.locale(o,a??{},i);}})();},[t.localeConfig]),jsx(Ae.Provider,{value:r,children:e})};function ie(e,t){let r=Se.random(16),n=Se.random(16),o=Oe(t,r,{keySize:256/32,iterations:1e3}),a=Pe.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z),iv:n.toString(Z),encrypted:a}}function le(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Oe(t,Z.parse(r),{keySize:256/32,iterations:1e3}),s=Pe.decrypt(o,a,{iv:Z.parse(n)}).toString(st);return JSON.parse(s)}function we(e,t){return JSON.stringify(ie(e,t))}function qe(e,t){return le(JSON.parse(e),t)}function Q(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return ie(t,r||e)},decrypt(t,r){return le(t,r||e)},encryptString(t,r){return we(t,r||e)},decryptString(t,r){return qe(t,r||e)}}}var Ue=()=>{let{encrypt:e,decrypt:t}=Q(),r=useCallback((i,s)=>{try{let c=e(s);localStorage.setItem(i,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[e]),n=useCallback(i=>{try{let s=localStorage.getItem(i);return s?t(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[t]),o=i=>{let[s,c]=useState(()=>{try{let p=localStorage.getItem(i);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return useEffect(()=>{let p=y=>{if(y.key===i)if(y.newValue)try{c(t(JSON.parse(y.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else c(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function ct(e,t){for(let r in t){let n=e[r],o=t[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 Y={loading:false,response:void 0,isCancel:false},J=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??Y,a={...o,...n};ct(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var pe=new Map,ve=(e,t)=>{pe.set(e,t);},ke=e=>{pe.delete(e);},Ee=e=>pe.get(e);function ut(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[y,T,R,D]=J(useShallow(h=>{let d=h.states[c]??Y;return [d.loading,d.isCancel,d.response,h.updateState]})),{storageKey:O,cache:g,clearPreviousData:N,refetchOnWindowFocus:F}=I(),L=Ue(),_=useRef(void 0),B=useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:b}=useMemo(()=>{let h=O?L.get(O):void 0,d=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:h},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof g?.enabled=="boolean"&&(u=g.enabled);let S=false;typeof g?.persistence=="boolean"&&(S=g?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(g?.timeout)&&(typeof g?.timeout=="number"?(P=g.timeout,v="s"):typeof g?.timeout=="object"&&(P=g?.timeout.value,v=g?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?u=s.cache.enabled:u=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,v="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,v=s.cache.timeout.unit)):u=s.cache),{cacheName:d,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,g,a]);useEffect(()=>{let h=JSON.stringify($(_.current)?_.current:""),d=JSON.stringify($(i)?i:""),A=_.current===void 0;(h!==d||A)&&!s?.hold&&((s?.clearPreviousData??N)&&D(c,{response:null}),l(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),useEffect(()=>{let h=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),B.current?.abort();}},[ne,j,H,c,B]);let l=useCallback(async h=>{let d=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(d=s?.beforeRequest(i)),b&&!h&&!T){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(H))?.json();if(S){let{data:P,expired:v}=S;if(q().isAfter(v))await A.delete(H);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,d)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,d),s?.onAfterResponse?.(P,d),D(c,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,D(c,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let u=o?await t(void 0,{...s,signal:A.signal}):await t(d,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,p==="append"&&$(R.__rawData)&&$(u?.data)){if(Array.isArray(R.__rawData)&&Array.isArray(u?.data)){let S=[...R?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof R.__rawData=="object"&&typeof u.data=="object"){let S={...R.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,d)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,d),u.status||s?.onError?.(u,d),s?.onAfterResponse?.(u,d),D(c,{loading:false,response:u,isCancel:false}),b&&u.status){let S=q().add(te,re).toISOString(),P={data:u,expired:S},v=await caches.open(j),z=new Response(JSON.stringify(P));await v.put(H,z);}}},[i,t,s,T,j,H,te,re,b,R]);useEffect(()=>{if(s?.refreshInterval){let h=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,d=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{l();},q.duration(h,d).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,l]);let f=useRef(null),{enabledRefetch:C,timeoutRefetch:x,timeoutUnitRefetch:w}=useMemo(()=>{let h=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,d=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof d=="number"?d:d?.value??60*5,u=typeof d=="object"?d.unit:"s";return {enabledRefetch:h,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!C)return;let h=q.duration(x,w).asMilliseconds(),d=()=>{let u=Date.now(),S=f.current;S!==null&&u-S>=h&&l(),f.current=null;},A=()=>{f.current=Date.now();};return window.addEventListener("focus",d),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",A);}},[C,x,w,l]);let m=useCallback(()=>{B.current?.abort(),B.current=null,D(c,{loading:false,isCancel:true});},[c,B]),K=useCallback(()=>{D(c,{loading:false,response:null});},[c]),U=useMemo(()=>({...R,loading:y,refresh:l,abort:m,clear:K,response:R,isCancel:T,clone:(h,d)=>ut(t,h,{storeName:`${a}-clone`,...d})}),[R,y,l,m,K,T,t]);return useEffect(()=>(ve(c,U),()=>{ke(c);}),[U,c]),[R?.data,U]}async function Vr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ft=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ft||{}),dt=(l=>(l.number="number",l.currency="currency",l.percent="percent",l.date="date",l.dateTime="dateTime",l.month="month",l.year="year",l.time="time",l.timestamp="timestamp",l.string="string",l.textarea="textarea",l.code="code",l.password="password",l.boolean="boolean",l.toggle="toggle",l.email="email",l.phone="phone",l.url="url",l.json="json",l.file="file",l.image="image",l.array="array",l.object="object",l.enum="enum",l.user="user",l.department="department",l.status="status",l))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ne(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?Rt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?mt(t,n):r==="string"?yt(t,n):t?.toString()}catch{return}}};function mt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function yt(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=xe(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}Ne(10,{thouSep:",",decSep:".",decDigits:2});function Ne(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let T=String(e??"").trim().trim();if(ae(T,r))return T}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let y=Math.pow(10,n);i=Math[o](i*y)/y;}else i=Math[o](i);else if(typeof n=="number"){let y=Math.pow(10,n);i=Math.trunc(i*y)/y;}let s=0;if(n==="auto"){let y=i.toString(),T=y.indexOf(".");T!==-1&&(s=y.length-T-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function Rt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Qr(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function rn(e,t,r){let[n,o]=useState(false),a=(p,y)=>typeof e=="string"&&p===e||typeof e=="number"&&y===e,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:y,keyCode:T}=p,R=p.ctrlKey,D=p.altKey,O=p.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(y,T)&&(t==="ctrl"&&R||t==="alt"&&D||t==="shift"&&O)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let g=t.every(N=>N==="ctrl"?R:N==="alt"?D:N==="shift"?O:false);a(y,T)&&g&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(y,T)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},c=({key:p,keyCode:y})=>{a(p,y)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:p,encryptRequest:y,encryptResponse:T,passphrase:R})=>{let{encrypt:D,decrypt:O,passphrase:g}=Q(),N=(b,l,f,C)=>{let x=C?.code==="ERR_CANCELED",w=b?.status===401,m=b?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:T)&&m){let u=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?g:f.passphrase:R;try{m=O(m,u);}catch{try{m=O(m,g);}catch{}}}let h={...n({...b,data:m,isCancel:x,isUnauthorization:w},C),isCancel:x,isUnauthorization:w,httpCode:b?.status},d=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:c,A=s?s(h,f):!w;if((f?.infoSuccess&&h.status||f?.infoError&&!h.status)&&i&&(!x||!d)&&i(h),!A&&(!x||!f?.disabledHandleUnauthorized)){let u=f?.onUnauthorized||a;u&&u(h);}if(l)l(h);else return h},F=(b,l=()=>{})=>Tt.create({baseURL:`${e}`,withCredentials:typeof b.withCredentials=="boolean"?b.withCredentials:p})(b).then(l).catch(C=>l(C.response,C)),L=(b,l,f,C,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},K={"Content-Type":"application/json",...o,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):m.token&&(K.Authorization=`Bearer ${m.token}`)),r&&(f=r(f)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:y)&&f){let h=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?g:x.passphrase:R;f=D(f,h);}return F({url:l,method:b,data:f,headers:K,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:h=>{m?.onUploadProgress&&m?.onUploadProgress(h);}},(h,d)=>N(h,C,m,d))};return {client:F,post:(b,l,f,C)=>L("POST",`${b}`,l,f,C),put:(b,l,f,C)=>L("PUT",`${b}`,l,f,C),patch:(b,l,f,C)=>L("PATCH",`${b}`,l,f,C),delete:(b,l,f)=>L("DELETE",`${b}`,null,l,f),get:(b,l,f)=>L("GET",`${b}`,null,l,f),upload:(b,l,f,C)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),L("POST",`${b}`,x,f,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(b,l,f,C,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},K={"Content-Type":"application/json",...o,...m.headers};if(m.token){let k=typeof m.token=="boolean"?t:m.token;k&&(K.Authorization=`Bearer ${k}`);}let U=f;if(r&&(U=r(U)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:y)&&U){let k=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?g:m.passphrase:R;U=D(U,k);}let d=await fetch(`${e}${l}`,{method:b,headers:K,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(U)}),A=d?.status,u=A===401;if(!d.ok){let k=d?.statusText||"Error";try{let X=d.headers.get("content-type")||"",V=await d.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&f){let Fe=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?g:x.passphrase:R;try{f=O(se,Fe);}catch{try{f=O(se,g);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:c,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};x?.infoError&&i&&!oe&&i(W),C(W);return}let S=d.body.getReader(),P=new TextDecoder("utf-8"),v="",z=!1;for(;!z;){let{done:k,value:oe}=await S.read();z=k,v+=P.decode(oe,{stream:!0});let W=v.split(`
2
2
 
3
- `);N=Y.pop();for(let X of Y)if(X.startsWith("data:"))try{let _=he(X);C({status:!0,data:_,message:"",isCancel:!1,isUnauthorization:c,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:c,httpCode:A,isDone:!0});}catch(w){let m=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function ln(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),p=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async R=>{p.current?.abort();let x=new AbortController;p.current=x,n(true),t?.beforeRequest&&(R=t?.beforeRequest(R)),t?.logging&&console.log("Before request",R),t?.onBeforeRequest&&t?.onBeforeRequest(R);let O={...t,signal:x.signal,onUploadProgress:E=>{let F=Math.round(E.loaded*100/(E.total||1));s(F);}},g=e.__isVoid?await e(void 0,O):await e(R,void 0,O);t?.logging&&console.log("After response",g),a(g),n(false),s(0),t?.afterResponse&&g?.data&&(g.data=t?.afterResponse(g.data,R)),g.status&&t?.onSuccess&&t?.onSuccess(g,R),!g.status&&t?.onError&&t?.onError(g,R),t?.onAfterResponse?.(g,R);},{...o,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Dt(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var Tt=typeof window<"u"?window:null;function un(e={}){let{getTrigger:t=Dt,target:r=Tt,disableHysteresis:n=false,threshold:o=100}=e,a=me.useRef(0),[i,s]=me.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return me.useEffect(()=>{let p=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,o]),i}function mn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=useState(e);return useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var Tn=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:p}=Ue(n)||{},d=O=>{let g=O.states[n]??z;return {loading:g.loading,isCancel:g.isCancel,response:g.response}},{loading:y,isCancel:D,response:R}=o?J(useShallow(d)):J(d),x=useMemo(()=>[R?.data,{...R,loading:y,isCancel:D,refresh:a,abort:i,clear:s,clone:p}],[R,y,D,a,i,s,p]);return t?.selector?t.selector(x):x};var An=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Sn=(e,t)=>{let r={};r.others=[];let n=o=>{me.Children.forEach(o,a=>{if(me.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let s=a;s.props?.children?n(s.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function qn(){let{format:e}=L();return (t="",r=false)=>De(t,r,e.number.decSep)}function kn(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(p=>p());}function i(s){let p=useRef(s?s(t):t);return useSyncExternalStore(o,()=>{let d=s?s(t):t,y=p.current;return Object.is(y,d)||(p.current=d),p.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function wt(e,t=[]){let r={};for(let n in e){let o=e[n];if(typeof o=="function"){let a=o.bind(null);a.__path=[...t,n].join("."),a.__isVoid=o.length===2,r[n]=a;}else typeof o=="object"&&o!==null?r[n]=wt(o,[...t,n]):r[n]=o;}return r}function $n(e,t){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let p=async D=>{s.current?.abort();let R=new AbortController;s.current=R,n(true),a([]),i.current=[],e(D,x=>{x.isDone||(i.current.push(x),a([...i.current])),(x.isDone||!x.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),x.status?t?.onStream&&t?.onStream(x):t?.onError&&t?.onError(x);},{signal:R.signal});},d=()=>{s.current?.abort(),s.current=null,n(false);},y=()=>{n(false),a([]),i.current=[];};return [o.map(D=>D.data),p,{loading:r,abort:d,reset:y,response:o}]}export{et as BgsCoreProvider,ct as DataTypeEnum,pt as HttpMethod,be as capitalizeWords,on as createApiHelper,An as createElement,kn as createStore,er as debounce,ie as decrypt,Pe as decryptString,z as defaultState,Yt as diffJson,ae as encrypt,Se as encryptString,tr as filterDOMPropsLite,ge as generateCacheKey,Wt as generateUUID,Ue as getApiActions,or as getDateRangeLabelFromSorted,v as getFieldValue,rr as getInitials,nr as getMinMaxDate,sr as getTotalMinutes,Jt as isArray,se as isDirtyRaw,$ as isNotEmpty,ze as isValidNumber,Qt as jsonCopy,ye as labelFormatter,ar as mappingData,zt as mappingUndefinedtoNull,q as moment,Ge as objectToQueryString,he as parseSSEChunk,De as parseStringToNumber,we as registerApi,Gt as renderChildren,Re as replaceNullStrings,at as safeUpdate,Xt as sorting,Sn as splitElement,Ye as stableStringify,Zt as summary,qe as unregisterApi,lt as useApiLoad,J as useApiLoadStore,ln as useApiSend,Tn as useApiStore,$n as useApiStream,L as useBgsCore,Q as useCrypto,mn as useDebounce,Lr as useDelay,_r as useFormatted,Yr as useInterval,Gr as useKeyPress,qn as useParseStringToNumber,un as useScrollTrigger,Oe as useStorage,wt as wrapApi};
3
+ `);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=De(X);C({status:!0,data:V,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0});}catch(w){let m=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function mn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),c=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async R=>{c.current?.abort();let D=new AbortController;c.current=D,n(true),t?.beforeRequest&&(R=t?.beforeRequest(R)),t?.logging&&console.log("Before request",R),t?.onBeforeRequest&&t?.onBeforeRequest(R);let O={...t,signal:D.signal,onUploadProgress:N=>{let F=Math.round(N.loaded*100/(N.total||1));s(F);}},g=e.__isVoid?await e(void 0,O):await e(R,void 0,O);t?.logging&&console.log("After response",g),a(g),n(false),s(0),t?.afterResponse&&g?.data&&(g.data=t?.afterResponse(g.data,R)),g.status&&t?.onSuccess&&t?.onSuccess(g,R),!g.status&&t?.onError&&t?.onError(g,R),t?.onAfterResponse?.(g,R);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Ct(e,t){let{disableHysteresis:r=false,threshold:n=100,target:o}=t,a=e.current;return o&&(typeof o.pageYOffset=="number"?e.current=o.pageYOffset:o.scrollTop!==void 0&&(e.current=o.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var At=typeof window<"u"?window:null;function gn(e={}){let{getTrigger:t=Ct,target:r=At,disableHysteresis:n=false,threshold:o=100}=e,a=ee.useRef(0),[i,s]=ee.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return ee.useEffect(()=>{let c=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,t,n,o]),i}function Tn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=useState(e);return useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var On=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:c}=Ee(n)||{},p=O=>{let g=O.states[n]??Y;return {loading:g.loading,isCancel:g.isCancel,response:g.response}},{loading:y,isCancel:T,response:R}=o?J(useShallow(p)):J(p),D=useMemo(()=>[R?.data,{...R,loading:y,isCancel:T,refresh:a,abort:i,clear:s,clone:c}],[R,y,T,a,i,s,c]);return t?.selector?t.selector(D):D};var Un=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},$e=(e,t)=>{let r=false;return ee.Children.forEach(e,n=>{if(ee.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&$e(o.props.children,t))&&(r=true);}}),r},vn=(e,t)=>{let r={others:[]},n=o=>{ee.Children.forEach(o,a=>{if(ee.isValidElement(a)){let i=a.type.displayName,s=a,c=s.props?.children;t.includes(i)?r[i]=a:c&&$e(c,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function Mn(){let{format:e}=I();return (t="",r=false)=>Ce(t,r,e.number.decSep)}function In(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 o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var ge={};function Hn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!e)return;if(ge[e]){s(()=>ge[e]);return}n(true),(async()=>{try{let p=await import(`${t.path}${e}${t.extension??".svg?react"}`);ge[e]=p.default,s(()=>p.default);}catch(p){a(p),console.error(p);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function _n(e){let t=e,r=new Set;function n(){return t}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?t=s(t):t=s,r.forEach(c=>c());}function i(s){let c=useRef(s?s(t):t);return useSyncExternalStore(o,()=>{let p=s?s(t):t,y=c.current;return Object.is(y,p)||(c.current=p),c.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Nt(e,t=[]){let r={};for(let n in e){let o=e[n];if(typeof o=="function"){let a=o.bind(null);a.__path=[...t,n].join("."),a.__isVoid=o.length===2,r[n]=a;}else typeof o=="object"&&o!==null?r[n]=Nt(o,[...t,n]):r[n]=o;}return r}function Jn(e,t){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async T=>{s.current?.abort();let R=new AbortController;s.current=R,n(true),a([]),i.current=[],e(T,D=>{D.isDone||(i.current.push(D),a([...i.current])),(D.isDone||!D.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),D.status?t?.onStream&&t?.onStream(D):t?.onError&&t?.onError(D);},{signal:R.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},y=()=>{n(false),a([]),i.current=[];};return [o.map(T=>T.data),c,{loading:r,abort:p,reset:y,response:o}]}export{nt as BgsCoreProvider,dt as DataTypeEnum,ft as HttpMethod,xe as capitalizeWords,un as createApiHelper,Un as createElement,_n as createStore,ar as debounce,le as decrypt,qe as decryptString,Y as defaultState,Qt as diffJson,ie as encrypt,we as encryptString,ir as filterDOMPropsLite,Te as generateCacheKey,Zt as generateUUID,Ee as getApiActions,pr as getDateRangeLabelFromSorted,E as getFieldValue,lr as getInitials,cr as getMinMaxDate,ur as getTotalMinutes,tr as isArray,ae as isDirtyRaw,$ as isNotEmpty,Xe as isValidNumber,sr as jsonCopy,he as labelFormatter,fr as mappingData,er as mappingUndefinedtoNull,q as moment,Qe as objectToQueryString,De as parseSSEChunk,Ce as parseStringToNumber,ve as registerApi,rr as renderChildren,be as replaceNullStrings,ct as safeUpdate,nr as sorting,vn as splitElement,Ge as stableStringify,or as summary,ke as unregisterApi,ut as useApiLoad,J as useApiLoadStore,mn as useApiSend,On as useApiStore,Jn as useApiStream,I as useBgsCore,Q as useCrypto,Tn as useDebounce,Vr as useDelay,Hn as useDynamicSvgImport,In as useElementBounding,Gr as useFormatted,Qr as useInterval,rn as useKeyPress,Mn as useParseStringToNumber,gn as useScrollTrigger,Ue as useStorage,Nt as wrapApi};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
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",