@bgscore/react-core 0.0.85 → 0.0.86

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 fe=require('react'),N=require('dayjs'),Ne=require('dayjs/plugin/utc'),Ke=require('dayjs/plugin/timezone'),Me=require('dayjs/plugin/duration'),Fe=require('dayjs/plugin/advancedFormat'),Le=require('dayjs/plugin/localizedFormat'),He=require('dayjs/plugin/relativeTime'),Be=require('dayjs/plugin/isSameOrBefore'),Ie=require('dayjs/plugin/isSameOrAfter'),$e=require('dayjs/plugin/weekOfYear'),je=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),xe=require('crypto-js/aes'),Te=require('crypto-js/pbkdf2'),Ge=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),be=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),ut=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var fe__default=/*#__PURE__*/_interopDefault(fe);var N__default=/*#__PURE__*/_interopDefault(N);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Me__default=/*#__PURE__*/_interopDefault(Me);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Le__default=/*#__PURE__*/_interopDefault(Le);var He__default=/*#__PURE__*/_interopDefault(He);var Be__default=/*#__PURE__*/_interopDefault(Be);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var $e__default=/*#__PURE__*/_interopDefault($e);var je__default=/*#__PURE__*/_interopDefault(je);var xe__default=/*#__PURE__*/_interopDefault(xe);var Te__default=/*#__PURE__*/_interopDefault(Te);var Ge__default=/*#__PURE__*/_interopDefault(Ge);var X__default=/*#__PURE__*/_interopDefault(X);var be__default=/*#__PURE__*/_interopDefault(be);var ut__default=/*#__PURE__*/_interopDefault(ut);function Dt(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function St(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pt=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Ot(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function H(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var me={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=me.snackCase(me.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wt(t,e){return typeof t=="function"?t(e):t}var K=(t,e,r="")=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},qt={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(n,e)?K(r,e):"";return s<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(n,e)?K(n,e):"";return s>a?1:-1}else return r>n?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?K(n,e)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function vt(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function Ee(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(t,e){return Ee([e??"undefined",t??"undefined"])}function Re(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function kt(t,e=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{t(...n);},e*1e3);}}var ge=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};N__default.default.extend(Ne__default.default);N__default.default.extend(Ke__default.default);N__default.default.extend(Me__default.default);N__default.default.extend(Fe__default.default);N__default.default.extend(Le__default.default);N__default.default.extend(He__default.default);N__default.default.extend(Be__default.default);N__default.default.extend(Ie__default.default);N__default.default.extend($e__default.default);N__default.default.extend(je__default.default);var M=N__default.default;var he=fe.createContext(void 0);function $(){let t=fe.useContext(he);return t||{}}var Je=({children:t,value:e})=>{let r={...e};return fe.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:i}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&M.locale(s,a??{},i);}})();},[e.localeConfig]),jsxRuntime.jsx(he.Provider,{value:r,children:t})};function oe(t,e){let r=be__default.default.random(16),n=be__default.default.random(16),s=Te__default.default(e,r,{keySize:256/32,iterations:1e3}),a=xe__default.default.encrypt(JSON.stringify(t),s,{iv:n}).toString();return {salt:r.toString(X__default.default),iv:n.toString(X__default.default),encrypted:a}}function se(t,e){let{salt:r,iv:n,encrypted:s}=t,a=Te__default.default(e,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),o=xe__default.default.decrypt(s,a,{iv:X__default.default.parse(n)}).toString(Ge__default.default);return JSON.parse(o)}function Ae(t,e){return JSON.stringify(oe(t,e))}function Ce(t,e){return se(JSON.parse(t),e)}function Z(){let{passphrase:t}=$();return {passphrase:t,encrypt(e,r){return oe(e,r||t)},decrypt(e,r){return se(e,r||t)},encryptString(e,r){return Ae(e,r||t)},decryptString(e,r){return Ce(e,r||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Z(),r=fe.useCallback((i,o)=>{try{let p=t(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[t]),n=fe.useCallback(i=>{try{let o=localStorage.getItem(i);return o?e(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[e]),s=i=>{let[o,p]=fe.useState(()=>{try{let c=localStorage.getItem(i);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return fe.useEffect(()=>{let c=y=>{if(y.key===i)if(y.newValue)try{p(e(JSON.parse(y.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else p(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,e]),o},a=fe.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Qe(t,e){for(let r in e){let n=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let s=e().states[r]??z,a={...s,...n};Qe(s,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ie=new Map,Se=(t,e)=>{ie.set(t,e);},Pe=t=>{ie.delete(t);},Oe=t=>ie.get(t);function tt(...t){let[e,r,n]=t,s=e.__isVoid,a=e.__path||e.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[c,y,D,x]=J(shallow.useShallow(R=>{let f=R.states[p]??z;return [f.loading,f.isCancel,f.response,R.updateState]})),{storageKey:C,cache:T,clearPreviousData:S,refetchOnWindowFocus:w}=$(),j=De(),E=fe.useRef(void 0),F=fe.useRef(null),{cacheName:B,cacheKey:L,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=fe.useMemo(()=>{let R=C?j.get(C):void 0,f=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,g=ye({...i,session:R},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),b=false;typeof T?.enabled=="boolean"&&(b=T.enabled);let P=false;typeof T?.persistence=="boolean"&&(P=T?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,v="s";return H(T?.timeout)&&(typeof T?.timeout=="number"?(O=T.timeout,v="s"):typeof T?.timeout=="object"&&(O=T?.timeout.value,v=T?.timeout.unit)),H(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?b=o.cache.enabled:b=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,v="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,v=o.cache.timeout.unit)):b=o.cache),{cacheName:f,cacheKey:g,timeout:O,timeoutUnit:v,persistence:P,cacheEnabled:b}},[o?.cache,i,C,T,a]);fe.useEffect(()=>{let R=JSON.stringify(H(E.current)?E.current:""),f=JSON.stringify(H(i)?i:""),g=E.current===void 0;(R!==f||g)&&!o?.hold&&((o?.clearPreviousData??S)&&x(p,{response:null}),m(),E.current=i),o?.onChange&&o?.onChange(i,U);},[i,o?.clearPreviousData,S,o?.hold,...o?.trigger||[]]),fe.useEffect(()=>{let R=async()=>{!te&&B&&L&&(await caches.open(B)).delete(L);};return window.addEventListener("beforeunload",R),()=>{window.removeEventListener("beforeunload",R),F.current?.abort();}},[te,B,L,p,F]);let m=fe.useCallback(async R=>{let f=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(f=o?.beforeRequest(i)),G&&!R&&!y){o?.onBeforeRequest&&o?.onBeforeRequest(i);let g=await caches.open(B),P=await(await g.match(L))?.json();if(P){let{data:O,expired:v}=P;if(M().isAfter(v))await g.delete(L);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data)),o?.logging&&console.log("After request: Using Cache",O),o?.onAfterResponse&&o?.onAfterResponse(O),x(p,{loading:false,response:O});return}}}if(typeof e=="function"){F.current?.abort();let g=new AbortController;F.current=g,x(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=s?await e(void 0,{...o,signal:g.signal}):await e(f,void 0,{...o,signal:g.signal});if(o?.afterResponse&&b?.data&&(b.data=o?.afterResponse(b.data)),o?.logging&&console.log("After request",b),o?.onAfterResponse&&o?.onAfterResponse(b),x(p,{loading:false,response:b,isCancel:false}),G&&b.status){let P=M().add(Q,ee).toISOString(),O={data:b,expired:P},v=await caches.open(B),V=new Response(JSON.stringify(O));await v.put(L,V);}}},[i,e,o,y,B,L,Q,ee,G]);fe.useEffect(()=>{if(o?.refreshInterval){let R=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,f=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,g=setInterval(()=>{m();},M.duration(R,f).asMilliseconds());return ()=>clearInterval(g)}return ()=>{}},[o?.refreshInterval,m]);let l=fe.useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:h}=fe.useMemo(()=>{let R=o?.refetchOnWindowFocus?.enabled??w?.enabled??false,f=o?.refetchOnWindowFocus?.timeout??w?.timeout,g=typeof f=="number"?f:f?.value??60*5,b=typeof f=="object"?f.unit:"s";return {enabledRefetch:R,timeoutRefetch:g,timeoutUnitRefetch:b}},[o?.refetchOnWindowFocus,w]);fe.useEffect(()=>{if(!u)return;let R=M.duration(A,h).asMilliseconds(),f=()=>{let b=Date.now(),P=l.current;P!==null&&b-P>=R&&m(),l.current=null;},g=()=>{l.current=Date.now();};return window.addEventListener("focus",f),window.addEventListener("blur",g),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",g);}},[u,A,h,m]);let q=fe.useCallback(()=>{F.current?.abort(),F.current=null,x(p,{loading:false,isCancel:true});},[p,F]),d=fe.useCallback(()=>{x(p,{loading:false,response:null});},[p]),U=fe.useMemo(()=>({...D,loading:c,refresh:m,abort:q,clear:d,response:D,isCancel:y,clone:(R,f)=>tt(e,R,f)}),[D,c,m,q,d,y,e]);return fe.useEffect(()=>(Se(p,U),()=>{Pe(p);}),[U,p]),[D?.data,U]}async function Ar(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var rt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(rt||{}),nt=(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))(nt||{});var wr=(t,e,r)=>{let{format:n}=$();return e==="number"?at(t,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:n[e]?.display,value:n[e]?.value,...r}):e==="boolean"?ot(t,r):e==="string"?st(t,r):t?.toString()??""};function ot(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?n:s}function st(t,e){if(!H(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=Re(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function at(t,{thouSep:e,decSep:r,decDigits:n,method:s}){if(t==null||isNaN(Number(t)))return "";let a=typeof t=="string"?parseFloat(t):t;if(s)if(typeof n=="number"){let c=Math.pow(10,n);a=Math[s](a*c)/c;}else a=Math[s](a);else if(typeof n=="number"){let c=Math.pow(10,n);a=Math.floor(a*c)/c;}let i=0;if(n==="auto"){let c=a.toString(),y=c.indexOf(".");y!==-1&&(i=c.length-y-1);}let o={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?i:n||0,maximumFractionDigits:n==="auto"?i:n||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",o).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function it(t,{display:e,value:r}){if(!H(t))return t;let n=M(t,r);return n.isValid()?n.format(e):t}function vr(t,{interval:e,lead:r}){let n=fe.useRef(null);fe.useEffect(()=>{n.current=t;},[t]),fe.useEffect(()=>{let s=()=>n.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Nr(t,e,r){let[n,s]=fe.useState(false),a=(c,y)=>typeof t=="string"&&c===t||typeof t=="number"&&y===t,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:y,keyCode:D}=c,x=c.ctrlKey,C=c.altKey,T=c.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(y,D)&&(e==="ctrl"&&x||e==="alt"&&C||e==="shift"&&T)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let S=e.every(w=>w==="ctrl"?x:w==="alt"?C:w==="shift"?T:false);a(y,D)&&S&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(y,D)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},p=({key:c,keyCode:y})=>{a(c,y)&&s(false);};return fe.useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var $r=({url:t,token:e,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:c,encryptRequest:y,encryptResponse:D,passphrase:x})=>{let{encrypt:C,decrypt:T,passphrase:S}=Z(),w=(m,l,u,A)=>{let h=A?.code==="ERR_CANCELED",q=m?.status===401,d=m?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:D)&&d){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?S:u.passphrase:x;try{d=T(d,P);}catch{try{d=T(d,S);}catch{}}}let f={...n({...m,data:d,isCancel:h,isUnauthorization:q},A),isCancel:h,isUnauthorization:q,httpCode:m?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,b=o?o(f,u):!q;if((u?.infoSuccess&&f.status||u?.infoError&&!f.status)&&i&&(!h||!g)&&i(f),!b&&(!h||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(f);}if(l)l(f);else return f},j=(m,l=()=>{})=>ut__default.default.create({baseURL:`${t}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:c})(m).then(l).catch(A=>l(A.response,A)),E=(m,l,u,A,h)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...h},U={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):d.token&&(U.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:y)&&u){let f=h?.passphrase?typeof h.passphrase=="boolean"&&h.passphrase?S:h.passphrase:x;u=C(u,f);}return j({url:l,method:m,data:u,headers:U,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:f=>{d?.onUploadProgress&&d?.onUploadProgress(f);}},(f,g)=>w(f,A,d,g))};return {client:j,post:(m,l,u,A)=>E("POST",`${m}`,l,u,A),put:(m,l,u,A)=>E("PUT",`${m}`,l,u,A),patch:(m,l,u,A)=>E("PATCH",`${m}`,l,u,A),delete:(m,l,u)=>E("DELETE",`${m}`,null,l,u),get:(m,l,u)=>E("GET",`${m}`,null,l,u),upload:(m,l,u,A)=>{let h=new FormData;return Object.keys(l).forEach(q=>h.append(q,l[q])),E("POST",`${m}`,h,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(m,l,u,A,h)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...h},U={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?e:d.token;k&&(U.Authorization=`Bearer ${k}`);}let R=u;if(r&&(R=r(R)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:y)&&R){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?S:d.passphrase:x;R=C(R,k);}let g=await fetch(`${t}${l}`,{method:m,headers:U,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(R)}),b=g?.status,P=b===401;if(!g.ok){let k=g?.statusText||"Error";try{let Y=g.headers.get("content-type")||"",I=await g.clone().text();if(I)if(Y.includes("application/json"))try{let ne=JSON.parse(I);if((typeof h?.encryptResponse=="boolean"?h?.encryptResponse:D)&&u){let ke=h?.passphrase?typeof h.passphrase=="boolean"&&h.passphrase?S:h.passphrase:x;try{u=T(ne,ke);}catch{try{u=T(ne,S);}catch{}}}k=ne?.message||k;}catch{k=I;}else k=I;}catch{}let re=typeof h?.disabledToastWhenCancel=="boolean"?h?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:b,isDone:!0};h?.infoError&&i&&!re&&i(W),A(W);return}let O=g.body.getReader(),v=new TextDecoder("utf-8"),V="",de=!1;for(;!de;){let{done:k,value:re}=await O.read();de=k,V+=v.decode(re,{stream:!0});let W=V.split(`
1
+ 'use strict';var fe=require('react'),N=require('dayjs'),Ne=require('dayjs/plugin/utc'),Ke=require('dayjs/plugin/timezone'),Me=require('dayjs/plugin/duration'),Fe=require('dayjs/plugin/advancedFormat'),Le=require('dayjs/plugin/localizedFormat'),Be=require('dayjs/plugin/relativeTime'),He=require('dayjs/plugin/isSameOrBefore'),Ie=require('dayjs/plugin/isSameOrAfter'),$e=require('dayjs/plugin/weekOfYear'),je=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),xe=require('crypto-js/aes'),Te=require('crypto-js/pbkdf2'),Ge=require('crypto-js/enc-utf8'),X=require('crypto-js/enc-base64'),be=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),ut=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var fe__default=/*#__PURE__*/_interopDefault(fe);var N__default=/*#__PURE__*/_interopDefault(N);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var Me__default=/*#__PURE__*/_interopDefault(Me);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var Le__default=/*#__PURE__*/_interopDefault(Le);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var $e__default=/*#__PURE__*/_interopDefault($e);var je__default=/*#__PURE__*/_interopDefault(je);var xe__default=/*#__PURE__*/_interopDefault(xe);var Te__default=/*#__PURE__*/_interopDefault(Te);var Ge__default=/*#__PURE__*/_interopDefault(Ge);var X__default=/*#__PURE__*/_interopDefault(X);var be__default=/*#__PURE__*/_interopDefault(be);var ut__default=/*#__PURE__*/_interopDefault(ut);function Dt(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function St(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pt=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Ot(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function B(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var me={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=me.snackCase(me.camelCase(t)),e&&(r=r?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return r?.trim()}};function qt(t,e){return typeof t=="function"?t(e):t}var K=(t,e,r="")=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let o=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of o){if(s==null)return r;s=s[a];}return s===void 0?r:s},wt={desc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(r,e):"";return s<a?1:-1}else return r<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(o,e):"";return s>a?1:-1}else return r>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(o=>Number(e?K(o,e)||0:o||0)),r.reduce((o,s)=>(o||0)+(s||0),0)||0};function vt(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function Ee(t){let e=new WeakSet;return JSON.stringify(t,function(r,o){return o!==null&&typeof o=="object"?e.has(o)?void 0:(e.add(o),Object.keys(o).sort().reduce((s,a)=>(s[a]=o[a],s),{})):o})??""}function Re(t,e){return Ee([e??"undefined",t??"undefined"])}function ye(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function kt(t,e=0){let r;return function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);}}var ge=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};N__default.default.extend(Ne__default.default);N__default.default.extend(Ke__default.default);N__default.default.extend(Me__default.default);N__default.default.extend(Fe__default.default);N__default.default.extend(Le__default.default);N__default.default.extend(Be__default.default);N__default.default.extend(He__default.default);N__default.default.extend(Ie__default.default);N__default.default.extend($e__default.default);N__default.default.extend(je__default.default);var M=N__default.default;var he=fe.createContext(void 0);function $(){let t=fe.useContext(he);return t||{}}var Je=({children:t,value:e})=>{let r={...e};return fe.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:i}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&M.locale(s,a??{},i);}})();},[e.localeConfig]),jsxRuntime.jsx(he.Provider,{value:r,children:t})};function oe(t,e){let r=be__default.default.random(16),o=be__default.default.random(16),s=Te__default.default(e,r,{keySize:256/32,iterations:1e3}),a=xe__default.default.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:r.toString(X__default.default),iv:o.toString(X__default.default),encrypted:a}}function se(t,e){let{salt:r,iv:o,encrypted:s}=t,a=Te__default.default(e,X__default.default.parse(r),{keySize:256/32,iterations:1e3}),n=xe__default.default.decrypt(s,a,{iv:X__default.default.parse(o)}).toString(Ge__default.default);return JSON.parse(n)}function Ce(t,e){return JSON.stringify(oe(t,e))}function Ae(t,e){return se(JSON.parse(t),e)}function Z(){let{passphrase:t}=$();return {passphrase:t,encrypt(e,r){return oe(e,r||t)},decrypt(e,r){return se(e,r||t)},encryptString(e,r){return Ce(e,r||t)},decryptString(e,r){return Ae(e,r||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Z(),r=fe.useCallback((i,n)=>{try{let p=t(n);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[t]),o=fe.useCallback(i=>{try{let n=localStorage.getItem(i);return n?e(JSON.parse(n)):null}catch(n){return console.error("Failed to get from storage:",n),null}},[e]),s=i=>{let[n,p]=fe.useState(()=>{try{let c=localStorage.getItem(i);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return fe.useEffect(()=>{let c=y=>{if(y.key===i)if(y.newValue)try{p(e(JSON.parse(y.newValue)));}catch(S){console.error("Decrypt error from storage event",S);}else p(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,e]),n},a=fe.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:o,clear:a,useWatchStorage:s}};function Qe(t,e){for(let r in e){let o=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(o),i=JSON.stringify(s);if(a!==i)return false}else if(o!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=zustand.create((t,e)=>({states:{},updateState:(r,o)=>{let s=e().states[r]??z,a={...s,...o};Qe(s,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ie=new Map,Se=(t,e)=>{ie.set(t,e);},Pe=t=>{ie.delete(t);},Oe=t=>ie.get(t);function tt(...t){let[e,r,o]=t,s=e.__isVoid,a=e.__path||e.name,i=s?void 0:r,n=s?r:o,p=n?.storeName||`${a}`,[c,y,S,g]=J(shallow.useShallow(h=>{let u=h.states[p]??z;return [u.loading,u.isCancel,u.response,h.updateState]})),{storageKey:D,cache:T,clearPreviousData:C,refetchOnWindowFocus:q}=$(),j=De(),E=fe.useRef(void 0),F=fe.useRef(null),{cacheName:H,cacheKey:L,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=fe.useMemo(()=>{let h=D?j.get(D):void 0,u=typeof n?.cache=="object"?n?.cache?.cacheName??a:a,b=Re({...i,session:h},typeof n?.cache=="object"?n?.cache?.cacheKey:void 0),R=false;typeof T?.enabled=="boolean"&&(R=T.enabled);let P=false;typeof T?.persistence=="boolean"&&(P=T?.persistence),typeof n?.cache=="object"&&typeof n?.cache?.persistence=="boolean"&&(P=n?.cache?.persistence??false);let O=60*5,v="s";return B(T?.timeout)&&(typeof T?.timeout=="number"?(O=T.timeout,v="s"):typeof T?.timeout=="object"&&(O=T?.timeout.value,v=T?.timeout.unit)),B(n?.cache)&&(typeof n?.cache!="boolean"?(typeof n?.cache?.enabled=="boolean"?R=n.cache.enabled:R=true,typeof n?.cache?.timeout=="number"?(O=n.cache.timeout,v="s"):typeof n?.cache?.timeout=="object"&&(O=n.cache.timeout.value,v=n.cache.timeout.unit)):R=n.cache),{cacheName:u,cacheKey:b,timeout:O,timeoutUnit:v,persistence:P,cacheEnabled:R}},[n?.cache,i,D,T,a]);fe.useEffect(()=>{let h=JSON.stringify(B(E.current)?E.current:""),u=JSON.stringify(B(i)?i:""),b=E.current===void 0;(h!==u||b)&&!n?.hold&&((n?.clearPreviousData??C)&&g(p,{response:null}),m(),E.current=i),n?.onChange&&n?.onChange(i,U);},[i,n?.clearPreviousData,C,n?.hold,...n?.trigger||[]]),fe.useEffect(()=>{let h=async()=>{!te&&H&&L&&(await caches.open(H)).delete(L);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),F.current?.abort();}},[te,H,L,p,F]);let m=fe.useCallback(async h=>{let u=i;if(n?.hold&&n?.logging&&console.log("Hold active"),n?.beforeRequest&&(u=n?.beforeRequest(i)),G&&!h&&!y){n?.onBeforeRequest&&n?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(L))?.json();if(P){let{data:O,expired:v}=P;if(M().isAfter(v))await b.delete(L);else {n?.afterResponse&&O?.data&&(O.data=n?.afterResponse(O.data,u)),n?.logging&&console.log("After request: Using Cache",O),O?.status&&n?.onSuccess?.(O,u),n?.onAfterResponse?.(O,u),g(p,{loading:false,response:O});return}}}if(typeof e=="function"){F.current?.abort();let b=new AbortController;F.current=b,g(p,{loading:true}),n?.logging&&console.log("Before request",i),n?.onBeforeRequest&&n?.onBeforeRequest(i);let R=s?await e(void 0,{...n,signal:b.signal}):await e(u,void 0,{...n,signal:b.signal});if(n?.afterResponse&&R?.data&&(R.data=n?.afterResponse(R.data,u)),n?.logging&&console.log("After request",R),R.status&&n?.onSuccess?.(R,u),R.status||n?.onError?.(R,u),n?.onAfterResponse?.(R,u),g(p,{loading:false,response:R,isCancel:false}),G&&R.status){let P=M().add(Q,ee).toISOString(),O={data:R,expired:P},v=await caches.open(H),V=new Response(JSON.stringify(O));await v.put(L,V);}}},[i,e,n,y,H,L,Q,ee,G]);fe.useEffect(()=>{if(n?.refreshInterval){let h=typeof n.refreshInterval=="number"?n.refreshInterval:n.refreshInterval.value,u=typeof n.refreshInterval=="number"?"s":n.refreshInterval.unit,b=setInterval(()=>{m();},M.duration(h,u).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[n?.refreshInterval,m]);let l=fe.useRef(null),{enabledRefetch:f,timeoutRefetch:A,timeoutUnitRefetch:x}=fe.useMemo(()=>{let h=n?.refetchOnWindowFocus?.enabled??q?.enabled??false,u=n?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof u=="number"?u:u?.value??60*5,R=typeof u=="object"?u.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:R}},[n?.refetchOnWindowFocus,q]);fe.useEffect(()=>{if(!f)return;let h=M.duration(A,x).asMilliseconds(),u=()=>{let R=Date.now(),P=l.current;P!==null&&R-P>=h&&m(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",u),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",b);}},[f,A,x,m]);let w=fe.useCallback(()=>{F.current?.abort(),F.current=null,g(p,{loading:false,isCancel:true});},[p,F]),d=fe.useCallback(()=>{g(p,{loading:false,response:null});},[p]),U=fe.useMemo(()=>({...S,loading:c,refresh:m,abort:w,clear:d,response:S,isCancel:y,clone:(h,u)=>tt(e,h,u)}),[S,c,m,w,d,y,e]);return fe.useEffect(()=>(Se(p,U),()=>{Pe(p);}),[U,p]),[S?.data,U]}async function Cr(t,e=()=>{}){let r=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},r);})}var rt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(rt||{}),nt=(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))(nt||{});var qr=(t,e,r)=>{let{format:o}=$();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...r}):e==="boolean"?ot(t,r):e==="string"?st(t,r):t?.toString()??""};function ot(t,e){let r=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?o:s}function st(t,e){if(!B(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ye(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function at(t,{thouSep:e,decSep:r,decDigits:o,method:s}){if(t==null||isNaN(Number(t)))return "";let a=typeof t=="string"?parseFloat(t):t;if(s)if(typeof o=="number"){let c=Math.pow(10,o);a=Math[s](a*c)/c;}else a=Math[s](a);else if(typeof o=="number"){let c=Math.pow(10,o);a=Math.floor(a*c)/c;}let i=0;if(o==="auto"){let c=a.toString(),y=c.indexOf(".");y!==-1&&(i=c.length-y-1);}let n={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?i:o||0,maximumFractionDigits:o==="auto"?i:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",n).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function it(t,{display:e,value:r}){if(!B(t))return t;let o=M(t,r);return o.isValid()?o.format(e):t}function vr(t,{interval:e,lead:r}){let o=fe.useRef(null);fe.useEffect(()=>{o.current=t;},[t]),fe.useEffect(()=>{let s=()=>o.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Nr(t,e,r){let[o,s]=fe.useState(false),a=(c,y)=>typeof t=="string"&&c===t||typeof t=="number"&&y===t,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),n=c=>{let{key:y,keyCode:S}=c,g=c.ctrlKey,D=c.altKey,T=c.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(y,S)&&(e==="ctrl"&&g||e==="alt"&&D||e==="shift"&&T)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));else {let C=e.every(q=>q==="ctrl"?g:q==="alt"?D:q==="shift"?T:false);a(y,S)&&C&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));}else a(y,S)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));},p=({key:c,keyCode:y})=>{a(c,y)&&s(false);};return fe.useEffect(()=>(window.addEventListener("keydown",n),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",p);}),[]),o}var $r=({url:t,token:e,beforeRequest:r,onCallback:o,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:n,disabledToastWhenCancel:p,withCredentials:c,encryptRequest:y,encryptResponse:S,passphrase:g})=>{let{encrypt:D,decrypt:T,passphrase:C}=Z(),q=(m,l,f,A)=>{let x=A?.code==="ERR_CANCELED",w=m?.status===401,d=m?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:S)&&d){let P=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:g;try{d=T(d,P);}catch{try{d=T(d,C);}catch{}}}let u={...o({...m,data:d,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:m?.status},b=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:p,R=n?n(u,f):!w;if((f?.infoSuccess&&u.status||f?.infoError&&!u.status)&&i&&(!x||!b)&&i(u),!R&&(!x||!f?.disabledHandleUnauthorized)){let P=f?.onUnauthorized||a;P&&P(u);}if(l)l(u);else return u},j=(m,l=()=>{})=>ut__default.default.create({baseURL:`${t}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:c})(m).then(l).catch(A=>l(A.response,A)),E=(m,l,f,A,x)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):d.token&&(U.Authorization=`Bearer ${d.token}`)),r&&(f=r(f)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:y)&&f){let u=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;f=D(f,u);}return j({url:l,method:m,data:f,headers:U,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:u=>{d?.onUploadProgress&&d?.onUploadProgress(u);}},(u,b)=>q(u,A,d,b))};return {client:j,post:(m,l,f,A)=>E("POST",`${m}`,l,f,A),put:(m,l,f,A)=>E("PUT",`${m}`,l,f,A),patch:(m,l,f,A)=>E("PATCH",`${m}`,l,f,A),delete:(m,l,f)=>E("DELETE",`${m}`,null,l,f),get:(m,l,f)=>E("GET",`${m}`,null,l,f),upload:(m,l,f,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),E("POST",`${m}`,x,f,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(m,l,f,A,x)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?e:d.token;k&&(U.Authorization=`Bearer ${k}`);}let h=f;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:y)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:g;h=D(h,k);}let b=await fetch(`${t}${l}`,{method:m,headers:U,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),R=b?.status,P=R===401;if(!b.ok){let k=b?.statusText||"Error";try{let Y=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(Y.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:S)&&f){let ke=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{f=T(ne,ke);}catch{try{f=T(ne,C);}catch{}}}k=ne?.message||k;}catch{k=I;}else k=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:R,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),v=new TextDecoder("utf-8"),V="",de=!1;for(;!de;){let{done:k,value:re}=await O.read();de=k,V+=v.decode(re,{stream:!0});let W=V.split(`
2
2
 
3
- `);V=W.pop();for(let Y of W)if(Y.startsWith("data:"))try{let I=ge(Y);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:b,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:b,isDone:!0});}catch(q){let d=q?.name==="AbortError";A({status:false,data:void 0,message:q instanceof Error?q.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}}}};function Wr(t,e){let[r,n]=fe.useState(false),[s,a]=fe.useState(),[i,o]=fe.useState(0),p=fe.useRef(null);return fe.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async x=>{p.current?.abort();let C=new AbortController;p.current=C,n(true),e?.beforeRequest&&(x=e?.beforeRequest(x)),e?.logging&&console.log("Before request",x);let T={...e,signal:C.signal,onUploadProgress:w=>{let j=Math.round(w.loaded*100/(w.total||1));o(j);}},S=t.__isVoid?await t(void 0,T):await t(x,void 0,T);e?.logging&&console.log("After response",S),a(S),n(false),o(0),S.status&&e?.onSuccess&&e?.onSuccess(S),!S.status&&e?.onError&&e?.onError(S),e?.afterResponse&&e?.afterResponse(S);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function mt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var yt=typeof window<"u"?window:null;function _r(t={}){let{getTrigger:e=mt,target:r=yt,disableHysteresis:n=false,threshold:s=100}=t,a=fe__default.default.useRef(0),[i,o]=fe__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:s,target:r}));return fe__default.default.useEffect(()=>{let p=()=>{o(e(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,e,n,s]),i}var en=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,s=e?.shallow??true,a=o=>{let p=o.states[n]??z,{loading:c,isCancel:y,response:D}=p,{refresh:x,abort:C,clear:T,clone:S}=Oe(n)||{},w=[D?.data,{...D,loading:c,isCancel:y,refresh:x,abort:C,clear:T,clone:S}];return e?.selector?e.selector(w):w};return s?J(shallow.useShallow(a)):J(a)};var nn=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},on=(t,e)=>{let r={};r.others=[];let n=s=>{fe__default.default.Children.forEach(s,a=>{if(fe__default.default.isValidElement(a)){let i=a.type.displayName;if(e.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(t),r};function ln(t){let e=t,r=new Set;function n(){return e}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?e=o(e):e=o,r.forEach(p=>p());}function i(o){let p=fe.useRef(o?o(e):e);return fe.useSyncExternalStore(s,()=>{let c=o?o(e):e,y=p.current;return Object.is(y,c)||(p.current=c),p.current},()=>o?o(e):e)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function bt(t,e=[]){let r={};for(let n in t){let s=t[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...e,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=bt(s,[...e,n]):r[n]=s;}return r}function fn(t,e){let[r,n]=fe.useState(false),[s,a]=fe.useState([]),i=fe.useRef([]),o=fe.useRef(null);fe.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async D=>{o.current?.abort();let x=new AbortController;o.current=x,n(true),a([]),i.current=[],t(D,C=>{C.isDone||(i.current.push(C),a([...i.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...i.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:x.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},y=()=>{n(false),a([]),i.current=[];};return [s.map(D=>D.data),p,{loading:r,abort:c,reset:y,response:s}]}exports.BgsCoreProvider=Je;exports.DataTypeEnum=nt;exports.HttpMethod=rt;exports.capitalizeWords=Re;exports.createApiHelper=$r;exports.createElement=nn;exports.createStore=ln;exports.debounce=kt;exports.decrypt=se;exports.decryptString=Ce;exports.defaultState=z;exports.diffJson=St;exports.encrypt=oe;exports.encryptString=Ae;exports.generateCacheKey=ye;exports.generateUUID=Dt;exports.getApiActions=Oe;exports.getFieldValue=K;exports.isArray=Ot;exports.isNotEmpty=H;exports.jsonCopy=vt;exports.labelFormatter=me;exports.mappingUndefinedtoNull=Pt;exports.moment=M;exports.parseSSEChunk=ge;exports.registerApi=Se;exports.renderChildren=wt;exports.safeUpdate=Qe;exports.sorting=qt;exports.splitElement=on;exports.stableStringify=Ee;exports.summary=Ut;exports.unregisterApi=Pe;exports.useApiLoad=tt;exports.useApiLoadStore=J;exports.useApiSend=Wr;exports.useApiStore=en;exports.useApiStream=fn;exports.useBgsCore=$;exports.useCrypto=Z;exports.useDelay=Ar;exports.useFormatted=wr;exports.useInterval=vr;exports.useKeyPress=Nr;exports.useScrollTrigger=_r;exports.useStorage=De;exports.wrapApi=bt;
3
+ `);V=W.pop();for(let Y of W)if(Y.startsWith("data:"))try{let I=ge(Y);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:R,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:R,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 Wr(t,e){let[r,o]=fe.useState(false),[s,a]=fe.useState(),[i,n]=fe.useState(0),p=fe.useRef(null);return fe.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let D=new AbortController;p.current=D,o(true),e?.beforeRequest&&(g=e?.beforeRequest(g)),e?.logging&&console.log("Before request",g);let T={...e,signal:D.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));n(j);}},C=t.__isVoid?await t(void 0,T):await t(g,void 0,T);e?.logging&&console.log("After response",C),a(C),o(false),n(0),e?.afterResponse&&C?.data&&(C.data=e?.afterResponse(C.data,g)),C.status&&e?.onSuccess&&e?.onSuccess(C,g),!C.status&&e?.onError&&e?.onError(C,g),e?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,o(false),n(0);},progress:i,reset:()=>{o(false),n(0),a(null);}}]}function mt(t,e){let{disableHysteresis:r=false,threshold:o=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>o}var Rt=typeof window<"u"?window:null;function _r(t={}){let{getTrigger:e=mt,target:r=Rt,disableHysteresis:o=false,threshold:s=100}=t,a=fe__default.default.useRef(0),[i,n]=fe__default.default.useState(()=>e(a,{disableHysteresis:o,threshold:s,target:r}));return fe__default.default.useEffect(()=>{let p=()=>{n(e(a,{disableHysteresis:o,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,e,o,s]),i}var en=(t,e)=>{let r=t.__path||t.name,o=e?.storeName||`${r}`,s=e?.shallow??true,a=n=>{let p=n.states[o]??z,{loading:c,isCancel:y,response:S}=p,{refresh:g,abort:D,clear:T,clone:C}=Oe(o)||{},q=[S?.data,{...S,loading:c,isCancel:y,refresh:g,abort:D,clear:T,clone:C}];return e?.selector?e.selector(q):q};return s?J(shallow.useShallow(a)):J(a)};var nn=(t,e)=>{let r=o=>t(o);return r.displayName=e,r},on=(t,e)=>{let r={};r.others=[];let o=s=>{fe__default.default.Children.forEach(s,a=>{if(fe__default.default.isValidElement(a)){let i=a.type.displayName;if(e.includes(i))r[i]=a;else {let n=a;n.props?.children?o(n.props.children):r.others.push(a);}}else r.others.push(a);});};return o(t),r};function ln(t){let e=t,r=new Set;function o(){return e}function s(n){return r.add(n),()=>r.delete(n)}function a(n){typeof n=="function"?e=n(e):e=n,r.forEach(p=>p());}function i(n){let p=fe.useRef(n?n(e):e);return fe.useSyncExternalStore(s,()=>{let c=n?n(e):e,y=p.current;return Object.is(y,c)||(p.current=c),p.current},()=>n?n(e):e)}return {getSnapshot:o,subscribe:s,setState:a,useStore:i}}function bt(t,e=[]){let r={};for(let o in t){let s=t[o];if(typeof s=="function"){let a=s.bind(null);a.__path=[...e,o].join("."),a.__isVoid=s.length===2,r[o]=a;}else typeof s=="object"&&s!==null?r[o]=bt(s,[...e,o]):r[o]=s;}return r}function fn(t,e){let[r,o]=fe.useState(false),[s,a]=fe.useState([]),i=fe.useRef([]),n=fe.useRef(null);fe.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{n.current?.abort();}},[]);let p=async S=>{n.current?.abort();let g=new AbortController;n.current=g,o(true),a([]),i.current=[],t(S,D=>{D.isDone||(i.current.push(D),a([...i.current])),(D.isDone||!D.status)&&(o(false),e?.onDone&&e?.onDone([...i.current])),D.status?e?.onStream&&e?.onStream(D):e?.onError&&e?.onError(D);},{signal:g.signal});},c=()=>{n.current?.abort(),n.current=null,o(false);},y=()=>{o(false),a([]),i.current=[];};return [s.map(S=>S.data),p,{loading:r,abort:c,reset:y,response:s}]}exports.BgsCoreProvider=Je;exports.DataTypeEnum=nt;exports.HttpMethod=rt;exports.capitalizeWords=ye;exports.createApiHelper=$r;exports.createElement=nn;exports.createStore=ln;exports.debounce=kt;exports.decrypt=se;exports.decryptString=Ae;exports.defaultState=z;exports.diffJson=St;exports.encrypt=oe;exports.encryptString=Ce;exports.generateCacheKey=Re;exports.generateUUID=Dt;exports.getApiActions=Oe;exports.getFieldValue=K;exports.isArray=Ot;exports.isNotEmpty=B;exports.jsonCopy=vt;exports.labelFormatter=me;exports.mappingUndefinedtoNull=Pt;exports.moment=M;exports.parseSSEChunk=ge;exports.registerApi=Se;exports.renderChildren=qt;exports.safeUpdate=Qe;exports.sorting=wt;exports.splitElement=on;exports.stableStringify=Ee;exports.summary=Ut;exports.unregisterApi=Pe;exports.useApiLoad=tt;exports.useApiLoadStore=J;exports.useApiSend=Wr;exports.useApiStore=en;exports.useApiStream=fn;exports.useBgsCore=$;exports.useCrypto=Z;exports.useDelay=Cr;exports.useFormatted=qr;exports.useInterval=vr;exports.useKeyPress=Nr;exports.useScrollTrigger=_r;exports.useStorage=De;exports.wrapApi=bt;
package/dist/index.d.cts CHANGED
@@ -244,7 +244,7 @@ interface UseCallOptionsProps<DReq, DRes> extends OptionsHelper {
244
244
  /**
245
245
  * Fungsi manipulasi respon dari server sebelum disimpan atau ditampilkan.
246
246
  */
247
- afterResponse: (response: DRes) => DRes;
247
+ afterResponse: (response: DRes, request: DReq) => DRes;
248
248
  /**
249
249
  * Hook yang dijalankan sebelum request diproses.
250
250
  */
@@ -252,7 +252,15 @@ interface UseCallOptionsProps<DReq, DRes> extends OptionsHelper {
252
252
  /**
253
253
  * Hook yang dijalankan setelah respon diterima dari server.
254
254
  */
255
- onAfterResponse: (response: ApiResponse<DRes>) => void;
255
+ onAfterResponse: OnCallback<DRes, DReq>;
256
+ /**
257
+ * Callback ketika respon berhasil.
258
+ */
259
+ onSuccess?: OnCallback<DRes, DReq>;
260
+ /**
261
+ * Callback ketika terjadi error.
262
+ */
263
+ onError?: OnCallback<DRes, DReq>;
256
264
  /**
257
265
  * Daftar dependency yang dapat memicu ulang pemanggilan API jika berubah.
258
266
  */
@@ -306,11 +314,11 @@ interface UseApiSendProps<Req, Res> extends Partial<OptionsHelper> {
306
314
  /**
307
315
  * Callback ketika respon berhasil.
308
316
  */
309
- onSuccess?: OnCallback<Res>;
317
+ onSuccess?: OnCallback<Res, Req>;
310
318
  /**
311
319
  * Callback ketika terjadi error.
312
320
  */
313
- onError?: OnCallback<Res>;
321
+ onError?: OnCallback<Res, Req>;
314
322
  /**
315
323
  * Jika true, proses request & response akan dicetak ke console.
316
324
  */
@@ -322,13 +330,21 @@ interface UseApiSendProps<Req, Res> extends Partial<OptionsHelper> {
322
330
  /**
323
331
  * Fungsi manipulasi setelah respon diterima.
324
332
  */
325
- afterResponse?: OnCallback<Res>;
333
+ afterResponse?: (response: Res, request: Req) => Res;
334
+ /**
335
+ * Hook yang dijalankan sebelum request diproses.
336
+ */
337
+ onBeforeRequest: (request: Req) => void;
338
+ /**
339
+ * Hook yang dijalankan setelah respon diterima dari server.
340
+ */
341
+ onAfterResponse: OnCallback<Res, Req>;
326
342
  /**
327
343
  * Jika true, request akan otomatis dibatalkan saat komponen unmount.
328
344
  */
329
345
  abortOnUnmount?: boolean;
330
346
  }
331
- type OnCallback<T = any> = (response: ApiResponse<T>) => void;
347
+ type OnCallback<Res = any, Req = any> = (response: ApiResponse<Res>, request: Req) => void;
332
348
  type ApiActionState<Res> = Partial<ApiResponse<Res>> & {
333
349
  /** Membatalkan request yang sedang berjalan */
334
350
  abort: () => void;
package/dist/index.d.ts CHANGED
@@ -244,7 +244,7 @@ interface UseCallOptionsProps<DReq, DRes> extends OptionsHelper {
244
244
  /**
245
245
  * Fungsi manipulasi respon dari server sebelum disimpan atau ditampilkan.
246
246
  */
247
- afterResponse: (response: DRes) => DRes;
247
+ afterResponse: (response: DRes, request: DReq) => DRes;
248
248
  /**
249
249
  * Hook yang dijalankan sebelum request diproses.
250
250
  */
@@ -252,7 +252,15 @@ interface UseCallOptionsProps<DReq, DRes> extends OptionsHelper {
252
252
  /**
253
253
  * Hook yang dijalankan setelah respon diterima dari server.
254
254
  */
255
- onAfterResponse: (response: ApiResponse<DRes>) => void;
255
+ onAfterResponse: OnCallback<DRes, DReq>;
256
+ /**
257
+ * Callback ketika respon berhasil.
258
+ */
259
+ onSuccess?: OnCallback<DRes, DReq>;
260
+ /**
261
+ * Callback ketika terjadi error.
262
+ */
263
+ onError?: OnCallback<DRes, DReq>;
256
264
  /**
257
265
  * Daftar dependency yang dapat memicu ulang pemanggilan API jika berubah.
258
266
  */
@@ -306,11 +314,11 @@ interface UseApiSendProps<Req, Res> extends Partial<OptionsHelper> {
306
314
  /**
307
315
  * Callback ketika respon berhasil.
308
316
  */
309
- onSuccess?: OnCallback<Res>;
317
+ onSuccess?: OnCallback<Res, Req>;
310
318
  /**
311
319
  * Callback ketika terjadi error.
312
320
  */
313
- onError?: OnCallback<Res>;
321
+ onError?: OnCallback<Res, Req>;
314
322
  /**
315
323
  * Jika true, proses request & response akan dicetak ke console.
316
324
  */
@@ -322,13 +330,21 @@ interface UseApiSendProps<Req, Res> extends Partial<OptionsHelper> {
322
330
  /**
323
331
  * Fungsi manipulasi setelah respon diterima.
324
332
  */
325
- afterResponse?: OnCallback<Res>;
333
+ afterResponse?: (response: Res, request: Req) => Res;
334
+ /**
335
+ * Hook yang dijalankan sebelum request diproses.
336
+ */
337
+ onBeforeRequest: (request: Req) => void;
338
+ /**
339
+ * Hook yang dijalankan setelah respon diterima dari server.
340
+ */
341
+ onAfterResponse: OnCallback<Res, Req>;
326
342
  /**
327
343
  * Jika true, request akan otomatis dibatalkan saat komponen unmount.
328
344
  */
329
345
  abortOnUnmount?: boolean;
330
346
  }
331
- type OnCallback<T = any> = (response: ApiResponse<T>) => void;
347
+ type OnCallback<Res = any, Req = any> = (response: ApiResponse<Res>, request: Req) => void;
332
348
  type ApiActionState<Res> = Partial<ApiResponse<Res>> & {
333
349
  /** Membatalkan request yang sedang berjalan */
334
350
  abort: () => void;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import fe,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import N from'dayjs';import Ne from'dayjs/plugin/utc';import Ke from'dayjs/plugin/timezone';import Me from'dayjs/plugin/duration';import Fe from'dayjs/plugin/advancedFormat';import Le from'dayjs/plugin/localizedFormat';import He from'dayjs/plugin/relativeTime';import Be from'dayjs/plugin/isSameOrBefore';import Ie from'dayjs/plugin/isSameOrAfter';import $e from'dayjs/plugin/weekOfYear';import je from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import xe from'crypto-js/aes';import Te from'crypto-js/pbkdf2';import Ge from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import be from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import ut from'axios';function Dt(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function St(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pt=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Ot(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function H(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var me={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=me.snackCase(me.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function wt(t,e){return typeof t=="function"?t(e):t}var K=(t,e,r="")=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of n){if(s==null)return r;s=s[a];}return s===void 0?r:s},qt={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(n,e)?K(r,e):"";return s<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(n,e)?K(n,e):"";return s>a?1:-1}else return r>n?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?K(n,e)||0:n||0)),r.reduce((n,s)=>(n||0)+(s||0),0)||0};function vt(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function Ee(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((s,a)=>(s[a]=n[a],s),{})):n})??""}function ye(t,e){return Ee([e??"undefined",t??"undefined"])}function Re(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function kt(t,e=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{t(...n);},e*1e3);}}var ge=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};N.extend(Ne);N.extend(Ke);N.extend(Me);N.extend(Fe);N.extend(Le);N.extend(He);N.extend(Be);N.extend(Ie);N.extend($e);N.extend(je);var M=N;var he=createContext(void 0);function $(){let t=useContext(he);return t||{}}var Je=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:i}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&M.locale(s,a??{},i);}})();},[e.localeConfig]),jsx(he.Provider,{value:r,children:t})};function oe(t,e){let r=be.random(16),n=be.random(16),s=Te(e,r,{keySize:256/32,iterations:1e3}),a=xe.encrypt(JSON.stringify(t),s,{iv:n}).toString();return {salt:r.toString(X),iv:n.toString(X),encrypted:a}}function se(t,e){let{salt:r,iv:n,encrypted:s}=t,a=Te(e,X.parse(r),{keySize:256/32,iterations:1e3}),o=xe.decrypt(s,a,{iv:X.parse(n)}).toString(Ge);return JSON.parse(o)}function Ae(t,e){return JSON.stringify(oe(t,e))}function Ce(t,e){return se(JSON.parse(t),e)}function Z(){let{passphrase:t}=$();return {passphrase:t,encrypt(e,r){return oe(e,r||t)},decrypt(e,r){return se(e,r||t)},encryptString(e,r){return Ae(e,r||t)},decryptString(e,r){return Ce(e,r||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Z(),r=useCallback((i,o)=>{try{let p=t(o);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[t]),n=useCallback(i=>{try{let o=localStorage.getItem(i);return o?e(JSON.parse(o)):null}catch(o){return console.error("Failed to get from storage:",o),null}},[e]),s=i=>{let[o,p]=useState(()=>{try{let c=localStorage.getItem(i);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=y=>{if(y.key===i)if(y.newValue)try{p(e(JSON.parse(y.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else p(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,e]),o},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:s}};function Qe(t,e){for(let r in e){let n=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(n),i=JSON.stringify(s);if(a!==i)return false}else if(n!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=create((t,e)=>({states:{},updateState:(r,n)=>{let s=e().states[r]??z,a={...s,...n};Qe(s,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ie=new Map,Se=(t,e)=>{ie.set(t,e);},Pe=t=>{ie.delete(t);},Oe=t=>ie.get(t);function tt(...t){let[e,r,n]=t,s=e.__isVoid,a=e.__path||e.name,i=s?void 0:r,o=s?r:n,p=o?.storeName||`${a}`,[c,y,D,x]=J(useShallow(R=>{let f=R.states[p]??z;return [f.loading,f.isCancel,f.response,R.updateState]})),{storageKey:C,cache:T,clearPreviousData:S,refetchOnWindowFocus:w}=$(),j=De(),E=useRef(void 0),F=useRef(null),{cacheName:B,cacheKey:L,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=useMemo(()=>{let R=C?j.get(C):void 0,f=typeof o?.cache=="object"?o?.cache?.cacheName??a:a,g=ye({...i,session:R},typeof o?.cache=="object"?o?.cache?.cacheKey:void 0),b=false;typeof T?.enabled=="boolean"&&(b=T.enabled);let P=false;typeof T?.persistence=="boolean"&&(P=T?.persistence),typeof o?.cache=="object"&&typeof o?.cache?.persistence=="boolean"&&(P=o?.cache?.persistence??false);let O=60*5,v="s";return H(T?.timeout)&&(typeof T?.timeout=="number"?(O=T.timeout,v="s"):typeof T?.timeout=="object"&&(O=T?.timeout.value,v=T?.timeout.unit)),H(o?.cache)&&(typeof o?.cache!="boolean"?(typeof o?.cache?.enabled=="boolean"?b=o.cache.enabled:b=true,typeof o?.cache?.timeout=="number"?(O=o.cache.timeout,v="s"):typeof o?.cache?.timeout=="object"&&(O=o.cache.timeout.value,v=o.cache.timeout.unit)):b=o.cache),{cacheName:f,cacheKey:g,timeout:O,timeoutUnit:v,persistence:P,cacheEnabled:b}},[o?.cache,i,C,T,a]);useEffect(()=>{let R=JSON.stringify(H(E.current)?E.current:""),f=JSON.stringify(H(i)?i:""),g=E.current===void 0;(R!==f||g)&&!o?.hold&&((o?.clearPreviousData??S)&&x(p,{response:null}),m(),E.current=i),o?.onChange&&o?.onChange(i,U);},[i,o?.clearPreviousData,S,o?.hold,...o?.trigger||[]]),useEffect(()=>{let R=async()=>{!te&&B&&L&&(await caches.open(B)).delete(L);};return window.addEventListener("beforeunload",R),()=>{window.removeEventListener("beforeunload",R),F.current?.abort();}},[te,B,L,p,F]);let m=useCallback(async R=>{let f=i;if(o?.hold&&o?.logging&&console.log("Hold active"),o?.beforeRequest&&(f=o?.beforeRequest(i)),G&&!R&&!y){o?.onBeforeRequest&&o?.onBeforeRequest(i);let g=await caches.open(B),P=await(await g.match(L))?.json();if(P){let{data:O,expired:v}=P;if(M().isAfter(v))await g.delete(L);else {o?.afterResponse&&O?.data&&(O.data=o?.afterResponse(O.data)),o?.logging&&console.log("After request: Using Cache",O),o?.onAfterResponse&&o?.onAfterResponse(O),x(p,{loading:false,response:O});return}}}if(typeof e=="function"){F.current?.abort();let g=new AbortController;F.current=g,x(p,{loading:true}),o?.logging&&console.log("Before request",i),o?.onBeforeRequest&&o?.onBeforeRequest(i);let b=s?await e(void 0,{...o,signal:g.signal}):await e(f,void 0,{...o,signal:g.signal});if(o?.afterResponse&&b?.data&&(b.data=o?.afterResponse(b.data)),o?.logging&&console.log("After request",b),o?.onAfterResponse&&o?.onAfterResponse(b),x(p,{loading:false,response:b,isCancel:false}),G&&b.status){let P=M().add(Q,ee).toISOString(),O={data:b,expired:P},v=await caches.open(B),V=new Response(JSON.stringify(O));await v.put(L,V);}}},[i,e,o,y,B,L,Q,ee,G]);useEffect(()=>{if(o?.refreshInterval){let R=typeof o.refreshInterval=="number"?o.refreshInterval:o.refreshInterval.value,f=typeof o.refreshInterval=="number"?"s":o.refreshInterval.unit,g=setInterval(()=>{m();},M.duration(R,f).asMilliseconds());return ()=>clearInterval(g)}return ()=>{}},[o?.refreshInterval,m]);let l=useRef(null),{enabledRefetch:u,timeoutRefetch:A,timeoutUnitRefetch:h}=useMemo(()=>{let R=o?.refetchOnWindowFocus?.enabled??w?.enabled??false,f=o?.refetchOnWindowFocus?.timeout??w?.timeout,g=typeof f=="number"?f:f?.value??60*5,b=typeof f=="object"?f.unit:"s";return {enabledRefetch:R,timeoutRefetch:g,timeoutUnitRefetch:b}},[o?.refetchOnWindowFocus,w]);useEffect(()=>{if(!u)return;let R=M.duration(A,h).asMilliseconds(),f=()=>{let b=Date.now(),P=l.current;P!==null&&b-P>=R&&m(),l.current=null;},g=()=>{l.current=Date.now();};return window.addEventListener("focus",f),window.addEventListener("blur",g),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",g);}},[u,A,h,m]);let q=useCallback(()=>{F.current?.abort(),F.current=null,x(p,{loading:false,isCancel:true});},[p,F]),d=useCallback(()=>{x(p,{loading:false,response:null});},[p]),U=useMemo(()=>({...D,loading:c,refresh:m,abort:q,clear:d,response:D,isCancel:y,clone:(R,f)=>tt(e,R,f)}),[D,c,m,q,d,y,e]);return useEffect(()=>(Se(p,U),()=>{Pe(p);}),[U,p]),[D?.data,U]}async function Ar(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var rt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(rt||{}),nt=(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))(nt||{});var wr=(t,e,r)=>{let{format:n}=$();return e==="number"?at(t,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:n[e]?.display,value:n[e]?.value,...r}):e==="boolean"?ot(t,r):e==="string"?st(t,r):t?.toString()??""};function ot(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?n:s}function st(t,e){if(!H(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=Re(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function at(t,{thouSep:e,decSep:r,decDigits:n,method:s}){if(t==null||isNaN(Number(t)))return "";let a=typeof t=="string"?parseFloat(t):t;if(s)if(typeof n=="number"){let c=Math.pow(10,n);a=Math[s](a*c)/c;}else a=Math[s](a);else if(typeof n=="number"){let c=Math.pow(10,n);a=Math.floor(a*c)/c;}let i=0;if(n==="auto"){let c=a.toString(),y=c.indexOf(".");y!==-1&&(i=c.length-y-1);}let o={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?i:n||0,maximumFractionDigits:n==="auto"?i:n||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",o).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function it(t,{display:e,value:r}){if(!H(t))return t;let n=M(t,r);return n.isValid()?n.format(e):t}function vr(t,{interval:e,lead:r}){let n=useRef(null);useEffect(()=>{n.current=t;},[t]),useEffect(()=>{let s=()=>n.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Nr(t,e,r){let[n,s]=useState(false),a=(c,y)=>typeof t=="string"&&c===t||typeof t=="number"&&y===t,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),o=c=>{let{key:y,keyCode:D}=c,x=c.ctrlKey,C=c.altKey,T=c.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(y,D)&&(e==="ctrl"&&x||e==="alt"&&C||e==="shift"&&T)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));else {let S=e.every(w=>w==="ctrl"?x:w==="alt"?C:w==="shift"?T:false);a(y,D)&&S&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));}else a(y,D)&&(c.preventDefault(),r&&c.stopPropagation(),s(!n));},p=({key:c,keyCode:y})=>{a(c,y)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",o),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",o),window.removeEventListener("keyup",p);}),[]),n}var $r=({url:t,token:e,beforeRequest:r,onCallback:n,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:o,disabledToastWhenCancel:p,withCredentials:c,encryptRequest:y,encryptResponse:D,passphrase:x})=>{let{encrypt:C,decrypt:T,passphrase:S}=Z(),w=(m,l,u,A)=>{let h=A?.code==="ERR_CANCELED",q=m?.status===401,d=m?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:D)&&d){let P=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?S:u.passphrase:x;try{d=T(d,P);}catch{try{d=T(d,S);}catch{}}}let f={...n({...m,data:d,isCancel:h,isUnauthorization:q},A),isCancel:h,isUnauthorization:q,httpCode:m?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:p,b=o?o(f,u):!q;if((u?.infoSuccess&&f.status||u?.infoError&&!f.status)&&i&&(!h||!g)&&i(f),!b&&(!h||!u?.disabledHandleUnauthorized)){let P=u?.onUnauthorized||a;P&&P(f);}if(l)l(f);else return f},j=(m,l=()=>{})=>ut.create({baseURL:`${t}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:c})(m).then(l).catch(A=>l(A.response,A)),E=(m,l,u,A,h)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...h},U={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):d.token&&(U.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:y)&&u){let f=h?.passphrase?typeof h.passphrase=="boolean"&&h.passphrase?S:h.passphrase:x;u=C(u,f);}return j({url:l,method:m,data:u,headers:U,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:f=>{d?.onUploadProgress&&d?.onUploadProgress(f);}},(f,g)=>w(f,A,d,g))};return {client:j,post:(m,l,u,A)=>E("POST",`${m}`,l,u,A),put:(m,l,u,A)=>E("PUT",`${m}`,l,u,A),patch:(m,l,u,A)=>E("PATCH",`${m}`,l,u,A),delete:(m,l,u)=>E("DELETE",`${m}`,null,l,u),get:(m,l,u)=>E("GET",`${m}`,null,l,u),upload:(m,l,u,A)=>{let h=new FormData;return Object.keys(l).forEach(q=>h.append(q,l[q])),E("POST",`${m}`,h,u,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(m,l,u,A,h)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...h},U={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?e:d.token;k&&(U.Authorization=`Bearer ${k}`);}let R=u;if(r&&(R=r(R)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:y)&&R){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?S:d.passphrase:x;R=C(R,k);}let g=await fetch(`${t}${l}`,{method:m,headers:U,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(R)}),b=g?.status,P=b===401;if(!g.ok){let k=g?.statusText||"Error";try{let Y=g.headers.get("content-type")||"",I=await g.clone().text();if(I)if(Y.includes("application/json"))try{let ne=JSON.parse(I);if((typeof h?.encryptResponse=="boolean"?h?.encryptResponse:D)&&u){let ke=h?.passphrase?typeof h.passphrase=="boolean"&&h.passphrase?S:h.passphrase:x;try{u=T(ne,ke);}catch{try{u=T(ne,S);}catch{}}}k=ne?.message||k;}catch{k=I;}else k=I;}catch{}let re=typeof h?.disabledToastWhenCancel=="boolean"?h?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:b,isDone:!0};h?.infoError&&i&&!re&&i(W),A(W);return}let O=g.body.getReader(),v=new TextDecoder("utf-8"),V="",de=!1;for(;!de;){let{done:k,value:re}=await O.read();de=k,V+=v.decode(re,{stream:!0});let W=V.split(`
1
+ import fe,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import N from'dayjs';import Ne from'dayjs/plugin/utc';import Ke from'dayjs/plugin/timezone';import Me from'dayjs/plugin/duration';import Fe from'dayjs/plugin/advancedFormat';import Le from'dayjs/plugin/localizedFormat';import Be from'dayjs/plugin/relativeTime';import He from'dayjs/plugin/isSameOrBefore';import Ie from'dayjs/plugin/isSameOrAfter';import $e from'dayjs/plugin/weekOfYear';import je from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import xe from'crypto-js/aes';import Te from'crypto-js/pbkdf2';import Ge from'crypto-js/enc-utf8';import X from'crypto-js/enc-base64';import be from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import ut from'axios';function Dt(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function St(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pt=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function Ot(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function B(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var me={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=me.snackCase(me.camelCase(t)),e&&(r=r?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return r?.trim()}};function qt(t,e){return typeof t=="function"?t(e):t}var K=(t,e,r="")=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let o=e.replace(/\[(\d+)\]/g,".$1").split("."),s=t;for(let a of o){if(s==null)return r;s=s[a];}return s===void 0?r:s},wt={desc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(r,e):"";return s<a?1:-1}else return r<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,o)=>{if(e){let s=K(r,e)?K(r,e):"",a=K(o,e)?K(o,e):"";return s>a?1:-1}else return r>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(o=>Number(e?K(o,e)||0:o||0)),r.reduce((o,s)=>(o||0)+(s||0),0)||0};function vt(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function Ee(t){let e=new WeakSet;return JSON.stringify(t,function(r,o){return o!==null&&typeof o=="object"?e.has(o)?void 0:(e.add(o),Object.keys(o).sort().reduce((s,a)=>(s[a]=o[a],s),{})):o})??""}function Re(t,e){return Ee([e??"undefined",t??"undefined"])}function ye(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function kt(t,e=0){let r;return function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);}}var ge=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};N.extend(Ne);N.extend(Ke);N.extend(Me);N.extend(Fe);N.extend(Le);N.extend(Be);N.extend(He);N.extend(Ie);N.extend($e);N.extend(je);var M=N;var he=createContext(void 0);function $(){let t=useContext(he);return t||{}}var Je=({children:t,value:e})=>{let r={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:i}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&M.locale(s,a??{},i);}})();},[e.localeConfig]),jsx(he.Provider,{value:r,children:t})};function oe(t,e){let r=be.random(16),o=be.random(16),s=Te(e,r,{keySize:256/32,iterations:1e3}),a=xe.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:r.toString(X),iv:o.toString(X),encrypted:a}}function se(t,e){let{salt:r,iv:o,encrypted:s}=t,a=Te(e,X.parse(r),{keySize:256/32,iterations:1e3}),n=xe.decrypt(s,a,{iv:X.parse(o)}).toString(Ge);return JSON.parse(n)}function Ce(t,e){return JSON.stringify(oe(t,e))}function Ae(t,e){return se(JSON.parse(t),e)}function Z(){let{passphrase:t}=$();return {passphrase:t,encrypt(e,r){return oe(e,r||t)},decrypt(e,r){return se(e,r||t)},encryptString(e,r){return Ce(e,r||t)},decryptString(e,r){return Ae(e,r||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Z(),r=useCallback((i,n)=>{try{let p=t(n);localStorage.setItem(i,JSON.stringify(p));}catch(p){console.error("Failed to save to storage:",p);}},[t]),o=useCallback(i=>{try{let n=localStorage.getItem(i);return n?e(JSON.parse(n)):null}catch(n){return console.error("Failed to get from storage:",n),null}},[e]),s=i=>{let[n,p]=useState(()=>{try{let c=localStorage.getItem(i);return c?e(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=y=>{if(y.key===i)if(y.newValue)try{p(e(JSON.parse(y.newValue)));}catch(S){console.error("Decrypt error from storage event",S);}else p(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,e]),n},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:o,clear:a,useWatchStorage:s}};function Qe(t,e){for(let r in e){let o=t[r],s=e[r];if(r==="response"){let a=JSON.stringify(o),i=JSON.stringify(s);if(a!==i)return false}else if(o!==s)return false}return true}var z={loading:false,response:void 0,isCancel:false},J=create((t,e)=>({states:{},updateState:(r,o)=>{let s=e().states[r]??z,a={...s,...o};Qe(s,a)||t(i=>({states:{...i.states,[r]:a}}));}}));var ie=new Map,Se=(t,e)=>{ie.set(t,e);},Pe=t=>{ie.delete(t);},Oe=t=>ie.get(t);function tt(...t){let[e,r,o]=t,s=e.__isVoid,a=e.__path||e.name,i=s?void 0:r,n=s?r:o,p=n?.storeName||`${a}`,[c,y,S,g]=J(useShallow(h=>{let u=h.states[p]??z;return [u.loading,u.isCancel,u.response,h.updateState]})),{storageKey:D,cache:T,clearPreviousData:C,refetchOnWindowFocus:q}=$(),j=De(),E=useRef(void 0),F=useRef(null),{cacheName:H,cacheKey:L,timeout:Q,timeoutUnit:ee,persistence:te,cacheEnabled:G}=useMemo(()=>{let h=D?j.get(D):void 0,u=typeof n?.cache=="object"?n?.cache?.cacheName??a:a,b=Re({...i,session:h},typeof n?.cache=="object"?n?.cache?.cacheKey:void 0),R=false;typeof T?.enabled=="boolean"&&(R=T.enabled);let P=false;typeof T?.persistence=="boolean"&&(P=T?.persistence),typeof n?.cache=="object"&&typeof n?.cache?.persistence=="boolean"&&(P=n?.cache?.persistence??false);let O=60*5,v="s";return B(T?.timeout)&&(typeof T?.timeout=="number"?(O=T.timeout,v="s"):typeof T?.timeout=="object"&&(O=T?.timeout.value,v=T?.timeout.unit)),B(n?.cache)&&(typeof n?.cache!="boolean"?(typeof n?.cache?.enabled=="boolean"?R=n.cache.enabled:R=true,typeof n?.cache?.timeout=="number"?(O=n.cache.timeout,v="s"):typeof n?.cache?.timeout=="object"&&(O=n.cache.timeout.value,v=n.cache.timeout.unit)):R=n.cache),{cacheName:u,cacheKey:b,timeout:O,timeoutUnit:v,persistence:P,cacheEnabled:R}},[n?.cache,i,D,T,a]);useEffect(()=>{let h=JSON.stringify(B(E.current)?E.current:""),u=JSON.stringify(B(i)?i:""),b=E.current===void 0;(h!==u||b)&&!n?.hold&&((n?.clearPreviousData??C)&&g(p,{response:null}),m(),E.current=i),n?.onChange&&n?.onChange(i,U);},[i,n?.clearPreviousData,C,n?.hold,...n?.trigger||[]]),useEffect(()=>{let h=async()=>{!te&&H&&L&&(await caches.open(H)).delete(L);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),F.current?.abort();}},[te,H,L,p,F]);let m=useCallback(async h=>{let u=i;if(n?.hold&&n?.logging&&console.log("Hold active"),n?.beforeRequest&&(u=n?.beforeRequest(i)),G&&!h&&!y){n?.onBeforeRequest&&n?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(L))?.json();if(P){let{data:O,expired:v}=P;if(M().isAfter(v))await b.delete(L);else {n?.afterResponse&&O?.data&&(O.data=n?.afterResponse(O.data,u)),n?.logging&&console.log("After request: Using Cache",O),O?.status&&n?.onSuccess?.(O,u),n?.onAfterResponse?.(O,u),g(p,{loading:false,response:O});return}}}if(typeof e=="function"){F.current?.abort();let b=new AbortController;F.current=b,g(p,{loading:true}),n?.logging&&console.log("Before request",i),n?.onBeforeRequest&&n?.onBeforeRequest(i);let R=s?await e(void 0,{...n,signal:b.signal}):await e(u,void 0,{...n,signal:b.signal});if(n?.afterResponse&&R?.data&&(R.data=n?.afterResponse(R.data,u)),n?.logging&&console.log("After request",R),R.status&&n?.onSuccess?.(R,u),R.status||n?.onError?.(R,u),n?.onAfterResponse?.(R,u),g(p,{loading:false,response:R,isCancel:false}),G&&R.status){let P=M().add(Q,ee).toISOString(),O={data:R,expired:P},v=await caches.open(H),V=new Response(JSON.stringify(O));await v.put(L,V);}}},[i,e,n,y,H,L,Q,ee,G]);useEffect(()=>{if(n?.refreshInterval){let h=typeof n.refreshInterval=="number"?n.refreshInterval:n.refreshInterval.value,u=typeof n.refreshInterval=="number"?"s":n.refreshInterval.unit,b=setInterval(()=>{m();},M.duration(h,u).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[n?.refreshInterval,m]);let l=useRef(null),{enabledRefetch:f,timeoutRefetch:A,timeoutUnitRefetch:x}=useMemo(()=>{let h=n?.refetchOnWindowFocus?.enabled??q?.enabled??false,u=n?.refetchOnWindowFocus?.timeout??q?.timeout,b=typeof u=="number"?u:u?.value??60*5,R=typeof u=="object"?u.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:R}},[n?.refetchOnWindowFocus,q]);useEffect(()=>{if(!f)return;let h=M.duration(A,x).asMilliseconds(),u=()=>{let R=Date.now(),P=l.current;P!==null&&R-P>=h&&m(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",u),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",b);}},[f,A,x,m]);let w=useCallback(()=>{F.current?.abort(),F.current=null,g(p,{loading:false,isCancel:true});},[p,F]),d=useCallback(()=>{g(p,{loading:false,response:null});},[p]),U=useMemo(()=>({...S,loading:c,refresh:m,abort:w,clear:d,response:S,isCancel:y,clone:(h,u)=>tt(e,h,u)}),[S,c,m,w,d,y,e]);return useEffect(()=>(Se(p,U),()=>{Pe(p);}),[U,p]),[S?.data,U]}async function Cr(t,e=()=>{}){let r=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},r);})}var rt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(rt||{}),nt=(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))(nt||{});var qr=(t,e,r)=>{let{format:o}=$();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...r}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...r}):e==="boolean"?ot(t,r):e==="string"?st(t,r):t?.toString()??""};function ot(t,e){let r=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return r?o:s}function st(t,e){if(!B(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ye(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function at(t,{thouSep:e,decSep:r,decDigits:o,method:s}){if(t==null||isNaN(Number(t)))return "";let a=typeof t=="string"?parseFloat(t):t;if(s)if(typeof o=="number"){let c=Math.pow(10,o);a=Math[s](a*c)/c;}else a=Math[s](a);else if(typeof o=="number"){let c=Math.pow(10,o);a=Math.floor(a*c)/c;}let i=0;if(o==="auto"){let c=a.toString(),y=c.indexOf(".");y!==-1&&(i=c.length-y-1);}let n={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?i:o||0,maximumFractionDigits:o==="auto"?i:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",n).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function it(t,{display:e,value:r}){if(!B(t))return t;let o=M(t,r);return o.isValid()?o.format(e):t}function vr(t,{interval:e,lead:r}){let o=useRef(null);useEffect(()=>{o.current=t;},[t]),useEffect(()=>{let s=()=>o.current();if(r&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Nr(t,e,r){let[o,s]=useState(false),a=(c,y)=>typeof t=="string"&&c===t||typeof t=="number"&&y===t,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),n=c=>{let{key:y,keyCode:S}=c,g=c.ctrlKey,D=c.altKey,T=c.shiftKey;if(!i(document.activeElement))if(e)if(typeof e=="string")a(y,S)&&(e==="ctrl"&&g||e==="alt"&&D||e==="shift"&&T)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));else {let C=e.every(q=>q==="ctrl"?g:q==="alt"?D:q==="shift"?T:false);a(y,S)&&C&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));}else a(y,S)&&(c.preventDefault(),r&&c.stopPropagation(),s(!o));},p=({key:c,keyCode:y})=>{a(c,y)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",n),window.addEventListener("keyup",p),()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",p);}),[]),o}var $r=({url:t,token:e,beforeRequest:r,onCallback:o,headers:s,onUnauthorized:a,handleToast:i,handleAuthorization:n,disabledToastWhenCancel:p,withCredentials:c,encryptRequest:y,encryptResponse:S,passphrase:g})=>{let{encrypt:D,decrypt:T,passphrase:C}=Z(),q=(m,l,f,A)=>{let x=A?.code==="ERR_CANCELED",w=m?.status===401,d=m?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:S)&&d){let P=f?.passphrase?typeof f.passphrase=="boolean"&&f.passphrase?C:f.passphrase:g;try{d=T(d,P);}catch{try{d=T(d,C);}catch{}}}let u={...o({...m,data:d,isCancel:x,isUnauthorization:w},A),isCancel:x,isUnauthorization:w,httpCode:m?.status},b=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:p,R=n?n(u,f):!w;if((f?.infoSuccess&&u.status||f?.infoError&&!u.status)&&i&&(!x||!b)&&i(u),!R&&(!x||!f?.disabledHandleUnauthorized)){let P=f?.onUnauthorized||a;P&&P(u);}if(l)l(u);else return u},j=(m,l=()=>{})=>ut.create({baseURL:`${t}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:c})(m).then(l).catch(A=>l(A.response,A)),E=(m,l,f,A,x)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(U.Authorization=`Bearer ${e}`):d.token&&(U.Authorization=`Bearer ${d.token}`)),r&&(f=r(f)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:y)&&f){let u=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;f=D(f,u);}return j({url:l,method:m,data:f,headers:U,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:u=>{d?.onUploadProgress&&d?.onUploadProgress(u);}},(u,b)=>q(u,A,d,b))};return {client:j,post:(m,l,f,A)=>E("POST",`${m}`,l,f,A),put:(m,l,f,A)=>E("PUT",`${m}`,l,f,A),patch:(m,l,f,A)=>E("PATCH",`${m}`,l,f,A),delete:(m,l,f)=>E("DELETE",`${m}`,null,l,f),get:(m,l,f)=>E("GET",`${m}`,null,l,f),upload:(m,l,f,A)=>{let x=new FormData;return Object.keys(l).forEach(w=>x.append(w,l[w])),E("POST",`${m}`,x,f,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(m,l,f,A,x)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...x},U={"Content-Type":"application/json",...s,...d.headers};if(d.token){let k=typeof d.token=="boolean"?e:d.token;k&&(U.Authorization=`Bearer ${k}`);}let h=f;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:y)&&h){let k=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?C:d.passphrase:g;h=D(h,k);}let b=await fetch(`${t}${l}`,{method:m,headers:U,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),R=b?.status,P=R===401;if(!b.ok){let k=b?.statusText||"Error";try{let Y=b.headers.get("content-type")||"",I=await b.clone().text();if(I)if(Y.includes("application/json"))try{let ne=JSON.parse(I);if((typeof x?.encryptResponse=="boolean"?x?.encryptResponse:S)&&f){let ke=x?.passphrase?typeof x.passphrase=="boolean"&&x.passphrase?C:x.passphrase:g;try{f=T(ne,ke);}catch{try{f=T(ne,C);}catch{}}}k=ne?.message||k;}catch{k=I;}else k=I;}catch{}let re=typeof x?.disabledToastWhenCancel=="boolean"?x?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:P,httpCode:R,isDone:!0};x?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),v=new TextDecoder("utf-8"),V="",de=!1;for(;!de;){let{done:k,value:re}=await O.read();de=k,V+=v.decode(re,{stream:!0});let W=V.split(`
2
2
 
3
- `);V=W.pop();for(let Y of W)if(Y.startsWith("data:"))try{let I=ge(Y);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:b,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:b,isDone:!0});}catch(q){let d=q?.name==="AbortError";A({status:false,data:void 0,message:q instanceof Error?q.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}}}};function Wr(t,e){let[r,n]=useState(false),[s,a]=useState(),[i,o]=useState(0),p=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async x=>{p.current?.abort();let C=new AbortController;p.current=C,n(true),e?.beforeRequest&&(x=e?.beforeRequest(x)),e?.logging&&console.log("Before request",x);let T={...e,signal:C.signal,onUploadProgress:w=>{let j=Math.round(w.loaded*100/(w.total||1));o(j);}},S=t.__isVoid?await t(void 0,T):await t(x,void 0,T);e?.logging&&console.log("After response",S),a(S),n(false),o(0),S.status&&e?.onSuccess&&e?.onSuccess(S),!S.status&&e?.onError&&e?.onError(S),e?.afterResponse&&e?.afterResponse(S);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,n(false),o(0);},progress:i,reset:()=>{n(false),o(0),a(null);}}]}function mt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var yt=typeof window<"u"?window:null;function _r(t={}){let{getTrigger:e=mt,target:r=yt,disableHysteresis:n=false,threshold:s=100}=t,a=fe.useRef(0),[i,o]=fe.useState(()=>e(a,{disableHysteresis:n,threshold:s,target:r}));return fe.useEffect(()=>{let p=()=>{o(e(a,{disableHysteresis:n,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,e,n,s]),i}var en=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,s=e?.shallow??true,a=o=>{let p=o.states[n]??z,{loading:c,isCancel:y,response:D}=p,{refresh:x,abort:C,clear:T,clone:S}=Oe(n)||{},w=[D?.data,{...D,loading:c,isCancel:y,refresh:x,abort:C,clear:T,clone:S}];return e?.selector?e.selector(w):w};return s?J(useShallow(a)):J(a)};var nn=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},on=(t,e)=>{let r={};r.others=[];let n=s=>{fe.Children.forEach(s,a=>{if(fe.isValidElement(a)){let i=a.type.displayName;if(e.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(t),r};function ln(t){let e=t,r=new Set;function n(){return e}function s(o){return r.add(o),()=>r.delete(o)}function a(o){typeof o=="function"?e=o(e):e=o,r.forEach(p=>p());}function i(o){let p=useRef(o?o(e):e);return useSyncExternalStore(s,()=>{let c=o?o(e):e,y=p.current;return Object.is(y,c)||(p.current=c),p.current},()=>o?o(e):e)}return {getSnapshot:n,subscribe:s,setState:a,useStore:i}}function bt(t,e=[]){let r={};for(let n in t){let s=t[n];if(typeof s=="function"){let a=s.bind(null);a.__path=[...e,n].join("."),a.__isVoid=s.length===2,r[n]=a;}else typeof s=="object"&&s!==null?r[n]=bt(s,[...e,n]):r[n]=s;}return r}function fn(t,e){let[r,n]=useState(false),[s,a]=useState([]),i=useRef([]),o=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{o.current?.abort();}},[]);let p=async D=>{o.current?.abort();let x=new AbortController;o.current=x,n(true),a([]),i.current=[],t(D,C=>{C.isDone||(i.current.push(C),a([...i.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...i.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:x.signal});},c=()=>{o.current?.abort(),o.current=null,n(false);},y=()=>{n(false),a([]),i.current=[];};return [s.map(D=>D.data),p,{loading:r,abort:c,reset:y,response:s}]}export{Je as BgsCoreProvider,nt as DataTypeEnum,rt as HttpMethod,Re as capitalizeWords,$r as createApiHelper,nn as createElement,ln as createStore,kt as debounce,se as decrypt,Ce as decryptString,z as defaultState,St as diffJson,oe as encrypt,Ae as encryptString,ye as generateCacheKey,Dt as generateUUID,Oe as getApiActions,K as getFieldValue,Ot as isArray,H as isNotEmpty,vt as jsonCopy,me as labelFormatter,Pt as mappingUndefinedtoNull,M as moment,ge as parseSSEChunk,Se as registerApi,wt as renderChildren,Qe as safeUpdate,qt as sorting,on as splitElement,Ee as stableStringify,Ut as summary,Pe as unregisterApi,tt as useApiLoad,J as useApiLoadStore,Wr as useApiSend,en as useApiStore,fn as useApiStream,$ as useBgsCore,Z as useCrypto,Ar as useDelay,wr as useFormatted,vr as useInterval,Nr as useKeyPress,_r as useScrollTrigger,De as useStorage,bt as wrapApi};
3
+ `);V=W.pop();for(let Y of W)if(Y.startsWith("data:"))try{let I=ge(Y);A({status:!0,data:I,message:"",isCancel:!1,isUnauthorization:P,httpCode:R,isDone:!1});}catch{}}A({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:P,httpCode:R,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 Wr(t,e){let[r,o]=useState(false),[s,a]=useState(),[i,n]=useState(0),p=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{p.current?.abort();}},[]),[async g=>{p.current?.abort();let D=new AbortController;p.current=D,o(true),e?.beforeRequest&&(g=e?.beforeRequest(g)),e?.logging&&console.log("Before request",g);let T={...e,signal:D.signal,onUploadProgress:q=>{let j=Math.round(q.loaded*100/(q.total||1));n(j);}},C=t.__isVoid?await t(void 0,T):await t(g,void 0,T);e?.logging&&console.log("After response",C),a(C),o(false),n(0),e?.afterResponse&&C?.data&&(C.data=e?.afterResponse(C.data,g)),C.status&&e?.onSuccess&&e?.onSuccess(C,g),!C.status&&e?.onError&&e?.onError(C,g),e?.onAfterResponse?.(C,g);},{...s,loading:r,abort:()=>{p.current?.abort(),p.current=null,o(false),n(0);},progress:i,reset:()=>{o(false),n(0),a(null);}}]}function mt(t,e){let{disableHysteresis:r=false,threshold:o=100,target:s}=e,a=t.current;return s&&(typeof s.pageYOffset=="number"?t.current=s.pageYOffset:s.scrollTop!==void 0&&(t.current=s.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>o}var Rt=typeof window<"u"?window:null;function _r(t={}){let{getTrigger:e=mt,target:r=Rt,disableHysteresis:o=false,threshold:s=100}=t,a=fe.useRef(0),[i,n]=fe.useState(()=>e(a,{disableHysteresis:o,threshold:s,target:r}));return fe.useEffect(()=>{let p=()=>{n(e(a,{disableHysteresis:o,threshold:s,target:r}));};if(p(),r)return r.addEventListener("scroll",p,{passive:true}),()=>{r.removeEventListener("scroll",p);}},[r,e,o,s]),i}var en=(t,e)=>{let r=t.__path||t.name,o=e?.storeName||`${r}`,s=e?.shallow??true,a=n=>{let p=n.states[o]??z,{loading:c,isCancel:y,response:S}=p,{refresh:g,abort:D,clear:T,clone:C}=Oe(o)||{},q=[S?.data,{...S,loading:c,isCancel:y,refresh:g,abort:D,clear:T,clone:C}];return e?.selector?e.selector(q):q};return s?J(useShallow(a)):J(a)};var nn=(t,e)=>{let r=o=>t(o);return r.displayName=e,r},on=(t,e)=>{let r={};r.others=[];let o=s=>{fe.Children.forEach(s,a=>{if(fe.isValidElement(a)){let i=a.type.displayName;if(e.includes(i))r[i]=a;else {let n=a;n.props?.children?o(n.props.children):r.others.push(a);}}else r.others.push(a);});};return o(t),r};function ln(t){let e=t,r=new Set;function o(){return e}function s(n){return r.add(n),()=>r.delete(n)}function a(n){typeof n=="function"?e=n(e):e=n,r.forEach(p=>p());}function i(n){let p=useRef(n?n(e):e);return useSyncExternalStore(s,()=>{let c=n?n(e):e,y=p.current;return Object.is(y,c)||(p.current=c),p.current},()=>n?n(e):e)}return {getSnapshot:o,subscribe:s,setState:a,useStore:i}}function bt(t,e=[]){let r={};for(let o in t){let s=t[o];if(typeof s=="function"){let a=s.bind(null);a.__path=[...e,o].join("."),a.__isVoid=s.length===2,r[o]=a;}else typeof s=="object"&&s!==null?r[o]=bt(s,[...e,o]):r[o]=s;}return r}function fn(t,e){let[r,o]=useState(false),[s,a]=useState([]),i=useRef([]),n=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{n.current?.abort();}},[]);let p=async S=>{n.current?.abort();let g=new AbortController;n.current=g,o(true),a([]),i.current=[],t(S,D=>{D.isDone||(i.current.push(D),a([...i.current])),(D.isDone||!D.status)&&(o(false),e?.onDone&&e?.onDone([...i.current])),D.status?e?.onStream&&e?.onStream(D):e?.onError&&e?.onError(D);},{signal:g.signal});},c=()=>{n.current?.abort(),n.current=null,o(false);},y=()=>{o(false),a([]),i.current=[];};return [s.map(S=>S.data),p,{loading:r,abort:c,reset:y,response:s}]}export{Je as BgsCoreProvider,nt as DataTypeEnum,rt as HttpMethod,ye as capitalizeWords,$r as createApiHelper,nn as createElement,ln as createStore,kt as debounce,se as decrypt,Ae as decryptString,z as defaultState,St as diffJson,oe as encrypt,Ce as encryptString,Re as generateCacheKey,Dt as generateUUID,Oe as getApiActions,K as getFieldValue,Ot as isArray,B as isNotEmpty,vt as jsonCopy,me as labelFormatter,Pt as mappingUndefinedtoNull,M as moment,ge as parseSSEChunk,Se as registerApi,qt as renderChildren,Qe as safeUpdate,wt as sorting,on as splitElement,Ee as stableStringify,Ut as summary,Pe as unregisterApi,tt as useApiLoad,J as useApiLoadStore,Wr as useApiSend,en as useApiStore,fn as useApiStream,$ as useBgsCore,Z as useCrypto,Cr as useDelay,qr as useFormatted,vr as useInterval,Nr as useKeyPress,_r as useScrollTrigger,De as useStorage,bt as wrapApi};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "0.0.85",
3
+ "version": "0.0.86",
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",