@bgscore/react-core 0.0.92 → 1.0.0

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 de=require('react'),M=require('dayjs'),Me=require('dayjs/plugin/utc'),$e=require('dayjs/plugin/timezone'),Ke=require('dayjs/plugin/duration'),Le=require('dayjs/plugin/advancedFormat'),Fe=require('dayjs/plugin/localizedFormat'),Be=require('dayjs/plugin/relativeTime'),He=require('dayjs/plugin/isSameOrBefore'),Ie=require('dayjs/plugin/isSameOrAfter'),je=require('dayjs/plugin/weekOfYear'),Ve=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),De=require('crypto-js/aes'),Ce=require('crypto-js/pbkdf2'),Qe=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),Te=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Rt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var de__default=/*#__PURE__*/_interopDefault(de);var M__default=/*#__PURE__*/_interopDefault(M);var Me__default=/*#__PURE__*/_interopDefault(Me);var $e__default=/*#__PURE__*/_interopDefault($e);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Le__default=/*#__PURE__*/_interopDefault(Le);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var De__default=/*#__PURE__*/_interopDefault(De);var Ce__default=/*#__PURE__*/_interopDefault(Ce);var Qe__default=/*#__PURE__*/_interopDefault(Qe);var X__default=/*#__PURE__*/_interopDefault(X);var Te__default=/*#__PURE__*/_interopDefault(Te);var Rt__default=/*#__PURE__*/_interopDefault(Rt);M__default.default.extend(Me__default.default);M__default.default.extend($e__default.default);M__default.default.extend(Ke__default.default);M__default.default.extend(Le__default.default);M__default.default.extend(Fe__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(He__default.default);M__default.default.extend(Ie__default.default);M__default.default.extend(je__default.default);M__default.default.extend(Ve__default.default);var U=M__default.default;function Ht(){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 It(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var jt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Vt(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 B(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 Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Wt(e,t){return typeof e=="function"?e(t):e}var $=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Yt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?$(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Jt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function We(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return We([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function _t(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(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 Ye(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function be(e="",t=false,r="."){if(!Ye(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}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 Gt(e){let t={};for(let r in e)ze.has(r)&&(t[r]=e[r]);return t}function Xt(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Zt(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(U).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Qt(e,t){let r=U(e),n=U(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function er(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=U(e,"HH:mm",true),n=U(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var xe=de.createContext(void 0);function K(){let e=de.useContext(xe);return e||{}}var Xe=({children:e,value:t})=>{let r={...t};return de.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&U.locale(s,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(xe.Provider,{value:r,children:e})};function se(e,t){let r=Te__default.default.random(16),n=Te__default.default.random(16),s=Ce__default.default(t,r,{keySize:256/32,iterations:1e3}),a=De__default.default.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X__default.default),iv:n.toString(X__default.default),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce__default.default(t,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=De__default.default.decrypt(s,a,{iv:X__default.default.parse(n)}).toString(Qe__default.default);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function Se(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=K();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return Se(t,r||e)}}}var Pe=()=>{let{encrypt:e,decrypt:t}=Z(),r=de.useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=de.useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=de.useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return de.useEffect(()=>{let f=d=>{if(d.key===i)if(d.newValue)try{p(t(JSON.parse(d.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=de.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function nt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var Y={loading:false,response:void 0,isCancel:false},z=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??Y,a={...s,...n};nt(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Oe=(e,t)=>{le.set(e,t);},qe=e=>{le.delete(e);},we=e=>le.get(e);function st(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,d,T,g]=z(shallow.useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:D,clearPreviousData:C,refetchOnWindowFocus:q}=K(),j=Pe(),v=de.useRef(void 0),L=de.useRef(null),{cacheName:H,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:_}=de.useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof D?.enabled=="boolean"&&(y=D.enabled);let P=false;typeof D?.persistence=="boolean"&&(P=D?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,k="s";return B(D?.timeout)&&(typeof D?.timeout=="number"?(O=D.timeout,k="s"):typeof D?.timeout=="object"&&(O=D?.timeout.value,k=D?.timeout.unit)),B(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,k="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,k=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:y}},[o?.cache,i,S,D,a]);de.useEffect(()=>{let h=JSON.stringify(B(v.current)?v.current:""),c=JSON.stringify(B(i)?i:""),b=v.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??C)&&g(p,{response:null}),R(),v.current=i),o?.onChange&&o?.onChange(i,N);},[i,o?.clearPreviousData,C,o?.hold,...o?.trigger||[]]),de.useEffect(()=>{let h=async()=>{!te&&H&&F&&(await caches.open(H)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),L.current?.abort();}},[te,H,F,p,L]);let R=de.useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),_&&!h&&!d){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(F))?.json();if(P){let{data:O,expired:k}=P;if(U().isAfter(k))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){L.current?.abort();let b=new AbortController;L.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),_&&y.status){let P=U().add(Q,ee).toISOString(),O={data:y,expired:P},k=await caches.open(H),V=new Response(JSON.stringify(O));await k.put(F,V);}}},[i,t,o,d,H,F,Q,ee,_]);de.useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},U.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=de.useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:x}=de.useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);de.useEffect(()=>{if(!u)return;let h=U.duration(A,x).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,A,x,R]);let w=de.useCallback(()=>{L.current?.abort(),L.current=null,g(p,{loading:false,isCancel:true});},[p,L]),m=de.useCallback(()=>{g(p,{loading:false,response:null});},[p]),N=de.useMemo(()=>({...T,loading:f,refresh:R,abort:w,clear:m,response:T,isCancel:d,clone:(h,c)=>st(t,h,c)}),[T,f,R,w,m,d,t]);return de.useEffect(()=>(Oe(p,N),()=>{qe(p);}),[N,p]),[T?.data,N]}async function kr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var at=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(at||{}),it=(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))(it||{});var Lr=(e,t,r)=>{let{format:n}=K();return t==="number"?ct(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?ut(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?lt(e,r):t==="string"?pt(e,r):e?.toString()??""};function lt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function pt(e,t){if(!B(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function ct(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(a&&typeof e=="string"){let d=e.trim();if(oe(d,r))return d}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[s](i*d)/d;}else i=Math[s](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.floor(i*d)/d;}let o=0;if(n==="auto"){let d=i.toString(),T=d.indexOf(".");T!==-1&&(o=d.length-T-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function ut(e,{display:t,value:r}){if(!B(e))return e;let n=U(e,r);return n.isValid()?n.format(t):e}function Hr(e,{interval:t,lead:r}){let n=de.useRef(null);de.useEffect(()=>{n.current=e;},[e]),de.useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Vr(e,t,r){let[n,s]=de.useState(false),a=(f,d)=>typeof e=="string"&&f===e||typeof e=="number"&&d===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:d,keyCode:T}=f,g=f.ctrlKey,S=f.altKey,D=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,T)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&D)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let C=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?D:false);a(d,T)&&C&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(d,T)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:d})=>{a(f,d)&&s(false);};return de.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Zr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:d,encryptResponse:T,passphrase:g})=>{let{encrypt:S,decrypt:D,passphrase:C}=Z(),q=(R,l,u,A)=>{let x=A?.code==="ERR_CANCELED",w=R?.status===401,m=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:T)&&m){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:g;try{m=D(m,P);}catch{try{m=D(m,C);}catch{}}}let c={...n({...R,data:m,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!x||!b)&&i(c),!y&&(!x||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>Rt__default.default.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(A=>l(A.response,A)),v=(R,l,u,A,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(N.Authorization=`Bearer ${t}`):m.token&&(N.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:d)&&u){let c=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:N,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:c=>{m?.onUploadProgress&&m?.onUploadProgress(c);}},(c,b)=>q(c,A,m,b))};return {client:j,post:(R,l,u,A)=>v("POST",`${R}`,l,u,A),put:(R,l,u,A)=>v("PUT",`${R}`,l,u,A),patch:(R,l,u,A)=>v("PATCH",`${R}`,l,u,A),delete:(R,l,u)=>v("DELETE",`${R}`,null,l,u),get:(R,l,u)=>v("GET",`${R}`,null,l,u),upload:(R,l,u,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),v("POST",`${R}`,x,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(R,l,u,A,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token){let E=typeof m.token=="boolean"?t:m.token;E&&(N.Authorization=`Bearer ${E}`);}let h=u;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let E=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:g;h=S(h,E);}let b=await fetch(`${e}${l}`,{method:R,headers:N,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let E=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(G.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&u){let ve=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{u=D(ne,ve);}catch{try{u=D(ne,C);}catch{}}}E=ne?.message||E;}catch{E=I;}else E=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:E,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:E,value:re}=await O.read();me=E,V+=k.decode(re,{stream:!0});let W=V.split(`
1
+ 'use strict';var de=require('react'),M=require('dayjs'),$e=require('dayjs/plugin/utc'),Ke=require('dayjs/plugin/timezone'),Le=require('dayjs/plugin/duration'),Fe=require('dayjs/plugin/advancedFormat'),Be=require('dayjs/plugin/localizedFormat'),He=require('dayjs/plugin/relativeTime'),Ie=require('dayjs/plugin/isSameOrBefore'),je=require('dayjs/plugin/isSameOrAfter'),Ve=require('dayjs/plugin/weekOfYear'),We=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),De=require('crypto-js/aes'),Ce=require('crypto-js/pbkdf2'),et=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),Te=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Rt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var de__default=/*#__PURE__*/_interopDefault(de);var M__default=/*#__PURE__*/_interopDefault(M);var $e__default=/*#__PURE__*/_interopDefault($e);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Le__default=/*#__PURE__*/_interopDefault(Le);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var We__default=/*#__PURE__*/_interopDefault(We);var De__default=/*#__PURE__*/_interopDefault(De);var Ce__default=/*#__PURE__*/_interopDefault(Ce);var et__default=/*#__PURE__*/_interopDefault(et);var X__default=/*#__PURE__*/_interopDefault(X);var Te__default=/*#__PURE__*/_interopDefault(Te);var Rt__default=/*#__PURE__*/_interopDefault(Rt);M__default.default.extend($e__default.default);M__default.default.extend(Ke__default.default);M__default.default.extend(Le__default.default);M__default.default.extend(Fe__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(He__default.default);M__default.default.extend(Ie__default.default);M__default.default.extend(je__default.default);M__default.default.extend(Ve__default.default);M__default.default.extend(We__default.default);var U=M__default.default;function Ht(){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 It(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var jt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Vt(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 B(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 Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Wt(e,t){return typeof e=="function"?e(t):e}var $=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Yt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?$(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Jt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ye(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return Ye([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function _t(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+${r}$`).test(e)||new RegExp(`^-?${r}\\d*$`).test(e)}function ze(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function be(e="",t=false,r="."){if(!ze(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var Je=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Gt(e){let t={};for(let r in e)Je.has(r)&&(t[r]=e[r]);return t}function Xt(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Zt(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(U).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Qt(e,t){let r=U(e),n=U(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function er(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=U(e,"HH:mm",true),n=U(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var xe=de.createContext(void 0);function K(){let e=de.useContext(xe);return e||{}}var Ze=({children:e,value:t})=>{let r={...t};return de.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&U.locale(s,a??{},i);}})();},[t.localeConfig]),jsxRuntime.jsx(xe.Provider,{value:r,children:e})};function se(e,t){let r=Te__default.default.random(16),n=Te__default.default.random(16),s=Ce__default.default(t,r,{keySize:256/32,iterations:1e3}),a=De__default.default.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X__default.default),iv:n.toString(X__default.default),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce__default.default(t,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=De__default.default.decrypt(s,a,{iv:X__default.default.parse(n)}).toString(et__default.default);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function Se(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=K();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return Se(t,r||e)}}}var Pe=()=>{let{encrypt:e,decrypt:t}=Z(),r=de.useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=de.useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=de.useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return de.useEffect(()=>{let f=m=>{if(m.key===i)if(m.newValue)try{p(t(JSON.parse(m.newValue)));}catch(x){console.error("Decrypt error from storage event",x);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=de.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function ot(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var Y={loading:false,response:void 0,isCancel:false},z=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??Y,a={...s,...n};ot(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Oe=(e,t)=>{le.set(e,t);},qe=e=>{le.delete(e);},we=e=>le.get(e);function at(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,m,x,g]=z(shallow.useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:D,clearPreviousData:C,refetchOnWindowFocus:q}=K(),j=Pe(),E=de.useRef(void 0),L=de.useRef(null),{cacheName:H,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:_}=de.useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof D?.enabled=="boolean"&&(y=D.enabled);let P=false;typeof D?.persistence=="boolean"&&(P=D?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,k="s";return B(D?.timeout)&&(typeof D?.timeout=="number"?(O=D.timeout,k="s"):typeof D?.timeout=="object"&&(O=D?.timeout.value,k=D?.timeout.unit)),B(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,k="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,k=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:y}},[o?.cache,i,S,D,a]);de.useEffect(()=>{let h=JSON.stringify(B(E.current)?E.current:""),c=JSON.stringify(B(i)?i:""),b=E.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??C)&&g(p,{response:null}),R(),E.current=i),o?.onChange&&o?.onChange(i,N);},[i,o?.clearPreviousData,C,o?.hold,...o?.trigger||[]]),de.useEffect(()=>{let h=async()=>{!te&&H&&F&&(await caches.open(H)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),L.current?.abort();}},[te,H,F,p,L]);let R=de.useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),_&&!h&&!m){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(F))?.json();if(P){let{data:O,expired:k}=P;if(U().isAfter(k))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){L.current?.abort();let b=new AbortController;L.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),_&&y.status){let P=U().add(Q,ee).toISOString(),O={data:y,expired:P},k=await caches.open(H),V=new Response(JSON.stringify(O));await k.put(F,V);}}},[i,t,o,m,H,F,Q,ee,_]);de.useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},U.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=de.useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:T}=de.useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);de.useEffect(()=>{if(!u)return;let h=U.duration(A,T).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,A,T,R]);let w=de.useCallback(()=>{L.current?.abort(),L.current=null,g(p,{loading:false,isCancel:true});},[p,L]),d=de.useCallback(()=>{g(p,{loading:false,response:null});},[p]),N=de.useMemo(()=>({...x,loading:f,refresh:R,abort:w,clear:d,response:x,isCancel:m,clone:(h,c)=>at(t,h,c)}),[x,f,R,w,d,m,t]);return de.useEffect(()=>(Oe(p,N),()=>{qe(p);}),[N,p]),[x?.data,N]}async function kr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var it=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(it||{}),lt=(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))(lt||{});var Lr=(e,t,r)=>{let{format:n}=K();return t==="number"?Ue(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?ut(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?pt(e,r):t==="string"?ct(e,r):e?.toString()??""};function pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function ct(e,t){if(!B(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(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}Ue(10,{thouSep:",",decSep:".",decDigits:2});function Ue(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let x=String(e??"").trim().trim();if(oe(x,r))return x}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let m=Math.pow(10,n);i=Math[s](i*m)/m;}else i=Math[s](i);else if(typeof n=="number"){let m=Math.pow(10,n);i=Math.trunc(i*m)/m;}let o=0;if(n==="auto"){let m=i.toString(),x=m.indexOf(".");x!==-1&&(o=m.length-x-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function ut(e,{display:t,value:r}){if(!B(e))return e;let n=U(e,r);return n.isValid()?n.format(t):e}function Hr(e,{interval:t,lead:r}){let n=de.useRef(null);de.useEffect(()=>{n.current=e;},[e]),de.useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Vr(e,t,r){let[n,s]=de.useState(false),a=(f,m)=>typeof e=="string"&&f===e||typeof e=="number"&&m===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:m,keyCode:x}=f,g=f.ctrlKey,S=f.altKey,D=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(m,x)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&D)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let C=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?D:false);a(m,x)&&C&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(m,x)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:m})=>{a(f,m)&&s(false);};return de.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Zr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:m,encryptResponse:x,passphrase:g})=>{let{encrypt:S,decrypt:D,passphrase:C}=Z(),q=(R,l,u,A)=>{let T=A?.code==="ERR_CANCELED",w=R?.status===401,d=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:x)&&d){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:g;try{d=D(d,P);}catch{try{d=D(d,C);}catch{}}}let c={...n({...R,data:d,isCancel:T,isUnauthorization:w},A),isCancel:T,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!T||!b)&&i(c),!y&&(!T||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>Rt__default.default.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(A=>l(A.response,A)),E=(R,l,u,A,T)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...T},N={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?t&&(N.Authorization=`Bearer ${t}`):d.token&&(N.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:m)&&u){let c=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?C:T.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:N,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:c=>{d?.onUploadProgress&&d?.onUploadProgress(c);}},(c,b)=>q(c,A,d,b))};return {client:j,post:(R,l,u,A)=>E("POST",`${R}`,l,u,A),put:(R,l,u,A)=>E("PUT",`${R}`,l,u,A),patch:(R,l,u,A)=>E("PATCH",`${R}`,l,u,A),delete:(R,l,u)=>E("DELETE",`${R}`,null,l,u),get:(R,l,u)=>E("GET",`${R}`,null,l,u),upload:(R,l,u,A)=>{let T=new FormData;return Object.keys(l).forEach(w=>T.append(w,l[w])),E("POST",`${R}`,T,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(R,l,u,A,T)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...T},N={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?t:d.token;v&&(N.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:m)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:g;h=S(h,v);}let b=await fetch(`${e}${l}`,{method:R,headers:N,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let v=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(G.includes("application/json"))try{let ne=JSON.parse(I);if((typeof T?.encryptResponse=="boolean"?T?.encryptResponse:x)&&u){let Me=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?C:T.passphrase:g;try{u=D(ne,Me);}catch{try{u=D(ne,C);}catch{}}}v=ne?.message||v;}catch{v=I;}else v=I;}catch{}let re=typeof T?.disabledToastWhenCancel=="boolean"?T?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};T?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:v,value:re}=await O.read();me=v,V+=k.decode(re,{stream:!0});let W=V.split(`
2
2
 
3
- `);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let I=he(G);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0});}catch(w){let m=w?.name==="AbortError";A({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function tn(e,t){let[r,n]=de.useState(false),[s,a]=de.useState(),[i,o]=de.useState(0),p=de.useRef(null);return de.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let S=new AbortController;p.current=S,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let D={...t,signal:S.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));o(j);}},C=e.__isVoid?await e(void 0,D):await e(g,void 0,D);t?.logging&&console.log("After response",C),a(C),n(false),o(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,g)),C.status&&t?.onSuccess&&t?.onSuccess(C,g),!C.status&&t?.onError&&t?.onError(C,g),t?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var bt=typeof window<"u"?window:null;function on(e={}){let{getTrigger:t=ht,target:r=bt,disableHysteresis:n=false,threshold:s=100}=e,a=de__default.default.useRef(0),[i,o]=de__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return de__default.default.useEffect(()=>{let p=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,s]),i}var un=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,a=o=>{let p=o.states[n]??Y,{loading:f,isCancel:d,response:T}=p,{refresh:g,abort:S,clear:D,clone:C}=we(n)||{},q=[T?.data,{...T,loading:f,isCancel:d,refresh:g,abort:S,clear:D,clone:C}];return t?.selector?t.selector(q):q};return s?z(shallow.useShallow(a)):z(a)};var mn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Rn=(e,t)=>{let r={};r.others=[];let n=s=>{de__default.default.Children.forEach(s,a=>{if(de__default.default.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let o=a;o.props?.children?n(o.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function bn(){let{format:e}=K();return (t="",r=false)=>be(t,r,e.number.decSep)}function Dn(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(p=>p());}function i(o){let p=de.useRef(o?o(t):t);return de.useSyncExternalStore(s,()=>{let f=o?o(t):t,d=p.current;return Object.is(d,f)||(p.current=f),p.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function Ct(e,t=[]){let r={};for(let n in e){let s=e[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...t,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=Ct(s,[...t,n]):r[n]=s;}return r}function Pn(e,t){let[r,n]=de.useState(false),[s,a]=de.useState([]),i=de.useRef([]),o=de.useRef(null);de.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async T=>{o.current?.abort();let g=new AbortController;o.current=g,n(true),a([]),i.current=[],e(T,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:g.signal});},f=()=>{o.current?.abort(),o.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [s.map(T=>T.data),p,{loading:r,abort:f,reset:d,response:s}]}exports.BgsCoreProvider=Xe;exports.DataTypeEnum=it;exports.HttpMethod=at;exports.capitalizeWords=ge;exports.createApiHelper=Zr;exports.createElement=mn;exports.createStore=Dn;exports.debounce=_t;exports.decrypt=ae;exports.decryptString=Se;exports.defaultState=Y;exports.diffJson=It;exports.encrypt=se;exports.encryptString=Ae;exports.filterDOMPropsLite=Gt;exports.generateCacheKey=ye;exports.generateUUID=Ht;exports.getApiActions=we;exports.getDateRangeLabelFromSorted=Qt;exports.getFieldValue=$;exports.getInitials=Xt;exports.getMinMaxDate=Zt;exports.getTotalMinutes=er;exports.isArray=Vt;exports.isDirtyRaw=oe;exports.isNotEmpty=B;exports.isValidNumber=Ye;exports.jsonCopy=Jt;exports.labelFormatter=Re;exports.mappingUndefinedtoNull=jt;exports.moment=U;exports.parseSSEChunk=he;exports.parseStringToNumber=be;exports.registerApi=Oe;exports.renderChildren=Wt;exports.safeUpdate=nt;exports.sorting=Yt;exports.splitElement=Rn;exports.stableStringify=We;exports.summary=zt;exports.unregisterApi=qe;exports.useApiLoad=st;exports.useApiLoadStore=z;exports.useApiSend=tn;exports.useApiStore=un;exports.useApiStream=Pn;exports.useBgsCore=K;exports.useCrypto=Z;exports.useDelay=kr;exports.useFormatted=Lr;exports.useInterval=Hr;exports.useKeyPress=Vr;exports.useParseStringToNumber=bn;exports.useScrollTrigger=on;exports.useStorage=Pe;exports.wrapApi=Ct;
3
+ `);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let I=he(G);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0});}catch(w){let d=w?.name==="AbortError";A({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}}}};function tn(e,t){let[r,n]=de.useState(false),[s,a]=de.useState(),[i,o]=de.useState(0),p=de.useRef(null);return de.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let S=new AbortController;p.current=S,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let D={...t,signal:S.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));o(j);}},C=e.__isVoid?await e(void 0,D):await e(g,void 0,D);t?.logging&&console.log("After response",C),a(C),n(false),o(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,g)),C.status&&t?.onSuccess&&t?.onSuccess(C,g),!C.status&&t?.onError&&t?.onError(C,g),t?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var bt=typeof window<"u"?window:null;function on(e={}){let{getTrigger:t=ht,target:r=bt,disableHysteresis:n=false,threshold:s=100}=e,a=de__default.default.useRef(0),[i,o]=de__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return de__default.default.useEffect(()=>{let p=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,s]),i}var un=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,a=o=>{let p=o.states[n]??Y,{loading:f,isCancel:m,response:x}=p,{refresh:g,abort:S,clear:D,clone:C}=we(n)||{},q=[x?.data,{...x,loading:f,isCancel:m,refresh:g,abort:S,clear:D,clone:C}];return t?.selector?t.selector(q):q};return s?z(shallow.useShallow(a)):z(a)};var mn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Rn=(e,t)=>{let r={};r.others=[];let n=s=>{de__default.default.Children.forEach(s,a=>{if(de__default.default.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let o=a;o.props?.children?n(o.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function bn(){let{format:e}=K();return (t="",r=false)=>be(t,r,e.number.decSep)}function Dn(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(p=>p());}function i(o){let p=de.useRef(o?o(t):t);return de.useSyncExternalStore(s,()=>{let f=o?o(t):t,m=p.current;return Object.is(m,f)||(p.current=f),p.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function Ct(e,t=[]){let r={};for(let n in e){let s=e[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...t,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=Ct(s,[...t,n]):r[n]=s;}return r}function Pn(e,t){let[r,n]=de.useState(false),[s,a]=de.useState([]),i=de.useRef([]),o=de.useRef(null);de.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async x=>{o.current?.abort();let g=new AbortController;o.current=g,n(true),a([]),i.current=[],e(x,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:g.signal});},f=()=>{o.current?.abort(),o.current=null,n(false);},m=()=>{n(false),a([]),i.current=[];};return [s.map(x=>x.data),p,{loading:r,abort:f,reset:m,response:s}]}exports.BgsCoreProvider=Ze;exports.DataTypeEnum=lt;exports.HttpMethod=it;exports.capitalizeWords=ge;exports.createApiHelper=Zr;exports.createElement=mn;exports.createStore=Dn;exports.debounce=_t;exports.decrypt=ae;exports.decryptString=Se;exports.defaultState=Y;exports.diffJson=It;exports.encrypt=se;exports.encryptString=Ae;exports.filterDOMPropsLite=Gt;exports.generateCacheKey=ye;exports.generateUUID=Ht;exports.getApiActions=we;exports.getDateRangeLabelFromSorted=Qt;exports.getFieldValue=$;exports.getInitials=Xt;exports.getMinMaxDate=Zt;exports.getTotalMinutes=er;exports.isArray=Vt;exports.isDirtyRaw=oe;exports.isNotEmpty=B;exports.isValidNumber=ze;exports.jsonCopy=Jt;exports.labelFormatter=Re;exports.mappingUndefinedtoNull=jt;exports.moment=U;exports.parseSSEChunk=he;exports.parseStringToNumber=be;exports.registerApi=Oe;exports.renderChildren=Wt;exports.safeUpdate=ot;exports.sorting=Yt;exports.splitElement=Rn;exports.stableStringify=Ye;exports.summary=zt;exports.unregisterApi=qe;exports.useApiLoad=at;exports.useApiLoadStore=z;exports.useApiSend=tn;exports.useApiStore=un;exports.useApiStream=Pn;exports.useBgsCore=K;exports.useCrypto=Z;exports.useDelay=kr;exports.useFormatted=Lr;exports.useInterval=Hr;exports.useKeyPress=Vr;exports.useParseStringToNumber=bn;exports.useScrollTrigger=on;exports.useStorage=Pe;exports.wrapApi=Ct;
package/dist/index.d.cts CHANGED
@@ -434,7 +434,7 @@ type OptionsNumberProps = {
434
434
  };
435
435
  type OptionsNumber = OptionsNumberProps & {
436
436
  dataType: Extract<DataType, "number">;
437
- method?: "round" | "ceil" | "floor";
437
+ method?: "round" | "ceil" | "floor" | "trunc";
438
438
  dirty?: boolean;
439
439
  };
440
440
  type DataTypeDateGroup = Extract<DataType, "date" | "dateTime" | "month" | "year" | "time">;
package/dist/index.d.ts CHANGED
@@ -434,7 +434,7 @@ type OptionsNumberProps = {
434
434
  };
435
435
  type OptionsNumber = OptionsNumberProps & {
436
436
  dataType: Extract<DataType, "number">;
437
- method?: "round" | "ceil" | "floor";
437
+ method?: "round" | "ceil" | "floor" | "trunc";
438
438
  dirty?: boolean;
439
439
  };
440
440
  type DataTypeDateGroup = Extract<DataType, "date" | "dateTime" | "month" | "year" | "time">;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import de,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import Me from'dayjs/plugin/utc';import $e from'dayjs/plugin/timezone';import Ke from'dayjs/plugin/duration';import Le from'dayjs/plugin/advancedFormat';import Fe from'dayjs/plugin/localizedFormat';import Be from'dayjs/plugin/relativeTime';import He from'dayjs/plugin/isSameOrBefore';import Ie from'dayjs/plugin/isSameOrAfter';import je from'dayjs/plugin/weekOfYear';import Ve from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import De from'crypto-js/aes';import Ce from'crypto-js/pbkdf2';import Qe from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import Te from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Rt from'axios';M.extend(Me);M.extend($e);M.extend(Ke);M.extend(Le);M.extend(Fe);M.extend(Be);M.extend(He);M.extend(Ie);M.extend(je);M.extend(Ve);var U=M;function Ht(){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 It(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var jt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Vt(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 B(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 Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Wt(e,t){return typeof e=="function"?e(t):e}var $=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Yt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?$(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Jt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function We(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return We([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function _t(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(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 Ye(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function be(e="",t=false,r="."){if(!Ye(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}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 Gt(e){let t={};for(let r in e)ze.has(r)&&(t[r]=e[r]);return t}function Xt(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Zt(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(U).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Qt(e,t){let r=U(e),n=U(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function er(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=U(e,"HH:mm",true),n=U(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var xe=createContext(void 0);function K(){let e=useContext(xe);return e||{}}var Xe=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&U.locale(s,a??{},i);}})();},[t.localeConfig]),jsx(xe.Provider,{value:r,children:e})};function se(e,t){let r=Te.random(16),n=Te.random(16),s=Ce(t,r,{keySize:256/32,iterations:1e3}),a=De.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X),iv:n.toString(X),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce(t,X.parse(r),{keySize:256/32,iterations:1e3}),o=De.decrypt(s,a,{iv:X.parse(n)}).toString(Qe);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function Se(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=K();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return Se(t,r||e)}}}var Pe=()=>{let{encrypt:e,decrypt:t}=Z(),r=useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return useEffect(()=>{let f=d=>{if(d.key===i)if(d.newValue)try{p(t(JSON.parse(d.newValue)));}catch(T){console.error("Decrypt error from storage event",T);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function nt(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var Y={loading:false,response:void 0,isCancel:false},z=create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??Y,a={...s,...n};nt(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Oe=(e,t)=>{le.set(e,t);},qe=e=>{le.delete(e);},we=e=>le.get(e);function st(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,d,T,g]=z(useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:D,clearPreviousData:C,refetchOnWindowFocus:q}=K(),j=Pe(),v=useRef(void 0),L=useRef(null),{cacheName:H,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:_}=useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof D?.enabled=="boolean"&&(y=D.enabled);let P=false;typeof D?.persistence=="boolean"&&(P=D?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,k="s";return B(D?.timeout)&&(typeof D?.timeout=="number"?(O=D.timeout,k="s"):typeof D?.timeout=="object"&&(O=D?.timeout.value,k=D?.timeout.unit)),B(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,k="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,k=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:y}},[o?.cache,i,S,D,a]);useEffect(()=>{let h=JSON.stringify(B(v.current)?v.current:""),c=JSON.stringify(B(i)?i:""),b=v.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??C)&&g(p,{response:null}),R(),v.current=i),o?.onChange&&o?.onChange(i,N);},[i,o?.clearPreviousData,C,o?.hold,...o?.trigger||[]]),useEffect(()=>{let h=async()=>{!te&&H&&F&&(await caches.open(H)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),L.current?.abort();}},[te,H,F,p,L]);let R=useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),_&&!h&&!d){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(F))?.json();if(P){let{data:O,expired:k}=P;if(U().isAfter(k))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){L.current?.abort();let b=new AbortController;L.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),_&&y.status){let P=U().add(Q,ee).toISOString(),O={data:y,expired:P},k=await caches.open(H),V=new Response(JSON.stringify(O));await k.put(F,V);}}},[i,t,o,d,H,F,Q,ee,_]);useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},U.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:x}=useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);useEffect(()=>{if(!u)return;let h=U.duration(A,x).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,A,x,R]);let w=useCallback(()=>{L.current?.abort(),L.current=null,g(p,{loading:false,isCancel:true});},[p,L]),m=useCallback(()=>{g(p,{loading:false,response:null});},[p]),N=useMemo(()=>({...T,loading:f,refresh:R,abort:w,clear:m,response:T,isCancel:d,clone:(h,c)=>st(t,h,c)}),[T,f,R,w,m,d,t]);return useEffect(()=>(Oe(p,N),()=>{qe(p);}),[N,p]),[T?.data,N]}async function kr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var at=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(at||{}),it=(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))(it||{});var Lr=(e,t,r)=>{let{format:n}=K();return t==="number"?ct(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?ut(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?lt(e,r):t==="string"?pt(e,r):e?.toString()??""};function lt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function pt(e,t){if(!B(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return t?.ellipsis&&r.length>t.ellipsis&&(r=r.slice(0,t.ellipsis)+"..."),r}function ct(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(a&&typeof e=="string"){let d=e.trim();if(oe(d,r))return d}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let d=Math.pow(10,n);i=Math[s](i*d)/d;}else i=Math[s](i);else if(typeof n=="number"){let d=Math.pow(10,n);i=Math.floor(i*d)/d;}let o=0;if(n==="auto"){let d=i.toString(),T=d.indexOf(".");T!==-1&&(o=d.length-T-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function ut(e,{display:t,value:r}){if(!B(e))return e;let n=U(e,r);return n.isValid()?n.format(t):e}function Hr(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Vr(e,t,r){let[n,s]=useState(false),a=(f,d)=>typeof e=="string"&&f===e||typeof e=="number"&&d===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:d,keyCode:T}=f,g=f.ctrlKey,S=f.altKey,D=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,T)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&D)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let C=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?D:false);a(d,T)&&C&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(d,T)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:d})=>{a(f,d)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Zr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:d,encryptResponse:T,passphrase:g})=>{let{encrypt:S,decrypt:D,passphrase:C}=Z(),q=(R,l,u,A)=>{let x=A?.code==="ERR_CANCELED",w=R?.status===401,m=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:T)&&m){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:g;try{m=D(m,P);}catch{try{m=D(m,C);}catch{}}}let c={...n({...R,data:m,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!x||!b)&&i(c),!y&&(!x||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>Rt.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(A=>l(A.response,A)),v=(R,l,u,A,x)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token&&(typeof m.token=="boolean"?t&&(N.Authorization=`Bearer ${t}`):m.token&&(N.Authorization=`Bearer ${m.token}`)),r&&(u=r(u)),(typeof m?.encryptRequest=="boolean"?m?.encryptRequest:d)&&u){let c=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:N,responseType:m.responseType,signal:m.signal,withCredentials:m.withCredentials,onUploadProgress:c=>{m?.onUploadProgress&&m?.onUploadProgress(c);}},(c,b)=>q(c,A,m,b))};return {client:j,post:(R,l,u,A)=>v("POST",`${R}`,l,u,A),put:(R,l,u,A)=>v("PUT",`${R}`,l,u,A),patch:(R,l,u,A)=>v("PATCH",`${R}`,l,u,A),delete:(R,l,u)=>v("DELETE",`${R}`,null,l,u),get:(R,l,u)=>v("GET",`${R}`,null,l,u),upload:(R,l,u,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),v("POST",`${R}`,x,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(R,l,u,A,x)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...x},N={"Content-Type":"application/json",...s,...m.headers};if(m.token){let E=typeof m.token=="boolean"?t:m.token;E&&(N.Authorization=`Bearer ${E}`);}let h=u;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let E=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?C:m.passphrase:g;h=S(h,E);}let b=await fetch(`${e}${l}`,{method:R,headers:N,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let E=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(G.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:T)&&u){let ve=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{u=D(ne,ve);}catch{try{u=D(ne,C);}catch{}}}E=ne?.message||E;}catch{E=I;}else E=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:E,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:E,value:re}=await O.read();me=E,V+=k.decode(re,{stream:!0});let W=V.split(`
1
+ import de,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import $e from'dayjs/plugin/utc';import Ke from'dayjs/plugin/timezone';import Le from'dayjs/plugin/duration';import Fe from'dayjs/plugin/advancedFormat';import Be from'dayjs/plugin/localizedFormat';import He from'dayjs/plugin/relativeTime';import Ie from'dayjs/plugin/isSameOrBefore';import je from'dayjs/plugin/isSameOrAfter';import Ve from'dayjs/plugin/weekOfYear';import We from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import De from'crypto-js/aes';import Ce from'crypto-js/pbkdf2';import et from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import Te from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Rt from'axios';M.extend($e);M.extend(Ke);M.extend(Le);M.extend(Fe);M.extend(Be);M.extend(He);M.extend(Ie);M.extend(je);M.extend(Ve);M.extend(We);var U=M;function Ht(){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 It(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var jt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function Vt(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 B(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 Re={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let r=e.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(e="",t=false)=>{let r="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],r=Re.snackCase(Re.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function Wt(e,t){return typeof e=="function"?e(t):e}var $=(e,t,r="")=>{if(!e)return r;if(e.hasOwnProperty(t))return e[t];let n=t.replace(/\[(\d+)\]/g,".$1").split("."),s=e;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},Yt={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(r,t):"";return s<a?1:-1}else return r<n?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let s=$(r,t)?$(r,t):"",a=$(n,t)?$(n,t):"";return s>a?1:-1}else return r>n?1:-1}))},zt=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?$(n,t)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function Jt(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ye(e){let t=new WeakSet;return JSON.stringify(e,function(r,n){return n!==null&&typeof n=="object"?t.has(n)?void 0:(t.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(e,t){return Ye([t??"undefined",e??"undefined"])}function ge(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function _t(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var he=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function oe(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e===t||e==="-"||e===`-${t}`||new RegExp(`^-?\\d+${r}$`).test(e)||new RegExp(`^-?${r}\\d*$`).test(e)}function ze(e,t=false,r="."){if(typeof e=="number")return !Number.isNaN(e);if(typeof e=="string"&&e.trim()!==""){let n=e.trim(),s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${s}\\d+)?|\\${s}\\d+)$`).test(n)||t&&oe(n,r))return true}return false}function be(e="",t=false,r="."){if(!ze(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),s=Number(n);return Number.isNaN(s)?null:s}var Je=new Set(["accessKey","className","contentEditable","contextMenu","dir","draggable","hidden","id","lang","spellCheck","style","tabIndex","title","translate","role","onClick","onFocus","onBlur","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","onChange","onInput","children"]);function Gt(e){let t={};for(let r in e)Je.has(r)&&(t[r]=e[r]);return t}function Xt(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function Zt(e=[]){let t=e.filter(Boolean);if(t.length===0)return ["",""];let r=t.map(U).sort((a,i)=>a.diff(i)),n=r[0].format("YYYY-MM-DD"),s=r.at(-1).format("YYYY-MM-DD");return [n,s]}function Qt(e,t){let r=U(e),n=U(t),s=r.month()===n.month(),a=r.year()===n.year();return a&&s?`${r.format("DD")} - ${n.format("DD")} ${r.format("MMM")} ${r.format("YYYY")}`:a?`${r.format("DD MMM")} - ${n.format("DD MMM")} ${r.format("YYYY")}`:`${r.format("DD MMM YYYY")} - ${n.format("DD MMM YYYY")}`}function er(e,t){if(!e?.trim()||!t?.trim())return "";if(e===t)return "0";let r=U(e,"HH:mm",true),n=U(t,"HH:mm",true);if(!r.isValid()||!n.isValid())return "";let s=n.diff(r,"minutes");return s<=0&&(s+=24*60),s.toString()}var xe=createContext(void 0);function K(){let e=useContext(xe);return e||{}}var Ze=({children:e,value:t})=>{let r={...t};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&t.localeConfig){let{preset:s,object:a,isLocal:i}=t.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&U.locale(s,a??{},i);}})();},[t.localeConfig]),jsx(xe.Provider,{value:r,children:e})};function se(e,t){let r=Te.random(16),n=Te.random(16),s=Ce(t,r,{keySize:256/32,iterations:1e3}),a=De.encrypt(JSON.stringify(e),s,{iv:n}).toString();return {salt:r.toString(X),iv:n.toString(X),encrypted:a}}function ae(e,t){let{salt:r,iv:n,encrypted:s}=e,a=Ce(t,X.parse(r),{keySize:256/32,iterations:1e3}),o=De.decrypt(s,a,{iv:X.parse(n)}).toString(et);return JSON.parse(o)}function Ae(e,t){return JSON.stringify(se(e,t))}function Se(e,t){return ae(JSON.parse(e),t)}function Z(){let{passphrase:e}=K();return {passphrase:e,encrypt(t,r){return se(t,r||e)},decrypt(t,r){return ae(t,r||e)},encryptString(t,r){return Ae(t,r||e)},decryptString(t,r){return Se(t,r||e)}}}var Pe=()=>{let{encrypt:e,decrypt:t}=Z(),r=useCallback((i,o)=>{try{let p=e(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[e]),n=useCallback(i=>{try{let o=localStorage.getItem(i);return o?t(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[t]),s=i=>{let[o,p]=useState(()=>{try{let f=localStorage.getItem(i);return f?t(JSON.parse(f)):null}catch(f){return console.error("Failed to parse localStorage value",f),null}});return useEffect(()=>{let f=m=>{if(m.key===i)if(m.newValue)try{p(t(JSON.parse(m.newValue)));}catch(x){console.error("Decrypt error from storage event",x);}else p(null);};return window.addEventListener("storage",f),()=>window.removeEventListener("storage",f)},[i,t]),o},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function ot(e,t){for(let r in t){let n=e[r],s=t[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var Y={loading:false,response:void 0,isCancel:false},z=create((e,t)=>({states:{},updateState:(r,n)=>{let s=t().states[r]??Y,a={...s,...n};ot(s,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var le=new Map,Oe=(e,t)=>{le.set(e,t);},qe=e=>{le.delete(e);},we=e=>le.get(e);function at(...e){let[t,r,n]=e,s=t.__isVoid,a=t.__path||t.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[f,m,x,g]=z(useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.updateState]})),{storageKey:S,cache:D,clearPreviousData:C,refetchOnWindowFocus:q}=K(),j=Pe(),E=useRef(void 0),L=useRef(null),{cacheName:H,cacheKey:F,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:_}=useMemo(()=>{let h=S?j.get(S):void 0,c=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,b=ye({...i,session:h},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),y=false;typeof D?.enabled=="boolean"&&(y=D.enabled);let P=false;typeof D?.persistence=="boolean"&&(P=D?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,k="s";return B(D?.timeout)&&(typeof D?.timeout=="number"?(O=D.timeout,k="s"):typeof D?.timeout=="object"&&(O=D?.timeout.value,k=D?.timeout.unit)),B(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?y=o.cache.enabled:y=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,k="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,k=o.cache.timeout.unit)):y=o.cache),{cacheName:c,cacheKey:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:y}},[o?.cache,i,S,D,a]);useEffect(()=>{let h=JSON.stringify(B(E.current)?E.current:""),c=JSON.stringify(B(i)?i:""),b=E.current===void 0;(h!==c||b)&&!o?.hold&&((o?.clearPreviousData??C)&&g(p,{response:null}),R(),E.current=i),o?.onChange&&o?.onChange(i,N);},[i,o?.clearPreviousData,C,o?.hold,...o?.trigger||[]]),useEffect(()=>{let h=async()=>{!te&&H&&F&&(await caches.open(H)).delete(F);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),L.current?.abort();}},[te,H,F,p,L]);let R=useCallback(async h=>{let c=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(c=o?.beforeRequest(i)),_&&!h&&!m){o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(F))?.json();if(P){let{data:O,expired:k}=P;if(U().isAfter(k))await b.delete(F);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data,c)),o?.logging&&console.log("After request: Using Cache",O),O?.status&&o?.onSuccess?.(O,c),o?.onAfterResponse?.(O,c),g(p,{loading:false,response:O});return}}}if(typeof t=="function"){L.current?.abort();let b=new AbortController;L.current=b,g(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let y=s?await t(void 0,{...o,signal:b.signal}):await t(c,void 0,{...o,signal:b.signal});if(o?.afterResponse&&y?.data&&(y.data=o?.afterResponse(y.data,c)),o?.logging&&console.log("After request",y),y.status&&o?.onSuccess?.(y,c),y.status||o?.onError?.(y,c),o?.onAfterResponse?.(y,c),g(p,{loading:false,response:y,isCancel:false}),_&&y.status){let P=U().add(Q,ee).toISOString(),O={data:y,expired:P},k=await caches.open(H),V=new Response(JSON.stringify(O));await k.put(F,V);}}},[i,t,o,m,H,F,Q,ee,_]);useEffect(()=>{if(o?.refreshInterval){let h=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,c=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,b=setInterval(()=>{R();},U.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[o?.refreshInterval,R]);let l=useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:T}=useMemo(()=>{let h=o?.refetchOnWindowFocus?.enabled??q?.enabled??false,c=o?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof c=="number"?c:c?.value??60*5,y=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:y}},[o?.refetchOnWindowFocus,q]);useEffect(()=>{if(!u)return;let h=U.duration(A,T).asMilliseconds(),c=()=>{let y=Date.now(),P=l.current;P!==null&&y-P>=h&&R(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[u,A,T,R]);let w=useCallback(()=>{L.current?.abort(),L.current=null,g(p,{loading:false,isCancel:true});},[p,L]),d=useCallback(()=>{g(p,{loading:false,response:null});},[p]),N=useMemo(()=>({...x,loading:f,refresh:R,abort:w,clear:d,response:x,isCancel:m,clone:(h,c)=>at(t,h,c)}),[x,f,R,w,d,m,t]);return useEffect(()=>(Oe(p,N),()=>{qe(p);}),[N,p]),[x?.data,N]}async function kr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var it=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(it||{}),lt=(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))(lt||{});var Lr=(e,t,r)=>{let{format:n}=K();return t==="number"?Ue(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===t)?ut(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?pt(e,r):t==="string"?ct(e,r):e?.toString()??""};function pt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",s=t?.falseLabel??"No";return r?n:s}function ct(e,t){if(!B(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=ge(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}Ue(10,{thouSep:",",decSep:".",decDigits:2});function Ue(e,{thouSep:t,decSep:r,decDigits:n,method:s,dirty:a}){if(a){let x=String(e??"").trim().trim();if(oe(x,r))return x}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(s)if(typeof n=="number"){let m=Math.pow(10,n);i=Math[s](i*m)/m;}else i=Math[s](i);else if(typeof n=="number"){let m=Math.pow(10,n);i=Math.trunc(i*m)/m;}let o=0;if(n==="auto"){let m=i.toString(),x=m.indexOf(".");x!==-1&&(o=m.length-x-1);}let p={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?o:n||0,maximumFractionDigits:n==="auto"?o:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",p).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function ut(e,{display:t,value:r}){if(!B(e))return e;let n=U(e,r);return n.isValid()?n.format(t):e}function Hr(e,{interval:t,lead:r}){let n=useRef(null);useEffect(()=>{n.current=e;},[e]),useEffect(()=>{let s=()=>n.current();if(r&&s(),t!==null){let a=setInterval(s,t);return ()=>clearInterval(a)}},[t]);}function Vr(e,t,r){let[n,s]=useState(false),a=(f,m)=>typeof e=="string"&&f===e||typeof e=="number"&&m===e,i=f=>f!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(f.tagName)||f.hasAttribute("contentEditable")),o=f=>{let{key:m,keyCode:x}=f,g=f.ctrlKey,S=f.altKey,D=f.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(m,x)&&(t==="ctrl"&&g||t==="alt"&&S||t==="shift"&&D)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));else {let C=t.every(q=>q==="ctrl"?g:q==="alt"?S:q==="shift"?D:false);a(m,x)&&C&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));}else a(m,x)&&(f.preventDefault(),r&&f.stopPropagation(),s(!n));},p=({key:f,keyCode:m})=>{a(f,m)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var Zr=({url:e,token:t,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:f,encryptRequest:m,encryptResponse:x,passphrase:g})=>{let{encrypt:S,decrypt:D,passphrase:C}=Z(),q=(R,l,u,A)=>{let T=A?.code==="ERR_CANCELED",w=R?.status===401,d=R?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:x)&&d){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?C:u.passphrase:g;try{d=D(d,P);}catch{try{d=D(d,C);}catch{}}}let c={...n({...R,data:d,isCancel:T,isUnauthorization:w},A),isCancel:T,isUnauthorization:w,httpCode:R?.status},b=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,y=o?o(c,u):!w;if((u?.infoSuccess&&c.status||u?.infoError&&!c.status)&&i&&(!T||!b)&&i(c),!y&&(!T||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(c);}if(l)l(c);else return c},j=(R,l=()=>{})=>Rt.create({baseURL:`${e}`,withCredentials:typeof R.withCredentials=="boolean"?R.withCredentials:f})(R).then(l).catch(A=>l(A.response,A)),E=(R,l,u,A,T)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...T},N={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?t&&(N.Authorization=`Bearer ${t}`):d.token&&(N.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:m)&&u){let c=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?C:T.passphrase:g;u=S(u,c);}return j({url:l,method:R,data:u,headers:N,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:c=>{d?.onUploadProgress&&d?.onUploadProgress(c);}},(c,b)=>q(c,A,d,b))};return {client:j,post:(R,l,u,A)=>E("POST",`${R}`,l,u,A),put:(R,l,u,A)=>E("PUT",`${R}`,l,u,A),patch:(R,l,u,A)=>E("PATCH",`${R}`,l,u,A),delete:(R,l,u)=>E("DELETE",`${R}`,null,l,u),get:(R,l,u)=>E("GET",`${R}`,null,l,u),upload:(R,l,u,A)=>{let T=new FormData;return Object.keys(l).forEach(w=>T.append(w,l[w])),E("POST",`${R}`,T,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(R,l,u,A,T)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...T},N={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?t:d.token;v&&(N.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:m)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:g;h=S(h,v);}let b=await fetch(`${e}${l}`,{method:R,headers:N,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),y=b?.status,P=y===401;if(!b.ok){let v=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(G.includes("application/json"))try{let ne=JSON.parse(I);if((typeof T?.encryptResponse=="boolean"?T?.encryptResponse:x)&&u){let Me=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?C:T.passphrase:g;try{u=D(ne,Me);}catch{try{u=D(ne,C);}catch{}}}v=ne?.message||v;}catch{v=I;}else v=I;}catch{}let re=typeof T?.disabledToastWhenCancel=="boolean"?T?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0};T?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:v,value:re}=await O.read();me=v,V+=k.decode(re,{stream:!0});let W=V.split(`
2
2
 
3
- `);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let I=he(G);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0});}catch(w){let m=w?.name==="AbortError";A({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:m,isUnauthorization:false,httpCode:400,isDone:true});}}}};function tn(e,t){let[r,n]=useState(false),[s,a]=useState(),[i,o]=useState(0),p=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let S=new AbortController;p.current=S,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let D={...t,signal:S.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));o(j);}},C=e.__isVoid?await e(void 0,D):await e(g,void 0,D);t?.logging&&console.log("After response",C),a(C),n(false),o(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,g)),C.status&&t?.onSuccess&&t?.onSuccess(C,g),!C.status&&t?.onError&&t?.onError(C,g),t?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var bt=typeof window<"u"?window:null;function on(e={}){let{getTrigger:t=ht,target:r=bt,disableHysteresis:n=false,threshold:s=100}=e,a=de.useRef(0),[i,o]=de.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return de.useEffect(()=>{let p=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,s]),i}var un=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,a=o=>{let p=o.states[n]??Y,{loading:f,isCancel:d,response:T}=p,{refresh:g,abort:S,clear:D,clone:C}=we(n)||{},q=[T?.data,{...T,loading:f,isCancel:d,refresh:g,abort:S,clear:D,clone:C}];return t?.selector?t.selector(q):q};return s?z(useShallow(a)):z(a)};var mn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Rn=(e,t)=>{let r={};r.others=[];let n=s=>{de.Children.forEach(s,a=>{if(de.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let o=a;o.props?.children?n(o.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function bn(){let{format:e}=K();return (t="",r=false)=>be(t,r,e.number.decSep)}function Dn(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(p=>p());}function i(o){let p=useRef(o?o(t):t);return useSyncExternalStore(s,()=>{let f=o?o(t):t,d=p.current;return Object.is(d,f)||(p.current=f),p.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function Ct(e,t=[]){let r={};for(let n in e){let s=e[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...t,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=Ct(s,[...t,n]):r[n]=s;}return r}function Pn(e,t){let[r,n]=useState(false),[s,a]=useState([]),i=useRef([]),o=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async T=>{o.current?.abort();let g=new AbortController;o.current=g,n(true),a([]),i.current=[],e(T,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:g.signal});},f=()=>{o.current?.abort(),o.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [s.map(T=>T.data),p,{loading:r,abort:f,reset:d,response:s}]}export{Xe as BgsCoreProvider,it as DataTypeEnum,at as HttpMethod,ge as capitalizeWords,Zr as createApiHelper,mn as createElement,Dn as createStore,_t as debounce,ae as decrypt,Se as decryptString,Y as defaultState,It as diffJson,se as encrypt,Ae as encryptString,Gt as filterDOMPropsLite,ye as generateCacheKey,Ht as generateUUID,we as getApiActions,Qt as getDateRangeLabelFromSorted,$ as getFieldValue,Xt as getInitials,Zt as getMinMaxDate,er as getTotalMinutes,Vt as isArray,oe as isDirtyRaw,B as isNotEmpty,Ye as isValidNumber,Jt as jsonCopy,Re as labelFormatter,jt as mappingUndefinedtoNull,U as moment,he as parseSSEChunk,be as parseStringToNumber,Oe as registerApi,Wt as renderChildren,nt as safeUpdate,Yt as sorting,Rn as splitElement,We as stableStringify,zt as summary,qe as unregisterApi,st as useApiLoad,z as useApiLoadStore,tn as useApiSend,un as useApiStore,Pn as useApiStream,K as useBgsCore,Z as useCrypto,kr as useDelay,Lr as useFormatted,Hr as useInterval,Vr as useKeyPress,bn as useParseStringToNumber,on as useScrollTrigger,Pe as useStorage,Ct as wrapApi};
3
+ `);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let I=he(G);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:y,isDone:!0});}catch(w){let d=w?.name==="AbortError";A({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}}}};function tn(e,t){let[r,n]=useState(false),[s,a]=useState(),[i,o]=useState(0),p=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let S=new AbortController;p.current=S,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let D={...t,signal:S.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));o(j);}},C=e.__isVoid?await e(void 0,D):await e(g,void 0,D);t?.logging&&console.log("After response",C),a(C),n(false),o(0),t?.afterResponse&&C?.data&&(C.data=t?.afterResponse(C.data,g)),C.status&&t?.onSuccess&&t?.onSuccess(C,g),!C.status&&t?.onError&&t?.onError(C,g),t?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function ht(e,t){let{disableHysteresis:r=false,threshold:n=100,target:s}=t,a=e.current;return s&&(typeof s.pageYOffset=="number"?e.current=s.pageYOffset:s.scrollTop!==void 0&&(e.current=s.scrollTop)),!r&&a!==void 0&&e.current<a?false:(e.current||0)>n}var bt=typeof window<"u"?window:null;function on(e={}){let{getTrigger:t=ht,target:r=bt,disableHysteresis:n=false,threshold:s=100}=e,a=de.useRef(0),[i,o]=de.useState(()=>t(a,{disableHysteresis:n,threshold:s,target:r}));return de.useEffect(()=>{let p=()=>{o(t(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,t,n,s]),i}var un=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,s=t?.shallow??true,a=o=>{let p=o.states[n]??Y,{loading:f,isCancel:m,response:x}=p,{refresh:g,abort:S,clear:D,clone:C}=we(n)||{},q=[x?.data,{...x,loading:f,isCancel:m,refresh:g,abort:S,clear:D,clone:C}];return t?.selector?t.selector(q):q};return s?z(useShallow(a)):z(a)};var mn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},Rn=(e,t)=>{let r={};r.others=[];let n=s=>{de.Children.forEach(s,a=>{if(de.isValidElement(a)){let i=a.type.displayName;if(t.includes(i))r[i]=a;else {let o=a;o.props?.children?n(o.props.children):r.others.push(a);}}else r.others.push(a);});};return n(e),r};function bn(){let{format:e}=K();return (t="",r=false)=>be(t,r,e.number.decSep)}function Dn(e){let t=e,r=new Set;function n(){return t}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?t=o(t):t=o,r.forEach(p=>p());}function i(o){let p=useRef(o?o(t):t);return useSyncExternalStore(s,()=>{let f=o?o(t):t,m=p.current;return Object.is(m,f)||(p.current=f),p.current},()=>o?o(t):t)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function Ct(e,t=[]){let r={};for(let n in e){let s=e[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...t,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=Ct(s,[...t,n]):r[n]=s;}return r}function Pn(e,t){let[r,n]=useState(false),[s,a]=useState([]),i=useRef([]),o=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async x=>{o.current?.abort();let g=new AbortController;o.current=g,n(true),a([]),i.current=[],e(x,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:g.signal});},f=()=>{o.current?.abort(),o.current=null,n(false);},m=()=>{n(false),a([]),i.current=[];};return [s.map(x=>x.data),p,{loading:r,abort:f,reset:m,response:s}]}export{Ze as BgsCoreProvider,lt as DataTypeEnum,it as HttpMethod,ge as capitalizeWords,Zr as createApiHelper,mn as createElement,Dn as createStore,_t as debounce,ae as decrypt,Se as decryptString,Y as defaultState,It as diffJson,se as encrypt,Ae as encryptString,Gt as filterDOMPropsLite,ye as generateCacheKey,Ht as generateUUID,we as getApiActions,Qt as getDateRangeLabelFromSorted,$ as getFieldValue,Xt as getInitials,Zt as getMinMaxDate,er as getTotalMinutes,Vt as isArray,oe as isDirtyRaw,B as isNotEmpty,ze as isValidNumber,Jt as jsonCopy,Re as labelFormatter,jt as mappingUndefinedtoNull,U as moment,he as parseSSEChunk,be as parseStringToNumber,Oe as registerApi,Wt as renderChildren,ot as safeUpdate,Yt as sorting,Rn as splitElement,Ye as stableStringify,zt as summary,qe as unregisterApi,at as useApiLoad,z as useApiLoadStore,tn as useApiSend,un as useApiStore,Pn as useApiStream,K as useBgsCore,Z as useCrypto,kr as useDelay,Lr as useFormatted,Hr as useInterval,Vr as useKeyPress,bn as useParseStringToNumber,on as useScrollTrigger,Pe as useStorage,Ct as wrapApi};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "0.0.92",
3
+ "version": "1.0.0",
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",