hookery 0.0.1 → 1.0.1
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/README.md +74 -11
- package/dist/index.d.ts +3270 -8
- package/dist/index.js +21 -35
- package/dist/index.mjs +22 -11
- package/package.json +62 -8
- package/dist/index.d.mts +0 -14
package/dist/index.js
CHANGED
|
@@ -1,36 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
for (var name in all)
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
'use strict';var react$1=require('react'),Xo=require('lottie-web'),P=require('three'),auth0React=require('@auth0/auth0-react'),yi=require('axios'),clerkReact=require('@clerk/clerk-react'),jotai=require('jotai'),framerMotion=require('framer-motion'),navigation=require('next/navigation'),reactRedux=require('react-redux'),react=require('@remix-run/react'),reactStripeJs=require('@stripe/react-stripe-js'),reactQuery=require('@tanstack/react-query'),Vr=require('yup'),zustand=require('zustand');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Xo__default=/*#__PURE__*/_interopDefault(Xo);var P__namespace=/*#__PURE__*/_interopNamespace(P);var yi__default=/*#__PURE__*/_interopDefault(yi);var Vr__namespace=/*#__PURE__*/_interopNamespace(Vr);var x=typeof window>"u",Br=!x,zr=()=>{};var q=x?react$1.useEffect:react$1.useLayoutEffect;function ze(e={}){let{initialValue:t=false}=e,[r,n]=react$1.useState(t),s=react$1.useCallback(()=>n(a=>!a),[]),o=react$1.useCallback(()=>n(true),[]),i=react$1.useCallback(()=>n(false),[]);return {value:r,toggle:s,setTrue:o,setFalse:i,setValue:n}}function Ke(e={}){let{initialValue:t=0,min:r,max:n,step:s=1}=e,o=react$1.useCallback(f=>{let p=f;return r!==void 0&&p<r&&(p=r),n!==void 0&&p>n&&(p=n),p},[r,n]),[i,a]=react$1.useState(()=>o(t)),u=react$1.useCallback(()=>{a(f=>o(f+s));},[o,s]),c=react$1.useCallback(()=>{a(f=>o(f-s));},[o,s]),l=react$1.useCallback(()=>{a(o(t));},[o,t]),m=react$1.useCallback(f=>{a(o(f));},[o]);return {count:i,increment:u,decrement:c,reset:l,set:m}}function Ge(e){let t=react$1.useRef(void 0);return react$1.useEffect(()=>{t.current=e;},[e]),t.current}function je(e){let t=react$1.useRef(e);t.current=e,react$1.useEffect(()=>t.current(),[]);}function qe(e){let t=react$1.useRef(e);t.current=e,react$1.useEffect(()=>()=>{t.current();},[]);}function Ne(e,t={}){let{delay:r=500,leading:n=false,trailing:s=true}=t,[o,i]=react$1.useState(e),[a,u]=react$1.useState(false),c=react$1.useRef(null),l=react$1.useRef(true),m=react$1.useRef(e);m.current=e;let f=react$1.useCallback(()=>{c.current&&(clearTimeout(c.current),c.current=null),u(false);},[]),p=react$1.useCallback(()=>{f(),i(m.current);},[f]);return react$1.useEffect(()=>{if(n&&l.current){l.current=false,i(e);return}return u(true),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{s&&i(e),u(false),c.current=null;},r),()=>{c.current&&clearTimeout(c.current);}},[e,r,n,s]),react$1.useEffect(()=>()=>{c.current&&clearTimeout(c.current);},[]),{debouncedValue:o,isPending:a,cancel:f,flush:p}}function _e(e,t={}){let{interval:r=500,leading:n=true,trailing:s=true}=t,[o,i]=react$1.useState(e),[a,u]=react$1.useState(false),c=react$1.useRef(0),l=react$1.useRef(null),m=react$1.useRef(e),f=react$1.useRef(true);return m.current=e,react$1.useEffect(()=>{let p=Date.now(),d=p-c.current;if(f.current&&n){f.current=false,i(e),c.current=p;return}return f.current=false,d>=r?(l.current&&(clearTimeout(l.current),l.current=null),i(e),c.current=p,u(false)):s&&(u(true),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{i(m.current),c.current=Date.now(),u(false),l.current=null;},r-d)),()=>{l.current&&clearTimeout(l.current);}},[e,r,n,s]),react$1.useEffect(()=>()=>{l.current&&clearTimeout(l.current);},[]),{throttledValue:o,isPending:a}}function Q(e,t,r={}){let{serializer:n=JSON.stringify,deserializer:s=JSON.parse,syncAcrossTabs:o=true}=r,i=react$1.useCallback(()=>{if(x)return t;try{let p=window.localStorage.getItem(e);return p!==null?s(p):t}catch(p){return console.warn(`Error reading localStorage key "${e}":`,p),t}},[e,t,s]),[a,u]=react$1.useState(i),[c,l]=react$1.useState(()=>x?false:window.localStorage.getItem(e)!==null),m=react$1.useCallback(p=>{try{let d=p instanceof Function?p(a):p;u(d),l(!0),x||(window.localStorage.setItem(e,n(d)),window.dispatchEvent(new StorageEvent("storage",{key:e,newValue:n(d)})));}catch(d){console.warn(`Error setting localStorage key "${e}":`,d);}},[e,n,a]),f=react$1.useCallback(()=>{try{u(t),l(!1),x||window.localStorage.removeItem(e);}catch(p){console.warn(`Error removing localStorage key "${e}":`,p);}},[e,t]);return react$1.useEffect(()=>{if(x||!o)return;let p=d=>{if(d.key===e&&d.newValue!==null)try{u(s(d.newValue)),l(!0);}catch{}else d.key===e&&d.newValue===null&&(u(t),l(false));};return window.addEventListener("storage",p),()=>{window.removeEventListener("storage",p);}},[e,t,s,o]),{value:a,setValue:m,remove:f,exists:c}}function tt(e,t,r={}){let{serializer:n=JSON.stringify,deserializer:s=JSON.parse,initializeWithValue:o=false}=r,[i,a]=react$1.useState(()=>{if(x)return typeof t=="function"?t():t;try{let l=window.sessionStorage.getItem(e);if(l&&!o)return s(l);let m=typeof t=="function"?t():t;return o&&window.sessionStorage.setItem(e,n(m)),m}catch(l){return console.error(`Error reading sessionStorage key "${e}":`,l),typeof t=="function"?t():t}}),u=react$1.useCallback(l=>{try{let m=l instanceof Function?l(i):l;a(m),x||(window.sessionStorage.setItem(e,n(m)),window.dispatchEvent(new Event("session-storage")));}catch(m){console.error(`Error setting sessionStorage key "${e}":`,m);}},[e,i,n]),c=react$1.useCallback(()=>{try{a(typeof t=="function"?t():t),x||(window.sessionStorage.removeItem(e),window.dispatchEvent(new Event("session-storage")));}catch(l){console.error(`Error removing sessionStorage key "${e}":`,l);}},[e,t]);return react$1.useEffect(()=>{if(x)return;let l=m=>{if(m.key===e&&m.storageArea===window.sessionStorage)try{m.newValue===null?a(typeof t=="function"?t():t):a(s(m.newValue));}catch(f){console.error(`Error syncing sessionStorage key "${e}":`,f);}};return window.addEventListener("storage",l),()=>window.removeEventListener("storage",l)},[e,t,s]),[i,u,c]}function ot(e,t){let{delay:r,autoStart:n=true}=t,[s,o]=react$1.useState(n),[i,a]=react$1.useState(false),u=react$1.useRef(e),c=react$1.useRef(null);u.current=e;let l=react$1.useCallback(()=>{c.current&&(clearTimeout(c.current),c.current=null),o(false);},[]),m=react$1.useCallback(()=>{l(),a(false),o(true),c.current=setTimeout(()=>{u.current(),o(false),a(true),c.current=null;},r);},[r,l]),f=react$1.useCallback(()=>{l(),a(false);},[l]);return react$1.useEffect(()=>(n&&m(),()=>{c.current&&clearTimeout(c.current);}),[r]),{isRunning:s,isComplete:i,start:m,stop:l,reset:f}}function at(e,t){let{delay:r,autoStart:n=true,immediate:s=false}=t,[o,i]=react$1.useState(n),[a,u]=react$1.useState(0),c=react$1.useRef(e),l=react$1.useRef(null);c.current=e;let m=react$1.useCallback(()=>{l.current&&(clearInterval(l.current),l.current=null),i(false);},[]),f=react$1.useCallback(()=>{m(),i(true),s&&(c.current(),u(d=>d+1)),l.current=setInterval(()=>{c.current(),u(d=>d+1);},r);},[r,s,m]),p=react$1.useCallback(()=>{u(0);},[]);return react$1.useEffect(()=>(n&&f(),()=>{l.current&&clearInterval(l.current);}),[r]),{isRunning:o,count:a,start:f,stop:m,reset:p}}function ut(e,t){let r=react$1.useRef(true);react$1.useEffect(()=>{if(r.current){r.current=false;return}return e()},t);}function ct(){let e=react$1.useRef(false);return react$1.useEffect(()=>(e.current=true,()=>{e.current=false;}),[]),react$1.useCallback(()=>e.current,[])}function W(e){let t=react$1.useRef(e);return react$1.useEffect(()=>{t.current=e;}),react$1.useCallback((...r)=>t.current(...r),[])}var B=W;function Y(e,t={}){let{defaultValue:r=false,initializeOnMount:n=false}=t,s=react$1.useCallback(()=>x?r:window.matchMedia(e).matches,[e,r]),[o,i]=react$1.useState(()=>n?r:s());return react$1.useEffect(()=>{if(x)return;let a=window.matchMedia(e);i(a.matches);let u=c=>{i(c.matches);};return a.addEventListener?a.addEventListener("change",u):a.addListener(u),()=>{a.removeEventListener?a.removeEventListener("change",u):a.removeListener(u);}},[e]),o}function lt(e={}){let{debounce:t=0,initialWidth:r=0,initialHeight:n=0}=e,s=react$1.useCallback(()=>x?{width:r,height:n}:{width:window.innerWidth,height:window.innerHeight},[r,n]),[o,i]=react$1.useState(s);return react$1.useEffect(()=>{if(x)return;let a=null,u=()=>{t>0?(a&&clearTimeout(a),a=setTimeout(()=>{i(s());},t)):i(s());};return i(s()),window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u),a&&clearTimeout(a);}},[t,s]),o}function ft(e,t,r={}){let{events:n=["mousedown","touchstart"],enabled:s=true}=r,o=react$1.useRef(t);o.current=t,react$1.useEffect(()=>{if(x||!s)return;let i=a=>{let u=e.current;!u||u.contains(a.target)||o.current(a);};return n.forEach(a=>{document.addEventListener(a,i);}),()=>{n.forEach(a=>{document.removeEventListener(a,i);});}},[e,n,s]);}function pt(){let[e,t]=react$1.useState(false),r=react$1.useRef(null),n=react$1.useCallback(()=>{t(true);},[]),s=react$1.useCallback(()=>{t(false);},[]),o=react$1.useCallback(i=>{r.current&&(r.current.removeEventListener("mouseenter",n),r.current.removeEventListener("mouseleave",s)),i&&(i.addEventListener("mouseenter",n),i.addEventListener("mouseleave",s)),r.current=i;},[n,s]);return {isHovered:e,ref:o,hoverProps:{onMouseEnter:n,onMouseLeave:s}}}function mt(e,t,r={}){let{target:n="window",event:s="keydown",preventDefault:o=false,enabled:i=true}=r,[a,u]=react$1.useState(false),c=react$1.useCallback(l=>{t?.(l);},[t]);return react$1.useEffect(()=>{if(x||!i)return;let l=n==="document"?document:window,m=p=>{let d=p;d.key===e&&(o&&d.preventDefault(),u(true),c(d));},f=p=>{p.key===e&&u(false);};return l.addEventListener(s,m),s==="keydown"&&l.addEventListener("keyup",f),()=>{l.removeEventListener(s,m),s==="keydown"&&l.removeEventListener("keyup",f);}},[e,n,s,o,i,c]),a}function gt(e,t={}){let{throttle:r=0}=t,[n,s]=react$1.useState({x:0,y:0}),[o,i]=react$1.useState(null),[a,u]=react$1.useState({isAtTop:true,isAtBottom:false,isAtLeft:true,isAtRight:false}),c=react$1.useRef({x:0,y:0}),l=react$1.useRef(null);return react$1.useEffect(()=>{if(x)return;let m=e?.current??window,f=m===window,p=()=>{if(f)return {x:window.scrollX??window.pageXOffset,y:window.scrollY??window.pageYOffset};let v=m;return {x:v.scrollLeft,y:v.scrollTop}},d=()=>{if(f){let h=document.documentElement.scrollHeight,y=document.documentElement.scrollWidth,S=window.innerHeight,b=window.innerWidth,{x:T,y:R}=p();return {isAtTop:R<=0,isAtBottom:R+S>=h-1,isAtLeft:T<=0,isAtRight:T+b>=y-1}}let v=m;return {isAtTop:v.scrollTop<=0,isAtBottom:v.scrollTop+v.clientHeight>=v.scrollHeight-1,isAtLeft:v.scrollLeft<=0,isAtRight:v.scrollLeft+v.clientWidth>=v.scrollWidth-1}},g=()=>{let v=()=>{let h=p(),y=c.current;h.y!==y.y?i(h.y>y.y?"down":"up"):h.x!==y.x&&i(h.x>y.x?"right":"left"),c.current=h,s(h),u(d());};r>0?l.current||(l.current=setTimeout(()=>{v(),l.current=null;},r)):v();};return s(p()),u(d()),m.addEventListener("scroll",g,{passive:true}),()=>{m.removeEventListener("scroll",g),l.current&&clearTimeout(l.current);}},[e,r]),{...n,...a,direction:o}}function ht(e={}){let{root:t=null,rootMargin:r="0px",threshold:n=0,triggerOnce:s=false,enabled:o=true}=e,[i,a]=react$1.useState(null),[u,c]=react$1.useState(false),l=react$1.useRef(null),m=react$1.useRef(false);return react$1.useEffect(()=>{if(x||!o)return;let f=l.current;if(!f||s&&m.current)return;let p=new IntersectionObserver(([d])=>{a(d),c(d.isIntersecting),d.isIntersecting&&s&&(m.current=true,p.unobserve(f));},{root:t,rootMargin:r,threshold:n});return p.observe(f),()=>{p.disconnect();}},[t,r,n,s,o]),{isIntersecting:u,entry:i,ref:l}}function St(){let[e,t]=react$1.useState(null),[r,n]=react$1.useState(false),[s,o]=react$1.useState(null),i=react$1.useCallback(async u=>{if(x)return console.warn("Clipboard is not available on the server"),false;if(navigator?.clipboard?.writeText)try{return await navigator.clipboard.writeText(u),t(u),n(!0),o(null),!0}catch(c){return o(c instanceof Error?c:new Error("Failed to copy")),n(false),false}try{let c=document.createElement("textarea");c.value=u,c.style.position="fixed",c.style.left="-9999px",c.style.top="-9999px",document.body.appendChild(c),c.focus(),c.select();let l=document.execCommand("copy");if(document.body.removeChild(c),l)return t(u),n(!0),o(null),!0;throw new Error('execCommand("copy") failed')}catch(c){return o(c instanceof Error?c:new Error("Failed to copy")),n(false),false}},[]),a=react$1.useCallback(()=>{t(null),n(false),o(null);},[]);return {copiedValue:e,isSuccess:r,error:s,copy:i,reset:a}}function bt(e,t={}){let{restoreOnUnmount:r=true}=t,n=react$1.useRef(null);react$1.useEffect(()=>{if(!x)return n.current===null&&(n.current=document.title),document.title=e,()=>{r&&n.current!==null&&(document.title=n.current);}},[e,r]);}function Tt(e=true){react$1.useEffect(()=>{if(x||!e)return;let t=document.body.style.overflow,r=document.body.style.paddingRight,n=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",n>0&&(document.body.style.paddingRight=`${n}px`),()=>{document.body.style.overflow=t,document.body.style.paddingRight=r;}},[e]);}function Rt(e={}){let{storageKey:t="theme",attribute:r="data-theme",defaultTheme:n="system",disableTransitionOnChange:s=true}=e,{value:o,setValue:i}=Q(t,n),a=Y("(prefers-color-scheme: dark)"),u=react$1.useMemo(()=>o==="system"?a?"dark":"light":o==="dark"?"dark":"light",[o,a]),c=react$1.useCallback(()=>{if(x)return;let m=document.documentElement;if(s){let f=document.createElement("style");f.appendChild(document.createTextNode(`* {
|
|
2
|
+
-webkit-transition: none !important;
|
|
3
|
+
-moz-transition: none !important;
|
|
4
|
+
-o-transition: none !important;
|
|
5
|
+
-ms-transition: none !important;
|
|
6
|
+
transition: none !important;
|
|
7
|
+
}`)),document.head.appendChild(f),setTimeout(()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(f);},1);},1);}r==="class"?(m.classList.remove("light","dark"),m.classList.add(u)):m.setAttribute(r,u);},[u,r,s]);q(()=>{c();},[c]);let l=react$1.useCallback(()=>{i(m=>m==="system"?u==="dark"?"light":"dark":m==="dark"?"light":"dark");},[i,u]);return {theme:o,resolvedTheme:u,setTheme:i,toggleTheme:l}}function M(e,t,r=x?null:window,n={}){let s=react$1.useRef(t);s.current=t,react$1.useEffect(()=>{if(!r)return;let o=i=>{typeof s.current=="function"?s.current(i):s.current.handleEvent(i);};return r.addEventListener(e,o,n),()=>{r.removeEventListener(e,o,n);}},[e,r,n?.capture,n?.passive,n?.once]);}function Ut(e,t={}){let{threshold:r=500,cancelOnMove:n=true,onStart:s,onFinish:o,onCancel:i}=t,a=react$1.useRef(e),u=react$1.useRef(s),c=react$1.useRef(o),l=react$1.useRef(i);a.current=e,u.current=s,c.current=o,l.current=i;let m=react$1.useRef(null),f=react$1.useRef(false),p=react$1.useCallback(g=>{u.current?.(g),f.current=false,m.current=setTimeout(()=>{f.current=true,a.current(g),c.current?.(g);},r);},[r]),d=react$1.useCallback(g=>{m.current&&(clearTimeout(m.current),m.current=null,f.current||l.current?.(g)),f.current=false;},[]);return {onMouseDown:g=>p(g),onTouchStart:g=>p(g),onMouseUp:g=>d(g),onMouseLeave:g=>d(g),onTouchEnd:g=>d(g)}}function Ot(){let[e,t]=react$1.useState(()=>!x&&typeof document<"u"?document.hasFocus():true);return react$1.useEffect(()=>{if(x)return;let r=()=>t(true),n=()=>t(false);return window.addEventListener("focus",r),window.addEventListener("blur",n),t(document.hasFocus()),()=>{window.removeEventListener("focus",r),window.removeEventListener("blur",n);}},[]),e}function kt(e,t={}){let{throttle:r=0}=t,[n,s]=react$1.useState(),o=react$1.useRef(null);return react$1.useEffect(()=>{if(x)return;let i=e.current;if(!i)return;if(!window.ResizeObserver){console.warn("ResizeObserver is not supported in this browser");return}let a=new ResizeObserver(u=>{let c=u[0];if(!c)return;let l=()=>{s(c.contentRect);};r>0?o.current||(o.current=setTimeout(()=>{l(),o.current=null;},r)):l();});return a.observe(i),()=>{a.disconnect(),o.current&&clearTimeout(o.current);}},[e,r]),n}function Lt(e,t,r={attributes:true,characterData:true,childList:true,subtree:true}){let n=react$1.useRef(t);n.current=t;let s=react$1.useRef(r);s.current=r,react$1.useEffect(()=>{if(x)return;let o=e.current;if(!o)return;if(!window.MutationObserver){console.warn("MutationObserver is not supported");return}let i=new MutationObserver((a,u)=>{n.current(a,u);});return i.observe(o,s.current),()=>{i.disconnect();}},[e]);}function Mt(e){react$1.useEffect(()=>{if(x)return;let r=n=>{n.clientY<=0&&e();};return document.addEventListener("mouseleave",r),()=>{document.removeEventListener("mouseleave",r);}},[e]);}function At(){let e=!x&&"EyeDropper"in window,t=react$1.useCallback(async r=>{if(!e)throw new Error("EyeDropper is not supported");return new window.EyeDropper().open(r)},[e]);return {isSupported:e,open:t}}function It(){let[e,t]=react$1.useState(()=>x?true:navigator.onLine),[r,n]=react$1.useState(null),s=react$1.useCallback(()=>{t(true),n(Date.now());},[]),o=react$1.useCallback(()=>{t(false),n(Date.now());},[]);return react$1.useEffect(()=>{if(!x)return t(navigator.onLine),window.addEventListener("online",s),window.addEventListener("offline",o),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",o);}},[s,o]),{isOnline:e,isOffline:!e,since:r}}function Ft(){let[e,t]=react$1.useState({online:true});return react$1.useEffect(()=>{if(x)return;let r=navigator,n=r.connection||r.mozConnection||r.webkitConnection,s=()=>{t({online:navigator.onLine,downlink:n?.downlink,downlinkMax:n?.downlinkMax,effectiveType:n?.effectiveType,rtt:n?.rtt,saveData:n?.saveData,type:n?.type});};return s(),window.addEventListener("online",s),window.addEventListener("offline",s),n&&n.addEventListener("change",s),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",s),n&&n.removeEventListener("change",s);}},[]),e}function Ht(e){let[t,r]=react$1.useState(false),n=!x&&!!document.fullscreenEnabled,s=react$1.useCallback(()=>e?.current??document.documentElement,[e]),o=react$1.useCallback(async()=>{if(x||!n)return;let u=s();if(u)try{await u.requestFullscreen();}catch(c){console.error("Failed to enter fullscreen:",c);}},[n,s]),i=react$1.useCallback(async()=>{if(!(x||!n))try{await document.exitFullscreen();}catch(u){console.error("Failed to exit fullscreen:",u);}},[n]),a=react$1.useCallback(async()=>{t?await i():await o();},[t,o,i]);return react$1.useEffect(()=>{if(x)return;let u=()=>{r(!!document.fullscreenElement);};return document.addEventListener("fullscreenchange",u),()=>{document.removeEventListener("fullscreenchange",u);}},[]),{isFullscreen:t,isSupported:n,enter:o,exit:i,toggle:a}}function Wt(){let[e,t]=react$1.useState(false),[r,n]=react$1.useState(false),[s,o]=react$1.useState(null),i=!x&&!!navigator.share,a=react$1.useCallback(c=>x||!navigator.canShare||!c?i:navigator.canShare(c),[i]),u=react$1.useCallback(async c=>{if(x||!i)return o(new Error("Web Share API is not supported")),false;t(true),n(false),o(null);try{return await navigator.share(c),n(!0),!0}catch(l){if(l instanceof Error&&l.name==="AbortError")return n(false),false;let m=l instanceof Error?l:new Error("Share failed");return o(m),false}finally{t(false);}},[i]);return {isSupported:i,isSharing:e,isSuccess:r,error:s,share:u,canShare:a}}function Bt(e){let[t,r]=react$1.useState("unknown");return react$1.useEffect(()=>{if(x||!navigator.permissions)return;let n=true,s=null,o=()=>{n&&s&&r(s.state);};return navigator.permissions.query({name:e}).then(i=>{n&&(s=i,r(s.state),i.addEventListener("change",o));}).catch(()=>{n&&r("unknown");}),()=>{n=false,s&&s.removeEventListener("change",o);}},[e]),t}function Gt({onRequest:e,onRelease:t,onError:r}={}){let[n,s]=react$1.useState(),o=react$1.useRef(null),i=!x&&"wakeLock"in navigator,a=react$1.useCallback(async()=>{if(o.current)try{await o.current.release(),o.current=null;}catch(c){r?.(c instanceof Error?c:new Error(String(c)));}},[r]),u=react$1.useCallback(async()=>{if(i)try{let c=await navigator.wakeLock.request("screen");c.addEventListener("release",()=>{s(!0),t?.(),o.current=null;}),o.current=c,s(!1),e?.();}catch(c){r?.(c instanceof Error?c:new Error(String(c)));}},[i,e,t,r]);return react$1.useEffect(()=>()=>{a();},[a]),react$1.useEffect(()=>{let c=async()=>{o.current!==null&&document.visibilityState;};return document.addEventListener("visibilitychange",c),()=>{document.removeEventListener("visibilitychange",c);}},[]),{isSupported:i,released:n??true,request:u,release:a}}function jt(){let[e,t]=react$1.useState([]),[r,n]=react$1.useState(true),[s,o]=react$1.useState(null),i=!x&&!!navigator.mediaDevices?.enumerateDevices,a=B(async()=>{if(!i){n(false);return}try{let u=await navigator.mediaDevices.enumerateDevices();t(u),o(null);}catch(u){o(u instanceof Error?u:new Error(String(u)));}finally{n(false);}});return react$1.useEffect(()=>{if(a(),i)return navigator.mediaDevices.addEventListener("devicechange",a),()=>{navigator.mediaDevices.removeEventListener("devicechange",a);}},[a,i]),{devices:e,isLoading:r,error:s,isSupported:i}}function $t(e,t){let[r,n]=react$1.useState("idle"),[s,o]=react$1.useState(),[i,a]=react$1.useState(),[u,c]=react$1.useState(null),l=react$1.useRef(null),m=react$1.useRef([]),f=react$1.useCallback(h=>{if(e)try{l.current||(l.current=new MediaRecorder(e,t),l.current.ondataavailable=y=>{y.data&&y.data.size>0&&m.current.push(y.data);},l.current.onerror=y=>{c(y.error),n("idle");},l.current.onstop=()=>{let y=new Blob(m.current,{type:t?.mimeType||"video/webm"});o(y);let S=URL.createObjectURL(y);a(S),m.current=[],n("stopped");}),l.current.state!=="recording"&&(l.current.start(h),n("recording"));}catch(y){c(y instanceof Error?y:new Error(String(y)));}},[e,t]),p=react$1.useCallback(()=>{l.current&&l.current.state!=="inactive"&&l.current.stop();},[]),d=react$1.useCallback(()=>{l.current&&l.current.state==="recording"&&(l.current.pause(),n("paused"));},[]),g=react$1.useCallback(()=>{l.current&&l.current.state==="paused"&&(l.current.resume(),n("recording"));},[]),v=react$1.useCallback(()=>{i&&URL.revokeObjectURL(i),o(void 0),a(void 0),c(null),n("idle");},[i]);return {status:r,start:f,stop:p,pause:d,resume:g,isRecording:r==="recording",mediaBlob:s,mediaUrl:i,clear:v,error:u}}function Qt(){let[e,t]=react$1.useState({supported:false,loading:true,level:1,charging:false,chargingTime:0,dischargingTime:1/0});return react$1.useEffect(()=>{if(x||!("getBattery"in navigator)){t(o=>({...o,loading:false,supported:false}));return}let r=true,n=null,s=()=>{!r||!n||t({supported:true,loading:false,level:n.level,charging:n.charging,chargingTime:n.chargingTime,dischargingTime:n.dischargingTime});};return navigator.getBattery().then(o=>{r&&(n=o,s(),n.addEventListener("levelchange",s),n.addEventListener("chargingchange",s),n.addEventListener("chargingtimechange",s),n.addEventListener("dischargingtimechange",s));}),()=>{r=false,n&&(n.removeEventListener("levelchange",s),n.removeEventListener("chargingchange",s),n.removeEventListener("chargingtimechange",s),n.removeEventListener("dischargingtimechange",s));}},[]),e}function Nt(){let[e,t]=react$1.useState(null),[r,n]=react$1.useState(null),[s,o]=react$1.useState(null),[i,a]=react$1.useState(false),u=!x&&"bluetooth"in navigator,c=react$1.useCallback(()=>{e&&e.gatt?.connected&&e.gatt.disconnect(),t(null),n(null),a(false);},[e]),l=react$1.useCallback(async m=>{if(!u){o(new Error("Bluetooth API not supported"));return}a(true),o(null);try{let f=await navigator.bluetooth.requestDevice(m||{acceptAllDevices:!0});if(t(f),f.addEventListener("gattserverdisconnected",()=>{n(null);}),f.gatt){let p=await f.gatt.connect();n(p);}}catch(f){o(f instanceof Error?f:new Error(String(f)));}finally{a(false);}},[u]);return {isSupported:u,isConnected:!!r?.connected,isConnecting:i,device:e,server:r,error:s,requestDevice:l,disconnect:c}}function Zt(e={}){let{enabled:t=true}=e,[r,n]=react$1.useState([]),s=react$1.useRef(null),o=()=>{if(x)return;let i=navigator.getGamepads?navigator.getGamepads():[],a=Array.from(i);n(a);};return react$1.useEffect(()=>{if(!x)return window.addEventListener("gamepadconnected",o),window.addEventListener("gamepaddisconnected",o),()=>{window.removeEventListener("gamepadconnected",o),window.removeEventListener("gamepaddisconnected",o);}},[]),react$1.useEffect(()=>{if(x||!t)return;let i=()=>{o(),s.current=requestAnimationFrame(i);};return s.current=requestAnimationFrame(i),()=>{s.current&&cancelAnimationFrame(s.current);}},[t]),{gamepads:r}}function Xt(){let[e,t]=react$1.useState(null),[r,n]=react$1.useState(null),[s,o]=react$1.useState(null),i=!x&&"showOpenFilePicker"in window,a=react$1.useCallback(async c=>{if(!i){o(new Error("File System Access API not supported"));return}try{let m=(await window.showOpenFilePicker(c))[0],f=await m.getFile();n(m),t(f),o(null);}catch(l){l.name!=="AbortError"&&o(l instanceof Error?l:new Error(String(l)));}},[i]),u=react$1.useCallback(async(c,l)=>{if(!i){o(new Error("File System Access API not supported"));return}try{let f=await(await window.showSaveFilePicker(l)).createWritable();await f.write(c),await f.close(),o(null);}catch(m){m.name!=="AbortError"&&o(m instanceof Error?m:new Error(String(m)));}},[i]);return {isSupported:i,file:e,fileHandle:r,openFile:a,saveFile:u,error:s}}function er(){let[e,t]=react$1.useState({quota:void 0,usage:void 0,supported:false,loading:true});return react$1.useEffect(()=>{if(x||!navigator.storage?.estimate){t(r=>({...r,loading:false,supported:false}));return}navigator.storage.estimate().then(({quota:r,usage:n})=>{t({quota:r,usage:n,supported:true,loading:false});}).catch(()=>{t(r=>({...r,loading:false}));});},[]),e}function or(e,t={}){let{immediate:r=false,initialData:n,onSuccess:s,onError:o}=t,[i,a]=react$1.useState("idle"),[u,c]=react$1.useState(n),[l,m]=react$1.useState(null),f=react$1.useRef(true),p=react$1.useRef(e);p.current=e;let d=react$1.useCallback(async(...v)=>{a("pending"),m(null);try{let h=await p.current(...v);return f.current&&(c(h),a("success"),s?.(h)),h}catch(h){let y=h instanceof Error?h:new Error(String(h));f.current&&(m(y),a("error"),o?.(y));return}},[s,o]),g=react$1.useCallback(()=>{a("idle"),c(n),m(null);},[n]);return react$1.useEffect(()=>{r&&d();},[]),react$1.useEffect(()=>(f.current=true,()=>{f.current=false;}),[]),{data:u,error:l,status:i,isLoading:i==="pending",isSuccess:i==="success",isError:i==="error",execute:d,reset:g}}function ar(e,t={}){let{immediate:r=true,initialData:n,transform:s,retries:o=0,retryDelay:i=1e3,onSuccess:a,onError:u,abortPrevious:c=true,...l}=t,[m,f]=react$1.useState(n),[p,d]=react$1.useState(null),[g,v]=react$1.useState("idle"),h=react$1.useRef(null),y=react$1.useRef(true),S=react$1.useRef(0),b=react$1.useCallback(()=>{h.current?.abort();},[]),T=react$1.useRef(l);T.current=l;let R=react$1.useRef(a);R.current=a;let I=react$1.useRef(u);I.current=u;let L=react$1.useRef(s);L.current=s;let ae=react$1.useCallback(async()=>{if(!e)return;c&&b();let w=new AbortController;h.current=w,v("loading"),d(null);let U=async F=>{try{let E=await fetch(e,{...T.current,signal:w.signal});if(!E.ok)throw new Error(`HTTP ${E.status}: ${E.statusText}`);let H=L.current?await L.current(E):await E.json();y.current&&!w.signal.aborted&&(f(H),v("success"),d(null),S.current=0,R.current?.(H));}catch(E){if(E instanceof Error&&E.name==="AbortError")return;let H=E instanceof Error?E:new Error(String(E));if(F<o&&y.current&&(S.current=F+1,await new Promise(Wr=>setTimeout(Wr,i)),!w.signal.aborted))return U(F+1);y.current&&!w.signal.aborted&&(d(H),v("error"),S.current=0,I.current?.(H));}};await U(0);},[e,o,i,b,c]);return react$1.useEffect(()=>(r&&e&&ae(),()=>{b();}),[e,r]),react$1.useEffect(()=>(y.current=true,()=>{y.current=false;}),[]),{data:m,error:p,status:g,isLoading:g==="loading",isSuccess:g==="success",isError:g==="error",refetch:ae,abort:b}}var C=new Map;function ur(e,t={}){let{immediate:r=true,removeOnUnmount:n=false,attributes:s={}}=t,[o,i]=react$1.useState(()=>{if(x)return "idle";let c=C.get(e);return c||(document.querySelector(`script[src="${e}"]`)?"ready":"idle")}),a=react$1.useRef(false),u=()=>{if(x||a.current)return;if(C.get(e)==="ready"){i("ready");return}if(document.querySelector(`script[src="${e}"]`)){i("ready"),C.set(e,"ready");return}a.current=true,i("loading"),C.set(e,"loading");let m=document.createElement("script");m.src=e,m.async=true,Object.entries(s).forEach(([d,g])=>{m.setAttribute(d,g);});let f=()=>{i("ready"),C.set(e,"ready");},p=()=>{i("error"),C.set(e,"error"),m.remove();};m.addEventListener("load",f),m.addEventListener("error",p),document.body.appendChild(m);};return react$1.useEffect(()=>(r&&o==="idle"&&u(),()=>{if(n&&!x){let c=document.querySelector(`script[src="${e}"]`);c&&(c.remove(),C.delete(e));}}),[e,r]),{status:o,isLoading:o==="loading",isReady:o==="ready",isError:o==="error",load:u}}function fr(e){let[t,r]=react$1.useState(),[n,s]=react$1.useState(null),[o,i]=react$1.useState("idle"),a=react$1.useRef(null),u=react$1.useRef(null);react$1.useEffect(()=>x?void 0:((()=>{try{let f;if(typeof e=="string")f=new Worker(e);else {let p=`
|
|
8
|
+
self.onmessage = function(e) {
|
|
9
|
+
const result = (${e.toString()})(e.data);
|
|
10
|
+
self.postMessage(result);
|
|
11
|
+
}
|
|
12
|
+
`,d=new Blob([p],{type:"application/javascript"}),g=URL.createObjectURL(d);u.current=g,f=new Worker(g);}f.onmessage=p=>{r(p.data),i("success");},f.onerror=p=>{s(new Error(p.message)),i("error");},a.current=f;}catch(f){s(f instanceof Error?f:new Error(String(f))),i("error");}})(),()=>{a.current?.terminate(),u.current&&URL.revokeObjectURL(u.current);}),[e]);let c=react$1.useCallback(m=>{a.current&&(i("running"),s(null),a.current.postMessage(m));},[]),l=react$1.useCallback(()=>{a.current?.terminate(),i("idle");},[]);return {result:t,error:n,status:o,run:c,terminate:l}}function pr(e,t,r){let[n,s]=react$1.useState(),[o,i]=react$1.useState(null),[a,u]=react$1.useState(true),c=react$1.useCallback(()=>new Promise((p,d)=>{let g=indexedDB.open(e,1);g.onupgradeneeded=v=>{let h=v.target.result;h.objectStoreNames.contains(t)||h.createObjectStore(t);},g.onsuccess=()=>p(g.result),g.onerror=()=>d(g.error);}),[e,t]),l=react$1.useCallback(async()=>{if(x){u(false);return}try{let v=(await c()).transaction(t,"readonly").objectStore(t).get(r);v.onsuccess=()=>{s(v.result),u(!1);},v.onerror=()=>{throw v.error};}catch(p){i(p instanceof Error?p:new Error(String(p))),u(false);}},[r,t,c]);react$1.useEffect(()=>{l();},[l]);let m=react$1.useCallback(async p=>{try{let v=(await c()).transaction(t,"readwrite").objectStore(t);return new Promise((h,y)=>{let S=v.put(p,r);S.onsuccess=()=>{s(p),h();},S.onerror=()=>y(S.error);})}catch(d){throw i(d instanceof Error?d:new Error(String(d))),d}},[c,t,r]),f=react$1.useCallback(async()=>{try{let g=(await c()).transaction(t,"readwrite").objectStore(t);return new Promise((v,h)=>{let y=g.delete(r);y.onsuccess=()=>{s(void 0),v();},y.onerror=()=>h(y.error);})}catch(p){throw i(p instanceof Error?p:new Error(String(p))),p}},[c,t,r]);return {value:n,set:m,remove:f,error:o,isLoading:a}}function mr(e,t={}){let{maxSize:r=100}=t,[n,s]=react$1.useState({history:[e],position:0}),{history:o,position:i}=n,a=o[i],u=react$1.useCallback(g=>{s(v=>{let{history:h,position:y}=v,S=typeof g=="function"?g(h[y]):g,T=[...h.slice(0,y+1),S];if(T.length>r){let R=T.slice(T.length-r);return {history:R,position:R.length-1}}return {history:T,position:T.length-1}});},[r]),c=react$1.useCallback(()=>{s(g=>({...g,position:Math.max(0,g.position-1)}));},[]),l=react$1.useCallback(()=>{s(g=>({...g,position:Math.min(g.history.length-1,g.position+1)}));},[]),m=react$1.useCallback(g=>{s({history:[g],position:0});},[]),f=react$1.useCallback(g=>{s(v=>{let h=v.history.length-1;return {...v,position:Math.max(0,Math.min(h,g))}});},[]),p=i>0,d=i<o.length-1;return {value:a,set:u,undo:c,redo:l,reset:m,canUndo:p,canRedo:d,history:o,position:i,go:f}}function dr(e){let{initialStep:t=0,maxStep:r}=e,[n,s]=react$1.useState(()=>Math.max(0,Math.min(t,r-1))),o=react$1.useCallback(()=>{s(p=>Math.min(p+1,r-1));},[r]),i=react$1.useCallback(()=>{s(p=>Math.max(p-1,0));},[]),a=react$1.useCallback(p=>{s(Math.max(0,Math.min(p,r-1)));},[r]),u=react$1.useCallback(()=>{s(Math.max(0,Math.min(t,r-1)));},[t,r]),c=react$1.useCallback(p=>p<n,[n]),l=n===0,m=n===r-1,f=react$1.useMemo(()=>(n+1)/r*100,[n,r]);return {currentStep:n,step:n+1,next:o,prev:i,goTo:a,reset:u,isFirst:l,isLast:m,progress:f,totalSteps:r,isStepComplete:c}}function xr(e){let{totalItems:t,pageSize:r=10,initialPage:n=1,siblings:s=1}=e,[o,i]=react$1.useState(()=>Math.max(1,n)),[a,u]=react$1.useState(r),c=react$1.useMemo(()=>Math.max(1,Math.ceil(t/a)),[t,a]),l=react$1.useMemo(()=>Math.min(o,c),[o,c]),m=react$1.useCallback(()=>{i(b=>Math.min(b+1,c));},[c]),f=react$1.useCallback(()=>{i(b=>Math.max(b-1,1));},[]),p=react$1.useCallback(b=>{i(Math.max(1,Math.min(b,c)));},[c]),d=react$1.useCallback(()=>{i(1);},[]),g=react$1.useCallback(()=>{i(c);},[c]),v=react$1.useCallback(b=>{let T=Math.max(1,Math.ceil(t/b));u(b),i(R=>Math.min(R,T));},[t]),h=(l-1)*a,y=Math.min(h+a,t),S=react$1.useMemo(()=>{if(s*2+5>=c)return Array.from({length:c},(w,U)=>U+1);let T=Math.max(l-s,1),R=Math.min(l+s,c),I=T>2,L=R<c-1;if(!I&&L){let w=3+2*s;return [...Array.from({length:w},(F,E)=>E+1),"dots",c]}if(I&&!L){let w=3+2*s;return [1,"dots",...Array.from({length:w},(F,E)=>c-w+E+1)]}return [1,"dots",...Array.from({length:R-T+1},(w,U)=>T+U),"dots",c]},[l,c,s]);return {page:l,totalPages:c,pageSize:a,next:m,prev:f,goTo:p,first:d,last:g,isFirst:l===1,isLast:l===c,startIndex:h,endIndex:y,range:S,setPageSize:v}}function vr(e){let[t,r]=react$1.useReducer((n,s)=>{let i=e.states[n]?.on?.[s];return i?typeof i=="string"?i:(i.action&&i.action(),i.target):n},e.initial);return [t,r]}function hr(e){let{itemHeight:t,itemCount:r,containerHeight:n,overscan:s=3}=e,[o,i]=react$1.useState(0),a=r*t,u=react$1.useCallback(l=>{i(l.currentTarget.scrollTop);},[]);return {items:react$1.useMemo(()=>{let l=Math.max(0,Math.floor(o/t)-s),m=Math.min(r-1,Math.floor((o+n)/t)+s),f=[];for(let p=l;p<=m;p++)f.push({index:p,style:{position:"absolute",top:p*t,height:t,width:"100%"}});return f},[o,t,r,n,s]),totalHeight:a,onScroll:u}}function yr(e,t={}){let{threshold:r=0,rootMargin:n="0px",isLoading:s=false,hasMore:o=true,disabled:i=false}=t,a=react$1.useRef(null),u=B(e);return react$1.useEffect(()=>{if(i||s||!o||!a.current)return;let c=new IntersectionObserver(l=>{l[0].isIntersecting&&u();},{threshold:r,rootMargin:n});return c.observe(a.current),()=>{c.disconnect();}},[i,s,o,r,n,u]),a}function yo(e={}){let{apiKey:t,model:r="claude-3-haiku-20240307",maxTokens:n=1024,temperature:s=.7}=e,[o,i]=react$1.useState(false),[a,u]=react$1.useState(null),[c,l]=react$1.useState(null);return {chat:react$1.useCallback(async f=>{i(true),u(null),l(null);try{let p=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":t||"","anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:r,messages:f,max_tokens:n,temperature:s})});if(!p.ok){let v=await p.json();throw new Error(v.error?.message||"Anthropic API Error")}let g=(await p.json()).content?.[0]?.text||"";return u(g),g}catch(p){throw l(p),p}finally{i(false);}},[t,r,n,s]),response:a,loading:o,error:c}}function bo(e){let[t,r]=react$1.useState(null),[n,s]=react$1.useState(false),[o,i]=react$1.useState(null),a=react$1.useCallback(async u=>{s(true),i(null);try{let c=await e(u);return r(c),c}catch(c){throw i(c),c}finally{s(false);}},[e]);return {embeddings:t,loading:n,error:o,generate:a}}function Eo(e={}){let{apiKey:t,model:r="gemini-pro"}=e,[n,s]=react$1.useState(false),[o,i]=react$1.useState(null),[a,u]=react$1.useState(null);return {chat:react$1.useCallback(async l=>{s(true),i(null),u(null);try{let m=`https://generativelanguage.googleapis.com/v1beta/models/${r}:generateContent?key=${t}`,f=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:l})});if(!f.ok){let g=await f.json();throw new Error(g.error?.message||"Gemini API Error")}let d=(await f.json()).candidates?.[0]?.content?.parts?.[0]?.text||"";return i(d),d}catch(m){throw u(m),m}finally{s(false);}},[t,r]),response:o,loading:n,error:a}}function wo(e={}){let[t,r]=react$1.useState(""),[n,s]=react$1.useState(false),[o,i]=react$1.useState(null),a=react$1.useRef(null),u=react$1.useCallback(async(l,m={})=>{try{a.current&&a.current.abort();let f=new AbortController;a.current=f,s(!0),i(null),r("");let p=await fetch(l,{...m,signal:f.signal});if(!p.ok)throw new Error(`HTTP Error: ${p.status} ${p.statusText}`);let d=p.body?.getReader(),g=new TextDecoder;if(!d)throw new Error("Response body is not readable");let v="";for(;;){let{done:h,value:y}=await d.read();if(h)break;let S=g.decode(y,{stream:!0});v+=S,r(b=>b+S),e.onToken?.(S,v);}e.onComplete?.(v);}catch(f){if(f.name==="AbortError")return;i(f),e.onError?.(f);}finally{s(false),a.current=null;}},[e]),c=react$1.useCallback(()=>{a.current&&(a.current.abort(),a.current=null,s(false));},[]);return {stream:u,cancel:c,data:t,loading:n,error:o}}function Oo(e={}){let{apiKey:t,apiBase:r="https://api.openai.com/v1",model:n="gpt-3.5-turbo",temperature:s=.7,stream:o=false}=e,[i,a]=react$1.useState(false),[u,c]=react$1.useState(null),[l,m]=react$1.useState(null);return {chat:react$1.useCallback(async p=>{a(true),c(null),m(null);try{let d=await fetch(`${r}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({model:n,messages:p,temperature:s,stream:!1})});if(!d.ok){let h=await d.json();throw new Error(h.error?.message||"OpenAI API Error")}let v=(await d.json()).choices?.[0]?.message?.content||"";return c(v),v}catch(d){throw m(d),d}finally{a(false);}},[t,r,n,s]),response:u,loading:i,error:l}}function Co(e){let[t,r]=react$1.useState(false),[n,s]=react$1.useState(null),[o,i]=react$1.useState([]),[a,u]=react$1.useState(null);return {ask:react$1.useCallback(async l=>{r(true),u(null),s(null),i([]);try{let m=await e.retrieve(l);i(m);let f=`
|
|
13
|
+
Context documents:
|
|
14
|
+
${m.map(d=>`- ${d.content}`).join(`
|
|
15
|
+
`)}
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
var index_exports = {};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(index_exports);
|
|
27
|
-
function useVersion() {
|
|
28
|
-
return "0.0.1";
|
|
29
|
-
}
|
|
30
|
-
var index_default = {
|
|
31
|
-
version: "0.0.1"
|
|
32
|
-
};
|
|
33
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
-
0 && (module.exports = {
|
|
35
|
-
useVersion
|
|
36
|
-
});
|
|
17
|
+
Query: ${l}
|
|
18
|
+
`,p=await e.generate(f,m);return s(p),p}catch(m){throw u(m),m}finally{r(false);}},[e]),answer:n,retrievedDocs:o,loading:t,error:a}}function Mo(e,t,r={}){let{caseSensitive:n=false}=r;return react$1.useMemo(()=>{if(!t)return [{text:e,isMatch:false}];let s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=n?"g":"gi",i=new RegExp(`(${s})`,o);return e.split(i).filter(u=>u).map(u=>{let c=n?u===t:u.toLowerCase()===t.toLowerCase();return {text:u,isMatch:c}})},[e,t,n])}function Do(e,t,r,n=5){return react$1.useMemo(()=>!e||t.length===0?[]:t.map(o=>{let i=r(o),a=Po(e,i);return {item:o,score:a}}).sort((o,i)=>i.score-o.score).slice(0,n),[e,t,r,n])}function Po(e,t){if(e.length!==t.length)return 0;let r=0,n=0,s=0;for(let o=0;o<e.length;o++)r+=e[o]*t[o],n+=e[o]*e[o],s+=t[o]*t[o];return n=Math.sqrt(n),s=Math.sqrt(s),n===0||s===0?0:r/(n*s)}function Fo(e={}){let[t,r]=react$1.useState(false),[n,s]=react$1.useState(""),[o,i]=react$1.useState(false),a=react$1.useRef(null),u=react$1.useRef(e);u.current=e,react$1.useEffect(()=>{let f=window.SpeechRecognition||window.webkitSpeechRecognition;f&&(i(true),a.current=new f);},[]);let c=react$1.useCallback(()=>{if(!a.current)return;let f=a.current,p=u.current;f.continuous=p.continuous??false,f.interimResults=p.interimResults??false,f.lang=p.lang||"en-US",f.onstart=()=>r(true),f.onresult=d=>{let g="";for(let v=d.resultIndex;v<d.results.length;++v)(d.results[v].isFinal||p.interimResults)&&(g+=d.results[v][0].transcript);s(g),p.onResult?.(g);},f.onerror=d=>{r(false),p.onError?.(d.error);},f.onend=()=>{r(false),p.onEnd?.();};try{f.start();}catch{}},[]),l=react$1.useCallback(()=>{a.current?.stop(),r(false);},[]),m=react$1.useCallback(()=>{a.current?.abort(),r(false);},[]);return {listen:c,stop:l,abort:m,listening:t,transcript:n,supported:o}}function Vo(e={}){let[t,r]=react$1.useState(false),[n,s]=react$1.useState(false),[o,i]=react$1.useState([]),a=react$1.useRef(e);a.current=e,react$1.useEffect(()=>{if(typeof window<"u"&&"speechSynthesis"in window){s(true);let l=()=>{i(window.speechSynthesis.getVoices());};l(),window.speechSynthesis.onvoiceschanged=l;}},[]);let u=react$1.useCallback(()=>{n&&(window.speechSynthesis.cancel(),r(false));},[n]),c=react$1.useCallback((l,m={})=>{if(!n)return;u();let f={...a.current,...m},p=new SpeechSynthesisUtterance(l);if(f.volume!==void 0&&(p.volume=f.volume),f.rate!==void 0&&(p.rate=f.rate),f.pitch!==void 0&&(p.pitch=f.pitch),f.voiceURI){let d=o.find(g=>g.voiceURI===f.voiceURI);d&&(p.voice=d);}p.onstart=()=>{r(true),f.onStart?.();},p.onend=()=>{r(false),f.onEnd?.();},p.onerror=d=>{r(false),f.onError?.(d);},window.speechSynthesis.speak(p);},[n,o,u]);return react$1.useEffect(()=>()=>{n&&window.speechSynthesis.cancel();},[n]),{speak:c,cancel:u,speaking:t,supported:n,voices:o}}function zo(e,t=true){let r=react$1.useRef(),n=react$1.useRef(),s=W(e),o=react$1.useCallback(i=>{if(n.current!==void 0){let a=i-n.current;s(i,a);}n.current=i,r.current=requestAnimationFrame(o);},[s]);react$1.useEffect(()=>(t?r.current=requestAnimationFrame(o):(n.current=void 0,r.current&&cancelAnimationFrame(r.current)),()=>{r.current&&cancelAnimationFrame(r.current);}),[t,o]);}function Ae(){let e=react$1.useRef(null),[t,r]=react$1.useState({playing:false,paused:true,muted:false,volume:1,time:0,duration:0,buffered:0,waiting:false,ended:false}),n=react$1.useCallback(()=>{let o=e.current;o&&r({playing:!o.paused&&!o.ended&&o.readyState>2,paused:o.paused,muted:o.muted,volume:o.volume,time:o.currentTime,duration:o.duration||0,buffered:o.buffered.length>0?o.buffered.end(o.buffered.length-1):0,waiting:o.readyState<3,ended:o.ended});},[]);return react$1.useEffect(()=>{let o=e.current;if(!o)return;let i=["loadstart","loadedmetadata","canplay","play","playing","pause","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","volumechange"];return i.forEach(a=>o.addEventListener(a,n)),n(),()=>{i.forEach(a=>o.removeEventListener(a,n));}},[n]),{ref:e,controls:{play:async()=>{await e.current?.play();},pause:()=>{e.current?.pause();},toggle:()=>{let o=e.current;o&&(o.paused?o.play():o.pause());},seek:o=>{e.current&&(e.current.currentTime=o);},mute:()=>{e.current&&(e.current.muted=true);},unmute:()=>{e.current&&(e.current.muted=false);},setVolume:o=>{e.current&&(e.current.volume=Math.max(0,Math.min(1,o)));}},state:t}}function $o(){return Ae()}function Qo(){return Ae()}function No(e={}){let t=react$1.useRef(null),r=react$1.useRef(),n=react$1.useRef(0);return react$1.useEffect(()=>{let s=t.current;if(!s)return;let o=s.getContext("2d");if(!o)return;let i=window.devicePixelRatio||1,a=s.getBoundingClientRect(),u=e.width??a.width,c=e.height??a.height;s.width=u*i,s.height=c*i,o.scale(i,i),s.style.width=`${u}px`,s.style.height=`${c}px`;let l=()=>{n.current++,e.animate&&e.animate(o,n.current),r.current=requestAnimationFrame(l);};return e.animate&&l(),()=>{r.current&&cancelAnimationFrame(r.current);}},[e.width,e.height,e.animate]),t}function _o(e=true){let[t,r]=react$1.useState(0),n=react$1.useRef(0),s=react$1.useRef(performance.now()),o=react$1.useRef();return react$1.useEffect(()=>{if(!e)return;let i=a=>{n.current++,a-s.current>=1e3&&(r(n.current),n.current=0,s.current=a),o.current=requestAnimationFrame(i);};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current);}},[e]),t}function ts(e,t){let r=react$1.useRef();return react$1.useEffect(()=>{if(!e.current)return;let n=Xo__default.default.loadAnimation({container:e.current,renderer:"svg",loop:t.loop??true,autoplay:t.autoplay??true,animationData:t.animationData,path:t.path});return r.current=n,t.speed&&n.setSpeed(t.speed),t.direction&&n.setDirection(t.direction),()=>{n.destroy();}},[t.path,t.animationData]),react$1.useEffect(()=>{r.current&&(t.speed!==void 0&&r.current.setSpeed(t.speed),t.direction!==void 0&&r.current.setDirection(t.direction),t.isPlaying!==void 0&&(t.isPlaying?r.current.play():r.current.pause()));},[t.speed,t.direction,t.isPlaying]),r.current}function ss(e={}){let{speed:t=.5,axis:r="y"}=e,[n,s]=react$1.useState(0),o=react$1.useRef(null);return react$1.useEffect(()=>{let i=()=>{if(!o.current)return;o.current.getBoundingClientRect();let u=window.scrollY||window.pageYOffset,c=window.scrollX||window.pageXOffset;s((r==="y"?u:c)*t);};return window.addEventListener("scroll",i,{passive:true}),i(),()=>window.removeEventListener("scroll",i)},[t,r]),{ref:o,style:{transform:r==="y"?`translateY(${n}px)`:`translateX(${n}px)`,willChange:"transform"}}}var us={stiffness:170,damping:26,mass:1};function cs(e,t={}){let[r,n]=react$1.useState(t.initialValue??e),s=react$1.useRef(0),o=react$1.useRef(t.initialValue??e),i=react$1.useRef(),a=react$1.useRef(),u={...us,...t};return react$1.useEffect(()=>{let c=l=>{if(i.current===void 0){i.current=l,a.current=requestAnimationFrame(c);return}let m=(l-i.current)/1e3;i.current=l;let f=Math.min(m,.1),p=-u.stiffness*(o.current-e),d=-u.damping*s.current,g=(p+d)/u.mass;if(s.current+=g*f,o.current+=s.current*f,n(o.current),Math.abs(s.current)<.01&&Math.abs(o.current-e)<.01){n(e),o.current=e,s.current=0;return}a.current=requestAnimationFrame(c);};return o.current!==e&&(i.current=void 0,a.current=requestAnimationFrame(c)),()=>{a.current&&cancelAnimationFrame(a.current);}},[e,u.stiffness,u.damping,u.mass]),r}function ps(e,t={}){let[r,n]=react$1.useState(e),{duration:s=1e3,delay:o=0,easing:i=a=>a}=t;return react$1.useEffect(()=>{let a=null,u,c=l=>{a||(a=l);let m=l-a,f=Math.min(Math.max((m-o)/s,0),1),p=i(f);n(e*(1-p)),f<1&&(u=requestAnimationFrame(c));};return u=requestAnimationFrame(c),()=>{cancelAnimationFrame(u);}},[e,s,o]),{strokeDasharray:e,strokeDashoffset:r}}function ds(e,t={}){let{init:r,animate:n,resize:s=true}=t,o=react$1.useRef(),i=react$1.useRef(),a=react$1.useRef(),u=react$1.useRef();return react$1.useEffect(()=>{if(!e.current)return;let c=e.current.clientWidth,l=e.current.clientHeight,m=new P__namespace.Scene,f=new P__namespace.PerspectiveCamera(75,c/l,.1,1e3),p=new P__namespace.WebGLRenderer({alpha:true,antialias:true});p.setSize(c,l),e.current.appendChild(p.domElement),i.current=m,a.current=f,o.current=p,r&&r(m,f,p);let d=v=>{n&&n(v,m,f),p.render(m,f),u.current=requestAnimationFrame(d);};d(0);let g=()=>{if(!e.current)return;let v=e.current.clientWidth,h=e.current.clientHeight;f.aspect=v/h,f.updateProjectionMatrix(),p.setSize(v,h);};return s&&window.addEventListener("resize",g),()=>{u.current&&cancelAnimationFrame(u.current),s&&window.removeEventListener("resize",g),p.dispose(),e.current&&e.current.removeChild(p.domElement);}},[r,n,s]),{scene:i.current,camera:a.current,renderer:o.current}}function ys(e){let[t,r]=react$1.useState(null),n=react$1.useRef(null);return react$1.useEffect(()=>{let o=new BroadcastChannel(e);return n.current=o,o.onmessage=i=>{r(i.data);},()=>{o.close();}},[e]),{postMessage:react$1.useCallback(o=>{n.current?.postMessage(o);},[]),lastMessage:t}}function bs(e={}){let[t,r]=react$1.useState(e.initialDate||new Date),n=react$1.useMemo(()=>{let a=t.getFullYear(),u=t.getMonth();return new Date(a,u+1,0).getDate()},[t]),s=react$1.useMemo(()=>{let a=t.getFullYear(),u=t.getMonth();return new Date(a,u,1).getDay()},[t]);return {date:t,daysInMonth:n,firstDayOfMonth:s,nextMonth:()=>{r(a=>new Date(a.getFullYear(),a.getMonth()+1,1));},prevMonth:()=>{r(a=>new Date(a.getFullYear(),a.getMonth()-1,1));},setHeader:r}}function ws(e={}){let[t,r]=react$1.useState(false),n=react$1.useRef(null),s=react$1.useCallback(u=>{u.preventDefault(),u.stopPropagation(),r(true);},[]),o=react$1.useCallback(u=>{u.preventDefault(),u.stopPropagation(),r(false);},[]),i=react$1.useCallback(u=>{u.preventDefault(),u.stopPropagation();},[]),a=react$1.useCallback(u=>{if(u.preventDefault(),u.stopPropagation(),r(false),u.dataTransfer&&u.dataTransfer.files&&u.dataTransfer.files.length>0){let c=Array.from(u.dataTransfer.files);e.onDrop?.(c),u.dataTransfer.clearData();}},[e]);return react$1.useEffect(()=>{let u=n.current;if(u)return u.addEventListener("dragenter",s),u.addEventListener("dragleave",o),u.addEventListener("dragover",i),u.addEventListener("drop",a),()=>{u.removeEventListener("dragenter",s),u.removeEventListener("dragleave",o),u.removeEventListener("dragover",i),u.removeEventListener("drop",a);}},[s,o,i,a]),{ref:n,isDragging:t}}function Os(e={}){let[t,r]=react$1.useState(false),[n,s]=react$1.useState(null);return {process:react$1.useCallback(async i=>{r(true),s(null);try{if(e.limit&&i.size>e.limit)throw new Error("File too large");return await i.text()}catch(a){throw s(a.message),a}finally{r(false);}},[e.limit]),processing:t,error:n}}function ks(e){let[t,r]=react$1.useState(e.initialValues),[n,s]=react$1.useState({}),[o,i]=react$1.useState(false),[a,u]=react$1.useState({}),c=react$1.useCallback(p=>{let{name:d,value:g,type:v}=p.target,h=v==="checkbox"?p.target.checked:g;r(y=>({...y,[d]:h}));},[]),l=react$1.useCallback((p,d)=>{r(g=>({...g,[p]:d}));},[]),m=react$1.useCallback(p=>{let{name:d}=p.target;u(g=>({...g,[d]:true}));},[]),f=react$1.useCallback(async p=>{if(p?.preventDefault(),i(true),s({}),e.validate){let d=await e.validate(t);if(Object.keys(d).length>0){s(d),i(false);return}}try{await e.onSubmit(t);}catch{}finally{i(false);}},[t,e]);return {values:t,errors:n,touched:a,isSubmitting:o,handleChange:c,handleBlur:m,handleSubmit:f,setFieldValue:l,setValues:r}}function Cs(){return {compile:t=>t.replace(/^# (.*)/gm,"<h1>$1</h1>").replace(/^## (.*)/gm,"<h2>$1</h2>").replace(/\*\*(.*)\*\*/g,"<b>$1</b>")}}function As(){let[e,t]=react$1.useState(false);return {generate:react$1.useCallback(async(n,s="document.pdf")=>(t(true),await new Promise(o=>setTimeout(o,100)),console.log("Generating PDF for:",s),t(false),true),[]),generating:e}}function Ps(e=5e3){let[t,r]=react$1.useState(Date.now()),[n,s]=react$1.useState(false);return react$1.useEffect(()=>{let o=()=>{r(Date.now()),n&&s(false);};window.addEventListener("mousemove",o),window.addEventListener("keydown",o);let i=setInterval(()=>{Date.now()-t>e*2&&s(true);},e);return ()=>{window.removeEventListener("mousemove",o),window.removeEventListener("keydown",o),clearInterval(i);}},[e,t,n]),{isIdle:n,lastActive:t}}function Fs(e){let[t,r]=react$1.useState([]),n=react$1.useCallback((o,i)=>{let a={type:o,payload:i,timestamp:Date.now(),userId:e};r(u=>[...u,a]);},[e]),s=react$1.useCallback(o=>{r(i=>[...i,o]);},[]);return {events:t,emit:n,applyRemote:s}}function Vs(e){react$1.useEffect(()=>{let t=r=>{let n=[];r.ctrlKey&&n.push("Control"),r.metaKey&&n.push("Meta"),r.altKey&&n.push("Alt"),r.shiftKey&&n.push("Shift"),["Control","Meta","Alt","Shift"].includes(r.key)||n.push(r.key);let s=n.join("+");e[s]?e[s](r):e[r.key]&&e[r.key](r);};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]);}function zs(e){let[t,r]=react$1.useState(null),n=react$1.useCallback((s,o)=>{if(s===o)return;let i=[...e.items],[a]=i.splice(s,1);i.splice(o,0,a),e.onReorder(i);},[e]);return {draggedIndex:t,setDraggedIndex:r,move:n}}function Ks(e){let{rows:t,cols:r,initialData:n}=e,s=()=>n||Array.from({length:t},()=>Array(r).fill(null)),[o,i]=react$1.useState(s),[a,u]=react$1.useState(null);return {data:o,setCell:(l,m,f)=>{i(p=>{let d=[...p];return d[l]=[...d[l]],d[l][m]=f,d});},selectedCell:a,setSelectedCell:u}}function qs(e){let[t,r]=react$1.useState(e.initialSort||null),n=o=>{let i="asc";t&&t.key===o&&t.direction==="asc"&&(i="desc"),r({key:o,direction:i});};return {items:react$1.useMemo(()=>{let o=[...e.data];return t!==null&&o.sort((i,a)=>{let u=i[t.key],c=a[t.key];return u<c?t.direction==="asc"?-1:1:u>c?t.direction==="asc"?1:-1:0}),o},[e.data,t]),requestSort:n,sortConfig:t,columns:e.columns}}function Ys(e={}){let[t,r]=react$1.useState("new"),[n,s]=react$1.useState("stable"),o=react$1.useRef(null);return react$1.useEffect(()=>{let i=new RTCPeerConnection({iceServers:e.iceServers||[{urls:"stun:stun.l.google.com:19302"}]});return o.current=i,i.onconnectionstatechange=()=>r(i.connectionState),i.onsignalingstatechange=()=>s(i.signalingState),()=>{i.close();}},[e.iceServers]),{pc:o.current,connectionState:t,signalingState:n}}function Js(e,t={}){let{reconnect:r=true,reconnectAttempts:n=5,reconnectInterval:s=3e3}=t,[o,i]=react$1.useState(false),[a,u]=react$1.useState(null),c=react$1.useRef(null),l=react$1.useRef(0),m=react$1.useRef(),f=react$1.useCallback(()=>{m.current&&clearTimeout(m.current);let d=new WebSocket(e);c.current=d,d.onopen=g=>{i(true),l.current=0,t.onOpen?.(g);},d.onclose=g=>{i(false),t.onClose?.(g),r&&l.current<n&&(m.current=setTimeout(()=>{l.current++,f();},s));},d.onmessage=g=>{u(g),t.onMessage?.(g);},d.onerror=g=>{t.onError?.(g);};},[e,r,n,s,t]);return react$1.useEffect(()=>(f(),()=>{m.current&&clearTimeout(m.current),c.current?.close();}),[f]),{send:react$1.useCallback(d=>{c.current?.readyState===WebSocket.OPEN&&c.current.send(d);},[]),lastMessage:a,isConnected:o,ws:c.current}}function Zs(e){M("click",t=>{e(t);});}function ei({countStart:e,intervalMs:t=1e3,isIncrement:r=false,countStop:n=0}){let[s,o]=react$1.useState(e),[i,a]=react$1.useState(false),u=react$1.useRef(null),c=react$1.useCallback(()=>a(true),[]),l=react$1.useCallback(()=>a(false),[]),m=react$1.useCallback(()=>{a(false),o(e);},[e]);return react$1.useEffect(()=>{if(!i){u.current&&(clearInterval(u.current),u.current=null);return}return u.current=setInterval(()=>{o(f=>r?f<n?f+1:(a(false),f):f>n?f-1:(a(false),f));},t),()=>{u.current&&clearInterval(u.current);}},[i,t,r,n]),{count:s,startCountdown:c,stopCountdown:l,resetCountdown:m}}function ni(e,t=0,r={}){let n=react$1.useRef(e),s=react$1.useRef();return react$1.useEffect(()=>{n.current=e;},[e]),react$1.useMemo(()=>{let i=(...c)=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{n.current(...c);},t);},a=()=>{s.current&&clearTimeout(s.current);},u=()=>{s.current&&clearTimeout(s.current);};return i.cancel=a,i.flush=u,i},[t])}function ii(){let[e,t]=react$1.useState(false);return react$1.useEffect(()=>{t(true);},[]),e}function ui(e=[]){let[t,r]=react$1.useState(e),n={set:react$1.useCallback(s=>r(s),[]),push:react$1.useCallback(s=>r(o=>[...o,s]),[]),updateAt:react$1.useCallback((s,o)=>r(i=>{let a=[...i];return a[s]=o,a}),[]),insertAt:react$1.useCallback((s,o)=>r(i=>{let a=[...i];return a.splice(s,0,o),a}),[]),update:react$1.useCallback((s,o)=>r(i=>i.map(a=>s(a,o)?o:a)),[]),removeAt:react$1.useCallback(s=>r(o=>{let i=[...o];return i.splice(s,1),i}),[]),clear:react$1.useCallback(()=>r([]),[]),reset:react$1.useCallback(()=>r(e),[e])};return [t,n]}function li(e=new Map){let[t,r]=react$1.useState(new Map(e)),n={set:react$1.useCallback((s,o)=>{r(i=>{let a=new Map(i);return a.set(s,o),a});},[]),setAll:react$1.useCallback(s=>{r(new Map(s));},[]),remove:react$1.useCallback(s=>{r(o=>{let i=new Map(o);return i.delete(s),i});},[]),reset:react$1.useCallback(()=>{r(new Map(e));},[e])};return [t,n]}function pi(e=[]){let[t,r]=react$1.useState(e),n=react$1.useCallback(i=>{r(a=>[...a,i]);},[]),s=react$1.useCallback(()=>{let i;return r(a=>{let[u,...c]=a;return i=u,c}),i},[]),o=react$1.useCallback(()=>{r([]);},[]);return {queue:t,add:n,remove:s,clear:o,first:t[0],last:t[t.length-1],size:t.length}}function gi(){let e=()=>{if(typeof window<"u"&&window.screen)return window.screen},[t,r]=react$1.useState(e());return M("resize",()=>{r(e());}),react$1.useEffect(()=>{r(e());},[]),t}function vi(e=new Set){let[t,r]=react$1.useState(e),n={add:react$1.useCallback(s=>{r(o=>{let i=new Set(o);return i.add(s),i});},[]),remove:react$1.useCallback(s=>{r(o=>{let i=new Set(o);return i.delete(s),i});},[]),toggle:react$1.useCallback(s=>{r(o=>{let i=new Set(o);return i.has(s)?i.delete(s):i.add(s),i});},[]),reset:react$1.useCallback(()=>{r(e);},[e]),clear:react$1.useCallback(()=>{r(new Set);},[])};return [t,n]}function bx(){let{user:e,isAuthenticated:t,isLoading:r,error:n}=auth0React.useAuth0();return {user:e,isAuthenticated:t,isLoading:r,error:n}}function Ti(e,t,r=false){let[n,s]=react$1.useState(null),[o,i]=react$1.useState(!r),[a,u]=react$1.useState(null),[c,l]=react$1.useState(null),m=react$1.useCallback(async f=>{i(true),u(null);try{let p=await yi__default.default(e,{...t,...f});l(p),s(p.data);}catch(p){u(p);}finally{i(false);}},[e,t]);return react$1.useEffect(()=>{r||m();},[m,r]),{data:n,loading:o,error:a,response:c,execute:m}}function Ri(e){let[t,r]=react$1.useState(null),[n,s]=react$1.useState(true),[o,i]=react$1.useState(null);return react$1.useEffect(()=>{let a=e.onAuthStateChanged(u=>{r(u),s(false);},u=>{i(u),s(false);});return ()=>a()},[e]),{user:t,loading:n,error:o}}function Oi(e){let[t,r]=jotai.useAtom(e);return [t,r]}function qx(){let{scrollYProgress:e}=framerMotion.useScroll();return e}function nv(){let[e,t]=react$1.useState(false);return react$1.useEffect(()=>t(true),[]),e}function Di(){let e=reactRedux.useDispatch(),t=reactRedux.useSelector;return {dispatch:e,useSelector:t,select:t}}function vv(){let e=reactStripeJs.useStripe(),t=reactStripeJs.useElements();return {stripe:e,elements:t,ready:!!e&&!!t}}function Hi(e){let[t,r]=react$1.useState(null),[n,s]=react$1.useState(true);return react$1.useEffect(()=>{e.auth.getSession().then(({data:{session:i}})=>{r(i?.user??null),s(false);});let{data:{subscription:o}}=e.auth.onAuthStateChange((i,a)=>{r(a?.user??null),s(false);});return ()=>{o.unsubscribe();}},[e]),{user:t,loading:n}}function Wi(e){let[t,r]=react$1.useState(true),[n,s]=react$1.useState(null),[o,i]=react$1.useState(null),a=react$1.useCallback(async u=>{try{return await e.validate(u,{abortEarly:!1}),r(!0),s(null),i(null),!0}catch(c){if(r(false),c instanceof Vr__namespace.ValidationError){i(c);let l={};c.inner.forEach(m=>{m.path&&(l[m.path]=m.message);}),s(l);}return false}},[e]);return {isValid:t,errors:n,error:o,validate:a}}function zi(e){let[t,r]=react$1.useState(true),[n,s]=react$1.useState(null),[o,i]=react$1.useState(null),a=react$1.useCallback(u=>{let c=e.safeParse(u);if(c.success)return r(true),s(null),i(null),true;{r(false),i(c.error);let l={};return c.error.issues.forEach(m=>{let f=m.path.join(".");l[f]=m.message;}),s(l),false}},[e]);return {isValid:t,errors:n,error:o,validate:a}}function Gi(e,t){return zustand.useStore(e,t)}/**
|
|
19
|
+
* Hookery - A collection of high-quality React hooks
|
|
20
|
+
* @version 1.0.1
|
|
21
|
+
* @license MIT
|
|
22
|
+
*/Object.defineProperty(exports,"useAuth0",{enumerable:true,get:function(){return auth0React.useAuth0}});Object.defineProperty(exports,"useAuth",{enumerable:true,get:function(){return clerkReact.useAuth}});Object.defineProperty(exports,"useClerk",{enumerable:true,get:function(){return clerkReact.useClerk}});Object.defineProperty(exports,"useUser",{enumerable:true,get:function(){return clerkReact.useUser}});Object.defineProperty(exports,"useAtom",{enumerable:true,get:function(){return jotai.useAtom}});Object.defineProperty(exports,"useAtomValue",{enumerable:true,get:function(){return jotai.useAtomValue}});Object.defineProperty(exports,"useSetAtom",{enumerable:true,get:function(){return jotai.useSetAtom}});Object.defineProperty(exports,"useAnimation",{enumerable:true,get:function(){return framerMotion.useAnimation}});Object.defineProperty(exports,"useMotionValue",{enumerable:true,get:function(){return framerMotion.useMotionValue}});Object.defineProperty(exports,"useSpring",{enumerable:true,get:function(){return framerMotion.useSpring}});Object.defineProperty(exports,"useTransform",{enumerable:true,get:function(){return framerMotion.useTransform}});Object.defineProperty(exports,"usePathname",{enumerable:true,get:function(){return navigation.usePathname}});Object.defineProperty(exports,"useRouter",{enumerable:true,get:function(){return navigation.useRouter}});Object.defineProperty(exports,"useSearchParams",{enumerable:true,get:function(){return navigation.useSearchParams}});Object.defineProperty(exports,"useActionData",{enumerable:true,get:function(){return react.useActionData}});Object.defineProperty(exports,"useFetcher",{enumerable:true,get:function(){return react.useFetcher}});Object.defineProperty(exports,"useLoaderData",{enumerable:true,get:function(){return react.useLoaderData}});Object.defineProperty(exports,"useNavigation",{enumerable:true,get:function(){return react.useNavigation}});Object.defineProperty(exports,"useSubmit",{enumerable:true,get:function(){return react.useSubmit}});Object.defineProperty(exports,"useElements",{enumerable:true,get:function(){return reactStripeJs.useElements}});Object.defineProperty(exports,"useStripe",{enumerable:true,get:function(){return reactStripeJs.useStripe}});Object.defineProperty(exports,"useMutation",{enumerable:true,get:function(){return reactQuery.useMutation}});Object.defineProperty(exports,"useQuery",{enumerable:true,get:function(){return reactQuery.useQuery}});Object.defineProperty(exports,"useQueryClient",{enumerable:true,get:function(){return reactQuery.useQueryClient}});exports.isBrowser=Br;exports.isServer=x;exports.noop=zr;exports.useAnimate=zo;exports.useAnthropic=yo;exports.useAsync=or;exports.useAudioRef=Qo;exports.useAuth0User=bx;exports.useAxios=Ti;exports.useBattery=Qt;exports.useBluetooth=Nt;exports.useBroadcastChannel=ys;exports.useCalendar=bs;exports.useCanvas=No;exports.useClickAnywhere=Zs;exports.useClickOutside=ft;exports.useCopyToClipboard=St;exports.useCountdown=ei;exports.useCounter=Ke;exports.useDebounce=Ne;exports.useDebounceCallback=ni;exports.useDocumentTitle=bt;exports.useDragAndDrop=ws;exports.useEmbeddings=bo;exports.useEvent=M;exports.useEyeDropper=At;exports.useFetch=ar;exports.useFileProcessing=Os;exports.useFileSystem=Xt;exports.useFirebaseAuth=Ri;exports.useForm=ks;exports.useFrameRate=_o;exports.useFullscreen=Ht;exports.useGamepad=Zt;exports.useGemini=Eo;exports.useHistory=mr;exports.useHover=pt;exports.useIndexedDB=pr;exports.useInfiniteScroll=yr;exports.useIntersection=ht;exports.useInterval=at;exports.useIsClient=ii;exports.useIsMounted=ct;exports.useIsomorphicLayoutEffect=q;exports.useJotai=Oi;exports.useKeyPress=mt;exports.useLLMStream=wo;exports.useList=ui;exports.useLocalStorage=Q;exports.useLockBodyScroll=Tt;exports.useLongPress=Ut;exports.useLottie=ts;exports.useMachine=vr;exports.useMap=li;exports.useMarkdown=Cs;exports.useMediaDevices=jt;exports.useMediaQuery=Y;exports.useMediaRecorder=$t;exports.useMount=je;exports.useMounted=nv;exports.useMutationObserver=Lt;exports.useNetworkState=Ft;exports.useOnline=It;exports.useOpenAI=Oo;exports.usePDF=As;exports.usePageLeave=Mt;exports.usePagination=xr;exports.useParallax=ss;exports.usePermissions=Bt;exports.usePresence=Ps;exports.usePrevious=Ge;exports.useQueue=pi;exports.useRAG=Co;exports.useRealtimeCollab=Fs;exports.useRedux=Di;exports.useResizeObserver=kt;exports.useSTT=Fo;exports.useSVGAnimation=ps;exports.useScreen=gi;exports.useScript=ur;exports.useScroll=gt;exports.useScrollProgress=qx;exports.useSearchHighlight=Mo;exports.useSemanticSearch=Do;exports.useSessionStorage=tt;exports.useSet=vi;exports.useShare=Wt;exports.useShortcuts=Vs;exports.useSortable=zs;exports.useSpreadsheet=Ks;exports.useSpringCore=cs;exports.useStableCallback=W;exports.useStep=dr;exports.useStorageEstimate=er;exports.useStripePayment=vv;exports.useSupabaseUser=Hi;exports.useTTS=Vo;exports.useTable=qs;exports.useTheme=Rt;exports.useThreeJS=ds;exports.useThrottle=_e;exports.useTimeout=ot;exports.useToggle=ze;exports.useUnmount=qe;exports.useUpdateEffect=ut;exports.useVideoRef=$o;exports.useVirtualList=hr;exports.useWakeLock=Gt;exports.useWebRTC=Ys;exports.useWebSocket=Js;exports.useWindowFocus=Ot;exports.useWindowSize=lt;exports.useWorker=fr;exports.useYupValidation=Wi;exports.useZodValidation=zi;exports.useZustand=Gi;
|
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
// src/index.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
1
|
+
import {useEffect,useLayoutEffect,useState,useCallback,useRef,useMemo,useReducer}from'react';import Xo from'lottie-web';import*as P from'three';import {useAuth0}from'@auth0/auth0-react';export{useAuth0}from'@auth0/auth0-react';import yi from'axios';export{useAuth,useClerk,useUser}from'@clerk/clerk-react';import {useAtom}from'jotai';export{useAtom,useAtomValue,useSetAtom}from'jotai';import {useScroll}from'framer-motion';export{useAnimation,useMotionValue,useSpring,useTransform}from'framer-motion';export{usePathname,useRouter,useSearchParams}from'next/navigation';import {useDispatch,useSelector}from'react-redux';export{useActionData,useFetcher,useLoaderData,useNavigation,useSubmit}from'@remix-run/react';import {useStripe,useElements}from'@stripe/react-stripe-js';export{useElements,useStripe}from'@stripe/react-stripe-js';export{useMutation,useQuery,useQueryClient}from'@tanstack/react-query';import*as Vr from'yup';import {useStore}from'zustand';var x=typeof window>"u",Br=!x,zr=()=>{};var q=x?useEffect:useLayoutEffect;function ze(e={}){let{initialValue:t=false}=e,[r,n]=useState(t),s=useCallback(()=>n(a=>!a),[]),o=useCallback(()=>n(true),[]),i=useCallback(()=>n(false),[]);return {value:r,toggle:s,setTrue:o,setFalse:i,setValue:n}}function Ke(e={}){let{initialValue:t=0,min:r,max:n,step:s=1}=e,o=useCallback(f=>{let p=f;return r!==void 0&&p<r&&(p=r),n!==void 0&&p>n&&(p=n),p},[r,n]),[i,a]=useState(()=>o(t)),u=useCallback(()=>{a(f=>o(f+s));},[o,s]),c=useCallback(()=>{a(f=>o(f-s));},[o,s]),l=useCallback(()=>{a(o(t));},[o,t]),m=useCallback(f=>{a(o(f));},[o]);return {count:i,increment:u,decrement:c,reset:l,set:m}}function Ge(e){let t=useRef(void 0);return useEffect(()=>{t.current=e;},[e]),t.current}function je(e){let t=useRef(e);t.current=e,useEffect(()=>t.current(),[]);}function qe(e){let t=useRef(e);t.current=e,useEffect(()=>()=>{t.current();},[]);}function Ne(e,t={}){let{delay:r=500,leading:n=false,trailing:s=true}=t,[o,i]=useState(e),[a,u]=useState(false),c=useRef(null),l=useRef(true),m=useRef(e);m.current=e;let f=useCallback(()=>{c.current&&(clearTimeout(c.current),c.current=null),u(false);},[]),p=useCallback(()=>{f(),i(m.current);},[f]);return useEffect(()=>{if(n&&l.current){l.current=false,i(e);return}return u(true),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{s&&i(e),u(false),c.current=null;},r),()=>{c.current&&clearTimeout(c.current);}},[e,r,n,s]),useEffect(()=>()=>{c.current&&clearTimeout(c.current);},[]),{debouncedValue:o,isPending:a,cancel:f,flush:p}}function _e(e,t={}){let{interval:r=500,leading:n=true,trailing:s=true}=t,[o,i]=useState(e),[a,u]=useState(false),c=useRef(0),l=useRef(null),m=useRef(e),f=useRef(true);return m.current=e,useEffect(()=>{let p=Date.now(),d=p-c.current;if(f.current&&n){f.current=false,i(e),c.current=p;return}return f.current=false,d>=r?(l.current&&(clearTimeout(l.current),l.current=null),i(e),c.current=p,u(false)):s&&(u(true),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{i(m.current),c.current=Date.now(),u(false),l.current=null;},r-d)),()=>{l.current&&clearTimeout(l.current);}},[e,r,n,s]),useEffect(()=>()=>{l.current&&clearTimeout(l.current);},[]),{throttledValue:o,isPending:a}}function Q(e,t,r={}){let{serializer:n=JSON.stringify,deserializer:s=JSON.parse,syncAcrossTabs:o=true}=r,i=useCallback(()=>{if(x)return t;try{let p=window.localStorage.getItem(e);return p!==null?s(p):t}catch(p){return console.warn(`Error reading localStorage key "${e}":`,p),t}},[e,t,s]),[a,u]=useState(i),[c,l]=useState(()=>x?false:window.localStorage.getItem(e)!==null),m=useCallback(p=>{try{let d=p instanceof Function?p(a):p;u(d),l(!0),x||(window.localStorage.setItem(e,n(d)),window.dispatchEvent(new StorageEvent("storage",{key:e,newValue:n(d)})));}catch(d){console.warn(`Error setting localStorage key "${e}":`,d);}},[e,n,a]),f=useCallback(()=>{try{u(t),l(!1),x||window.localStorage.removeItem(e);}catch(p){console.warn(`Error removing localStorage key "${e}":`,p);}},[e,t]);return useEffect(()=>{if(x||!o)return;let p=d=>{if(d.key===e&&d.newValue!==null)try{u(s(d.newValue)),l(!0);}catch{}else d.key===e&&d.newValue===null&&(u(t),l(false));};return window.addEventListener("storage",p),()=>{window.removeEventListener("storage",p);}},[e,t,s,o]),{value:a,setValue:m,remove:f,exists:c}}function tt(e,t,r={}){let{serializer:n=JSON.stringify,deserializer:s=JSON.parse,initializeWithValue:o=false}=r,[i,a]=useState(()=>{if(x)return typeof t=="function"?t():t;try{let l=window.sessionStorage.getItem(e);if(l&&!o)return s(l);let m=typeof t=="function"?t():t;return o&&window.sessionStorage.setItem(e,n(m)),m}catch(l){return console.error(`Error reading sessionStorage key "${e}":`,l),typeof t=="function"?t():t}}),u=useCallback(l=>{try{let m=l instanceof Function?l(i):l;a(m),x||(window.sessionStorage.setItem(e,n(m)),window.dispatchEvent(new Event("session-storage")));}catch(m){console.error(`Error setting sessionStorage key "${e}":`,m);}},[e,i,n]),c=useCallback(()=>{try{a(typeof t=="function"?t():t),x||(window.sessionStorage.removeItem(e),window.dispatchEvent(new Event("session-storage")));}catch(l){console.error(`Error removing sessionStorage key "${e}":`,l);}},[e,t]);return useEffect(()=>{if(x)return;let l=m=>{if(m.key===e&&m.storageArea===window.sessionStorage)try{m.newValue===null?a(typeof t=="function"?t():t):a(s(m.newValue));}catch(f){console.error(`Error syncing sessionStorage key "${e}":`,f);}};return window.addEventListener("storage",l),()=>window.removeEventListener("storage",l)},[e,t,s]),[i,u,c]}function ot(e,t){let{delay:r,autoStart:n=true}=t,[s,o]=useState(n),[i,a]=useState(false),u=useRef(e),c=useRef(null);u.current=e;let l=useCallback(()=>{c.current&&(clearTimeout(c.current),c.current=null),o(false);},[]),m=useCallback(()=>{l(),a(false),o(true),c.current=setTimeout(()=>{u.current(),o(false),a(true),c.current=null;},r);},[r,l]),f=useCallback(()=>{l(),a(false);},[l]);return useEffect(()=>(n&&m(),()=>{c.current&&clearTimeout(c.current);}),[r]),{isRunning:s,isComplete:i,start:m,stop:l,reset:f}}function at(e,t){let{delay:r,autoStart:n=true,immediate:s=false}=t,[o,i]=useState(n),[a,u]=useState(0),c=useRef(e),l=useRef(null);c.current=e;let m=useCallback(()=>{l.current&&(clearInterval(l.current),l.current=null),i(false);},[]),f=useCallback(()=>{m(),i(true),s&&(c.current(),u(d=>d+1)),l.current=setInterval(()=>{c.current(),u(d=>d+1);},r);},[r,s,m]),p=useCallback(()=>{u(0);},[]);return useEffect(()=>(n&&f(),()=>{l.current&&clearInterval(l.current);}),[r]),{isRunning:o,count:a,start:f,stop:m,reset:p}}function ut(e,t){let r=useRef(true);useEffect(()=>{if(r.current){r.current=false;return}return e()},t);}function ct(){let e=useRef(false);return useEffect(()=>(e.current=true,()=>{e.current=false;}),[]),useCallback(()=>e.current,[])}function W(e){let t=useRef(e);return useEffect(()=>{t.current=e;}),useCallback((...r)=>t.current(...r),[])}var B=W;function Y(e,t={}){let{defaultValue:r=false,initializeOnMount:n=false}=t,s=useCallback(()=>x?r:window.matchMedia(e).matches,[e,r]),[o,i]=useState(()=>n?r:s());return useEffect(()=>{if(x)return;let a=window.matchMedia(e);i(a.matches);let u=c=>{i(c.matches);};return a.addEventListener?a.addEventListener("change",u):a.addListener(u),()=>{a.removeEventListener?a.removeEventListener("change",u):a.removeListener(u);}},[e]),o}function lt(e={}){let{debounce:t=0,initialWidth:r=0,initialHeight:n=0}=e,s=useCallback(()=>x?{width:r,height:n}:{width:window.innerWidth,height:window.innerHeight},[r,n]),[o,i]=useState(s);return useEffect(()=>{if(x)return;let a=null,u=()=>{t>0?(a&&clearTimeout(a),a=setTimeout(()=>{i(s());},t)):i(s());};return i(s()),window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u),a&&clearTimeout(a);}},[t,s]),o}function ft(e,t,r={}){let{events:n=["mousedown","touchstart"],enabled:s=true}=r,o=useRef(t);o.current=t,useEffect(()=>{if(x||!s)return;let i=a=>{let u=e.current;!u||u.contains(a.target)||o.current(a);};return n.forEach(a=>{document.addEventListener(a,i);}),()=>{n.forEach(a=>{document.removeEventListener(a,i);});}},[e,n,s]);}function pt(){let[e,t]=useState(false),r=useRef(null),n=useCallback(()=>{t(true);},[]),s=useCallback(()=>{t(false);},[]),o=useCallback(i=>{r.current&&(r.current.removeEventListener("mouseenter",n),r.current.removeEventListener("mouseleave",s)),i&&(i.addEventListener("mouseenter",n),i.addEventListener("mouseleave",s)),r.current=i;},[n,s]);return {isHovered:e,ref:o,hoverProps:{onMouseEnter:n,onMouseLeave:s}}}function mt(e,t,r={}){let{target:n="window",event:s="keydown",preventDefault:o=false,enabled:i=true}=r,[a,u]=useState(false),c=useCallback(l=>{t?.(l);},[t]);return useEffect(()=>{if(x||!i)return;let l=n==="document"?document:window,m=p=>{let d=p;d.key===e&&(o&&d.preventDefault(),u(true),c(d));},f=p=>{p.key===e&&u(false);};return l.addEventListener(s,m),s==="keydown"&&l.addEventListener("keyup",f),()=>{l.removeEventListener(s,m),s==="keydown"&&l.removeEventListener("keyup",f);}},[e,n,s,o,i,c]),a}function gt(e,t={}){let{throttle:r=0}=t,[n,s]=useState({x:0,y:0}),[o,i]=useState(null),[a,u]=useState({isAtTop:true,isAtBottom:false,isAtLeft:true,isAtRight:false}),c=useRef({x:0,y:0}),l=useRef(null);return useEffect(()=>{if(x)return;let m=e?.current??window,f=m===window,p=()=>{if(f)return {x:window.scrollX??window.pageXOffset,y:window.scrollY??window.pageYOffset};let v=m;return {x:v.scrollLeft,y:v.scrollTop}},d=()=>{if(f){let h=document.documentElement.scrollHeight,y=document.documentElement.scrollWidth,S=window.innerHeight,b=window.innerWidth,{x:T,y:R}=p();return {isAtTop:R<=0,isAtBottom:R+S>=h-1,isAtLeft:T<=0,isAtRight:T+b>=y-1}}let v=m;return {isAtTop:v.scrollTop<=0,isAtBottom:v.scrollTop+v.clientHeight>=v.scrollHeight-1,isAtLeft:v.scrollLeft<=0,isAtRight:v.scrollLeft+v.clientWidth>=v.scrollWidth-1}},g=()=>{let v=()=>{let h=p(),y=c.current;h.y!==y.y?i(h.y>y.y?"down":"up"):h.x!==y.x&&i(h.x>y.x?"right":"left"),c.current=h,s(h),u(d());};r>0?l.current||(l.current=setTimeout(()=>{v(),l.current=null;},r)):v();};return s(p()),u(d()),m.addEventListener("scroll",g,{passive:true}),()=>{m.removeEventListener("scroll",g),l.current&&clearTimeout(l.current);}},[e,r]),{...n,...a,direction:o}}function ht(e={}){let{root:t=null,rootMargin:r="0px",threshold:n=0,triggerOnce:s=false,enabled:o=true}=e,[i,a]=useState(null),[u,c]=useState(false),l=useRef(null),m=useRef(false);return useEffect(()=>{if(x||!o)return;let f=l.current;if(!f||s&&m.current)return;let p=new IntersectionObserver(([d])=>{a(d),c(d.isIntersecting),d.isIntersecting&&s&&(m.current=true,p.unobserve(f));},{root:t,rootMargin:r,threshold:n});return p.observe(f),()=>{p.disconnect();}},[t,r,n,s,o]),{isIntersecting:u,entry:i,ref:l}}function St(){let[e,t]=useState(null),[r,n]=useState(false),[s,o]=useState(null),i=useCallback(async u=>{if(x)return console.warn("Clipboard is not available on the server"),false;if(navigator?.clipboard?.writeText)try{return await navigator.clipboard.writeText(u),t(u),n(!0),o(null),!0}catch(c){return o(c instanceof Error?c:new Error("Failed to copy")),n(false),false}try{let c=document.createElement("textarea");c.value=u,c.style.position="fixed",c.style.left="-9999px",c.style.top="-9999px",document.body.appendChild(c),c.focus(),c.select();let l=document.execCommand("copy");if(document.body.removeChild(c),l)return t(u),n(!0),o(null),!0;throw new Error('execCommand("copy") failed')}catch(c){return o(c instanceof Error?c:new Error("Failed to copy")),n(false),false}},[]),a=useCallback(()=>{t(null),n(false),o(null);},[]);return {copiedValue:e,isSuccess:r,error:s,copy:i,reset:a}}function bt(e,t={}){let{restoreOnUnmount:r=true}=t,n=useRef(null);useEffect(()=>{if(!x)return n.current===null&&(n.current=document.title),document.title=e,()=>{r&&n.current!==null&&(document.title=n.current);}},[e,r]);}function Tt(e=true){useEffect(()=>{if(x||!e)return;let t=document.body.style.overflow,r=document.body.style.paddingRight,n=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",n>0&&(document.body.style.paddingRight=`${n}px`),()=>{document.body.style.overflow=t,document.body.style.paddingRight=r;}},[e]);}function Rt(e={}){let{storageKey:t="theme",attribute:r="data-theme",defaultTheme:n="system",disableTransitionOnChange:s=true}=e,{value:o,setValue:i}=Q(t,n),a=Y("(prefers-color-scheme: dark)"),u=useMemo(()=>o==="system"?a?"dark":"light":o==="dark"?"dark":"light",[o,a]),c=useCallback(()=>{if(x)return;let m=document.documentElement;if(s){let f=document.createElement("style");f.appendChild(document.createTextNode(`* {
|
|
2
|
+
-webkit-transition: none !important;
|
|
3
|
+
-moz-transition: none !important;
|
|
4
|
+
-o-transition: none !important;
|
|
5
|
+
-ms-transition: none !important;
|
|
6
|
+
transition: none !important;
|
|
7
|
+
}`)),document.head.appendChild(f),setTimeout(()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(f);},1);},1);}r==="class"?(m.classList.remove("light","dark"),m.classList.add(u)):m.setAttribute(r,u);},[u,r,s]);q(()=>{c();},[c]);let l=useCallback(()=>{i(m=>m==="system"?u==="dark"?"light":"dark":m==="dark"?"light":"dark");},[i,u]);return {theme:o,resolvedTheme:u,setTheme:i,toggleTheme:l}}function M(e,t,r=x?null:window,n={}){let s=useRef(t);s.current=t,useEffect(()=>{if(!r)return;let o=i=>{typeof s.current=="function"?s.current(i):s.current.handleEvent(i);};return r.addEventListener(e,o,n),()=>{r.removeEventListener(e,o,n);}},[e,r,n?.capture,n?.passive,n?.once]);}function Ut(e,t={}){let{threshold:r=500,cancelOnMove:n=true,onStart:s,onFinish:o,onCancel:i}=t,a=useRef(e),u=useRef(s),c=useRef(o),l=useRef(i);a.current=e,u.current=s,c.current=o,l.current=i;let m=useRef(null),f=useRef(false),p=useCallback(g=>{u.current?.(g),f.current=false,m.current=setTimeout(()=>{f.current=true,a.current(g),c.current?.(g);},r);},[r]),d=useCallback(g=>{m.current&&(clearTimeout(m.current),m.current=null,f.current||l.current?.(g)),f.current=false;},[]);return {onMouseDown:g=>p(g),onTouchStart:g=>p(g),onMouseUp:g=>d(g),onMouseLeave:g=>d(g),onTouchEnd:g=>d(g)}}function Ot(){let[e,t]=useState(()=>!x&&typeof document<"u"?document.hasFocus():true);return useEffect(()=>{if(x)return;let r=()=>t(true),n=()=>t(false);return window.addEventListener("focus",r),window.addEventListener("blur",n),t(document.hasFocus()),()=>{window.removeEventListener("focus",r),window.removeEventListener("blur",n);}},[]),e}function kt(e,t={}){let{throttle:r=0}=t,[n,s]=useState(),o=useRef(null);return useEffect(()=>{if(x)return;let i=e.current;if(!i)return;if(!window.ResizeObserver){console.warn("ResizeObserver is not supported in this browser");return}let a=new ResizeObserver(u=>{let c=u[0];if(!c)return;let l=()=>{s(c.contentRect);};r>0?o.current||(o.current=setTimeout(()=>{l(),o.current=null;},r)):l();});return a.observe(i),()=>{a.disconnect(),o.current&&clearTimeout(o.current);}},[e,r]),n}function Lt(e,t,r={attributes:true,characterData:true,childList:true,subtree:true}){let n=useRef(t);n.current=t;let s=useRef(r);s.current=r,useEffect(()=>{if(x)return;let o=e.current;if(!o)return;if(!window.MutationObserver){console.warn("MutationObserver is not supported");return}let i=new MutationObserver((a,u)=>{n.current(a,u);});return i.observe(o,s.current),()=>{i.disconnect();}},[e]);}function Mt(e){useEffect(()=>{if(x)return;let r=n=>{n.clientY<=0&&e();};return document.addEventListener("mouseleave",r),()=>{document.removeEventListener("mouseleave",r);}},[e]);}function At(){let e=!x&&"EyeDropper"in window,t=useCallback(async r=>{if(!e)throw new Error("EyeDropper is not supported");return new window.EyeDropper().open(r)},[e]);return {isSupported:e,open:t}}function It(){let[e,t]=useState(()=>x?true:navigator.onLine),[r,n]=useState(null),s=useCallback(()=>{t(true),n(Date.now());},[]),o=useCallback(()=>{t(false),n(Date.now());},[]);return useEffect(()=>{if(!x)return t(navigator.onLine),window.addEventListener("online",s),window.addEventListener("offline",o),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",o);}},[s,o]),{isOnline:e,isOffline:!e,since:r}}function Ft(){let[e,t]=useState({online:true});return useEffect(()=>{if(x)return;let r=navigator,n=r.connection||r.mozConnection||r.webkitConnection,s=()=>{t({online:navigator.onLine,downlink:n?.downlink,downlinkMax:n?.downlinkMax,effectiveType:n?.effectiveType,rtt:n?.rtt,saveData:n?.saveData,type:n?.type});};return s(),window.addEventListener("online",s),window.addEventListener("offline",s),n&&n.addEventListener("change",s),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",s),n&&n.removeEventListener("change",s);}},[]),e}function Ht(e){let[t,r]=useState(false),n=!x&&!!document.fullscreenEnabled,s=useCallback(()=>e?.current??document.documentElement,[e]),o=useCallback(async()=>{if(x||!n)return;let u=s();if(u)try{await u.requestFullscreen();}catch(c){console.error("Failed to enter fullscreen:",c);}},[n,s]),i=useCallback(async()=>{if(!(x||!n))try{await document.exitFullscreen();}catch(u){console.error("Failed to exit fullscreen:",u);}},[n]),a=useCallback(async()=>{t?await i():await o();},[t,o,i]);return useEffect(()=>{if(x)return;let u=()=>{r(!!document.fullscreenElement);};return document.addEventListener("fullscreenchange",u),()=>{document.removeEventListener("fullscreenchange",u);}},[]),{isFullscreen:t,isSupported:n,enter:o,exit:i,toggle:a}}function Wt(){let[e,t]=useState(false),[r,n]=useState(false),[s,o]=useState(null),i=!x&&!!navigator.share,a=useCallback(c=>x||!navigator.canShare||!c?i:navigator.canShare(c),[i]),u=useCallback(async c=>{if(x||!i)return o(new Error("Web Share API is not supported")),false;t(true),n(false),o(null);try{return await navigator.share(c),n(!0),!0}catch(l){if(l instanceof Error&&l.name==="AbortError")return n(false),false;let m=l instanceof Error?l:new Error("Share failed");return o(m),false}finally{t(false);}},[i]);return {isSupported:i,isSharing:e,isSuccess:r,error:s,share:u,canShare:a}}function Bt(e){let[t,r]=useState("unknown");return useEffect(()=>{if(x||!navigator.permissions)return;let n=true,s=null,o=()=>{n&&s&&r(s.state);};return navigator.permissions.query({name:e}).then(i=>{n&&(s=i,r(s.state),i.addEventListener("change",o));}).catch(()=>{n&&r("unknown");}),()=>{n=false,s&&s.removeEventListener("change",o);}},[e]),t}function Gt({onRequest:e,onRelease:t,onError:r}={}){let[n,s]=useState(),o=useRef(null),i=!x&&"wakeLock"in navigator,a=useCallback(async()=>{if(o.current)try{await o.current.release(),o.current=null;}catch(c){r?.(c instanceof Error?c:new Error(String(c)));}},[r]),u=useCallback(async()=>{if(i)try{let c=await navigator.wakeLock.request("screen");c.addEventListener("release",()=>{s(!0),t?.(),o.current=null;}),o.current=c,s(!1),e?.();}catch(c){r?.(c instanceof Error?c:new Error(String(c)));}},[i,e,t,r]);return useEffect(()=>()=>{a();},[a]),useEffect(()=>{let c=async()=>{o.current!==null&&document.visibilityState;};return document.addEventListener("visibilitychange",c),()=>{document.removeEventListener("visibilitychange",c);}},[]),{isSupported:i,released:n??true,request:u,release:a}}function jt(){let[e,t]=useState([]),[r,n]=useState(true),[s,o]=useState(null),i=!x&&!!navigator.mediaDevices?.enumerateDevices,a=B(async()=>{if(!i){n(false);return}try{let u=await navigator.mediaDevices.enumerateDevices();t(u),o(null);}catch(u){o(u instanceof Error?u:new Error(String(u)));}finally{n(false);}});return useEffect(()=>{if(a(),i)return navigator.mediaDevices.addEventListener("devicechange",a),()=>{navigator.mediaDevices.removeEventListener("devicechange",a);}},[a,i]),{devices:e,isLoading:r,error:s,isSupported:i}}function $t(e,t){let[r,n]=useState("idle"),[s,o]=useState(),[i,a]=useState(),[u,c]=useState(null),l=useRef(null),m=useRef([]),f=useCallback(h=>{if(e)try{l.current||(l.current=new MediaRecorder(e,t),l.current.ondataavailable=y=>{y.data&&y.data.size>0&&m.current.push(y.data);},l.current.onerror=y=>{c(y.error),n("idle");},l.current.onstop=()=>{let y=new Blob(m.current,{type:t?.mimeType||"video/webm"});o(y);let S=URL.createObjectURL(y);a(S),m.current=[],n("stopped");}),l.current.state!=="recording"&&(l.current.start(h),n("recording"));}catch(y){c(y instanceof Error?y:new Error(String(y)));}},[e,t]),p=useCallback(()=>{l.current&&l.current.state!=="inactive"&&l.current.stop();},[]),d=useCallback(()=>{l.current&&l.current.state==="recording"&&(l.current.pause(),n("paused"));},[]),g=useCallback(()=>{l.current&&l.current.state==="paused"&&(l.current.resume(),n("recording"));},[]),v=useCallback(()=>{i&&URL.revokeObjectURL(i),o(void 0),a(void 0),c(null),n("idle");},[i]);return {status:r,start:f,stop:p,pause:d,resume:g,isRecording:r==="recording",mediaBlob:s,mediaUrl:i,clear:v,error:u}}function Qt(){let[e,t]=useState({supported:false,loading:true,level:1,charging:false,chargingTime:0,dischargingTime:1/0});return useEffect(()=>{if(x||!("getBattery"in navigator)){t(o=>({...o,loading:false,supported:false}));return}let r=true,n=null,s=()=>{!r||!n||t({supported:true,loading:false,level:n.level,charging:n.charging,chargingTime:n.chargingTime,dischargingTime:n.dischargingTime});};return navigator.getBattery().then(o=>{r&&(n=o,s(),n.addEventListener("levelchange",s),n.addEventListener("chargingchange",s),n.addEventListener("chargingtimechange",s),n.addEventListener("dischargingtimechange",s));}),()=>{r=false,n&&(n.removeEventListener("levelchange",s),n.removeEventListener("chargingchange",s),n.removeEventListener("chargingtimechange",s),n.removeEventListener("dischargingtimechange",s));}},[]),e}function Nt(){let[e,t]=useState(null),[r,n]=useState(null),[s,o]=useState(null),[i,a]=useState(false),u=!x&&"bluetooth"in navigator,c=useCallback(()=>{e&&e.gatt?.connected&&e.gatt.disconnect(),t(null),n(null),a(false);},[e]),l=useCallback(async m=>{if(!u){o(new Error("Bluetooth API not supported"));return}a(true),o(null);try{let f=await navigator.bluetooth.requestDevice(m||{acceptAllDevices:!0});if(t(f),f.addEventListener("gattserverdisconnected",()=>{n(null);}),f.gatt){let p=await f.gatt.connect();n(p);}}catch(f){o(f instanceof Error?f:new Error(String(f)));}finally{a(false);}},[u]);return {isSupported:u,isConnected:!!r?.connected,isConnecting:i,device:e,server:r,error:s,requestDevice:l,disconnect:c}}function Zt(e={}){let{enabled:t=true}=e,[r,n]=useState([]),s=useRef(null),o=()=>{if(x)return;let i=navigator.getGamepads?navigator.getGamepads():[],a=Array.from(i);n(a);};return useEffect(()=>{if(!x)return window.addEventListener("gamepadconnected",o),window.addEventListener("gamepaddisconnected",o),()=>{window.removeEventListener("gamepadconnected",o),window.removeEventListener("gamepaddisconnected",o);}},[]),useEffect(()=>{if(x||!t)return;let i=()=>{o(),s.current=requestAnimationFrame(i);};return s.current=requestAnimationFrame(i),()=>{s.current&&cancelAnimationFrame(s.current);}},[t]),{gamepads:r}}function Xt(){let[e,t]=useState(null),[r,n]=useState(null),[s,o]=useState(null),i=!x&&"showOpenFilePicker"in window,a=useCallback(async c=>{if(!i){o(new Error("File System Access API not supported"));return}try{let m=(await window.showOpenFilePicker(c))[0],f=await m.getFile();n(m),t(f),o(null);}catch(l){l.name!=="AbortError"&&o(l instanceof Error?l:new Error(String(l)));}},[i]),u=useCallback(async(c,l)=>{if(!i){o(new Error("File System Access API not supported"));return}try{let f=await(await window.showSaveFilePicker(l)).createWritable();await f.write(c),await f.close(),o(null);}catch(m){m.name!=="AbortError"&&o(m instanceof Error?m:new Error(String(m)));}},[i]);return {isSupported:i,file:e,fileHandle:r,openFile:a,saveFile:u,error:s}}function er(){let[e,t]=useState({quota:void 0,usage:void 0,supported:false,loading:true});return useEffect(()=>{if(x||!navigator.storage?.estimate){t(r=>({...r,loading:false,supported:false}));return}navigator.storage.estimate().then(({quota:r,usage:n})=>{t({quota:r,usage:n,supported:true,loading:false});}).catch(()=>{t(r=>({...r,loading:false}));});},[]),e}function or(e,t={}){let{immediate:r=false,initialData:n,onSuccess:s,onError:o}=t,[i,a]=useState("idle"),[u,c]=useState(n),[l,m]=useState(null),f=useRef(true),p=useRef(e);p.current=e;let d=useCallback(async(...v)=>{a("pending"),m(null);try{let h=await p.current(...v);return f.current&&(c(h),a("success"),s?.(h)),h}catch(h){let y=h instanceof Error?h:new Error(String(h));f.current&&(m(y),a("error"),o?.(y));return}},[s,o]),g=useCallback(()=>{a("idle"),c(n),m(null);},[n]);return useEffect(()=>{r&&d();},[]),useEffect(()=>(f.current=true,()=>{f.current=false;}),[]),{data:u,error:l,status:i,isLoading:i==="pending",isSuccess:i==="success",isError:i==="error",execute:d,reset:g}}function ar(e,t={}){let{immediate:r=true,initialData:n,transform:s,retries:o=0,retryDelay:i=1e3,onSuccess:a,onError:u,abortPrevious:c=true,...l}=t,[m,f]=useState(n),[p,d]=useState(null),[g,v]=useState("idle"),h=useRef(null),y=useRef(true),S=useRef(0),b=useCallback(()=>{h.current?.abort();},[]),T=useRef(l);T.current=l;let R=useRef(a);R.current=a;let I=useRef(u);I.current=u;let L=useRef(s);L.current=s;let ae=useCallback(async()=>{if(!e)return;c&&b();let w=new AbortController;h.current=w,v("loading"),d(null);let U=async F=>{try{let E=await fetch(e,{...T.current,signal:w.signal});if(!E.ok)throw new Error(`HTTP ${E.status}: ${E.statusText}`);let H=L.current?await L.current(E):await E.json();y.current&&!w.signal.aborted&&(f(H),v("success"),d(null),S.current=0,R.current?.(H));}catch(E){if(E instanceof Error&&E.name==="AbortError")return;let H=E instanceof Error?E:new Error(String(E));if(F<o&&y.current&&(S.current=F+1,await new Promise(Wr=>setTimeout(Wr,i)),!w.signal.aborted))return U(F+1);y.current&&!w.signal.aborted&&(d(H),v("error"),S.current=0,I.current?.(H));}};await U(0);},[e,o,i,b,c]);return useEffect(()=>(r&&e&&ae(),()=>{b();}),[e,r]),useEffect(()=>(y.current=true,()=>{y.current=false;}),[]),{data:m,error:p,status:g,isLoading:g==="loading",isSuccess:g==="success",isError:g==="error",refetch:ae,abort:b}}var C=new Map;function ur(e,t={}){let{immediate:r=true,removeOnUnmount:n=false,attributes:s={}}=t,[o,i]=useState(()=>{if(x)return "idle";let c=C.get(e);return c||(document.querySelector(`script[src="${e}"]`)?"ready":"idle")}),a=useRef(false),u=()=>{if(x||a.current)return;if(C.get(e)==="ready"){i("ready");return}if(document.querySelector(`script[src="${e}"]`)){i("ready"),C.set(e,"ready");return}a.current=true,i("loading"),C.set(e,"loading");let m=document.createElement("script");m.src=e,m.async=true,Object.entries(s).forEach(([d,g])=>{m.setAttribute(d,g);});let f=()=>{i("ready"),C.set(e,"ready");},p=()=>{i("error"),C.set(e,"error"),m.remove();};m.addEventListener("load",f),m.addEventListener("error",p),document.body.appendChild(m);};return useEffect(()=>(r&&o==="idle"&&u(),()=>{if(n&&!x){let c=document.querySelector(`script[src="${e}"]`);c&&(c.remove(),C.delete(e));}}),[e,r]),{status:o,isLoading:o==="loading",isReady:o==="ready",isError:o==="error",load:u}}function fr(e){let[t,r]=useState(),[n,s]=useState(null),[o,i]=useState("idle"),a=useRef(null),u=useRef(null);useEffect(()=>x?void 0:((()=>{try{let f;if(typeof e=="string")f=new Worker(e);else {let p=`
|
|
8
|
+
self.onmessage = function(e) {
|
|
9
|
+
const result = (${e.toString()})(e.data);
|
|
10
|
+
self.postMessage(result);
|
|
11
|
+
}
|
|
12
|
+
`,d=new Blob([p],{type:"application/javascript"}),g=URL.createObjectURL(d);u.current=g,f=new Worker(g);}f.onmessage=p=>{r(p.data),i("success");},f.onerror=p=>{s(new Error(p.message)),i("error");},a.current=f;}catch(f){s(f instanceof Error?f:new Error(String(f))),i("error");}})(),()=>{a.current?.terminate(),u.current&&URL.revokeObjectURL(u.current);}),[e]);let c=useCallback(m=>{a.current&&(i("running"),s(null),a.current.postMessage(m));},[]),l=useCallback(()=>{a.current?.terminate(),i("idle");},[]);return {result:t,error:n,status:o,run:c,terminate:l}}function pr(e,t,r){let[n,s]=useState(),[o,i]=useState(null),[a,u]=useState(true),c=useCallback(()=>new Promise((p,d)=>{let g=indexedDB.open(e,1);g.onupgradeneeded=v=>{let h=v.target.result;h.objectStoreNames.contains(t)||h.createObjectStore(t);},g.onsuccess=()=>p(g.result),g.onerror=()=>d(g.error);}),[e,t]),l=useCallback(async()=>{if(x){u(false);return}try{let v=(await c()).transaction(t,"readonly").objectStore(t).get(r);v.onsuccess=()=>{s(v.result),u(!1);},v.onerror=()=>{throw v.error};}catch(p){i(p instanceof Error?p:new Error(String(p))),u(false);}},[r,t,c]);useEffect(()=>{l();},[l]);let m=useCallback(async p=>{try{let v=(await c()).transaction(t,"readwrite").objectStore(t);return new Promise((h,y)=>{let S=v.put(p,r);S.onsuccess=()=>{s(p),h();},S.onerror=()=>y(S.error);})}catch(d){throw i(d instanceof Error?d:new Error(String(d))),d}},[c,t,r]),f=useCallback(async()=>{try{let g=(await c()).transaction(t,"readwrite").objectStore(t);return new Promise((v,h)=>{let y=g.delete(r);y.onsuccess=()=>{s(void 0),v();},y.onerror=()=>h(y.error);})}catch(p){throw i(p instanceof Error?p:new Error(String(p))),p}},[c,t,r]);return {value:n,set:m,remove:f,error:o,isLoading:a}}function mr(e,t={}){let{maxSize:r=100}=t,[n,s]=useState({history:[e],position:0}),{history:o,position:i}=n,a=o[i],u=useCallback(g=>{s(v=>{let{history:h,position:y}=v,S=typeof g=="function"?g(h[y]):g,T=[...h.slice(0,y+1),S];if(T.length>r){let R=T.slice(T.length-r);return {history:R,position:R.length-1}}return {history:T,position:T.length-1}});},[r]),c=useCallback(()=>{s(g=>({...g,position:Math.max(0,g.position-1)}));},[]),l=useCallback(()=>{s(g=>({...g,position:Math.min(g.history.length-1,g.position+1)}));},[]),m=useCallback(g=>{s({history:[g],position:0});},[]),f=useCallback(g=>{s(v=>{let h=v.history.length-1;return {...v,position:Math.max(0,Math.min(h,g))}});},[]),p=i>0,d=i<o.length-1;return {value:a,set:u,undo:c,redo:l,reset:m,canUndo:p,canRedo:d,history:o,position:i,go:f}}function dr(e){let{initialStep:t=0,maxStep:r}=e,[n,s]=useState(()=>Math.max(0,Math.min(t,r-1))),o=useCallback(()=>{s(p=>Math.min(p+1,r-1));},[r]),i=useCallback(()=>{s(p=>Math.max(p-1,0));},[]),a=useCallback(p=>{s(Math.max(0,Math.min(p,r-1)));},[r]),u=useCallback(()=>{s(Math.max(0,Math.min(t,r-1)));},[t,r]),c=useCallback(p=>p<n,[n]),l=n===0,m=n===r-1,f=useMemo(()=>(n+1)/r*100,[n,r]);return {currentStep:n,step:n+1,next:o,prev:i,goTo:a,reset:u,isFirst:l,isLast:m,progress:f,totalSteps:r,isStepComplete:c}}function xr(e){let{totalItems:t,pageSize:r=10,initialPage:n=1,siblings:s=1}=e,[o,i]=useState(()=>Math.max(1,n)),[a,u]=useState(r),c=useMemo(()=>Math.max(1,Math.ceil(t/a)),[t,a]),l=useMemo(()=>Math.min(o,c),[o,c]),m=useCallback(()=>{i(b=>Math.min(b+1,c));},[c]),f=useCallback(()=>{i(b=>Math.max(b-1,1));},[]),p=useCallback(b=>{i(Math.max(1,Math.min(b,c)));},[c]),d=useCallback(()=>{i(1);},[]),g=useCallback(()=>{i(c);},[c]),v=useCallback(b=>{let T=Math.max(1,Math.ceil(t/b));u(b),i(R=>Math.min(R,T));},[t]),h=(l-1)*a,y=Math.min(h+a,t),S=useMemo(()=>{if(s*2+5>=c)return Array.from({length:c},(w,U)=>U+1);let T=Math.max(l-s,1),R=Math.min(l+s,c),I=T>2,L=R<c-1;if(!I&&L){let w=3+2*s;return [...Array.from({length:w},(F,E)=>E+1),"dots",c]}if(I&&!L){let w=3+2*s;return [1,"dots",...Array.from({length:w},(F,E)=>c-w+E+1)]}return [1,"dots",...Array.from({length:R-T+1},(w,U)=>T+U),"dots",c]},[l,c,s]);return {page:l,totalPages:c,pageSize:a,next:m,prev:f,goTo:p,first:d,last:g,isFirst:l===1,isLast:l===c,startIndex:h,endIndex:y,range:S,setPageSize:v}}function vr(e){let[t,r]=useReducer((n,s)=>{let i=e.states[n]?.on?.[s];return i?typeof i=="string"?i:(i.action&&i.action(),i.target):n},e.initial);return [t,r]}function hr(e){let{itemHeight:t,itemCount:r,containerHeight:n,overscan:s=3}=e,[o,i]=useState(0),a=r*t,u=useCallback(l=>{i(l.currentTarget.scrollTop);},[]);return {items:useMemo(()=>{let l=Math.max(0,Math.floor(o/t)-s),m=Math.min(r-1,Math.floor((o+n)/t)+s),f=[];for(let p=l;p<=m;p++)f.push({index:p,style:{position:"absolute",top:p*t,height:t,width:"100%"}});return f},[o,t,r,n,s]),totalHeight:a,onScroll:u}}function yr(e,t={}){let{threshold:r=0,rootMargin:n="0px",isLoading:s=false,hasMore:o=true,disabled:i=false}=t,a=useRef(null),u=B(e);return useEffect(()=>{if(i||s||!o||!a.current)return;let c=new IntersectionObserver(l=>{l[0].isIntersecting&&u();},{threshold:r,rootMargin:n});return c.observe(a.current),()=>{c.disconnect();}},[i,s,o,r,n,u]),a}function yo(e={}){let{apiKey:t,model:r="claude-3-haiku-20240307",maxTokens:n=1024,temperature:s=.7}=e,[o,i]=useState(false),[a,u]=useState(null),[c,l]=useState(null);return {chat:useCallback(async f=>{i(true),u(null),l(null);try{let p=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":t||"","anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:r,messages:f,max_tokens:n,temperature:s})});if(!p.ok){let v=await p.json();throw new Error(v.error?.message||"Anthropic API Error")}let g=(await p.json()).content?.[0]?.text||"";return u(g),g}catch(p){throw l(p),p}finally{i(false);}},[t,r,n,s]),response:a,loading:o,error:c}}function bo(e){let[t,r]=useState(null),[n,s]=useState(false),[o,i]=useState(null),a=useCallback(async u=>{s(true),i(null);try{let c=await e(u);return r(c),c}catch(c){throw i(c),c}finally{s(false);}},[e]);return {embeddings:t,loading:n,error:o,generate:a}}function Eo(e={}){let{apiKey:t,model:r="gemini-pro"}=e,[n,s]=useState(false),[o,i]=useState(null),[a,u]=useState(null);return {chat:useCallback(async l=>{s(true),i(null),u(null);try{let m=`https://generativelanguage.googleapis.com/v1beta/models/${r}:generateContent?key=${t}`,f=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:l})});if(!f.ok){let g=await f.json();throw new Error(g.error?.message||"Gemini API Error")}let d=(await f.json()).candidates?.[0]?.content?.parts?.[0]?.text||"";return i(d),d}catch(m){throw u(m),m}finally{s(false);}},[t,r]),response:o,loading:n,error:a}}function wo(e={}){let[t,r]=useState(""),[n,s]=useState(false),[o,i]=useState(null),a=useRef(null),u=useCallback(async(l,m={})=>{try{a.current&&a.current.abort();let f=new AbortController;a.current=f,s(!0),i(null),r("");let p=await fetch(l,{...m,signal:f.signal});if(!p.ok)throw new Error(`HTTP Error: ${p.status} ${p.statusText}`);let d=p.body?.getReader(),g=new TextDecoder;if(!d)throw new Error("Response body is not readable");let v="";for(;;){let{done:h,value:y}=await d.read();if(h)break;let S=g.decode(y,{stream:!0});v+=S,r(b=>b+S),e.onToken?.(S,v);}e.onComplete?.(v);}catch(f){if(f.name==="AbortError")return;i(f),e.onError?.(f);}finally{s(false),a.current=null;}},[e]),c=useCallback(()=>{a.current&&(a.current.abort(),a.current=null,s(false));},[]);return {stream:u,cancel:c,data:t,loading:n,error:o}}function Oo(e={}){let{apiKey:t,apiBase:r="https://api.openai.com/v1",model:n="gpt-3.5-turbo",temperature:s=.7,stream:o=false}=e,[i,a]=useState(false),[u,c]=useState(null),[l,m]=useState(null);return {chat:useCallback(async p=>{a(true),c(null),m(null);try{let d=await fetch(`${r}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({model:n,messages:p,temperature:s,stream:!1})});if(!d.ok){let h=await d.json();throw new Error(h.error?.message||"OpenAI API Error")}let v=(await d.json()).choices?.[0]?.message?.content||"";return c(v),v}catch(d){throw m(d),d}finally{a(false);}},[t,r,n,s]),response:u,loading:i,error:l}}function Co(e){let[t,r]=useState(false),[n,s]=useState(null),[o,i]=useState([]),[a,u]=useState(null);return {ask:useCallback(async l=>{r(true),u(null),s(null),i([]);try{let m=await e.retrieve(l);i(m);let f=`
|
|
13
|
+
Context documents:
|
|
14
|
+
${m.map(d=>`- ${d.content}`).join(`
|
|
15
|
+
`)}
|
|
16
|
+
|
|
17
|
+
Query: ${l}
|
|
18
|
+
`,p=await e.generate(f,m);return s(p),p}catch(m){throw u(m),m}finally{r(false);}},[e]),answer:n,retrievedDocs:o,loading:t,error:a}}function Mo(e,t,r={}){let{caseSensitive:n=false}=r;return useMemo(()=>{if(!t)return [{text:e,isMatch:false}];let s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=n?"g":"gi",i=new RegExp(`(${s})`,o);return e.split(i).filter(u=>u).map(u=>{let c=n?u===t:u.toLowerCase()===t.toLowerCase();return {text:u,isMatch:c}})},[e,t,n])}function Do(e,t,r,n=5){return useMemo(()=>!e||t.length===0?[]:t.map(o=>{let i=r(o),a=Po(e,i);return {item:o,score:a}}).sort((o,i)=>i.score-o.score).slice(0,n),[e,t,r,n])}function Po(e,t){if(e.length!==t.length)return 0;let r=0,n=0,s=0;for(let o=0;o<e.length;o++)r+=e[o]*t[o],n+=e[o]*e[o],s+=t[o]*t[o];return n=Math.sqrt(n),s=Math.sqrt(s),n===0||s===0?0:r/(n*s)}function Fo(e={}){let[t,r]=useState(false),[n,s]=useState(""),[o,i]=useState(false),a=useRef(null),u=useRef(e);u.current=e,useEffect(()=>{let f=window.SpeechRecognition||window.webkitSpeechRecognition;f&&(i(true),a.current=new f);},[]);let c=useCallback(()=>{if(!a.current)return;let f=a.current,p=u.current;f.continuous=p.continuous??false,f.interimResults=p.interimResults??false,f.lang=p.lang||"en-US",f.onstart=()=>r(true),f.onresult=d=>{let g="";for(let v=d.resultIndex;v<d.results.length;++v)(d.results[v].isFinal||p.interimResults)&&(g+=d.results[v][0].transcript);s(g),p.onResult?.(g);},f.onerror=d=>{r(false),p.onError?.(d.error);},f.onend=()=>{r(false),p.onEnd?.();};try{f.start();}catch{}},[]),l=useCallback(()=>{a.current?.stop(),r(false);},[]),m=useCallback(()=>{a.current?.abort(),r(false);},[]);return {listen:c,stop:l,abort:m,listening:t,transcript:n,supported:o}}function Vo(e={}){let[t,r]=useState(false),[n,s]=useState(false),[o,i]=useState([]),a=useRef(e);a.current=e,useEffect(()=>{if(typeof window<"u"&&"speechSynthesis"in window){s(true);let l=()=>{i(window.speechSynthesis.getVoices());};l(),window.speechSynthesis.onvoiceschanged=l;}},[]);let u=useCallback(()=>{n&&(window.speechSynthesis.cancel(),r(false));},[n]),c=useCallback((l,m={})=>{if(!n)return;u();let f={...a.current,...m},p=new SpeechSynthesisUtterance(l);if(f.volume!==void 0&&(p.volume=f.volume),f.rate!==void 0&&(p.rate=f.rate),f.pitch!==void 0&&(p.pitch=f.pitch),f.voiceURI){let d=o.find(g=>g.voiceURI===f.voiceURI);d&&(p.voice=d);}p.onstart=()=>{r(true),f.onStart?.();},p.onend=()=>{r(false),f.onEnd?.();},p.onerror=d=>{r(false),f.onError?.(d);},window.speechSynthesis.speak(p);},[n,o,u]);return useEffect(()=>()=>{n&&window.speechSynthesis.cancel();},[n]),{speak:c,cancel:u,speaking:t,supported:n,voices:o}}function zo(e,t=true){let r=useRef(),n=useRef(),s=W(e),o=useCallback(i=>{if(n.current!==void 0){let a=i-n.current;s(i,a);}n.current=i,r.current=requestAnimationFrame(o);},[s]);useEffect(()=>(t?r.current=requestAnimationFrame(o):(n.current=void 0,r.current&&cancelAnimationFrame(r.current)),()=>{r.current&&cancelAnimationFrame(r.current);}),[t,o]);}function Ae(){let e=useRef(null),[t,r]=useState({playing:false,paused:true,muted:false,volume:1,time:0,duration:0,buffered:0,waiting:false,ended:false}),n=useCallback(()=>{let o=e.current;o&&r({playing:!o.paused&&!o.ended&&o.readyState>2,paused:o.paused,muted:o.muted,volume:o.volume,time:o.currentTime,duration:o.duration||0,buffered:o.buffered.length>0?o.buffered.end(o.buffered.length-1):0,waiting:o.readyState<3,ended:o.ended});},[]);return useEffect(()=>{let o=e.current;if(!o)return;let i=["loadstart","loadedmetadata","canplay","play","playing","pause","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","volumechange"];return i.forEach(a=>o.addEventListener(a,n)),n(),()=>{i.forEach(a=>o.removeEventListener(a,n));}},[n]),{ref:e,controls:{play:async()=>{await e.current?.play();},pause:()=>{e.current?.pause();},toggle:()=>{let o=e.current;o&&(o.paused?o.play():o.pause());},seek:o=>{e.current&&(e.current.currentTime=o);},mute:()=>{e.current&&(e.current.muted=true);},unmute:()=>{e.current&&(e.current.muted=false);},setVolume:o=>{e.current&&(e.current.volume=Math.max(0,Math.min(1,o)));}},state:t}}function $o(){return Ae()}function Qo(){return Ae()}function No(e={}){let t=useRef(null),r=useRef(),n=useRef(0);return useEffect(()=>{let s=t.current;if(!s)return;let o=s.getContext("2d");if(!o)return;let i=window.devicePixelRatio||1,a=s.getBoundingClientRect(),u=e.width??a.width,c=e.height??a.height;s.width=u*i,s.height=c*i,o.scale(i,i),s.style.width=`${u}px`,s.style.height=`${c}px`;let l=()=>{n.current++,e.animate&&e.animate(o,n.current),r.current=requestAnimationFrame(l);};return e.animate&&l(),()=>{r.current&&cancelAnimationFrame(r.current);}},[e.width,e.height,e.animate]),t}function _o(e=true){let[t,r]=useState(0),n=useRef(0),s=useRef(performance.now()),o=useRef();return useEffect(()=>{if(!e)return;let i=a=>{n.current++,a-s.current>=1e3&&(r(n.current),n.current=0,s.current=a),o.current=requestAnimationFrame(i);};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current);}},[e]),t}function ts(e,t){let r=useRef();return useEffect(()=>{if(!e.current)return;let n=Xo.loadAnimation({container:e.current,renderer:"svg",loop:t.loop??true,autoplay:t.autoplay??true,animationData:t.animationData,path:t.path});return r.current=n,t.speed&&n.setSpeed(t.speed),t.direction&&n.setDirection(t.direction),()=>{n.destroy();}},[t.path,t.animationData]),useEffect(()=>{r.current&&(t.speed!==void 0&&r.current.setSpeed(t.speed),t.direction!==void 0&&r.current.setDirection(t.direction),t.isPlaying!==void 0&&(t.isPlaying?r.current.play():r.current.pause()));},[t.speed,t.direction,t.isPlaying]),r.current}function ss(e={}){let{speed:t=.5,axis:r="y"}=e,[n,s]=useState(0),o=useRef(null);return useEffect(()=>{let i=()=>{if(!o.current)return;o.current.getBoundingClientRect();let u=window.scrollY||window.pageYOffset,c=window.scrollX||window.pageXOffset;s((r==="y"?u:c)*t);};return window.addEventListener("scroll",i,{passive:true}),i(),()=>window.removeEventListener("scroll",i)},[t,r]),{ref:o,style:{transform:r==="y"?`translateY(${n}px)`:`translateX(${n}px)`,willChange:"transform"}}}var us={stiffness:170,damping:26,mass:1};function cs(e,t={}){let[r,n]=useState(t.initialValue??e),s=useRef(0),o=useRef(t.initialValue??e),i=useRef(),a=useRef(),u={...us,...t};return useEffect(()=>{let c=l=>{if(i.current===void 0){i.current=l,a.current=requestAnimationFrame(c);return}let m=(l-i.current)/1e3;i.current=l;let f=Math.min(m,.1),p=-u.stiffness*(o.current-e),d=-u.damping*s.current,g=(p+d)/u.mass;if(s.current+=g*f,o.current+=s.current*f,n(o.current),Math.abs(s.current)<.01&&Math.abs(o.current-e)<.01){n(e),o.current=e,s.current=0;return}a.current=requestAnimationFrame(c);};return o.current!==e&&(i.current=void 0,a.current=requestAnimationFrame(c)),()=>{a.current&&cancelAnimationFrame(a.current);}},[e,u.stiffness,u.damping,u.mass]),r}function ps(e,t={}){let[r,n]=useState(e),{duration:s=1e3,delay:o=0,easing:i=a=>a}=t;return useEffect(()=>{let a=null,u,c=l=>{a||(a=l);let m=l-a,f=Math.min(Math.max((m-o)/s,0),1),p=i(f);n(e*(1-p)),f<1&&(u=requestAnimationFrame(c));};return u=requestAnimationFrame(c),()=>{cancelAnimationFrame(u);}},[e,s,o]),{strokeDasharray:e,strokeDashoffset:r}}function ds(e,t={}){let{init:r,animate:n,resize:s=true}=t,o=useRef(),i=useRef(),a=useRef(),u=useRef();return useEffect(()=>{if(!e.current)return;let c=e.current.clientWidth,l=e.current.clientHeight,m=new P.Scene,f=new P.PerspectiveCamera(75,c/l,.1,1e3),p=new P.WebGLRenderer({alpha:true,antialias:true});p.setSize(c,l),e.current.appendChild(p.domElement),i.current=m,a.current=f,o.current=p,r&&r(m,f,p);let d=v=>{n&&n(v,m,f),p.render(m,f),u.current=requestAnimationFrame(d);};d(0);let g=()=>{if(!e.current)return;let v=e.current.clientWidth,h=e.current.clientHeight;f.aspect=v/h,f.updateProjectionMatrix(),p.setSize(v,h);};return s&&window.addEventListener("resize",g),()=>{u.current&&cancelAnimationFrame(u.current),s&&window.removeEventListener("resize",g),p.dispose(),e.current&&e.current.removeChild(p.domElement);}},[r,n,s]),{scene:i.current,camera:a.current,renderer:o.current}}function ys(e){let[t,r]=useState(null),n=useRef(null);return useEffect(()=>{let o=new BroadcastChannel(e);return n.current=o,o.onmessage=i=>{r(i.data);},()=>{o.close();}},[e]),{postMessage:useCallback(o=>{n.current?.postMessage(o);},[]),lastMessage:t}}function bs(e={}){let[t,r]=useState(e.initialDate||new Date),n=useMemo(()=>{let a=t.getFullYear(),u=t.getMonth();return new Date(a,u+1,0).getDate()},[t]),s=useMemo(()=>{let a=t.getFullYear(),u=t.getMonth();return new Date(a,u,1).getDay()},[t]);return {date:t,daysInMonth:n,firstDayOfMonth:s,nextMonth:()=>{r(a=>new Date(a.getFullYear(),a.getMonth()+1,1));},prevMonth:()=>{r(a=>new Date(a.getFullYear(),a.getMonth()-1,1));},setHeader:r}}function ws(e={}){let[t,r]=useState(false),n=useRef(null),s=useCallback(u=>{u.preventDefault(),u.stopPropagation(),r(true);},[]),o=useCallback(u=>{u.preventDefault(),u.stopPropagation(),r(false);},[]),i=useCallback(u=>{u.preventDefault(),u.stopPropagation();},[]),a=useCallback(u=>{if(u.preventDefault(),u.stopPropagation(),r(false),u.dataTransfer&&u.dataTransfer.files&&u.dataTransfer.files.length>0){let c=Array.from(u.dataTransfer.files);e.onDrop?.(c),u.dataTransfer.clearData();}},[e]);return useEffect(()=>{let u=n.current;if(u)return u.addEventListener("dragenter",s),u.addEventListener("dragleave",o),u.addEventListener("dragover",i),u.addEventListener("drop",a),()=>{u.removeEventListener("dragenter",s),u.removeEventListener("dragleave",o),u.removeEventListener("dragover",i),u.removeEventListener("drop",a);}},[s,o,i,a]),{ref:n,isDragging:t}}function Os(e={}){let[t,r]=useState(false),[n,s]=useState(null);return {process:useCallback(async i=>{r(true),s(null);try{if(e.limit&&i.size>e.limit)throw new Error("File too large");return await i.text()}catch(a){throw s(a.message),a}finally{r(false);}},[e.limit]),processing:t,error:n}}function ks(e){let[t,r]=useState(e.initialValues),[n,s]=useState({}),[o,i]=useState(false),[a,u]=useState({}),c=useCallback(p=>{let{name:d,value:g,type:v}=p.target,h=v==="checkbox"?p.target.checked:g;r(y=>({...y,[d]:h}));},[]),l=useCallback((p,d)=>{r(g=>({...g,[p]:d}));},[]),m=useCallback(p=>{let{name:d}=p.target;u(g=>({...g,[d]:true}));},[]),f=useCallback(async p=>{if(p?.preventDefault(),i(true),s({}),e.validate){let d=await e.validate(t);if(Object.keys(d).length>0){s(d),i(false);return}}try{await e.onSubmit(t);}catch{}finally{i(false);}},[t,e]);return {values:t,errors:n,touched:a,isSubmitting:o,handleChange:c,handleBlur:m,handleSubmit:f,setFieldValue:l,setValues:r}}function Cs(){return {compile:t=>t.replace(/^# (.*)/gm,"<h1>$1</h1>").replace(/^## (.*)/gm,"<h2>$1</h2>").replace(/\*\*(.*)\*\*/g,"<b>$1</b>")}}function As(){let[e,t]=useState(false);return {generate:useCallback(async(n,s="document.pdf")=>(t(true),await new Promise(o=>setTimeout(o,100)),console.log("Generating PDF for:",s),t(false),true),[]),generating:e}}function Ps(e=5e3){let[t,r]=useState(Date.now()),[n,s]=useState(false);return useEffect(()=>{let o=()=>{r(Date.now()),n&&s(false);};window.addEventListener("mousemove",o),window.addEventListener("keydown",o);let i=setInterval(()=>{Date.now()-t>e*2&&s(true);},e);return ()=>{window.removeEventListener("mousemove",o),window.removeEventListener("keydown",o),clearInterval(i);}},[e,t,n]),{isIdle:n,lastActive:t}}function Fs(e){let[t,r]=useState([]),n=useCallback((o,i)=>{let a={type:o,payload:i,timestamp:Date.now(),userId:e};r(u=>[...u,a]);},[e]),s=useCallback(o=>{r(i=>[...i,o]);},[]);return {events:t,emit:n,applyRemote:s}}function Vs(e){useEffect(()=>{let t=r=>{let n=[];r.ctrlKey&&n.push("Control"),r.metaKey&&n.push("Meta"),r.altKey&&n.push("Alt"),r.shiftKey&&n.push("Shift"),["Control","Meta","Alt","Shift"].includes(r.key)||n.push(r.key);let s=n.join("+");e[s]?e[s](r):e[r.key]&&e[r.key](r);};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]);}function zs(e){let[t,r]=useState(null),n=useCallback((s,o)=>{if(s===o)return;let i=[...e.items],[a]=i.splice(s,1);i.splice(o,0,a),e.onReorder(i);},[e]);return {draggedIndex:t,setDraggedIndex:r,move:n}}function Ks(e){let{rows:t,cols:r,initialData:n}=e,s=()=>n||Array.from({length:t},()=>Array(r).fill(null)),[o,i]=useState(s),[a,u]=useState(null);return {data:o,setCell:(l,m,f)=>{i(p=>{let d=[...p];return d[l]=[...d[l]],d[l][m]=f,d});},selectedCell:a,setSelectedCell:u}}function qs(e){let[t,r]=useState(e.initialSort||null),n=o=>{let i="asc";t&&t.key===o&&t.direction==="asc"&&(i="desc"),r({key:o,direction:i});};return {items:useMemo(()=>{let o=[...e.data];return t!==null&&o.sort((i,a)=>{let u=i[t.key],c=a[t.key];return u<c?t.direction==="asc"?-1:1:u>c?t.direction==="asc"?1:-1:0}),o},[e.data,t]),requestSort:n,sortConfig:t,columns:e.columns}}function Ys(e={}){let[t,r]=useState("new"),[n,s]=useState("stable"),o=useRef(null);return useEffect(()=>{let i=new RTCPeerConnection({iceServers:e.iceServers||[{urls:"stun:stun.l.google.com:19302"}]});return o.current=i,i.onconnectionstatechange=()=>r(i.connectionState),i.onsignalingstatechange=()=>s(i.signalingState),()=>{i.close();}},[e.iceServers]),{pc:o.current,connectionState:t,signalingState:n}}function Js(e,t={}){let{reconnect:r=true,reconnectAttempts:n=5,reconnectInterval:s=3e3}=t,[o,i]=useState(false),[a,u]=useState(null),c=useRef(null),l=useRef(0),m=useRef(),f=useCallback(()=>{m.current&&clearTimeout(m.current);let d=new WebSocket(e);c.current=d,d.onopen=g=>{i(true),l.current=0,t.onOpen?.(g);},d.onclose=g=>{i(false),t.onClose?.(g),r&&l.current<n&&(m.current=setTimeout(()=>{l.current++,f();},s));},d.onmessage=g=>{u(g),t.onMessage?.(g);},d.onerror=g=>{t.onError?.(g);};},[e,r,n,s,t]);return useEffect(()=>(f(),()=>{m.current&&clearTimeout(m.current),c.current?.close();}),[f]),{send:useCallback(d=>{c.current?.readyState===WebSocket.OPEN&&c.current.send(d);},[]),lastMessage:a,isConnected:o,ws:c.current}}function Zs(e){M("click",t=>{e(t);});}function ei({countStart:e,intervalMs:t=1e3,isIncrement:r=false,countStop:n=0}){let[s,o]=useState(e),[i,a]=useState(false),u=useRef(null),c=useCallback(()=>a(true),[]),l=useCallback(()=>a(false),[]),m=useCallback(()=>{a(false),o(e);},[e]);return useEffect(()=>{if(!i){u.current&&(clearInterval(u.current),u.current=null);return}return u.current=setInterval(()=>{o(f=>r?f<n?f+1:(a(false),f):f>n?f-1:(a(false),f));},t),()=>{u.current&&clearInterval(u.current);}},[i,t,r,n]),{count:s,startCountdown:c,stopCountdown:l,resetCountdown:m}}function ni(e,t=0,r={}){let n=useRef(e),s=useRef();return useEffect(()=>{n.current=e;},[e]),useMemo(()=>{let i=(...c)=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{n.current(...c);},t);},a=()=>{s.current&&clearTimeout(s.current);},u=()=>{s.current&&clearTimeout(s.current);};return i.cancel=a,i.flush=u,i},[t])}function ii(){let[e,t]=useState(false);return useEffect(()=>{t(true);},[]),e}function ui(e=[]){let[t,r]=useState(e),n={set:useCallback(s=>r(s),[]),push:useCallback(s=>r(o=>[...o,s]),[]),updateAt:useCallback((s,o)=>r(i=>{let a=[...i];return a[s]=o,a}),[]),insertAt:useCallback((s,o)=>r(i=>{let a=[...i];return a.splice(s,0,o),a}),[]),update:useCallback((s,o)=>r(i=>i.map(a=>s(a,o)?o:a)),[]),removeAt:useCallback(s=>r(o=>{let i=[...o];return i.splice(s,1),i}),[]),clear:useCallback(()=>r([]),[]),reset:useCallback(()=>r(e),[e])};return [t,n]}function li(e=new Map){let[t,r]=useState(new Map(e)),n={set:useCallback((s,o)=>{r(i=>{let a=new Map(i);return a.set(s,o),a});},[]),setAll:useCallback(s=>{r(new Map(s));},[]),remove:useCallback(s=>{r(o=>{let i=new Map(o);return i.delete(s),i});},[]),reset:useCallback(()=>{r(new Map(e));},[e])};return [t,n]}function pi(e=[]){let[t,r]=useState(e),n=useCallback(i=>{r(a=>[...a,i]);},[]),s=useCallback(()=>{let i;return r(a=>{let[u,...c]=a;return i=u,c}),i},[]),o=useCallback(()=>{r([]);},[]);return {queue:t,add:n,remove:s,clear:o,first:t[0],last:t[t.length-1],size:t.length}}function gi(){let e=()=>{if(typeof window<"u"&&window.screen)return window.screen},[t,r]=useState(e());return M("resize",()=>{r(e());}),useEffect(()=>{r(e());},[]),t}function vi(e=new Set){let[t,r]=useState(e),n={add:useCallback(s=>{r(o=>{let i=new Set(o);return i.add(s),i});},[]),remove:useCallback(s=>{r(o=>{let i=new Set(o);return i.delete(s),i});},[]),toggle:useCallback(s=>{r(o=>{let i=new Set(o);return i.has(s)?i.delete(s):i.add(s),i});},[]),reset:useCallback(()=>{r(e);},[e]),clear:useCallback(()=>{r(new Set);},[])};return [t,n]}function bx(){let{user:e,isAuthenticated:t,isLoading:r,error:n}=useAuth0();return {user:e,isAuthenticated:t,isLoading:r,error:n}}function Ti(e,t,r=false){let[n,s]=useState(null),[o,i]=useState(!r),[a,u]=useState(null),[c,l]=useState(null),m=useCallback(async f=>{i(true),u(null);try{let p=await yi(e,{...t,...f});l(p),s(p.data);}catch(p){u(p);}finally{i(false);}},[e,t]);return useEffect(()=>{r||m();},[m,r]),{data:n,loading:o,error:a,response:c,execute:m}}function Ri(e){let[t,r]=useState(null),[n,s]=useState(true),[o,i]=useState(null);return useEffect(()=>{let a=e.onAuthStateChanged(u=>{r(u),s(false);},u=>{i(u),s(false);});return ()=>a()},[e]),{user:t,loading:n,error:o}}function Oi(e){let[t,r]=useAtom(e);return [t,r]}function qx(){let{scrollYProgress:e}=useScroll();return e}function nv(){let[e,t]=useState(false);return useEffect(()=>t(true),[]),e}function Di(){let e=useDispatch(),t=useSelector;return {dispatch:e,useSelector:t,select:t}}function vv(){let e=useStripe(),t=useElements();return {stripe:e,elements:t,ready:!!e&&!!t}}function Hi(e){let[t,r]=useState(null),[n,s]=useState(true);return useEffect(()=>{e.auth.getSession().then(({data:{session:i}})=>{r(i?.user??null),s(false);});let{data:{subscription:o}}=e.auth.onAuthStateChange((i,a)=>{r(a?.user??null),s(false);});return ()=>{o.unsubscribe();}},[e]),{user:t,loading:n}}function Wi(e){let[t,r]=useState(true),[n,s]=useState(null),[o,i]=useState(null),a=useCallback(async u=>{try{return await e.validate(u,{abortEarly:!1}),r(!0),s(null),i(null),!0}catch(c){if(r(false),c instanceof Vr.ValidationError){i(c);let l={};c.inner.forEach(m=>{m.path&&(l[m.path]=m.message);}),s(l);}return false}},[e]);return {isValid:t,errors:n,error:o,validate:a}}function zi(e){let[t,r]=useState(true),[n,s]=useState(null),[o,i]=useState(null),a=useCallback(u=>{let c=e.safeParse(u);if(c.success)return r(true),s(null),i(null),true;{r(false),i(c.error);let l={};return c.error.issues.forEach(m=>{let f=m.path.join(".");l[f]=m.message;}),s(l),false}},[e]);return {isValid:t,errors:n,error:o,validate:a}}function Gi(e,t){return useStore(e,t)}/**
|
|
19
|
+
* Hookery - A collection of high-quality React hooks
|
|
20
|
+
* @version 1.0.1
|
|
21
|
+
* @license MIT
|
|
22
|
+
*/export{Br as isBrowser,x as isServer,zr as noop,zo as useAnimate,yo as useAnthropic,or as useAsync,Qo as useAudioRef,bx as useAuth0User,Ti as useAxios,Qt as useBattery,Nt as useBluetooth,ys as useBroadcastChannel,bs as useCalendar,No as useCanvas,Zs as useClickAnywhere,ft as useClickOutside,St as useCopyToClipboard,ei as useCountdown,Ke as useCounter,Ne as useDebounce,ni as useDebounceCallback,bt as useDocumentTitle,ws as useDragAndDrop,bo as useEmbeddings,M as useEvent,At as useEyeDropper,ar as useFetch,Os as useFileProcessing,Xt as useFileSystem,Ri as useFirebaseAuth,ks as useForm,_o as useFrameRate,Ht as useFullscreen,Zt as useGamepad,Eo as useGemini,mr as useHistory,pt as useHover,pr as useIndexedDB,yr as useInfiniteScroll,ht as useIntersection,at as useInterval,ii as useIsClient,ct as useIsMounted,q as useIsomorphicLayoutEffect,Oi as useJotai,mt as useKeyPress,wo as useLLMStream,ui as useList,Q as useLocalStorage,Tt as useLockBodyScroll,Ut as useLongPress,ts as useLottie,vr as useMachine,li as useMap,Cs as useMarkdown,jt as useMediaDevices,Y as useMediaQuery,$t as useMediaRecorder,je as useMount,nv as useMounted,Lt as useMutationObserver,Ft as useNetworkState,It as useOnline,Oo as useOpenAI,As as usePDF,Mt as usePageLeave,xr as usePagination,ss as useParallax,Bt as usePermissions,Ps as usePresence,Ge as usePrevious,pi as useQueue,Co as useRAG,Fs as useRealtimeCollab,Di as useRedux,kt as useResizeObserver,Fo as useSTT,ps as useSVGAnimation,gi as useScreen,ur as useScript,gt as useScroll,qx as useScrollProgress,Mo as useSearchHighlight,Do as useSemanticSearch,tt as useSessionStorage,vi as useSet,Wt as useShare,Vs as useShortcuts,zs as useSortable,Ks as useSpreadsheet,cs as useSpringCore,W as useStableCallback,dr as useStep,er as useStorageEstimate,vv as useStripePayment,Hi as useSupabaseUser,Vo as useTTS,qs as useTable,Rt as useTheme,ds as useThreeJS,_e as useThrottle,ot as useTimeout,ze as useToggle,qe as useUnmount,ut as useUpdateEffect,$o as useVideoRef,hr as useVirtualList,Gt as useWakeLock,Ys as useWebRTC,Js as useWebSocket,Ot as useWindowFocus,lt as useWindowSize,fr as useWorker,Wi as useYupValidation,zi as useZodValidation,Gi as useZustand};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hookery",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A collection of high-quality, performant React hooks",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -14,10 +14,24 @@
|
|
|
14
14
|
},
|
|
15
15
|
"sideEffects": false,
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
17
|
+
"dist/index.js",
|
|
18
|
+
"dist/index.mjs",
|
|
19
|
+
"dist/index.d.ts",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
18
22
|
],
|
|
19
23
|
"scripts": {
|
|
20
|
-
"build": "tsup
|
|
24
|
+
"build": "tsup",
|
|
25
|
+
"test": "vitest",
|
|
26
|
+
"test:run": "vitest run",
|
|
27
|
+
"test:coverage": "vitest run --coverage",
|
|
28
|
+
"lint": "eslint src/",
|
|
29
|
+
"lint:fix": "eslint src/ --fix",
|
|
30
|
+
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
31
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
|
|
32
|
+
"changeset": "changeset",
|
|
33
|
+
"version": "changeset version",
|
|
34
|
+
"release": "npm run build && changeset publish",
|
|
21
35
|
"prepublishOnly": "npm run build"
|
|
22
36
|
},
|
|
23
37
|
"keywords": [
|
|
@@ -31,16 +45,56 @@
|
|
|
31
45
|
"license": "MIT",
|
|
32
46
|
"repository": {
|
|
33
47
|
"type": "git",
|
|
34
|
-
"url": "https://github.com/
|
|
48
|
+
"url": "https://github.com/Moshaban09/hookery.git"
|
|
35
49
|
},
|
|
36
|
-
"homepage": "https://github.com/
|
|
50
|
+
"homepage": "https://github.com/Moshaban09/hookery#readme",
|
|
37
51
|
"peerDependencies": {
|
|
38
|
-
"react": ">=18.0.0"
|
|
52
|
+
"react": ">=18.0.0",
|
|
53
|
+
"lottie-web": ">=5.0.0",
|
|
54
|
+
"three": ">=0.150.0"
|
|
39
55
|
},
|
|
40
56
|
"devDependencies": {
|
|
57
|
+
"@auth0/auth0-react": "^2.12.0",
|
|
58
|
+
"@changesets/cli": "^2.29.8",
|
|
59
|
+
"@clerk/clerk-react": "^5.60.0",
|
|
60
|
+
"@eslint/js": "^9.39.2",
|
|
61
|
+
"@remix-run/react": "^2.17.4",
|
|
62
|
+
"@stripe/react-stripe-js": "^5.6.0",
|
|
63
|
+
"@stripe/stripe-js": "^8.7.0",
|
|
64
|
+
"@supabase/supabase-js": "^2.93.3",
|
|
65
|
+
"@tanstack/react-query": "^5.90.20",
|
|
66
|
+
"@testing-library/dom": "^10.4.1",
|
|
67
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
68
|
+
"@testing-library/react": "^16.3.2",
|
|
69
|
+
"@types/react": "^18.0.0",
|
|
70
|
+
"@types/react-dom": "^18.3.7",
|
|
71
|
+
"@types/three": "^0.182.0",
|
|
72
|
+
"@types/web-bluetooth": "^0.0.21",
|
|
73
|
+
"@types/wicg-file-system-access": "^2023.10.7",
|
|
74
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
75
|
+
"axios": "^1.13.4",
|
|
76
|
+
"eslint": "^9.39.2",
|
|
77
|
+
"eslint-config-prettier": "^10.1.8",
|
|
78
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
79
|
+
"firebase": "^12.8.0",
|
|
80
|
+
"framer-motion": "^12.29.2",
|
|
81
|
+
"jotai": "^2.17.0",
|
|
82
|
+
"jsdom": "^27.4.0",
|
|
83
|
+
"next": "^16.1.6",
|
|
84
|
+
"prettier": "^3.8.1",
|
|
85
|
+
"react": "^18.0.0",
|
|
86
|
+
"react-dom": "^18.3.1",
|
|
87
|
+
"react-redux": "^9.2.0",
|
|
88
|
+
"redux": "^5.0.1",
|
|
41
89
|
"tsup": "^8.0.0",
|
|
90
|
+
"turbo": "^2.8.1",
|
|
42
91
|
"typescript": "^5.0.0",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
92
|
+
"typescript-eslint": "^8.54.0",
|
|
93
|
+
"vitest": "^4.0.18",
|
|
94
|
+
"yup": "^1.7.1",
|
|
95
|
+
"zod": "^4.3.6",
|
|
96
|
+
"zustand": "^5.0.11",
|
|
97
|
+
"lottie-web": "^5.13.0",
|
|
98
|
+
"three": "^0.182.0"
|
|
45
99
|
}
|
|
46
100
|
}
|
package/dist/index.d.mts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HookForge - A collection of high-quality React hooks
|
|
3
|
-
* @version 0.0.1
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* A simple hook that returns the library version
|
|
7
|
-
* This is a placeholder for the initial npm reservation
|
|
8
|
-
*/
|
|
9
|
-
declare function useVersion(): string;
|
|
10
|
-
declare const _default: {
|
|
11
|
-
version: string;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { _default as default, useVersion };
|