@bgscore/react-core 1.0.5 → 1.0.6

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