@bgscore/react-core
Version:
A React utility library that provides advanced API hooks (fetch, mutation, caching). Built for scalable and flexible data handling in modern React applications.
5 lines (3 loc) • 42 kB
JavaScript
;var le=require('react'),I=require('dayjs'),tt=require('dayjs/plugin/utc'),rt=require('dayjs/plugin/timezone'),nt=require('dayjs/plugin/duration'),ot=require('dayjs/plugin/advancedFormat'),st=require('dayjs/plugin/localizedFormat'),at=require('dayjs/plugin/relativeTime'),it=require('dayjs/plugin/isSameOrBefore'),lt=require('dayjs/plugin/isSameOrAfter'),ct=require('dayjs/plugin/weekOfYear'),pt=require('dayjs/plugin/customParseFormat'),jsxRuntime=require('react/jsx-runtime'),Ne=require('crypto-js/aes'),Me=require('crypto-js/pbkdf2'),Tt=require('crypto-js/enc-utf8'),ie=require('crypto-js/enc-base64'),Ee=require('crypto-js/lib-typedarrays'),zustand=require('zustand'),shallow=require('zustand/react/shallow'),$t=require('axios'),nr=require('dexie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var le__default=/*#__PURE__*/_interopDefault(le);var I__default=/*#__PURE__*/_interopDefault(I);var tt__default=/*#__PURE__*/_interopDefault(tt);var rt__default=/*#__PURE__*/_interopDefault(rt);var nt__default=/*#__PURE__*/_interopDefault(nt);var ot__default=/*#__PURE__*/_interopDefault(ot);var st__default=/*#__PURE__*/_interopDefault(st);var at__default=/*#__PURE__*/_interopDefault(at);var it__default=/*#__PURE__*/_interopDefault(it);var lt__default=/*#__PURE__*/_interopDefault(lt);var ct__default=/*#__PURE__*/_interopDefault(ct);var pt__default=/*#__PURE__*/_interopDefault(pt);var Ne__default=/*#__PURE__*/_interopDefault(Ne);var Me__default=/*#__PURE__*/_interopDefault(Me);var Tt__default=/*#__PURE__*/_interopDefault(Tt);var ie__default=/*#__PURE__*/_interopDefault(ie);var Ee__default=/*#__PURE__*/_interopDefault(Ee);var $t__default=/*#__PURE__*/_interopDefault($t);var nr__default=/*#__PURE__*/_interopDefault(nr);I__default.default.extend(tt__default.default);I__default.default.extend(rt__default.default);I__default.default.extend(nt__default.default);I__default.default.extend(ot__default.default);I__default.default.extend(st__default.default);I__default.default.extend(at__default.default);I__default.default.extend(it__default.default);I__default.default.extend(lt__default.default);I__default.default.extend(ct__default.default);I__default.default.extend(pt__default.default);var H=I__default.default;function Pe(){let t=()=>Math.random()*16%16|0;return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>(e==="x"?t():t()&3|8).toString(16))}function Or(t,e){try{return JSON.stringify(t)!==JSON.stringify(e)}catch{return false}}var Pr=t=>(Object.keys(t).forEach(e=>{t[e]===void 0&&(t[e]=null);}),t);function qr(t,e){let r=false;return t&&typeof t=="object"&&Array.isArray(t)&&(typeof e=="number"?t.length>e&&(r=true):r=true),r}function V(t){return !(t==null||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0||typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length===0)}var we={camelCase:(t="")=>(t=t.split(".").map(e=>(e=e.charAt(0).toUpperCase()+e.slice(1),e)).join(" "),t=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),t.charAt(0).toUpperCase()+t.slice(1)),snackCase:(t="")=>{let r=t.replace(/_([a-z])/g,(n,o)=>o.toUpperCase()).replace(/([A-Z])/g," $1");return r=r.charAt(0).toUpperCase()+r.slice(1),r},changeAll:(t="",e=false)=>{let r="";try{t=t?.split(".")[t?.split(".")?.length-1],t=t?.split("[]")[t?.split("[]")?.length-1],r=we.snackCase(we.camelCase(t)),e&&(r=r?.split(" ")?.map(n=>n?.length<=3?n?.toUpperCase():n)?.join(" "));}catch{}return r?.trim()}};function vr(t,e){return typeof t=="function"?t(e):t}var E=(t,e,r)=>{if(!t)return r;if(t.hasOwnProperty(e))return t[e];let n=e.replace(/\[(\d+)\]/g,".$1").split("."),o=t;for(let a of n){if(o==null)return r;o=o[a];}return o===void 0?r:o},Ur={desc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(r,e):"";return o<a?1:-1}else return r<n?1:-1})),asc:(t,e)=>(t||(t=[]),t.sort((r,n)=>{if(e){let o=E(r,e)?E(r,e):"",a=E(n,e)?E(n,e):"";return o>a?1:-1}else return r>n?1:-1}))},kr=(t,e)=>{Array.isArray(t)||(t=[]);let r=[];return r=t.map(n=>Number(e?E(n,e)||0:n||0)),r.reduce((n,o)=>(n||0)+(o||0),0)||0};function Er(t){try{return t&&JSON.parse(JSON.stringify(t))}catch{return t}}function ut(t){let e=new WeakSet;return JSON.stringify(t,function(r,n){return n!==null&&typeof n=="object"?e.has(n)?void 0:(e.add(n),Object.keys(n).sort().reduce((o,a)=>(o[a]=n[a],o),{})):n})??""}function qe(t,e){return ut([e??"undefined",t??"undefined"])}function ve(t=""){return typeof t!="string"&&(t=""),t.replace(/\b\w/g,e=>e.toUpperCase())}function Nr(t,e=0){let r,n=function(...o){clearTimeout(r),r=setTimeout(()=>{t(...o);},e*1e3);};return n.cancel=()=>{clearTimeout(r);},n}var ae=t=>{let e=t.match(/^data:\s*(.*)/s);if(e)try{return JSON.parse(e[1])}catch{return null}return null};function de(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t===e||t==="-"||t===`-${e}`||new RegExp(`^-?\\d+${r}$`).test(t)||new RegExp(`^-?${r}\\d*$`).test(t)}function ft(t,e=false,r="."){if(typeof t=="number")return !Number.isNaN(t);if(typeof t=="string"&&t.trim()!==""){let n=t.trim(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`^-?(\\d+(\\${o}\\d+)?|\\${o}\\d+)$`).test(n)||e&&de(n,r))return true}return false}function Ue(t="",e=false,r="."){if(!ft(t,!e,r))return null;let n=r==="."?t.trim():t.trim().replace(r,"."),o=Number(n);return Number.isNaN(o)?null:o}var dt=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 Mr(t){let e={};for(let r in t)dt.has(r)&&(e[r]=t[r]);return e}function $r(t,e=2){return t?t.split(" ").map(r=>r.charAt(0).toUpperCase()).slice(0,e).join(""):""}function Lr(t=[]){let e=t.filter(Boolean);if(e.length===0)return ["",""];let r=e.map(H).sort((a,l)=>a.diff(l)),n=r[0].format("YYYY-MM-DD"),o=r.at(-1).format("YYYY-MM-DD");return [n,o]}function Hr(t,e){let r=H(t),n=H(e),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 Kr(t,e){if(!t?.trim()||!e?.trim())return "";if(t===e)return "0";let r=H(t,"HH:mm",true),n=H(e,"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=(t=[],e="label",r="value",n,o=" | ")=>{if(!Array.isArray(t))return [[],[]];let a=t.map((c,i)=>{if(typeof c!="object"){let p=typeof e=="function"?e(c,i):c,R=typeof r=="function"?r(c,i):c;return {label:p,value:R,index:i,rowData:c}}else {let p=typeof e=="function"?e(c,i):E(c,e,""),R=typeof r=="function"?r(c,i):E(c,r,"");return {label:p,value:typeof R=="boolean"?R:R||"",index:i,rowData:c}}});if(!n)return [[{items:a}],a];let l=Array.isArray(n)?n:[n],s=new Map;for(let c of a){let i=c.rowData,p=l.map(f=>String(typeof i=="object"?E(i,f,"")??"":"")).join(o),R=s.get(p)||[];R.push(c),s.set(p,R);}return [Array.from(s.entries()).map(([c,i])=>({group:c,items:i})),a]};function mt(t,e=""){let r=[];for(let n in t)if(t.hasOwnProperty(n)){let o=t[n],a=e?`${e}[${encodeURIComponent(n)}]`:encodeURIComponent(n);if(!V(o))continue;Array.isArray(o)?o.forEach(l=>{r.push(`${a}=${encodeURIComponent(l)}`);}):typeof o=="object"&&o!==null?r.push(mt(o,a)):r.push(`${a}=${encodeURIComponent(o)}`);}return r.join("&")}function Oe(t){if(t==="null")return null;if(Array.isArray(t))for(let e=0;e<t.length;e++)t[e]=Oe(t[e]);else if(t&&typeof t=="object")for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=Oe(t[e]));return t}var ke=le.createContext(void 0);function W(){let t=le.useContext(ke);return t||{}}var bt=({children:t,value:e})=>{let r={...e};return le.useEffect(()=>{(async()=>{if(!(typeof window>"u")&&e.localeConfig){let{preset:o,object:a,isLocal:l}=e.localeConfig;if(typeof o=="string")try{await import(`dayjs/locale/${o}`);}catch{console.warn(`Locale "${o}" not found, fallback to default`);}o&&H.locale(o,a??{},l);}})();},[e.localeConfig]),jsxRuntime.jsx(ke.Provider,{value:r,children:t})};function me(t,e){let r=Ee__default.default.random(16),n=Ee__default.default.random(16),o=Me__default.default(e,r,{keySize:256/32,iterations:1e3}),a=Ne__default.default.encrypt(JSON.stringify(t),o,{iv:n}).toString();return {salt:r.toString(ie__default.default),iv:n.toString(ie__default.default),encrypted:a}}function ye(t,e){let{salt:r,iv:n,encrypted:o}=t,a=Me__default.default(e,ie__default.default.parse(r),{keySize:256/32,iterations:1e3}),s=Ne__default.default.decrypt(o,a,{iv:ie__default.default.parse(n)}).toString(Tt__default.default);return JSON.parse(s)}function $e(t,e){return JSON.stringify(me(t,e))}function Le(t,e){return ye(JSON.parse(t),e)}function X(){let{passphrase:t}=W();return {passphrase:t,encrypt(e,r){return me(e,r||t)},decrypt(e,r){return ye(e,r||t)},encryptString(e,r){return $e(e,r||t)},decryptString(e,r){return Le(e,r||t)}}}var He=()=>{let{encrypt:t,decrypt:e}=X(),r=le.useCallback((l,s)=>{try{let c=t(s);localStorage.setItem(l,JSON.stringify(c));}catch(c){console.error("Failed to save to storage:",c);}},[t]),n=le.useCallback(l=>{try{let s=localStorage.getItem(l);return s?e(JSON.parse(s)):null}catch(s){return console.error("Failed to get from storage:",s),null}},[e]),o=l=>{let[s,c]=le.useState(()=>{try{let i=localStorage.getItem(l);return i?e(JSON.parse(i)):null}catch(i){return console.error("Failed to parse localStorage value",i),null}});return le.useEffect(()=>{let i=p=>{if(p.key===l)if(p.newValue)try{c(e(JSON.parse(p.newValue)));}catch(R){console.error("Decrypt error from storage event",R);}else c(null);};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[l,e]),s},a=le.useCallback(l=>{l?localStorage.removeItem(l):localStorage.clear();},[]);return {save:r,get:n,clear:a,useWatchStorage:o}};function At(t,e){for(let r in e){let n=t[r],o=e[r];if(r==="response"){let a=JSON.stringify(n),l=JSON.stringify(o);if(a!==l)return false}else if(n!==o)return false}return true}var re={loading:false,response:void 0,isCancel:false},ne=zustand.create((t,e)=>({states:{},updateState:(r,n)=>{let o=e().states[r]??re,a={...o,...n};At(o,a)||t(l=>({states:{...l.states,[r]:a}}));}}));var Re=new Map,Ke=(t,e)=>{Re.set(t,e);},Fe=t=>{Re.delete(t);},Be=t=>Re.get(t);function wt(...t){let[e,r,n]=t,o=e.__isVoid,a=e.__path||e.name,l=o?void 0:r,s=o?r:n,c=s?.storeName||`${a}`,i=s?.mergeStrategy??"replace",[p,R,f,C]=ne(shallow.useShallow(S=>{let h=S.states[c]??re;return [h.loading,h.isCancel,h.response,S.updateState]})),{storageKey:P,cache:x,clearPreviousData:N,refetchOnWindowFocus:K}=W(),z=He(),U=le.useRef(void 0),F=le.useRef(null),{cacheName:B,cacheKey:k,timeout:M,timeoutUnit:Z,persistence:se,cacheEnabled:ee}=le.useMemo(()=>{let S=P?z.get(P):void 0,h=typeof s?.cache=="object"?s?.cache?.cacheName??a:a,T=qe({...l,session:S},typeof s?.cache=="object"?s?.cache?.cacheKey:void 0),g=false;typeof x?.enabled=="boolean"&&(g=x.enabled);let q=false;typeof x?.persistence=="boolean"&&(q=x?.persistence),typeof s?.cache=="object"&&typeof s?.cache?.persistence=="boolean"&&(q=s?.cache?.persistence??false);let w=60*5,$="s";return V(x?.timeout)&&(typeof x?.timeout=="number"?(w=x.timeout,$="s"):typeof x?.timeout=="object"&&(w=x?.timeout.value,$=x?.timeout.unit)),V(s?.cache)&&(typeof s?.cache!="boolean"?(typeof s?.cache?.enabled=="boolean"?g=s.cache.enabled:g=true,typeof s?.cache?.timeout=="number"?(w=s.cache.timeout,$="s"):typeof s?.cache?.timeout=="object"&&(w=s.cache.timeout.value,$=s.cache.timeout.unit)):g=s.cache),{cacheName:h,cacheKey:T,timeout:w,timeoutUnit:$,persistence:q,cacheEnabled:g}},[s?.cache,l,P,x,a]);le.useEffect(()=>{let S=JSON.stringify(V(U.current)?U.current:""),h=JSON.stringify(V(l)?l:""),T=U.current===void 0;(S!==h||T)&&!s?.hold&&((s?.clearPreviousData??N)&&C(c,{response:null}),A(),U.current=l),s?.onChange&&s?.onChange(l,d);},[l,s?.clearPreviousData,N,s?.hold,...s?.trigger||[]]),le.useEffect(()=>{let S=async()=>{!se&&B&&k&&(await caches.open(B)).delete(k);};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),F.current?.abort();}},[se,B,k,c,F]);let A=le.useCallback(async S=>{let h=l;if(s?.hold&&s?.logging&&console.log("Hold active"),s?.beforeRequest&&(h=s?.beforeRequest(l)),ee&&!S&&!R&&window.isSecureContext){s?.onBeforeRequest&&s?.onBeforeRequest(l);let T=await caches.open(B),q=await(await T.match(k))?.json();if(q){let{data:w,expired:$}=q;if(H().isAfter($))await T.delete(k);else {s?.afterResponse&&w?.data&&(w.data=s?.afterResponse(w.data,h)),s?.logging&&console.log("After request: Using Cache",w),w?.status&&s?.onSuccess?.(w,h),s?.onAfterResponse?.(w,h),C(c,{loading:false,response:w});return}}}if(typeof e=="function"){F.current?.abort();let T=new AbortController;F.current=T,C(c,{loading:true}),s?.logging&&console.log("Before request",l),s?.onBeforeRequest&&s?.onBeforeRequest(l);let g=o?await e(void 0,{...s,signal:T.signal}):await e(h,void 0,{...s,signal:T.signal});if(g.__rawData=g.data,i==="append"&&V(f.__rawData)&&V(g?.data)){if(Array.isArray(f.__rawData)&&Array.isArray(g?.data)){let q=[...f?.__rawData??[],...g.data??[]];g.data=q,g.__rawData=q;}else if(typeof f.__rawData=="object"&&typeof g.data=="object"){let q={...f.__rawData,...g.data};g.data=q,g.__rawData=q;}}if(s?.afterResponse&&g?.data&&(g.data=s?.afterResponse(g.data,h)),s?.logging&&console.log("After request",g),g.status&&s?.onSuccess?.(g,h),g.status||s?.onError?.(g,h),s?.onAfterResponse?.(g,h),C(c,{loading:false,response:g,isCancel:false}),ee&&g.status){let q=H().add(M,Z).toISOString(),w={data:g,expired:q},$=await caches.open(B),Y=new Response(JSON.stringify(w));await $.put(k,Y);}}},[l,e,s,R,B,k,M,Z,ee,f]);le.useEffect(()=>{if(s?.refreshInterval){let S=typeof s.refreshInterval=="number"?s.refreshInterval:s.refreshInterval.value,h=typeof s.refreshInterval=="number"?"s":s.refreshInterval.unit,T=setInterval(()=>{A();},H.duration(S,h).asMilliseconds());return ()=>clearInterval(T)}return ()=>{}},[s?.refreshInterval,A]);let y=le.useRef(null),{enabledRefetch:b,timeoutRefetch:u,timeoutUnitRefetch:D}=le.useMemo(()=>{let S=s?.refetchOnWindowFocus?.enabled??K?.enabled??false,h=s?.refetchOnWindowFocus?.timeout??K?.timeout,T=typeof h=="number"?h:h?.value??60*5,g=typeof h=="object"?h.unit:"s";return {enabledRefetch:S,timeoutRefetch:T,timeoutUnitRefetch:g}},[s?.refetchOnWindowFocus,K]);le.useEffect(()=>{if(!b||s?.hold)return;let S=H.duration(u,D).asMilliseconds(),h=()=>{let g=Date.now(),q=y.current;q!==null&&g-q>=S&&A(),y.current=null;},T=()=>{y.current=Date.now();};return window.addEventListener("focus",h),window.addEventListener("blur",T),()=>{window.removeEventListener("focus",h),window.removeEventListener("blur",T);}},[b,u,D,A,s?.hold]);let m=le.useCallback(()=>{F.current?.abort(),F.current=null,C(c,{loading:false,isCancel:true});},[c,F]),O=le.useCallback(()=>{C(c,{loading:false,response:null});},[c]),d=le.useMemo(()=>({...f,loading:p,refresh:A,abort:m,clear:O,response:f,isCancel:R,clone:(S,h)=>wt(e,S,{storeName:`${a}-clone`,...h})}),[f,p,A,m,O,R,e]);return le.useEffect(()=>(Ke(c,d),()=>{Fe(c);}),[d,c]),[f?.data,d]}async function hn(t,e=()=>{}){let r=t*1e3;return new Promise(n=>{setInterval(()=>{e();},1e3);setTimeout(async()=>{await e(),n(true);},r);})}var Ot=(a=>(a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.DELETE="DELETE",a.GET="GET",a))(Ot||{}),Pt=(A=>(A.number="number",A.currency="currency",A.percent="percent",A.date="date",A.dateTime="dateTime",A.month="month",A.year="year",A.time="time",A.timestamp="timestamp",A.string="string",A.textarea="textarea",A.code="code",A.password="password",A.boolean="boolean",A.toggle="toggle",A.email="email",A.phone="phone",A.url="url",A.json="json",A.file="file",A.image="image",A.array="array",A.object="object",A.enum="enum",A.user="user",A.department="department",A.status="status",A))(Pt||{});var Sn=()=>{let{format:t}=W();return (e,r,n)=>{try{return r==="number"?Ut(e,{thouSep:t.number.thouSep,decDigits:t.number.decDigits,decSep:t.number.decSep,...n}):["date","dateTime","month","year","time"].some(o=>o===r)?kt(e,{display:t[r]?.display,value:t[r]?.value,...n}):r==="boolean"?qt(e,n):r==="string"?vt(e,n):e?.toString()}catch{return}}};function qt(t,e){let r=typeof t=="string"?t==="true":!!t,n=e?.trueLabel??"Yes",o=e?.falseLabel??"No";return r?n:o}function vt(t,e){if(!V(t))return "";let r=String(t);switch(e?.textTransform){case "capitalize":r=ve(r);break;case "uppercase":r=r.toUpperCase();break;case "lowercase":r=r.toLowerCase();break}return e?.ellipsis&&r.length>e.ellipsis&&(r=r.slice(0,e.ellipsis)+"..."),r}function Ut(t,{thouSep:e,decSep:r,decDigits:n,method:o,dirty:a}){if(a){let R=String(t??"").trim().trim();if(de(R,r))return R}if(t==null||isNaN(Number(t)))return "";let l=typeof t=="string"?parseFloat(t):t;if(o)if(typeof n=="number"){let p=Math.pow(10,n);l=Math[o](l*p)/p;}else l=Math[o](l);else if(typeof n=="number"){let p=Math.pow(10,n);l=Math.trunc(l*p)/p;}let s=0;if(n==="auto"){let p=l.toString(),R=p.indexOf(".");R!==-1&&(s=p.length-R-1);}let c={style:"decimal",useGrouping:true,minimumFractionDigits:n==="auto"?s:n||0,maximumFractionDigits:n==="auto"?s:n||0,minimumIntegerDigits:1};return l.toLocaleString("en-US",c).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,r).replace(/thouSep/g,e)}function kt(t,{display:e,value:r}){if(!V(t))return t;let n=H(t,r);return n.isValid()?n.format(e):t}function Pn(t,{interval:e,lead:r}){let n=le.useRef(null);le.useEffect(()=>{n.current=t;},[t]),le.useEffect(()=>{let o=()=>n.current();if(r&&o(),e!==null){let a=setInterval(o,e);return ()=>clearInterval(a)}},[e]);}function Un(t,e,r){let[n,o]=le.useState(false),a=(i,p)=>typeof t=="string"&&i===t||typeof t=="number"&&p===t,l=i=>i!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(i.tagName)||i.hasAttribute("contentEditable")),s=i=>{let{key:p,keyCode:R}=i,f=i.ctrlKey,C=i.altKey,P=i.shiftKey;if(!l(document.activeElement))if(e)if(typeof e=="string")a(p,R)&&(e==="ctrl"&&f||e==="alt"&&C||e==="shift"&&P)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));else {let x=e.every(N=>N==="ctrl"?f:N==="alt"?C:N==="shift"?P:false);a(p,R)&&x&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));}else a(p,R)&&(i.preventDefault(),r&&i.stopPropagation(),o(!n));},c=({key:i,keyCode:p})=>{a(i,p)&&o(false);};return le.useEffect(()=>(window.addEventListener("keydown",s),window.addEventListener("keyup",c),()=>{window.removeEventListener("keydown",s),window.removeEventListener("keyup",c);}),[]),n}var Kn=({url:t,token:e,beforeRequest:r,onCallback:n,headers:o,onUnauthorized:a,handleToast:l,handleAuthorization:s,disabledToastWhenCancel:c,withCredentials:i,encryptRequest:p,encryptResponse:R,passphrase:f})=>{let{encrypt:C,decrypt:P,passphrase:x}=X(),N=$t__default.default.create({baseURL:`${t}`,headers:{"Content-Type":"application/json",...o}}),K=(y,b,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:R)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?x:u.passphrase:f;try{d=P(d,w);}catch{try{d=P(d,x);}catch{}}}let T={...n({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:c,q=s?s(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&l&&(!m||!g)&&l(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||a;w&&w(T);}if(typeof b=="function")b(T);else return T},z=(y,b=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:i}).then(b).catch(u=>b(u.response,u)),U=(y,b,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?e&&(S.Authorization=`Bearer ${e}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),r&&(u=r(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:p)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;u=C(u,T);}return z({url:b,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>K(T,D,d,g))};return {client:z,post:(y,b,u,D)=>U("POST",`${y}`,b,u,D),put:(y,b,u,D)=>U("PUT",`${y}`,b,u,D),patch:(y,b,u,D)=>U("PATCH",`${y}`,b,u,D),delete:(y,b,u)=>U("DELETE",`${y}`,null,b,u),get:(y,b,u)=>U("GET",`${y}`,null,b,u),upload:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...o,...d.headers};if(d.token){let v=typeof d.token=="boolean"?e:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(r&&(h=r(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:p)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?x:d.passphrase:f;h=C(h,v);}let g=await fetch(`${t}${b}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:R)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?x:m.passphrase:f;try{u=P(G,fe);}catch{try{u=P(G,x);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:c,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&l&&!Q&&l(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}};function jn(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[l,s]=le.useState(0),c=le.useRef(null);return le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{c.current?.abort();}},[]),[async f=>{c.current?.abort();let C=new AbortController;c.current=C,n(true),e?.beforeRequest&&(f=e?.beforeRequest(f)),e?.logging&&console.log("Before request",f),e?.onBeforeRequest&&e?.onBeforeRequest(f);let P={...e,signal:C.signal,onUploadProgress:N=>{let K=Math.round(N.loaded*100/(N.total||1));s(K);}},x=t.__isVoid?await t(void 0,P):await t(f,void 0,P);e?.logging&&console.log("After response",x),a(x),n(false),s(0),e?.afterResponse&&x?.data&&(x.data=e?.afterResponse(x.data,f)),x.status&&e?.onSuccess&&e?.onSuccess(x,f),!x.status&&e?.onError&&e?.onError(x,f),e?.onAfterResponse?.(x,f);},{...o,loading:r,abort:()=>{c.current?.abort(),c.current=null,n(false),s(0);},progress:l,reset:()=>{n(false),s(0),a(null);}}]}function Kt(t,e){let{disableHysteresis:r=false,threshold:n=100,target:o}=e,a=t.current;return o&&(typeof o.pageYOffset=="number"?t.current=o.pageYOffset:o.scrollTop!==void 0&&(t.current=o.scrollTop)),!r&&a!==void 0&&t.current<a?false:(t.current||0)>n}var Ft=typeof window<"u"?window:null;function zn(t={}){let{getTrigger:e=Kt,target:r=Ft,disableHysteresis:n=false,threshold:o=100}=t,a=le__default.default.useRef(0),[l,s]=le__default.default.useState(()=>e(a,{disableHysteresis:n,threshold:o,target:r}));return le__default.default.useEffect(()=>{let c=()=>{s(e(a,{disableHysteresis:n,threshold:o,target:r}));};if(c(),r)return r.addEventListener("scroll",c,{passive:true}),()=>{r.removeEventListener("scroll",c);}},[r,e,n,o]),l}function Yn(t,e){let r,n;typeof e=="number"?(r=e,n=void 0):(r=e?.delay??500,n=e?.onDebounce);let[o,a]=le.useState(t);return le.useEffect(()=>{let l=setTimeout(()=>{a(t),n&&n(t);},r);return ()=>clearTimeout(l)},[t,r,n]),o}var to=(t,e)=>{let r=t.__path||t.name,n=e?.storeName||`${r}`,o=e?.shallow??true,{refresh:a,abort:l,clear:s,clone:c}=Be(n)||{},i=P=>{let x=P.states[n]??re;return {loading:x.loading,isCancel:x.isCancel,response:x.response}},{loading:p,isCancel:R,response:f}=o?ne(shallow.useShallow(i)):ne(i),C=le.useMemo(()=>[f?.data,{...f,loading:p,isCancel:R,refresh:a,abort:l,clear:s,clone:c}],[f,p,R,a,l,s,c]);return e?.selector?e.selector(C):C};var oo=(t,e)=>{let r=n=>t(n);return r.displayName=e,r},Ie=(t,e)=>{let r=false;return le__default.default.Children.forEach(t,n=>{if(le__default.default.isValidElement(n)){let o=n,a=n.type.displayName;(e.includes(a)||o.props?.children&&Ie(o.props.children,e))&&(r=true);}}),r},so=(t,e)=>{let r={others:[]},n=o=>{le__default.default.Children.forEach(o,a=>{if(le__default.default.isValidElement(a)){let l=a.type.displayName,s=a,c=s.props?.children;e.includes(l)?r[l]=a:c&&Ie(c,e)?n(s.props.children):r.others.push(a);}else r.others.push(a);});};return n(t),r};function co(){let{format:t}=W();return (e="",r=false)=>Ue(e,r,t.number.decSep)}function fo(t,e){let r=le.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0});return le.useEffect(()=>{if(!t)return;let n=()=>{let a=t.getBoundingClientRect();r.current={width:a.width,height:a.height,top:a.top,left:a.left,right:a.right,bottom:a.bottom},e&&e(r.current);};n();let o=new ResizeObserver(()=>n());return o.observe(t),()=>o.disconnect()},[t,e]),r}var Ae={};function Ro(t,e){let[r,n]=le.useState(false),[o,a]=le.useState(),[l,s]=le.useState();return le.useEffect(()=>{if(!t)return;if(Ae[t]){s(()=>Ae[t]);return}n(true),(async()=>{try{let i=await import(`${e.path}${t}${e.extension??".svg?react"}`);Ae[t]=i.default,s(()=>i.default);}catch(i){a(i),console.error(i);}finally{n(false);}})();},[t,e.path,e.extension]),{error:o,loading:r,Icon:l}}function To(t){let e=t,r=new Set;function n(){return e}function o(s){return r.add(s),()=>r.delete(s)}function a(s){typeof s=="function"?e=s(e):e=s,r.forEach(c=>c());}function l(s){let c=le.useRef(s?s(e):e);return le.useSyncExternalStore(o,()=>{let i=s?s(e):e,p=c.current;return Object.is(p,i)||(c.current=i),c.current},()=>s?s(e):e)}return {getSnapshot:n,subscribe:o,setState:a,useStore:l}}function Ve(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ve(n,o);});}function xo(t){let e={};for(let r in t){let n=t[r];e[r]=(...o)=>{let a=n(...o);return Ve(a,r),a};}return e}function So(t,e){let[r,n]=le.useState(false),[o,a]=le.useState([]),l=le.useRef([]),s=le.useRef(null);le.useEffect(()=>{if(e?.abortOnUnmount)return ()=>{s.current?.abort();}},[]);let c=async R=>{s.current?.abort();let f=new AbortController;s.current=f,n(true),a([]),l.current=[],t(R,C=>{C.isDone||(l.current.push(C),a([...l.current])),(C.isDone||!C.status)&&(n(false),e?.onDone&&e?.onDone([...l.current])),C.status?e?.onStream&&e?.onStream(C):e?.onError&&e?.onError(C);},{signal:f.signal});},i=()=>{s.current?.abort(),s.current=null,n(false);},p=()=>{n(false),a([]),l.current=[];};return [o.map(R=>R.data),c,{loading:r,abort:i,reset:p,response:o}]}function qo(t,e){let{key:r}=e,[n,o]=le.useState();return le.useEffect(()=>{let a=nr.liveQuery(()=>t(r)).subscribe(o);return ()=>a.unsubscribe()},[r]),n}function Eo(t,e){let{key:r}=e,[n,o]=le.useState(false);return le.useEffect(()=>{let a=nr.liveQuery(async()=>!!await t(r)).subscribe(l=>{o(s=>s!==l?l:s);});return ()=>a.unsubscribe()},[r]),n}function We(t){let e=[...t],r=a=>a==null?"":String(a),n=(a,l)=>{if(Array.isArray(l.and))return l.and.every(s=>n(a,s));if(Array.isArray(l.or))return l.or.some(s=>n(a,s));for(let[s,c]of Object.entries(l)){if(s==="and"||s==="or")continue;let{opt:i="eq",value:p,required:R=true}=typeof c=="object"&&c!==null&&"value"in c?c:{value:c};if(!R&&(p==null||p===""))continue;let f=E(a,s,void 0);switch(i){case "eq":if(f!==p)return false;break;case "neq":if(f===p)return false;break;case "gt":if(!(f>p))return false;break;case "gte":if(!(f>=p))return false;break;case "lt":if(!(f<p))return false;break;case "lte":if(!(f<=p))return false;break;case "contains":{if(f==null||p==null)return false;if(Array.isArray(f)){if(!f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(!r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "notContains":{if(f==null)break;if(Array.isArray(f)){if(f.some(P=>r(P).toLowerCase().includes(r(p).toLowerCase())))return false}else if(r(f).toLowerCase().includes(r(p).toLowerCase()))return false;break}case "startsWith":if(f==null||p==null||!String(f).startsWith(String(p)))return false;break;case "endsWith":if(f==null||p==null||!String(f).endsWith(String(p)))return false;break;case "in":if(!Array.isArray(p)||!p.includes(f))return false;break;case "notIn":if(Array.isArray(p)&&p.includes(f))return false;break;default:return false}}return true},o={where(a){return a&&(e=e.filter(l=>n(l,a))),o},sort(a){let l=Object.entries(a);return e.sort((s,c)=>{for(let[i,p]of l){let R=E(s,i),f=E(c,i);if(R!==f)return p==="asc"?R>f?1:-1:R<f?1:-1}return 0}),o},distinct(a){let l=Array.isArray(a)?a:a?[a]:[],s=new Set;return e=e.filter(c=>{let i=l.length?l.map(p=>E(c,p)).join("|"):JSON.stringify(c);return s.has(i)?false:(s.add(i),true)}),o},select(a){return e=e.map(l=>{let s={};for(let c of a)s[c]=E(l,c);return s}),o},paginate(a,l){let s=(a-1)*l,c=s+l;return {data:e.slice(s,c),total:e.length,page:a,pageSize:l,totalPages:Math.ceil(e.length/l)}},groupBy(a){let l={};for(let s of e){let c=E(s,a),i=String(c??"undefined");l[i]||(l[i]=[]),l[i].push(s);}return l},map(a){return e=e.map(a),o},reduce(a,l){return e.reduce(a,l)},limit(a){return e=e.slice(0,a),o},get(){return e}};return o}var ce,pe={};function jo({dbName:t,version:e=1,table:r}){return ce||(ce=new nr__default.default(t),e=Object.keys(pe).length+1,ce.version(e).stores(pe)),r}function Io({name:t,primaryKey:e}){pe[t]||(pe[t]=e);let r=()=>{let p=ce.table(t);if(!p)throw new Error(`Table ${t} is not registered in Dexie`);return p};return {table:r,create:async i=>{let p=e,R={...i,...i[p]?{}:{[p]:Pe()}};return await r().add(R)},update:async(i,p)=>await r().update(i,p),put:async(i,p)=>await r().put({...p,[e]:i}),detail:async i=>await r().get(i),remove:async i=>await r().delete(i),list:async i=>{let p=r().toCollection();typeof i?.offset=="number"&&(p=p.offset(i.offset)),typeof i?.limit=="number"&&(p=p.limit(i.limit));let R=await p.toArray(),f=We(R);return i?.where&&(f=f.where(i.where)),i?.orderBy&&(f=f.sort(i.orderBy)),f.get()}}}var Go=()=>{let{encrypt:t,decrypt:e,passphrase:r}=X();return ({url:n,token:o,beforeRequest:a,onCallback:l,headers:s,onUnauthorized:c,handleToast:i,handleAuthorization:p,disabledToastWhenCancel:R,withCredentials:f,encryptRequest:C,encryptResponse:P,passphrase:x})=>{let N=$t__default.default.create({baseURL:`${n}`,headers:{"Content-Type":"application/json",...s}}),K=(y,b,u,D)=>{let m=D?.code==="ERR_CANCELED",O=y?.status===401,d=y?.data;if((typeof u?.encryptResponse=="boolean"?u?.encryptResponse:P)&&d){let w=u?.passphrase?typeof u.passphrase=="boolean"&&u.passphrase?r:u.passphrase:x;try{d=e(d,w);}catch{try{d=e(d,r);}catch{}}}let T={...l({...y,data:d,isCancel:m,isUnauthorization:O},D),isCancel:m,isUnauthorization:O,httpCode:y?.status},g=typeof u?.disabledToastWhenCancel=="boolean"?u?.disabledToastWhenCancel:R,q=p?p(T,u):!O;if((u?.infoSuccess&&T.status||u?.infoError&&!T.status)&&i&&(!m||!g)&&i(T),!q&&(!m||!u?.disabledHandleUnauthorized)){let w=u?.onUnauthorized||c;w&&w(T);}if(typeof b=="function")b(T);else return T},z=(y,b=()=>{})=>N({...y,withCredentials:typeof y.withCredentials=="boolean"?y.withCredentials:f}).then(b).catch(u=>b(u.response,u)),U=(y,b,u,D,m)=>{let d={...{token:true,infoError:true,infoSuccess:true,responseType:"json"},...m},S={...d.headers};if(d.token&&(typeof d.token=="boolean"?o&&(S.Authorization=`Bearer ${o}`):d.token&&(S.Authorization=`Bearer ${d.token}`)),a&&(u=a(u)),(typeof d?.encryptRequest=="boolean"?d?.encryptRequest:C)&&u){let T=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;u=t(u,T);}return z({url:b,method:y,data:u,headers:S,responseType:d.responseType,signal:d.signal,withCredentials:d.withCredentials,onUploadProgress:T=>{d?.onUploadProgress&&d?.onUploadProgress(T);}},(T,g)=>K(T,D,d,g))};return {client:z,post:(y,b,u,D)=>U("POST",`${y}`,b,u,D),put:(y,b,u,D)=>U("PUT",`${y}`,b,u,D),patch:(y,b,u,D)=>U("PATCH",`${y}`,b,u,D),delete:(y,b,u)=>U("DELETE",`${y}`,null,b,u),get:(y,b,u)=>U("GET",`${y}`,null,b,u),upload:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{infoSuccess:false,...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})},stream:async(y,b,u,D,m)=>{try{let d={...{token:!0,responseType:"json",infoError:!0},...m},S={"Content-Type":"application/json",...s,...d.headers};if(d.token){let v=typeof d.token=="boolean"?o:d.token;v&&(S.Authorization=`Bearer ${v}`);}let h=u;if(a&&(h=a(h)),(typeof d.encryptRequest=="boolean"?d.encryptRequest:C)&&h){let v=d.passphrase?typeof d.passphrase=="boolean"&&d.passphrase?r:d.passphrase:x;h=t(h,v);}let g=await fetch(`${n}${b}`,{method:y,headers:S,credentials:d.withCredentials?"include":"same-origin",signal:d.signal,body:JSON.stringify(h)}),q=g?.status,w=q===401;if(!g.ok){let v=g?.statusText||"Error";try{let _=g.headers.get("content-type")||"",L=await g.clone().text();if(L)if(_.includes("application/json"))try{let G=JSON.parse(L);if((typeof m?.encryptResponse=="boolean"?m?.encryptResponse:P)&&u){let fe=m?.passphrase?typeof m.passphrase=="boolean"&&m.passphrase?r:m.passphrase:x;try{u=e(G,fe);}catch{try{u=e(G,r);}catch{}}}v=G?.message||v;}catch{v=L;}else v=L;}catch{}let Q=typeof m?.disabledToastWhenCancel=="boolean"?m?.disabledToastWhenCancel:R,j={status:!1,data:void 0,message:v,isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0};m?.infoError&&i&&!Q&&i(j),D(j);return}let $=g.body.getReader(),Y=new TextDecoder("utf-8"),J="",te=!1;for(;!te;){let{done:v,value:Q}=await $.read();te=v,J+=Y.decode(Q,{stream:!0});let j=J.split(`
`);J=j.pop();for(let _ of j)if(_.startsWith("data:"))try{let L=ae(_);D({status:!0,data:L,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!1});}catch{}}D({status:!0,data:void 0,message:"",isCancel:!1,isUnauthorization:w,httpCode:q,isDone:!0});}catch(O){let d=O?.name==="AbortError";D({status:false,data:void 0,message:O instanceof Error?O.message:"Internal Server Error",isCancel:d,isUnauthorization:false,httpCode:400,isDone:true});}},multipart:(y,b,u,D)=>{let m=new FormData;return Object.keys(b).forEach(O=>m.append(O,b[O])),U("POST",`${y}`,m,u,{...D,headers:{"Content-Type":"multipart/form-data",...D?.headers}})}}}};function Ye(t,e){!t||typeof t!="object"||Object.keys(t).forEach(r=>{let n=t[r],o=e?`${e}.${r}`:r;if(typeof n=="function"){try{Object.defineProperty(n,"__path",{value:o,writable:!0,enumerable:!1,configurable:!0});}catch{n.__path=o;}try{Object.defineProperty(n,"__isVoid",{value:n.length===2,writable:!0,enumerable:!1,configurable:!0});}catch{n.__isVoid=n.length===2;}}else n&&typeof n=="object"&&Ye(n,o);});}function Je(t,e,r=""){if(typeof t=="function")return ()=>{let o=t(e);return Ye(o,r),o};if(!t||typeof t!="object")return t;let n={};for(let o in t){let a=r?`${r}.${o}`:o;n[o]=Je(t[o],e,a);}return n}function Zo(t,e){return Je(t,e)}function ts({label:t="",search:e="",bgcolor:r="#337ab7",color:n="#fff"}){let o=[];t||(t="");let a=e?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return typeof t!="string"?o=t.toString().split(new RegExp(`(${a})`,"gi")):o=t.split(new RegExp(`(${a})`,"gi")),jsxRuntime.jsx(jsxRuntime.Fragment,{children:o.map((l,s)=>jsxRuntime.jsx("span",{style:l?.toString()?.toLowerCase()===e?.toString()?.toLowerCase()?{backgroundColor:r,color:n}:{},children:l},s))})}function as(t,e,r,n){let o=le.useRef(void 0),a=le.useRef({x:0,y:0,width:0,visible:true}),l=le.useRef(r),s=le.useRef(true);le.useEffect(()=>{let c=t.current;if(!c)return;let i=new IntersectionObserver(([p])=>{s.current=p.isIntersecting;},{threshold:0});return i.observe(c),()=>{i.disconnect(),s.current=false;}},[t,e]),le.useEffect(()=>{l.current=r;},[r]),le.useLayoutEffect(()=>{if(n)return;let c=t.current,i=e.current;if(!c||!i)return;if(l.current){requestAnimationFrame(()=>{i.style.transform="",i.style.top="",i.style.left="",i.style.removeProperty("width");});return}let p=false,R=k=>{let M=k;for(;M;){if(window.getComputedStyle(M).display==="none")return false;M=M.parentElement;}return true},f=()=>{if(!c||!i||l.current)return;let k=c.getBoundingClientRect(),M=R(c);a.current={x:k.left,y:k.top,width:k.width,visible:M},M?(i.style.top="0",i.style.left="0",i.style.display="",i.style.transform=`translate3d(${k.left}px, ${k.top}px, 0)`,i.style.width=`${k.width}px`):i.style.display="none";},C=()=>{if(!c||!i||l.current)return;let M=i.getBoundingClientRect().height;c.style.height=`${M}px`,c.style.minHeight=`${M}px`;},P=()=>{p||(p=true,o.current=requestAnimationFrame(()=>{f(),p=false;}));},x=()=>{requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});});},N=new ResizeObserver(()=>{P();}),K=new ResizeObserver(()=>{requestAnimationFrame(()=>{C(),f();});}),z=new MutationObserver(()=>{P();});N.observe(c),K.observe(i),z.observe(document.body,{attributes:true,attributeFilter:["style","class"],subtree:true});let U=null,F=()=>{if(!c||!i||l.current||!s.current)return;let k=i.cloneNode(true);k.removeAttribute("style"),c.innerHTML="",c.appendChild(k),requestAnimationFrame(()=>{i.style.display="none";}),U&&clearTimeout(U),U=setTimeout(()=>{c.innerHTML="",requestAnimationFrame(()=>{i.style.display="";});},150);},B=()=>{P();};return i.addEventListener("layout-complete",x),window.addEventListener("scroll",F,{passive:true,capture:true}),window.addEventListener("resize",B,{passive:true}),requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{C();});}),()=>{o.current&&cancelAnimationFrame(o.current),N.disconnect(),K.disconnect(),z.disconnect(),i.removeEventListener("layout-complete",x),window.removeEventListener("scroll",F),window.removeEventListener("resize",B);}},[n]);}function cs(t=100){let[e,r]=le.useState(false);return le.useEffect(()=>{if(!("PerformanceObserver"in window))return;let n=new PerformanceObserver(o=>{for(let a of o.getEntries())a.duration>t&&(r(true),setTimeout(()=>{r(false);},300));});return n.observe({entryTypes:["longtask"]}),()=>n.disconnect()},[t]),e}function ds(t,e=0){let[r,n]=le.useState(false),o=le.useRef(null),a=le.useRef(null),l=le.useRef(false);return le.useLayoutEffect(()=>{let s=t.current;if(!s)return;let c=()=>{l.current||(o.current&&clearTimeout(o.current),o.current=window.setTimeout(()=>{l.current=true,n(true);},e));},i=()=>{let f=s.getBoundingClientRect();if(f.width===0||f.height===0)return;let C=a.current,P={w:f.width,h:f.height};(!C||C.w!==P.w||C.h!==P.h)&&(a.current=P,c());};requestAnimationFrame(()=>{i();});let p=new ResizeObserver(()=>{i();}),R=new MutationObserver(()=>{i();});return p.observe(s),R.observe(s,{childList:true,subtree:true,attributes:true}),()=>{o.current&&clearTimeout(o.current),p.disconnect(),R.disconnect();}},[e]),r}function Rs(t,e){let[r,n]=le.useState();return le.useEffect(()=>{let o=nr.liveQuery(()=>t(e)).subscribe(n);return ()=>o.unsubscribe()},[]),r}exports.BgsCoreProvider=bt;exports.DataTypeEnum=Pt;exports.Highlight=ts;exports.HttpMethod=Ot;exports.bindApi=Zo;exports.capitalizeWords=ve;exports.createApiHelper=Kn;exports.createDatabase=jo;exports.createElement=oo;exports.createStore=To;exports.createTable=Io;exports.debounce=Nr;exports.decrypt=ye;exports.decryptString=Le;exports.defaultState=re;exports.diffJson=Or;exports.encrypt=me;exports.encryptString=$e;exports.filterDOMPropsLite=Mr;exports.formatBoolean=qt;exports.formatDate=kt;exports.formatNumber=Ut;exports.formatString=vt;exports.generateCacheKey=qe;exports.generateUUID=Pe;exports.getApiActions=Be;exports.getDateRangeLabelFromSorted=Hr;exports.getFieldValue=E;exports.getInitials=$r;exports.getMinMaxDate=Lr;exports.getTotalMinutes=Kr;exports.isArray=qr;exports.isDirtyRaw=de;exports.isNotEmpty=V;exports.isValidNumber=ft;exports.jsonCopy=Er;exports.labelFormatter=we;exports.mappingData=Fr;exports.mappingUndefinedtoNull=Pr;exports.moment=H;exports.objectToQueryString=mt;exports.parseSSEChunk=ae;exports.parseStringToNumber=Ue;exports.query=We;exports.registerApi=Ke;exports.renderChildren=vr;exports.replaceNullStrings=Oe;exports.safeUpdate=At;exports.sorting=Ur;exports.splitElement=so;exports.stableStringify=ut;exports.summary=kr;exports.unregisterApi=Fe;exports.useAnchorPosition=as;exports.useApiLoad=wt;exports.useApiLoadStore=ne;exports.useApiSend=jn;exports.useApiStore=to;exports.useApiStream=So;exports.useBgsCore=W;exports.useCpuBusy=cs;exports.useCreateApi=Go;exports.useCrypto=X;exports.useDbLive=qo;exports.useDbLiveFlag=Eo;exports.useDbLoad=Rs;exports.useDebounce=Yn;exports.useDelay=hn;exports.useDynamicSvgImport=Ro;exports.useElementBounding=fo;exports.useFormatted=Sn;exports.useInterval=Pn;exports.useKeyPress=Un;exports.useLayoutReady=ds;exports.useParseStringToNumber=co;exports.useScrollTrigger=zn;exports.useStorage=He;exports.wrapApi=xo;