@bgscore/react-core 1.0.13 → 1.0.14

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 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||s?.hold)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,s?.hold]);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(typeof l=="function")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(`
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 N=(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=N(r,t)?N(r,t):"",a=N(n,t)?N(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=N(r,t)?N(r,t):"",a=N(n,t)?N(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?N(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 De(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 xe=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 pr(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 cr(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,o=" | ")=>{if(!Array.isArray(e))return [];let a=e.map((l,p)=>{if(typeof l!="object"){let f=typeof t=="function"?t(l,p):l,R=typeof r=="function"?r(l,p):l;return {label:f,value:R,index:p,rowData:l}}else {let f=typeof t=="function"?t(l,p):N(l,t,""),R=typeof r=="function"?r(l,p):N(l,r,"");return {label:f,value:typeof R=="boolean"?R:R||"",index:p,rowData:l}}});if(!n)return [{items:a}];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,f=i.map(y=>typeof p=="object"?N(p,y,""):"").map(y=>String(y??"")).join(o),R=s.get(f)||[];R.push(l),s.set(f,R);}return Array.from(s.entries()).map(([l,p])=>({group:l,items:p}))};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 l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[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,l]=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=f=>{if(f.key===i)if(f.newValue)try{l(t(JSON.parse(f.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else l(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 pt(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};pt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var ce=new Map,ve=(e,t)=>{ce.set(e,t);},ke=e=>{ce.delete(e);},Ne=e=>ce.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,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[f,R,y,x]=J(shallow.useShallow(b=>{let m=b.states[l]??Y;return [m.loading,m.isCancel,m.response,b.updateState]})),{storageKey:O,cache:h,clearPreviousData:E,refetchOnWindowFocus:F}=I(),L=Ue(),_=ee.useRef(void 0),B=ee.useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:T}=ee.useMemo(()=>{let b=O?L.get(O):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof h?.enabled=="boolean"&&(u=h.enabled);let S=false;typeof h?.persistence=="boolean"&&(S=h?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(h?.timeout)&&(typeof h?.timeout=="number"?(P=h.timeout,v="s"):typeof h?.timeout=="object"&&(P=h?.timeout.value,v=h?.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:m,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,h,a]);ee.useEffect(()=>{let b=JSON.stringify($(_.current)?_.current:""),m=JSON.stringify($(i)?i:""),A=_.current===void 0;(b!==m||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(l,{response:null}),c(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),ee.useEffect(()=>{let b=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),B.current?.abort();}},[ne,j,H,l,B]);let c=ee.useCallback(async b=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),T&&!b&&!R){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,m)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,m),s?.onAfterResponse?.(P,m),x(l,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,x(l,{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(m,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,p==="append"&&$(y.__rawData)&&$(u?.data)){if(Array.isArray(y.__rawData)&&Array.isArray(u?.data)){let S=[...y?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof y.__rawData=="object"&&typeof u.data=="object"){let S={...y.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,m)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,m),u.status||s?.onError?.(u,m),s?.onAfterResponse?.(u,m),x(l,{loading:false,response:u,isCancel:false}),T&&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,R,j,H,te,re,T,y]);ee.useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{c();},q.duration(b,m).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,c]);let d=ee.useRef(null),{enabledRefetch:C,timeoutRefetch:D,timeoutUnitRefetch:w}=ee.useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof m=="number"?m:m?.value??60*5,u=typeof m=="object"?m.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);ee.useEffect(()=>{if(!C||s?.hold)return;let b=q.duration(D,w).asMilliseconds(),m=()=>{let u=Date.now(),S=d.current;S!==null&&u-S>=b&&c(),d.current=null;},A=()=>{d.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",A);}},[C,D,w,c,s?.hold]);let g=ee.useCallback(()=>{B.current?.abort(),B.current=null,x(l,{loading:false,isCancel:true});},[l,B]),K=ee.useCallback(()=>{x(l,{loading:false,response:null});},[l]),U=ee.useMemo(()=>({...y,loading:f,refresh:c,abort:g,clear:K,response:y,isCancel:R,clone:(b,m)=>ut(t,b,{storeName:`${a}-clone`,...m})}),[y,f,c,g,K,R,t]);return ee.useEffect(()=>(ve(l,U),()=>{ke(l);}),[U,l]),[y?.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=(c=>(c.number="number",c.currency="currency",c.percent="percent",c.date="date",c.dateTime="dateTime",c.month="month",c.year="year",c.time="time",c.timestamp="timestamp",c.string="string",c.textarea="textarea",c.code="code",c.password="password",c.boolean="boolean",c.toggle="toggle",c.email="email",c.phone="phone",c.url="url",c.json="json",c.file="file",c.image="image",c.array="array",c.object="object",c.enum="enum",c.user="user",c.department="department",c.status="status",c))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ee(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?gt(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=De(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}Ee(10,{thouSep:",",decSep:".",decDigits:2});function Ee(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(e??"").trim().trim();if(ae(R,r))return R}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),R=f.indexOf(".");R!==-1&&(s=f.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function gt(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,f)=>typeof e=="string"&&p===e||typeof e=="number"&&f===e,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:f,keyCode:R}=p,y=p.ctrlKey,x=p.altKey,O=p.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(f,R)&&(t==="ctrl"&&y||t==="alt"&&x||t==="shift"&&O)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let h=t.every(E=>E==="ctrl"?y:E==="alt"?x:E==="shift"?O:false);a(f,R)&&h&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(f,R)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:f})=>{a(p,f)&&o(false);};return ee.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:f,encryptResponse:R,passphrase:y})=>{let{encrypt:x,decrypt:O,passphrase:h}=Q(),E=(T,c,d,C)=>{let D=C?.code==="ERR_CANCELED",w=T?.status===401,g=T?.data;if((typeof d?.encryptResponse=="boolean"?d?.encryptResponse:R)&&g){let u=d?.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?h:d.passphrase:y;try{g=O(g,u);}catch{try{g=O(g,h);}catch{}}}let b={...n({...T,data:g,isCancel:D,isUnauthorization:w},C),isCancel:D,isUnauthorization:w,httpCode:T?.status},m=typeof d?.disabledToastWhenCancel=="boolean"?d?.disabledToastWhenCancel:l,A=s?s(b,d):!w;if((d?.infoSuccess&&b.status||d?.infoError&&!b.status)&&i&&(!D||!m)&&i(b),!A&&(!D||!d?.disabledHandleUnauthorized)){let u=d?.onUnauthorized||a;u&&u(b);}if(typeof c=="function")c(b);else return b},F=(T,c=()=>{})=>Tt__default.default.create({baseURL:`${e}`,withCredentials:typeof T.withCredentials=="boolean"?T.withCredentials:p})(T).then(c).catch(C=>c(C.response,C)),L=(T,c,d,C,D)=>{let g={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token&&(typeof g.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):g.token&&(K.Authorization=`Bearer ${g.token}`)),r&&(d=r(d)),(typeof g?.encryptRequest=="boolean"?g?.encryptRequest:f)&&d){let b=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;d=x(d,b);}return F({url:c,method:T,data:d,headers:K,responseType:g.responseType,signal:g.signal,withCredentials:g.withCredentials,onUploadProgress:b=>{g?.onUploadProgress&&g?.onUploadProgress(b);}},(b,m)=>E(b,C,g,m))};return {client:F,post:(T,c,d,C)=>L("POST",`${T}`,c,d,C),put:(T,c,d,C)=>L("PUT",`${T}`,c,d,C),patch:(T,c,d,C)=>L("PATCH",`${T}`,c,d,C),delete:(T,c,d)=>L("DELETE",`${T}`,null,c,d),get:(T,c,d)=>L("GET",`${T}`,null,c,d),upload:(T,c,d,C)=>{let D=new FormData;return Object.keys(c).forEach(w=>D.append(w,c[w])),L("POST",`${T}`,D,d,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(T,c,d,C,D)=>{try{let g={...{token:!0,responseType:"json",infoError:!0},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token){let k=typeof g.token=="boolean"?t:g.token;k&&(K.Authorization=`Bearer ${k}`);}let U=d;if(r&&(U=r(U)),(typeof g.encryptRequest=="boolean"?g.encryptRequest:f)&&U){let k=g.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?h:g.passphrase:y;U=x(U,k);}let m=await fetch(`${e}${c}`,{method:T,headers:K,credentials:g.withCredentials?"include":"same-origin",signal:g.signal,body:JSON.stringify(U)}),A=m?.status,u=A===401;if(!m.ok){let k=m?.statusText||"Error";try{let X=m.headers.get("content-type")||"",V=await m.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof D?.encryptResponse=="boolean"?D?.encryptResponse:R)&&d){let Fe=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;try{d=O(se,Fe);}catch{try{d=O(se,h);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof D?.disabledToastWhenCancel=="boolean"?D?.disabledToastWhenCancel:l,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};D?.infoError&&i&&!oe&&i(W),C(W);return}let S=m.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
- `);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;
3
+ `);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=xe(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 g=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:g,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),l=ee.useRef(null);return ee.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async y=>{l.current?.abort();let x=new AbortController;l.current=x,n(true),t?.beforeRequest&&(y=t?.beforeRequest(y)),t?.logging&&console.log("Before request",y),t?.onBeforeRequest&&t?.onBeforeRequest(y);let O={...t,signal:x.signal,onUploadProgress:E=>{let F=Math.round(E.loaded*100/(E.total||1));s(F);}},h=e.__isVoid?await e(void 0,O):await e(y,void 0,O);t?.logging&&console.log("After response",h),a(h),n(false),s(0),t?.afterResponse&&h?.data&&(h.data=t?.afterResponse(h.data,y)),h.status&&t?.onSuccess&&t?.onSuccess(h,y),!h.status&&t?.onError&&t?.onError(h,y),t?.onAfterResponse?.(h,y);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function 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 Rn(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 l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[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:l}=Ne(n)||{},p=O=>{let h=O.states[n]??Y;return {loading:h.loading,isCancel:h.isCancel,response:h.response}},{loading:f,isCancel:R,response:y}=o?J(shallow.useShallow(p)):J(p),x=ee.useMemo(()=>[y?.data,{...y,loading:f,isCancel:R,refresh:a,abort:i,clear:s,clone:l}],[y,f,R,a,i,s,l]);return t?.selector?t.selector(x):x};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,l=s.props?.children;t.includes(i)?r[i]=a:l&&$e(l,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 Re={};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(Re[e]){s(()=>Re[e]);return}n(true),(async()=>{try{let p=await import(`${t.path}${e}${t.extension??".svg?react"}`);Re[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(l=>l());}function i(s){let l=ee.useRef(s?s(t):t);return ee.useSyncExternalStore(o,()=>{let p=s?s(t):t,f=l.current;return Object.is(f,p)||(l.current=p),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Et(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]=Et(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 l=async R=>{s.current?.abort();let y=new AbortController;s.current=y,n(true),a([]),i.current=[],e(R,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:y.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},f=()=>{n(false),a([]),i.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:p,reset:f,response:o}]}exports.BgsCoreProvider=nt;exports.DataTypeEnum=dt;exports.HttpMethod=ft;exports.capitalizeWords=De;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=Ne;exports.getDateRangeLabelFromSorted=cr;exports.getFieldValue=N;exports.getInitials=lr;exports.getMinMaxDate=pr;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=xe;exports.parseStringToNumber=Ce;exports.registerApi=ve;exports.renderChildren=rr;exports.replaceNullStrings=be;exports.safeUpdate=pt;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=Rn;exports.useStorage=Ue;exports.wrapApi=Et;
package/dist/index.d.cts CHANGED
@@ -438,6 +438,10 @@ type DataSource<T = unknown> = {
438
438
  index: number;
439
439
  rowData: T;
440
440
  };
441
+ type MappingDataReturn<T> = {
442
+ group?: string;
443
+ items: DataSource<T>[];
444
+ };
441
445
 
442
446
  declare function useApiLoad<DRes>(api: ApiMethodVoid<DRes>, options?: Partial<UseCallOptionsProps<undefined, DRes>>): UseCallReturnType<undefined, DRes>;
443
447
  declare function useApiLoad<DReq, DRes>(api: ApiMethod<DReq, DRes>, data: DReq, options?: Partial<UseCallOptionsProps<DReq, DRes>>): UseCallReturnType<DReq, DRes>;
@@ -654,7 +658,7 @@ declare function getInitials(fullName?: string, max?: number): string;
654
658
  declare function getMinMaxDate(dates?: string[]): [string, string];
655
659
  declare function getDateRangeLabelFromSorted(from: string, to: string): string;
656
660
  declare function getTotalMinutes(from?: string, to?: string): string;
657
- declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T>) => DataSource<T>[];
661
+ declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T> | NestedKeyOf<T>[], groupSeparator?: string) => MappingDataReturn<T>[];
658
662
  declare function objectToQueryString(obj: Record<string, any>, parentKey?: string): string;
659
663
  declare function replaceNullStrings(input: any): any;
660
664
 
@@ -724,4 +728,4 @@ interface BgsCoreProviderProps {
724
728
  }
725
729
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
726
730
 
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 };
731
+ 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 MappingDataReturn, 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
@@ -438,6 +438,10 @@ type DataSource<T = unknown> = {
438
438
  index: number;
439
439
  rowData: T;
440
440
  };
441
+ type MappingDataReturn<T> = {
442
+ group?: string;
443
+ items: DataSource<T>[];
444
+ };
441
445
 
442
446
  declare function useApiLoad<DRes>(api: ApiMethodVoid<DRes>, options?: Partial<UseCallOptionsProps<undefined, DRes>>): UseCallReturnType<undefined, DRes>;
443
447
  declare function useApiLoad<DReq, DRes>(api: ApiMethod<DReq, DRes>, data: DReq, options?: Partial<UseCallOptionsProps<DReq, DRes>>): UseCallReturnType<DReq, DRes>;
@@ -654,7 +658,7 @@ declare function getInitials(fullName?: string, max?: number): string;
654
658
  declare function getMinMaxDate(dates?: string[]): [string, string];
655
659
  declare function getDateRangeLabelFromSorted(from: string, to: string): string;
656
660
  declare function getTotalMinutes(from?: string, to?: string): string;
657
- declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T>) => DataSource<T>[];
661
+ declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T> | NestedKeyOf<T>[], groupSeparator?: string) => MappingDataReturn<T>[];
658
662
  declare function objectToQueryString(obj: Record<string, any>, parentKey?: string): string;
659
663
  declare function replaceNullStrings(input: any): any;
660
664
 
@@ -724,4 +728,4 @@ interface BgsCoreProviderProps {
724
728
  }
725
729
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
726
730
 
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 };
731
+ 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 MappingDataReturn, 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 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||s?.hold)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,s?.hold]);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(typeof l=="function")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(`
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 N=(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=N(r,t)?N(r,t):"",a=N(n,t)?N(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=N(r,t)?N(r,t):"",a=N(n,t)?N(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?N(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 De(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 xe=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 pr(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 cr(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,o=" | ")=>{if(!Array.isArray(e))return [];let a=e.map((l,p)=>{if(typeof l!="object"){let f=typeof t=="function"?t(l,p):l,R=typeof r=="function"?r(l,p):l;return {label:f,value:R,index:p,rowData:l}}else {let f=typeof t=="function"?t(l,p):N(l,t,""),R=typeof r=="function"?r(l,p):N(l,r,"");return {label:f,value:typeof R=="boolean"?R:R||"",index:p,rowData:l}}});if(!n)return [{items:a}];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,f=i.map(y=>typeof p=="object"?N(p,y,""):"").map(y=>String(y??"")).join(o),R=s.get(f)||[];R.push(l),s.set(f,R);}return Array.from(s.entries()).map(([l,p])=>({group:l,items:p}))};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 l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[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,l]=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=f=>{if(f.key===i)if(f.newValue)try{l(t(JSON.parse(f.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else l(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 pt(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};pt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var ce=new Map,ve=(e,t)=>{ce.set(e,t);},ke=e=>{ce.delete(e);},Ne=e=>ce.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,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[f,R,y,x]=J(useShallow(b=>{let m=b.states[l]??Y;return [m.loading,m.isCancel,m.response,b.updateState]})),{storageKey:O,cache:h,clearPreviousData:E,refetchOnWindowFocus:F}=I(),L=Ue(),_=useRef(void 0),B=useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:T}=useMemo(()=>{let b=O?L.get(O):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof h?.enabled=="boolean"&&(u=h.enabled);let S=false;typeof h?.persistence=="boolean"&&(S=h?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(h?.timeout)&&(typeof h?.timeout=="number"?(P=h.timeout,v="s"):typeof h?.timeout=="object"&&(P=h?.timeout.value,v=h?.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:m,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,h,a]);useEffect(()=>{let b=JSON.stringify($(_.current)?_.current:""),m=JSON.stringify($(i)?i:""),A=_.current===void 0;(b!==m||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(l,{response:null}),c(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),useEffect(()=>{let b=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),B.current?.abort();}},[ne,j,H,l,B]);let c=useCallback(async b=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),T&&!b&&!R){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,m)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,m),s?.onAfterResponse?.(P,m),x(l,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,x(l,{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(m,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,p==="append"&&$(y.__rawData)&&$(u?.data)){if(Array.isArray(y.__rawData)&&Array.isArray(u?.data)){let S=[...y?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof y.__rawData=="object"&&typeof u.data=="object"){let S={...y.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,m)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,m),u.status||s?.onError?.(u,m),s?.onAfterResponse?.(u,m),x(l,{loading:false,response:u,isCancel:false}),T&&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,R,j,H,te,re,T,y]);useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{c();},q.duration(b,m).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,c]);let d=useRef(null),{enabledRefetch:C,timeoutRefetch:D,timeoutUnitRefetch:w}=useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof m=="number"?m:m?.value??60*5,u=typeof m=="object"?m.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!C||s?.hold)return;let b=q.duration(D,w).asMilliseconds(),m=()=>{let u=Date.now(),S=d.current;S!==null&&u-S>=b&&c(),d.current=null;},A=()=>{d.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",A);}},[C,D,w,c,s?.hold]);let g=useCallback(()=>{B.current?.abort(),B.current=null,x(l,{loading:false,isCancel:true});},[l,B]),K=useCallback(()=>{x(l,{loading:false,response:null});},[l]),U=useMemo(()=>({...y,loading:f,refresh:c,abort:g,clear:K,response:y,isCancel:R,clone:(b,m)=>ut(t,b,{storeName:`${a}-clone`,...m})}),[y,f,c,g,K,R,t]);return useEffect(()=>(ve(l,U),()=>{ke(l);}),[U,l]),[y?.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=(c=>(c.number="number",c.currency="currency",c.percent="percent",c.date="date",c.dateTime="dateTime",c.month="month",c.year="year",c.time="time",c.timestamp="timestamp",c.string="string",c.textarea="textarea",c.code="code",c.password="password",c.boolean="boolean",c.toggle="toggle",c.email="email",c.phone="phone",c.url="url",c.json="json",c.file="file",c.image="image",c.array="array",c.object="object",c.enum="enum",c.user="user",c.department="department",c.status="status",c))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ee(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?gt(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=De(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}Ee(10,{thouSep:",",decSep:".",decDigits:2});function Ee(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(e??"").trim().trim();if(ae(R,r))return R}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),R=f.indexOf(".");R!==-1&&(s=f.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function gt(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,f)=>typeof e=="string"&&p===e||typeof e=="number"&&f===e,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:f,keyCode:R}=p,y=p.ctrlKey,x=p.altKey,O=p.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(f,R)&&(t==="ctrl"&&y||t==="alt"&&x||t==="shift"&&O)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let h=t.every(E=>E==="ctrl"?y:E==="alt"?x:E==="shift"?O:false);a(f,R)&&h&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(f,R)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:f})=>{a(p,f)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:f,encryptResponse:R,passphrase:y})=>{let{encrypt:x,decrypt:O,passphrase:h}=Q(),E=(T,c,d,C)=>{let D=C?.code==="ERR_CANCELED",w=T?.status===401,g=T?.data;if((typeof d?.encryptResponse=="boolean"?d?.encryptResponse:R)&&g){let u=d?.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?h:d.passphrase:y;try{g=O(g,u);}catch{try{g=O(g,h);}catch{}}}let b={...n({...T,data:g,isCancel:D,isUnauthorization:w},C),isCancel:D,isUnauthorization:w,httpCode:T?.status},m=typeof d?.disabledToastWhenCancel=="boolean"?d?.disabledToastWhenCancel:l,A=s?s(b,d):!w;if((d?.infoSuccess&&b.status||d?.infoError&&!b.status)&&i&&(!D||!m)&&i(b),!A&&(!D||!d?.disabledHandleUnauthorized)){let u=d?.onUnauthorized||a;u&&u(b);}if(typeof c=="function")c(b);else return b},F=(T,c=()=>{})=>Tt.create({baseURL:`${e}`,withCredentials:typeof T.withCredentials=="boolean"?T.withCredentials:p})(T).then(c).catch(C=>c(C.response,C)),L=(T,c,d,C,D)=>{let g={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token&&(typeof g.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):g.token&&(K.Authorization=`Bearer ${g.token}`)),r&&(d=r(d)),(typeof g?.encryptRequest=="boolean"?g?.encryptRequest:f)&&d){let b=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;d=x(d,b);}return F({url:c,method:T,data:d,headers:K,responseType:g.responseType,signal:g.signal,withCredentials:g.withCredentials,onUploadProgress:b=>{g?.onUploadProgress&&g?.onUploadProgress(b);}},(b,m)=>E(b,C,g,m))};return {client:F,post:(T,c,d,C)=>L("POST",`${T}`,c,d,C),put:(T,c,d,C)=>L("PUT",`${T}`,c,d,C),patch:(T,c,d,C)=>L("PATCH",`${T}`,c,d,C),delete:(T,c,d)=>L("DELETE",`${T}`,null,c,d),get:(T,c,d)=>L("GET",`${T}`,null,c,d),upload:(T,c,d,C)=>{let D=new FormData;return Object.keys(c).forEach(w=>D.append(w,c[w])),L("POST",`${T}`,D,d,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(T,c,d,C,D)=>{try{let g={...{token:!0,responseType:"json",infoError:!0},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token){let k=typeof g.token=="boolean"?t:g.token;k&&(K.Authorization=`Bearer ${k}`);}let U=d;if(r&&(U=r(U)),(typeof g.encryptRequest=="boolean"?g.encryptRequest:f)&&U){let k=g.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?h:g.passphrase:y;U=x(U,k);}let m=await fetch(`${e}${c}`,{method:T,headers:K,credentials:g.withCredentials?"include":"same-origin",signal:g.signal,body:JSON.stringify(U)}),A=m?.status,u=A===401;if(!m.ok){let k=m?.statusText||"Error";try{let X=m.headers.get("content-type")||"",V=await m.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof D?.encryptResponse=="boolean"?D?.encryptResponse:R)&&d){let Fe=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;try{d=O(se,Fe);}catch{try{d=O(se,h);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof D?.disabledToastWhenCancel=="boolean"?D?.disabledToastWhenCancel:l,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};D?.infoError&&i&&!oe&&i(W),C(W);return}let S=m.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
- `);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};
3
+ `);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=xe(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 g=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:g,isUnauthorization:false,httpCode:400,isDone:true});}}}};function mn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),l=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async y=>{l.current?.abort();let x=new AbortController;l.current=x,n(true),t?.beforeRequest&&(y=t?.beforeRequest(y)),t?.logging&&console.log("Before request",y),t?.onBeforeRequest&&t?.onBeforeRequest(y);let O={...t,signal:x.signal,onUploadProgress:E=>{let F=Math.round(E.loaded*100/(E.total||1));s(F);}},h=e.__isVoid?await e(void 0,O):await e(y,void 0,O);t?.logging&&console.log("After response",h),a(h),n(false),s(0),t?.afterResponse&&h?.data&&(h.data=t?.afterResponse(h.data,y)),h.status&&t?.onSuccess&&t?.onSuccess(h,y),!h.status&&t?.onError&&t?.onError(h,y),t?.onAfterResponse?.(h,y);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function 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 Rn(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 l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[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:l}=Ne(n)||{},p=O=>{let h=O.states[n]??Y;return {loading:h.loading,isCancel:h.isCancel,response:h.response}},{loading:f,isCancel:R,response:y}=o?J(useShallow(p)):J(p),x=useMemo(()=>[y?.data,{...y,loading:f,isCancel:R,refresh:a,abort:i,clear:s,clone:l}],[y,f,R,a,i,s,l]);return t?.selector?t.selector(x):x};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,l=s.props?.children;t.includes(i)?r[i]=a:l&&$e(l,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 Re={};function Hn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!e)return;if(Re[e]){s(()=>Re[e]);return}n(true),(async()=>{try{let p=await import(`${t.path}${e}${t.extension??".svg?react"}`);Re[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(l=>l());}function i(s){let l=useRef(s?s(t):t);return useSyncExternalStore(o,()=>{let p=s?s(t):t,f=l.current;return Object.is(f,p)||(l.current=p),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Et(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]=Et(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 l=async R=>{s.current?.abort();let y=new AbortController;s.current=y,n(true),a([]),i.current=[],e(R,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:y.signal});},p=()=>{s.current?.abort(),s.current=null,n(false);},f=()=>{n(false),a([]),i.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:p,reset:f,response:o}]}export{nt as BgsCoreProvider,dt as DataTypeEnum,ft as HttpMethod,De 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,Ne as getApiActions,cr as getDateRangeLabelFromSorted,N as getFieldValue,lr as getInitials,pr 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,xe as parseSSEChunk,Ce as parseStringToNumber,ve as registerApi,rr as renderChildren,be as replaceNullStrings,pt 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,Rn as useScrollTrigger,Ue as useStorage,Et as wrapApi};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
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",