@bgscore/react-core 1.0.2 → 1.0.4

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'),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 Vt(){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 Wt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Yt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function zt(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 Jt(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},_t={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}))},Gt=(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 Xt(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 he(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Zt(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var be=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 xe(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 Qt(e){let t={};for(let r in e)_e.has(r)&&(t[r]=e[r]);return t}function er(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function tr(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 rr(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 nr(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 or=(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 Te=de.createContext(void 0);function L(){let e=de.useContext(Te);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(Te.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(x){console.error("Decrypt error from storage event",x);}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,x,R]=z(shallow.useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.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 h=S?j.get(S):void 0,c=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,b=ge({...i,session:h},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:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:g}},[s?.cache,i,S,C,a]);de.useEffect(()=>{let h=JSON.stringify(K(M.current)?M.current:""),c=JSON.stringify(K(i)?i:""),b=M.current===void 0;(h!==c||b)&&!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 h=async()=>{!te&&H&&I&&(await caches.open(H)).delete(I);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),F.current?.abort();}},[te,H,I,p,F]);let y=de.useCallback(async h=>{let c=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(c=s?.beforeRequest(i)),_&&!h&&!d){s?.onBeforeRequest&&s?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(I))?.json();if(P){let{data:O,expired:k}=P;if(q().isAfter(k))await b.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 b=new AbortController;F.current=b,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:b.signal}):await t(c,void 0,{...s,signal:b.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 h=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,c=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,b=setInterval(()=>{y();},q.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[s?.refreshInterval,y]);let l=de.useRef(null),{enabledRefetch:f,timeoutRefetch:A,timeoutUnitRefetch:T}=de.useMemo(()=>{let h=s?.refetchOnWindowFocus?.enabled??U?.enabled??false,c=s?.refetchOnWindowFocus?.timeout??U?.timeout,b=typeof c=="number"?c:c?.value??60*5,g=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,U]);de.useEffect(()=>{if(!f)return;let h=q.duration(A,T).asMilliseconds(),c=()=>{let g=Date.now(),P=l.current;P!==null&&g-P>=h&&y(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[f,A,T,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(()=>({...x,loading:u,refresh:y,abort:w,clear:m,response:x,isCancel:d,clone:(h,c)=>lt(t,h,c)}),[x,u,y,w,m,d,t]);return de.useEffect(()=>(we(p,N),()=>{qe(p);}),[N,p]),[x?.data,N]}async function $r(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 Br=(e,t,r)=>{let{format:n}=L();return t==="number"?Ne(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(o=>o===t)?dt(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?ut(e,r):t==="string"?ft(e,r):e?.toString()??""};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=he(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 x=String(e??"").trim().trim();if(oe(x,r))return x}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(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(),x=d.indexOf(".");x!==-1&&(s=d.length-x-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 Wr(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 Jr(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:x}=u,R=u.ctrlKey,S=u.altKey,C=u.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,x)&&(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,x)&&D&&(u.preventDefault(),r&&u.stopPropagation(),o(!n));}else a(d,x)&&(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 rn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:p,withCredentials:u,encryptRequest:d,encryptResponse:x,passphrase:R})=>{let{encrypt:S,decrypt:C,passphrase:D}=Z(),U=(y,l,f,A)=>{let T=A?.code==="ERR_CANCELED",w=y?.status===401,m=y?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:x)&&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:T,isUnauthorization:w},A),isCancel:T,isUnauthorization:w,httpCode:y?.status},b=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:p,g=s?s(c,f):!w;if((f?.infoSuccess&&c.status||f?.infoError&&!c.status)&&i&&(!T||!b)&&i(c),!g&&(!T||!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,T)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...T},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=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?D:T.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,b)=>U(c,A,m,b))};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 T=new FormData;return Object.keys(l).forEach(w=>T.append(w,l[w])),M("POST",`${y}`,T,f,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(y,l,f,A,T)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...T},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 h=f;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let v=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?D:m.passphrase:R;h=S(h,v);}let b=await fetch(`${e}${l}`,{method:y,headers:N,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),g=b?.status,P=g===401;if(!b.ok){let v=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",B=await b.clone().text();if(B)if(G.includes("application/json"))try{let ne=JSON.parse(B);if((typeof T?.encryptResponse=="boolean"?T?.encryptResponse:x)&&f){let $e=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?D:T.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 T?.disabledToastWhenCancel=="boolean"?T?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:P,httpCode:g,isDone:!0};T?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:v,value:re}=await O.read();me=v,V+=k.decode(re,{stream:!0});let W=V.split(`
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(`
2
2
 
3
- `);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let B=be(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 sn(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 xt(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 Tt=typeof window<"u"?window:null;function pn(e={}){let{getTrigger:t=xt,target:r=Tt,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}var Rn=(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:x,response:R}=o?z(shallow.useShallow(u)):z(u),S=de.useMemo(()=>[R?.data,{...R,loading:d,isCancel:x,refresh:a,abort:i,clear:s,clone:p}],[R,d,x,a,i,s,p]);return t?.selector?t.selector(S):S};var bn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},xn=(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 An(){let{format:e}=L();return (t="",r=false)=>xe(t,r,e.number.decSep)}function On(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 Pt(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]=Pt(o,[...t,n]):r[n]=o;}return r}function Nn(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 x=>{s.current?.abort();let R=new AbortController;s.current=R,n(true),a([]),i.current=[],e(x,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:R.signal});},u=()=>{s.current?.abort(),s.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [o.map(x=>x.data),p,{loading:r,abort:u,reset:d,response:o}]}exports.BgsCoreProvider=et;exports.DataTypeEnum=ct;exports.HttpMethod=pt;exports.capitalizeWords=he;exports.createApiHelper=rn;exports.createElement=bn;exports.createStore=On;exports.debounce=Zt;exports.decrypt=ae;exports.decryptString=Pe;exports.defaultState=Y;exports.diffJson=Wt;exports.encrypt=se;exports.encryptString=Se;exports.filterDOMPropsLite=Qt;exports.generateCacheKey=ge;exports.generateUUID=Vt;exports.getApiActions=Ue;exports.getDateRangeLabelFromSorted=rr;exports.getFieldValue=E;exports.getInitials=er;exports.getMinMaxDate=tr;exports.getTotalMinutes=nr;exports.isArray=zt;exports.isDirtyRaw=oe;exports.isNotEmpty=K;exports.isValidNumber=Je;exports.jsonCopy=Xt;exports.labelFormatter=ye;exports.mappingData=or;exports.mappingUndefinedtoNull=Yt;exports.moment=q;exports.objectToQueryString=Ge;exports.parseSSEChunk=be;exports.parseStringToNumber=xe;exports.registerApi=we;exports.renderChildren=Jt;exports.replaceNullStrings=Re;exports.safeUpdate=at;exports.sorting=_t;exports.splitElement=xn;exports.stableStringify=ze;exports.summary=Gt;exports.unregisterApi=qe;exports.useApiLoad=lt;exports.useApiLoadStore=z;exports.useApiSend=sn;exports.useApiStore=Rn;exports.useApiStream=Nn;exports.useBgsCore=L;exports.useCrypto=Z;exports.useDelay=$r;exports.useFormatted=Br;exports.useInterval=Wr;exports.useKeyPress=Jr;exports.useParseStringToNumber=An;exports.useScrollTrigger=pn;exports.useStorage=Oe;exports.wrapApi=Pt;
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;
package/dist/index.d.cts CHANGED
@@ -522,6 +522,12 @@ declare function useCrypto(): {
522
522
  decryptString(data: string, passphraseProps?: string | null): string;
523
523
  };
524
524
 
525
+ type UseDebounceOptions<T> = {
526
+ delay?: number;
527
+ onDebounce?: (value: T) => void;
528
+ };
529
+ declare function useDebounce<T = string>(value: T, options?: number | UseDebounceOptions<T>): T;
530
+
525
531
  type AnyApiMethod = ApiMethod<any, any> | ApiMethodVoid<any>;
526
532
  type InferApiRequest<T> = T extends ApiMethod<infer Req, any> ? Req : T extends ApiMethodVoid<any> ? never : never;
527
533
  type InferApiResponse<T> = T extends ApiMethod<any, infer Res> ? Res : T extends ApiMethodVoid<infer Res> ? Res : never;
@@ -685,4 +691,4 @@ interface BgsCoreProviderProps {
685
691
  }
686
692
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
687
693
 
688
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
694
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDebounce, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
package/dist/index.d.ts CHANGED
@@ -522,6 +522,12 @@ declare function useCrypto(): {
522
522
  decryptString(data: string, passphraseProps?: string | null): string;
523
523
  };
524
524
 
525
+ type UseDebounceOptions<T> = {
526
+ delay?: number;
527
+ onDebounce?: (value: T) => void;
528
+ };
529
+ declare function useDebounce<T = string>(value: T, options?: number | UseDebounceOptions<T>): T;
530
+
525
531
  type AnyApiMethod = ApiMethod<any, any> | ApiMethodVoid<any>;
526
532
  type InferApiRequest<T> = T extends ApiMethod<infer Req, any> ? Req : T extends ApiMethodVoid<any> ? never : never;
527
533
  type InferApiResponse<T> = T extends ApiMethod<any, infer Res> ? Res : T extends ApiMethodVoid<infer Res> ? Res : never;
@@ -685,4 +691,4 @@ interface BgsCoreProviderProps {
685
691
  }
686
692
  declare const BgsCoreProvider: ({ children, value: options }: PropsWithChildren<BgsCoreProviderProps>) => react_jsx_runtime.JSX.Element;
687
693
 
688
- export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
694
+ export { type ApiActionState, type ApiActionStateStream, type ApiDefaultFetch, type ApiDefaultMethod, type ApiDefaultStream, type ApiLoadState, type ApiMethod, type ApiMethodStream, type ApiMethodVoid, type ApiResponse, type ApiResponseStream, type BgsCoreProps, BgsCoreProvider, type CacheData, type CacheProps, type CallbackHelper, type CallbackStream, type Children, type ClientCallback, type CombinationType, type CreateElementProps, type DataSource, type DataType, DataTypeEnum, type EncryptedPayload, HttpMethod, type NestedKeyOf, type OptionsCallReturn, type OptionsHelper, type OptionsNumberProps, type PaginationMeta, type PathValue, type ResponseType, type SelectedNested, type SplitElementResult, type StorePayload, type SupportedFormattedType, type TWithName, type TextTransform, type TimeoutConfig, type UseApiSendProps, type UseApiSendReturnType, type UseApiStreamProps, type UseApiStreamReturn, type UseCallOptionsProps, type UseCallReturnType, type UseHelperProps, type UseScrollTriggerOptions, capitalizeWords, createApiHelper, createElement, createStore, debounce, decrypt, decryptString, defaultState, diffJson, encrypt, encryptString, filterDOMPropsLite, generateCacheKey, generateUUID, getApiActions, getDateRangeLabelFromSorted, getFieldValue, getInitials, getMinMaxDate, getTotalMinutes, isArray, isDirtyRaw, isNotEmpty, isValidNumber, jsonCopy, labelFormatter, mappingData, mappingUndefinedtoNull, moment, objectToQueryString, parseSSEChunk, parseStringToNumber, registerApi, renderChildren, replaceNullStrings, safeUpdate, sorting, splitElement, stableStringify, summary, unregisterApi, useApiLoad, useApiLoadStore, useApiSend, useApiStore, useApiStream, useBgsCore, useCrypto, useDebounce, useDelay, useFormatted, useInterval, useKeyPress, useParseStringToNumber, useScrollTrigger, useStorage, wrapApi };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import de,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import $ 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 Vt(){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 Wt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var Yt=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function zt(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 Jt(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},_t={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}))},Gt=(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 Xt(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 he(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function Zt(e,t=0){let r;return function(...n){clearTimeout(r),r=setTimeout(()=>{e(...n);},t*1e3);}}var be=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 xe(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 Qt(e){let t={};for(let r in e)_e.has(r)&&(t[r]=e[r]);return t}function er(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function tr(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 rr(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 nr(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 or=(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 Te=createContext(void 0);function L(){let e=useContext(Te);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(Te.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(x){console.error("Decrypt error from storage event",x);}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,x,R]=z(useShallow(h=>{let c=h.states[p]??Y;return [c.loading,c.isCancel,c.response,h.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 h=S?j.get(S):void 0,c=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,b=ge({...i,session:h},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:b,timeout:O,timeoutUnit:k,persistence:P,cacheEnabled:g}},[s?.cache,i,S,C,a]);useEffect(()=>{let h=JSON.stringify(K(M.current)?M.current:""),c=JSON.stringify(K(i)?i:""),b=M.current===void 0;(h!==c||b)&&!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 h=async()=>{!te&&H&&I&&(await caches.open(H)).delete(I);};return window.addEventListener("beforeunload",h),()=>{window.removeEventListener("beforeunload",h),F.current?.abort();}},[te,H,I,p,F]);let y=useCallback(async h=>{let c=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(c=s?.beforeRequest(i)),_&&!h&&!d){s?.onBeforeRequest&&s?.onBeforeRequest(i);let b=await caches.open(H),P=await(await b.match(I))?.json();if(P){let{data:O,expired:k}=P;if(q().isAfter(k))await b.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 b=new AbortController;F.current=b,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:b.signal}):await t(c,void 0,{...s,signal:b.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 h=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,c=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,b=setInterval(()=>{y();},q.duration(h,c).asMilliseconds());return ()=>clearInterval(b)}return ()=>{}},[s?.refreshInterval,y]);let l=useRef(null),{enabledRefetch:f,timeoutRefetch:A,timeoutUnitRefetch:T}=useMemo(()=>{let h=s?.refetchOnWindowFocus?.enabled??U?.enabled??false,c=s?.refetchOnWindowFocus?.timeout??U?.timeout,b=typeof c=="number"?c:c?.value??60*5,g=typeof c=="object"?c.unit:"s";return {enabledRefetch:h,timeoutRefetch:b,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,U]);useEffect(()=>{if(!f)return;let h=q.duration(A,T).asMilliseconds(),c=()=>{let g=Date.now(),P=l.current;P!==null&&g-P>=h&&y(),l.current=null;},b=()=>{l.current=Date.now();};return window.addEventListener("focus",c),window.addEventListener("blur",b),()=>{window.removeEventListener("focus",c),window.removeEventListener("blur",b);}},[f,A,T,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(()=>({...x,loading:u,refresh:y,abort:w,clear:m,response:x,isCancel:d,clone:(h,c)=>lt(t,h,c)}),[x,u,y,w,m,d,t]);return useEffect(()=>(we(p,N),()=>{qe(p);}),[N,p]),[x?.data,N]}async function $r(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 Br=(e,t,r)=>{let{format:n}=L();return t==="number"?Ne(e,{thouSep:n.number.thouSep,decDigits:n.number.decDigits,decSep:n.number.decSep,...r}):["date","dateTime","month","year","time"].some(o=>o===t)?dt(e,{display:n[t]?.display,value:n[t]?.value,...r}):t==="boolean"?ut(e,r):t==="string"?ft(e,r):e?.toString()??""};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=he(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 x=String(e??"").trim().trim();if(oe(x,r))return x}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(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(),x=d.indexOf(".");x!==-1&&(s=d.length-x-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 Wr(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 Jr(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:x}=u,R=u.ctrlKey,S=u.altKey,C=u.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(d,x)&&(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,x)&&D&&(u.preventDefault(),r&&u.stopPropagation(),o(!n));}else a(d,x)&&(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 rn=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:p,withCredentials:u,encryptRequest:d,encryptResponse:x,passphrase:R})=>{let{encrypt:S,decrypt:C,passphrase:D}=Z(),U=(y,l,f,A)=>{let T=A?.code==="ERR_CANCELED",w=y?.status===401,m=y?.data;if((typeof f?.encryptResponse=="boolean"?f?.encryptResponse:x)&&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:T,isUnauthorization:w},A),isCancel:T,isUnauthorization:w,httpCode:y?.status},b=typeof f?.disabledToastWhenCancel=="boolean"?f?.disabledToastWhenCancel:p,g=s?s(c,f):!w;if((f?.infoSuccess&&c.status||f?.infoError&&!c.status)&&i&&(!T||!b)&&i(c),!g&&(!T||!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,T)=>{let m={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...T},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=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?D:T.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,b)=>U(c,A,m,b))};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 T=new FormData;return Object.keys(l).forEach(w=>T.append(w,l[w])),M("POST",`${y}`,T,f,{infoSuccess:false,...A,headers:{"Content-Type":"multipart/form-data",...A?.headers}})},stream:async(y,l,f,A,T)=>{try{let m={...{token:!0,responseType:"json",infoError:!0},...T},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 h=f;if(r&&(h=r(h)),(typeof m.encryptRequest=="boolean"?m.encryptRequest:d)&&h){let v=m.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?D:m.passphrase:R;h=S(h,v);}let b=await fetch(`${e}${l}`,{method:y,headers:N,credentials:m.withCredentials?"include":"same-origin",signal:m.signal,body:JSON.stringify(h)}),g=b?.status,P=g===401;if(!b.ok){let v=b?.statusText||"Error";try{let G=b.headers.get("content-type")||"",B=await b.clone().text();if(B)if(G.includes("application/json"))try{let ne=JSON.parse(B);if((typeof T?.encryptResponse=="boolean"?T?.encryptResponse:x)&&f){let $e=T?.passphrase?typeof T.passphrase=="boolean"&&T.passphrase?D:T.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 T?.disabledToastWhenCancel=="boolean"?T?.disabledToastWhenCancel:p,W={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:P,httpCode:g,isDone:!0};T?.infoError&&i&&!re&&i(W),A(W);return}let O=b.body.getReader(),k=new TextDecoder("utf-8"),V="",me=!1;for(;!me;){let{done:v,value:re}=await O.read();me=v,V+=k.decode(re,{stream:!0});let W=V.split(`
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(`
2
2
 
3
- `);V=W.pop();for(let G of W)if(G.startsWith("data:"))try{let B=be(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 sn(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 xt(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 Tt=typeof window<"u"?window:null;function pn(e={}){let{getTrigger:t=xt,target:r=Tt,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}var Rn=(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:x,response:R}=o?z(useShallow(u)):z(u),S=useMemo(()=>[R?.data,{...R,loading:d,isCancel:x,refresh:a,abort:i,clear:s,clone:p}],[R,d,x,a,i,s,p]);return t?.selector?t.selector(S):S};var bn=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},xn=(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 An(){let{format:e}=L();return (t="",r=false)=>xe(t,r,e.number.decSep)}function On(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 Pt(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]=Pt(o,[...t,n]):r[n]=o;}return r}function Nn(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 x=>{s.current?.abort();let R=new AbortController;s.current=R,n(true),a([]),i.current=[],e(x,S=>{S.isDone||(i.current.push(S),a([...i.current])),(S.isDone||!S.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),S.status?t?.onStream&&t?.onStream(S):t?.onError&&t?.onError(S);},{signal:R.signal});},u=()=>{s.current?.abort(),s.current=null,n(false);},d=()=>{n(false),a([]),i.current=[];};return [o.map(x=>x.data),p,{loading:r,abort:u,reset:d,response:o}]}export{et as BgsCoreProvider,ct as DataTypeEnum,pt as HttpMethod,he as capitalizeWords,rn as createApiHelper,bn as createElement,On as createStore,Zt as debounce,ae as decrypt,Pe as decryptString,Y as defaultState,Wt as diffJson,se as encrypt,Se as encryptString,Qt as filterDOMPropsLite,ge as generateCacheKey,Vt as generateUUID,Ue as getApiActions,rr as getDateRangeLabelFromSorted,E as getFieldValue,er as getInitials,tr as getMinMaxDate,nr as getTotalMinutes,zt as isArray,oe as isDirtyRaw,K as isNotEmpty,Je as isValidNumber,Xt as jsonCopy,ye as labelFormatter,or as mappingData,Yt as mappingUndefinedtoNull,q as moment,Ge as objectToQueryString,be as parseSSEChunk,xe as parseStringToNumber,we as registerApi,Jt as renderChildren,Re as replaceNullStrings,at as safeUpdate,_t as sorting,xn as splitElement,ze as stableStringify,Gt as summary,qe as unregisterApi,lt as useApiLoad,z as useApiLoadStore,sn as useApiSend,Rn as useApiStore,Nn as useApiStream,L as useBgsCore,Z as useCrypto,$r as useDelay,Br as useFormatted,Wr as useInterval,Jr as useKeyPress,An as useParseStringToNumber,pn as useScrollTrigger,Oe as useStorage,Pt 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 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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgscore/react-core",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
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",