@bgscore/react-core 1.0.14 → 1.0.15
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 +2 -2
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var ee=require('react'),M=require('dayjs'),Le=require('dayjs/plugin/utc'),Be=require('dayjs/plugin/timezone'),He=require('dayjs/plugin/duration'),je=require('dayjs/plugin/advancedFormat'),Ve=require('dayjs/plugin/localizedFormat'),_e=require('dayjs/plugin/relativeTime'),ze=require('dayjs/plugin/isSameOrBefore'),We=require('dayjs/plugin/isSameOrAfter'),Ye=require('dayjs/plugin/weekOfYear'),Je=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Pe=require('crypto-js/aes'),Oe=require('crypto-js/pbkdf2'),st=require('crypto-js/enc-utf8'),Z=require('crypto-js/enc-base64'),Se=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Tt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ee__default=/*#__PURE__*/_interopDefault(ee);var M__default=/*#__PURE__*/_interopDefault(M);var Le__default=/*#__PURE__*/_interopDefault(Le);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var _e__default=/*#__PURE__*/_interopDefault(_e);var ze__default=/*#__PURE__*/_interopDefault(ze);var We__default=/*#__PURE__*/_interopDefault(We);var Ye__default=/*#__PURE__*/_interopDefault(Ye);var Je__default=/*#__PURE__*/_interopDefault(Je);var Pe__default=/*#__PURE__*/_interopDefault(Pe);var Oe__default=/*#__PURE__*/_interopDefault(Oe);var st__default=/*#__PURE__*/_interopDefault(st);var Z__default=/*#__PURE__*/_interopDefault(Z);var Se__default=/*#__PURE__*/_interopDefault(Se);var Tt__default=/*#__PURE__*/_interopDefault(Tt);M__default.default.extend(Le__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(He__default.default);M__default.default.extend(je__default.default);M__default.default.extend(Ve__default.default);M__default.default.extend(_e__default.default);M__default.default.extend(ze__default.default);M__default.default.extend(We__default.default);M__default.default.extend(Ye__default.default);M__default.default.extend(Je__default.default);var q=M__default.default;function Zt(){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 Qt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var er=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function tr(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 $(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 he={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=he.snackCase(he.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function rr(e,t){return typeof e=="function"?e(t):e}var N=(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},nr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=N(r,t)?N(r,t):"",a=N(n,t)?N(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=N(r,t)?N(r,t):"",a=N(n,t)?N(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},or=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?N(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function sr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ge(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 Te(e,t){return Ge([t??"undefined",e??"undefined"])}function De(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function ar(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var xe=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function ae(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 Xe(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&&ae(n,r))return true}return false}function Ce(e="",t=false,r="."){if(!Xe(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Ze=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 ir(e){let t={};for(let r in e)Ze.has(r)&&(t[r]=e[r]);return t}function lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function pr(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 cr(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 ur(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 fr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [];let a=e.map((l,p)=>{if(typeof l!="object"){let f=typeof t=="function"?t(l,p):l,R=typeof r=="function"?r(l,p):l;return {label:f,value:R,index:p,rowData:l}}else {let f=typeof t=="function"?t(l,p):N(l,t,""),R=typeof r=="function"?r(l,p):N(l,r,"");return {label:f,value:typeof R=="boolean"?R:R||"",index:p,rowData:l}}});if(!n)return [{items:a}];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,f=i.map(y=>typeof p=="object"?N(p,y,""):"").map(y=>String(y??"")).join(o),R=s.get(f)||[];R.push(l),s.set(f,R);}return Array.from(s.entries()).map(([l,p])=>({group:l,items:p}))};function Qe(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(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Qe(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function be(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=be(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=be(e[t]));return e}var Ae=ee.createContext(void 0);function I(){let e=ee.useContext(Ae);return e||{}}var nt=({children:e,value:t})=>{let r={...t};return ee.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(Ae.Provider,{value:r,children:e})};function ie(e,t){let r=Se__default.default.random(16),n=Se__default.default.random(16),o=Oe__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Pe__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z__default.default),iv:n.toString(Z__default.default),encrypted:a}}function le(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Oe__default.default(t,Z__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Pe__default.default.decrypt(o,a,{iv:Z__default.default.parse(n)}).toString(st__default.default);return JSON.parse(s)}function we(e,t){return JSON.stringify(ie(e,t))}function qe(e,t){return le(JSON.parse(e),t)}function Q(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return ie(t,r||e)},decrypt(t,r){return le(t,r||e)},encryptString(t,r){return we(t,r||e)},decryptString(t,r){return qe(t,r||e)}}}var Ue=()=>{let{encrypt:e,decrypt:t}=Q(),r=ee.useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=ee.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,l]=ee.useState(()=>{try{let p=localStorage.getItem(i);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return ee.useEffect(()=>{let p=f=>{if(f.key===i)if(f.newValue)try{l(t(JSON.parse(f.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else l(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,t]),s},a=ee.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function pt(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},J=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??Y,a={...o,...n};pt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var ce=new Map,ve=(e,t)=>{ce.set(e,t);},ke=e=>{ce.delete(e);},Ne=e=>ce.get(e);function ut(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[f,R,y,x]=J(shallow.useShallow(b=>{let m=b.states[l]??Y;return [m.loading,m.isCancel,m.response,b.updateState]})),{storageKey:O,cache:h,clearPreviousData:E,refetchOnWindowFocus:F}=I(),L=Ue(),_=ee.useRef(void 0),B=ee.useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:T}=ee.useMemo(()=>{let b=O?L.get(O):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof h?.enabled=="boolean"&&(u=h.enabled);let S=false;typeof h?.persistence=="boolean"&&(S=h?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(h?.timeout)&&(typeof h?.timeout=="number"?(P=h.timeout,v="s"):typeof h?.timeout=="object"&&(P=h?.timeout.value,v=h?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?u=s.cache.enabled:u=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,v="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,v=s.cache.timeout.unit)):u=s.cache),{cacheName:m,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,h,a]);ee.useEffect(()=>{let b=JSON.stringify($(_.current)?_.current:""),m=JSON.stringify($(i)?i:""),A=_.current===void 0;(b!==m||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(l,{response:null}),c(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),ee.useEffect(()=>{let b=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),B.current?.abort();}},[ne,j,H,l,B]);let c=ee.useCallback(async b=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),T&&!b&&!R){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(H))?.json();if(S){let{data:P,expired:v}=S;if(q().isAfter(v))await A.delete(H);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,m)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,m),s?.onAfterResponse?.(P,m),x(l,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,x(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let u=o?await t(void 0,{...s,signal:A.signal}):await t(m,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,p==="append"&&$(y.__rawData)&&$(u?.data)){if(Array.isArray(y.__rawData)&&Array.isArray(u?.data)){let S=[...y?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof y.__rawData=="object"&&typeof u.data=="object"){let S={...y.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,m)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,m),u.status||s?.onError?.(u,m),s?.onAfterResponse?.(u,m),x(l,{loading:false,response:u,isCancel:false}),T&&u.status){let S=q().add(te,re).toISOString(),P={data:u,expired:S},v=await caches.open(j),z=new Response(JSON.stringify(P));await v.put(H,z);}}},[i,t,s,R,j,H,te,re,T,y]);ee.useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{c();},q.duration(b,m).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,c]);let d=ee.useRef(null),{enabledRefetch:C,timeoutRefetch:D,timeoutUnitRefetch:w}=ee.useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof m=="number"?m:m?.value??60*5,u=typeof m=="object"?m.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);ee.useEffect(()=>{if(!C||s?.hold)return;let b=q.duration(D,w).asMilliseconds(),m=()=>{let u=Date.now(),S=d.current;S!==null&&u-S>=b&&c(),d.current=null;},A=()=>{d.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",A);}},[C,D,w,c,s?.hold]);let g=ee.useCallback(()=>{B.current?.abort(),B.current=null,x(l,{loading:false,isCancel:true});},[l,B]),K=ee.useCallback(()=>{x(l,{loading:false,response:null});},[l]),U=ee.useMemo(()=>({...y,loading:f,refresh:c,abort:g,clear:K,response:y,isCancel:R,clone:(b,m)=>ut(t,b,{storeName:`${a}-clone`,...m})}),[y,f,c,g,K,R,t]);return ee.useEffect(()=>(ve(l,U),()=>{ke(l);}),[U,l]),[y?.data,U]}async function Vr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ft=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ft||{}),dt=(c=>(c.number="number",c.currency="currency",c.percent="percent",c.date="date",c.dateTime="dateTime",c.month="month",c.year="year",c.time="time",c.timestamp="timestamp",c.string="string",c.textarea="textarea",c.code="code",c.password="password",c.boolean="boolean",c.toggle="toggle",c.email="email",c.phone="phone",c.url="url",c.json="json",c.file="file",c.image="image",c.array="array",c.object="object",c.enum="enum",c.user="user",c.department="department",c.status="status",c))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ee(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?gt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?mt(t,n):r==="string"?yt(t,n):t?.toString()}catch{return}}};function mt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function yt(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=De(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}Ee(10,{thouSep:",",decSep:".",decDigits:2});function Ee(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(e??"").trim().trim();if(ae(R,r))return R}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),R=f.indexOf(".");R!==-1&&(s=f.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function gt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Qr(e,{interval:t,lead:r}){let n=ee.useRef(null);ee.useEffect(()=>{n.current=e;},[e]),ee.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function rn(e,t,r){let[n,o]=ee.useState(false),a=(p,f)=>typeof e=="string"&&p===e||typeof e=="number"&&f===e,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:f,keyCode:R}=p,y=p.ctrlKey,x=p.altKey,O=p.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(f,R)&&(t==="ctrl"&&y||t==="alt"&&x||t==="shift"&&O)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let h=t.every(E=>E==="ctrl"?y:E==="alt"?x:E==="shift"?O:false);a(f,R)&&h&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(f,R)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:f})=>{a(p,f)&&o(false);};return ee.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:f,encryptResponse:R,passphrase:y})=>{let{encrypt:x,decrypt:O,passphrase:h}=Q(),E=(T,c,d,C)=>{let D=C?.code==="ERR_CANCELED",w=T?.status===401,g=T?.data;if((typeof d?.encryptResponse=="boolean"?d?.encryptResponse:R)&&g){let u=d?.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?h:d.passphrase:y;try{g=O(g,u);}catch{try{g=O(g,h);}catch{}}}let b={...n({...T,data:g,isCancel:D,isUnauthorization:w},C),isCancel:D,isUnauthorization:w,httpCode:T?.status},m=typeof d?.disabledToastWhenCancel=="boolean"?d?.disabledToastWhenCancel:l,A=s?s(b,d):!w;if((d?.infoSuccess&&b.status||d?.infoError&&!b.status)&&i&&(!D||!m)&&i(b),!A&&(!D||!d?.disabledHandleUnauthorized)){let u=d?.onUnauthorized||a;u&&u(b);}if(typeof c=="function")c(b);else return b},F=(T,c=()=>{})=>Tt__default.default.create({baseURL:`${e}`,withCredentials:typeof T.withCredentials=="boolean"?T.withCredentials:p})(T).then(c).catch(C=>c(C.response,C)),L=(T,c,d,C,D)=>{let g={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token&&(typeof g.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):g.token&&(K.Authorization=`Bearer ${g.token}`)),r&&(d=r(d)),(typeof g?.encryptRequest=="boolean"?g?.encryptRequest:f)&&d){let b=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;d=x(d,b);}return F({url:c,method:T,data:d,headers:K,responseType:g.responseType,signal:g.signal,withCredentials:g.withCredentials,onUploadProgress:b=>{g?.onUploadProgress&&g?.onUploadProgress(b);}},(b,m)=>E(b,C,g,m))};return {client:F,post:(T,c,d,C)=>L("POST",`${T}`,c,d,C),put:(T,c,d,C)=>L("PUT",`${T}`,c,d,C),patch:(T,c,d,C)=>L("PATCH",`${T}`,c,d,C),delete:(T,c,d)=>L("DELETE",`${T}`,null,c,d),get:(T,c,d)=>L("GET",`${T}`,null,c,d),upload:(T,c,d,C)=>{let D=new FormData;return Object.keys(c).forEach(w=>D.append(w,c[w])),L("POST",`${T}`,D,d,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(T,c,d,C,D)=>{try{let g={...{token:!0,responseType:"json",infoError:!0},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token){let k=typeof g.token=="boolean"?t:g.token;k&&(K.Authorization=`Bearer ${k}`);}let U=d;if(r&&(U=r(U)),(typeof g.encryptRequest=="boolean"?g.encryptRequest:f)&&U){let k=g.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?h:g.passphrase:y;U=x(U,k);}let m=await fetch(`${e}${c}`,{method:T,headers:K,credentials:g.withCredentials?"include":"same-origin",signal:g.signal,body:JSON.stringify(U)}),A=m?.status,u=A===401;if(!m.ok){let k=m?.statusText||"Error";try{let X=m.headers.get("content-type")||"",V=await m.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof D?.encryptResponse=="boolean"?D?.encryptResponse:R)&&d){let Fe=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;try{d=O(se,Fe);}catch{try{d=O(se,h);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof D?.disabledToastWhenCancel=="boolean"?D?.disabledToastWhenCancel:l,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};D?.infoError&&i&&!oe&&i(W),C(W);return}let S=m.body.getReader(),P=new TextDecoder("utf-8"),v="",z=!1;for(;!z;){let{done:k,value:oe}=await S.read();z=k,v+=P.decode(oe,{stream:!0});let W=v.split(`
|
|
1
|
+
'use strict';var ee=require('react'),M=require('dayjs'),Le=require('dayjs/plugin/utc'),Be=require('dayjs/plugin/timezone'),He=require('dayjs/plugin/duration'),je=require('dayjs/plugin/advancedFormat'),Ve=require('dayjs/plugin/localizedFormat'),_e=require('dayjs/plugin/relativeTime'),ze=require('dayjs/plugin/isSameOrBefore'),We=require('dayjs/plugin/isSameOrAfter'),Ye=require('dayjs/plugin/weekOfYear'),Je=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Pe=require('crypto-js/aes'),Oe=require('crypto-js/pbkdf2'),st=require('crypto-js/enc-utf8'),Z=require('crypto-js/enc-base64'),Se=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),Tt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ee__default=/*#__PURE__*/_interopDefault(ee);var M__default=/*#__PURE__*/_interopDefault(M);var Le__default=/*#__PURE__*/_interopDefault(Le);var Be__default=/*#__PURE__*/_interopDefault(Be);var He__default=/*#__PURE__*/_interopDefault(He);var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var _e__default=/*#__PURE__*/_interopDefault(_e);var ze__default=/*#__PURE__*/_interopDefault(ze);var We__default=/*#__PURE__*/_interopDefault(We);var Ye__default=/*#__PURE__*/_interopDefault(Ye);var Je__default=/*#__PURE__*/_interopDefault(Je);var Pe__default=/*#__PURE__*/_interopDefault(Pe);var Oe__default=/*#__PURE__*/_interopDefault(Oe);var st__default=/*#__PURE__*/_interopDefault(st);var Z__default=/*#__PURE__*/_interopDefault(Z);var Se__default=/*#__PURE__*/_interopDefault(Se);var Tt__default=/*#__PURE__*/_interopDefault(Tt);M__default.default.extend(Le__default.default);M__default.default.extend(Be__default.default);M__default.default.extend(He__default.default);M__default.default.extend(je__default.default);M__default.default.extend(Ve__default.default);M__default.default.extend(_e__default.default);M__default.default.extend(ze__default.default);M__default.default.extend(We__default.default);M__default.default.extend(Ye__default.default);M__default.default.extend(Je__default.default);var q=M__default.default;function Zt(){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 Qt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var er=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function tr(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 $(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 he={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=he.snackCase(he.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function rr(e,t){return typeof e=="function"?e(t):e}var N=(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},nr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=N(r,t)?N(r,t):"",a=N(n,t)?N(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=N(r,t)?N(r,t):"",a=N(n,t)?N(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},or=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?N(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function sr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ge(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 Te(e,t){return Ge([t??"undefined",e??"undefined"])}function De(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function ar(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var xe=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function ae(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 Xe(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&&ae(n,r))return true}return false}function Ce(e="",t=false,r="."){if(!Xe(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Ze=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 ir(e){let t={};for(let r in e)Ze.has(r)&&(t[r]=e[r]);return t}function lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function cr(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 pr(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 ur(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 fr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let f=typeof t=="function"?t(l,c):l,R=typeof r=="function"?r(l,c):l;return {label:f,value:R,index:c,rowData:l}}else {let f=typeof t=="function"?t(l,c):N(l,t,""),R=typeof r=="function"?r(l,c):N(l,r,"");return {label:f,value:typeof R=="boolean"?R:R||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,f=i.map(g=>String(typeof c=="object"?N(c,g,"")??"":"")).join(o),R=s.get(f)||[];R.push(l),s.set(f,R);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function Qe(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(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Qe(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function be(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=be(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=be(e[t]));return e}var Ae=ee.createContext(void 0);function I(){let e=ee.useContext(Ae);return e||{}}var nt=({children:e,value:t})=>{let r={...t};return ee.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(Ae.Provider,{value:r,children:e})};function ie(e,t){let r=Se__default.default.random(16),n=Se__default.default.random(16),o=Oe__default.default(t,r,{keySize:256/32,iterations:1e3}),a=Pe__default.default.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z__default.default),iv:n.toString(Z__default.default),encrypted:a}}function le(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Oe__default.default(t,Z__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Pe__default.default.decrypt(o,a,{iv:Z__default.default.parse(n)}).toString(st__default.default);return JSON.parse(s)}function we(e,t){return JSON.stringify(ie(e,t))}function qe(e,t){return le(JSON.parse(e),t)}function Q(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return ie(t,r||e)},decrypt(t,r){return le(t,r||e)},encryptString(t,r){return we(t,r||e)},decryptString(t,r){return qe(t,r||e)}}}var Ue=()=>{let{encrypt:e,decrypt:t}=Q(),r=ee.useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[e]),n=ee.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,l]=ee.useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return ee.useEffect(()=>{let c=f=>{if(f.key===i)if(f.newValue)try{l(t(JSON.parse(f.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=ee.useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function ct(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},J=zustand.create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??Y,a={...o,...n};ct(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var pe=new Map,ve=(e,t)=>{pe.set(e,t);},ke=e=>{pe.delete(e);},Ne=e=>pe.get(e);function ut(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[f,R,g,x]=J(shallow.useShallow(b=>{let m=b.states[l]??Y;return [m.loading,m.isCancel,m.response,b.updateState]})),{storageKey:O,cache:h,clearPreviousData:E,refetchOnWindowFocus:F}=I(),L=Ue(),_=ee.useRef(void 0),B=ee.useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:T}=ee.useMemo(()=>{let b=O?L.get(O):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof h?.enabled=="boolean"&&(u=h.enabled);let S=false;typeof h?.persistence=="boolean"&&(S=h?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(h?.timeout)&&(typeof h?.timeout=="number"?(P=h.timeout,v="s"):typeof h?.timeout=="object"&&(P=h?.timeout.value,v=h?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?u=s.cache.enabled:u=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,v="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,v=s.cache.timeout.unit)):u=s.cache),{cacheName:m,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,h,a]);ee.useEffect(()=>{let b=JSON.stringify($(_.current)?_.current:""),m=JSON.stringify($(i)?i:""),A=_.current===void 0;(b!==m||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(l,{response:null}),p(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),ee.useEffect(()=>{let b=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),B.current?.abort();}},[ne,j,H,l,B]);let p=ee.useCallback(async b=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),T&&!b&&!R){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(H))?.json();if(S){let{data:P,expired:v}=S;if(q().isAfter(v))await A.delete(H);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,m)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,m),s?.onAfterResponse?.(P,m),x(l,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,x(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let u=o?await t(void 0,{...s,signal:A.signal}):await t(m,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,c==="append"&&$(g.__rawData)&&$(u?.data)){if(Array.isArray(g.__rawData)&&Array.isArray(u?.data)){let S=[...g?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof g.__rawData=="object"&&typeof u.data=="object"){let S={...g.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,m)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,m),u.status||s?.onError?.(u,m),s?.onAfterResponse?.(u,m),x(l,{loading:false,response:u,isCancel:false}),T&&u.status){let S=q().add(te,re).toISOString(),P={data:u,expired:S},v=await caches.open(j),z=new Response(JSON.stringify(P));await v.put(H,z);}}},[i,t,s,R,j,H,te,re,T,g]);ee.useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{p();},q.duration(b,m).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,p]);let d=ee.useRef(null),{enabledRefetch:C,timeoutRefetch:D,timeoutUnitRefetch:w}=ee.useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof m=="number"?m:m?.value??60*5,u=typeof m=="object"?m.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);ee.useEffect(()=>{if(!C||s?.hold)return;let b=q.duration(D,w).asMilliseconds(),m=()=>{let u=Date.now(),S=d.current;S!==null&&u-S>=b&&p(),d.current=null;},A=()=>{d.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",A);}},[C,D,w,p,s?.hold]);let y=ee.useCallback(()=>{B.current?.abort(),B.current=null,x(l,{loading:false,isCancel:true});},[l,B]),K=ee.useCallback(()=>{x(l,{loading:false,response:null});},[l]),U=ee.useMemo(()=>({...g,loading:f,refresh:p,abort:y,clear:K,response:g,isCancel:R,clone:(b,m)=>ut(t,b,{storeName:`${a}-clone`,...m})}),[g,f,p,y,K,R,t]);return ee.useEffect(()=>(ve(l,U),()=>{ke(l);}),[U,l]),[g?.data,U]}async function Vr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ft=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ft||{}),dt=(p=>(p.number="number",p.currency="currency",p.percent="percent",p.date="date",p.dateTime="dateTime",p.month="month",p.year="year",p.time="time",p.timestamp="timestamp",p.string="string",p.textarea="textarea",p.code="code",p.password="password",p.boolean="boolean",p.toggle="toggle",p.email="email",p.phone="phone",p.url="url",p.json="json",p.file="file",p.image="image",p.array="array",p.object="object",p.enum="enum",p.user="user",p.department="department",p.status="status",p))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ee(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?gt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?mt(t,n):r==="string"?yt(t,n):t?.toString()}catch{return}}};function mt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function yt(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=De(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}Ee(10,{thouSep:",",decSep:".",decDigits:2});function Ee(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(e??"").trim().trim();if(ae(R,r))return R}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),R=f.indexOf(".");R!==-1&&(s=f.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function gt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Qr(e,{interval:t,lead:r}){let n=ee.useRef(null);ee.useEffect(()=>{n.current=e;},[e]),ee.useEffect(()=>{let o=()=>n.current();if(r&&o(),t!==null){let a=setInterval(o,t);return ()=>clearInterval(a)}},[t]);}function rn(e,t,r){let[n,o]=ee.useState(false),a=(c,f)=>typeof e=="string"&&c===e||typeof e=="number"&&f===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:f,keyCode:R}=c,g=c.ctrlKey,x=c.altKey,O=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(f,R)&&(t==="ctrl"&&g||t==="alt"&&x||t==="shift"&&O)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let h=t.every(E=>E==="ctrl"?g:E==="alt"?x:E==="shift"?O:false);a(f,R)&&h&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(f,R)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:f})=>{a(c,f)&&o(false);};return ee.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:f,encryptResponse:R,passphrase:g})=>{let{encrypt:x,decrypt:O,passphrase:h}=Q(),E=(T,p,d,C)=>{let D=C?.code==="ERR_CANCELED",w=T?.status===401,y=T?.data;if((typeof d?.encryptResponse=="boolean"?d?.encryptResponse:R)&&y){let u=d?.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?h:d.passphrase:g;try{y=O(y,u);}catch{try{y=O(y,h);}catch{}}}let b={...n({...T,data:y,isCancel:D,isUnauthorization:w},C),isCancel:D,isUnauthorization:w,httpCode:T?.status},m=typeof d?.disabledToastWhenCancel=="boolean"?d?.disabledToastWhenCancel:l,A=s?s(b,d):!w;if((d?.infoSuccess&&b.status||d?.infoError&&!b.status)&&i&&(!D||!m)&&i(b),!A&&(!D||!d?.disabledHandleUnauthorized)){let u=d?.onUnauthorized||a;u&&u(b);}if(typeof p=="function")p(b);else return b},F=(T,p=()=>{})=>Tt__default.default.create({baseURL:`${e}`,withCredentials:typeof T.withCredentials=="boolean"?T.withCredentials:c})(T).then(p).catch(C=>p(C.response,C)),L=(T,p,d,C,D)=>{let y={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...D},K={"Content-Type":"application/json",...o,...y.headers};if(y.token&&(typeof y.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):y.token&&(K.Authorization=`Bearer ${y.token}`)),r&&(d=r(d)),(typeof y?.encryptRequest=="boolean"?y?.encryptRequest:f)&&d){let b=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:g;d=x(d,b);}return F({url:p,method:T,data:d,headers:K,responseType:y.responseType,signal:y.signal,withCredentials:y.withCredentials,onUploadProgress:b=>{y?.onUploadProgress&&y?.onUploadProgress(b);}},(b,m)=>E(b,C,y,m))};return {client:F,post:(T,p,d,C)=>L("POST",`${T}`,p,d,C),put:(T,p,d,C)=>L("PUT",`${T}`,p,d,C),patch:(T,p,d,C)=>L("PATCH",`${T}`,p,d,C),delete:(T,p,d)=>L("DELETE",`${T}`,null,p,d),get:(T,p,d)=>L("GET",`${T}`,null,p,d),upload:(T,p,d,C)=>{let D=new FormData;return Object.keys(p).forEach(w=>D.append(w,p[w])),L("POST",`${T}`,D,d,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(T,p,d,C,D)=>{try{let y={...{token:!0,responseType:"json",infoError:!0},...D},K={"Content-Type":"application/json",...o,...y.headers};if(y.token){let k=typeof y.token=="boolean"?t:y.token;k&&(K.Authorization=`Bearer ${k}`);}let U=d;if(r&&(U=r(U)),(typeof y.encryptRequest=="boolean"?y.encryptRequest:f)&&U){let k=y.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?h:y.passphrase:g;U=x(U,k);}let m=await fetch(`${e}${p}`,{method:T,headers:K,credentials:y.withCredentials?"include":"same-origin",signal:y.signal,body:JSON.stringify(U)}),A=m?.status,u=A===401;if(!m.ok){let k=m?.statusText||"Error";try{let X=m.headers.get("content-type")||"",V=await m.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof D?.encryptResponse=="boolean"?D?.encryptResponse:R)&&d){let Fe=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:g;try{d=O(se,Fe);}catch{try{d=O(se,h);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof D?.disabledToastWhenCancel=="boolean"?D?.disabledToastWhenCancel:l,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};D?.infoError&&i&&!oe&&i(W),C(W);return}let S=m.body.getReader(),P=new TextDecoder("utf-8"),v="",z=!1;for(;!z;){let{done:k,value:oe}=await S.read();z=k,v+=P.decode(oe,{stream:!0});let W=v.split(`
|
|
2
2
|
|
|
3
|
-
`);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=xe(X);C({status:!0,data:V,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0});}catch(w){let
|
|
3
|
+
`);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=xe(X);C({status:!0,data:V,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0});}catch(w){let y=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:y,isUnauthorization:false,httpCode:400,isDone:true});}}}};function mn(e,t){let[r,n]=ee.useState(false),[o,a]=ee.useState(),[i,s]=ee.useState(0),l=ee.useRef(null);return ee.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async g=>{l.current?.abort();let x=new AbortController;l.current=x,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let O={...t,signal:x.signal,onUploadProgress:E=>{let F=Math.round(E.loaded*100/(E.total||1));s(F);}},h=e.__isVoid?await e(void 0,O):await e(g,void 0,O);t?.logging&&console.log("After response",h),a(h),n(false),s(0),t?.afterResponse&&h?.data&&(h.data=t?.afterResponse(h.data,g)),h.status&&t?.onSuccess&&t?.onSuccess(h,g),!h.status&&t?.onError&&t?.onError(h,g),t?.onAfterResponse?.(h,g);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Ct(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 At=typeof window<"u"?window:null;function Rn(e={}){let{getTrigger:t=Ct,target:r=At,disableHysteresis:n=false,threshold:o=100}=e,a=ee__default.default.useRef(0),[i,s]=ee__default.default.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return ee__default.default.useEffect(()=>{let l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),i}function Tn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=ee.useState(e);return ee.useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var On=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ne(n)||{},c=O=>{let h=O.states[n]??Y;return {loading:h.loading,isCancel:h.isCancel,response:h.response}},{loading:f,isCancel:R,response:g}=o?J(shallow.useShallow(c)):J(c),x=ee.useMemo(()=>[g?.data,{...g,loading:f,isCancel:R,refresh:a,abort:i,clear:s,clone:l}],[g,f,R,a,i,s,l]);return t?.selector?t.selector(x):x};var Un=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},$e=(e,t)=>{let r=false;return ee__default.default.Children.forEach(e,n=>{if(ee__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&$e(o.props.children,t))&&(r=true);}}),r},vn=(e,t)=>{let r={others:[]},n=o=>{ee__default.default.Children.forEach(o,a=>{if(ee__default.default.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;t.includes(i)?r[i]=a:l&&$e(l,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function Mn(){let{format:e}=I();return (t="",r=false)=>Ce(t,r,e.number.decSep)}function In(e,t){let r=ee.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return ee.useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Re={};function Hn(e,t){let[r,n]=ee.useState(false),[o,a]=ee.useState(),[i,s]=ee.useState();return ee.useEffect(()=>{if(!e)return;if(Re[e]){s(()=>Re[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Re[e]=c.default,s(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function _n(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(l=>l());}function i(s){let l=ee.useRef(s?s(t):t);return ee.useSyncExternalStore(o,()=>{let c=s?s(t):t,f=l.current;return Object.is(f,c)||(l.current=c),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Et(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]=Et(o,[...t,n]):r[n]=o;}return r}function Jn(e,t){let[r,n]=ee.useState(false),[o,a]=ee.useState([]),i=ee.useRef([]),s=ee.useRef(null);ee.useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async R=>{s.current?.abort();let g=new AbortController;s.current=g,n(true),a([]),i.current=[],e(R,x=>{x.isDone||(i.current.push(x),a([...i.current])),(x.isDone||!x.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),x.status?t?.onStream&&t?.onStream(x):t?.onError&&t?.onError(x);},{signal:g.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},f=()=>{n(false),a([]),i.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:c,reset:f,response:o}]}exports.BgsCoreProvider=nt;exports.DataTypeEnum=dt;exports.HttpMethod=ft;exports.capitalizeWords=De;exports.createApiHelper=un;exports.createElement=Un;exports.createStore=_n;exports.debounce=ar;exports.decrypt=le;exports.decryptString=qe;exports.defaultState=Y;exports.diffJson=Qt;exports.encrypt=ie;exports.encryptString=we;exports.filterDOMPropsLite=ir;exports.generateCacheKey=Te;exports.generateUUID=Zt;exports.getApiActions=Ne;exports.getDateRangeLabelFromSorted=pr;exports.getFieldValue=N;exports.getInitials=lr;exports.getMinMaxDate=cr;exports.getTotalMinutes=ur;exports.isArray=tr;exports.isDirtyRaw=ae;exports.isNotEmpty=$;exports.isValidNumber=Xe;exports.jsonCopy=sr;exports.labelFormatter=he;exports.mappingData=fr;exports.mappingUndefinedtoNull=er;exports.moment=q;exports.objectToQueryString=Qe;exports.parseSSEChunk=xe;exports.parseStringToNumber=Ce;exports.registerApi=ve;exports.renderChildren=rr;exports.replaceNullStrings=be;exports.safeUpdate=ct;exports.sorting=nr;exports.splitElement=vn;exports.stableStringify=Ge;exports.summary=or;exports.unregisterApi=ke;exports.useApiLoad=ut;exports.useApiLoadStore=J;exports.useApiSend=mn;exports.useApiStore=On;exports.useApiStream=Jn;exports.useBgsCore=I;exports.useCrypto=Q;exports.useDebounce=Tn;exports.useDelay=Vr;exports.useDynamicSvgImport=Hn;exports.useElementBounding=In;exports.useFormatted=Gr;exports.useInterval=Qr;exports.useKeyPress=rn;exports.useParseStringToNumber=Mn;exports.useScrollTrigger=Rn;exports.useStorage=Ue;exports.wrapApi=Et;
|
package/dist/index.d.cts
CHANGED
|
@@ -658,7 +658,7 @@ declare function getInitials(fullName?: string, max?: number): string;
|
|
|
658
658
|
declare function getMinMaxDate(dates?: string[]): [string, string];
|
|
659
659
|
declare function getDateRangeLabelFromSorted(from: string, to: string): string;
|
|
660
660
|
declare function getTotalMinutes(from?: string, to?: string): string;
|
|
661
|
-
declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T> | NestedKeyOf<T>[], groupSeparator?: string) => MappingDataReturn<T>[];
|
|
661
|
+
declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T> | NestedKeyOf<T>[], groupSeparator?: string) => [MappingDataReturn<T>[], DataSource<T>[]];
|
|
662
662
|
declare function objectToQueryString(obj: Record<string, any>, parentKey?: string): string;
|
|
663
663
|
declare function replaceNullStrings(input: any): any;
|
|
664
664
|
|
package/dist/index.d.ts
CHANGED
|
@@ -658,7 +658,7 @@ declare function getInitials(fullName?: string, max?: number): string;
|
|
|
658
658
|
declare function getMinMaxDate(dates?: string[]): [string, string];
|
|
659
659
|
declare function getDateRangeLabelFromSorted(from: string, to: string): string;
|
|
660
660
|
declare function getTotalMinutes(from?: string, to?: string): string;
|
|
661
|
-
declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T> | NestedKeyOf<T>[], groupSeparator?: string) => MappingDataReturn<T>[];
|
|
661
|
+
declare const mappingData: <T = unknown>(dataSource?: T[], displayExpr?: NestedKeyOf<T> | "label" | ((data: T, index: number) => string), valueExpr?: NestedKeyOf<T> | "value" | ((data: T, index: number) => string), groupBy?: NestedKeyOf<T> | NestedKeyOf<T>[], groupSeparator?: string) => [MappingDataReturn<T>[], DataSource<T>[]];
|
|
662
662
|
declare function objectToQueryString(obj: Record<string, any>, parentKey?: string): string;
|
|
663
663
|
declare function replaceNullStrings(input: any): any;
|
|
664
664
|
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import ee,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import Le from'dayjs/plugin/utc';import Be from'dayjs/plugin/timezone';import He from'dayjs/plugin/duration';import je from'dayjs/plugin/advancedFormat';import Ve from'dayjs/plugin/localizedFormat';import _e from'dayjs/plugin/relativeTime';import ze from'dayjs/plugin/isSameOrBefore';import We from'dayjs/plugin/isSameOrAfter';import Ye from'dayjs/plugin/weekOfYear';import Je from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import Pe from'crypto-js/aes';import Oe from'crypto-js/pbkdf2';import st from'crypto-js/enc-utf8';import Z from'crypto-js/enc-base64';import Se from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Tt from'axios';M.extend(Le);M.extend(Be);M.extend(He);M.extend(je);M.extend(Ve);M.extend(_e);M.extend(ze);M.extend(We);M.extend(Ye);M.extend(Je);var q=M;function Zt(){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 Qt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var er=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function tr(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 $(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 he={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=he.snackCase(he.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function rr(e,t){return typeof e=="function"?e(t):e}var N=(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},nr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=N(r,t)?N(r,t):"",a=N(n,t)?N(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=N(r,t)?N(r,t):"",a=N(n,t)?N(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},or=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?N(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function sr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ge(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 Te(e,t){return Ge([t??"undefined",e??"undefined"])}function De(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function ar(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var xe=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function ae(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 Xe(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&&ae(n,r))return true}return false}function Ce(e="",t=false,r="."){if(!Xe(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Ze=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 ir(e){let t={};for(let r in e)Ze.has(r)&&(t[r]=e[r]);return t}function lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function pr(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 cr(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 ur(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 fr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [];let a=e.map((l,p)=>{if(typeof l!="object"){let f=typeof t=="function"?t(l,p):l,R=typeof r=="function"?r(l,p):l;return {label:f,value:R,index:p,rowData:l}}else {let f=typeof t=="function"?t(l,p):N(l,t,""),R=typeof r=="function"?r(l,p):N(l,r,"");return {label:f,value:typeof R=="boolean"?R:R||"",index:p,rowData:l}}});if(!n)return [{items:a}];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let p=l.rowData,f=i.map(y=>typeof p=="object"?N(p,y,""):"").map(y=>String(y??"")).join(o),R=s.get(f)||[];R.push(l),s.set(f,R);}return Array.from(s.entries()).map(([l,p])=>({group:l,items:p}))};function Qe(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(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Qe(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function be(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=be(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=be(e[t]));return e}var Ae=createContext(void 0);function I(){let e=useContext(Ae);return e||{}}var nt=({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(Ae.Provider,{value:r,children:e})};function ie(e,t){let r=Se.random(16),n=Se.random(16),o=Oe(t,r,{keySize:256/32,iterations:1e3}),a=Pe.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z),iv:n.toString(Z),encrypted:a}}function le(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Oe(t,Z.parse(r),{keySize:256/32,iterations:1e3}),s=Pe.decrypt(o,a,{iv:Z.parse(n)}).toString(st);return JSON.parse(s)}function we(e,t){return JSON.stringify(ie(e,t))}function qe(e,t){return le(JSON.parse(e),t)}function Q(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return ie(t,r||e)},decrypt(t,r){return le(t,r||e)},encryptString(t,r){return we(t,r||e)},decryptString(t,r){return qe(t,r||e)}}}var Ue=()=>{let{encrypt:e,decrypt:t}=Q(),r=useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[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,l]=useState(()=>{try{let p=localStorage.getItem(i);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return useEffect(()=>{let p=f=>{if(f.key===i)if(f.newValue)try{l(t(JSON.parse(f.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else l(null);};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function pt(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},J=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??Y,a={...o,...n};pt(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var ce=new Map,ve=(e,t)=>{ce.set(e,t);},ke=e=>{ce.delete(e);},Ne=e=>ce.get(e);function ut(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,p=s?.mergeStrategy??"replace",[f,R,y,x]=J(useShallow(b=>{let m=b.states[l]??Y;return [m.loading,m.isCancel,m.response,b.updateState]})),{storageKey:O,cache:h,clearPreviousData:E,refetchOnWindowFocus:F}=I(),L=Ue(),_=useRef(void 0),B=useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:T}=useMemo(()=>{let b=O?L.get(O):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof h?.enabled=="boolean"&&(u=h.enabled);let S=false;typeof h?.persistence=="boolean"&&(S=h?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(h?.timeout)&&(typeof h?.timeout=="number"?(P=h.timeout,v="s"):typeof h?.timeout=="object"&&(P=h?.timeout.value,v=h?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?u=s.cache.enabled:u=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,v="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,v=s.cache.timeout.unit)):u=s.cache),{cacheName:m,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,h,a]);useEffect(()=>{let b=JSON.stringify($(_.current)?_.current:""),m=JSON.stringify($(i)?i:""),A=_.current===void 0;(b!==m||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(l,{response:null}),c(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),useEffect(()=>{let b=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),B.current?.abort();}},[ne,j,H,l,B]);let c=useCallback(async b=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),T&&!b&&!R){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(H))?.json();if(S){let{data:P,expired:v}=S;if(q().isAfter(v))await A.delete(H);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,m)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,m),s?.onAfterResponse?.(P,m),x(l,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,x(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let u=o?await t(void 0,{...s,signal:A.signal}):await t(m,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,p==="append"&&$(y.__rawData)&&$(u?.data)){if(Array.isArray(y.__rawData)&&Array.isArray(u?.data)){let S=[...y?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof y.__rawData=="object"&&typeof u.data=="object"){let S={...y.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,m)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,m),u.status||s?.onError?.(u,m),s?.onAfterResponse?.(u,m),x(l,{loading:false,response:u,isCancel:false}),T&&u.status){let S=q().add(te,re).toISOString(),P={data:u,expired:S},v=await caches.open(j),z=new Response(JSON.stringify(P));await v.put(H,z);}}},[i,t,s,R,j,H,te,re,T,y]);useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{c();},q.duration(b,m).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,c]);let d=useRef(null),{enabledRefetch:C,timeoutRefetch:D,timeoutUnitRefetch:w}=useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof m=="number"?m:m?.value??60*5,u=typeof m=="object"?m.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!C||s?.hold)return;let b=q.duration(D,w).asMilliseconds(),m=()=>{let u=Date.now(),S=d.current;S!==null&&u-S>=b&&c(),d.current=null;},A=()=>{d.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",A);}},[C,D,w,c,s?.hold]);let g=useCallback(()=>{B.current?.abort(),B.current=null,x(l,{loading:false,isCancel:true});},[l,B]),K=useCallback(()=>{x(l,{loading:false,response:null});},[l]),U=useMemo(()=>({...y,loading:f,refresh:c,abort:g,clear:K,response:y,isCancel:R,clone:(b,m)=>ut(t,b,{storeName:`${a}-clone`,...m})}),[y,f,c,g,K,R,t]);return useEffect(()=>(ve(l,U),()=>{ke(l);}),[U,l]),[y?.data,U]}async function Vr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ft=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ft||{}),dt=(c=>(c.number="number",c.currency="currency",c.percent="percent",c.date="date",c.dateTime="dateTime",c.month="month",c.year="year",c.time="time",c.timestamp="timestamp",c.string="string",c.textarea="textarea",c.code="code",c.password="password",c.boolean="boolean",c.toggle="toggle",c.email="email",c.phone="phone",c.url="url",c.json="json",c.file="file",c.image="image",c.array="array",c.object="object",c.enum="enum",c.user="user",c.department="department",c.status="status",c))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ee(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?gt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?mt(t,n):r==="string"?yt(t,n):t?.toString()}catch{return}}};function mt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function yt(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=De(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}Ee(10,{thouSep:",",decSep:".",decDigits:2});function Ee(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(e??"").trim().trim();if(ae(R,r))return R}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),R=f.indexOf(".");R!==-1&&(s=f.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function gt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Qr(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 rn(e,t,r){let[n,o]=useState(false),a=(p,f)=>typeof e=="string"&&p===e||typeof e=="number"&&f===e,i=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),s=p=>{let{key:f,keyCode:R}=p,y=p.ctrlKey,x=p.altKey,O=p.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(f,R)&&(t==="ctrl"&&y||t==="alt"&&x||t==="shift"&&O)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));else {let h=t.every(E=>E==="ctrl"?y:E==="alt"?x:E==="shift"?O:false);a(f,R)&&h&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));}else a(f,R)&&(p.preventDefault(),r&&p.stopPropagation(),o(!n));},l=({key:p,keyCode:f})=>{a(p,f)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:p,encryptRequest:f,encryptResponse:R,passphrase:y})=>{let{encrypt:x,decrypt:O,passphrase:h}=Q(),E=(T,c,d,C)=>{let D=C?.code==="ERR_CANCELED",w=T?.status===401,g=T?.data;if((typeof d?.encryptResponse=="boolean"?d?.encryptResponse:R)&&g){let u=d?.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?h:d.passphrase:y;try{g=O(g,u);}catch{try{g=O(g,h);}catch{}}}let b={...n({...T,data:g,isCancel:D,isUnauthorization:w},C),isCancel:D,isUnauthorization:w,httpCode:T?.status},m=typeof d?.disabledToastWhenCancel=="boolean"?d?.disabledToastWhenCancel:l,A=s?s(b,d):!w;if((d?.infoSuccess&&b.status||d?.infoError&&!b.status)&&i&&(!D||!m)&&i(b),!A&&(!D||!d?.disabledHandleUnauthorized)){let u=d?.onUnauthorized||a;u&&u(b);}if(typeof c=="function")c(b);else return b},F=(T,c=()=>{})=>Tt.create({baseURL:`${e}`,withCredentials:typeof T.withCredentials=="boolean"?T.withCredentials:p})(T).then(c).catch(C=>c(C.response,C)),L=(T,c,d,C,D)=>{let g={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token&&(typeof g.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):g.token&&(K.Authorization=`Bearer ${g.token}`)),r&&(d=r(d)),(typeof g?.encryptRequest=="boolean"?g?.encryptRequest:f)&&d){let b=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;d=x(d,b);}return F({url:c,method:T,data:d,headers:K,responseType:g.responseType,signal:g.signal,withCredentials:g.withCredentials,onUploadProgress:b=>{g?.onUploadProgress&&g?.onUploadProgress(b);}},(b,m)=>E(b,C,g,m))};return {client:F,post:(T,c,d,C)=>L("POST",`${T}`,c,d,C),put:(T,c,d,C)=>L("PUT",`${T}`,c,d,C),patch:(T,c,d,C)=>L("PATCH",`${T}`,c,d,C),delete:(T,c,d)=>L("DELETE",`${T}`,null,c,d),get:(T,c,d)=>L("GET",`${T}`,null,c,d),upload:(T,c,d,C)=>{let D=new FormData;return Object.keys(c).forEach(w=>D.append(w,c[w])),L("POST",`${T}`,D,d,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(T,c,d,C,D)=>{try{let g={...{token:!0,responseType:"json",infoError:!0},...D},K={"Content-Type":"application/json",...o,...g.headers};if(g.token){let k=typeof g.token=="boolean"?t:g.token;k&&(K.Authorization=`Bearer ${k}`);}let U=d;if(r&&(U=r(U)),(typeof g.encryptRequest=="boolean"?g.encryptRequest:f)&&U){let k=g.passphrase?typeof g.passphrase=="boolean"&&g.passphrase?h:g.passphrase:y;U=x(U,k);}let m=await fetch(`${e}${c}`,{method:T,headers:K,credentials:g.withCredentials?"include":"same-origin",signal:g.signal,body:JSON.stringify(U)}),A=m?.status,u=A===401;if(!m.ok){let k=m?.statusText||"Error";try{let X=m.headers.get("content-type")||"",V=await m.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof D?.encryptResponse=="boolean"?D?.encryptResponse:R)&&d){let Fe=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:y;try{d=O(se,Fe);}catch{try{d=O(se,h);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof D?.disabledToastWhenCancel=="boolean"?D?.disabledToastWhenCancel:l,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};D?.infoError&&i&&!oe&&i(W),C(W);return}let S=m.body.getReader(),P=new TextDecoder("utf-8"),v="",z=!1;for(;!z;){let{done:k,value:oe}=await S.read();z=k,v+=P.decode(oe,{stream:!0});let W=v.split(`
|
|
1
|
+
import ee,{createContext,useContext,useEffect,useCallback,useRef,useMemo,useState,useSyncExternalStore}from'react';import M from'dayjs';import Le from'dayjs/plugin/utc';import Be from'dayjs/plugin/timezone';import He from'dayjs/plugin/duration';import je from'dayjs/plugin/advancedFormat';import Ve from'dayjs/plugin/localizedFormat';import _e from'dayjs/plugin/relativeTime';import ze from'dayjs/plugin/isSameOrBefore';import We from'dayjs/plugin/isSameOrAfter';import Ye from'dayjs/plugin/weekOfYear';import Je from'dayjs/plugin/customParseFormat';import {jsx}from'react/jsx-runtime';import Pe from'crypto-js/aes';import Oe from'crypto-js/pbkdf2';import st from'crypto-js/enc-utf8';import Z from'crypto-js/enc-base64';import Se from'crypto-js/lib-typedarrays';import {create}from'zustand';import {useShallow}from'zustand/react/shallow';import Tt from'axios';M.extend(Le);M.extend(Be);M.extend(He);M.extend(je);M.extend(Ve);M.extend(_e);M.extend(ze);M.extend(We);M.extend(Ye);M.extend(Je);var q=M;function Zt(){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 Qt(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return false}}var er=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null);}),e);function tr(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 $(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 he={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=he.snackCase(he.camelCase(e)),t&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function rr(e,t){return typeof e=="function"?e(t):e}var N=(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},nr={desc:(e,t)=>(e||(e=[]),e.sort((r,n)=>{if(t){let o=N(r,t)?N(r,t):"",a=N(n,t)?N(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=N(r,t)?N(r,t):"",a=N(n,t)?N(n,t):"";return o>a?1:-1}else return r>n?1:-1}))},or=(e,t)=>{Array.isArray(e)||(e=[]);let r=[];return r=e.map(n=>Number(t?N(n,t)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function sr(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function Ge(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 Te(e,t){return Ge([t??"undefined",e??"undefined"])}function De(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}function ar(e,t=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{e(...o);},t*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var xe=e=>{let t=e.match(/^data:\s*(.*)/s);if(t)try{return JSON.parse(t[1])}catch{return null}return null};function ae(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 Xe(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&&ae(n,r))return true}return false}function Ce(e="",t=false,r="."){if(!Xe(e,!t,r))return null;let n=r==="."?e.trim():e.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var Ze=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 ir(e){let t={};for(let r in e)Ze.has(r)&&(t[r]=e[r]);return t}function lr(e,t=2){return e?e.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,t).join(""):""}function cr(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 pr(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 ur(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 fr=(e=[],t="label",r="value",n,o=" | ")=>{if(!Array.isArray(e))return [[],[]];let a=e.map((l,c)=>{if(typeof l!="object"){let f=typeof t=="function"?t(l,c):l,R=typeof r=="function"?r(l,c):l;return {label:f,value:R,index:c,rowData:l}}else {let f=typeof t=="function"?t(l,c):N(l,t,""),R=typeof r=="function"?r(l,c):N(l,r,"");return {label:f,value:typeof R=="boolean"?R:R||"",index:c,rowData:l}}});if(!n)return [[{items:a}],a];let i=Array.isArray(n)?n:[n],s=new Map;for(let l of a){let c=l.rowData,f=i.map(g=>String(typeof c=="object"?N(c,g,"")??"":"")).join(o),R=s.get(f)||[];R.push(l),s.set(f,R);}return [Array.from(s.entries()).map(([l,c])=>({group:l,items:c})),a]};function Qe(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(!$(o))continue;Array.isArray(o)?o.forEach(i=>{r.push(`${a}=${encodeURIComponent(i)}`);}):typeof o=="object"&&o!==null?r.push(Qe(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function be(e){if(e==="null")return null;if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=be(e[t]);else if(e&&typeof e=="object")for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=be(e[t]));return e}var Ae=createContext(void 0);function I(){let e=useContext(Ae);return e||{}}var nt=({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(Ae.Provider,{value:r,children:e})};function ie(e,t){let r=Se.random(16),n=Se.random(16),o=Oe(t,r,{keySize:256/32,iterations:1e3}),a=Pe.encrypt(JSON.stringify(e),o,{iv:n}).toString();return {salt:r.toString(Z),iv:n.toString(Z),encrypted:a}}function le(e,t){let{salt:r,iv:n,encrypted:o}=e,a=Oe(t,Z.parse(r),{keySize:256/32,iterations:1e3}),s=Pe.decrypt(o,a,{iv:Z.parse(n)}).toString(st);return JSON.parse(s)}function we(e,t){return JSON.stringify(ie(e,t))}function qe(e,t){return le(JSON.parse(e),t)}function Q(){let{passphrase:e}=I();return {passphrase:e,encrypt(t,r){return ie(t,r||e)},decrypt(t,r){return le(t,r||e)},encryptString(t,r){return we(t,r||e)},decryptString(t,r){return qe(t,r||e)}}}var Ue=()=>{let{encrypt:e,decrypt:t}=Q(),r=useCallback((i,s)=>{try{let l=e(s);localStorage.setItem(i,JSON.stringify(l));}catch(l){console.error("Failed to save to storage:",l);}},[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,l]=useState(()=>{try{let c=localStorage.getItem(i);return c?t(JSON.parse(c)):null}catch(c){return console.error("Failed to parse localStorage value",c),null}});return useEffect(()=>{let c=f=>{if(f.key===i)if(f.newValue)try{l(t(JSON.parse(f.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else l(null);};return window.addEventListener("storage",c),()=>window.removeEventListener("storage",c)},[i,t]),s},a=useCallback(i=>{i?localStorage.removeItem(i):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function ct(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},J=create((e,t)=>({states:{},updateState:(r,n)=>{let o=t().states[r]??Y,a={...o,...n};ct(o,a)||e(i=>({states:{...i.states,[r]:a}}));}}));var pe=new Map,ve=(e,t)=>{pe.set(e,t);},ke=e=>{pe.delete(e);},Ne=e=>pe.get(e);function ut(...e){let[t,r,n]=e,o=t.__isVoid,a=t.__path||t.name,i=o?void 0:r,s=o?r:n,l=s?.storeName||`${a}`,c=s?.mergeStrategy??"replace",[f,R,g,x]=J(useShallow(b=>{let m=b.states[l]??Y;return [m.loading,m.isCancel,m.response,b.updateState]})),{storageKey:O,cache:h,clearPreviousData:E,refetchOnWindowFocus:F}=I(),L=Ue(),_=useRef(void 0),B=useRef(null),{cacheName:j,cacheKey:H,timeout:te,timeoutUnit:re,persistence:ne,cacheEnabled:T}=useMemo(()=>{let b=O?L.get(O):void 0,m=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,A=Te({...i,session:b},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),u=false;typeof h?.enabled=="boolean"&&(u=h.enabled);let S=false;typeof h?.persistence=="boolean"&&(S=h?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(S=s?.cache?.persistence??false);let P=60*5,v="s";return $(h?.timeout)&&(typeof h?.timeout=="number"?(P=h.timeout,v="s"):typeof h?.timeout=="object"&&(P=h?.timeout.value,v=h?.timeout.unit)),$(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?u=s.cache.enabled:u=true,typeof s?.cache?.timeout=="number"?(P=s.cache.timeout,v="s"):typeof s?.cache?.timeout=="object"&&(P=s.cache.timeout.value,v=s.cache.timeout.unit)):u=s.cache),{cacheName:m,cacheKey:A,timeout:P,timeoutUnit:v,persistence:S,cacheEnabled:u}},[s?.cache,i,O,h,a]);useEffect(()=>{let b=JSON.stringify($(_.current)?_.current:""),m=JSON.stringify($(i)?i:""),A=_.current===void 0;(b!==m||A)&&!s?.hold&&((s?.clearPreviousData??E)&&x(l,{response:null}),p(),_.current=i),s?.onChange&&s?.onChange(i,U);},[i,s?.clearPreviousData,E,s?.hold,...s?.trigger||[]]),useEffect(()=>{let b=async()=>{!ne&&j&&H&&(await caches.open(j)).delete(H);};return window.addEventListener("beforeunload",b),()=>{window.removeEventListener("beforeunload",b),B.current?.abort();}},[ne,j,H,l,B]);let p=useCallback(async b=>{let m=i;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(m=s?.beforeRequest(i)),T&&!b&&!R){s?.onBeforeRequest&&s?.onBeforeRequest(i);let A=await caches.open(j),S=await(await A.match(H))?.json();if(S){let{data:P,expired:v}=S;if(q().isAfter(v))await A.delete(H);else {s?.afterResponse&&P?.data&&(P.data=s?.afterResponse(P.data,m)),s?.logging&&console.log("After request: Using Cache",P),P?.status&&s?.onSuccess?.(P,m),s?.onAfterResponse?.(P,m),x(l,{loading:false,response:P});return}}}if(typeof t=="function"){B.current?.abort();let A=new AbortController;B.current=A,x(l,{loading:true}),s?.logging&&console.log("Before request",i),s?.onBeforeRequest&&s?.onBeforeRequest(i);let u=o?await t(void 0,{...s,signal:A.signal}):await t(m,void 0,{...s,signal:A.signal});if(u.__rawData=u.data,c==="append"&&$(g.__rawData)&&$(u?.data)){if(Array.isArray(g.__rawData)&&Array.isArray(u?.data)){let S=[...g?.__rawData??[],...u.data??[]];u.data=S,u.__rawData=S;}else if(typeof g.__rawData=="object"&&typeof u.data=="object"){let S={...g.__rawData,...u.data};u.data=S,u.__rawData=S;}}if(s?.afterResponse&&u?.data&&(u.data=s?.afterResponse(u.data,m)),s?.logging&&console.log("After request",u),u.status&&s?.onSuccess?.(u,m),u.status||s?.onError?.(u,m),s?.onAfterResponse?.(u,m),x(l,{loading:false,response:u,isCancel:false}),T&&u.status){let S=q().add(te,re).toISOString(),P={data:u,expired:S},v=await caches.open(j),z=new Response(JSON.stringify(P));await v.put(H,z);}}},[i,t,s,R,j,H,te,re,T,g]);useEffect(()=>{if(s?.refreshInterval){let b=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,m=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,A=setInterval(()=>{p();},q.duration(b,m).asMilliseconds());return ()=>clearInterval(A)}return ()=>{}},[s?.refreshInterval,p]);let d=useRef(null),{enabledRefetch:C,timeoutRefetch:D,timeoutUnitRefetch:w}=useMemo(()=>{let b=s?.refetchOnWindowFocus?.enabled??F?.enabled??false,m=s?.refetchOnWindowFocus?.timeout??F?.timeout,A=typeof m=="number"?m:m?.value??60*5,u=typeof m=="object"?m.unit:"s";return {enabledRefetch:b,timeoutRefetch:A,timeoutUnitRefetch:u}},[s?.refetchOnWindowFocus,F]);useEffect(()=>{if(!C||s?.hold)return;let b=q.duration(D,w).asMilliseconds(),m=()=>{let u=Date.now(),S=d.current;S!==null&&u-S>=b&&p(),d.current=null;},A=()=>{d.current=Date.now();};return window.addEventListener("focus",m),window.addEventListener("blur",A),()=>{window.removeEventListener("focus",m),window.removeEventListener("blur",A);}},[C,D,w,p,s?.hold]);let y=useCallback(()=>{B.current?.abort(),B.current=null,x(l,{loading:false,isCancel:true});},[l,B]),K=useCallback(()=>{x(l,{loading:false,response:null});},[l]),U=useMemo(()=>({...g,loading:f,refresh:p,abort:y,clear:K,response:g,isCancel:R,clone:(b,m)=>ut(t,b,{storeName:`${a}-clone`,...m})}),[g,f,p,y,K,R,t]);return useEffect(()=>(ve(l,U),()=>{ke(l);}),[U,l]),[g?.data,U]}async function Vr(e,t=()=>{}){let r=e*1e3;return new Promise(n=>{setInterval(()=>{t();},1e3);setTimeout(async()=>{await t(),n(true);},r);})}var ft=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(ft||{}),dt=(p=>(p.number="number",p.currency="currency",p.percent="percent",p.date="date",p.dateTime="dateTime",p.month="month",p.year="year",p.time="time",p.timestamp="timestamp",p.string="string",p.textarea="textarea",p.code="code",p.password="password",p.boolean="boolean",p.toggle="toggle",p.email="email",p.phone="phone",p.url="url",p.json="json",p.file="file",p.image="image",p.array="array",p.object="object",p.enum="enum",p.user="user",p.department="department",p.status="status",p))(dt||{});var Gr=()=>{let{format:e}=I();return (t,r,n)=>{try{return r==="number"?Ee(t,{thouSep:e.number.thouSep,decDigits:e.number.decDigits,decSep:e.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?gt(t,{display:e[r]?.display,value:e[r]?.value,...n}):r==="boolean"?mt(t,n):r==="string"?yt(t,n):t?.toString()}catch{return}}};function mt(e,t){let r=typeof e=="string"?e==="true":!!e,n=t?.trueLabel??"Yes",o=t?.falseLabel??"No";return r?n:o}function yt(e,t){if(!$(e))return "";let r=String(e);switch(t?.textTransform){case "capitalize":r=De(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}Ee(10,{thouSep:",",decSep:".",decDigits:2});function Ee(e,{thouSep:t,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(e??"").trim().trim();if(ae(R,r))return R}if(e==null||isNaN(Number(e)))return "";let i=typeof e=="string"?parseFloat(e):e;if(o)if(typeof n=="number"){let f=Math.pow(10,n);i=Math[o](i*f)/f;}else i=Math[o](i);else if(typeof n=="number"){let f=Math.pow(10,n);i=Math.trunc(i*f)/f;}let s=0;if(n==="auto"){let f=i.toString(),R=f.indexOf(".");R!==-1&&(s=f.length-R-1);}let l={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return i.toLocaleString("en-US",l).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,t)}function gt(e,{display:t,value:r}){if(!$(e))return e;let n=q(e,r);return n.isValid()?n.format(t):e}function Qr(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 rn(e,t,r){let[n,o]=useState(false),a=(c,f)=>typeof e=="string"&&c===e||typeof e=="number"&&f===e,i=c=>c!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(c.tagName)||c.hasAttribute("contentEditable")),s=c=>{let{key:f,keyCode:R}=c,g=c.ctrlKey,x=c.altKey,O=c.shiftKey;if(!i(document.activeElement))if(t)if(typeof t=="string")a(f,R)&&(t==="ctrl"&&g||t==="alt"&&x||t==="shift"&&O)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));else {let h=t.every(E=>E==="ctrl"?g:E==="alt"?x:E==="shift"?O:false);a(f,R)&&h&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));}else a(f,R)&&(c.preventDefault(),r&&c.stopPropagation(),o(!n));},l=({key:c,keyCode:f})=>{a(c,f)&&o(false);};return useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",l),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",l);}),[]),n}var un=({url:e,token:t,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:i,handleAuthorization:s,disabledToastWhenCancel:l,withCredentials:c,encryptRequest:f,encryptResponse:R,passphrase:g})=>{let{encrypt:x,decrypt:O,passphrase:h}=Q(),E=(T,p,d,C)=>{let D=C?.code==="ERR_CANCELED",w=T?.status===401,y=T?.data;if((typeof d?.encryptResponse=="boolean"?d?.encryptResponse:R)&&y){let u=d?.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?h:d.passphrase:g;try{y=O(y,u);}catch{try{y=O(y,h);}catch{}}}let b={...n({...T,data:y,isCancel:D,isUnauthorization:w},C),isCancel:D,isUnauthorization:w,httpCode:T?.status},m=typeof d?.disabledToastWhenCancel=="boolean"?d?.disabledToastWhenCancel:l,A=s?s(b,d):!w;if((d?.infoSuccess&&b.status||d?.infoError&&!b.status)&&i&&(!D||!m)&&i(b),!A&&(!D||!d?.disabledHandleUnauthorized)){let u=d?.onUnauthorized||a;u&&u(b);}if(typeof p=="function")p(b);else return b},F=(T,p=()=>{})=>Tt.create({baseURL:`${e}`,withCredentials:typeof T.withCredentials=="boolean"?T.withCredentials:c})(T).then(p).catch(C=>p(C.response,C)),L=(T,p,d,C,D)=>{let y={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...D},K={"Content-Type":"application/json",...o,...y.headers};if(y.token&&(typeof y.token=="boolean"?t&&(K.Authorization=`Bearer ${t}`):y.token&&(K.Authorization=`Bearer ${y.token}`)),r&&(d=r(d)),(typeof y?.encryptRequest=="boolean"?y?.encryptRequest:f)&&d){let b=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:g;d=x(d,b);}return F({url:p,method:T,data:d,headers:K,responseType:y.responseType,signal:y.signal,withCredentials:y.withCredentials,onUploadProgress:b=>{y?.onUploadProgress&&y?.onUploadProgress(b);}},(b,m)=>E(b,C,y,m))};return {client:F,post:(T,p,d,C)=>L("POST",`${T}`,p,d,C),put:(T,p,d,C)=>L("PUT",`${T}`,p,d,C),patch:(T,p,d,C)=>L("PATCH",`${T}`,p,d,C),delete:(T,p,d)=>L("DELETE",`${T}`,null,p,d),get:(T,p,d)=>L("GET",`${T}`,null,p,d),upload:(T,p,d,C)=>{let D=new FormData;return Object.keys(p).forEach(w=>D.append(w,p[w])),L("POST",`${T}`,D,d,{infoSuccess:false,...C,headers:{"Content-Type":"multipart/form-data",...C?.headers}})},stream:async(T,p,d,C,D)=>{try{let y={...{token:!0,responseType:"json",infoError:!0},...D},K={"Content-Type":"application/json",...o,...y.headers};if(y.token){let k=typeof y.token=="boolean"?t:y.token;k&&(K.Authorization=`Bearer ${k}`);}let U=d;if(r&&(U=r(U)),(typeof y.encryptRequest=="boolean"?y.encryptRequest:f)&&U){let k=y.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?h:y.passphrase:g;U=x(U,k);}let m=await fetch(`${e}${p}`,{method:T,headers:K,credentials:y.withCredentials?"include":"same-origin",signal:y.signal,body:JSON.stringify(U)}),A=m?.status,u=A===401;if(!m.ok){let k=m?.statusText||"Error";try{let X=m.headers.get("content-type")||"",V=await m.clone().text();if(V)if(X.includes("application/json"))try{let se=JSON.parse(V);if((typeof D?.encryptResponse=="boolean"?D?.encryptResponse:R)&&d){let Fe=D?.passphrase?typeof D.passphrase=="boolean"&&D.passphrase?h:D.passphrase:g;try{d=O(se,Fe);}catch{try{d=O(se,h);}catch{}}}k=se?.message||k;}catch{k=V;}else k=V;}catch{}let oe=typeof D?.disabledToastWhenCancel=="boolean"?D?.disabledToastWhenCancel:l,W={status:!1,data:void 0,message:k,isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0};D?.infoError&&i&&!oe&&i(W),C(W);return}let S=m.body.getReader(),P=new TextDecoder("utf-8"),v="",z=!1;for(;!z;){let{done:k,value:oe}=await S.read();z=k,v+=P.decode(oe,{stream:!0});let W=v.split(`
|
|
2
2
|
|
|
3
|
-
`);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=xe(X);C({status:!0,data:V,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0});}catch(w){let
|
|
3
|
+
`);v=W.pop();for(let X of W)if(X.startsWith("data:"))try{let V=xe(X);C({status:!0,data:V,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!1});}catch{}}C({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:u,httpCode:A,isDone:!0});}catch(w){let y=w?.name==="AbortError";C({status:false,data:void 0,message:w instanceof Error?w.message:"Internal Server Error",isCancel:y,isUnauthorization:false,httpCode:400,isDone:true});}}}};function mn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState(0),l=useRef(null);return useEffect(()=>{if(t?.abortOnUnmount)return ()=>{l.current?.abort();}},[]),[async g=>{l.current?.abort();let x=new AbortController;l.current=x,n(true),t?.beforeRequest&&(g=t?.beforeRequest(g)),t?.logging&&console.log("Before request",g),t?.onBeforeRequest&&t?.onBeforeRequest(g);let O={...t,signal:x.signal,onUploadProgress:E=>{let F=Math.round(E.loaded*100/(E.total||1));s(F);}},h=e.__isVoid?await e(void 0,O):await e(g,void 0,O);t?.logging&&console.log("After response",h),a(h),n(false),s(0),t?.afterResponse&&h?.data&&(h.data=t?.afterResponse(h.data,g)),h.status&&t?.onSuccess&&t?.onSuccess(h,g),!h.status&&t?.onError&&t?.onError(h,g),t?.onAfterResponse?.(h,g);},{...o,loading:r,abort:()=>{l.current?.abort(),l.current=null,n(false),s(0);},progress:i,reset:()=>{n(false),s(0),a(null);}}]}function Ct(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 At=typeof window<"u"?window:null;function Rn(e={}){let{getTrigger:t=Ct,target:r=At,disableHysteresis:n=false,threshold:o=100}=e,a=ee.useRef(0),[i,s]=ee.useState(()=>t(a,{disableHysteresis:n,threshold:o,target:r}));return ee.useEffect(()=>{let l=()=>{s(t(a,{disableHysteresis:n,threshold:o,target:r}));};if(l(),r)return r.addEventListener("scroll",l,{passive:true}),()=>{r.removeEventListener("scroll",l);}},[r,t,n,o]),i}function Tn(e,t){let r,n;typeof t=="number"?(r=t,n=void 0):(r=t?.delay??500,n=t?.onDebounce);let[o,a]=useState(e);return useEffect(()=>{let i=setTimeout(()=>{a(e),n&&n(e);},r);return ()=>clearTimeout(i)},[e,r,n]),o}var On=(e,t)=>{let r=e.__path||e.name,n=t?.storeName||`${r}`,o=t?.shallow??true,{refresh:a,abort:i,clear:s,clone:l}=Ne(n)||{},c=O=>{let h=O.states[n]??Y;return {loading:h.loading,isCancel:h.isCancel,response:h.response}},{loading:f,isCancel:R,response:g}=o?J(useShallow(c)):J(c),x=useMemo(()=>[g?.data,{...g,loading:f,isCancel:R,refresh:a,abort:i,clear:s,clone:l}],[g,f,R,a,i,s,l]);return t?.selector?t.selector(x):x};var Un=(e,t)=>{let r=n=>e(n);return r.displayName=t,r},$e=(e,t)=>{let r=false;return ee.Children.forEach(e,n=>{if(ee.isValidElement(n)){let o=n,a=n.type.displayName;(t.includes(a)||o.props?.children&&$e(o.props.children,t))&&(r=true);}}),r},vn=(e,t)=>{let r={others:[]},n=o=>{ee.Children.forEach(o,a=>{if(ee.isValidElement(a)){let i=a.type.displayName,s=a,l=s.props?.children;t.includes(i)?r[i]=a:l&&$e(l,t)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(e),r};function Mn(){let{format:e}=I();return (t="",r=false)=>Ce(t,r,e.number.decSep)}function In(e,t){let r=useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return useEffect(()=>{if(!e)return;let n=()=>{let a=e.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},t&&t(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(e),()=>o.disconnect()},[e,t]),r}var Re={};function Hn(e,t){let[r,n]=useState(false),[o,a]=useState(),[i,s]=useState();return useEffect(()=>{if(!e)return;if(Re[e]){s(()=>Re[e]);return}n(true),(async()=>{try{let c=await import(`${t.path}${e}${t.extension??".svg?react"}`);Re[e]=c.default,s(()=>c.default);}catch(c){a(c),console.error(c);}finally{n(false);}})();},[e,t.path,t.extension]),{error:o,loading:r,Icon:i}}function _n(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(l=>l());}function i(s){let l=useRef(s?s(t):t);return useSyncExternalStore(o,()=>{let c=s?s(t):t,f=l.current;return Object.is(f,c)||(l.current=c),l.current},()=>s?s(t):t)}return {getSnapshot:n,subscribe:o,setState:a,useStore:i}}function Et(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]=Et(o,[...t,n]):r[n]=o;}return r}function Jn(e,t){let[r,n]=useState(false),[o,a]=useState([]),i=useRef([]),s=useRef(null);useEffect(()=>{if(t?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let l=async R=>{s.current?.abort();let g=new AbortController;s.current=g,n(true),a([]),i.current=[],e(R,x=>{x.isDone||(i.current.push(x),a([...i.current])),(x.isDone||!x.status)&&(n(false),t?.onDone&&t?.onDone([...i.current])),x.status?t?.onStream&&t?.onStream(x):t?.onError&&t?.onError(x);},{signal:g.signal});},c=()=>{s.current?.abort(),s.current=null,n(false);},f=()=>{n(false),a([]),i.current=[];};return [o.map(R=>R.data),l,{loading:r,abort:c,reset:f,response:o}]}export{nt as BgsCoreProvider,dt as DataTypeEnum,ft as HttpMethod,De as capitalizeWords,un as createApiHelper,Un as createElement,_n as createStore,ar as debounce,le as decrypt,qe as decryptString,Y as defaultState,Qt as diffJson,ie as encrypt,we as encryptString,ir as filterDOMPropsLite,Te as generateCacheKey,Zt as generateUUID,Ne as getApiActions,pr as getDateRangeLabelFromSorted,N as getFieldValue,lr as getInitials,cr as getMinMaxDate,ur as getTotalMinutes,tr as isArray,ae as isDirtyRaw,$ as isNotEmpty,Xe as isValidNumber,sr as jsonCopy,he as labelFormatter,fr as mappingData,er as mappingUndefinedtoNull,q as moment,Qe as objectToQueryString,xe as parseSSEChunk,Ce as parseStringToNumber,ve as registerApi,rr as renderChildren,be as replaceNullStrings,ct as safeUpdate,nr as sorting,vn as splitElement,Ge as stableStringify,or as summary,ke as unregisterApi,ut as useApiLoad,J as useApiLoadStore,mn as useApiSend,On as useApiStore,Jn as useApiStream,I as useBgsCore,Q as useCrypto,Tn as useDebounce,Vr as useDelay,Hn as useDynamicSvgImport,In as useElementBounding,Gr as useFormatted,Qr as useInterval,rn as useKeyPress,Mn as useParseStringToNumber,Rn as useScrollTrigger,Ue as useStorage,Et as wrapApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
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",
|