@bgscore/react-core 0.0.75 → 0.0.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var de=require('react'),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'),Z=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 de__default=/*#__PURE__*/_interopDefault(de);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 Z__default=/*#__PURE__*/_interopDefault(Z);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 n=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(n=true):n=true),n}function I(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 n=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(t="",e=false)=>{let n="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],n=me.snackCase(me.camelCase(t)),e&&(n=n?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return n?.trim()}};function wt(t,e){return typeof t=="function"?t(e):t}var M=(t,e,n="")=>{if(!t)return n;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 n;s=s[a];}return s===void 0?n:s},qt={desc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(n,e):"";return s<a?1:-1}else return n<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(o,e):"";return s>a?1:-1}else return n>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let n=[];return n=t.map(o=>Number(e?M(o,e)||0:o||0)),n.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(n,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 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 n;return function(...o){clearTimeout(n),n=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(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 F=N__default.default;var he=de.createContext(void 0);function W(){let t=de.useContext(he);return t||{}}var Je=({children:t,value:e})=>{let n={...e};return de.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:p}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&F.locale(s,a??{},p);}})();},[e.localeConfig]),jsxRuntime.jsx(he.Provider,{value:n,children:t})};function se(t,e){let n=be__default.default.random(16),o=be__default.default.random(16),s=Te__default.default(e,n,{keySize:256/32,iterations:1e3}),a=xe__default.default.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:n.toString(Z__default.default),iv:o.toString(Z__default.default),encrypted:a}}function ae(t,e){let{salt:n,iv:o,encrypted:s}=t,a=Te__default.default(e,Z__default.default.parse(n),{keySize:256/32,iterations:1e3}),r=xe__default.default.decrypt(s,a,{iv:Z__default.default.parse(o)}).toString(Ge__default.default);return JSON.parse(r)}function Ae(t,e){return JSON.stringify(se(t,e))}function Ce(t,e){return ae(JSON.parse(t),e)}function Q(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,n){return se(e,n||t)},decrypt(e,n){return ae(e,n||t)},encryptString(e,n){return Ae(e,n||t)},decryptString(e,n){return Ce(e,n||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Q(),n=de.useCallback((p,r)=>{try{let f=t(r);localStorage.setItem(p,JSON.stringify(f));}catch(f){console.error("Failed to save to storage:",f);}},[t]),o=de.useCallback(p=>{try{let r=localStorage.getItem(p);return r?e(JSON.parse(r)):null}catch(r){return console.error("Failed to get from storage:",r),null}},[e]),s=p=>{let[r,f]=de.useState(()=>{try{let i=localStorage.getItem(p);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return de.useEffect(()=>{let i=m=>{if(m.key===p)if(m.newValue)try{f(e(JSON.parse(m.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else f(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[p,e]),r},a=de.useCallback(p=>{p?localStorage.removeItem(p):localStorage.clear();},[]);return {save:n,get:o,clear:a,useWatchStorage:s}};function Qe(t,e){for(let n in e)if(e[n]!==t[n])return e}var G={loading:false,response:void 0,isCancel:false},V=zustand.create()(t=>({states:{},updateState:(e,n)=>t(o=>{let s=o.states[e]||G,a={...s,...n};return Qe(s,a)?{states:{...o.states,[e]:a}}:o})}));var le=new Map,Se=(t,e)=>{le.set(t,e);},Pe=t=>{le.delete(t);},Oe=t=>le.get(t);function tt(...t){let[e,n,o]=t,s=e.__isVoid,a=e.__path||e.name,p=s?void 0:n,r=s?n:o,f=typeof window<"u"?window.location.pathname:"",i=r?.storeName||`${f}${a}`,{updateState:m}=V(),[D,A,C]=V(shallow.useShallow(y=>{let d=y.states[i]??G;return [d.loading,d.isCancel,d.response]})),{storageKey:P,cache:R,clearPreviousData:q,refetchOnWindowFocus:E}=W(),L=De(),z=de.useRef(void 0),H=de.useRef(null),{cacheName:$,cacheKey:B,timeout:ee,timeoutUnit:te,persistence:ne,cacheEnabled:h}=de.useMemo(()=>{let y=P?L.get(P):void 0,d=typeof r?.cache=="object"?r?.cache?.cacheName??a:a,T=ye({...p,session:y},typeof r?.cache=="object"?r?.cache?.cacheKey:void 0),g=false;typeof R?.enabled=="boolean"&&(g=R.enabled);let w=false;typeof R?.persistence=="boolean"&&(w=R?.persistence),typeof r?.cache=="object"&&typeof r?.cache?.persistence=="boolean"&&(w=r?.cache?.persistence??false);let S=60*5,v="s";return I(R?.timeout)&&(typeof R?.timeout=="number"?(S=R.timeout,v="s"):typeof R?.timeout=="object"&&(S=R?.timeout.value,v=R?.timeout.unit)),I(r?.cache)&&(typeof r?.cache!="boolean"?(typeof r?.cache?.enabled=="boolean"?g=r.cache.enabled:g=true,typeof r?.cache?.timeout=="number"?(S=r.cache.timeout,v="s"):typeof r?.cache?.timeout=="object"&&(S=r.cache.timeout.value,v=r.cache.timeout.unit)):g=r.cache),{cacheName:d,cacheKey:T,timeout:S,timeoutUnit:v,persistence:w,cacheEnabled:g}},[r?.cache,p,P,R,a]);de.useEffect(()=>{let y=JSON.stringify(I(z.current)?z.current:""),d=JSON.stringify(I(p)?p:""),T=z.current===void 0;(y!==d||T)&&!r?.hold&&((r?.clearPreviousData??q)&&m(i,{response:null}),l(),z.current=p),r?.onChange&&r?.onChange(p,U);},[p,r?.clearPreviousData,q,r?.hold,...r?.trigger||[]]),de.useEffect(()=>{let y=async()=>{!ne&&$&&B&&(await caches.open($)).delete(B);};return window.addEventListener("beforeunload",y),()=>{window.removeEventListener("beforeunload",y),H.current?.abort();}},[ne,$,B,i,H]);let l=de.useCallback(async y=>{let d=p;if(r?.hold&&r?.logging&&console.log("Hold active"),r?.beforeRequest&&(d=r?.beforeRequest(p)),h&&!y&&!A){m(i,{loading:true}),r?.onBeforeRequest&&r?.onBeforeRequest(p);let T=await caches.open($),w=await(await T.match(B))?.json();if(w){let{data:S,expired:v}=w;if(F().isAfter(v))await T.delete(B);else {r?.afterResponse&&S?.data&&(S.data=r?.afterResponse(S.data)),r?.logging&&console.log("After request: Using Cache",S),r?.onAfterResponse&&r?.onAfterResponse(S),m(i,{loading:false,response:S});return}}}if(typeof e=="function"){H.current?.abort();let T=new AbortController;H.current=T,m(i,{loading:true}),r?.logging&&console.log("Before request",p),r?.onBeforeRequest&&r?.onBeforeRequest(p);let g=s?await e(void 0,{...r,signal:T.signal}):await e(d,void 0,{...r,signal:T.signal});if(r?.afterResponse&&g?.data&&(g.data=r?.afterResponse(g.data)),r?.logging&&console.log("After request",g),r?.onAfterResponse&&r?.onAfterResponse(g),m(i,{loading:false,response:g,isCancel:false}),h&&g.status){let w=F().add(ee,te).toISOString(),S={data:g,expired:w},v=await caches.open($),J=new Response(JSON.stringify(S));await v.put(B,J);}}},[p,e,r,A,$,B,ee,te,h]);de.useEffect(()=>{if(r?.refreshInterval){let y=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,d=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,T=setInterval(()=>{l();},F.duration(y,d).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[r?.refreshInterval,l]);let c=de.useRef(null),{enabledRefetch:x,timeoutRefetch:b,timeoutUnitRefetch:O}=de.useMemo(()=>{let y=r?.refetchOnWindowFocus?.enabled??E?.enabled??false,d=r?.refetchOnWindowFocus?.timeout??E?.timeout,T=typeof d=="number"?d:d?.value??60*5,g=typeof d=="object"?d.unit:"s";return {enabledRefetch:y,timeoutRefetch:T,timeoutUnitRefetch:g}},[r?.refetchOnWindowFocus,E]);de.useEffect(()=>{if(!x)return;let y=F.duration(b,O).asMilliseconds(),d=()=>{let g=Date.now(),w=c.current;w!==null&&g-w>=y&&l(),c.current=null;},T=()=>{c.current=Date.now();};return window.addEventListener("focus",d),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",T);}},[x,b,O,l]);let u=de.useCallback(()=>{H.current?.abort(),H.current=null,m(i,{loading:false,isCancel:true});},[i,H]),K=de.useCallback(()=>{m(i,{loading:false,response:null});},[i]),U=de.useMemo(()=>({...C,loading:D,refresh:l,abort:u,clear:K,response:C,isCancel:A,clone:(y,d)=>tt(e,y,d)}),[C,D,l,u,K,A,e]);return de.useEffect(()=>(Se(i,U),()=>{Pe(i);}),[U,i]),[C?.data,U]}async function Cn(t,e=()=>{}){let n=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},n);})}var nt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(nt||{}),rt=(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))(rt||{});var qn=(t,e,n)=>{let{format:o}=W();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...n}):e==="boolean"?ot(t,n):e==="string"?st(t,n):t?.toString()??""};function ot(t,e){let n=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return n?o:s}function st(t,e){if(!I(t))return "";let n=String(t);switch(e?.textTransform){case "capitalize":n=Re(n);break;case "uppercase":n=n.toUpperCase();break;case "lowercase":n=n.toLowerCase();break}return e?.ellipsis&&n.length>e.ellipsis&&(n=n.slice(0,e.ellipsis)+"..."),n}function at(t,{thouSep:e,decSep:n,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 i=Math.pow(10,o);a=Math[s](a*i)/i;}else a=Math[s](a);else if(typeof o=="number"){let i=Math.pow(10,o);a=Math.floor(a*i)/i;}let p=0;if(o==="auto"){let i=a.toString(),m=i.indexOf(".");m!==-1&&(p=i.length-m-1);}let r={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?p:o||0,maximumFractionDigits:o==="auto"?p:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",r).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,e)}function it(t,{display:e,value:n}){if(!I(t))return t;let o=F(t,n);return o.isValid()?o.format(e):t}function kn(t,{interval:e,lead:n}){let o=de.useRef(null);de.useEffect(()=>{o.current=t;},[t]),de.useEffect(()=>{let s=()=>o.current();if(n&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Kn(t,e,n){let[o,s]=de.useState(false),a=(i,m)=>typeof t=="string"&&i===t||typeof t=="number"&&m===t,p=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),r=i=>{let{key:m,keyCode:D}=i,A=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!p(document.activeElement))if(e)if(typeof e=="string")a(m,D)&&(e==="ctrl"&&A||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));else {let R=e.every(q=>q==="ctrl"?A:q==="alt"?C:q==="shift"?P:false);a(m,D)&&R&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));}else a(m,D)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));},f=({key:i,keyCode:m})=>{a(i,m)&&s(false);};return de.useEffect(()=>(window.addEventListener("keydown",r),window.addEventListener("keyup",f),()=>{window.removeEventListener("keydown",r),window.removeEventListener("keyup",f);}),[]),o}var jn=({url:t,token:e,beforeRequest:n,onCallback:o,headers:s,onUnauthorized:a,handleToast:p,handleAuthorization:r,disabledToastWhenCancel:f,withCredentials:i,encryptRequest:m,encryptResponse:D,passphrase:A})=>{let{encrypt:C,decrypt:P,passphrase:R}=Q(),q=(h,l,c,x)=>{let b=x?.code==="ERR_CANCELED",O=h?.status===401,u=h?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:D)&&u){let g=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?R:c.passphrase:A;try{u=P(u,g);}catch{try{u=P(u,R);}catch{}}}let y={...o({...h,data:u,isCancel:b,isUnauthorization:O},x),isCancel:b,isUnauthorization:O,httpCode:h?.status},d=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:f,T=r?r(y,c):!O;if((c?.infoSuccess&&y.status||c?.infoError&&!y.status)&&p&&(!b||!d)&&p(y),!T&&(!b||!c?.disabledHandleUnauthorized)){let g=c?.onUnauthorized||a;g&&g(y);}if(l)l(y);else return y},E=(h,l=()=>{})=>ut__default.default.create({baseURL:`${t}`,withCredentials:typeof h.withCredentials=="boolean"?h.withCredentials:i})(h).then(l).catch(x=>l(x.response,x)),L=(h,l,c,x,b)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token&&(typeof u.token=="boolean"?e&&(K.Authorization=`Bearer ${e}`):u.token&&(K.Authorization=`Bearer ${u.token}`)),n&&(c=n(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:m)&&c){let y=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;c=C(c,y);}return E({url:l,method:h,data:c,headers:K,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:y=>{u?.onUploadProgress&&u?.onUploadProgress(y);}},(y,d)=>q(y,x,u,d))};return {client:E,post:(h,l,c,x)=>L("POST",`${h}`,l,c,x),put:(h,l,c,x)=>L("PUT",`${h}`,l,c,x),patch:(h,l,c,x)=>L("PATCH",`${h}`,l,c,x),delete:(h,l,c)=>L("DELETE",`${h}`,null,l,c),get:(h,l,c)=>L("GET",`${h}`,null,l,c),upload:(h,l,c,x)=>{let b=new FormData;return Object.keys(l).forEach(O=>b.append(O,l[O])),L("POST",`${h}`,b,c,{infoSuccess:false,...x,headers:{"Content-Type":"multipart/form-data",...x?.headers}})},stream:async(h,l,c,x,b)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token){let k=typeof u.token=="boolean"?e:u.token;k&&(K.Authorization=`Bearer ${k}`);}let U=c;if(n&&(U=n(U)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:m)&&U){let k=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?R:u.passphrase:A;U=C(U,k);}let d=await fetch(`${t}${l}`,{method:h,headers:K,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(U)}),T=d?.status,g=T===401;if(!d.ok){let k=d?.statusText||"Error";try{let X=d.headers.get("content-type")||"",j=await d.clone().text();if(j)if(X.includes("application/json"))try{let oe=JSON.parse(j);if((typeof b?.encryptResponse=="boolean"?b?.encryptResponse:D)&&c){let ke=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;try{c=P(oe,ke);}catch{try{c=P(oe,R);}catch{}}}k=oe?.message||k;}catch{k=j;}else k=j;}catch{}let re=typeof b?.disabledToastWhenCancel=="boolean"?b?.disabledToastWhenCancel:f,_={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0};b?.infoError&&p&&!re&&p(_),x(_);return}let w=d.body.getReader(),S=new TextDecoder("utf-8"),v="",J=!1;for(;!J;){let{done:k,value:re}=await w.read();J=k,v+=S.decode(re,{stream:!0});let _=v.split(`
1
+ 'use strict';var de=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'),Z=require('crypto-js/enc-base64'),be=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/shallow'),shallow$1=require('zustand/react/shallow'),ut=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var de__default=/*#__PURE__*/_interopDefault(de);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 Z__default=/*#__PURE__*/_interopDefault(Z);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 n=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(n=true):n=true),n}function I(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 n=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(t="",e=false)=>{let n="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],n=me.snackCase(me.camelCase(t)),e&&(n=n?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return n?.trim()}};function wt(t,e){return typeof t=="function"?t(e):t}var M=(t,e,n="")=>{if(!t)return n;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 n;s=s[a];}return s===void 0?n:s},qt={desc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(n,e):"";return s<a?1:-1}else return n<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(o,e):"";return s>a?1:-1}else return n>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let n=[];return n=t.map(o=>Number(e?M(o,e)||0:o||0)),n.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(n,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 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 n;return function(...o){clearTimeout(n),n=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(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 F=N__default.default;var he=de.createContext(void 0);function W(){let t=de.useContext(he);return t||{}}var Je=({children:t,value:e})=>{let n={...e};return de.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:l}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&F.locale(s,a??{},l);}})();},[e.localeConfig]),jsxRuntime.jsx(he.Provider,{value:n,children:t})};function se(t,e){let n=be__default.default.random(16),o=be__default.default.random(16),s=Te__default.default(e,n,{keySize:256/32,iterations:1e3}),a=xe__default.default.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:n.toString(Z__default.default),iv:o.toString(Z__default.default),encrypted:a}}function ae(t,e){let{salt:n,iv:o,encrypted:s}=t,a=Te__default.default(e,Z__default.default.parse(n),{keySize:256/32,iterations:1e3}),r=xe__default.default.decrypt(s,a,{iv:Z__default.default.parse(o)}).toString(Ge__default.default);return JSON.parse(r)}function Ae(t,e){return JSON.stringify(se(t,e))}function Ce(t,e){return ae(JSON.parse(t),e)}function Q(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,n){return se(e,n||t)},decrypt(e,n){return ae(e,n||t)},encryptString(e,n){return Ae(e,n||t)},decryptString(e,n){return Ce(e,n||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Q(),n=de.useCallback((l,r)=>{try{let f=t(r);localStorage.setItem(l,JSON.stringify(f));}catch(f){console.error("Failed to save to storage:",f);}},[t]),o=de.useCallback(l=>{try{let r=localStorage.getItem(l);return r?e(JSON.parse(r)):null}catch(r){return console.error("Failed to get from storage:",r),null}},[e]),s=l=>{let[r,f]=de.useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return de.useEffect(()=>{let i=m=>{if(m.key===l)if(m.newValue)try{f(e(JSON.parse(m.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else f(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),r},a=de.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:n,get:o,clear:a,useWatchStorage:s}};function dn(t,e){for(let n in e)if(e[n]!==t[n])return e}var G={loading:false,response:void 0,isCancel:false},V=zustand.create((t,e)=>({states:{},updateState:(n,o)=>{let s=e().states[n]??G,a={...s,...o};shallow.shallow(s,a)||t(l=>({states:{...l.states,[n]:a}}));}}));var le=new Map,Se=(t,e)=>{le.set(t,e);},Pe=t=>{le.delete(t);},Oe=t=>le.get(t);function tt(...t){let[e,n,o]=t,s=e.__isVoid,a=e.__path||e.name,l=s?void 0:n,r=s?n:o,f=typeof window<"u"?window.location.pathname:"",i=r?.storeName||`${f}${a}`,{updateState:m}=V(),[D,A,C]=V(shallow$1.useShallow(y=>{let d=y.states[i]??G;return [d.loading,d.isCancel,d.response]})),{storageKey:P,cache:R,clearPreviousData:q,refetchOnWindowFocus:E}=W(),L=De(),z=de.useRef(void 0),H=de.useRef(null),{cacheName:$,cacheKey:B,timeout:ee,timeoutUnit:te,persistence:ne,cacheEnabled:h}=de.useMemo(()=>{let y=P?L.get(P):void 0,d=typeof r?.cache=="object"?r?.cache?.cacheName??a:a,T=ye({...l,session:y},typeof r?.cache=="object"?r?.cache?.cacheKey:void 0),g=false;typeof R?.enabled=="boolean"&&(g=R.enabled);let w=false;typeof R?.persistence=="boolean"&&(w=R?.persistence),typeof r?.cache=="object"&&typeof r?.cache?.persistence=="boolean"&&(w=r?.cache?.persistence??false);let S=60*5,v="s";return I(R?.timeout)&&(typeof R?.timeout=="number"?(S=R.timeout,v="s"):typeof R?.timeout=="object"&&(S=R?.timeout.value,v=R?.timeout.unit)),I(r?.cache)&&(typeof r?.cache!="boolean"?(typeof r?.cache?.enabled=="boolean"?g=r.cache.enabled:g=true,typeof r?.cache?.timeout=="number"?(S=r.cache.timeout,v="s"):typeof r?.cache?.timeout=="object"&&(S=r.cache.timeout.value,v=r.cache.timeout.unit)):g=r.cache),{cacheName:d,cacheKey:T,timeout:S,timeoutUnit:v,persistence:w,cacheEnabled:g}},[r?.cache,l,P,R,a]);de.useEffect(()=>{let y=JSON.stringify(I(z.current)?z.current:""),d=JSON.stringify(I(l)?l:""),T=z.current===void 0;(y!==d||T)&&!r?.hold&&((r?.clearPreviousData??q)&&m(i,{response:null}),p(),z.current=l),r?.onChange&&r?.onChange(l,U);},[l,r?.clearPreviousData,q,r?.hold,...r?.trigger||[]]),de.useEffect(()=>{let y=async()=>{!ne&&$&&B&&(await caches.open($)).delete(B);};return window.addEventListener("beforeunload",y),()=>{window.removeEventListener("beforeunload",y),H.current?.abort();}},[ne,$,B,i,H]);let p=de.useCallback(async y=>{let d=l;if(r?.hold&&r?.logging&&console.log("Hold active"),r?.beforeRequest&&(d=r?.beforeRequest(l)),h&&!y&&!A){m(i,{loading:true}),r?.onBeforeRequest&&r?.onBeforeRequest(l);let T=await caches.open($),w=await(await T.match(B))?.json();if(w){let{data:S,expired:v}=w;if(F().isAfter(v))await T.delete(B);else {r?.afterResponse&&S?.data&&(S.data=r?.afterResponse(S.data)),r?.logging&&console.log("After request: Using Cache",S),r?.onAfterResponse&&r?.onAfterResponse(S),m(i,{loading:false,response:S});return}}}if(typeof e=="function"){H.current?.abort();let T=new AbortController;H.current=T,m(i,{loading:true}),r?.logging&&console.log("Before request",l),r?.onBeforeRequest&&r?.onBeforeRequest(l);let g=s?await e(void 0,{...r,signal:T.signal}):await e(d,void 0,{...r,signal:T.signal});if(r?.afterResponse&&g?.data&&(g.data=r?.afterResponse(g.data)),r?.logging&&console.log("After request",g),r?.onAfterResponse&&r?.onAfterResponse(g),m(i,{loading:false,response:g,isCancel:false}),h&&g.status){let w=F().add(ee,te).toISOString(),S={data:g,expired:w},v=await caches.open($),J=new Response(JSON.stringify(S));await v.put(B,J);}}},[l,e,r,A,$,B,ee,te,h]);de.useEffect(()=>{if(r?.refreshInterval){let y=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,d=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,T=setInterval(()=>{p();},F.duration(y,d).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[r?.refreshInterval,p]);let c=de.useRef(null),{enabledRefetch:x,timeoutRefetch:b,timeoutUnitRefetch:O}=de.useMemo(()=>{let y=r?.refetchOnWindowFocus?.enabled??E?.enabled??false,d=r?.refetchOnWindowFocus?.timeout??E?.timeout,T=typeof d=="number"?d:d?.value??60*5,g=typeof d=="object"?d.unit:"s";return {enabledRefetch:y,timeoutRefetch:T,timeoutUnitRefetch:g}},[r?.refetchOnWindowFocus,E]);de.useEffect(()=>{if(!x)return;let y=F.duration(b,O).asMilliseconds(),d=()=>{let g=Date.now(),w=c.current;w!==null&&g-w>=y&&p(),c.current=null;},T=()=>{c.current=Date.now();};return window.addEventListener("focus",d),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",T);}},[x,b,O,p]);let u=de.useCallback(()=>{H.current?.abort(),H.current=null,m(i,{loading:false,isCancel:true});},[i,H]),K=de.useCallback(()=>{m(i,{loading:false,response:null});},[i]),U=de.useMemo(()=>({...C,loading:D,refresh:p,abort:u,clear:K,response:C,isCancel:A,clone:(y,d)=>tt(e,y,d)}),[C,D,p,u,K,A,e]);return de.useEffect(()=>(Se(i,U),()=>{Pe(i);}),[U,i]),[C?.data,U]}async function Sn(t,e=()=>{}){let n=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},n);})}var nt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(nt||{}),rt=(p=>(p.number="number",p.currency="currency",p.percent="percent",p.date="date",p.dateTime="dateTime",p.month="month",p.year="year",p.time="time",p.timestamp="timestamp",p.string="string",p.textarea="textarea",p.code="code",p.password="password",p.boolean="boolean",p.toggle="toggle",p.email="email",p.phone="phone",p.url="url",p.json="json",p.file="file",p.image="image",p.array="array",p.object="object",p.enum="enum",p.user="user",p.department="department",p.status="status",p))(rt||{});var vn=(t,e,n)=>{let{format:o}=W();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...n}):e==="boolean"?ot(t,n):e==="string"?st(t,n):t?.toString()??""};function ot(t,e){let n=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return n?o:s}function st(t,e){if(!I(t))return "";let n=String(t);switch(e?.textTransform){case "capitalize":n=Re(n);break;case "uppercase":n=n.toUpperCase();break;case "lowercase":n=n.toLowerCase();break}return e?.ellipsis&&n.length>e.ellipsis&&(n=n.slice(0,e.ellipsis)+"..."),n}function at(t,{thouSep:e,decSep:n,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 i=Math.pow(10,o);a=Math[s](a*i)/i;}else a=Math[s](a);else if(typeof o=="number"){let i=Math.pow(10,o);a=Math.floor(a*i)/i;}let l=0;if(o==="auto"){let i=a.toString(),m=i.indexOf(".");m!==-1&&(l=i.length-m-1);}let r={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?l:o||0,maximumFractionDigits:o==="auto"?l:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",r).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,e)}function it(t,{display:e,value:n}){if(!I(t))return t;let o=F(t,n);return o.isValid()?o.format(e):t}function Nn(t,{interval:e,lead:n}){let o=de.useRef(null);de.useEffect(()=>{o.current=t;},[t]),de.useEffect(()=>{let s=()=>o.current();if(n&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Fn(t,e,n){let[o,s]=de.useState(false),a=(i,m)=>typeof t=="string"&&i===t||typeof t=="number"&&m===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),r=i=>{let{key:m,keyCode:D}=i,A=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(m,D)&&(e==="ctrl"&&A||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));else {let R=e.every(q=>q==="ctrl"?A:q==="alt"?C:q==="shift"?P:false);a(m,D)&&R&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));}else a(m,D)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));},f=({key:i,keyCode:m})=>{a(i,m)&&s(false);};return de.useEffect(()=>(window.addEventListener("keydown",r),window.addEventListener("keyup",f),()=>{window.removeEventListener("keydown",r),window.removeEventListener("keyup",f);}),[]),o}var Vn=({url:t,token:e,beforeRequest:n,onCallback:o,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:r,disabledToastWhenCancel:f,withCredentials:i,encryptRequest:m,encryptResponse:D,passphrase:A})=>{let{encrypt:C,decrypt:P,passphrase:R}=Q(),q=(h,p,c,x)=>{let b=x?.code==="ERR_CANCELED",O=h?.status===401,u=h?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:D)&&u){let g=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?R:c.passphrase:A;try{u=P(u,g);}catch{try{u=P(u,R);}catch{}}}let y={...o({...h,data:u,isCancel:b,isUnauthorization:O},x),isCancel:b,isUnauthorization:O,httpCode:h?.status},d=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:f,T=r?r(y,c):!O;if((c?.infoSuccess&&y.status||c?.infoError&&!y.status)&&l&&(!b||!d)&&l(y),!T&&(!b||!c?.disabledHandleUnauthorized)){let g=c?.onUnauthorized||a;g&&g(y);}if(p)p(y);else return y},E=(h,p=()=>{})=>ut__default.default.create({baseURL:`${t}`,withCredentials:typeof h.withCredentials=="boolean"?h.withCredentials:i})(h).then(p).catch(x=>p(x.response,x)),L=(h,p,c,x,b)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token&&(typeof u.token=="boolean"?e&&(K.Authorization=`Bearer ${e}`):u.token&&(K.Authorization=`Bearer ${u.token}`)),n&&(c=n(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:m)&&c){let y=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;c=C(c,y);}return E({url:p,method:h,data:c,headers:K,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:y=>{u?.onUploadProgress&&u?.onUploadProgress(y);}},(y,d)=>q(y,x,u,d))};return {client:E,post:(h,p,c,x)=>L("POST",`${h}`,p,c,x),put:(h,p,c,x)=>L("PUT",`${h}`,p,c,x),patch:(h,p,c,x)=>L("PATCH",`${h}`,p,c,x),delete:(h,p,c)=>L("DELETE",`${h}`,null,p,c),get:(h,p,c)=>L("GET",`${h}`,null,p,c),upload:(h,p,c,x)=>{let b=new FormData;return Object.keys(p).forEach(O=>b.append(O,p[O])),L("POST",`${h}`,b,c,{infoSuccess:false,...x,headers:{"Content-Type":"multipart/form-data",...x?.headers}})},stream:async(h,p,c,x,b)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token){let k=typeof u.token=="boolean"?e:u.token;k&&(K.Authorization=`Bearer ${k}`);}let U=c;if(n&&(U=n(U)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:m)&&U){let k=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?R:u.passphrase:A;U=C(U,k);}let d=await fetch(`${t}${p}`,{method:h,headers:K,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(U)}),T=d?.status,g=T===401;if(!d.ok){let k=d?.statusText||"Error";try{let X=d.headers.get("content-type")||"",j=await d.clone().text();if(j)if(X.includes("application/json"))try{let oe=JSON.parse(j);if((typeof b?.encryptResponse=="boolean"?b?.encryptResponse:D)&&c){let ke=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;try{c=P(oe,ke);}catch{try{c=P(oe,R);}catch{}}}k=oe?.message||k;}catch{k=j;}else k=j;}catch{}let re=typeof b?.disabledToastWhenCancel=="boolean"?b?.disabledToastWhenCancel:f,_={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0};b?.infoError&&l&&!re&&l(_),x(_);return}let w=d.body.getReader(),S=new TextDecoder("utf-8"),v="",J=!1;for(;!J;){let{done:k,value:re}=await w.read();J=k,v+=S.decode(re,{stream:!0});let _=v.split(`
2
2
 
3
- `);v=_.pop();for(let X of _)if(X.startsWith("data:"))try{let j=ge(X);x({status:!0,data:j,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!1});}catch{}}x({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0});}catch(O){let u=O?.name==="AbortError";x({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}}}};function zn(t,e){let[n,o]=de.useState(false),[s,a]=de.useState(),[p,r]=de.useState(0),f=de.useRef(null);return de.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{f.current?.abort();}},[]),[async A=>{f.current?.abort();let C=new AbortController;f.current=C,o(true),e?.beforeRequest&&(A=e?.beforeRequest(A)),e?.logging&&console.log("Before request",A);let P={...e,signal:C.signal,onUploadProgress:q=>{let E=Math.round(q.loaded*100/(q.total||1));r(E);}},R=t.__isVoid?await t(void 0,P):await t(A,void 0,P);e?.logging&&console.log("After response",R),a(R),o(false),r(0),R.status&&e?.onSuccess&&e?.onSuccess(R),!R.status&&e?.onError&&e?.onError(R),e?.afterResponse&&e?.afterResponse(R);},{...s,loading:n,abort:()=>{f.current?.abort(),f.current=null,o(false),r(0);},progress:p,reset:()=>{o(false),r(0),a(null);}}]}function mt(t,e){let{disableHysteresis:n=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)),!n&&a!==void 0&&t.current<a?false:(t.current||0)>o}var yt=typeof window<"u"?window:null;function Gn(t={}){let{getTrigger:e=mt,target:n=yt,disableHysteresis:o=false,threshold:s=100}=t,a=de__default.default.useRef(0),[p,r]=de__default.default.useState(()=>e(a,{disableHysteresis:o,threshold:s,target:n}));return de__default.default.useEffect(()=>{let f=()=>{r(e(a,{disableHysteresis:o,threshold:s,target:n}));};if(f(),n)return n.addEventListener("scroll",f,{passive:true}),()=>{n.removeEventListener("scroll",f);}},[n,e,o,s]),p}var tr=(t,e)=>{let n=t.__path||t.name,o=typeof window<"u"?window.location.pathname:"",s=e?.storeName||`${o}${n}`,a=e?.shallow??true,p=f=>{let i=f.states[s]??G,{loading:m,isCancel:D,response:A}=i,{refresh:C,abort:P,clear:R,clone:q}=Oe(s)||{},E=[A?.data,{...A,loading:m,isCancel:D,refresh:C,abort:P,clear:R,clone:q}];return e?.selector?e.selector(E):E};return a?V(shallow.useShallow(p)):V(p)};var or=(t,e)=>{let n=o=>t(o);return n.displayName=e,n},sr=(t,e)=>{let n={};n.others=[];let o=s=>{de__default.default.Children.forEach(s,a=>{if(de__default.default.isValidElement(a)){let p=a.type.displayName;if(e.includes(p))n[p]=a;else {let r=a;r.props?.children?o(r.props.children):n.others.push(a);}}else n.others.push(a);});};return o(t),n};function lr(t){let e=t,n=new Set;function o(){return e}function s(r){return n.add(r),()=>n.delete(r)}function a(r){typeof r=="function"?e=r(e):e=r,n.forEach(f=>f());}function p(r){let f=de.useRef(r?r(e):e);return de.useSyncExternalStore(s,()=>{let i=r?r(e):e,m=f.current;return Object.is(m,i)||(f.current=i),f.current},()=>r?r(e):e)}return {getSnapshot:o,subscribe:s,setState:a,useStore:p}}function bt(t,e=[]){let n={};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,n[o]=a;}else typeof s=="object"&&s!==null?n[o]=bt(s,[...e,o]):n[o]=s;}return n}function fr(t,e){let[n,o]=de.useState(false),[s,a]=de.useState([]),p=de.useRef([]),r=de.useRef(null);de.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{r.current?.abort();}},[]);let f=async D=>{r.current?.abort();let A=new AbortController;r.current=A,o(true),a([]),p.current=[],t(D,C=>{C.isDone||(p.current.push(C),a([...p.current])),(C.isDone||!C.status)&&(o(false),e?.onDone&&e?.onDone([...p.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:A.signal});},i=()=>{r.current?.abort(),r.current=null,o(false);},m=()=>{o(false),a([]),p.current=[];};return [s.map(D=>D.data),f,{loading:n,abort:i,reset:m,response:s}]}exports.BgsCoreProvider=Je;exports.DataTypeEnum=rt;exports.HttpMethod=nt;exports.capitalizeWords=Re;exports.createApiHelper=jn;exports.createElement=or;exports.createStore=lr;exports.debounce=kt;exports.decrypt=ae;exports.decryptString=Ce;exports.defaultState=G;exports.diffJson=St;exports.encrypt=se;exports.encryptString=Ae;exports.generateCacheKey=ye;exports.generateUUID=Dt;exports.getApiActions=Oe;exports.getFieldValue=M;exports.isArray=Ot;exports.isNotEmpty=I;exports.jsonCopy=vt;exports.labelFormatter=me;exports.mappingUndefinedtoNull=Pt;exports.moment=F;exports.parseSSEChunk=ge;exports.registerApi=Se;exports.renderChildren=wt;exports.sorting=qt;exports.splitElement=sr;exports.stableStringify=Ee;exports.summary=Ut;exports.unregisterApi=Pe;exports.useApiLoad=tt;exports.useApiLoadStore=V;exports.useApiSend=zn;exports.useApiStore=tr;exports.useApiStream=fr;exports.useBgsCore=W;exports.useCrypto=Q;exports.useDelay=Cn;exports.useFormatted=qn;exports.useInterval=kn;exports.useKeyPress=Kn;exports.useScrollTrigger=Gn;exports.useStorage=De;exports.wrapApi=bt;
3
+ `);v=_.pop();for(let X of _)if(X.startsWith("data:"))try{let j=ge(X);x({status:!0,data:j,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!1});}catch{}}x({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0});}catch(O){let u=O?.name==="AbortError";x({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}}}};function _n(t,e){let[n,o]=de.useState(false),[s,a]=de.useState(),[l,r]=de.useState(0),f=de.useRef(null);return de.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{f.current?.abort();}},[]),[async A=>{f.current?.abort();let C=new AbortController;f.current=C,o(true),e?.beforeRequest&&(A=e?.beforeRequest(A)),e?.logging&&console.log("Before request",A);let P={...e,signal:C.signal,onUploadProgress:q=>{let E=Math.round(q.loaded*100/(q.total||1));r(E);}},R=t.__isVoid?await t(void 0,P):await t(A,void 0,P);e?.logging&&console.log("After response",R),a(R),o(false),r(0),R.status&&e?.onSuccess&&e?.onSuccess(R),!R.status&&e?.onError&&e?.onError(R),e?.afterResponse&&e?.afterResponse(R);},{...s,loading:n,abort:()=>{f.current?.abort(),f.current=null,o(false),r(0);},progress:l,reset:()=>{o(false),r(0),a(null);}}]}function mt(t,e){let{disableHysteresis:n=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)),!n&&a!==void 0&&t.current<a?false:(t.current||0)>o}var yt=typeof window<"u"?window:null;function Xn(t={}){let{getTrigger:e=mt,target:n=yt,disableHysteresis:o=false,threshold:s=100}=t,a=de__default.default.useRef(0),[l,r]=de__default.default.useState(()=>e(a,{disableHysteresis:o,threshold:s,target:n}));return de__default.default.useEffect(()=>{let f=()=>{r(e(a,{disableHysteresis:o,threshold:s,target:n}));};if(f(),n)return n.addEventListener("scroll",f,{passive:true}),()=>{n.removeEventListener("scroll",f);}},[n,e,o,s]),l}var rr=(t,e)=>{let n=t.__path||t.name,o=typeof window<"u"?window.location.pathname:"",s=e?.storeName||`${o}${n}`,a=e?.shallow??true,l=f=>{let i=f.states[s]??G,{loading:m,isCancel:D,response:A}=i,{refresh:C,abort:P,clear:R,clone:q}=Oe(s)||{},E=[A?.data,{...A,loading:m,isCancel:D,refresh:C,abort:P,clear:R,clone:q}];return e?.selector?e.selector(E):E};return a?V(shallow$1.useShallow(l)):V(l)};var ar=(t,e)=>{let n=o=>t(o);return n.displayName=e,n},ir=(t,e)=>{let n={};n.others=[];let o=s=>{de__default.default.Children.forEach(s,a=>{if(de__default.default.isValidElement(a)){let l=a.type.displayName;if(e.includes(l))n[l]=a;else {let r=a;r.props?.children?o(r.props.children):n.others.push(a);}}else n.others.push(a);});};return o(t),n};function cr(t){let e=t,n=new Set;function o(){return e}function s(r){return n.add(r),()=>n.delete(r)}function a(r){typeof r=="function"?e=r(e):e=r,n.forEach(f=>f());}function l(r){let f=de.useRef(r?r(e):e);return de.useSyncExternalStore(s,()=>{let i=r?r(e):e,m=f.current;return Object.is(m,i)||(f.current=i),f.current},()=>r?r(e):e)}return {getSnapshot:o,subscribe:s,setState:a,useStore:l}}function bt(t,e=[]){let n={};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,n[o]=a;}else typeof s=="object"&&s!==null?n[o]=bt(s,[...e,o]):n[o]=s;}return n}function mr(t,e){let[n,o]=de.useState(false),[s,a]=de.useState([]),l=de.useRef([]),r=de.useRef(null);de.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{r.current?.abort();}},[]);let f=async D=>{r.current?.abort();let A=new AbortController;r.current=A,o(true),a([]),l.current=[],t(D,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(o(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:A.signal});},i=()=>{r.current?.abort(),r.current=null,o(false);},m=()=>{o(false),a([]),l.current=[];};return [s.map(D=>D.data),f,{loading:n,abort:i,reset:m,response:s}]}exports.BgsCoreProvider=Je;exports.DataTypeEnum=rt;exports.HttpMethod=nt;exports.capitalizeWords=Re;exports.createApiHelper=Vn;exports.createElement=ar;exports.createStore=cr;exports.debounce=kt;exports.decrypt=ae;exports.decryptString=Ce;exports.defaultState=G;exports.diffJson=St;exports.encrypt=se;exports.encryptString=Ae;exports.generateCacheKey=ye;exports.generateUUID=Dt;exports.getApiActions=Oe;exports.getFieldValue=M;exports.isArray=Ot;exports.isNotEmpty=I;exports.jsonCopy=vt;exports.labelFormatter=me;exports.mappingUndefinedtoNull=Pt;exports.moment=F;exports.parseSSEChunk=ge;exports.registerApi=Se;exports.renderChildren=wt;exports.safeUpdate=dn;exports.sorting=qt;exports.splitElement=ir;exports.stableStringify=Ee;exports.summary=Ut;exports.unregisterApi=Pe;exports.useApiLoad=tt;exports.useApiLoadStore=V;exports.useApiSend=_n;exports.useApiStore=rr;exports.useApiStream=mr;exports.useBgsCore=W;exports.useCrypto=Q;exports.useDelay=Sn;exports.useFormatted=vn;exports.useInterval=Nn;exports.useKeyPress=Fn;exports.useScrollTrigger=Xn;exports.useStorage=De;exports.wrapApi=bt;
package/dist/index.d.cts CHANGED
@@ -606,6 +606,7 @@ declare const registerApi: (key: string, actions: Partial<OptionsCallReturn<any,
606
606
  declare const unregisterApi: (key: string) => void;
607
607
  declare const getApiActions: (key: string) => Partial<OptionsCallReturn<any, any>> | undefined;
608
608
 
609
+ declare function safeUpdate<T>(prev: T, next: T): T | undefined;
609
610
  interface ApiLoadState {
610
611
  states: Record<string, OptionsCallReturn>;
611
612
  updateState: (storeName: string, state: Partial<OptionsCallReturn>) => void;
@@ -648,4 +649,4 @@ interface BgsCoreProviderProps {
648
649
  }
649
650
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
650
651
 
651
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, generateCacheKey, generateUUID, getApiActions, getFieldValue, isArray, isNotEmpty, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, registerApi, renderChildren, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useScrollTrigger, useStorage, wrapApi };
652
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, generateCacheKey, generateUUID, getApiActions, getFieldValue, isArray, isNotEmpty, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, registerApi, renderChildren, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useScrollTrigger, useStorage, wrapApi };
package/dist/index.d.ts CHANGED
@@ -606,6 +606,7 @@ declare const registerApi: (key: string, actions: Partial<OptionsCallReturn<any,
606
606
  declare const unregisterApi: (key: string) => void;
607
607
  declare const getApiActions: (key: string) => Partial<OptionsCallReturn<any, any>> | undefined;
608
608
 
609
+ declare function safeUpdate<T>(prev: T, next: T): T | undefined;
609
610
  interface ApiLoadState {
610
611
  states: Record<string, OptionsCallReturn>;
611
612
  updateState: (storeName: string, state: Partial<OptionsCallReturn>) => void;
@@ -648,4 +649,4 @@ interface BgsCoreProviderProps {
648
649
  }
649
650
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
650
651
 
651
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, generateCacheKey, generateUUID, getApiActions, getFieldValue, isArray, isNotEmpty, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, registerApi, renderChildren, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useScrollTrigger, useStorage, wrapApi };
652
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, generateCacheKey, generateUUID, getApiActions, getFieldValue, isArray, isNotEmpty, jsonCopy, labelFormatter, mappingUndefinedtoNull, moment, parseSSEChunk, registerApi, renderChildren, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useScrollTrigger, useStorage, wrapApi };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import de,{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 Z 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 n=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(n=true):n=true),n}function I(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 n=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(t="",e=false)=>{let n="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],n=me.snackCase(me.camelCase(t)),e&&(n=n?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return n?.trim()}};function wt(t,e){return typeof t=="function"?t(e):t}var M=(t,e,n="")=>{if(!t)return n;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 n;s=s[a];}return s===void 0?n:s},qt={desc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(n,e):"";return s<a?1:-1}else return n<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(o,e):"";return s>a?1:-1}else return n>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let n=[];return n=t.map(o=>Number(e?M(o,e)||0:o||0)),n.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(n,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 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 n;return function(...o){clearTimeout(n),n=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(He);N.extend(Be);N.extend(Ie);N.extend($e);N.extend(je);var F=N;var he=createContext(void 0);function W(){let t=useContext(he);return t||{}}var Je=({children:t,value:e})=>{let n={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:p}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&F.locale(s,a??{},p);}})();},[e.localeConfig]),jsx(he.Provider,{value:n,children:t})};function se(t,e){let n=be.random(16),o=be.random(16),s=Te(e,n,{keySize:256/32,iterations:1e3}),a=xe.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:n.toString(Z),iv:o.toString(Z),encrypted:a}}function ae(t,e){let{salt:n,iv:o,encrypted:s}=t,a=Te(e,Z.parse(n),{keySize:256/32,iterations:1e3}),r=xe.decrypt(s,a,{iv:Z.parse(o)}).toString(Ge);return JSON.parse(r)}function Ae(t,e){return JSON.stringify(se(t,e))}function Ce(t,e){return ae(JSON.parse(t),e)}function Q(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,n){return se(e,n||t)},decrypt(e,n){return ae(e,n||t)},encryptString(e,n){return Ae(e,n||t)},decryptString(e,n){return Ce(e,n||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Q(),n=useCallback((p,r)=>{try{let f=t(r);localStorage.setItem(p,JSON.stringify(f));}catch(f){console.error("Failed to save to storage:",f);}},[t]),o=useCallback(p=>{try{let r=localStorage.getItem(p);return r?e(JSON.parse(r)):null}catch(r){return console.error("Failed to get from storage:",r),null}},[e]),s=p=>{let[r,f]=useState(()=>{try{let i=localStorage.getItem(p);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return useEffect(()=>{let i=m=>{if(m.key===p)if(m.newValue)try{f(e(JSON.parse(m.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else f(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[p,e]),r},a=useCallback(p=>{p?localStorage.removeItem(p):localStorage.clear();},[]);return {save:n,get:o,clear:a,useWatchStorage:s}};function Qe(t,e){for(let n in e)if(e[n]!==t[n])return e}var G={loading:false,response:void 0,isCancel:false},V=create()(t=>({states:{},updateState:(e,n)=>t(o=>{let s=o.states[e]||G,a={...s,...n};return Qe(s,a)?{states:{...o.states,[e]:a}}:o})}));var le=new Map,Se=(t,e)=>{le.set(t,e);},Pe=t=>{le.delete(t);},Oe=t=>le.get(t);function tt(...t){let[e,n,o]=t,s=e.__isVoid,a=e.__path||e.name,p=s?void 0:n,r=s?n:o,f=typeof window<"u"?window.location.pathname:"",i=r?.storeName||`${f}${a}`,{updateState:m}=V(),[D,A,C]=V(useShallow(y=>{let d=y.states[i]??G;return [d.loading,d.isCancel,d.response]})),{storageKey:P,cache:R,clearPreviousData:q,refetchOnWindowFocus:E}=W(),L=De(),z=useRef(void 0),H=useRef(null),{cacheName:$,cacheKey:B,timeout:ee,timeoutUnit:te,persistence:ne,cacheEnabled:h}=useMemo(()=>{let y=P?L.get(P):void 0,d=typeof r?.cache=="object"?r?.cache?.cacheName??a:a,T=ye({...p,session:y},typeof r?.cache=="object"?r?.cache?.cacheKey:void 0),g=false;typeof R?.enabled=="boolean"&&(g=R.enabled);let w=false;typeof R?.persistence=="boolean"&&(w=R?.persistence),typeof r?.cache=="object"&&typeof r?.cache?.persistence=="boolean"&&(w=r?.cache?.persistence??false);let S=60*5,v="s";return I(R?.timeout)&&(typeof R?.timeout=="number"?(S=R.timeout,v="s"):typeof R?.timeout=="object"&&(S=R?.timeout.value,v=R?.timeout.unit)),I(r?.cache)&&(typeof r?.cache!="boolean"?(typeof r?.cache?.enabled=="boolean"?g=r.cache.enabled:g=true,typeof r?.cache?.timeout=="number"?(S=r.cache.timeout,v="s"):typeof r?.cache?.timeout=="object"&&(S=r.cache.timeout.value,v=r.cache.timeout.unit)):g=r.cache),{cacheName:d,cacheKey:T,timeout:S,timeoutUnit:v,persistence:w,cacheEnabled:g}},[r?.cache,p,P,R,a]);useEffect(()=>{let y=JSON.stringify(I(z.current)?z.current:""),d=JSON.stringify(I(p)?p:""),T=z.current===void 0;(y!==d||T)&&!r?.hold&&((r?.clearPreviousData??q)&&m(i,{response:null}),l(),z.current=p),r?.onChange&&r?.onChange(p,U);},[p,r?.clearPreviousData,q,r?.hold,...r?.trigger||[]]),useEffect(()=>{let y=async()=>{!ne&&$&&B&&(await caches.open($)).delete(B);};return window.addEventListener("beforeunload",y),()=>{window.removeEventListener("beforeunload",y),H.current?.abort();}},[ne,$,B,i,H]);let l=useCallback(async y=>{let d=p;if(r?.hold&&r?.logging&&console.log("Hold active"),r?.beforeRequest&&(d=r?.beforeRequest(p)),h&&!y&&!A){m(i,{loading:true}),r?.onBeforeRequest&&r?.onBeforeRequest(p);let T=await caches.open($),w=await(await T.match(B))?.json();if(w){let{data:S,expired:v}=w;if(F().isAfter(v))await T.delete(B);else {r?.afterResponse&&S?.data&&(S.data=r?.afterResponse(S.data)),r?.logging&&console.log("After request: Using Cache",S),r?.onAfterResponse&&r?.onAfterResponse(S),m(i,{loading:false,response:S});return}}}if(typeof e=="function"){H.current?.abort();let T=new AbortController;H.current=T,m(i,{loading:true}),r?.logging&&console.log("Before request",p),r?.onBeforeRequest&&r?.onBeforeRequest(p);let g=s?await e(void 0,{...r,signal:T.signal}):await e(d,void 0,{...r,signal:T.signal});if(r?.afterResponse&&g?.data&&(g.data=r?.afterResponse(g.data)),r?.logging&&console.log("After request",g),r?.onAfterResponse&&r?.onAfterResponse(g),m(i,{loading:false,response:g,isCancel:false}),h&&g.status){let w=F().add(ee,te).toISOString(),S={data:g,expired:w},v=await caches.open($),J=new Response(JSON.stringify(S));await v.put(B,J);}}},[p,e,r,A,$,B,ee,te,h]);useEffect(()=>{if(r?.refreshInterval){let y=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,d=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,T=setInterval(()=>{l();},F.duration(y,d).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[r?.refreshInterval,l]);let c=useRef(null),{enabledRefetch:x,timeoutRefetch:b,timeoutUnitRefetch:O}=useMemo(()=>{let y=r?.refetchOnWindowFocus?.enabled??E?.enabled??false,d=r?.refetchOnWindowFocus?.timeout??E?.timeout,T=typeof d=="number"?d:d?.value??60*5,g=typeof d=="object"?d.unit:"s";return {enabledRefetch:y,timeoutRefetch:T,timeoutUnitRefetch:g}},[r?.refetchOnWindowFocus,E]);useEffect(()=>{if(!x)return;let y=F.duration(b,O).asMilliseconds(),d=()=>{let g=Date.now(),w=c.current;w!==null&&g-w>=y&&l(),c.current=null;},T=()=>{c.current=Date.now();};return window.addEventListener("focus",d),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",T);}},[x,b,O,l]);let u=useCallback(()=>{H.current?.abort(),H.current=null,m(i,{loading:false,isCancel:true});},[i,H]),K=useCallback(()=>{m(i,{loading:false,response:null});},[i]),U=useMemo(()=>({...C,loading:D,refresh:l,abort:u,clear:K,response:C,isCancel:A,clone:(y,d)=>tt(e,y,d)}),[C,D,l,u,K,A,e]);return useEffect(()=>(Se(i,U),()=>{Pe(i);}),[U,i]),[C?.data,U]}async function Cn(t,e=()=>{}){let n=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},n);})}var nt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(nt||{}),rt=(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))(rt||{});var qn=(t,e,n)=>{let{format:o}=W();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...n}):e==="boolean"?ot(t,n):e==="string"?st(t,n):t?.toString()??""};function ot(t,e){let n=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return n?o:s}function st(t,e){if(!I(t))return "";let n=String(t);switch(e?.textTransform){case "capitalize":n=Re(n);break;case "uppercase":n=n.toUpperCase();break;case "lowercase":n=n.toLowerCase();break}return e?.ellipsis&&n.length>e.ellipsis&&(n=n.slice(0,e.ellipsis)+"..."),n}function at(t,{thouSep:e,decSep:n,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 i=Math.pow(10,o);a=Math[s](a*i)/i;}else a=Math[s](a);else if(typeof o=="number"){let i=Math.pow(10,o);a=Math.floor(a*i)/i;}let p=0;if(o==="auto"){let i=a.toString(),m=i.indexOf(".");m!==-1&&(p=i.length-m-1);}let r={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?p:o||0,maximumFractionDigits:o==="auto"?p:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",r).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,e)}function it(t,{display:e,value:n}){if(!I(t))return t;let o=F(t,n);return o.isValid()?o.format(e):t}function kn(t,{interval:e,lead:n}){let o=useRef(null);useEffect(()=>{o.current=t;},[t]),useEffect(()=>{let s=()=>o.current();if(n&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Kn(t,e,n){let[o,s]=useState(false),a=(i,m)=>typeof t=="string"&&i===t||typeof t=="number"&&m===t,p=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),r=i=>{let{key:m,keyCode:D}=i,A=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!p(document.activeElement))if(e)if(typeof e=="string")a(m,D)&&(e==="ctrl"&&A||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));else {let R=e.every(q=>q==="ctrl"?A:q==="alt"?C:q==="shift"?P:false);a(m,D)&&R&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));}else a(m,D)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));},f=({key:i,keyCode:m})=>{a(i,m)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",r),window.addEventListener("keyup",f),()=>{window.removeEventListener("keydown",r),window.removeEventListener("keyup",f);}),[]),o}var jn=({url:t,token:e,beforeRequest:n,onCallback:o,headers:s,onUnauthorized:a,handleToast:p,handleAuthorization:r,disabledToastWhenCancel:f,withCredentials:i,encryptRequest:m,encryptResponse:D,passphrase:A})=>{let{encrypt:C,decrypt:P,passphrase:R}=Q(),q=(h,l,c,x)=>{let b=x?.code==="ERR_CANCELED",O=h?.status===401,u=h?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:D)&&u){let g=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?R:c.passphrase:A;try{u=P(u,g);}catch{try{u=P(u,R);}catch{}}}let y={...o({...h,data:u,isCancel:b,isUnauthorization:O},x),isCancel:b,isUnauthorization:O,httpCode:h?.status},d=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:f,T=r?r(y,c):!O;if((c?.infoSuccess&&y.status||c?.infoError&&!y.status)&&p&&(!b||!d)&&p(y),!T&&(!b||!c?.disabledHandleUnauthorized)){let g=c?.onUnauthorized||a;g&&g(y);}if(l)l(y);else return y},E=(h,l=()=>{})=>ut.create({baseURL:`${t}`,withCredentials:typeof h.withCredentials=="boolean"?h.withCredentials:i})(h).then(l).catch(x=>l(x.response,x)),L=(h,l,c,x,b)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token&&(typeof u.token=="boolean"?e&&(K.Authorization=`Bearer ${e}`):u.token&&(K.Authorization=`Bearer ${u.token}`)),n&&(c=n(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:m)&&c){let y=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;c=C(c,y);}return E({url:l,method:h,data:c,headers:K,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:y=>{u?.onUploadProgress&&u?.onUploadProgress(y);}},(y,d)=>q(y,x,u,d))};return {client:E,post:(h,l,c,x)=>L("POST",`${h}`,l,c,x),put:(h,l,c,x)=>L("PUT",`${h}`,l,c,x),patch:(h,l,c,x)=>L("PATCH",`${h}`,l,c,x),delete:(h,l,c)=>L("DELETE",`${h}`,null,l,c),get:(h,l,c)=>L("GET",`${h}`,null,l,c),upload:(h,l,c,x)=>{let b=new FormData;return Object.keys(l).forEach(O=>b.append(O,l[O])),L("POST",`${h}`,b,c,{infoSuccess:false,...x,headers:{"Content-Type":"multipart/form-data",...x?.headers}})},stream:async(h,l,c,x,b)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token){let k=typeof u.token=="boolean"?e:u.token;k&&(K.Authorization=`Bearer ${k}`);}let U=c;if(n&&(U=n(U)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:m)&&U){let k=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?R:u.passphrase:A;U=C(U,k);}let d=await fetch(`${t}${l}`,{method:h,headers:K,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(U)}),T=d?.status,g=T===401;if(!d.ok){let k=d?.statusText||"Error";try{let X=d.headers.get("content-type")||"",j=await d.clone().text();if(j)if(X.includes("application/json"))try{let oe=JSON.parse(j);if((typeof b?.encryptResponse=="boolean"?b?.encryptResponse:D)&&c){let ke=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;try{c=P(oe,ke);}catch{try{c=P(oe,R);}catch{}}}k=oe?.message||k;}catch{k=j;}else k=j;}catch{}let re=typeof b?.disabledToastWhenCancel=="boolean"?b?.disabledToastWhenCancel:f,_={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0};b?.infoError&&p&&!re&&p(_),x(_);return}let w=d.body.getReader(),S=new TextDecoder("utf-8"),v="",J=!1;for(;!J;){let{done:k,value:re}=await w.read();J=k,v+=S.decode(re,{stream:!0});let _=v.split(`
1
+ import de,{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 Z from'crypto-js/enc-base64';import be from'crypto-js/lib-typedarrays';import {create}from'zustand';import {shallow}from'zustand/shallow';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 n=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(n=true):n=true),n}function I(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 n=t.replace(/_([a-z])/g,(o,s)=>s.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(t="",e=false)=>{let n="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],n=me.snackCase(me.camelCase(t)),e&&(n=n?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "));}catch{}return n?.trim()}};function wt(t,e){return typeof t=="function"?t(e):t}var M=(t,e,n="")=>{if(!t)return n;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 n;s=s[a];}return s===void 0?n:s},qt={desc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(n,e):"";return s<a?1:-1}else return n<o?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((n,o)=>{if(e){let s=M(n,e)?M(n,e):"",a=M(o,e)?M(o,e):"";return s>a?1:-1}else return n>o?1:-1}))},Ut=(t,e)=>{Array.isArray(t)||(t=[]);let n=[];return n=t.map(o=>Number(e?M(o,e)||0:o||0)),n.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(n,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 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 n;return function(...o){clearTimeout(n),n=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(He);N.extend(Be);N.extend(Ie);N.extend($e);N.extend(je);var F=N;var he=createContext(void 0);function W(){let t=useContext(he);return t||{}}var Je=({children:t,value:e})=>{let n={...e};return useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:s,object:a,isLocal:l}=e.localeConfig;if(typeof s=="string")try{await import(`dayjs/locale/${s}`);}catch{console.warn(`Locale "${s}" not found, fallback to default`);}s&&F.locale(s,a??{},l);}})();},[e.localeConfig]),jsx(he.Provider,{value:n,children:t})};function se(t,e){let n=be.random(16),o=be.random(16),s=Te(e,n,{keySize:256/32,iterations:1e3}),a=xe.encrypt(JSON.stringify(t),s,{iv:o}).toString();return {salt:n.toString(Z),iv:o.toString(Z),encrypted:a}}function ae(t,e){let{salt:n,iv:o,encrypted:s}=t,a=Te(e,Z.parse(n),{keySize:256/32,iterations:1e3}),r=xe.decrypt(s,a,{iv:Z.parse(o)}).toString(Ge);return JSON.parse(r)}function Ae(t,e){return JSON.stringify(se(t,e))}function Ce(t,e){return ae(JSON.parse(t),e)}function Q(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,n){return se(e,n||t)},decrypt(e,n){return ae(e,n||t)},encryptString(e,n){return Ae(e,n||t)},decryptString(e,n){return Ce(e,n||t)}}}var De=()=>{let{encrypt:t,decrypt:e}=Q(),n=useCallback((l,r)=>{try{let f=t(r);localStorage.setItem(l,JSON.stringify(f));}catch(f){console.error("Failed to save to storage:",f);}},[t]),o=useCallback(l=>{try{let r=localStorage.getItem(l);return r?e(JSON.parse(r)):null}catch(r){return console.error("Failed to get from storage:",r),null}},[e]),s=l=>{let[r,f]=useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return useEffect(()=>{let i=m=>{if(m.key===l)if(m.newValue)try{f(e(JSON.parse(m.newValue)));}catch(D){console.error("Decrypt error from storage event",D);}else f(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),r},a=useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:n,get:o,clear:a,useWatchStorage:s}};function dn(t,e){for(let n in e)if(e[n]!==t[n])return e}var G={loading:false,response:void 0,isCancel:false},V=create((t,e)=>({states:{},updateState:(n,o)=>{let s=e().states[n]??G,a={...s,...o};shallow(s,a)||t(l=>({states:{...l.states,[n]:a}}));}}));var le=new Map,Se=(t,e)=>{le.set(t,e);},Pe=t=>{le.delete(t);},Oe=t=>le.get(t);function tt(...t){let[e,n,o]=t,s=e.__isVoid,a=e.__path||e.name,l=s?void 0:n,r=s?n:o,f=typeof window<"u"?window.location.pathname:"",i=r?.storeName||`${f}${a}`,{updateState:m}=V(),[D,A,C]=V(useShallow(y=>{let d=y.states[i]??G;return [d.loading,d.isCancel,d.response]})),{storageKey:P,cache:R,clearPreviousData:q,refetchOnWindowFocus:E}=W(),L=De(),z=useRef(void 0),H=useRef(null),{cacheName:$,cacheKey:B,timeout:ee,timeoutUnit:te,persistence:ne,cacheEnabled:h}=useMemo(()=>{let y=P?L.get(P):void 0,d=typeof r?.cache=="object"?r?.cache?.cacheName??a:a,T=ye({...l,session:y},typeof r?.cache=="object"?r?.cache?.cacheKey:void 0),g=false;typeof R?.enabled=="boolean"&&(g=R.enabled);let w=false;typeof R?.persistence=="boolean"&&(w=R?.persistence),typeof r?.cache=="object"&&typeof r?.cache?.persistence=="boolean"&&(w=r?.cache?.persistence??false);let S=60*5,v="s";return I(R?.timeout)&&(typeof R?.timeout=="number"?(S=R.timeout,v="s"):typeof R?.timeout=="object"&&(S=R?.timeout.value,v=R?.timeout.unit)),I(r?.cache)&&(typeof r?.cache!="boolean"?(typeof r?.cache?.enabled=="boolean"?g=r.cache.enabled:g=true,typeof r?.cache?.timeout=="number"?(S=r.cache.timeout,v="s"):typeof r?.cache?.timeout=="object"&&(S=r.cache.timeout.value,v=r.cache.timeout.unit)):g=r.cache),{cacheName:d,cacheKey:T,timeout:S,timeoutUnit:v,persistence:w,cacheEnabled:g}},[r?.cache,l,P,R,a]);useEffect(()=>{let y=JSON.stringify(I(z.current)?z.current:""),d=JSON.stringify(I(l)?l:""),T=z.current===void 0;(y!==d||T)&&!r?.hold&&((r?.clearPreviousData??q)&&m(i,{response:null}),p(),z.current=l),r?.onChange&&r?.onChange(l,U);},[l,r?.clearPreviousData,q,r?.hold,...r?.trigger||[]]),useEffect(()=>{let y=async()=>{!ne&&$&&B&&(await caches.open($)).delete(B);};return window.addEventListener("beforeunload",y),()=>{window.removeEventListener("beforeunload",y),H.current?.abort();}},[ne,$,B,i,H]);let p=useCallback(async y=>{let d=l;if(r?.hold&&r?.logging&&console.log("Hold active"),r?.beforeRequest&&(d=r?.beforeRequest(l)),h&&!y&&!A){m(i,{loading:true}),r?.onBeforeRequest&&r?.onBeforeRequest(l);let T=await caches.open($),w=await(await T.match(B))?.json();if(w){let{data:S,expired:v}=w;if(F().isAfter(v))await T.delete(B);else {r?.afterResponse&&S?.data&&(S.data=r?.afterResponse(S.data)),r?.logging&&console.log("After request: Using Cache",S),r?.onAfterResponse&&r?.onAfterResponse(S),m(i,{loading:false,response:S});return}}}if(typeof e=="function"){H.current?.abort();let T=new AbortController;H.current=T,m(i,{loading:true}),r?.logging&&console.log("Before request",l),r?.onBeforeRequest&&r?.onBeforeRequest(l);let g=s?await e(void 0,{...r,signal:T.signal}):await e(d,void 0,{...r,signal:T.signal});if(r?.afterResponse&&g?.data&&(g.data=r?.afterResponse(g.data)),r?.logging&&console.log("After request",g),r?.onAfterResponse&&r?.onAfterResponse(g),m(i,{loading:false,response:g,isCancel:false}),h&&g.status){let w=F().add(ee,te).toISOString(),S={data:g,expired:w},v=await caches.open($),J=new Response(JSON.stringify(S));await v.put(B,J);}}},[l,e,r,A,$,B,ee,te,h]);useEffect(()=>{if(r?.refreshInterval){let y=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,d=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,T=setInterval(()=>{p();},F.duration(y,d).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[r?.refreshInterval,p]);let c=useRef(null),{enabledRefetch:x,timeoutRefetch:b,timeoutUnitRefetch:O}=useMemo(()=>{let y=r?.refetchOnWindowFocus?.enabled??E?.enabled??false,d=r?.refetchOnWindowFocus?.timeout??E?.timeout,T=typeof d=="number"?d:d?.value??60*5,g=typeof d=="object"?d.unit:"s";return {enabledRefetch:y,timeoutRefetch:T,timeoutUnitRefetch:g}},[r?.refetchOnWindowFocus,E]);useEffect(()=>{if(!x)return;let y=F.duration(b,O).asMilliseconds(),d=()=>{let g=Date.now(),w=c.current;w!==null&&g-w>=y&&p(),c.current=null;},T=()=>{c.current=Date.now();};return window.addEventListener("focus",d),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",T);}},[x,b,O,p]);let u=useCallback(()=>{H.current?.abort(),H.current=null,m(i,{loading:false,isCancel:true});},[i,H]),K=useCallback(()=>{m(i,{loading:false,response:null});},[i]),U=useMemo(()=>({...C,loading:D,refresh:p,abort:u,clear:K,response:C,isCancel:A,clone:(y,d)=>tt(e,y,d)}),[C,D,p,u,K,A,e]);return useEffect(()=>(Se(i,U),()=>{Pe(i);}),[U,i]),[C?.data,U]}async function Sn(t,e=()=>{}){let n=t*1e3;return new Promise(o=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),o(true);},n);})}var nt=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(nt||{}),rt=(p=>(p.number="number",p.currency="currency",p.percent="percent",p.date="date",p.dateTime="dateTime",p.month="month",p.year="year",p.time="time",p.timestamp="timestamp",p.string="string",p.textarea="textarea",p.code="code",p.password="password",p.boolean="boolean",p.toggle="toggle",p.email="email",p.phone="phone",p.url="url",p.json="json",p.file="file",p.image="image",p.array="array",p.object="object",p.enum="enum",p.user="user",p.department="department",p.status="status",p))(rt||{});var vn=(t,e,n)=>{let{format:o}=W();return e==="number"?at(t,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(s=>s===e)?it(t,{display:o[e]?.display,value:o[e]?.value,...n}):e==="boolean"?ot(t,n):e==="string"?st(t,n):t?.toString()??""};function ot(t,e){let n=typeof t=="string"?t==="true":!!t,o=e?.trueLabel??"Yes",s=e?.falseLabel??"No";return n?o:s}function st(t,e){if(!I(t))return "";let n=String(t);switch(e?.textTransform){case "capitalize":n=Re(n);break;case "uppercase":n=n.toUpperCase();break;case "lowercase":n=n.toLowerCase();break}return e?.ellipsis&&n.length>e.ellipsis&&(n=n.slice(0,e.ellipsis)+"..."),n}function at(t,{thouSep:e,decSep:n,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 i=Math.pow(10,o);a=Math[s](a*i)/i;}else a=Math[s](a);else if(typeof o=="number"){let i=Math.pow(10,o);a=Math.floor(a*i)/i;}let l=0;if(o==="auto"){let i=a.toString(),m=i.indexOf(".");m!==-1&&(l=i.length-m-1);}let r={style:"decimal",useGrouping:true,minimumFractionDigits:o==="auto"?l:o||0,maximumFractionDigits:o==="auto"?l:o||0,minimumIntegerDigits:1};return a.toLocaleString("en-US",r).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,e)}function it(t,{display:e,value:n}){if(!I(t))return t;let o=F(t,n);return o.isValid()?o.format(e):t}function Nn(t,{interval:e,lead:n}){let o=useRef(null);useEffect(()=>{o.current=t;},[t]),useEffect(()=>{let s=()=>o.current();if(n&&s(),e!==null){let a=setInterval(s,e);return ()=>clearInterval(a)}},[e]);}function Fn(t,e,n){let[o,s]=useState(false),a=(i,m)=>typeof t=="string"&&i===t||typeof t=="number"&&m===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),r=i=>{let{key:m,keyCode:D}=i,A=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(m,D)&&(e==="ctrl"&&A||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));else {let R=e.every(q=>q==="ctrl"?A:q==="alt"?C:q==="shift"?P:false);a(m,D)&&R&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));}else a(m,D)&&(i.preventDefault(),n&&i.stopPropagation(),s(!o));},f=({key:i,keyCode:m})=>{a(i,m)&&s(false);};return useEffect(()=>(window.addEventListener("keydown",r),window.addEventListener("keyup",f),()=>{window.removeEventListener("keydown",r),window.removeEventListener("keyup",f);}),[]),o}var Vn=({url:t,token:e,beforeRequest:n,onCallback:o,headers:s,onUnauthorized:a,handleToast:l,handleAuthorization:r,disabledToastWhenCancel:f,withCredentials:i,encryptRequest:m,encryptResponse:D,passphrase:A})=>{let{encrypt:C,decrypt:P,passphrase:R}=Q(),q=(h,p,c,x)=>{let b=x?.code==="ERR_CANCELED",O=h?.status===401,u=h?.data;if((typeof c?.encryptResponse=="boolean"?c?.encryptResponse:D)&&u){let g=c?.passphrase?typeof c.passphrase=="boolean"&&c.passphrase?R:c.passphrase:A;try{u=P(u,g);}catch{try{u=P(u,R);}catch{}}}let y={...o({...h,data:u,isCancel:b,isUnauthorization:O},x),isCancel:b,isUnauthorization:O,httpCode:h?.status},d=typeof c?.disabledToastWhenCancel=="boolean"?c?.disabledToastWhenCancel:f,T=r?r(y,c):!O;if((c?.infoSuccess&&y.status||c?.infoError&&!y.status)&&l&&(!b||!d)&&l(y),!T&&(!b||!c?.disabledHandleUnauthorized)){let g=c?.onUnauthorized||a;g&&g(y);}if(p)p(y);else return y},E=(h,p=()=>{})=>ut.create({baseURL:`${t}`,withCredentials:typeof h.withCredentials=="boolean"?h.withCredentials:i})(h).then(p).catch(x=>p(x.response,x)),L=(h,p,c,x,b)=>{let u={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token&&(typeof u.token=="boolean"?e&&(K.Authorization=`Bearer ${e}`):u.token&&(K.Authorization=`Bearer ${u.token}`)),n&&(c=n(c)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:m)&&c){let y=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;c=C(c,y);}return E({url:p,method:h,data:c,headers:K,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:y=>{u?.onUploadProgress&&u?.onUploadProgress(y);}},(y,d)=>q(y,x,u,d))};return {client:E,post:(h,p,c,x)=>L("POST",`${h}`,p,c,x),put:(h,p,c,x)=>L("PUT",`${h}`,p,c,x),patch:(h,p,c,x)=>L("PATCH",`${h}`,p,c,x),delete:(h,p,c)=>L("DELETE",`${h}`,null,p,c),get:(h,p,c)=>L("GET",`${h}`,null,p,c),upload:(h,p,c,x)=>{let b=new FormData;return Object.keys(p).forEach(O=>b.append(O,p[O])),L("POST",`${h}`,b,c,{infoSuccess:false,...x,headers:{"Content-Type":"multipart/form-data",...x?.headers}})},stream:async(h,p,c,x,b)=>{try{let u={...{token:!0,responseType:"json",infoError:!0},...b},K={"Content-Type":"application/json",...s,...u.headers};if(u.token){let k=typeof u.token=="boolean"?e:u.token;k&&(K.Authorization=`Bearer ${k}`);}let U=c;if(n&&(U=n(U)),(typeof u.encryptRequest=="boolean"?u.encryptRequest:m)&&U){let k=u.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?R:u.passphrase:A;U=C(U,k);}let d=await fetch(`${t}${p}`,{method:h,headers:K,credentials:u.withCredentials?"include":"same-origin",signal:u.signal,body:JSON.stringify(U)}),T=d?.status,g=T===401;if(!d.ok){let k=d?.statusText||"Error";try{let X=d.headers.get("content-type")||"",j=await d.clone().text();if(j)if(X.includes("application/json"))try{let oe=JSON.parse(j);if((typeof b?.encryptResponse=="boolean"?b?.encryptResponse:D)&&c){let ke=b?.passphrase?typeof b.passphrase=="boolean"&&b.passphrase?R:b.passphrase:A;try{c=P(oe,ke);}catch{try{c=P(oe,R);}catch{}}}k=oe?.message||k;}catch{k=j;}else k=j;}catch{}let re=typeof b?.disabledToastWhenCancel=="boolean"?b?.disabledToastWhenCancel:f,_={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0};b?.infoError&&l&&!re&&l(_),x(_);return}let w=d.body.getReader(),S=new TextDecoder("utf-8"),v="",J=!1;for(;!J;){let{done:k,value:re}=await w.read();J=k,v+=S.decode(re,{stream:!0});let _=v.split(`
2
2
 
3
- `);v=_.pop();for(let X of _)if(X.startsWith("data:"))try{let j=ge(X);x({status:!0,data:j,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!1});}catch{}}x({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0});}catch(O){let u=O?.name==="AbortError";x({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}}}};function zn(t,e){let[n,o]=useState(false),[s,a]=useState(),[p,r]=useState(0),f=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{f.current?.abort();}},[]),[async A=>{f.current?.abort();let C=new AbortController;f.current=C,o(true),e?.beforeRequest&&(A=e?.beforeRequest(A)),e?.logging&&console.log("Before request",A);let P={...e,signal:C.signal,onUploadProgress:q=>{let E=Math.round(q.loaded*100/(q.total||1));r(E);}},R=t.__isVoid?await t(void 0,P):await t(A,void 0,P);e?.logging&&console.log("After response",R),a(R),o(false),r(0),R.status&&e?.onSuccess&&e?.onSuccess(R),!R.status&&e?.onError&&e?.onError(R),e?.afterResponse&&e?.afterResponse(R);},{...s,loading:n,abort:()=>{f.current?.abort(),f.current=null,o(false),r(0);},progress:p,reset:()=>{o(false),r(0),a(null);}}]}function mt(t,e){let{disableHysteresis:n=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)),!n&&a!==void 0&&t.current<a?false:(t.current||0)>o}var yt=typeof window<"u"?window:null;function Gn(t={}){let{getTrigger:e=mt,target:n=yt,disableHysteresis:o=false,threshold:s=100}=t,a=de.useRef(0),[p,r]=de.useState(()=>e(a,{disableHysteresis:o,threshold:s,target:n}));return de.useEffect(()=>{let f=()=>{r(e(a,{disableHysteresis:o,threshold:s,target:n}));};if(f(),n)return n.addEventListener("scroll",f,{passive:true}),()=>{n.removeEventListener("scroll",f);}},[n,e,o,s]),p}var tr=(t,e)=>{let n=t.__path||t.name,o=typeof window<"u"?window.location.pathname:"",s=e?.storeName||`${o}${n}`,a=e?.shallow??true,p=f=>{let i=f.states[s]??G,{loading:m,isCancel:D,response:A}=i,{refresh:C,abort:P,clear:R,clone:q}=Oe(s)||{},E=[A?.data,{...A,loading:m,isCancel:D,refresh:C,abort:P,clear:R,clone:q}];return e?.selector?e.selector(E):E};return a?V(useShallow(p)):V(p)};var or=(t,e)=>{let n=o=>t(o);return n.displayName=e,n},sr=(t,e)=>{let n={};n.others=[];let o=s=>{de.Children.forEach(s,a=>{if(de.isValidElement(a)){let p=a.type.displayName;if(e.includes(p))n[p]=a;else {let r=a;r.props?.children?o(r.props.children):n.others.push(a);}}else n.others.push(a);});};return o(t),n};function lr(t){let e=t,n=new Set;function o(){return e}function s(r){return n.add(r),()=>n.delete(r)}function a(r){typeof r=="function"?e=r(e):e=r,n.forEach(f=>f());}function p(r){let f=useRef(r?r(e):e);return useSyncExternalStore(s,()=>{let i=r?r(e):e,m=f.current;return Object.is(m,i)||(f.current=i),f.current},()=>r?r(e):e)}return {getSnapshot:o,subscribe:s,setState:a,useStore:p}}function bt(t,e=[]){let n={};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,n[o]=a;}else typeof s=="object"&&s!==null?n[o]=bt(s,[...e,o]):n[o]=s;}return n}function fr(t,e){let[n,o]=useState(false),[s,a]=useState([]),p=useRef([]),r=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{r.current?.abort();}},[]);let f=async D=>{r.current?.abort();let A=new AbortController;r.current=A,o(true),a([]),p.current=[],t(D,C=>{C.isDone||(p.current.push(C),a([...p.current])),(C.isDone||!C.status)&&(o(false),e?.onDone&&e?.onDone([...p.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:A.signal});},i=()=>{r.current?.abort(),r.current=null,o(false);},m=()=>{o(false),a([]),p.current=[];};return [s.map(D=>D.data),f,{loading:n,abort:i,reset:m,response:s}]}export{Je as BgsCoreProvider,rt as DataTypeEnum,nt as HttpMethod,Re as capitalizeWords,jn as createApiHelper,or as createElement,lr as createStore,kt as debounce,ae as decrypt,Ce as decryptString,G as defaultState,St as diffJson,se as encrypt,Ae as encryptString,ye as generateCacheKey,Dt as generateUUID,Oe as getApiActions,M as getFieldValue,Ot as isArray,I as isNotEmpty,vt as jsonCopy,me as labelFormatter,Pt as mappingUndefinedtoNull,F as moment,ge as parseSSEChunk,Se as registerApi,wt as renderChildren,qt as sorting,sr as splitElement,Ee as stableStringify,Ut as summary,Pe as unregisterApi,tt as useApiLoad,V as useApiLoadStore,zn as useApiSend,tr as useApiStore,fr as useApiStream,W as useBgsCore,Q as useCrypto,Cn as useDelay,qn as useFormatted,kn as useInterval,Kn as useKeyPress,Gn as useScrollTrigger,De as useStorage,bt as wrapApi};
3
+ `);v=_.pop();for(let X of _)if(X.startsWith("data:"))try{let j=ge(X);x({status:!0,data:j,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!1});}catch{}}x({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:g,httpCode:T,isDone:!0});}catch(O){let u=O?.name==="AbortError";x({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:u,isUnauthorization:false,httpCode:400,isDone:true});}}}};function _n(t,e){let[n,o]=useState(false),[s,a]=useState(),[l,r]=useState(0),f=useRef(null);return useEffect(()=>{if(e?.abortOnUnmount)return ()=>{f.current?.abort();}},[]),[async A=>{f.current?.abort();let C=new AbortController;f.current=C,o(true),e?.beforeRequest&&(A=e?.beforeRequest(A)),e?.logging&&console.log("Before request",A);let P={...e,signal:C.signal,onUploadProgress:q=>{let E=Math.round(q.loaded*100/(q.total||1));r(E);}},R=t.__isVoid?await t(void 0,P):await t(A,void 0,P);e?.logging&&console.log("After response",R),a(R),o(false),r(0),R.status&&e?.onSuccess&&e?.onSuccess(R),!R.status&&e?.onError&&e?.onError(R),e?.afterResponse&&e?.afterResponse(R);},{...s,loading:n,abort:()=>{f.current?.abort(),f.current=null,o(false),r(0);},progress:l,reset:()=>{o(false),r(0),a(null);}}]}function mt(t,e){let{disableHysteresis:n=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)),!n&&a!==void 0&&t.current<a?false:(t.current||0)>o}var yt=typeof window<"u"?window:null;function Xn(t={}){let{getTrigger:e=mt,target:n=yt,disableHysteresis:o=false,threshold:s=100}=t,a=de.useRef(0),[l,r]=de.useState(()=>e(a,{disableHysteresis:o,threshold:s,target:n}));return de.useEffect(()=>{let f=()=>{r(e(a,{disableHysteresis:o,threshold:s,target:n}));};if(f(),n)return n.addEventListener("scroll",f,{passive:true}),()=>{n.removeEventListener("scroll",f);}},[n,e,o,s]),l}var rr=(t,e)=>{let n=t.__path||t.name,o=typeof window<"u"?window.location.pathname:"",s=e?.storeName||`${o}${n}`,a=e?.shallow??true,l=f=>{let i=f.states[s]??G,{loading:m,isCancel:D,response:A}=i,{refresh:C,abort:P,clear:R,clone:q}=Oe(s)||{},E=[A?.data,{...A,loading:m,isCancel:D,refresh:C,abort:P,clear:R,clone:q}];return e?.selector?e.selector(E):E};return a?V(useShallow(l)):V(l)};var ar=(t,e)=>{let n=o=>t(o);return n.displayName=e,n},ir=(t,e)=>{let n={};n.others=[];let o=s=>{de.Children.forEach(s,a=>{if(de.isValidElement(a)){let l=a.type.displayName;if(e.includes(l))n[l]=a;else {let r=a;r.props?.children?o(r.props.children):n.others.push(a);}}else n.others.push(a);});};return o(t),n};function cr(t){let e=t,n=new Set;function o(){return e}function s(r){return n.add(r),()=>n.delete(r)}function a(r){typeof r=="function"?e=r(e):e=r,n.forEach(f=>f());}function l(r){let f=useRef(r?r(e):e);return useSyncExternalStore(s,()=>{let i=r?r(e):e,m=f.current;return Object.is(m,i)||(f.current=i),f.current},()=>r?r(e):e)}return {getSnapshot:o,subscribe:s,setState:a,useStore:l}}function bt(t,e=[]){let n={};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,n[o]=a;}else typeof s=="object"&&s!==null?n[o]=bt(s,[...e,o]):n[o]=s;}return n}function mr(t,e){let[n,o]=useState(false),[s,a]=useState([]),l=useRef([]),r=useRef(null);useEffect(()=>{if(e?.abortOnUnmount)return ()=>{r.current?.abort();}},[]);let f=async D=>{r.current?.abort();let A=new AbortController;r.current=A,o(true),a([]),l.current=[],t(D,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(o(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:A.signal});},i=()=>{r.current?.abort(),r.current=null,o(false);},m=()=>{o(false),a([]),l.current=[];};return [s.map(D=>D.data),f,{loading:n,abort:i,reset:m,response:s}]}export{Je as BgsCoreProvider,rt as DataTypeEnum,nt as HttpMethod,Re as capitalizeWords,Vn as createApiHelper,ar as createElement,cr as createStore,kt as debounce,ae as decrypt,Ce as decryptString,G as defaultState,St as diffJson,se as encrypt,Ae as encryptString,ye as generateCacheKey,Dt as generateUUID,Oe as getApiActions,M as getFieldValue,Ot as isArray,I as isNotEmpty,vt as jsonCopy,me as labelFormatter,Pt as mappingUndefinedtoNull,F as moment,ge as parseSSEChunk,Se as registerApi,wt as renderChildren,dn as safeUpdate,qt as sorting,ir as splitElement,Ee as stableStringify,Ut as summary,Pe as unregisterApi,tt as useApiLoad,V as useApiLoadStore,_n as useApiSend,rr as useApiStore,mr as useApiStream,W as useBgsCore,Q as useCrypto,Sn as useDelay,vn as useFormatted,Nn as useInterval,Fn as useKeyPress,Xn 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.75",
3
+ "version": "0.0.77",
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",