@bgscore/react-core 0.0.75 → 0.0.76
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 +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
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/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)=>(console.log("testing"),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(`
|
|
2
2
|
|
|
3
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;
|
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 {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)=>(console.log("testing"),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(`
|
|
2
2
|
|
|
3
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};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.76",
|
|
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",
|