@arcteninc/core 0.0.36 → 0.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var xa=Object.create;var Hs=Object.defineProperty;var va=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var wa=Object.getPrototypeOf,Ta=Object.prototype.hasOwnProperty;var Sa=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ba(e))!Ta.call(t,i)&&i!==n&&Hs(t,i,{get:()=>e[i],enumerable:!(s=va(e,i))||s.enumerable});return t};var Ca=(t,e,n)=>(n=t!=null?xa(wa(t)):{},Sa(e||!t||!t.__esModule?Hs(n,"default",{value:t,enumerable:!0}):n,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),m=require("react"),G=require("lucide-react"),uo=require("@ai-sdk/react"),Ye=require("ai"),ho=require("@radix-ui/react-slot"),fo=require("class-variance-authority"),Aa=require("clsx"),Pa=require("tailwind-merge"),Ma=require("@radix-ui/react-tooltip"),Xs=require("@radix-ui/react-use-controllable-state"),ja=require("@radix-ui/react-collapsible"),Va=require("./server.cjs");function qn(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const ht=qn(m),ne=qn(Ma),Zn=qn(ja);function J(...t){return Pa.twMerge(Aa.clsx(t))}const zt=fo.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}}),Ge=ht.forwardRef(({className:t,variant:e,size:n,asChild:s=!1,...i},r)=>{const o=s?ho.Slot:"button";return h.jsx(o,{ref:r,"data-slot":"button",className:J(zt({variant:e,size:n,className:t})),...i})});Ge.displayName="Button";const Da=fo.cva("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function dn({className:t,variant:e,asChild:n=!1,...s}){const i=n?ho.Slot:"span";return h.jsx(i,{"data-slot":"badge",className:J(Da({variant:e}),t),...s})}const Ea=({textAreaRef:t,triggerAutoSize:e,maxHeight:n=Number.MAX_SAFE_INTEGER,minHeight:s=0})=>{const[i,r]=ht.useState(!0);ht.useEffect(()=>{const a=t.current;if(a){i&&(a.style.minHeight=`${s+6}px`,n>s&&(a.style.maxHeight=`${n}px`),r(!1)),a.style.height=`${s+6}px`;const l=a.scrollHeight;l>n?a.style.height=`${n}px`:a.style.height=`${l+6}px`}},[t.current,e])},mo=ht.forwardRef(({maxHeight:t=Number.MAX_SAFE_INTEGER,minHeight:e=52,className:n,onChange:s,value:i,...r},o)=>{const a=ht.useRef(null),[l,u]=ht.useState("");return Ea({textAreaRef:a,triggerAutoSize:l,maxHeight:t,minHeight:e}),m.useImperativeHandle(o,()=>({textArea:a.current,focus:()=>a?.current?.focus(),maxHeight:t,minHeight:e})),ht.useEffect(()=>{u(i)},[r?.defaultValue,i]),h.jsx("textarea",{...r,value:i,ref:a,className:J("flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",n),onChange:c=>{u(c.target.value),s?.(c)}})});mo.displayName="AutosizeTextarea";function ka({delayDuration:t=0,...e}){return h.jsx(ne.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...e})}function Ot({...t}){return h.jsx(ka,{children:h.jsx(ne.Root,{"data-slot":"tooltip",...t})})}function Ft({...t}){return h.jsx(ne.Trigger,{"data-slot":"tooltip-trigger",...t})}function Bt({className:t,sideOffset:e=0,children:n,...s}){return h.jsx(ne.Portal,{children:h.jsxs(ne.Content,{"data-slot":"tooltip-content",sideOffset:e,className:J("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...s,children:[n,h.jsx(ne.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function Ys({className:t,...e}){return h.jsx("kbd",{"data-slot":"kbd",className:J("bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none","[&_svg:not([class*='size-'])]:size-3","[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",t),...e})}const Jn=m.createContext({});function Qn(t){const e=m.useRef(null);return e.current===null&&(e.current=t()),e.current}const ts=typeof window<"u",po=ts?m.useLayoutEffect:m.useEffect,en=m.createContext(null);function es(t,e){t.indexOf(e)===-1&&t.push(e)}function ns(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const bt=(t,e,n)=>n>e?e:n<t?t:n;function Mn(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}let re=()=>{},wt=()=>{};process.env.NODE_ENV!=="production"&&(re=(t,e,n)=>{!t&&typeof console<"u"&&console.warn(Mn(e,n))},wt=(t,e,n)=>{if(!t)throw new Error(Mn(e,n))});const Tt={},go=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t);function yo(t){return typeof t=="object"&&t!==null}const xo=t=>/^0[^.\s]+$/u.test(t);function ss(t){let e;return()=>(e===void 0&&(e=t()),e)}const ut=t=>t,Ra=(t,e)=>n=>e(t(n)),Ve=(...t)=>t.reduce(Ra),Se=(t,e,n)=>{const s=e-t;return s===0?1:(n-t)/s};class is{constructor(){this.subscriptions=[]}add(e){return es(this.subscriptions,e),()=>ns(this.subscriptions,e)}notify(e,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](e,n,s);else for(let r=0;r<i;r++){const o=this.subscriptions[r];o&&o(e,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const ft=t=>t*1e3,ct=t=>t/1e3;function vo(t,e){return e?t*(1e3/e):0}const Gs=new Set;function os(t,e,n){t||Gs.has(e)||(console.warn(Mn(e,n)),Gs.add(e))}const bo=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t,Na=1e-7,Ia=12;function La(t,e,n,s,i){let r,o,a=0;do o=e+(n-e)/2,r=bo(o,s,i)-t,r>0?n=o:e=o;while(Math.abs(r)>Na&&++a<Ia);return o}function De(t,e,n,s){if(t===e&&n===s)return ut;const i=r=>La(r,0,1,t,n);return r=>r===0||r===1?r:bo(i(r),e,s)}const wo=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,To=t=>e=>1-t(1-e),So=De(.33,1.53,.69,.99),rs=To(So),Co=wo(rs),Ao=t=>(t*=2)<1?.5*rs(t):.5*(2-Math.pow(2,-10*(t-1))),as=t=>1-Math.sin(Math.acos(t)),Po=To(as),Mo=wo(as),Oa=De(.42,0,1,1),Fa=De(0,0,.58,1),jo=De(.42,0,.58,1),Ba=t=>Array.isArray(t)&&typeof t[0]!="number",Vo=t=>Array.isArray(t)&&typeof t[0]=="number",qs={linear:ut,easeIn:Oa,easeInOut:jo,easeOut:Fa,circIn:as,circInOut:Mo,circOut:Po,backIn:rs,backInOut:Co,backOut:So,anticipate:Ao},$a=t=>typeof t=="string",Zs=t=>{if(Vo(t)){wt(t.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[e,n,s,i]=t;return De(e,n,s,i)}else if($a(t))return wt(qs[t]!==void 0,`Invalid easing type '${t}'`,"invalid-easing-type"),qs[t];return t},Fe=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function za(t,e){let n=new Set,s=new Set,i=!1,r=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(c){o.has(c)&&(u.schedule(c),t()),c(a)}const u={schedule:(c,d=!1,f=!1)=>{const y=f&&i?n:s;return d&&o.add(c),y.has(c)||y.add(c),c},cancel:c=>{s.delete(c),o.delete(c)},process:c=>{if(a=c,i){r=!0;return}i=!0,[n,s]=[s,n],n.forEach(l),n.clear(),i=!1,r&&(r=!1,u.process(c))}};return u}const Ua=40;function Do(t,e){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,o=Fe.reduce((b,k)=>(b[k]=za(r),b),{}),{setup:a,read:l,resolveKeyframes:u,preUpdate:c,update:d,preRender:f,render:g,postRender:y}=o,v=()=>{const b=Tt.useManualTiming?i.timestamp:performance.now();n=!1,Tt.useManualTiming||(i.delta=s?1e3/60:Math.max(Math.min(b-i.timestamp,Ua),1)),i.timestamp=b,i.isProcessing=!0,a.process(i),l.process(i),u.process(i),c.process(i),d.process(i),f.process(i),g.process(i),y.process(i),i.isProcessing=!1,n&&e&&(s=!1,t(v))},w=()=>{n=!0,s=!0,i.isProcessing||t(v)};return{schedule:Fe.reduce((b,k)=>{const A=o[k];return b[k]=(D,R=!1,P=!1)=>(n||w(),A.schedule(D,R,P)),b},{}),cancel:b=>{for(let k=0;k<Fe.length;k++)o[Fe[k]].cancel(b)},state:i,steps:o}}const{schedule:O,cancel:Vt,state:Z,steps:hn}=Do(typeof requestAnimationFrame<"u"?requestAnimationFrame:ut,!0);let _e;function _a(){_e=void 0}const nt={now:()=>(_e===void 0&&nt.set(Z.isProcessing||Tt.useManualTiming?Z.timestamp:performance.now()),_e),set:t=>{_e=t,queueMicrotask(_a)}},Eo=t=>e=>typeof e=="string"&&e.startsWith(t),ls=Eo("--"),Wa=Eo("var(--"),cs=t=>Wa(t)?Ka.test(t.split("/*")[0].trim()):!1,Ka=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,ae={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Ce={...ae,transform:t=>bt(0,1,t)},Be={...ae,default:1},ve=t=>Math.round(t*1e5)/1e5,us=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Ha(t){return t==null}const Xa=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ds=(t,e)=>n=>!!(typeof n=="string"&&Xa.test(n)&&n.startsWith(t)||e&&!Ha(n)&&Object.prototype.hasOwnProperty.call(n,e)),ko=(t,e,n)=>s=>{if(typeof s!="string")return s;const[i,r,o,a]=s.match(us);return{[t]:parseFloat(i),[e]:parseFloat(r),[n]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},Ya=t=>bt(0,255,t),fn={...ae,transform:t=>Math.round(Ya(t))},_t={test:ds("rgb","red"),parse:ko("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+fn.transform(t)+", "+fn.transform(e)+", "+fn.transform(n)+", "+ve(Ce.transform(s))+")"};function Ga(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const jn={test:ds("#"),parse:Ga,transform:_t.transform},Ee=t=>({test:e=>typeof e=="string"&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),jt=Ee("deg"),xt=Ee("%"),M=Ee("px"),qa=Ee("vh"),Za=Ee("vw"),Js={...xt,parse:t=>xt.parse(t)/100,transform:t=>xt.transform(t*100)},qt={test:ds("hsl","hue"),parse:ko("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+xt.transform(ve(e))+", "+xt.transform(ve(n))+", "+ve(Ce.transform(s))+")"},X={test:t=>_t.test(t)||jn.test(t)||qt.test(t),parse:t=>_t.test(t)?_t.parse(t):qt.test(t)?qt.parse(t):jn.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?_t.transform(t):qt.transform(t),getAnimatableNone:t=>{const e=X.parse(t);return e.alpha=0,X.transform(e)}},Ja=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Qa(t){return isNaN(t)&&typeof t=="string"&&(t.match(us)?.length||0)+(t.match(Ja)?.length||0)>0}const Ro="number",No="color",tl="var",el="var(",Qs="${}",nl=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Ae(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const a=e.replace(nl,l=>(X.test(l)?(s.color.push(r),i.push(No),n.push(X.parse(l))):l.startsWith(el)?(s.var.push(r),i.push(tl),n.push(l)):(s.number.push(r),i.push(Ro),n.push(parseFloat(l))),++r,Qs)).split(Qs);return{values:n,split:a,indexes:s,types:i}}function Io(t){return Ae(t).values}function Lo(t){const{split:e,types:n}=Ae(t),s=e.length;return i=>{let r="";for(let o=0;o<s;o++)if(r+=e[o],i[o]!==void 0){const a=n[o];a===Ro?r+=ve(i[o]):a===No?r+=X.transform(i[o]):r+=i[o]}return r}}const sl=t=>typeof t=="number"?0:X.test(t)?X.getAnimatableNone(t):t;function il(t){const e=Io(t);return Lo(t)(e.map(sl))}const Dt={test:Qa,parse:Io,createTransformer:Lo,getAnimatableNone:il};function mn(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function ol({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,e/=100,n/=100;let i=0,r=0,o=0;if(!e)i=r=o=n;else{const a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;i=mn(l,a,t+1/3),r=mn(l,a,t),o=mn(l,a,t-1/3)}return{red:Math.round(i*255),green:Math.round(r*255),blue:Math.round(o*255),alpha:s}}function qe(t,e){return n=>n>0?e:t}const $=(t,e,n)=>t+(e-t)*n,pn=(t,e,n)=>{const s=t*t,i=n*(e*e-s)+s;return i<0?0:Math.sqrt(i)},rl=[jn,_t,qt],al=t=>rl.find(e=>e.test(t));function ti(t){const e=al(t);if(re(!!e,`'${t}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!e)return!1;let n=e.parse(t);return e===qt&&(n=ol(n)),n}const ei=(t,e)=>{const n=ti(t),s=ti(e);if(!n||!s)return qe(t,e);const i={...n};return r=>(i.red=pn(n.red,s.red,r),i.green=pn(n.green,s.green,r),i.blue=pn(n.blue,s.blue,r),i.alpha=$(n.alpha,s.alpha,r),_t.transform(i))},Vn=new Set(["none","hidden"]);function ll(t,e){return Vn.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function cl(t,e){return n=>$(t,e,n)}function hs(t){return typeof t=="number"?cl:typeof t=="string"?cs(t)?qe:X.test(t)?ei:hl:Array.isArray(t)?Oo:typeof t=="object"?X.test(t)?ei:ul:qe}function Oo(t,e){const n=[...t],s=n.length,i=t.map((r,o)=>hs(r)(r,e[o]));return r=>{for(let o=0;o<s;o++)n[o]=i[o](r);return n}}function ul(t,e){const n={...t,...e},s={};for(const i in n)t[i]!==void 0&&e[i]!==void 0&&(s[i]=hs(t[i])(t[i],e[i]));return i=>{for(const r in s)n[r]=s[r](i);return n}}function dl(t,e){const n=[],s={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const r=e.types[i],o=t.indexes[r][s[r]],a=t.values[o]??0;n[i]=a,s[r]++}return n}const hl=(t,e)=>{const n=Dt.createTransformer(e),s=Ae(t),i=Ae(e);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?Vn.has(t)&&!i.values.length||Vn.has(e)&&!s.values.length?ll(t,e):Ve(Oo(dl(s,i),i.values),n):(re(!0,`Complex values '${t}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),qe(t,e))};function Fo(t,e,n){return typeof t=="number"&&typeof e=="number"&&typeof n=="number"?$(t,e,n):hs(t)(t,e)}const fl=t=>{const e=({timestamp:n})=>t(n);return{start:(n=!0)=>O.update(e,n),stop:()=>Vt(e),now:()=>Z.isProcessing?Z.timestamp:nt.now()}},Bo=(t,e,n=10)=>{let s="";const i=Math.max(Math.round(e/n),2);for(let r=0;r<i;r++)s+=Math.round(t(r/(i-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},Ze=2e4;function fs(t){let e=0;const n=50;let s=t.next(e);for(;!s.done&&e<Ze;)e+=n,s=t.next(e);return e>=Ze?1/0:e}function ml(t,e=100,n){const s=n({...t,keyframes:[0,e]}),i=Math.min(fs(s),Ze);return{type:"keyframes",ease:r=>s.next(i*r).value/e,duration:ct(i)}}const pl=5;function $o(t,e,n){const s=Math.max(e-pl,0);return vo(n-t(s),e-s)}const B={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},gn=.001;function gl({duration:t=B.duration,bounce:e=B.bounce,velocity:n=B.velocity,mass:s=B.mass}){let i,r;re(t<=ft(B.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let o=1-e;o=bt(B.minDamping,B.maxDamping,o),t=bt(B.minDuration,B.maxDuration,ct(t)),o<1?(i=u=>{const c=u*o,d=c*t,f=c-n,g=Dn(u,o),y=Math.exp(-d);return gn-f/g*y},r=u=>{const d=u*o*t,f=d*n+n,g=Math.pow(o,2)*Math.pow(u,2)*t,y=Math.exp(-d),v=Dn(Math.pow(u,2),o);return(-i(u)+gn>0?-1:1)*((f-g)*y)/v}):(i=u=>{const c=Math.exp(-u*t),d=(u-n)*t+1;return-gn+c*d},r=u=>{const c=Math.exp(-u*t),d=(n-u)*(t*t);return c*d});const a=5/t,l=xl(i,r,a);if(t=ft(t),isNaN(l))return{stiffness:B.stiffness,damping:B.damping,duration:t};{const u=Math.pow(l,2)*s;return{stiffness:u,damping:o*2*Math.sqrt(s*u),duration:t}}}const yl=12;function xl(t,e,n){let s=n;for(let i=1;i<yl;i++)s=s-t(s)/e(s);return s}function Dn(t,e){return t*Math.sqrt(1-e*e)}const vl=["duration","bounce"],bl=["stiffness","damping","mass"];function ni(t,e){return e.some(n=>t[n]!==void 0)}function wl(t){let e={velocity:B.velocity,stiffness:B.stiffness,damping:B.damping,mass:B.mass,isResolvedFromDuration:!1,...t};if(!ni(t,bl)&&ni(t,vl))if(t.visualDuration){const n=t.visualDuration,s=2*Math.PI/(n*1.2),i=s*s,r=2*bt(.05,1,1-(t.bounce||0))*Math.sqrt(i);e={...e,mass:B.mass,stiffness:i,damping:r}}else{const n=gl(t);e={...e,...n,mass:B.mass},e.isResolvedFromDuration=!0}return e}function Je(t=B.visualDuration,e=B.bounce){const n=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:s,restDelta:i}=n;const r=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:r},{stiffness:l,damping:u,mass:c,duration:d,velocity:f,isResolvedFromDuration:g}=wl({...n,velocity:-ct(n.velocity||0)}),y=f||0,v=u/(2*Math.sqrt(l*c)),w=o-r,x=ct(Math.sqrt(l/c)),S=Math.abs(w)<5;s||(s=S?B.restSpeed.granular:B.restSpeed.default),i||(i=S?B.restDelta.granular:B.restDelta.default);let b;if(v<1){const A=Dn(x,v);b=D=>{const R=Math.exp(-v*x*D);return o-R*((y+v*x*w)/A*Math.sin(A*D)+w*Math.cos(A*D))}}else if(v===1)b=A=>o-Math.exp(-x*A)*(w+(y+x*w)*A);else{const A=x*Math.sqrt(v*v-1);b=D=>{const R=Math.exp(-v*x*D),P=Math.min(A*D,300);return o-R*((y+v*x*w)*Math.sinh(P)+A*w*Math.cosh(P))/A}}const k={calculatedDuration:g&&d||null,next:A=>{const D=b(A);if(g)a.done=A>=d;else{let R=A===0?y:0;v<1&&(R=A===0?ft(y):$o(b,A,D));const P=Math.abs(R)<=s,N=Math.abs(o-D)<=i;a.done=P&&N}return a.value=a.done?o:D,a},toString:()=>{const A=Math.min(fs(k),Ze),D=Bo(R=>k.next(A*R).value,A,30);return A+"ms "+D},toTransition:()=>{}};return k}Je.applyToOptions=t=>{const e=ml(t,100,Je);return t.ease=e.ease,t.duration=ft(e.duration),t.type="keyframes",t};function En({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=t[0],f={done:!1,value:d},g=P=>a!==void 0&&P<a||l!==void 0&&P>l,y=P=>a===void 0?l:l===void 0||Math.abs(a-P)<Math.abs(l-P)?a:l;let v=n*e;const w=d+v,x=o===void 0?w:o(w);x!==w&&(v=x-d);const S=P=>-v*Math.exp(-P/s),b=P=>x+S(P),k=P=>{const N=S(P),_=b(P);f.done=Math.abs(N)<=u,f.value=f.done?x:_};let A,D;const R=P=>{g(f.value)&&(A=P,D=Je({keyframes:[f.value,y(f.value)],velocity:$o(b,P,f.value),damping:i,stiffness:r,restDelta:u,restSpeed:c}))};return R(0),{calculatedDuration:null,next:P=>{let N=!1;return!D&&A===void 0&&(N=!0,k(P),R(P)),A!==void 0&&P>=A?D.next(P-A):(!N&&k(P),f)}}}function Tl(t,e,n){const s=[],i=n||Tt.mix||Fo,r=t.length-1;for(let o=0;o<r;o++){let a=i(t[o],t[o+1]);if(e){const l=Array.isArray(e)?e[o]||ut:e;a=Ve(l,a)}s.push(a)}return s}function Sl(t,e,{clamp:n=!0,ease:s,mixer:i}={}){const r=t.length;if(wt(r===e.length,"Both input and output ranges must be the same length","range-length"),r===1)return()=>e[0];if(r===2&&e[0]===e[1])return()=>e[1];const o=t[0]===t[1];t[0]>t[r-1]&&(t=[...t].reverse(),e=[...e].reverse());const a=Tl(e,s,i),l=a.length,u=c=>{if(o&&c<t[0])return e[0];let d=0;if(l>1)for(;d<t.length-2&&!(c<t[d+1]);d++);const f=Se(t[d],t[d+1],c);return a[d](f)};return n?c=>u(bt(t[0],t[r-1],c)):u}function Cl(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const i=Se(0,e,s);t.push($(n,1,i))}}function Al(t){const e=[0];return Cl(e,t.length-1),e}function Pl(t,e){return t.map(n=>n*e)}function Ml(t,e){return t.map(()=>e||jo).splice(0,t.length-1)}function Zt({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const i=Ba(s)?s.map(Zs):Zs(s),r={done:!1,value:e[0]},o=Pl(n&&n.length===e.length?n:Al(e),t),a=Sl(o,e,{ease:Array.isArray(i)?i:Ml(e,i)});return{calculatedDuration:t,next:l=>(r.value=a(l),r.done=l>=t,r)}}const jl=t=>t!==null;function ms(t,{repeat:e,repeatType:n="loop"},s,i=1){const r=t.filter(jl),a=i<0||e&&n!=="loop"&&e%2===1?0:r.length-1;return!a||s===void 0?r[a]:s}const Vl={decay:En,inertia:En,tween:Zt,keyframes:Zt,spring:Je};function zo(t){typeof t.type=="string"&&(t.type=Vl[t.type])}class ps{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,n){return this.finished.then(e,n)}}const Dl=t=>t/100;class gs extends ps{constructor(e){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==nt.now()&&this.tick(nt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){const{options:e}=this;zo(e);const{type:n=Zt,repeat:s=0,repeatDelay:i=0,repeatType:r,velocity:o=0}=e;let{keyframes:a}=e;const l=n||Zt;process.env.NODE_ENV!=="production"&&l!==Zt&&wt(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),l!==Zt&&typeof a[0]!="number"&&(this.mixKeyframes=Ve(Dl,Fo(a[0],a[1])),a=[0,100]);const u=l({...e,keyframes:a});r==="mirror"&&(this.mirroredGenerator=l({...e,keyframes:[...a].reverse(),velocity:-o})),u.calculatedDuration===null&&(u.calculatedDuration=fs(u));const{calculatedDuration:c}=u;this.calculatedDuration=c,this.resolvedDuration=c+i,this.totalDuration=this.resolvedDuration*(s+1)-i,this.generator=u}updateTime(e){const n=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(e,n=!1){const{generator:s,totalDuration:i,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return s.next(0);const{delay:u=0,keyframes:c,repeat:d,repeatType:f,repeatDelay:g,type:y,onUpdate:v,finalKeyframe:w}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-i/this.speed,this.startTime)),n?this.currentTime=e:this.updateTime(e);const x=this.currentTime-u*(this.playbackSpeed>=0?1:-1),S=this.playbackSpeed>=0?x<0:x>i;this.currentTime=Math.max(x,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let b=this.currentTime,k=s;if(d){const P=Math.min(this.currentTime,i)/a;let N=Math.floor(P),_=P%1;!_&&P>=1&&(_=1),_===1&&N--,N=Math.min(N,d+1),!!(N%2)&&(f==="reverse"?(_=1-_,g&&(_-=g/a)):f==="mirror"&&(k=o)),b=bt(0,1,_)*a}const A=S?{done:!1,value:c[0]}:k.next(b);r&&(A.value=r(A.value));let{done:D}=A;!S&&l!==null&&(D=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const R=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&D);return R&&y!==En&&(A.value=ms(c,this.options,w,this.speed)),v&&v(A.value),R&&this.finish(),A}then(e,n){return this.finished.then(e,n)}get duration(){return ct(this.calculatedDuration)}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+ct(e)}get time(){return ct(this.currentTime)}set time(e){e=ft(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(e){this.updateTime(nt.now());const n=this.playbackSpeed!==e;this.playbackSpeed=e,n&&(this.time=ct(this.currentTime))}play(){if(this.isStopped)return;const{driver:e=fl,startTime:n}=this.options;this.driver||(this.driver=e(i=>this.tick(i))),this.options.onPlay?.();const s=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=s):this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime||(this.startTime=n??s),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(nt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),e.observe(this)}}function El(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const Wt=t=>t*180/Math.PI,kn=t=>{const e=Wt(Math.atan2(t[1],t[0]));return Rn(e)},kl={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:kn,rotateZ:kn,skewX:t=>Wt(Math.atan(t[1])),skewY:t=>Wt(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},Rn=t=>(t=t%360,t<0&&(t+=360),t),si=kn,ii=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),oi=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),Rl={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:ii,scaleY:oi,scale:t=>(ii(t)+oi(t))/2,rotateX:t=>Rn(Wt(Math.atan2(t[6],t[5]))),rotateY:t=>Rn(Wt(Math.atan2(-t[2],t[0]))),rotateZ:si,rotate:si,skewX:t=>Wt(Math.atan(t[4])),skewY:t=>Wt(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function Nn(t){return t.includes("scale")?1:0}function In(t,e){if(!t||t==="none")return Nn(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=Rl,i=n;else{const a=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=kl,i=a}if(!i)return Nn(e);const r=s[e],o=i[1].split(",").map(Il);return typeof r=="function"?r(o):o[r]}const Nl=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return In(n,e)};function Il(t){return parseFloat(t.trim())}const le=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ce=new Set(le),ri=t=>t===ae||t===M,Ll=new Set(["x","y","z"]),Ol=le.filter(t=>!Ll.has(t));function Fl(t){const e=[];return Ol.forEach(n=>{const s=t.getValue(n);s!==void 0&&(e.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),e}const Kt={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>In(e,"x"),y:(t,{transform:e})=>In(e,"y")};Kt.translateX=Kt.x;Kt.translateY=Kt.y;const Ht=new Set;let Ln=!1,On=!1,Fn=!1;function Uo(){if(On){const t=Array.from(Ht).filter(s=>s.needsMeasurement),e=new Set(t.map(s=>s.element)),n=new Map;e.forEach(s=>{const i=Fl(s);i.length&&(n.set(s,i),s.render())}),t.forEach(s=>s.measureInitialState()),e.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([r,o])=>{s.getValue(r)?.set(o)})}),t.forEach(s=>s.measureEndState()),t.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}On=!1,Ln=!1,Ht.forEach(t=>t.complete(Fn)),Ht.clear()}function _o(){Ht.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(On=!0)})}function Bl(){Fn=!0,_o(),Uo(),Fn=!1}class ys{constructor(e,n,s,i,r,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=n,this.name=s,this.motionValue=i,this.element=r,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(Ht.add(this),Ln||(Ln=!0,O.read(_o),O.resolveKeyframes(Uo))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:n,element:s,motionValue:i}=this;if(e[0]===null){const r=i?.get(),o=e[e.length-1];if(r!==void 0)e[0]=r;else if(s&&n){const a=s.readValue(n,o);a!=null&&(e[0]=a)}e[0]===void 0&&(e[0]=o),i&&r===void 0&&i.set(e[0])}El(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),Ht.delete(this)}cancel(){this.state==="scheduled"&&(Ht.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const $l=t=>t.startsWith("--");function zl(t,e,n){$l(e)?t.style.setProperty(e,n):t.style[e]=n}const Ul=ss(()=>window.ScrollTimeline!==void 0),_l={};function Wl(t,e){const n=ss(t);return()=>_l[e]??n()}const Wo=Wl(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),xe=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,ai={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:xe([0,.65,.55,1]),circOut:xe([.55,0,1,.45]),backIn:xe([.31,.01,.66,-.59]),backOut:xe([.33,1.53,.69,.99])};function Ko(t,e){if(t)return typeof t=="function"?Wo()?Bo(t,e):"ease-out":Vo(t)?xe(t):Array.isArray(t)?t.map(n=>Ko(n,e)||ai.easeOut):ai[t]}function Kl(t,e,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},u=void 0){const c={[e]:n};l&&(c.offset=l);const d=Ko(a,i);Array.isArray(d)&&(c.easing=d);const f={delay:s,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:r+1,direction:o==="reverse"?"alternate":"normal"};return u&&(f.pseudoElement=u),t.animate(c,f)}function Ho(t){return typeof t=="function"&&"applyToOptions"in t}function Hl({type:t,...e}){return Ho(t)&&Wo()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class Xl extends ps{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;const{element:n,name:s,keyframes:i,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=e;this.isPseudoElement=!!r,this.allowFlatten=o,this.options=e,wt(typeof e.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const u=Hl(e);this.animation=Kl(n,s,i,u,r),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const c=ms(i,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(c):zl(n,s,c),this.animation.cancel()}l?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:e}=this;e==="idle"||e==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const e=this.animation.effect?.getComputedTiming?.().duration||0;return ct(Number(e))}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+ct(e)}get time(){return ct(Number(this.animation.currentTime)||0)}set time(e){this.finishedTime=null,this.animation.currentTime=ft(e)}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(e){this.animation.startTime=e}attachTimeline({timeline:e,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,e&&Ul()?(this.animation.timeline=e,ut):n(this)}}const Xo={anticipate:Ao,backInOut:Co,circInOut:Mo};function Yl(t){return t in Xo}function Gl(t){typeof t.ease=="string"&&Yl(t.ease)&&(t.ease=Xo[t.ease])}const li=10;class ql extends Xl{constructor(e){Gl(e),zo(e),super(e),e.startTime&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){const{motionValue:n,onUpdate:s,onComplete:i,element:r,...o}=this.options;if(!n)return;if(e!==void 0){n.set(e);return}const a=new gs({...o,autoplay:!1}),l=ft(this.finishedTime??this.time);n.setWithVelocity(a.sample(l-li).value,a.sample(l).value,li),a.stop()}}const ci=(t,e)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Dt.test(t)||t==="0")&&!t.startsWith("url("));function Zl(t){const e=t[0];if(t.length===1)return!0;for(let n=0;n<t.length;n++)if(t[n]!==e)return!0}function Jl(t,e,n,s){const i=t[0];if(i===null)return!1;if(e==="display"||e==="visibility")return!0;const r=t[t.length-1],o=ci(i,e),a=ci(r,e);return re(o===a,`You are trying to animate ${e} from "${i}" to "${r}". "${o?r:i}" is not an animatable value.`,"value-not-animatable"),!o||!a?!1:Zl(t)||(n==="spring"||Ho(n))&&s}function Bn(t){t.duration=0,t.type="keyframes"}const Ql=new Set(["opacity","clipPath","filter","transform"]),tc=ss(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function ec(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:i,damping:r,type:o}=t;if(!(e?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=e.owner.getProps();return tc()&&n&&Ql.has(n)&&(n!=="transform"||!u)&&!l&&!s&&i!=="mirror"&&r!==0&&o!=="inertia"}const nc=40;class sc extends ps{constructor({autoplay:e=!0,delay:n=0,type:s="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:o="loop",keyframes:a,name:l,motionValue:u,element:c,...d}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=nt.now();const f={autoplay:e,delay:n,type:s,repeat:i,repeatDelay:r,repeatType:o,name:l,motionValue:u,element:c,...d},g=c?.KeyframeResolver||ys;this.keyframeResolver=new g(a,(y,v,w)=>this.onKeyframesResolved(y,v,f,!w),l,u,c),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,n,s,i){this.keyframeResolver=void 0;const{name:r,type:o,velocity:a,delay:l,isHandoff:u,onUpdate:c}=s;this.resolvedAt=nt.now(),Jl(e,r,o,a)||((Tt.instantAnimations||!l)&&c?.(ms(e,s,n)),e[0]=e[e.length-1],Bn(s),s.repeat=0);const f={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>nc?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:e},g=!u&&ec(f)?new ql({...f,element:f.motionValue.owner.current}):new gs(f);g.finished.then(()=>this.notifyFinished()).catch(ut),this.pendingTimeline&&(this.stopTimeline=g.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=g}get finished(){return this._animation?this.animation.finished:this._finished}then(e,n){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Bl()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const ic=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function oc(t){const e=ic.exec(t);if(!e)return[,];const[,n,s,i]=e;return[`--${n??s}`,i]}const rc=4;function Yo(t,e,n=1){wt(n<=rc,`Max CSS variable fallback depth detected in property "${t}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,i]=oc(t);if(!s)return;const r=window.getComputedStyle(e).getPropertyValue(s);if(r){const o=r.trim();return go(o)?parseFloat(o):o}return cs(i)?Yo(i,e,n+1):i}function xs(t,e){return t?.[e]??t?.default??t}const Go=new Set(["width","height","top","left","right","bottom",...le]),ac={test:t=>t==="auto",parse:t=>t},qo=t=>e=>e.test(t),Zo=[ae,M,xt,jt,Za,qa,ac],ui=t=>Zo.find(qo(t));function lc(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||xo(t):!0}const cc=new Set(["brightness","contrast","saturate","opacity"]);function uc(t){const[e,n]=t.slice(0,-1).split("(");if(e==="drop-shadow")return t;const[s]=n.match(us)||[];if(!s)return t;const i=n.replace(s,"");let r=cc.has(e)?1:0;return s!==n&&(r*=100),e+"("+r+i+")"}const dc=/\b([a-z-]*)\(.*?\)/gu,$n={...Dt,getAnimatableNone:t=>{const e=t.match(dc);return e?e.map(uc).join(" "):t}},di={...ae,transform:Math.round},hc={rotate:jt,rotateX:jt,rotateY:jt,rotateZ:jt,scale:Be,scaleX:Be,scaleY:Be,scaleZ:Be,skew:jt,skewX:jt,skewY:jt,distance:M,translateX:M,translateY:M,translateZ:M,x:M,y:M,z:M,perspective:M,transformPerspective:M,opacity:Ce,originX:Js,originY:Js,originZ:M},vs={borderWidth:M,borderTopWidth:M,borderRightWidth:M,borderBottomWidth:M,borderLeftWidth:M,borderRadius:M,radius:M,borderTopLeftRadius:M,borderTopRightRadius:M,borderBottomRightRadius:M,borderBottomLeftRadius:M,width:M,maxWidth:M,height:M,maxHeight:M,top:M,right:M,bottom:M,left:M,padding:M,paddingTop:M,paddingRight:M,paddingBottom:M,paddingLeft:M,margin:M,marginTop:M,marginRight:M,marginBottom:M,marginLeft:M,backgroundPositionX:M,backgroundPositionY:M,...hc,zIndex:di,fillOpacity:Ce,strokeOpacity:Ce,numOctaves:di},fc={...vs,color:X,backgroundColor:X,outlineColor:X,fill:X,stroke:X,borderColor:X,borderTopColor:X,borderRightColor:X,borderBottomColor:X,borderLeftColor:X,filter:$n,WebkitFilter:$n},Jo=t=>fc[t];function Qo(t,e){let n=Jo(t);return n!==$n&&(n=Dt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const mc=new Set(["auto","none","0"]);function pc(t,e,n){let s=0,i;for(;s<t.length&&!i;){const r=t[s];typeof r=="string"&&!mc.has(r)&&Ae(r).values.length&&(i=t[s]),s++}if(i&&n)for(const r of e)t[r]=Qo(n,i)}class gc extends ys{constructor(e,n,s,i,r){super(e,n,s,i,r,!0)}readKeyframes(){const{unresolvedKeyframes:e,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l<e.length;l++){let u=e[l];if(typeof u=="string"&&(u=u.trim(),cs(u))){const c=Yo(u,n.current);c!==void 0&&(e[l]=c),l===e.length-1&&(this.finalKeyframe=u)}}if(this.resolveNoneKeyframes(),!Go.has(s)||e.length!==2)return;const[i,r]=e,o=ui(i),a=ui(r);if(o!==a)if(ri(o)&&ri(a))for(let l=0;l<e.length;l++){const u=e[l];typeof u=="string"&&(e[l]=parseFloat(u))}else Kt[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:e,name:n}=this,s=[];for(let i=0;i<e.length;i++)(e[i]===null||lc(e[i]))&&s.push(i);s.length&&pc(e,s,n)}measureInitialState(){const{element:e,unresolvedKeyframes:n,name:s}=this;if(!e||!e.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Kt[s](e.measureViewportBox(),window.getComputedStyle(e.current)),n[0]=this.measuredOrigin;const i=n[n.length-1];i!==void 0&&e.getValue(s,i).jump(i,!1)}measureEndState(){const{element:e,name:n,unresolvedKeyframes:s}=this;if(!e||!e.current)return;const i=e.getValue(n);i&&i.jump(this.measuredOrigin,!1);const r=s.length-1,o=s[r];s[r]=Kt[n](e.measureViewportBox(),window.getComputedStyle(e.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),this.removedTransforms?.length&&this.removedTransforms.forEach(([a,l])=>{e.getValue(a).set(l)}),this.resolveNoneKeyframes()}}function yc(t,e,n){if(t instanceof EventTarget)return[t];if(typeof t=="string"){let s=document;const i=n?.[t]??s.querySelectorAll(t);return i?Array.from(i):[]}return Array.from(t)}const tr=(t,e)=>e&&typeof t=="number"?e.transform(t):t;function er(t){return yo(t)&&"offsetHeight"in t}const hi=30,xc=t=>!isNaN(parseFloat(t));class vc{constructor(e,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const i=nt.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const r of this.dependents)r.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=n.owner}setCurrent(e){this.current=e,this.updatedAt=nt.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=xc(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return process.env.NODE_ENV!=="production"&&os(!1,'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'),this.on("change",e)}on(e,n){this.events[e]||(this.events[e]=new is);const s=this.events[e].add(n);return e==="change"?()=>{s(),O.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,n){this.passiveEffect=e,this.stopPassiveEffect=n}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-s}jump(e,n=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=nt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>hi)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,hi);return vo(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(e){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=e(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ie(t,e){return new vc(t,e)}const{schedule:bs}=Do(queueMicrotask,!1),dt={x:!1,y:!1};function nr(){return dt.x||dt.y}function bc(t){return t==="x"||t==="y"?dt[t]?null:(dt[t]=!0,()=>{dt[t]=!1}):dt.x||dt.y?null:(dt.x=dt.y=!0,()=>{dt.x=dt.y=!1})}function sr(t,e){const n=yc(t),s=new AbortController,i={passive:!0,...e,signal:s.signal};return[n,i,()=>s.abort()]}function fi(t){return!(t.pointerType==="touch"||nr())}function wc(t,e,n={}){const[s,i,r]=sr(t,n),o=a=>{if(!fi(a))return;const{target:l}=a,u=e(l,a);if(typeof u!="function"||!l)return;const c=d=>{fi(d)&&(u(d),l.removeEventListener("pointerleave",c))};l.addEventListener("pointerleave",c,i)};return s.forEach(a=>{a.addEventListener("pointerenter",o,i)}),r}const ir=(t,e)=>e?t===e?!0:ir(t,e.parentElement):!1,ws=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1,Tc=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Sc(t){return Tc.has(t.tagName)||t.tabIndex!==-1}const We=new WeakSet;function mi(t){return e=>{e.key==="Enter"&&t(e)}}function yn(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}const Cc=(t,e)=>{const n=t.currentTarget;if(!n)return;const s=mi(()=>{if(We.has(n))return;yn(n,"down");const i=mi(()=>{yn(n,"up")}),r=()=>yn(n,"cancel");n.addEventListener("keyup",i,e),n.addEventListener("blur",r,e)});n.addEventListener("keydown",s,e),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),e)};function pi(t){return ws(t)&&!nr()}function Ac(t,e,n={}){const[s,i,r]=sr(t,n),o=a=>{const l=a.currentTarget;if(!pi(a))return;We.add(l);const u=e(l,a),c=(g,y)=>{window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",f),We.has(l)&&We.delete(l),pi(g)&&typeof u=="function"&&u(g,{success:y})},d=g=>{c(g,l===window||l===document||n.useGlobalTarget||ir(l,g.target))},f=g=>{c(g,!1)};window.addEventListener("pointerup",d,i),window.addEventListener("pointercancel",f,i)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",o,i),er(a)&&(a.addEventListener("focus",u=>Cc(u,i)),!Sc(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),r}function or(t){return yo(t)&&"ownerSVGElement"in t}function Pc(t){return or(t)&&t.tagName==="svg"}const tt=t=>!!(t&&t.getVelocity),Mc=[...Zo,X,Dt],jc=t=>Mc.find(qo(t)),Ts=m.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});function gi(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Vc(...t){return e=>{let n=!1;const s=t.map(i=>{const r=gi(i,e);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;i<s.length;i++){const r=s[i];typeof r=="function"?r():gi(t[i],null)}}}}function Dc(...t){return ht.useCallback(Vc(...t),t)}class Ec extends ht.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(n&&e.isPresent&&!this.props.isPresent){const s=n.offsetParent,i=er(s)&&s.offsetWidth||0,r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft,r.right=i-r.width-r.left}return null}componentDidUpdate(){}render(){return this.props.children}}function kc({children:t,isPresent:e,anchorX:n,root:s}){const i=m.useId(),r=m.useRef(null),o=m.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=m.useContext(Ts),l=Dc(r,t?.ref);return m.useInsertionEffect(()=>{const{width:u,height:c,top:d,left:f,right:g}=o.current;if(e||!r.current||!u||!c)return;const y=n==="left"?`left: ${f}`:`right: ${g}`;r.current.dataset.motionPopId=i;const v=document.createElement("style");a&&(v.nonce=a);const w=s??document.head;return w.appendChild(v),v.sheet&&v.sheet.insertRule(`
1
+ "use strict";var xa=Object.create;var Hs=Object.defineProperty;var va=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var wa=Object.getPrototypeOf,Ta=Object.prototype.hasOwnProperty;var Sa=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ba(e))!Ta.call(t,i)&&i!==n&&Hs(t,i,{get:()=>e[i],enumerable:!(s=va(e,i))||s.enumerable});return t};var Ca=(t,e,n)=>(n=t!=null?xa(wa(t)):{},Sa(e||!t||!t.__esModule?Hs(n,"default",{value:t,enumerable:!0}):n,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),m=require("react"),G=require("lucide-react"),uo=require("@ai-sdk/react"),Ye=require("ai"),ho=require("@radix-ui/react-slot"),fo=require("class-variance-authority"),Aa=require("clsx"),Pa=require("tailwind-merge"),Ma=require("@radix-ui/react-tooltip"),Xs=require("@radix-ui/react-use-controllable-state"),ja=require("@radix-ui/react-collapsible"),Da=require("./server.cjs");function qn(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const ht=qn(m),ne=qn(Ma),Zn=qn(ja);function J(...t){return Pa.twMerge(Aa.clsx(t))}const zt=fo.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}}),Ge=ht.forwardRef(({className:t,variant:e,size:n,asChild:s=!1,...i},r)=>{const o=s?ho.Slot:"button";return h.jsx(o,{ref:r,"data-slot":"button",className:J(zt({variant:e,size:n,className:t})),...i})});Ge.displayName="Button";const Va=fo.cva("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function dn({className:t,variant:e,asChild:n=!1,...s}){const i=n?ho.Slot:"span";return h.jsx(i,{"data-slot":"badge",className:J(Va({variant:e}),t),...s})}const Ea=({textAreaRef:t,triggerAutoSize:e,maxHeight:n=Number.MAX_SAFE_INTEGER,minHeight:s=0})=>{const[i,r]=ht.useState(!0);ht.useEffect(()=>{const a=t.current;if(a){i&&(a.style.minHeight=`${s+6}px`,n>s&&(a.style.maxHeight=`${n}px`),r(!1)),a.style.height=`${s+6}px`;const l=a.scrollHeight;l>n?a.style.height=`${n}px`:a.style.height=`${l+6}px`}},[t.current,e])},mo=ht.forwardRef(({maxHeight:t=Number.MAX_SAFE_INTEGER,minHeight:e=52,className:n,onChange:s,value:i,...r},o)=>{const a=ht.useRef(null),[l,u]=ht.useState("");return Ea({textAreaRef:a,triggerAutoSize:l,maxHeight:t,minHeight:e}),m.useImperativeHandle(o,()=>({textArea:a.current,focus:()=>a?.current?.focus(),maxHeight:t,minHeight:e})),ht.useEffect(()=>{u(i)},[r?.defaultValue,i]),h.jsx("textarea",{...r,value:i,ref:a,className:J("flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",n),onChange:c=>{u(c.target.value),s?.(c)}})});mo.displayName="AutosizeTextarea";function ka({delayDuration:t=0,...e}){return h.jsx(ne.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...e})}function Ot({...t}){return h.jsx(ka,{children:h.jsx(ne.Root,{"data-slot":"tooltip",...t})})}function Ft({...t}){return h.jsx(ne.Trigger,{"data-slot":"tooltip-trigger",...t})}function Bt({className:t,sideOffset:e=0,children:n,...s}){return h.jsx(ne.Portal,{children:h.jsxs(ne.Content,{"data-slot":"tooltip-content",sideOffset:e,className:J("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...s,children:[n,h.jsx(ne.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function Ys({className:t,...e}){return h.jsx("kbd",{"data-slot":"kbd",className:J("bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none","[&_svg:not([class*='size-'])]:size-3","[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",t),...e})}const Jn=m.createContext({});function Qn(t){const e=m.useRef(null);return e.current===null&&(e.current=t()),e.current}const ts=typeof window<"u",po=ts?m.useLayoutEffect:m.useEffect,en=m.createContext(null);function es(t,e){t.indexOf(e)===-1&&t.push(e)}function ns(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const bt=(t,e,n)=>n>e?e:n<t?t:n;function Mn(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}let re=()=>{},wt=()=>{};process.env.NODE_ENV!=="production"&&(re=(t,e,n)=>{!t&&typeof console<"u"&&console.warn(Mn(e,n))},wt=(t,e,n)=>{if(!t)throw new Error(Mn(e,n))});const Tt={},go=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t);function yo(t){return typeof t=="object"&&t!==null}const xo=t=>/^0[^.\s]+$/u.test(t);function ss(t){let e;return()=>(e===void 0&&(e=t()),e)}const ut=t=>t,Ra=(t,e)=>n=>e(t(n)),De=(...t)=>t.reduce(Ra),Se=(t,e,n)=>{const s=e-t;return s===0?1:(n-t)/s};class is{constructor(){this.subscriptions=[]}add(e){return es(this.subscriptions,e),()=>ns(this.subscriptions,e)}notify(e,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](e,n,s);else for(let r=0;r<i;r++){const o=this.subscriptions[r];o&&o(e,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const ft=t=>t*1e3,ct=t=>t/1e3;function vo(t,e){return e?t*(1e3/e):0}const Gs=new Set;function os(t,e,n){t||Gs.has(e)||(console.warn(Mn(e,n)),Gs.add(e))}const bo=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t,Na=1e-7,Ia=12;function La(t,e,n,s,i){let r,o,a=0;do o=e+(n-e)/2,r=bo(o,s,i)-t,r>0?n=o:e=o;while(Math.abs(r)>Na&&++a<Ia);return o}function Ve(t,e,n,s){if(t===e&&n===s)return ut;const i=r=>La(r,0,1,t,n);return r=>r===0||r===1?r:bo(i(r),e,s)}const wo=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,To=t=>e=>1-t(1-e),So=Ve(.33,1.53,.69,.99),rs=To(So),Co=wo(rs),Ao=t=>(t*=2)<1?.5*rs(t):.5*(2-Math.pow(2,-10*(t-1))),as=t=>1-Math.sin(Math.acos(t)),Po=To(as),Mo=wo(as),Oa=Ve(.42,0,1,1),Fa=Ve(0,0,.58,1),jo=Ve(.42,0,.58,1),Ba=t=>Array.isArray(t)&&typeof t[0]!="number",Do=t=>Array.isArray(t)&&typeof t[0]=="number",qs={linear:ut,easeIn:Oa,easeInOut:jo,easeOut:Fa,circIn:as,circInOut:Mo,circOut:Po,backIn:rs,backInOut:Co,backOut:So,anticipate:Ao},$a=t=>typeof t=="string",Zs=t=>{if(Do(t)){wt(t.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[e,n,s,i]=t;return Ve(e,n,s,i)}else if($a(t))return wt(qs[t]!==void 0,`Invalid easing type '${t}'`,"invalid-easing-type"),qs[t];return t},Fe=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function za(t,e){let n=new Set,s=new Set,i=!1,r=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(c){o.has(c)&&(u.schedule(c),t()),c(a)}const u={schedule:(c,d=!1,f=!1)=>{const y=f&&i?n:s;return d&&o.add(c),y.has(c)||y.add(c),c},cancel:c=>{s.delete(c),o.delete(c)},process:c=>{if(a=c,i){r=!0;return}i=!0,[n,s]=[s,n],n.forEach(l),n.clear(),i=!1,r&&(r=!1,u.process(c))}};return u}const Ua=40;function Vo(t,e){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,o=Fe.reduce((b,k)=>(b[k]=za(r),b),{}),{setup:a,read:l,resolveKeyframes:u,preUpdate:c,update:d,preRender:f,render:g,postRender:y}=o,v=()=>{const b=Tt.useManualTiming?i.timestamp:performance.now();n=!1,Tt.useManualTiming||(i.delta=s?1e3/60:Math.max(Math.min(b-i.timestamp,Ua),1)),i.timestamp=b,i.isProcessing=!0,a.process(i),l.process(i),u.process(i),c.process(i),d.process(i),f.process(i),g.process(i),y.process(i),i.isProcessing=!1,n&&e&&(s=!1,t(v))},w=()=>{n=!0,s=!0,i.isProcessing||t(v)};return{schedule:Fe.reduce((b,k)=>{const A=o[k];return b[k]=(V,R=!1,P=!1)=>(n||w(),A.schedule(V,R,P)),b},{}),cancel:b=>{for(let k=0;k<Fe.length;k++)o[Fe[k]].cancel(b)},state:i,steps:o}}const{schedule:O,cancel:Dt,state:Z,steps:hn}=Vo(typeof requestAnimationFrame<"u"?requestAnimationFrame:ut,!0);let _e;function _a(){_e=void 0}const nt={now:()=>(_e===void 0&&nt.set(Z.isProcessing||Tt.useManualTiming?Z.timestamp:performance.now()),_e),set:t=>{_e=t,queueMicrotask(_a)}},Eo=t=>e=>typeof e=="string"&&e.startsWith(t),ls=Eo("--"),Wa=Eo("var(--"),cs=t=>Wa(t)?Ka.test(t.split("/*")[0].trim()):!1,Ka=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,ae={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Ce={...ae,transform:t=>bt(0,1,t)},Be={...ae,default:1},ve=t=>Math.round(t*1e5)/1e5,us=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Ha(t){return t==null}const Xa=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ds=(t,e)=>n=>!!(typeof n=="string"&&Xa.test(n)&&n.startsWith(t)||e&&!Ha(n)&&Object.prototype.hasOwnProperty.call(n,e)),ko=(t,e,n)=>s=>{if(typeof s!="string")return s;const[i,r,o,a]=s.match(us);return{[t]:parseFloat(i),[e]:parseFloat(r),[n]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},Ya=t=>bt(0,255,t),fn={...ae,transform:t=>Math.round(Ya(t))},_t={test:ds("rgb","red"),parse:ko("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+fn.transform(t)+", "+fn.transform(e)+", "+fn.transform(n)+", "+ve(Ce.transform(s))+")"};function Ga(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const jn={test:ds("#"),parse:Ga,transform:_t.transform},Ee=t=>({test:e=>typeof e=="string"&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),jt=Ee("deg"),xt=Ee("%"),M=Ee("px"),qa=Ee("vh"),Za=Ee("vw"),Js={...xt,parse:t=>xt.parse(t)/100,transform:t=>xt.transform(t*100)},qt={test:ds("hsl","hue"),parse:ko("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+xt.transform(ve(e))+", "+xt.transform(ve(n))+", "+ve(Ce.transform(s))+")"},X={test:t=>_t.test(t)||jn.test(t)||qt.test(t),parse:t=>_t.test(t)?_t.parse(t):qt.test(t)?qt.parse(t):jn.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?_t.transform(t):qt.transform(t),getAnimatableNone:t=>{const e=X.parse(t);return e.alpha=0,X.transform(e)}},Ja=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Qa(t){return isNaN(t)&&typeof t=="string"&&(t.match(us)?.length||0)+(t.match(Ja)?.length||0)>0}const Ro="number",No="color",tl="var",el="var(",Qs="${}",nl=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Ae(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const a=e.replace(nl,l=>(X.test(l)?(s.color.push(r),i.push(No),n.push(X.parse(l))):l.startsWith(el)?(s.var.push(r),i.push(tl),n.push(l)):(s.number.push(r),i.push(Ro),n.push(parseFloat(l))),++r,Qs)).split(Qs);return{values:n,split:a,indexes:s,types:i}}function Io(t){return Ae(t).values}function Lo(t){const{split:e,types:n}=Ae(t),s=e.length;return i=>{let r="";for(let o=0;o<s;o++)if(r+=e[o],i[o]!==void 0){const a=n[o];a===Ro?r+=ve(i[o]):a===No?r+=X.transform(i[o]):r+=i[o]}return r}}const sl=t=>typeof t=="number"?0:X.test(t)?X.getAnimatableNone(t):t;function il(t){const e=Io(t);return Lo(t)(e.map(sl))}const Vt={test:Qa,parse:Io,createTransformer:Lo,getAnimatableNone:il};function mn(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function ol({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,e/=100,n/=100;let i=0,r=0,o=0;if(!e)i=r=o=n;else{const a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;i=mn(l,a,t+1/3),r=mn(l,a,t),o=mn(l,a,t-1/3)}return{red:Math.round(i*255),green:Math.round(r*255),blue:Math.round(o*255),alpha:s}}function qe(t,e){return n=>n>0?e:t}const $=(t,e,n)=>t+(e-t)*n,pn=(t,e,n)=>{const s=t*t,i=n*(e*e-s)+s;return i<0?0:Math.sqrt(i)},rl=[jn,_t,qt],al=t=>rl.find(e=>e.test(t));function ti(t){const e=al(t);if(re(!!e,`'${t}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!e)return!1;let n=e.parse(t);return e===qt&&(n=ol(n)),n}const ei=(t,e)=>{const n=ti(t),s=ti(e);if(!n||!s)return qe(t,e);const i={...n};return r=>(i.red=pn(n.red,s.red,r),i.green=pn(n.green,s.green,r),i.blue=pn(n.blue,s.blue,r),i.alpha=$(n.alpha,s.alpha,r),_t.transform(i))},Dn=new Set(["none","hidden"]);function ll(t,e){return Dn.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function cl(t,e){return n=>$(t,e,n)}function hs(t){return typeof t=="number"?cl:typeof t=="string"?cs(t)?qe:X.test(t)?ei:hl:Array.isArray(t)?Oo:typeof t=="object"?X.test(t)?ei:ul:qe}function Oo(t,e){const n=[...t],s=n.length,i=t.map((r,o)=>hs(r)(r,e[o]));return r=>{for(let o=0;o<s;o++)n[o]=i[o](r);return n}}function ul(t,e){const n={...t,...e},s={};for(const i in n)t[i]!==void 0&&e[i]!==void 0&&(s[i]=hs(t[i])(t[i],e[i]));return i=>{for(const r in s)n[r]=s[r](i);return n}}function dl(t,e){const n=[],s={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const r=e.types[i],o=t.indexes[r][s[r]],a=t.values[o]??0;n[i]=a,s[r]++}return n}const hl=(t,e)=>{const n=Vt.createTransformer(e),s=Ae(t),i=Ae(e);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?Dn.has(t)&&!i.values.length||Dn.has(e)&&!s.values.length?ll(t,e):De(Oo(dl(s,i),i.values),n):(re(!0,`Complex values '${t}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),qe(t,e))};function Fo(t,e,n){return typeof t=="number"&&typeof e=="number"&&typeof n=="number"?$(t,e,n):hs(t)(t,e)}const fl=t=>{const e=({timestamp:n})=>t(n);return{start:(n=!0)=>O.update(e,n),stop:()=>Dt(e),now:()=>Z.isProcessing?Z.timestamp:nt.now()}},Bo=(t,e,n=10)=>{let s="";const i=Math.max(Math.round(e/n),2);for(let r=0;r<i;r++)s+=Math.round(t(r/(i-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},Ze=2e4;function fs(t){let e=0;const n=50;let s=t.next(e);for(;!s.done&&e<Ze;)e+=n,s=t.next(e);return e>=Ze?1/0:e}function ml(t,e=100,n){const s=n({...t,keyframes:[0,e]}),i=Math.min(fs(s),Ze);return{type:"keyframes",ease:r=>s.next(i*r).value/e,duration:ct(i)}}const pl=5;function $o(t,e,n){const s=Math.max(e-pl,0);return vo(n-t(s),e-s)}const B={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},gn=.001;function gl({duration:t=B.duration,bounce:e=B.bounce,velocity:n=B.velocity,mass:s=B.mass}){let i,r;re(t<=ft(B.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let o=1-e;o=bt(B.minDamping,B.maxDamping,o),t=bt(B.minDuration,B.maxDuration,ct(t)),o<1?(i=u=>{const c=u*o,d=c*t,f=c-n,g=Vn(u,o),y=Math.exp(-d);return gn-f/g*y},r=u=>{const d=u*o*t,f=d*n+n,g=Math.pow(o,2)*Math.pow(u,2)*t,y=Math.exp(-d),v=Vn(Math.pow(u,2),o);return(-i(u)+gn>0?-1:1)*((f-g)*y)/v}):(i=u=>{const c=Math.exp(-u*t),d=(u-n)*t+1;return-gn+c*d},r=u=>{const c=Math.exp(-u*t),d=(n-u)*(t*t);return c*d});const a=5/t,l=xl(i,r,a);if(t=ft(t),isNaN(l))return{stiffness:B.stiffness,damping:B.damping,duration:t};{const u=Math.pow(l,2)*s;return{stiffness:u,damping:o*2*Math.sqrt(s*u),duration:t}}}const yl=12;function xl(t,e,n){let s=n;for(let i=1;i<yl;i++)s=s-t(s)/e(s);return s}function Vn(t,e){return t*Math.sqrt(1-e*e)}const vl=["duration","bounce"],bl=["stiffness","damping","mass"];function ni(t,e){return e.some(n=>t[n]!==void 0)}function wl(t){let e={velocity:B.velocity,stiffness:B.stiffness,damping:B.damping,mass:B.mass,isResolvedFromDuration:!1,...t};if(!ni(t,bl)&&ni(t,vl))if(t.visualDuration){const n=t.visualDuration,s=2*Math.PI/(n*1.2),i=s*s,r=2*bt(.05,1,1-(t.bounce||0))*Math.sqrt(i);e={...e,mass:B.mass,stiffness:i,damping:r}}else{const n=gl(t);e={...e,...n,mass:B.mass},e.isResolvedFromDuration=!0}return e}function Je(t=B.visualDuration,e=B.bounce){const n=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:s,restDelta:i}=n;const r=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:r},{stiffness:l,damping:u,mass:c,duration:d,velocity:f,isResolvedFromDuration:g}=wl({...n,velocity:-ct(n.velocity||0)}),y=f||0,v=u/(2*Math.sqrt(l*c)),w=o-r,x=ct(Math.sqrt(l/c)),S=Math.abs(w)<5;s||(s=S?B.restSpeed.granular:B.restSpeed.default),i||(i=S?B.restDelta.granular:B.restDelta.default);let b;if(v<1){const A=Vn(x,v);b=V=>{const R=Math.exp(-v*x*V);return o-R*((y+v*x*w)/A*Math.sin(A*V)+w*Math.cos(A*V))}}else if(v===1)b=A=>o-Math.exp(-x*A)*(w+(y+x*w)*A);else{const A=x*Math.sqrt(v*v-1);b=V=>{const R=Math.exp(-v*x*V),P=Math.min(A*V,300);return o-R*((y+v*x*w)*Math.sinh(P)+A*w*Math.cosh(P))/A}}const k={calculatedDuration:g&&d||null,next:A=>{const V=b(A);if(g)a.done=A>=d;else{let R=A===0?y:0;v<1&&(R=A===0?ft(y):$o(b,A,V));const P=Math.abs(R)<=s,N=Math.abs(o-V)<=i;a.done=P&&N}return a.value=a.done?o:V,a},toString:()=>{const A=Math.min(fs(k),Ze),V=Bo(R=>k.next(A*R).value,A,30);return A+"ms "+V},toTransition:()=>{}};return k}Je.applyToOptions=t=>{const e=ml(t,100,Je);return t.ease=e.ease,t.duration=ft(e.duration),t.type="keyframes",t};function En({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=t[0],f={done:!1,value:d},g=P=>a!==void 0&&P<a||l!==void 0&&P>l,y=P=>a===void 0?l:l===void 0||Math.abs(a-P)<Math.abs(l-P)?a:l;let v=n*e;const w=d+v,x=o===void 0?w:o(w);x!==w&&(v=x-d);const S=P=>-v*Math.exp(-P/s),b=P=>x+S(P),k=P=>{const N=S(P),_=b(P);f.done=Math.abs(N)<=u,f.value=f.done?x:_};let A,V;const R=P=>{g(f.value)&&(A=P,V=Je({keyframes:[f.value,y(f.value)],velocity:$o(b,P,f.value),damping:i,stiffness:r,restDelta:u,restSpeed:c}))};return R(0),{calculatedDuration:null,next:P=>{let N=!1;return!V&&A===void 0&&(N=!0,k(P),R(P)),A!==void 0&&P>=A?V.next(P-A):(!N&&k(P),f)}}}function Tl(t,e,n){const s=[],i=n||Tt.mix||Fo,r=t.length-1;for(let o=0;o<r;o++){let a=i(t[o],t[o+1]);if(e){const l=Array.isArray(e)?e[o]||ut:e;a=De(l,a)}s.push(a)}return s}function Sl(t,e,{clamp:n=!0,ease:s,mixer:i}={}){const r=t.length;if(wt(r===e.length,"Both input and output ranges must be the same length","range-length"),r===1)return()=>e[0];if(r===2&&e[0]===e[1])return()=>e[1];const o=t[0]===t[1];t[0]>t[r-1]&&(t=[...t].reverse(),e=[...e].reverse());const a=Tl(e,s,i),l=a.length,u=c=>{if(o&&c<t[0])return e[0];let d=0;if(l>1)for(;d<t.length-2&&!(c<t[d+1]);d++);const f=Se(t[d],t[d+1],c);return a[d](f)};return n?c=>u(bt(t[0],t[r-1],c)):u}function Cl(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const i=Se(0,e,s);t.push($(n,1,i))}}function Al(t){const e=[0];return Cl(e,t.length-1),e}function Pl(t,e){return t.map(n=>n*e)}function Ml(t,e){return t.map(()=>e||jo).splice(0,t.length-1)}function Zt({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const i=Ba(s)?s.map(Zs):Zs(s),r={done:!1,value:e[0]},o=Pl(n&&n.length===e.length?n:Al(e),t),a=Sl(o,e,{ease:Array.isArray(i)?i:Ml(e,i)});return{calculatedDuration:t,next:l=>(r.value=a(l),r.done=l>=t,r)}}const jl=t=>t!==null;function ms(t,{repeat:e,repeatType:n="loop"},s,i=1){const r=t.filter(jl),a=i<0||e&&n!=="loop"&&e%2===1?0:r.length-1;return!a||s===void 0?r[a]:s}const Dl={decay:En,inertia:En,tween:Zt,keyframes:Zt,spring:Je};function zo(t){typeof t.type=="string"&&(t.type=Dl[t.type])}class ps{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,n){return this.finished.then(e,n)}}const Vl=t=>t/100;class gs extends ps{constructor(e){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==nt.now()&&this.tick(nt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){const{options:e}=this;zo(e);const{type:n=Zt,repeat:s=0,repeatDelay:i=0,repeatType:r,velocity:o=0}=e;let{keyframes:a}=e;const l=n||Zt;process.env.NODE_ENV!=="production"&&l!==Zt&&wt(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),l!==Zt&&typeof a[0]!="number"&&(this.mixKeyframes=De(Vl,Fo(a[0],a[1])),a=[0,100]);const u=l({...e,keyframes:a});r==="mirror"&&(this.mirroredGenerator=l({...e,keyframes:[...a].reverse(),velocity:-o})),u.calculatedDuration===null&&(u.calculatedDuration=fs(u));const{calculatedDuration:c}=u;this.calculatedDuration=c,this.resolvedDuration=c+i,this.totalDuration=this.resolvedDuration*(s+1)-i,this.generator=u}updateTime(e){const n=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(e,n=!1){const{generator:s,totalDuration:i,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return s.next(0);const{delay:u=0,keyframes:c,repeat:d,repeatType:f,repeatDelay:g,type:y,onUpdate:v,finalKeyframe:w}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-i/this.speed,this.startTime)),n?this.currentTime=e:this.updateTime(e);const x=this.currentTime-u*(this.playbackSpeed>=0?1:-1),S=this.playbackSpeed>=0?x<0:x>i;this.currentTime=Math.max(x,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let b=this.currentTime,k=s;if(d){const P=Math.min(this.currentTime,i)/a;let N=Math.floor(P),_=P%1;!_&&P>=1&&(_=1),_===1&&N--,N=Math.min(N,d+1),!!(N%2)&&(f==="reverse"?(_=1-_,g&&(_-=g/a)):f==="mirror"&&(k=o)),b=bt(0,1,_)*a}const A=S?{done:!1,value:c[0]}:k.next(b);r&&(A.value=r(A.value));let{done:V}=A;!S&&l!==null&&(V=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const R=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&V);return R&&y!==En&&(A.value=ms(c,this.options,w,this.speed)),v&&v(A.value),R&&this.finish(),A}then(e,n){return this.finished.then(e,n)}get duration(){return ct(this.calculatedDuration)}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+ct(e)}get time(){return ct(this.currentTime)}set time(e){e=ft(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(e){this.updateTime(nt.now());const n=this.playbackSpeed!==e;this.playbackSpeed=e,n&&(this.time=ct(this.currentTime))}play(){if(this.isStopped)return;const{driver:e=fl,startTime:n}=this.options;this.driver||(this.driver=e(i=>this.tick(i))),this.options.onPlay?.();const s=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=s):this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime||(this.startTime=n??s),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(nt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),e.observe(this)}}function El(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const Wt=t=>t*180/Math.PI,kn=t=>{const e=Wt(Math.atan2(t[1],t[0]));return Rn(e)},kl={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:kn,rotateZ:kn,skewX:t=>Wt(Math.atan(t[1])),skewY:t=>Wt(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},Rn=t=>(t=t%360,t<0&&(t+=360),t),si=kn,ii=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),oi=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),Rl={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:ii,scaleY:oi,scale:t=>(ii(t)+oi(t))/2,rotateX:t=>Rn(Wt(Math.atan2(t[6],t[5]))),rotateY:t=>Rn(Wt(Math.atan2(-t[2],t[0]))),rotateZ:si,rotate:si,skewX:t=>Wt(Math.atan(t[4])),skewY:t=>Wt(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function Nn(t){return t.includes("scale")?1:0}function In(t,e){if(!t||t==="none")return Nn(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=Rl,i=n;else{const a=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=kl,i=a}if(!i)return Nn(e);const r=s[e],o=i[1].split(",").map(Il);return typeof r=="function"?r(o):o[r]}const Nl=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return In(n,e)};function Il(t){return parseFloat(t.trim())}const le=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ce=new Set(le),ri=t=>t===ae||t===M,Ll=new Set(["x","y","z"]),Ol=le.filter(t=>!Ll.has(t));function Fl(t){const e=[];return Ol.forEach(n=>{const s=t.getValue(n);s!==void 0&&(e.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),e}const Kt={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>In(e,"x"),y:(t,{transform:e})=>In(e,"y")};Kt.translateX=Kt.x;Kt.translateY=Kt.y;const Ht=new Set;let Ln=!1,On=!1,Fn=!1;function Uo(){if(On){const t=Array.from(Ht).filter(s=>s.needsMeasurement),e=new Set(t.map(s=>s.element)),n=new Map;e.forEach(s=>{const i=Fl(s);i.length&&(n.set(s,i),s.render())}),t.forEach(s=>s.measureInitialState()),e.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([r,o])=>{s.getValue(r)?.set(o)})}),t.forEach(s=>s.measureEndState()),t.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}On=!1,Ln=!1,Ht.forEach(t=>t.complete(Fn)),Ht.clear()}function _o(){Ht.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(On=!0)})}function Bl(){Fn=!0,_o(),Uo(),Fn=!1}class ys{constructor(e,n,s,i,r,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=n,this.name=s,this.motionValue=i,this.element=r,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(Ht.add(this),Ln||(Ln=!0,O.read(_o),O.resolveKeyframes(Uo))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:n,element:s,motionValue:i}=this;if(e[0]===null){const r=i?.get(),o=e[e.length-1];if(r!==void 0)e[0]=r;else if(s&&n){const a=s.readValue(n,o);a!=null&&(e[0]=a)}e[0]===void 0&&(e[0]=o),i&&r===void 0&&i.set(e[0])}El(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),Ht.delete(this)}cancel(){this.state==="scheduled"&&(Ht.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const $l=t=>t.startsWith("--");function zl(t,e,n){$l(e)?t.style.setProperty(e,n):t.style[e]=n}const Ul=ss(()=>window.ScrollTimeline!==void 0),_l={};function Wl(t,e){const n=ss(t);return()=>_l[e]??n()}const Wo=Wl(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),xe=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,ai={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:xe([0,.65,.55,1]),circOut:xe([.55,0,1,.45]),backIn:xe([.31,.01,.66,-.59]),backOut:xe([.33,1.53,.69,.99])};function Ko(t,e){if(t)return typeof t=="function"?Wo()?Bo(t,e):"ease-out":Do(t)?xe(t):Array.isArray(t)?t.map(n=>Ko(n,e)||ai.easeOut):ai[t]}function Kl(t,e,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},u=void 0){const c={[e]:n};l&&(c.offset=l);const d=Ko(a,i);Array.isArray(d)&&(c.easing=d);const f={delay:s,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:r+1,direction:o==="reverse"?"alternate":"normal"};return u&&(f.pseudoElement=u),t.animate(c,f)}function Ho(t){return typeof t=="function"&&"applyToOptions"in t}function Hl({type:t,...e}){return Ho(t)&&Wo()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class Xl extends ps{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;const{element:n,name:s,keyframes:i,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=e;this.isPseudoElement=!!r,this.allowFlatten=o,this.options=e,wt(typeof e.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const u=Hl(e);this.animation=Kl(n,s,i,u,r),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const c=ms(i,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(c):zl(n,s,c),this.animation.cancel()}l?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:e}=this;e==="idle"||e==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const e=this.animation.effect?.getComputedTiming?.().duration||0;return ct(Number(e))}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+ct(e)}get time(){return ct(Number(this.animation.currentTime)||0)}set time(e){this.finishedTime=null,this.animation.currentTime=ft(e)}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(e){this.animation.startTime=e}attachTimeline({timeline:e,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,e&&Ul()?(this.animation.timeline=e,ut):n(this)}}const Xo={anticipate:Ao,backInOut:Co,circInOut:Mo};function Yl(t){return t in Xo}function Gl(t){typeof t.ease=="string"&&Yl(t.ease)&&(t.ease=Xo[t.ease])}const li=10;class ql extends Xl{constructor(e){Gl(e),zo(e),super(e),e.startTime&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){const{motionValue:n,onUpdate:s,onComplete:i,element:r,...o}=this.options;if(!n)return;if(e!==void 0){n.set(e);return}const a=new gs({...o,autoplay:!1}),l=ft(this.finishedTime??this.time);n.setWithVelocity(a.sample(l-li).value,a.sample(l).value,li),a.stop()}}const ci=(t,e)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Vt.test(t)||t==="0")&&!t.startsWith("url("));function Zl(t){const e=t[0];if(t.length===1)return!0;for(let n=0;n<t.length;n++)if(t[n]!==e)return!0}function Jl(t,e,n,s){const i=t[0];if(i===null)return!1;if(e==="display"||e==="visibility")return!0;const r=t[t.length-1],o=ci(i,e),a=ci(r,e);return re(o===a,`You are trying to animate ${e} from "${i}" to "${r}". "${o?r:i}" is not an animatable value.`,"value-not-animatable"),!o||!a?!1:Zl(t)||(n==="spring"||Ho(n))&&s}function Bn(t){t.duration=0,t.type="keyframes"}const Ql=new Set(["opacity","clipPath","filter","transform"]),tc=ss(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function ec(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:i,damping:r,type:o}=t;if(!(e?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=e.owner.getProps();return tc()&&n&&Ql.has(n)&&(n!=="transform"||!u)&&!l&&!s&&i!=="mirror"&&r!==0&&o!=="inertia"}const nc=40;class sc extends ps{constructor({autoplay:e=!0,delay:n=0,type:s="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:o="loop",keyframes:a,name:l,motionValue:u,element:c,...d}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=nt.now();const f={autoplay:e,delay:n,type:s,repeat:i,repeatDelay:r,repeatType:o,name:l,motionValue:u,element:c,...d},g=c?.KeyframeResolver||ys;this.keyframeResolver=new g(a,(y,v,w)=>this.onKeyframesResolved(y,v,f,!w),l,u,c),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,n,s,i){this.keyframeResolver=void 0;const{name:r,type:o,velocity:a,delay:l,isHandoff:u,onUpdate:c}=s;this.resolvedAt=nt.now(),Jl(e,r,o,a)||((Tt.instantAnimations||!l)&&c?.(ms(e,s,n)),e[0]=e[e.length-1],Bn(s),s.repeat=0);const f={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>nc?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:e},g=!u&&ec(f)?new ql({...f,element:f.motionValue.owner.current}):new gs(f);g.finished.then(()=>this.notifyFinished()).catch(ut),this.pendingTimeline&&(this.stopTimeline=g.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=g}get finished(){return this._animation?this.animation.finished:this._finished}then(e,n){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Bl()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const ic=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function oc(t){const e=ic.exec(t);if(!e)return[,];const[,n,s,i]=e;return[`--${n??s}`,i]}const rc=4;function Yo(t,e,n=1){wt(n<=rc,`Max CSS variable fallback depth detected in property "${t}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,i]=oc(t);if(!s)return;const r=window.getComputedStyle(e).getPropertyValue(s);if(r){const o=r.trim();return go(o)?parseFloat(o):o}return cs(i)?Yo(i,e,n+1):i}function xs(t,e){return t?.[e]??t?.default??t}const Go=new Set(["width","height","top","left","right","bottom",...le]),ac={test:t=>t==="auto",parse:t=>t},qo=t=>e=>e.test(t),Zo=[ae,M,xt,jt,Za,qa,ac],ui=t=>Zo.find(qo(t));function lc(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||xo(t):!0}const cc=new Set(["brightness","contrast","saturate","opacity"]);function uc(t){const[e,n]=t.slice(0,-1).split("(");if(e==="drop-shadow")return t;const[s]=n.match(us)||[];if(!s)return t;const i=n.replace(s,"");let r=cc.has(e)?1:0;return s!==n&&(r*=100),e+"("+r+i+")"}const dc=/\b([a-z-]*)\(.*?\)/gu,$n={...Vt,getAnimatableNone:t=>{const e=t.match(dc);return e?e.map(uc).join(" "):t}},di={...ae,transform:Math.round},hc={rotate:jt,rotateX:jt,rotateY:jt,rotateZ:jt,scale:Be,scaleX:Be,scaleY:Be,scaleZ:Be,skew:jt,skewX:jt,skewY:jt,distance:M,translateX:M,translateY:M,translateZ:M,x:M,y:M,z:M,perspective:M,transformPerspective:M,opacity:Ce,originX:Js,originY:Js,originZ:M},vs={borderWidth:M,borderTopWidth:M,borderRightWidth:M,borderBottomWidth:M,borderLeftWidth:M,borderRadius:M,radius:M,borderTopLeftRadius:M,borderTopRightRadius:M,borderBottomRightRadius:M,borderBottomLeftRadius:M,width:M,maxWidth:M,height:M,maxHeight:M,top:M,right:M,bottom:M,left:M,padding:M,paddingTop:M,paddingRight:M,paddingBottom:M,paddingLeft:M,margin:M,marginTop:M,marginRight:M,marginBottom:M,marginLeft:M,backgroundPositionX:M,backgroundPositionY:M,...hc,zIndex:di,fillOpacity:Ce,strokeOpacity:Ce,numOctaves:di},fc={...vs,color:X,backgroundColor:X,outlineColor:X,fill:X,stroke:X,borderColor:X,borderTopColor:X,borderRightColor:X,borderBottomColor:X,borderLeftColor:X,filter:$n,WebkitFilter:$n},Jo=t=>fc[t];function Qo(t,e){let n=Jo(t);return n!==$n&&(n=Vt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const mc=new Set(["auto","none","0"]);function pc(t,e,n){let s=0,i;for(;s<t.length&&!i;){const r=t[s];typeof r=="string"&&!mc.has(r)&&Ae(r).values.length&&(i=t[s]),s++}if(i&&n)for(const r of e)t[r]=Qo(n,i)}class gc extends ys{constructor(e,n,s,i,r){super(e,n,s,i,r,!0)}readKeyframes(){const{unresolvedKeyframes:e,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l<e.length;l++){let u=e[l];if(typeof u=="string"&&(u=u.trim(),cs(u))){const c=Yo(u,n.current);c!==void 0&&(e[l]=c),l===e.length-1&&(this.finalKeyframe=u)}}if(this.resolveNoneKeyframes(),!Go.has(s)||e.length!==2)return;const[i,r]=e,o=ui(i),a=ui(r);if(o!==a)if(ri(o)&&ri(a))for(let l=0;l<e.length;l++){const u=e[l];typeof u=="string"&&(e[l]=parseFloat(u))}else Kt[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:e,name:n}=this,s=[];for(let i=0;i<e.length;i++)(e[i]===null||lc(e[i]))&&s.push(i);s.length&&pc(e,s,n)}measureInitialState(){const{element:e,unresolvedKeyframes:n,name:s}=this;if(!e||!e.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Kt[s](e.measureViewportBox(),window.getComputedStyle(e.current)),n[0]=this.measuredOrigin;const i=n[n.length-1];i!==void 0&&e.getValue(s,i).jump(i,!1)}measureEndState(){const{element:e,name:n,unresolvedKeyframes:s}=this;if(!e||!e.current)return;const i=e.getValue(n);i&&i.jump(this.measuredOrigin,!1);const r=s.length-1,o=s[r];s[r]=Kt[n](e.measureViewportBox(),window.getComputedStyle(e.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),this.removedTransforms?.length&&this.removedTransforms.forEach(([a,l])=>{e.getValue(a).set(l)}),this.resolveNoneKeyframes()}}function yc(t,e,n){if(t instanceof EventTarget)return[t];if(typeof t=="string"){let s=document;const i=n?.[t]??s.querySelectorAll(t);return i?Array.from(i):[]}return Array.from(t)}const tr=(t,e)=>e&&typeof t=="number"?e.transform(t):t;function er(t){return yo(t)&&"offsetHeight"in t}const hi=30,xc=t=>!isNaN(parseFloat(t));class vc{constructor(e,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const i=nt.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const r of this.dependents)r.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=n.owner}setCurrent(e){this.current=e,this.updatedAt=nt.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=xc(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return process.env.NODE_ENV!=="production"&&os(!1,'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'),this.on("change",e)}on(e,n){this.events[e]||(this.events[e]=new is);const s=this.events[e].add(n);return e==="change"?()=>{s(),O.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,n){this.passiveEffect=e,this.stopPassiveEffect=n}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-s}jump(e,n=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=nt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>hi)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,hi);return vo(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(e){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=e(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ie(t,e){return new vc(t,e)}const{schedule:bs}=Vo(queueMicrotask,!1),dt={x:!1,y:!1};function nr(){return dt.x||dt.y}function bc(t){return t==="x"||t==="y"?dt[t]?null:(dt[t]=!0,()=>{dt[t]=!1}):dt.x||dt.y?null:(dt.x=dt.y=!0,()=>{dt.x=dt.y=!1})}function sr(t,e){const n=yc(t),s=new AbortController,i={passive:!0,...e,signal:s.signal};return[n,i,()=>s.abort()]}function fi(t){return!(t.pointerType==="touch"||nr())}function wc(t,e,n={}){const[s,i,r]=sr(t,n),o=a=>{if(!fi(a))return;const{target:l}=a,u=e(l,a);if(typeof u!="function"||!l)return;const c=d=>{fi(d)&&(u(d),l.removeEventListener("pointerleave",c))};l.addEventListener("pointerleave",c,i)};return s.forEach(a=>{a.addEventListener("pointerenter",o,i)}),r}const ir=(t,e)=>e?t===e?!0:ir(t,e.parentElement):!1,ws=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1,Tc=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Sc(t){return Tc.has(t.tagName)||t.tabIndex!==-1}const We=new WeakSet;function mi(t){return e=>{e.key==="Enter"&&t(e)}}function yn(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}const Cc=(t,e)=>{const n=t.currentTarget;if(!n)return;const s=mi(()=>{if(We.has(n))return;yn(n,"down");const i=mi(()=>{yn(n,"up")}),r=()=>yn(n,"cancel");n.addEventListener("keyup",i,e),n.addEventListener("blur",r,e)});n.addEventListener("keydown",s,e),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),e)};function pi(t){return ws(t)&&!nr()}function Ac(t,e,n={}){const[s,i,r]=sr(t,n),o=a=>{const l=a.currentTarget;if(!pi(a))return;We.add(l);const u=e(l,a),c=(g,y)=>{window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",f),We.has(l)&&We.delete(l),pi(g)&&typeof u=="function"&&u(g,{success:y})},d=g=>{c(g,l===window||l===document||n.useGlobalTarget||ir(l,g.target))},f=g=>{c(g,!1)};window.addEventListener("pointerup",d,i),window.addEventListener("pointercancel",f,i)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",o,i),er(a)&&(a.addEventListener("focus",u=>Cc(u,i)),!Sc(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),r}function or(t){return yo(t)&&"ownerSVGElement"in t}function Pc(t){return or(t)&&t.tagName==="svg"}const tt=t=>!!(t&&t.getVelocity),Mc=[...Zo,X,Vt],jc=t=>Mc.find(qo(t)),Ts=m.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});function gi(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Dc(...t){return e=>{let n=!1;const s=t.map(i=>{const r=gi(i,e);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;i<s.length;i++){const r=s[i];typeof r=="function"?r():gi(t[i],null)}}}}function Vc(...t){return ht.useCallback(Dc(...t),t)}class Ec extends ht.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(n&&e.isPresent&&!this.props.isPresent){const s=n.offsetParent,i=er(s)&&s.offsetWidth||0,r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft,r.right=i-r.width-r.left}return null}componentDidUpdate(){}render(){return this.props.children}}function kc({children:t,isPresent:e,anchorX:n,root:s}){const i=m.useId(),r=m.useRef(null),o=m.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=m.useContext(Ts),l=Vc(r,t?.ref);return m.useInsertionEffect(()=>{const{width:u,height:c,top:d,left:f,right:g}=o.current;if(e||!r.current||!u||!c)return;const y=n==="left"?`left: ${f}`:`right: ${g}`;r.current.dataset.motionPopId=i;const v=document.createElement("style");a&&(v.nonce=a);const w=s??document.head;return w.appendChild(v),v.sheet&&v.sheet.insertRule(`
2
2
  [data-motion-pop-id="${i}"] {
3
3
  position: absolute !important;
4
4
  width: ${u}px !important;
@@ -6,7 +6,7 @@
6
6
  ${y}px !important;
7
7
  top: ${d}px !important;
8
8
  }
9
- `),()=>{w.contains(v)&&w.removeChild(v)}},[e]),h.jsx(Ec,{isPresent:e,childRef:r,sizeRef:o,children:ht.cloneElement(t,{ref:l})})}const Rc=({children:t,initial:e,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:r,mode:o,anchorX:a,root:l})=>{const u=Qn(Nc),c=m.useId();let d=!0,f=m.useMemo(()=>(d=!1,{id:c,initial:e,isPresent:n,custom:i,onExitComplete:g=>{u.set(g,!0);for(const y of u.values())if(!y)return;s&&s()},register:g=>(u.set(g,!1),()=>u.delete(g))}),[n,u,s]);return r&&d&&(f={...f}),m.useMemo(()=>{u.forEach((g,y)=>u.set(y,!1))},[n]),ht.useEffect(()=>{!n&&!u.size&&s&&s()},[n]),o==="popLayout"&&(t=h.jsx(kc,{isPresent:n,anchorX:a,root:l,children:t})),h.jsx(en.Provider,{value:f,children:t})};function Nc(){return new Map}function rr(t=!0){const e=m.useContext(en);if(e===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:i}=e,r=m.useId();m.useEffect(()=>{if(t)return i(r)},[t]);const o=m.useCallback(()=>t&&s&&s(r),[r,s,t]);return!n&&s?[!1,o]:[!0]}const $e=t=>t.key||"";function yi(t){const e=[];return m.Children.forEach(t,n=>{m.isValidElement(n)&&e.push(n)}),e}const Ic=({children:t,custom:e,initial:n=!0,onExitComplete:s,presenceAffectsLayout:i=!0,mode:r="sync",propagate:o=!1,anchorX:a="left",root:l})=>{const[u,c]=rr(o),d=m.useMemo(()=>yi(t),[t]),f=o&&!u?[]:d.map($e),g=m.useRef(!0),y=m.useRef(d),v=Qn(()=>new Map),[w,x]=m.useState(d),[S,b]=m.useState(d);po(()=>{g.current=!1,y.current=d;for(let D=0;D<S.length;D++){const R=$e(S[D]);f.includes(R)?v.delete(R):v.get(R)!==!0&&v.set(R,!1)}},[S,f.length,f.join("-")]);const k=[];if(d!==w){let D=[...d];for(let R=0;R<S.length;R++){const P=S[R],N=$e(P);f.includes(N)||(D.splice(R,0,P),k.push(P))}return r==="wait"&&k.length&&(D=k),b(yi(D)),x(d),null}process.env.NODE_ENV!=="production"&&r==="wait"&&S.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);const{forceRender:A}=m.useContext(Jn);return h.jsx(h.Fragment,{children:S.map(D=>{const R=$e(D),P=o&&!u?!1:d===S||f.includes(R),N=()=>{if(v.has(R))v.set(R,!0);else return;let _=!0;v.forEach(z=>{z||(_=!1)}),_&&(A?.(),b(y.current),o&&c?.(),s&&s())};return h.jsx(Rc,{isPresent:P,initial:!g.current||n?void 0:!1,custom:e,presenceAffectsLayout:i,mode:r,root:l,onExitComplete:P?void 0:N,anchorX:a,children:D},R)})})},Ss=m.createContext({strict:!1}),xi={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},oe={};for(const t in xi)oe[t]={isEnabled:e=>xi[t].some(n=>!!e[n])};function zn(t){for(const e in t)oe[e]={...oe[e],...t[e]}}function Lc({children:t,features:e,strict:n=!1}){const[,s]=m.useState(!xn(e)),i=m.useRef(void 0);if(!xn(e)){const{renderer:r,...o}=e;i.current=r,zn(o)}return m.useEffect(()=>{xn(e)&&e().then(({renderer:r,...o})=>{zn(o),i.current=r,s(!0)})},[]),h.jsx(Ss.Provider,{value:{renderer:i.current,strict:n},children:t})}function xn(t){return typeof t=="function"}const Oc=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Qe(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||Oc.has(t)}let ar=t=>!Qe(t);function Fc(t){typeof t=="function"&&(ar=e=>e.startsWith("on")?!Qe(e):t(e))}try{Fc(require("@emotion/is-prop-valid").default)}catch{}function Bc(t,e,n){const s={};for(const i in t)i==="values"&&typeof t.values=="object"||(ar(i)||n===!0&&Qe(i)||!e&&!Qe(i)||t.draggable&&i.startsWith("onDrag"))&&(s[i]=t[i]);return s}const nn=m.createContext({});function sn(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function Pe(t){return typeof t=="string"||Array.isArray(t)}const Cs=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],As=["initial",...Cs];function on(t){return sn(t.animate)||As.some(e=>Pe(t[e]))}function lr(t){return!!(on(t)||t.variants)}function $c(t,e){if(on(t)){const{initial:n,animate:s}=t;return{initial:n===!1||Pe(n)?n:void 0,animate:Pe(s)?s:void 0}}return t.inherit!==!1?e:{}}function zc(t){const{initial:e,animate:n}=$c(t,m.useContext(nn));return m.useMemo(()=>({initial:e,animate:n}),[vi(e),vi(n)])}function vi(t){return Array.isArray(t)?t.join(" "):t}const Me={};function Uc(t){for(const e in t)Me[e]=t[e],ls(e)&&(Me[e].isCSSVariable=!0)}function cr(t,{layout:e,layoutId:n}){return ce.has(t)||t.startsWith("origin")||(e||n!==void 0)&&(!!Me[t]||t==="opacity")}const _c={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Wc=le.length;function Kc(t,e,n){let s="",i=!0;for(let r=0;r<Wc;r++){const o=le[r],a=t[o];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(o.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const u=tr(a,vs[o]);if(!l){i=!1;const c=_c[o]||o;s+=`${c}(${u}) `}n&&(e[o]=u)}}return s=s.trim(),n?s=n(e,i?"":s):i&&(s="none"),s}function Ps(t,e,n){const{style:s,vars:i,transformOrigin:r}=t;let o=!1,a=!1;for(const l in e){const u=e[l];if(ce.has(l)){o=!0;continue}else if(ls(l)){i[l]=u;continue}else{const c=tr(u,vs[l]);l.startsWith("origin")?(a=!0,r[l]=c):s[l]=c}}if(e.transform||(o||n?s.transform=Kc(e,t.transform,n):s.transform&&(s.transform="none")),a){const{originX:l="50%",originY:u="50%",originZ:c=0}=r;s.transformOrigin=`${l} ${u} ${c}`}}const Ms=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ur(t,e,n){for(const s in e)!tt(e[s])&&!cr(s,n)&&(t[s]=e[s])}function Hc({transformTemplate:t},e){return m.useMemo(()=>{const n=Ms();return Ps(n,e,t),Object.assign({},n.vars,n.style)},[e])}function Xc(t,e){const n=t.style||{},s={};return ur(s,n,t),Object.assign(s,Hc(t,e)),s}function Yc(t,e){const n={},s=Xc(t,e);return t.drag&&t.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=s,n}const Gc={offset:"stroke-dashoffset",array:"stroke-dasharray"},qc={offset:"strokeDashoffset",array:"strokeDasharray"};function Zc(t,e,n=1,s=0,i=!0){t.pathLength=1;const r=i?Gc:qc;t[r.offset]=M.transform(-s);const o=M.transform(e),a=M.transform(n);t[r.array]=`${o} ${a}`}function dr(t,{attrX:e,attrY:n,attrScale:s,pathLength:i,pathSpacing:r=1,pathOffset:o=0,...a},l,u,c){if(Ps(t,a,u),l){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:d,style:f}=t;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin),f.transform&&(f.transformBox=c?.transformBox??"fill-box",delete d.transformBox),e!==void 0&&(d.x=e),n!==void 0&&(d.y=n),s!==void 0&&(d.scale=s),i!==void 0&&Zc(d,i,r,o,!1)}const hr=()=>({...Ms(),attrs:{}}),fr=t=>typeof t=="string"&&t.toLowerCase()==="svg";function Jc(t,e,n,s){const i=m.useMemo(()=>{const r=hr();return dr(r,e,fr(s),t.transformTemplate,t.style),{...r.attrs,style:{...r.style}}},[e]);if(t.style){const r={};ur(r,t.style,t),i.style={...r,...i.style}}return i}const Qc=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function js(t){return typeof t!="string"||t.includes("-")?!1:!!(Qc.indexOf(t)>-1||/[A-Z]/u.test(t))}function tu(t,e,n,{latestValues:s},i,r=!1){const a=(js(t)?Jc:Yc)(e,s,i,t),l=Bc(e,typeof t=="string",r),u=t!==m.Fragment?{...l,...a,ref:n}:{},{children:c}=e,d=m.useMemo(()=>tt(c)?c.get():c,[c]);return m.createElement(t,{...u,children:d})}function bi(t){const e=[{},{}];return t?.values.forEach((n,s)=>{e[0][s]=n.get(),e[1][s]=n.getVelocity()}),e}function Vs(t,e,n,s){if(typeof e=="function"){const[i,r]=bi(s);e=e(n!==void 0?n:t.custom,i,r)}if(typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"){const[i,r]=bi(s);e=e(n!==void 0?n:t.custom,i,r)}return e}function Ke(t){return tt(t)?t.get():t}function eu({scrapeMotionValuesFromProps:t,createRenderState:e},n,s,i){return{latestValues:nu(n,s,i,t),renderState:e()}}function nu(t,e,n,s){const i={},r=s(t,{});for(const f in r)i[f]=Ke(r[f]);let{initial:o,animate:a}=t;const l=on(t),u=lr(t);e&&u&&!l&&t.inherit!==!1&&(o===void 0&&(o=e.initial),a===void 0&&(a=e.animate));let c=n?n.initial===!1:!1;c=c||o===!1;const d=c?a:o;if(d&&typeof d!="boolean"&&!sn(d)){const f=Array.isArray(d)?d:[d];for(let g=0;g<f.length;g++){const y=Vs(t,f[g]);if(y){const{transitionEnd:v,transition:w,...x}=y;for(const S in x){let b=x[S];if(Array.isArray(b)){const k=c?b.length-1:0;b=b[k]}b!==null&&(i[S]=b)}for(const S in v)i[S]=v[S]}}}return i}const mr=t=>(e,n)=>{const s=m.useContext(nn),i=m.useContext(en),r=()=>eu(t,e,s,i);return n?r():Qn(r)};function Ds(t,e,n){const{style:s}=t,i={};for(const r in s)(tt(s[r])||e.style&&tt(e.style[r])||cr(r,t)||n?.getValue(r)?.liveStyle!==void 0)&&(i[r]=s[r]);return i}const su=mr({scrapeMotionValuesFromProps:Ds,createRenderState:Ms});function pr(t,e,n){const s=Ds(t,e,n);for(const i in t)if(tt(t[i])||tt(e[i])){const r=le.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[r]=t[i]}return s}const iu=mr({scrapeMotionValuesFromProps:pr,createRenderState:hr}),ou=Symbol.for("motionComponentSymbol");function Jt(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function ru(t,e,n){return m.useCallback(s=>{s&&t.onMount&&t.onMount(s),e&&(s?e.mount(s):e.unmount()),n&&(typeof n=="function"?n(s):Jt(n)&&(n.current=s))},[e])}const Es=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),au="framerAppearId",gr="data-"+Es(au),yr=m.createContext({});function lu(t,e,n,s,i){const{visualElement:r}=m.useContext(nn),o=m.useContext(Ss),a=m.useContext(en),l=m.useContext(Ts).reducedMotion,u=m.useRef(null);s=s||o.renderer,!u.current&&s&&(u.current=s(t,{visualState:e,parent:r,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const c=u.current,d=m.useContext(yr);c&&!c.projection&&i&&(c.type==="html"||c.type==="svg")&&cu(u.current,n,i,d);const f=m.useRef(!1);m.useInsertionEffect(()=>{c&&f.current&&c.update(n,a)});const g=n[gr],y=m.useRef(!!g&&!window.MotionHandoffIsComplete?.(g)&&window.MotionHasOptimisedAnimation?.(g));return po(()=>{c&&(f.current=!0,window.MotionIsMounted=!0,c.updateFeatures(),c.scheduleRenderMicrotask(),y.current&&c.animationState&&c.animationState.animateChanges())}),m.useEffect(()=>{c&&(!y.current&&c.animationState&&c.animationState.animateChanges(),y.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(g)}),y.current=!1),c.enteringChildren=void 0)}),c}function cu(t,e,n,s){const{layoutId:i,layout:r,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:u,layoutCrossfade:c}=e;t.projection=new n(t.latestValues,e["data-framer-portal-id"]?void 0:xr(t.parent)),t.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!o||a&&Jt(a),visualElement:t,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,crossfade:c,layoutScroll:l,layoutRoot:u})}function xr(t){if(t)return t.options.allowProjection!==!1?t.projection:xr(t.parent)}function He(t,{forwardMotionProps:e=!1}={},n,s){n&&zn(n);const i=js(t)?iu:su;function r(a,l){let u;const c={...m.useContext(Ts),...a,layoutId:uu(a)},{isStatic:d}=c,f=zc(a),g=i(a,d);if(!d&&ts){du(c,n);const y=hu(c);u=y.MeasureLayout,f.visualElement=lu(t,g,c,s,y.ProjectionNode)}return h.jsxs(nn.Provider,{value:f,children:[u&&f.visualElement?h.jsx(u,{visualElement:f.visualElement,...c}):null,tu(t,a,ru(g,f.visualElement,l),g,d,e)]})}r.displayName=`motion.${typeof t=="string"?t:`create(${t.displayName??t.name??""})`}`;const o=m.forwardRef(r);return o[ou]=t,o}function uu({layoutId:t}){const e=m.useContext(Jn).id;return e&&t!==void 0?e+"-"+t:t}function du(t,e){const n=m.useContext(Ss).strict;if(process.env.NODE_ENV!=="production"&&e&&n){const s="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";t.ignoreStrict?re(!1,s,"lazy-strict-mode"):wt(!1,s,"lazy-strict-mode")}}function hu(t){const{drag:e,layout:n}=oe;if(!e&&!n)return{};const s={...e,...n};return{MeasureLayout:e?.isEnabled(t)||n?.isEnabled(t)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function fu(t,e){if(typeof Proxy>"u")return He;const n=new Map,s=(r,o)=>He(r,o,t,e),i=(r,o)=>(process.env.NODE_ENV!=="production"&&os(!1,"motion() is deprecated. Use motion.create() instead."),s(r,o));return new Proxy(i,{get:(r,o)=>o==="create"?s:(n.has(o)||n.set(o,He(o,void 0,t,e)),n.get(o))})}function vr({top:t,left:e,right:n,bottom:s}){return{x:{min:e,max:n},y:{min:t,max:s}}}function mu({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}function pu(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function vn(t){return t===void 0||t===1}function Un({scale:t,scaleX:e,scaleY:n}){return!vn(t)||!vn(e)||!vn(n)}function Ut(t){return Un(t)||br(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function br(t){return wi(t.x)||wi(t.y)}function wi(t){return t&&t!=="0%"}function tn(t,e,n){const s=t-n,i=e*s;return n+i}function Ti(t,e,n,s,i){return i!==void 0&&(t=tn(t,i,s)),tn(t,n,s)+e}function _n(t,e=0,n=1,s,i){t.min=Ti(t.min,e,n,s,i),t.max=Ti(t.max,e,n,s,i)}function wr(t,{x:e,y:n}){_n(t.x,e.translate,e.scale,e.originPoint),_n(t.y,n.translate,n.scale,n.originPoint)}const Si=.999999999999,Ci=1.0000000000001;function gu(t,e,n,s=!1){const i=n.length;if(!i)return;e.x=e.y=1;let r,o;for(let a=0;a<i;a++){r=n[a],o=r.projectionDelta;const{visualElement:l}=r.options;l&&l.props.style&&l.props.style.display==="contents"||(s&&r.options.layoutScroll&&r.scroll&&r!==r.root&&te(t,{x:-r.scroll.offset.x,y:-r.scroll.offset.y}),o&&(e.x*=o.x.scale,e.y*=o.y.scale,wr(t,o)),s&&Ut(r.latestValues)&&te(t,r.latestValues))}e.x<Ci&&e.x>Si&&(e.x=1),e.y<Ci&&e.y>Si&&(e.y=1)}function Qt(t,e){t.min=t.min+e,t.max=t.max+e}function Ai(t,e,n,s,i=.5){const r=$(t.min,t.max,i);_n(t,e,n,r,s)}function te(t,e){Ai(t.x,e.x,e.scaleX,e.scale,e.originX),Ai(t.y,e.y,e.scaleY,e.scale,e.originY)}function Tr(t,e){return vr(pu(t.getBoundingClientRect(),e))}function yu(t,e,n){const s=Tr(t,n),{scroll:i}=e;return i&&(Qt(s.x,i.offset.x),Qt(s.y,i.offset.y)),s}const Pi=()=>({translate:0,scale:1,origin:0,originPoint:0}),ee=()=>({x:Pi(),y:Pi()}),Mi=()=>({min:0,max:0}),W=()=>({x:Mi(),y:Mi()}),Wn={current:null},Sr={current:!1};function xu(){if(Sr.current=!0,!!ts)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>Wn.current=t.matches;t.addEventListener("change",e),e()}else Wn.current=!1}const vu=new WeakMap;function bu(t,e,n){for(const s in e){const i=e[s],r=n[s];if(tt(i))t.addValue(s,i);else if(tt(r))t.addValue(s,ie(i,{owner:t}));else if(r!==i)if(t.hasValue(s)){const o=t.getValue(s);o.liveStyle===!0?o.jump(i):o.hasAnimated||o.set(i)}else{const o=t.getStaticValue(s);t.addValue(s,ie(o!==void 0?o:i,{owner:t}))}}for(const s in n)e[s]===void 0&&t.removeValue(s);return e}const ji=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class wu{scrapeMotionValuesFromProps(e,n,s){return{}}constructor({parent:e,props:n,presenceContext:s,reducedMotionConfig:i,blockInitialAnimation:r,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=ys,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const f=nt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,O.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=o;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=u,this.parent=e,this.props=n,this.presenceContext=s,this.depth=e?e.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.blockInitialAnimation=!!r,this.isControllingVariants=on(n),this.isVariantNode=lr(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:c,...d}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in d){const g=d[f];l[f]!==void 0&&tt(g)&&g.set(l[f])}}mount(e){this.current=e,vu.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),Sr.current||xu(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Wn.current,process.env.NODE_ENV!=="production"&&os(this.shouldReduceMotion!==!0,"You have Reduced Motion enabled on your device. Animations may not appear as expected.","reduced-motion-disabled"),this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Vt(this.notifyUpdate),Vt(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const n=this.features[e];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,n){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const s=ce.has(e);s&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",o=>{this.latestValues[e]=o,this.props.onUpdate&&O.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,e,n)),this.valueSubscriptions.set(e,()=>{i(),r&&r(),n.owner&&n.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in oe){const n=oe[e];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[e]&&i&&s(this.props)&&(this.features[e]=new i(this)),this.features[e]){const r=this.features[e];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):W()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,n){this.latestValues[e]=n}update(e,n){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<ji.length;s++){const i=ji[s];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const r="on"+i,o=e[r];o&&(this.propEventSubscriptions[i]=this.on(i,o))}this.prevMotionValues=bu(this,this.scrapeMotionValuesFromProps(e,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(e),()=>n.variantChildren.delete(e)}addValue(e,n){const s=this.values.get(e);n!==s&&(s&&this.removeValue(e),this.bindToMotionValue(e,n),this.values.set(e,n),this.latestValues[e]=n.get())}removeValue(e){this.values.delete(e);const n=this.valueSubscriptions.get(e);n&&(n(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,n){if(this.props.values&&this.props.values[e])return this.props.values[e];let s=this.values.get(e);return s===void 0&&n!==void 0&&(s=ie(n===null?void 0:n,{owner:this}),this.addValue(e,s)),s}readValue(e,n){let s=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return s!=null&&(typeof s=="string"&&(go(s)||xo(s))?s=parseFloat(s):!jc(s)&&Dt.test(n)&&(s=Qo(e,n)),this.setBaseTarget(e,tt(s)?s.get():s)),tt(s)?s.get():s}setBaseTarget(e,n){this.baseTarget[e]=n}getBaseTarget(e){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const r=Vs(this.props,n,this.presenceContext?.custom);r&&(s=r[e])}if(n&&s!==void 0)return s;const i=this.getBaseTargetFromProps(this.props,e);return i!==void 0&&!tt(i)?i:this.initialValues[e]!==void 0&&s===void 0?void 0:this.baseTarget[e]}on(e,n){return this.events[e]||(this.events[e]=new is),this.events[e].add(n)}notify(e,...n){this.events[e]&&this.events[e].notify(...n)}scheduleRenderMicrotask(){bs.render(this.render)}}class Cr extends wu{constructor(){super(...arguments),this.KeyframeResolver=gc}sortInstanceNodePosition(e,n){return e.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(e,n){return e.style?e.style[n]:void 0}removeValueFromRenderState(e,{vars:n,style:s}){delete n[e],delete s[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;tt(e)&&(this.childSubscription=e.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function Ar(t,{style:e,vars:n},s,i){const r=t.style;let o;for(o in e)r[o]=e[o];i?.applyProjectionStyles(r,s);for(o in n)r.setProperty(o,n[o])}function Tu(t){return window.getComputedStyle(t)}class Su extends Cr{constructor(){super(...arguments),this.type="html",this.renderInstance=Ar}readValueFromInstance(e,n){if(ce.has(n))return this.projection?.isProjecting?Nn(n):Nl(e,n);{const s=Tu(e),i=(ls(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(e,{transformPagePoint:n}){return Tr(e,n)}build(e,n,s){Ps(e,n,s.transformTemplate)}scrapeMotionValuesFromProps(e,n,s){return Ds(e,n,s)}}const Pr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Cu(t,e,n,s){Ar(t,e,void 0,s);for(const i in e.attrs)t.setAttribute(Pr.has(i)?i:Es(i),e.attrs[i])}class Au extends Cr{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=W}getBaseTargetFromProps(e,n){return e[n]}readValueFromInstance(e,n){if(ce.has(n)){const s=Jo(n);return s&&s.default||0}return n=Pr.has(n)?n:Es(n),e.getAttribute(n)}scrapeMotionValuesFromProps(e,n,s){return pr(e,n,s)}build(e,n,s){dr(e,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(e,n,s,i){Cu(e,n,s,i)}mount(e){this.isSVGTag=fr(e.tagName),super.mount(e)}}const Mr=(t,e)=>js(t)?new Au(e):new Su(e,{allowProjection:t!==m.Fragment});function se(t,e,n){const s=t.getProps();return Vs(s,e,n!==void 0?n:s.custom,t)}const Kn=t=>Array.isArray(t);function Pu(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,ie(n))}function Mu(t){return Kn(t)?t[t.length-1]||0:t}function ju(t,e){const n=se(t,e);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const o in r){const a=Mu(r[o]);Pu(t,o,a)}}function Vu(t){return!!(tt(t)&&t.add)}function Hn(t,e){const n=t.getValue("willChange");if(Vu(n))return n.add(e);if(!n&&Tt.WillChange){const s=new Tt.WillChange("auto");t.addValue("willChange",s),s.add(e)}}function jr(t){return t.props[gr]}const Du=t=>t!==null;function Eu(t,{repeat:e,repeatType:n="loop"},s){const i=t.filter(Du),r=e&&n!=="loop"&&e%2===1?0:i.length-1;return i[r]}const ku={type:"spring",stiffness:500,damping:25,restSpeed:10},Ru=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),Nu={type:"keyframes",duration:.8},Iu={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Lu=(t,{keyframes:e})=>e.length>2?Nu:ce.has(t)?t.startsWith("scale")?Ru(e[1]):ku:Iu;function Ou({when:t,delay:e,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:o,repeatDelay:a,from:l,elapsed:u,...c}){return!!Object.keys(c).length}const ks=(t,e,n,s={},i,r)=>o=>{const a=xs(s,t)||{},l=a.delay||s.delay||0;let{elapsed:u=0}=s;u=u-ft(l);const c={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...a,delay:-u,onUpdate:f=>{e.set(f),a.onUpdate&&a.onUpdate(f)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:t,motionValue:e,element:r?void 0:i};Ou(a)||Object.assign(c,Lu(t,c)),c.duration&&(c.duration=ft(c.duration)),c.repeatDelay&&(c.repeatDelay=ft(c.repeatDelay)),c.from!==void 0&&(c.keyframes[0]=c.from);let d=!1;if((c.type===!1||c.duration===0&&!c.repeatDelay)&&(Bn(c),c.delay===0&&(d=!0)),(Tt.instantAnimations||Tt.skipAnimations)&&(d=!0,Bn(c),c.delay=0),c.allowFlatten=!a.type&&!a.ease,d&&!r&&e.get()!==void 0){const f=Eu(c.keyframes,a);if(f!==void 0){O.update(()=>{c.onUpdate(f),c.onComplete()});return}}return a.isSync?new gs(c):new sc(c)};function Fu({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&e[n]!==!0;return e[n]=!1,s}function Vr(t,e,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:o,...a}=e;s&&(r=s);const l=[],u=i&&t.animationState&&t.animationState.getState()[i];for(const c in a){const d=t.getValue(c,t.latestValues[c]??null),f=a[c];if(f===void 0||u&&Fu(u,c))continue;const g={delay:n,...xs(r||{},c)},y=d.get();if(y!==void 0&&!d.isAnimating&&!Array.isArray(f)&&f===y&&!g.velocity)continue;let v=!1;if(window.MotionHandoffAnimation){const x=jr(t);if(x){const S=window.MotionHandoffAnimation(x,c,O);S!==null&&(g.startTime=S,v=!0)}}Hn(t,c),d.start(ks(c,d,f,t.shouldReduceMotion&&Go.has(c)?{type:!1}:g,t,v));const w=d.animation;w&&l.push(w)}return o&&Promise.all(l).then(()=>{O.update(()=>{o&&ju(t,o)})}),l}function Dr(t,e,n,s=0,i=1){const r=Array.from(t).sort((u,c)=>u.sortNodePosition(c)).indexOf(e),o=t.size,a=(o-1)*s;return typeof n=="function"?n(r,o):i===1?r*s:a-r*s}function Xn(t,e,n={}){const s=se(t,e,n.type==="exit"?t.presenceContext?.custom:void 0);let{transition:i=t.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(i=n.transitionOverride);const r=s?()=>Promise.all(Vr(t,s,n)):()=>Promise.resolve(),o=t.variantChildren&&t.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Bu(t,e,l,u,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[r,o]:[o,r];return l().then(()=>u())}else return Promise.all([r(),o(n.delay)])}function Bu(t,e,n=0,s=0,i=0,r=1,o){const a=[];for(const l of t.variantChildren)l.notify("AnimationStart",e),a.push(Xn(l,e,{...o,delay:n+(typeof s=="function"?0:s)+Dr(t.variantChildren,l,s,i,r)}).then(()=>l.notify("AnimationComplete",e)));return Promise.all(a)}function $u(t,e,n={}){t.notify("AnimationStart",e);let s;if(Array.isArray(e)){const i=e.map(r=>Xn(t,r,n));s=Promise.all(i)}else if(typeof e=="string")s=Xn(t,e,n);else{const i=typeof e=="function"?se(t,e,n.custom):e;s=Promise.all(Vr(t,i,n))}return s.then(()=>{t.notify("AnimationComplete",e)})}function Er(t,e){if(!Array.isArray(e))return!1;const n=e.length;if(n!==t.length)return!1;for(let s=0;s<n;s++)if(e[s]!==t[s])return!1;return!0}const zu=As.length;function kr(t){if(!t)return;if(!t.isControllingVariants){const n=t.parent?kr(t.parent)||{}:{};return t.props.initial!==void 0&&(n.initial=t.props.initial),n}const e={};for(let n=0;n<zu;n++){const s=As[n],i=t.props[s];(Pe(i)||i===!1)&&(e[s]=i)}return e}const Uu=[...Cs].reverse(),_u=Cs.length;function Wu(t){return e=>Promise.all(e.map(({animation:n,options:s})=>$u(t,n,s)))}function Ku(t){let e=Wu(t),n=Vi(),s=!0;const i=l=>(u,c)=>{const d=se(t,c,l==="exit"?t.presenceContext?.custom:void 0);if(d){const{transition:f,transitionEnd:g,...y}=d;u={...u,...y,...g}}return u};function r(l){e=l(t)}function o(l){const{props:u}=t,c=kr(t.parent)||{},d=[],f=new Set;let g={},y=1/0;for(let w=0;w<_u;w++){const x=Uu[w],S=n[x],b=u[x]!==void 0?u[x]:c[x],k=Pe(b),A=x===l?S.isActive:null;A===!1&&(y=w);let D=b===c[x]&&b!==u[x]&&k;if(D&&s&&t.manuallyAnimateOnMount&&(D=!1),S.protectedKeys={...g},!S.isActive&&A===null||!b&&!S.prevProp||sn(b)||typeof b=="boolean")continue;const R=Hu(S.prevProp,b);let P=R||x===l&&S.isActive&&!D&&k||w>y&&k,N=!1;const _=Array.isArray(b)?b:[b];let z=_.reduce(i(x),{});A===!1&&(z={});const{prevResolvedValues:vt={}}=S,St={...vt,...z},st=E=>{P=!0,f.has(E)&&(N=!0,f.delete(E)),S.needsAnimating[E]=!0;const Y=t.getValue(E);Y&&(Y.liveStyle=!1)};for(const E in St){const Y=z[E],K=vt[E];if(g.hasOwnProperty(E))continue;let it=!1;Kn(Y)&&Kn(K)?it=!Er(Y,K):it=Y!==K,it?Y!=null?st(E):f.add(E):Y!==void 0&&f.has(E)?st(E):S.protectedKeys[E]=!0}S.prevProp=b,S.prevResolvedValues=z,S.isActive&&(g={...g,...z}),s&&t.blockInitialAnimation&&(P=!1);const Ct=D&&R;P&&(!Ct||N)&&d.push(..._.map(E=>{const Y={type:x};if(typeof E=="string"&&s&&!Ct&&t.manuallyAnimateOnMount&&t.parent){const{parent:K}=t,it=se(K,E);if(K.enteringChildren&&it){const{delayChildren:U}=it.transition||{};Y.delay=Dr(K.enteringChildren,t,U)}}return{animation:E,options:Y}}))}if(f.size){const w={};if(typeof u.initial!="boolean"){const x=se(t,Array.isArray(u.initial)?u.initial[0]:u.initial);x&&x.transition&&(w.transition=x.transition)}f.forEach(x=>{const S=t.getBaseTarget(x),b=t.getValue(x);b&&(b.liveStyle=!0),w[x]=S??null}),d.push({animation:w})}let v=!!d.length;return s&&(u.initial===!1||u.initial===u.animate)&&!t.manuallyAnimateOnMount&&(v=!1),s=!1,v?e(d):Promise.resolve()}function a(l,u){if(n[l].isActive===u)return Promise.resolve();t.variantChildren?.forEach(d=>d.animationState?.setActive(l,u)),n[l].isActive=u;const c=o(l);for(const d in n)n[d].protectedKeys={};return c}return{animateChanges:o,setActive:a,setAnimateFunction:r,getState:()=>n,reset:()=>{n=Vi()}}}function Hu(t,e){return typeof e=="string"?e!==t:Array.isArray(e)?!Er(e,t):!1}function $t(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Vi(){return{animate:$t(!0),whileInView:$t(),whileHover:$t(),whileTap:$t(),whileDrag:$t(),whileFocus:$t(),exit:$t()}}class Et{constructor(e){this.isMounted=!1,this.node=e}update(){}}class Xu extends Et{constructor(e){super(e),e.animationState||(e.animationState=Ku(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();sn(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:n}=this.node.prevProps||{};e!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Yu=0;class Gu extends Et{constructor(){super(...arguments),this.id=Yu++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===s)return;const i=this.node.animationState.setActive("exit",!e);n&&!e&&i.then(()=>{n(this.id)})}mount(){const{register:e,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),e&&(this.unmount=e(this.id))}unmount(){}}const Rr={animation:{Feature:Xu},exit:{Feature:Gu}};function je(t,e,n,s={passive:!0}){return t.addEventListener(e,n,s),()=>t.removeEventListener(e,n)}function ke(t){return{point:{x:t.pageX,y:t.pageY}}}const qu=t=>e=>ws(e)&&t(e,ke(e));function be(t,e,n,s){return je(t,e,qu(n),s)}const Nr=1e-4,Zu=1-Nr,Ju=1+Nr,Ir=.01,Qu=0-Ir,td=0+Ir;function et(t){return t.max-t.min}function ed(t,e,n){return Math.abs(t-e)<=n}function Di(t,e,n,s=.5){t.origin=s,t.originPoint=$(e.min,e.max,t.origin),t.scale=et(n)/et(e),t.translate=$(n.min,n.max,t.origin)-t.originPoint,(t.scale>=Zu&&t.scale<=Ju||isNaN(t.scale))&&(t.scale=1),(t.translate>=Qu&&t.translate<=td||isNaN(t.translate))&&(t.translate=0)}function we(t,e,n,s){Di(t.x,e.x,n.x,s?s.originX:void 0),Di(t.y,e.y,n.y,s?s.originY:void 0)}function Ei(t,e,n){t.min=n.min+e.min,t.max=t.min+et(e)}function nd(t,e,n){Ei(t.x,e.x,n.x),Ei(t.y,e.y,n.y)}function ki(t,e,n){t.min=e.min-n.min,t.max=t.min+et(e)}function Te(t,e,n){ki(t.x,e.x,n.x),ki(t.y,e.y,n.y)}function lt(t){return[t("x"),t("y")]}const Lr=({current:t})=>t?t.ownerDocument.defaultView:null,Ri=(t,e)=>Math.abs(t-e);function sd(t,e){const n=Ri(t.x,e.x),s=Ri(t.y,e.y);return Math.sqrt(n**2+s**2)}class Or{constructor(e,n,{transformPagePoint:s,contextWindow:i=window,dragSnapToOrigin:r=!1,distanceThreshold:o=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=wn(this.lastMoveEventInfo,this.history),g=this.startEvent!==null,y=sd(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!g&&!y)return;const{point:v}=f,{timestamp:w}=Z;this.history.push({...v,timestamp:w});const{onStart:x,onMove:S}=this.handlers;g||(x&&x(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),S&&S(this.lastMoveEvent,f)},this.handlePointerMove=(f,g)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=bn(g,this.transformPagePoint),O.update(this.updatePoint,!0)},this.handlePointerUp=(f,g)=>{this.end();const{onEnd:y,onSessionEnd:v,resumeAnimation:w}=this.handlers;if(this.dragSnapToOrigin&&w&&w(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const x=wn(f.type==="pointercancel"?this.lastMoveEventInfo:bn(g,this.transformPagePoint),this.history);this.startEvent&&y&&y(f,x),v&&v(f,x)},!ws(e))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=o,this.contextWindow=i||window;const a=ke(e),l=bn(a,this.transformPagePoint),{point:u}=l,{timestamp:c}=Z;this.history=[{...u,timestamp:c}];const{onSessionStart:d}=n;d&&d(e,wn(l,this.history)),this.removeListeners=Ve(be(this.contextWindow,"pointermove",this.handlePointerMove),be(this.contextWindow,"pointerup",this.handlePointerUp),be(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),Vt(this.updatePoint)}}function bn(t,e){return e?{point:e(t.point)}:t}function Ni(t,e){return{x:t.x-e.x,y:t.y-e.y}}function wn({point:t},e){return{point:t,delta:Ni(t,Fr(e)),offset:Ni(t,id(e)),velocity:od(e,.1)}}function id(t){return t[0]}function Fr(t){return t[t.length-1]}function od(t,e){if(t.length<2)return{x:0,y:0};let n=t.length-1,s=null;const i=Fr(t);for(;n>=0&&(s=t[n],!(i.timestamp-s.timestamp>ft(e)));)n--;if(!s)return{x:0,y:0};const r=ct(i.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const o={x:(i.x-s.x)/r,y:(i.y-s.y)/r};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function rd(t,{min:e,max:n},s){return e!==void 0&&t<e?t=s?$(e,t,s.min):Math.max(t,e):n!==void 0&&t>n&&(t=s?$(n,t,s.max):Math.min(t,n)),t}function Ii(t,e,n){return{min:e!==void 0?t.min+e:void 0,max:n!==void 0?t.max+n-(t.max-t.min):void 0}}function ad(t,{top:e,left:n,bottom:s,right:i}){return{x:Ii(t.x,n,i),y:Ii(t.y,e,s)}}function Li(t,e){let n=e.min-t.min,s=e.max-t.max;return e.max-e.min<t.max-t.min&&([n,s]=[s,n]),{min:n,max:s}}function ld(t,e){return{x:Li(t.x,e.x),y:Li(t.y,e.y)}}function cd(t,e){let n=.5;const s=et(t),i=et(e);return i>s?n=Se(e.min,e.max-s,t.min):s>i&&(n=Se(t.min,t.max-i,e.min)),bt(0,1,n)}function ud(t,e){const n={};return e.min!==void 0&&(n.min=e.min-t.min),e.max!==void 0&&(n.max=e.max-t.min),n}const Yn=.35;function dd(t=Yn){return t===!1?t=0:t===!0&&(t=Yn),{x:Oi(t,"left","right"),y:Oi(t,"top","bottom")}}function Oi(t,e,n){return{min:Fi(t,e),max:Fi(t,n)}}function Fi(t,e){return typeof t=="number"?t:t[e]||0}const hd=new WeakMap;class fd{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=W(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(ke(d).point)},o=(d,f)=>{const{drag:g,dragPropagation:y,onDragStart:v}=this.getProps();if(g&&!y&&(this.openDragLock&&this.openDragLock(),this.openDragLock=bc(g),!this.openDragLock))return;this.latestPointerEvent=d,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),lt(x=>{let S=this.getAxisMotionValue(x).get()||0;if(xt.test(S)){const{projection:b}=this.visualElement;if(b&&b.layout){const k=b.layout.layoutBox[x];k&&(S=et(k)*(parseFloat(S)/100))}}this.originPoint[x]=S}),v&&O.postRender(()=>v(d,f)),Hn(this.visualElement,"transform");const{animationState:w}=this.visualElement;w&&w.setActive("whileDrag",!0)},a=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f;const{dragPropagation:g,dragDirectionLock:y,onDirectionLock:v,onDrag:w}=this.getProps();if(!g&&!this.openDragLock)return;const{offset:x}=f;if(y&&this.currentDirection===null){this.currentDirection=md(x),this.currentDirection!==null&&v&&v(this.currentDirection);return}this.updateAxis("x",f.point,x),this.updateAxis("y",f.point,x),this.visualElement.render(),w&&w(d,f)},l=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f,this.stop(d,f),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>lt(d=>this.getAnimationState(d)==="paused"&&this.getAxisMotionValue(d).animation?.play()),{dragSnapToOrigin:c}=this.getProps();this.panSession=new Or(e,{onSessionStart:r,onStart:o,onMove:a,onSessionEnd:l,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:c,distanceThreshold:s,contextWindow:Lr(this.visualElement)})}stop(e,n){const s=e||this.latestPointerEvent,i=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!i||!s)return;const{velocity:o}=i;this.startAnimation(o);const{onDragEnd:a}=this.getProps();a&&O.postRender(()=>a(s,i))}cancel(){this.isDragging=!1;const{projection:e,animationState:n}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(e,n,s){const{drag:i}=this.getProps();if(!s||!ze(e,i,this.currentDirection))return;const r=this.getAxisMotionValue(e);let o=this.originPoint[e]+s[e];this.constraints&&this.constraints[e]&&(o=rd(o,this.constraints[e],this.elastic[e])),r.set(o)}resolveConstraints(){const{dragConstraints:e,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;e&&Jt(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&s?this.constraints=ad(s.layoutBox,e):this.constraints=!1,this.elastic=dd(n),i!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&lt(r=>{this.constraints!==!1&&this.getAxisMotionValue(r)&&(this.constraints[r]=ud(s.layoutBox[r],this.constraints[r]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:n}=this.getProps();if(!e||!Jt(e))return!1;const s=e.current;wt(s!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");const{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=yu(s,i.root,this.visualElement.getTransformPagePoint());let o=ld(i.layout.layoutBox,r);if(n){const a=n(mu(o));this.hasMutatedConstraints=!!a,a&&(o=vr(a))}return o}startAnimation(e){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:r,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=lt(c=>{if(!ze(c,n,this.currentDirection))return;let d=l&&l[c]||{};o&&(d={min:0,max:0});const f=i?200:1e6,g=i?40:1e7,y={type:"inertia",velocity:s?e[c]:0,bounceStiffness:f,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...r,...d};return this.startAxisValueAnimation(c,y)});return Promise.all(u).then(a)}startAxisValueAnimation(e,n){const s=this.getAxisMotionValue(e);return Hn(this.visualElement,e),s.start(ks(e,s,0,n,this.visualElement,!1))}stopAnimation(){lt(e=>this.getAxisMotionValue(e).stop())}pauseAnimation(){lt(e=>this.getAxisMotionValue(e).animation?.pause())}getAnimationState(e){return this.getAxisMotionValue(e).animation?.state}getAxisMotionValue(e){const n=`_drag${e.toUpperCase()}`,s=this.visualElement.getProps(),i=s[n];return i||this.visualElement.getValue(e,(s.initial?s.initial[e]:void 0)||0)}snapToCursor(e){lt(n=>{const{drag:s}=this.getProps();if(!ze(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:o,max:a}=i.layout.layoutBox[n];r.set(e[n]-$(o,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!Jt(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};lt(o=>{const a=this.getAxisMotionValue(o);if(a&&this.constraints!==!1){const l=a.get();i[o]=cd({min:l,max:l},this.constraints[o])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),lt(o=>{if(!ze(o,e,null))return;const a=this.getAxisMotionValue(o),{min:l,max:u}=this.constraints[o];a.set($(l,u,i[o]))})}addListeners(){if(!this.visualElement.current)return;hd.set(this.visualElement,this);const e=this.visualElement.current,n=be(e,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),s=()=>{const{dragConstraints:l}=this.getProps();Jt(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,r=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),O.read(s);const o=je(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(lt(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{o(),n(),r(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:o=Yn,dragMomentum:a=!0}=e;return{...e,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:r,dragElastic:o,dragMomentum:a}}}function ze(t,e,n){return(e===!0||e===t)&&(n===null||n===t)}function md(t,e=10){let n=null;return Math.abs(t.y)>e?n="y":Math.abs(t.x)>e&&(n="x"),n}class pd extends Et{constructor(e){super(e),this.removeGroupControls=ut,this.removeListeners=ut,this.controls=new fd(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ut}unmount(){this.removeGroupControls(),this.removeListeners()}}const Bi=t=>(e,n)=>{t&&O.postRender(()=>t(e,n))};class gd extends Et{constructor(){super(...arguments),this.removePointerDownListener=ut}onPointerDown(e){this.session=new Or(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Lr(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:Bi(e),onStart:Bi(n),onMove:s,onEnd:(r,o)=>{delete this.session,i&&O.postRender(()=>i(r,o))}}}mount(){this.removePointerDownListener=be(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Xe={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function $i(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const ye={correct:(t,e)=>{if(!e.target)return t;if(typeof t=="string")if(M.test(t))t=parseFloat(t);else return t;const n=$i(t,e.target.x),s=$i(t,e.target.y);return`${n}% ${s}%`}},yd={correct:(t,{treeScale:e,projectionDelta:n})=>{const s=t,i=Dt.parse(t);if(i.length>5)return s;const r=Dt.createTransformer(t),o=typeof i[0]!="number"?1:0,a=n.x.scale*e.x,l=n.y.scale*e.y;i[0+o]/=a,i[1+o]/=l;const u=$(a,l,.5);return typeof i[2+o]=="number"&&(i[2+o]/=u),typeof i[3+o]=="number"&&(i[3+o]/=u),r(i)}};let Tn=!1;class xd extends m.Component{componentDidMount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:r}=e;Uc(vd),r&&(n.group&&n.group.add(r),s&&s.register&&i&&s.register(r),Tn&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),Xe.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:n,visualElement:s,drag:i,isPresent:r}=this.props,{projection:o}=s;return o&&(o.isPresent=r,Tn=!0,i||e.layoutDependency!==n||n===void 0||e.isPresent!==r?o.willUpdate():this.safeToRemove(),e.isPresent!==r&&(r?o.promote():o.relegate()||O.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),bs.postRender(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=e;Tn=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Br(t){const[e,n]=rr(),s=m.useContext(Jn);return h.jsx(xd,{...t,layoutGroup:s,switchLayoutGroup:m.useContext(yr),isPresent:e,safeToRemove:n})}const vd={borderRadius:{...ye,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ye,borderTopRightRadius:ye,borderBottomLeftRadius:ye,borderBottomRightRadius:ye,boxShadow:yd};function bd(t,e,n){const s=tt(t)?t:ie(t);return s.start(ks("",s,e,n)),s.animation}const wd=(t,e)=>t.depth-e.depth;class Td{constructor(){this.children=[],this.isDirty=!1}add(e){es(this.children,e),this.isDirty=!0}remove(e){ns(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(wd),this.isDirty=!1,this.children.forEach(e)}}function Sd(t,e){const n=nt.now(),s=({timestamp:i})=>{const r=i-n;r>=e&&(Vt(s),t(r-e))};return O.setup(s,!0),()=>Vt(s)}const $r=["TopLeft","TopRight","BottomLeft","BottomRight"],Cd=$r.length,zi=t=>typeof t=="string"?parseFloat(t):t,Ui=t=>typeof t=="number"||M.test(t);function Ad(t,e,n,s,i,r){i?(t.opacity=$(0,n.opacity??1,Pd(s)),t.opacityExit=$(e.opacity??1,0,Md(s))):r&&(t.opacity=$(e.opacity??1,n.opacity??1,s));for(let o=0;o<Cd;o++){const a=`border${$r[o]}Radius`;let l=_i(e,a),u=_i(n,a);if(l===void 0&&u===void 0)continue;l||(l=0),u||(u=0),l===0||u===0||Ui(l)===Ui(u)?(t[a]=Math.max($(zi(l),zi(u),s),0),(xt.test(u)||xt.test(l))&&(t[a]+="%")):t[a]=u}(e.rotate||n.rotate)&&(t.rotate=$(e.rotate||0,n.rotate||0,s))}function _i(t,e){return t[e]!==void 0?t[e]:t.borderRadius}const Pd=zr(0,.5,Po),Md=zr(.5,.95,ut);function zr(t,e,n){return s=>s<t?0:s>e?1:n(Se(t,e,s))}function Wi(t,e){t.min=e.min,t.max=e.max}function at(t,e){Wi(t.x,e.x),Wi(t.y,e.y)}function Ki(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}function Hi(t,e,n,s,i){return t-=e,t=tn(t,1/n,s),i!==void 0&&(t=tn(t,1/i,s)),t}function jd(t,e=0,n=1,s=.5,i,r=t,o=t){if(xt.test(e)&&(e=parseFloat(e),e=$(o.min,o.max,e/100)-o.min),typeof e!="number")return;let a=$(r.min,r.max,s);t===r&&(a-=e),t.min=Hi(t.min,e,n,a,i),t.max=Hi(t.max,e,n,a,i)}function Xi(t,e,[n,s,i],r,o){jd(t,e[n],e[s],e[i],e.scale,r,o)}const Vd=["x","scaleX","originX"],Dd=["y","scaleY","originY"];function Yi(t,e,n,s){Xi(t.x,e,Vd,n?n.x:void 0,s?s.x:void 0),Xi(t.y,e,Dd,n?n.y:void 0,s?s.y:void 0)}function Gi(t){return t.translate===0&&t.scale===1}function Ur(t){return Gi(t.x)&&Gi(t.y)}function qi(t,e){return t.min===e.min&&t.max===e.max}function Ed(t,e){return qi(t.x,e.x)&&qi(t.y,e.y)}function Zi(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function _r(t,e){return Zi(t.x,e.x)&&Zi(t.y,e.y)}function Ji(t){return et(t.x)/et(t.y)}function Qi(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}class kd{constructor(){this.members=[]}add(e){es(this.members,e),e.scheduleRender()}remove(e){if(ns(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(e){const n=this.members.findIndex(i=>e===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const r=this.members[i];if(r.isPresent!==!1){s=r;break}}return s?(this.promote(s),!0):!1}promote(e,n){const s=this.lead;if(e!==s&&(this.prevLead=s,this.lead=e,e.show(),s)){s.instance&&s.scheduleRender(),e.scheduleRender(),e.resumeFrom=s,n&&(e.resumeFrom.preserveOpacity=!0),s.snapshot&&(e.snapshot=s.snapshot,e.snapshot.latestValues=s.animationValues||s.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:i}=e.options;i===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const{options:n,resumingFrom:s}=e;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Rd(t,e,n){let s="";const i=t.x.translate/e.x,r=t.y.translate/e.y,o=n?.z||0;if((i||r||o)&&(s=`translate3d(${i}px, ${r}px, ${o}px) `),(e.x!==1||e.y!==1)&&(s+=`scale(${1/e.x}, ${1/e.y}) `),n){const{transformPerspective:u,rotate:c,rotateX:d,rotateY:f,skewX:g,skewY:y}=n;u&&(s=`perspective(${u}px) ${s}`),c&&(s+=`rotate(${c}deg) `),d&&(s+=`rotateX(${d}deg) `),f&&(s+=`rotateY(${f}deg) `),g&&(s+=`skewX(${g}deg) `),y&&(s+=`skewY(${y}deg) `)}const a=t.x.scale*e.x,l=t.y.scale*e.y;return(a!==1||l!==1)&&(s+=`scale(${a}, ${l})`),s||"none"}const Sn=["","X","Y","Z"],Nd=1e3;let Id=0;function Cn(t,e,n,s){const{latestValues:i}=e;i[t]&&(n[t]=i[t],e.setStaticValue(t,0),s&&(s[t]=0))}function Wr(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:e}=t.options;if(!e)return;const n=jr(e);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:r}=t.options;window.MotionCancelOptimisedAnimation(n,"transform",O,!(i||r))}const{parent:s}=t;s&&!s.hasCheckedOptimisedAppear&&Wr(s)}function Kr({attachResizeListener:t,defaultParent:e,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(o={},a=e?.()){this.id=Id++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(Fd),this.nodes.forEach(Ud),this.nodes.forEach(_d),this.nodes.forEach(Bd)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new Td)}addEventListener(o,a){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new is),this.eventHandlers.get(o).add(a)}notifyListeners(o,...a){const l=this.eventHandlers.get(o);l&&l.notify(...a)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=or(o)&&!Pc(o),this.instance=o;const{layoutId:a,layout:l,visualElement:u}=this.options;if(u&&!u.current&&u.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),t){let c,d=0;const f=()=>this.root.updateBlockedByResize=!1;O.read(()=>{d=window.innerWidth}),t(o,()=>{const g=window.innerWidth;g!==d&&(d=g,this.root.updateBlockedByResize=!0,c&&c(),c=Sd(f,250),Xe.hasAnimatedSinceResize&&(Xe.hasAnimatedSinceResize=!1,this.nodes.forEach(no)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&u&&(a||l)&&this.addEventListener("didUpdate",({delta:c,hasLayoutChanged:d,hasRelativeLayoutChanged:f,layout:g})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const y=this.options.transition||u.getDefaultTransition()||Yd,{onLayoutAnimationStart:v,onLayoutAnimationComplete:w}=u.getProps(),x=!this.targetLayout||!_r(this.targetLayout,g),S=!d&&f;if(this.options.layoutRoot||this.resumeFrom||S||d&&(x||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const b={...xs(y,"layout"),onPlay:v,onComplete:w};(u.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(c,S)}else d||no(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=g})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Vt(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Wd),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Wr(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;c<this.path.length;c++){const d=this.path[c];d.shouldResetTransform=!0,d.updateScroll("snapshot"),d.options.layoutRoot&&d.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const u=this.getTransformTemplate();this.prevTransformTemplateValue=u?u(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(to);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(eo);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(zd),this.nodes.forEach(Ld),this.nodes.forEach(Od)):this.nodes.forEach(eo),this.clearAllSnapshots();const a=nt.now();Z.delta=bt(0,1e3/60,a-Z.timestamp),Z.timestamp=a,Z.isProcessing=!0,hn.update.process(Z),hn.preRender.process(Z),hn.render.process(Z),Z.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,bs.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach($d),this.sharedNodes.forEach(Kd)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,O.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){O.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!et(this.snapshot.measuredBox.x)&&!et(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=W(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(a=!1),a&&this.instance){const l=s(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!Ur(this.projectionDelta),l=this.getTransformTemplate(),u=l?l(this.latestValues,""):void 0,c=u!==this.prevTransformTemplateValue;o&&this.instance&&(a||Ut(this.latestValues)||c)&&(i(this.instance,u),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return o&&(l=this.removeTransform(l)),Gd(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:o}=this.options;if(!o)return W();const a=o.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(qd))){const{scroll:u}=this.root;u&&(Qt(a.x,u.offset.x),Qt(a.y,u.offset.y))}return a}removeElementScroll(o){const a=W();if(at(a,o),this.scroll?.wasRoot)return a;for(let l=0;l<this.path.length;l++){const u=this.path[l],{scroll:c,options:d}=u;u!==this.root&&c&&d.layoutScroll&&(c.wasRoot&&at(a,o),Qt(a.x,c.offset.x),Qt(a.y,c.offset.y))}return a}applyTransform(o,a=!1){const l=W();at(l,o);for(let u=0;u<this.path.length;u++){const c=this.path[u];!a&&c.options.layoutScroll&&c.scroll&&c!==c.root&&te(l,{x:-c.scroll.offset.x,y:-c.scroll.offset.y}),Ut(c.latestValues)&&te(l,c.latestValues)}return Ut(this.latestValues)&&te(l,this.latestValues),l}removeTransform(o){const a=W();at(a,o);for(let l=0;l<this.path.length;l++){const u=this.path[l];if(!u.instance||!Ut(u.latestValues))continue;Un(u.latestValues)&&u.updateSnapshot();const c=W(),d=u.measurePageBox();at(c,d),Yi(a,u.latestValues,u.snapshot?u.snapshot.layoutBox:void 0,c)}return Ut(this.latestValues)&&Yi(a,this.latestValues),a}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Z.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(o||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:c,layoutId:d}=this.options;if(!(!this.layout||!(c||d))){if(this.resolvedRelativeTargetAt=Z.timestamp,!this.targetDelta&&!this.relativeTarget){const f=this.getClosestProjectingParent();f&&f.layout&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=W(),this.relativeTargetOrigin=W(),Te(this.relativeTargetOrigin,this.layout.layoutBox,f.layout.layoutBox),at(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=W(),this.targetWithTransforms=W()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),nd(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):at(this.target,this.layout.layoutBox),wr(this.target,this.targetDelta)):at(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const f=this.getClosestProjectingParent();f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=W(),this.relativeTargetOrigin=W(),Te(this.relativeTargetOrigin,this.target,f.target),at(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||Un(this.parent.latestValues)||br(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){const o=this.getLead(),a=!!this.resumingFrom||this!==o;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===Z.timestamp&&(l=!1),l)return;const{layout:u,layoutId:c}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(u||c))return;at(this.layoutCorrected,this.layout.layoutBox);const d=this.treeScale.x,f=this.treeScale.y;gu(this.layoutCorrected,this.treeScale,this.path,a),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=W());const{target:g}=o;if(!g){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Ki(this.prevProjectionDelta.x,this.projectionDelta.x),Ki(this.prevProjectionDelta.y,this.projectionDelta.y)),we(this.projectionDelta,this.layoutCorrected,g,this.latestValues),(this.treeScale.x!==d||this.treeScale.y!==f||!Qi(this.projectionDelta.x,this.prevProjectionDelta.x)||!Qi(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",g))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){if(this.options.visualElement?.scheduleRender(),o){const a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=ee(),this.projectionDelta=ee(),this.projectionDeltaWithTransform=ee()}setAnimationOrigin(o,a=!1){const l=this.snapshot,u=l?l.latestValues:{},c={...this.latestValues},d=ee();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const f=W(),g=l?l.source:void 0,y=this.layout?this.layout.source:void 0,v=g!==y,w=this.getStack(),x=!w||w.members.length<=1,S=!!(v&&!x&&this.options.crossfade===!0&&!this.path.some(Xd));this.animationProgress=0;let b;this.mixTargetDelta=k=>{const A=k/1e3;so(d.x,o.x,A),so(d.y,o.y,A),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Te(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Hd(this.relativeTarget,this.relativeTargetOrigin,f,A),b&&Ed(this.relativeTarget,b)&&(this.isProjectionDirty=!1),b||(b=W()),at(b,this.relativeTarget)),v&&(this.animationValues=c,Ad(c,u,this.latestValues,A,S,x)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=A},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Vt(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=O.update(()=>{Xe.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=ie(0)),this.currentAnimation=bd(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),o.onUpdate&&o.onUpdate(a)},onStop:()=>{},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Nd),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=o;if(!(!a||!l||!u)){if(this!==o&&this.layout&&u&&Hr(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||W();const d=et(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const f=et(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+f}at(a,l),te(a,c),we(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new kd),this.sharedNodes.get(o).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){const{layoutId:o}=this.options;return o?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:o}=this.options;return o?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const u={};l.z&&Cn("z",o,u,this.animationValues);for(let c=0;c<Sn.length;c++)Cn(`rotate${Sn[c]}`,o,u,this.animationValues),Cn(`skew${Sn[c]}`,o,u,this.animationValues);o.render();for(const c in u)o.setStaticValue(c,u[c]),this.animationValues&&(this.animationValues[c]=u[c]);o.scheduleRender()}applyProjectionStyles(o,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=Ke(a?.pointerEvents)||"",o.transform=l?l(this.latestValues,""):"none";return}const u=this.getLead();if(!this.projectionDelta||!this.layout||!u.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=Ke(a?.pointerEvents)||""),this.hasProjected&&!Ut(this.latestValues)&&(o.transform=l?l({},""):"none",this.hasProjected=!1);return}o.visibility="";const c=u.animationValues||u.latestValues;this.applyTransformsToTarget();let d=Rd(this.projectionDeltaWithTransform,this.treeScale,c);l&&(d=l(c,d)),o.transform=d;const{x:f,y:g}=this.projectionDelta;o.transformOrigin=`${f.origin*100}% ${g.origin*100}% 0`,u.animationValues?o.opacity=u===this?c.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:c.opacityExit:o.opacity=u===this?c.opacity!==void 0?c.opacity:"":c.opacityExit!==void 0?c.opacityExit:0;for(const y in Me){if(c[y]===void 0)continue;const{correct:v,applyTo:w,isCSSVariable:x}=Me[y],S=d==="none"?c[y]:v(c[y],u);if(w){const b=w.length;for(let k=0;k<b;k++)o[w[k]]=S}else x?this.options.visualElement.renderState.vars[y]=S:o[y]=S}this.options.layoutId&&(o.pointerEvents=u===this?Ke(a?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>o.currentAnimation?.stop()),this.root.nodes.forEach(to),this.root.sharedNodes.clear()}}}function Ld(t){t.updateLayout()}function Od(t){const e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=t.layout,{animationType:i}=t.options,r=e.source!==t.layout.source;i==="size"?lt(c=>{const d=r?e.measuredBox[c]:e.layoutBox[c],f=et(d);d.min=n[c].min,d.max=d.min+f}):Hr(i,e.layoutBox,n)&&lt(c=>{const d=r?e.measuredBox[c]:e.layoutBox[c],f=et(n[c]);d.max=d.min+f,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[c].max=t.relativeTarget[c].min+f)});const o=ee();we(o,n,e.layoutBox);const a=ee();r?we(a,t.applyTransform(s,!0),e.measuredBox):we(a,n,e.layoutBox);const l=!Ur(o);let u=!1;if(!t.resumeFrom){const c=t.getClosestProjectingParent();if(c&&!c.resumeFrom){const{snapshot:d,layout:f}=c;if(d&&f){const g=W();Te(g,e.layoutBox,d.layoutBox);const y=W();Te(y,n,f.layoutBox),_r(g,y)||(u=!0),c.options.layoutRoot&&(t.relativeTarget=y,t.relativeTargetOrigin=g,t.relativeParent=c)}}}t.notifyListeners("didUpdate",{layout:n,snapshot:e,delta:a,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(t.isLead()){const{onExitComplete:n}=t.options;n&&n()}t.options.transition=void 0}function Fd(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function Bd(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function $d(t){t.clearSnapshot()}function to(t){t.clearMeasurements()}function eo(t){t.isLayoutDirty=!1}function zd(t){const{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function no(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function Ud(t){t.resolveTargetDelta()}function _d(t){t.calcProjection()}function Wd(t){t.resetSkewAndRotation()}function Kd(t){t.removeLeadSnapshot()}function so(t,e,n){t.translate=$(e.translate,0,n),t.scale=$(e.scale,1,n),t.origin=e.origin,t.originPoint=e.originPoint}function io(t,e,n,s){t.min=$(e.min,n.min,s),t.max=$(e.max,n.max,s)}function Hd(t,e,n,s){io(t.x,e.x,n.x,s),io(t.y,e.y,n.y,s)}function Xd(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const Yd={duration:.45,ease:[.4,0,.1,1]},oo=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),ro=oo("applewebkit/")&&!oo("chrome/")?Math.round:ut;function ao(t){t.min=ro(t.min),t.max=ro(t.max)}function Gd(t){ao(t.x),ao(t.y)}function Hr(t,e,n){return t==="position"||t==="preserve-aspect"&&!ed(Ji(e),Ji(n),.2)}function qd(t){return t!==t.root&&t.scroll?.wasRoot}const Zd=Kr({attachResizeListener:(t,e)=>je(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),An={current:void 0},Xr=Kr({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!An.current){const t=new Zd({});t.mount(window),t.setOptions({layoutScroll:!0}),An.current=t}return An.current},resetTransform:(t,e)=>{t.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),Jd={pan:{Feature:gd},drag:{Feature:pd,ProjectionNode:Xr,MeasureLayout:Br}};function lo(t,e,n){const{props:s}=t;t.animationState&&s.whileHover&&t.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=s[i];r&&O.postRender(()=>r(e,ke(e)))}class Qd extends Et{mount(){const{current:e}=this.node;e&&(this.unmount=wc(e,(n,s)=>(lo(this.node,s,"Start"),i=>lo(this.node,i,"End"))))}unmount(){}}class th extends Et{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ve(je(this.node.current,"focus",()=>this.onFocus()),je(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function co(t,e,n){const{props:s}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&s.whileTap&&t.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=s[i];r&&O.postRender(()=>r(e,ke(e)))}class eh extends Et{mount(){const{current:e}=this.node;e&&(this.unmount=Ac(e,(n,s)=>(co(this.node,s,"Start"),(i,{success:r})=>co(this.node,i,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const Gn=new WeakMap,Pn=new WeakMap,nh=t=>{const e=Gn.get(t.target);e&&e(t)},sh=t=>{t.forEach(nh)};function ih({root:t,...e}){const n=t||document;Pn.has(n)||Pn.set(n,{});const s=Pn.get(n),i=JSON.stringify(e);return s[i]||(s[i]=new IntersectionObserver(sh,{root:t,...e})),s[i]}function oh(t,e,n){const s=ih(e);return Gn.set(t,n),s.observe(t),()=>{Gn.delete(t),s.unobserve(t)}}const rh={some:0,all:1};class ah extends Et{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:r}=e,o={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:rh[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,r&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return oh(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:n}=this.node;["amount","margin","root"].some(lh(e,n))&&this.startObserver()}unmount(){}}function lh({viewport:t={}},{viewport:e={}}={}){return n=>t[n]!==e[n]}const Yr={inView:{Feature:ah},tap:{Feature:eh},focus:{Feature:th},hover:{Feature:Qd}},ch={layout:{ProjectionNode:Xr,MeasureLayout:Br}},uh={...Rr,...Yr,...Jd,...ch},dh=fu(uh,Mr),hh={renderer:Mr,...Rr,...Yr};function Gr(t,e){return He(t,e)}const Ue=Gr("div"),fh=Gr("p");function qr(t,e){if(!e)throw new Error(`❌ toolMetadata is required!
9
+ `),()=>{w.contains(v)&&w.removeChild(v)}},[e]),h.jsx(Ec,{isPresent:e,childRef:r,sizeRef:o,children:ht.cloneElement(t,{ref:l})})}const Rc=({children:t,initial:e,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:r,mode:o,anchorX:a,root:l})=>{const u=Qn(Nc),c=m.useId();let d=!0,f=m.useMemo(()=>(d=!1,{id:c,initial:e,isPresent:n,custom:i,onExitComplete:g=>{u.set(g,!0);for(const y of u.values())if(!y)return;s&&s()},register:g=>(u.set(g,!1),()=>u.delete(g))}),[n,u,s]);return r&&d&&(f={...f}),m.useMemo(()=>{u.forEach((g,y)=>u.set(y,!1))},[n]),ht.useEffect(()=>{!n&&!u.size&&s&&s()},[n]),o==="popLayout"&&(t=h.jsx(kc,{isPresent:n,anchorX:a,root:l,children:t})),h.jsx(en.Provider,{value:f,children:t})};function Nc(){return new Map}function rr(t=!0){const e=m.useContext(en);if(e===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:i}=e,r=m.useId();m.useEffect(()=>{if(t)return i(r)},[t]);const o=m.useCallback(()=>t&&s&&s(r),[r,s,t]);return!n&&s?[!1,o]:[!0]}const $e=t=>t.key||"";function yi(t){const e=[];return m.Children.forEach(t,n=>{m.isValidElement(n)&&e.push(n)}),e}const Ic=({children:t,custom:e,initial:n=!0,onExitComplete:s,presenceAffectsLayout:i=!0,mode:r="sync",propagate:o=!1,anchorX:a="left",root:l})=>{const[u,c]=rr(o),d=m.useMemo(()=>yi(t),[t]),f=o&&!u?[]:d.map($e),g=m.useRef(!0),y=m.useRef(d),v=Qn(()=>new Map),[w,x]=m.useState(d),[S,b]=m.useState(d);po(()=>{g.current=!1,y.current=d;for(let V=0;V<S.length;V++){const R=$e(S[V]);f.includes(R)?v.delete(R):v.get(R)!==!0&&v.set(R,!1)}},[S,f.length,f.join("-")]);const k=[];if(d!==w){let V=[...d];for(let R=0;R<S.length;R++){const P=S[R],N=$e(P);f.includes(N)||(V.splice(R,0,P),k.push(P))}return r==="wait"&&k.length&&(V=k),b(yi(V)),x(d),null}process.env.NODE_ENV!=="production"&&r==="wait"&&S.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);const{forceRender:A}=m.useContext(Jn);return h.jsx(h.Fragment,{children:S.map(V=>{const R=$e(V),P=o&&!u?!1:d===S||f.includes(R),N=()=>{if(v.has(R))v.set(R,!0);else return;let _=!0;v.forEach(z=>{z||(_=!1)}),_&&(A?.(),b(y.current),o&&c?.(),s&&s())};return h.jsx(Rc,{isPresent:P,initial:!g.current||n?void 0:!1,custom:e,presenceAffectsLayout:i,mode:r,root:l,onExitComplete:P?void 0:N,anchorX:a,children:V},R)})})},Ss=m.createContext({strict:!1}),xi={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},oe={};for(const t in xi)oe[t]={isEnabled:e=>xi[t].some(n=>!!e[n])};function zn(t){for(const e in t)oe[e]={...oe[e],...t[e]}}function Lc({children:t,features:e,strict:n=!1}){const[,s]=m.useState(!xn(e)),i=m.useRef(void 0);if(!xn(e)){const{renderer:r,...o}=e;i.current=r,zn(o)}return m.useEffect(()=>{xn(e)&&e().then(({renderer:r,...o})=>{zn(o),i.current=r,s(!0)})},[]),h.jsx(Ss.Provider,{value:{renderer:i.current,strict:n},children:t})}function xn(t){return typeof t=="function"}const Oc=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Qe(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||Oc.has(t)}let ar=t=>!Qe(t);function Fc(t){typeof t=="function"&&(ar=e=>e.startsWith("on")?!Qe(e):t(e))}try{Fc(require("@emotion/is-prop-valid").default)}catch{}function Bc(t,e,n){const s={};for(const i in t)i==="values"&&typeof t.values=="object"||(ar(i)||n===!0&&Qe(i)||!e&&!Qe(i)||t.draggable&&i.startsWith("onDrag"))&&(s[i]=t[i]);return s}const nn=m.createContext({});function sn(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function Pe(t){return typeof t=="string"||Array.isArray(t)}const Cs=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],As=["initial",...Cs];function on(t){return sn(t.animate)||As.some(e=>Pe(t[e]))}function lr(t){return!!(on(t)||t.variants)}function $c(t,e){if(on(t)){const{initial:n,animate:s}=t;return{initial:n===!1||Pe(n)?n:void 0,animate:Pe(s)?s:void 0}}return t.inherit!==!1?e:{}}function zc(t){const{initial:e,animate:n}=$c(t,m.useContext(nn));return m.useMemo(()=>({initial:e,animate:n}),[vi(e),vi(n)])}function vi(t){return Array.isArray(t)?t.join(" "):t}const Me={};function Uc(t){for(const e in t)Me[e]=t[e],ls(e)&&(Me[e].isCSSVariable=!0)}function cr(t,{layout:e,layoutId:n}){return ce.has(t)||t.startsWith("origin")||(e||n!==void 0)&&(!!Me[t]||t==="opacity")}const _c={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Wc=le.length;function Kc(t,e,n){let s="",i=!0;for(let r=0;r<Wc;r++){const o=le[r],a=t[o];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(o.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const u=tr(a,vs[o]);if(!l){i=!1;const c=_c[o]||o;s+=`${c}(${u}) `}n&&(e[o]=u)}}return s=s.trim(),n?s=n(e,i?"":s):i&&(s="none"),s}function Ps(t,e,n){const{style:s,vars:i,transformOrigin:r}=t;let o=!1,a=!1;for(const l in e){const u=e[l];if(ce.has(l)){o=!0;continue}else if(ls(l)){i[l]=u;continue}else{const c=tr(u,vs[l]);l.startsWith("origin")?(a=!0,r[l]=c):s[l]=c}}if(e.transform||(o||n?s.transform=Kc(e,t.transform,n):s.transform&&(s.transform="none")),a){const{originX:l="50%",originY:u="50%",originZ:c=0}=r;s.transformOrigin=`${l} ${u} ${c}`}}const Ms=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ur(t,e,n){for(const s in e)!tt(e[s])&&!cr(s,n)&&(t[s]=e[s])}function Hc({transformTemplate:t},e){return m.useMemo(()=>{const n=Ms();return Ps(n,e,t),Object.assign({},n.vars,n.style)},[e])}function Xc(t,e){const n=t.style||{},s={};return ur(s,n,t),Object.assign(s,Hc(t,e)),s}function Yc(t,e){const n={},s=Xc(t,e);return t.drag&&t.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=s,n}const Gc={offset:"stroke-dashoffset",array:"stroke-dasharray"},qc={offset:"strokeDashoffset",array:"strokeDasharray"};function Zc(t,e,n=1,s=0,i=!0){t.pathLength=1;const r=i?Gc:qc;t[r.offset]=M.transform(-s);const o=M.transform(e),a=M.transform(n);t[r.array]=`${o} ${a}`}function dr(t,{attrX:e,attrY:n,attrScale:s,pathLength:i,pathSpacing:r=1,pathOffset:o=0,...a},l,u,c){if(Ps(t,a,u),l){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:d,style:f}=t;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin),f.transform&&(f.transformBox=c?.transformBox??"fill-box",delete d.transformBox),e!==void 0&&(d.x=e),n!==void 0&&(d.y=n),s!==void 0&&(d.scale=s),i!==void 0&&Zc(d,i,r,o,!1)}const hr=()=>({...Ms(),attrs:{}}),fr=t=>typeof t=="string"&&t.toLowerCase()==="svg";function Jc(t,e,n,s){const i=m.useMemo(()=>{const r=hr();return dr(r,e,fr(s),t.transformTemplate,t.style),{...r.attrs,style:{...r.style}}},[e]);if(t.style){const r={};ur(r,t.style,t),i.style={...r,...i.style}}return i}const Qc=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function js(t){return typeof t!="string"||t.includes("-")?!1:!!(Qc.indexOf(t)>-1||/[A-Z]/u.test(t))}function tu(t,e,n,{latestValues:s},i,r=!1){const a=(js(t)?Jc:Yc)(e,s,i,t),l=Bc(e,typeof t=="string",r),u=t!==m.Fragment?{...l,...a,ref:n}:{},{children:c}=e,d=m.useMemo(()=>tt(c)?c.get():c,[c]);return m.createElement(t,{...u,children:d})}function bi(t){const e=[{},{}];return t?.values.forEach((n,s)=>{e[0][s]=n.get(),e[1][s]=n.getVelocity()}),e}function Ds(t,e,n,s){if(typeof e=="function"){const[i,r]=bi(s);e=e(n!==void 0?n:t.custom,i,r)}if(typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"){const[i,r]=bi(s);e=e(n!==void 0?n:t.custom,i,r)}return e}function Ke(t){return tt(t)?t.get():t}function eu({scrapeMotionValuesFromProps:t,createRenderState:e},n,s,i){return{latestValues:nu(n,s,i,t),renderState:e()}}function nu(t,e,n,s){const i={},r=s(t,{});for(const f in r)i[f]=Ke(r[f]);let{initial:o,animate:a}=t;const l=on(t),u=lr(t);e&&u&&!l&&t.inherit!==!1&&(o===void 0&&(o=e.initial),a===void 0&&(a=e.animate));let c=n?n.initial===!1:!1;c=c||o===!1;const d=c?a:o;if(d&&typeof d!="boolean"&&!sn(d)){const f=Array.isArray(d)?d:[d];for(let g=0;g<f.length;g++){const y=Ds(t,f[g]);if(y){const{transitionEnd:v,transition:w,...x}=y;for(const S in x){let b=x[S];if(Array.isArray(b)){const k=c?b.length-1:0;b=b[k]}b!==null&&(i[S]=b)}for(const S in v)i[S]=v[S]}}}return i}const mr=t=>(e,n)=>{const s=m.useContext(nn),i=m.useContext(en),r=()=>eu(t,e,s,i);return n?r():Qn(r)};function Vs(t,e,n){const{style:s}=t,i={};for(const r in s)(tt(s[r])||e.style&&tt(e.style[r])||cr(r,t)||n?.getValue(r)?.liveStyle!==void 0)&&(i[r]=s[r]);return i}const su=mr({scrapeMotionValuesFromProps:Vs,createRenderState:Ms});function pr(t,e,n){const s=Vs(t,e,n);for(const i in t)if(tt(t[i])||tt(e[i])){const r=le.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[r]=t[i]}return s}const iu=mr({scrapeMotionValuesFromProps:pr,createRenderState:hr}),ou=Symbol.for("motionComponentSymbol");function Jt(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function ru(t,e,n){return m.useCallback(s=>{s&&t.onMount&&t.onMount(s),e&&(s?e.mount(s):e.unmount()),n&&(typeof n=="function"?n(s):Jt(n)&&(n.current=s))},[e])}const Es=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),au="framerAppearId",gr="data-"+Es(au),yr=m.createContext({});function lu(t,e,n,s,i){const{visualElement:r}=m.useContext(nn),o=m.useContext(Ss),a=m.useContext(en),l=m.useContext(Ts).reducedMotion,u=m.useRef(null);s=s||o.renderer,!u.current&&s&&(u.current=s(t,{visualState:e,parent:r,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const c=u.current,d=m.useContext(yr);c&&!c.projection&&i&&(c.type==="html"||c.type==="svg")&&cu(u.current,n,i,d);const f=m.useRef(!1);m.useInsertionEffect(()=>{c&&f.current&&c.update(n,a)});const g=n[gr],y=m.useRef(!!g&&!window.MotionHandoffIsComplete?.(g)&&window.MotionHasOptimisedAnimation?.(g));return po(()=>{c&&(f.current=!0,window.MotionIsMounted=!0,c.updateFeatures(),c.scheduleRenderMicrotask(),y.current&&c.animationState&&c.animationState.animateChanges())}),m.useEffect(()=>{c&&(!y.current&&c.animationState&&c.animationState.animateChanges(),y.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(g)}),y.current=!1),c.enteringChildren=void 0)}),c}function cu(t,e,n,s){const{layoutId:i,layout:r,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:u,layoutCrossfade:c}=e;t.projection=new n(t.latestValues,e["data-framer-portal-id"]?void 0:xr(t.parent)),t.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!o||a&&Jt(a),visualElement:t,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,crossfade:c,layoutScroll:l,layoutRoot:u})}function xr(t){if(t)return t.options.allowProjection!==!1?t.projection:xr(t.parent)}function He(t,{forwardMotionProps:e=!1}={},n,s){n&&zn(n);const i=js(t)?iu:su;function r(a,l){let u;const c={...m.useContext(Ts),...a,layoutId:uu(a)},{isStatic:d}=c,f=zc(a),g=i(a,d);if(!d&&ts){du(c,n);const y=hu(c);u=y.MeasureLayout,f.visualElement=lu(t,g,c,s,y.ProjectionNode)}return h.jsxs(nn.Provider,{value:f,children:[u&&f.visualElement?h.jsx(u,{visualElement:f.visualElement,...c}):null,tu(t,a,ru(g,f.visualElement,l),g,d,e)]})}r.displayName=`motion.${typeof t=="string"?t:`create(${t.displayName??t.name??""})`}`;const o=m.forwardRef(r);return o[ou]=t,o}function uu({layoutId:t}){const e=m.useContext(Jn).id;return e&&t!==void 0?e+"-"+t:t}function du(t,e){const n=m.useContext(Ss).strict;if(process.env.NODE_ENV!=="production"&&e&&n){const s="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";t.ignoreStrict?re(!1,s,"lazy-strict-mode"):wt(!1,s,"lazy-strict-mode")}}function hu(t){const{drag:e,layout:n}=oe;if(!e&&!n)return{};const s={...e,...n};return{MeasureLayout:e?.isEnabled(t)||n?.isEnabled(t)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function fu(t,e){if(typeof Proxy>"u")return He;const n=new Map,s=(r,o)=>He(r,o,t,e),i=(r,o)=>(process.env.NODE_ENV!=="production"&&os(!1,"motion() is deprecated. Use motion.create() instead."),s(r,o));return new Proxy(i,{get:(r,o)=>o==="create"?s:(n.has(o)||n.set(o,He(o,void 0,t,e)),n.get(o))})}function vr({top:t,left:e,right:n,bottom:s}){return{x:{min:e,max:n},y:{min:t,max:s}}}function mu({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}function pu(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function vn(t){return t===void 0||t===1}function Un({scale:t,scaleX:e,scaleY:n}){return!vn(t)||!vn(e)||!vn(n)}function Ut(t){return Un(t)||br(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function br(t){return wi(t.x)||wi(t.y)}function wi(t){return t&&t!=="0%"}function tn(t,e,n){const s=t-n,i=e*s;return n+i}function Ti(t,e,n,s,i){return i!==void 0&&(t=tn(t,i,s)),tn(t,n,s)+e}function _n(t,e=0,n=1,s,i){t.min=Ti(t.min,e,n,s,i),t.max=Ti(t.max,e,n,s,i)}function wr(t,{x:e,y:n}){_n(t.x,e.translate,e.scale,e.originPoint),_n(t.y,n.translate,n.scale,n.originPoint)}const Si=.999999999999,Ci=1.0000000000001;function gu(t,e,n,s=!1){const i=n.length;if(!i)return;e.x=e.y=1;let r,o;for(let a=0;a<i;a++){r=n[a],o=r.projectionDelta;const{visualElement:l}=r.options;l&&l.props.style&&l.props.style.display==="contents"||(s&&r.options.layoutScroll&&r.scroll&&r!==r.root&&te(t,{x:-r.scroll.offset.x,y:-r.scroll.offset.y}),o&&(e.x*=o.x.scale,e.y*=o.y.scale,wr(t,o)),s&&Ut(r.latestValues)&&te(t,r.latestValues))}e.x<Ci&&e.x>Si&&(e.x=1),e.y<Ci&&e.y>Si&&(e.y=1)}function Qt(t,e){t.min=t.min+e,t.max=t.max+e}function Ai(t,e,n,s,i=.5){const r=$(t.min,t.max,i);_n(t,e,n,r,s)}function te(t,e){Ai(t.x,e.x,e.scaleX,e.scale,e.originX),Ai(t.y,e.y,e.scaleY,e.scale,e.originY)}function Tr(t,e){return vr(pu(t.getBoundingClientRect(),e))}function yu(t,e,n){const s=Tr(t,n),{scroll:i}=e;return i&&(Qt(s.x,i.offset.x),Qt(s.y,i.offset.y)),s}const Pi=()=>({translate:0,scale:1,origin:0,originPoint:0}),ee=()=>({x:Pi(),y:Pi()}),Mi=()=>({min:0,max:0}),W=()=>({x:Mi(),y:Mi()}),Wn={current:null},Sr={current:!1};function xu(){if(Sr.current=!0,!!ts)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>Wn.current=t.matches;t.addEventListener("change",e),e()}else Wn.current=!1}const vu=new WeakMap;function bu(t,e,n){for(const s in e){const i=e[s],r=n[s];if(tt(i))t.addValue(s,i);else if(tt(r))t.addValue(s,ie(i,{owner:t}));else if(r!==i)if(t.hasValue(s)){const o=t.getValue(s);o.liveStyle===!0?o.jump(i):o.hasAnimated||o.set(i)}else{const o=t.getStaticValue(s);t.addValue(s,ie(o!==void 0?o:i,{owner:t}))}}for(const s in n)e[s]===void 0&&t.removeValue(s);return e}const ji=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class wu{scrapeMotionValuesFromProps(e,n,s){return{}}constructor({parent:e,props:n,presenceContext:s,reducedMotionConfig:i,blockInitialAnimation:r,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=ys,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const f=nt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,O.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=o;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=u,this.parent=e,this.props=n,this.presenceContext=s,this.depth=e?e.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.blockInitialAnimation=!!r,this.isControllingVariants=on(n),this.isVariantNode=lr(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:c,...d}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in d){const g=d[f];l[f]!==void 0&&tt(g)&&g.set(l[f])}}mount(e){this.current=e,vu.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),Sr.current||xu(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Wn.current,process.env.NODE_ENV!=="production"&&os(this.shouldReduceMotion!==!0,"You have Reduced Motion enabled on your device. Animations may not appear as expected.","reduced-motion-disabled"),this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Dt(this.notifyUpdate),Dt(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const n=this.features[e];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,n){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const s=ce.has(e);s&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",o=>{this.latestValues[e]=o,this.props.onUpdate&&O.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,e,n)),this.valueSubscriptions.set(e,()=>{i(),r&&r(),n.owner&&n.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in oe){const n=oe[e];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[e]&&i&&s(this.props)&&(this.features[e]=new i(this)),this.features[e]){const r=this.features[e];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):W()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,n){this.latestValues[e]=n}update(e,n){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<ji.length;s++){const i=ji[s];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const r="on"+i,o=e[r];o&&(this.propEventSubscriptions[i]=this.on(i,o))}this.prevMotionValues=bu(this,this.scrapeMotionValuesFromProps(e,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(e),()=>n.variantChildren.delete(e)}addValue(e,n){const s=this.values.get(e);n!==s&&(s&&this.removeValue(e),this.bindToMotionValue(e,n),this.values.set(e,n),this.latestValues[e]=n.get())}removeValue(e){this.values.delete(e);const n=this.valueSubscriptions.get(e);n&&(n(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,n){if(this.props.values&&this.props.values[e])return this.props.values[e];let s=this.values.get(e);return s===void 0&&n!==void 0&&(s=ie(n===null?void 0:n,{owner:this}),this.addValue(e,s)),s}readValue(e,n){let s=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return s!=null&&(typeof s=="string"&&(go(s)||xo(s))?s=parseFloat(s):!jc(s)&&Vt.test(n)&&(s=Qo(e,n)),this.setBaseTarget(e,tt(s)?s.get():s)),tt(s)?s.get():s}setBaseTarget(e,n){this.baseTarget[e]=n}getBaseTarget(e){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const r=Ds(this.props,n,this.presenceContext?.custom);r&&(s=r[e])}if(n&&s!==void 0)return s;const i=this.getBaseTargetFromProps(this.props,e);return i!==void 0&&!tt(i)?i:this.initialValues[e]!==void 0&&s===void 0?void 0:this.baseTarget[e]}on(e,n){return this.events[e]||(this.events[e]=new is),this.events[e].add(n)}notify(e,...n){this.events[e]&&this.events[e].notify(...n)}scheduleRenderMicrotask(){bs.render(this.render)}}class Cr extends wu{constructor(){super(...arguments),this.KeyframeResolver=gc}sortInstanceNodePosition(e,n){return e.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(e,n){return e.style?e.style[n]:void 0}removeValueFromRenderState(e,{vars:n,style:s}){delete n[e],delete s[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;tt(e)&&(this.childSubscription=e.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function Ar(t,{style:e,vars:n},s,i){const r=t.style;let o;for(o in e)r[o]=e[o];i?.applyProjectionStyles(r,s);for(o in n)r.setProperty(o,n[o])}function Tu(t){return window.getComputedStyle(t)}class Su extends Cr{constructor(){super(...arguments),this.type="html",this.renderInstance=Ar}readValueFromInstance(e,n){if(ce.has(n))return this.projection?.isProjecting?Nn(n):Nl(e,n);{const s=Tu(e),i=(ls(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(e,{transformPagePoint:n}){return Tr(e,n)}build(e,n,s){Ps(e,n,s.transformTemplate)}scrapeMotionValuesFromProps(e,n,s){return Vs(e,n,s)}}const Pr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Cu(t,e,n,s){Ar(t,e,void 0,s);for(const i in e.attrs)t.setAttribute(Pr.has(i)?i:Es(i),e.attrs[i])}class Au extends Cr{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=W}getBaseTargetFromProps(e,n){return e[n]}readValueFromInstance(e,n){if(ce.has(n)){const s=Jo(n);return s&&s.default||0}return n=Pr.has(n)?n:Es(n),e.getAttribute(n)}scrapeMotionValuesFromProps(e,n,s){return pr(e,n,s)}build(e,n,s){dr(e,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(e,n,s,i){Cu(e,n,s,i)}mount(e){this.isSVGTag=fr(e.tagName),super.mount(e)}}const Mr=(t,e)=>js(t)?new Au(e):new Su(e,{allowProjection:t!==m.Fragment});function se(t,e,n){const s=t.getProps();return Ds(s,e,n!==void 0?n:s.custom,t)}const Kn=t=>Array.isArray(t);function Pu(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,ie(n))}function Mu(t){return Kn(t)?t[t.length-1]||0:t}function ju(t,e){const n=se(t,e);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const o in r){const a=Mu(r[o]);Pu(t,o,a)}}function Du(t){return!!(tt(t)&&t.add)}function Hn(t,e){const n=t.getValue("willChange");if(Du(n))return n.add(e);if(!n&&Tt.WillChange){const s=new Tt.WillChange("auto");t.addValue("willChange",s),s.add(e)}}function jr(t){return t.props[gr]}const Vu=t=>t!==null;function Eu(t,{repeat:e,repeatType:n="loop"},s){const i=t.filter(Vu),r=e&&n!=="loop"&&e%2===1?0:i.length-1;return i[r]}const ku={type:"spring",stiffness:500,damping:25,restSpeed:10},Ru=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),Nu={type:"keyframes",duration:.8},Iu={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Lu=(t,{keyframes:e})=>e.length>2?Nu:ce.has(t)?t.startsWith("scale")?Ru(e[1]):ku:Iu;function Ou({when:t,delay:e,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:o,repeatDelay:a,from:l,elapsed:u,...c}){return!!Object.keys(c).length}const ks=(t,e,n,s={},i,r)=>o=>{const a=xs(s,t)||{},l=a.delay||s.delay||0;let{elapsed:u=0}=s;u=u-ft(l);const c={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...a,delay:-u,onUpdate:f=>{e.set(f),a.onUpdate&&a.onUpdate(f)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:t,motionValue:e,element:r?void 0:i};Ou(a)||Object.assign(c,Lu(t,c)),c.duration&&(c.duration=ft(c.duration)),c.repeatDelay&&(c.repeatDelay=ft(c.repeatDelay)),c.from!==void 0&&(c.keyframes[0]=c.from);let d=!1;if((c.type===!1||c.duration===0&&!c.repeatDelay)&&(Bn(c),c.delay===0&&(d=!0)),(Tt.instantAnimations||Tt.skipAnimations)&&(d=!0,Bn(c),c.delay=0),c.allowFlatten=!a.type&&!a.ease,d&&!r&&e.get()!==void 0){const f=Eu(c.keyframes,a);if(f!==void 0){O.update(()=>{c.onUpdate(f),c.onComplete()});return}}return a.isSync?new gs(c):new sc(c)};function Fu({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&e[n]!==!0;return e[n]=!1,s}function Dr(t,e,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:o,...a}=e;s&&(r=s);const l=[],u=i&&t.animationState&&t.animationState.getState()[i];for(const c in a){const d=t.getValue(c,t.latestValues[c]??null),f=a[c];if(f===void 0||u&&Fu(u,c))continue;const g={delay:n,...xs(r||{},c)},y=d.get();if(y!==void 0&&!d.isAnimating&&!Array.isArray(f)&&f===y&&!g.velocity)continue;let v=!1;if(window.MotionHandoffAnimation){const x=jr(t);if(x){const S=window.MotionHandoffAnimation(x,c,O);S!==null&&(g.startTime=S,v=!0)}}Hn(t,c),d.start(ks(c,d,f,t.shouldReduceMotion&&Go.has(c)?{type:!1}:g,t,v));const w=d.animation;w&&l.push(w)}return o&&Promise.all(l).then(()=>{O.update(()=>{o&&ju(t,o)})}),l}function Vr(t,e,n,s=0,i=1){const r=Array.from(t).sort((u,c)=>u.sortNodePosition(c)).indexOf(e),o=t.size,a=(o-1)*s;return typeof n=="function"?n(r,o):i===1?r*s:a-r*s}function Xn(t,e,n={}){const s=se(t,e,n.type==="exit"?t.presenceContext?.custom:void 0);let{transition:i=t.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(i=n.transitionOverride);const r=s?()=>Promise.all(Dr(t,s,n)):()=>Promise.resolve(),o=t.variantChildren&&t.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return Bu(t,e,l,u,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[r,o]:[o,r];return l().then(()=>u())}else return Promise.all([r(),o(n.delay)])}function Bu(t,e,n=0,s=0,i=0,r=1,o){const a=[];for(const l of t.variantChildren)l.notify("AnimationStart",e),a.push(Xn(l,e,{...o,delay:n+(typeof s=="function"?0:s)+Vr(t.variantChildren,l,s,i,r)}).then(()=>l.notify("AnimationComplete",e)));return Promise.all(a)}function $u(t,e,n={}){t.notify("AnimationStart",e);let s;if(Array.isArray(e)){const i=e.map(r=>Xn(t,r,n));s=Promise.all(i)}else if(typeof e=="string")s=Xn(t,e,n);else{const i=typeof e=="function"?se(t,e,n.custom):e;s=Promise.all(Dr(t,i,n))}return s.then(()=>{t.notify("AnimationComplete",e)})}function Er(t,e){if(!Array.isArray(e))return!1;const n=e.length;if(n!==t.length)return!1;for(let s=0;s<n;s++)if(e[s]!==t[s])return!1;return!0}const zu=As.length;function kr(t){if(!t)return;if(!t.isControllingVariants){const n=t.parent?kr(t.parent)||{}:{};return t.props.initial!==void 0&&(n.initial=t.props.initial),n}const e={};for(let n=0;n<zu;n++){const s=As[n],i=t.props[s];(Pe(i)||i===!1)&&(e[s]=i)}return e}const Uu=[...Cs].reverse(),_u=Cs.length;function Wu(t){return e=>Promise.all(e.map(({animation:n,options:s})=>$u(t,n,s)))}function Ku(t){let e=Wu(t),n=Di(),s=!0;const i=l=>(u,c)=>{const d=se(t,c,l==="exit"?t.presenceContext?.custom:void 0);if(d){const{transition:f,transitionEnd:g,...y}=d;u={...u,...y,...g}}return u};function r(l){e=l(t)}function o(l){const{props:u}=t,c=kr(t.parent)||{},d=[],f=new Set;let g={},y=1/0;for(let w=0;w<_u;w++){const x=Uu[w],S=n[x],b=u[x]!==void 0?u[x]:c[x],k=Pe(b),A=x===l?S.isActive:null;A===!1&&(y=w);let V=b===c[x]&&b!==u[x]&&k;if(V&&s&&t.manuallyAnimateOnMount&&(V=!1),S.protectedKeys={...g},!S.isActive&&A===null||!b&&!S.prevProp||sn(b)||typeof b=="boolean")continue;const R=Hu(S.prevProp,b);let P=R||x===l&&S.isActive&&!V&&k||w>y&&k,N=!1;const _=Array.isArray(b)?b:[b];let z=_.reduce(i(x),{});A===!1&&(z={});const{prevResolvedValues:vt={}}=S,St={...vt,...z},st=E=>{P=!0,f.has(E)&&(N=!0,f.delete(E)),S.needsAnimating[E]=!0;const Y=t.getValue(E);Y&&(Y.liveStyle=!1)};for(const E in St){const Y=z[E],K=vt[E];if(g.hasOwnProperty(E))continue;let it=!1;Kn(Y)&&Kn(K)?it=!Er(Y,K):it=Y!==K,it?Y!=null?st(E):f.add(E):Y!==void 0&&f.has(E)?st(E):S.protectedKeys[E]=!0}S.prevProp=b,S.prevResolvedValues=z,S.isActive&&(g={...g,...z}),s&&t.blockInitialAnimation&&(P=!1);const Ct=V&&R;P&&(!Ct||N)&&d.push(..._.map(E=>{const Y={type:x};if(typeof E=="string"&&s&&!Ct&&t.manuallyAnimateOnMount&&t.parent){const{parent:K}=t,it=se(K,E);if(K.enteringChildren&&it){const{delayChildren:U}=it.transition||{};Y.delay=Vr(K.enteringChildren,t,U)}}return{animation:E,options:Y}}))}if(f.size){const w={};if(typeof u.initial!="boolean"){const x=se(t,Array.isArray(u.initial)?u.initial[0]:u.initial);x&&x.transition&&(w.transition=x.transition)}f.forEach(x=>{const S=t.getBaseTarget(x),b=t.getValue(x);b&&(b.liveStyle=!0),w[x]=S??null}),d.push({animation:w})}let v=!!d.length;return s&&(u.initial===!1||u.initial===u.animate)&&!t.manuallyAnimateOnMount&&(v=!1),s=!1,v?e(d):Promise.resolve()}function a(l,u){if(n[l].isActive===u)return Promise.resolve();t.variantChildren?.forEach(d=>d.animationState?.setActive(l,u)),n[l].isActive=u;const c=o(l);for(const d in n)n[d].protectedKeys={};return c}return{animateChanges:o,setActive:a,setAnimateFunction:r,getState:()=>n,reset:()=>{n=Di()}}}function Hu(t,e){return typeof e=="string"?e!==t:Array.isArray(e)?!Er(e,t):!1}function $t(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Di(){return{animate:$t(!0),whileInView:$t(),whileHover:$t(),whileTap:$t(),whileDrag:$t(),whileFocus:$t(),exit:$t()}}class Et{constructor(e){this.isMounted=!1,this.node=e}update(){}}class Xu extends Et{constructor(e){super(e),e.animationState||(e.animationState=Ku(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();sn(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:n}=this.node.prevProps||{};e!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Yu=0;class Gu extends Et{constructor(){super(...arguments),this.id=Yu++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===s)return;const i=this.node.animationState.setActive("exit",!e);n&&!e&&i.then(()=>{n(this.id)})}mount(){const{register:e,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),e&&(this.unmount=e(this.id))}unmount(){}}const Rr={animation:{Feature:Xu},exit:{Feature:Gu}};function je(t,e,n,s={passive:!0}){return t.addEventListener(e,n,s),()=>t.removeEventListener(e,n)}function ke(t){return{point:{x:t.pageX,y:t.pageY}}}const qu=t=>e=>ws(e)&&t(e,ke(e));function be(t,e,n,s){return je(t,e,qu(n),s)}const Nr=1e-4,Zu=1-Nr,Ju=1+Nr,Ir=.01,Qu=0-Ir,td=0+Ir;function et(t){return t.max-t.min}function ed(t,e,n){return Math.abs(t-e)<=n}function Vi(t,e,n,s=.5){t.origin=s,t.originPoint=$(e.min,e.max,t.origin),t.scale=et(n)/et(e),t.translate=$(n.min,n.max,t.origin)-t.originPoint,(t.scale>=Zu&&t.scale<=Ju||isNaN(t.scale))&&(t.scale=1),(t.translate>=Qu&&t.translate<=td||isNaN(t.translate))&&(t.translate=0)}function we(t,e,n,s){Vi(t.x,e.x,n.x,s?s.originX:void 0),Vi(t.y,e.y,n.y,s?s.originY:void 0)}function Ei(t,e,n){t.min=n.min+e.min,t.max=t.min+et(e)}function nd(t,e,n){Ei(t.x,e.x,n.x),Ei(t.y,e.y,n.y)}function ki(t,e,n){t.min=e.min-n.min,t.max=t.min+et(e)}function Te(t,e,n){ki(t.x,e.x,n.x),ki(t.y,e.y,n.y)}function lt(t){return[t("x"),t("y")]}const Lr=({current:t})=>t?t.ownerDocument.defaultView:null,Ri=(t,e)=>Math.abs(t-e);function sd(t,e){const n=Ri(t.x,e.x),s=Ri(t.y,e.y);return Math.sqrt(n**2+s**2)}class Or{constructor(e,n,{transformPagePoint:s,contextWindow:i=window,dragSnapToOrigin:r=!1,distanceThreshold:o=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=wn(this.lastMoveEventInfo,this.history),g=this.startEvent!==null,y=sd(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!g&&!y)return;const{point:v}=f,{timestamp:w}=Z;this.history.push({...v,timestamp:w});const{onStart:x,onMove:S}=this.handlers;g||(x&&x(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),S&&S(this.lastMoveEvent,f)},this.handlePointerMove=(f,g)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=bn(g,this.transformPagePoint),O.update(this.updatePoint,!0)},this.handlePointerUp=(f,g)=>{this.end();const{onEnd:y,onSessionEnd:v,resumeAnimation:w}=this.handlers;if(this.dragSnapToOrigin&&w&&w(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const x=wn(f.type==="pointercancel"?this.lastMoveEventInfo:bn(g,this.transformPagePoint),this.history);this.startEvent&&y&&y(f,x),v&&v(f,x)},!ws(e))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=o,this.contextWindow=i||window;const a=ke(e),l=bn(a,this.transformPagePoint),{point:u}=l,{timestamp:c}=Z;this.history=[{...u,timestamp:c}];const{onSessionStart:d}=n;d&&d(e,wn(l,this.history)),this.removeListeners=De(be(this.contextWindow,"pointermove",this.handlePointerMove),be(this.contextWindow,"pointerup",this.handlePointerUp),be(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),Dt(this.updatePoint)}}function bn(t,e){return e?{point:e(t.point)}:t}function Ni(t,e){return{x:t.x-e.x,y:t.y-e.y}}function wn({point:t},e){return{point:t,delta:Ni(t,Fr(e)),offset:Ni(t,id(e)),velocity:od(e,.1)}}function id(t){return t[0]}function Fr(t){return t[t.length-1]}function od(t,e){if(t.length<2)return{x:0,y:0};let n=t.length-1,s=null;const i=Fr(t);for(;n>=0&&(s=t[n],!(i.timestamp-s.timestamp>ft(e)));)n--;if(!s)return{x:0,y:0};const r=ct(i.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const o={x:(i.x-s.x)/r,y:(i.y-s.y)/r};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function rd(t,{min:e,max:n},s){return e!==void 0&&t<e?t=s?$(e,t,s.min):Math.max(t,e):n!==void 0&&t>n&&(t=s?$(n,t,s.max):Math.min(t,n)),t}function Ii(t,e,n){return{min:e!==void 0?t.min+e:void 0,max:n!==void 0?t.max+n-(t.max-t.min):void 0}}function ad(t,{top:e,left:n,bottom:s,right:i}){return{x:Ii(t.x,n,i),y:Ii(t.y,e,s)}}function Li(t,e){let n=e.min-t.min,s=e.max-t.max;return e.max-e.min<t.max-t.min&&([n,s]=[s,n]),{min:n,max:s}}function ld(t,e){return{x:Li(t.x,e.x),y:Li(t.y,e.y)}}function cd(t,e){let n=.5;const s=et(t),i=et(e);return i>s?n=Se(e.min,e.max-s,t.min):s>i&&(n=Se(t.min,t.max-i,e.min)),bt(0,1,n)}function ud(t,e){const n={};return e.min!==void 0&&(n.min=e.min-t.min),e.max!==void 0&&(n.max=e.max-t.min),n}const Yn=.35;function dd(t=Yn){return t===!1?t=0:t===!0&&(t=Yn),{x:Oi(t,"left","right"),y:Oi(t,"top","bottom")}}function Oi(t,e,n){return{min:Fi(t,e),max:Fi(t,n)}}function Fi(t,e){return typeof t=="number"?t:t[e]||0}const hd=new WeakMap;class fd{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=W(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(ke(d).point)},o=(d,f)=>{const{drag:g,dragPropagation:y,onDragStart:v}=this.getProps();if(g&&!y&&(this.openDragLock&&this.openDragLock(),this.openDragLock=bc(g),!this.openDragLock))return;this.latestPointerEvent=d,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),lt(x=>{let S=this.getAxisMotionValue(x).get()||0;if(xt.test(S)){const{projection:b}=this.visualElement;if(b&&b.layout){const k=b.layout.layoutBox[x];k&&(S=et(k)*(parseFloat(S)/100))}}this.originPoint[x]=S}),v&&O.postRender(()=>v(d,f)),Hn(this.visualElement,"transform");const{animationState:w}=this.visualElement;w&&w.setActive("whileDrag",!0)},a=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f;const{dragPropagation:g,dragDirectionLock:y,onDirectionLock:v,onDrag:w}=this.getProps();if(!g&&!this.openDragLock)return;const{offset:x}=f;if(y&&this.currentDirection===null){this.currentDirection=md(x),this.currentDirection!==null&&v&&v(this.currentDirection);return}this.updateAxis("x",f.point,x),this.updateAxis("y",f.point,x),this.visualElement.render(),w&&w(d,f)},l=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f,this.stop(d,f),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>lt(d=>this.getAnimationState(d)==="paused"&&this.getAxisMotionValue(d).animation?.play()),{dragSnapToOrigin:c}=this.getProps();this.panSession=new Or(e,{onSessionStart:r,onStart:o,onMove:a,onSessionEnd:l,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:c,distanceThreshold:s,contextWindow:Lr(this.visualElement)})}stop(e,n){const s=e||this.latestPointerEvent,i=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!i||!s)return;const{velocity:o}=i;this.startAnimation(o);const{onDragEnd:a}=this.getProps();a&&O.postRender(()=>a(s,i))}cancel(){this.isDragging=!1;const{projection:e,animationState:n}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(e,n,s){const{drag:i}=this.getProps();if(!s||!ze(e,i,this.currentDirection))return;const r=this.getAxisMotionValue(e);let o=this.originPoint[e]+s[e];this.constraints&&this.constraints[e]&&(o=rd(o,this.constraints[e],this.elastic[e])),r.set(o)}resolveConstraints(){const{dragConstraints:e,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;e&&Jt(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&s?this.constraints=ad(s.layoutBox,e):this.constraints=!1,this.elastic=dd(n),i!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&lt(r=>{this.constraints!==!1&&this.getAxisMotionValue(r)&&(this.constraints[r]=ud(s.layoutBox[r],this.constraints[r]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:n}=this.getProps();if(!e||!Jt(e))return!1;const s=e.current;wt(s!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");const{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=yu(s,i.root,this.visualElement.getTransformPagePoint());let o=ld(i.layout.layoutBox,r);if(n){const a=n(mu(o));this.hasMutatedConstraints=!!a,a&&(o=vr(a))}return o}startAnimation(e){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:r,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=lt(c=>{if(!ze(c,n,this.currentDirection))return;let d=l&&l[c]||{};o&&(d={min:0,max:0});const f=i?200:1e6,g=i?40:1e7,y={type:"inertia",velocity:s?e[c]:0,bounceStiffness:f,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...r,...d};return this.startAxisValueAnimation(c,y)});return Promise.all(u).then(a)}startAxisValueAnimation(e,n){const s=this.getAxisMotionValue(e);return Hn(this.visualElement,e),s.start(ks(e,s,0,n,this.visualElement,!1))}stopAnimation(){lt(e=>this.getAxisMotionValue(e).stop())}pauseAnimation(){lt(e=>this.getAxisMotionValue(e).animation?.pause())}getAnimationState(e){return this.getAxisMotionValue(e).animation?.state}getAxisMotionValue(e){const n=`_drag${e.toUpperCase()}`,s=this.visualElement.getProps(),i=s[n];return i||this.visualElement.getValue(e,(s.initial?s.initial[e]:void 0)||0)}snapToCursor(e){lt(n=>{const{drag:s}=this.getProps();if(!ze(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:o,max:a}=i.layout.layoutBox[n];r.set(e[n]-$(o,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!Jt(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};lt(o=>{const a=this.getAxisMotionValue(o);if(a&&this.constraints!==!1){const l=a.get();i[o]=cd({min:l,max:l},this.constraints[o])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),lt(o=>{if(!ze(o,e,null))return;const a=this.getAxisMotionValue(o),{min:l,max:u}=this.constraints[o];a.set($(l,u,i[o]))})}addListeners(){if(!this.visualElement.current)return;hd.set(this.visualElement,this);const e=this.visualElement.current,n=be(e,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),s=()=>{const{dragConstraints:l}=this.getProps();Jt(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,r=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),O.read(s);const o=je(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(lt(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{o(),n(),r(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:o=Yn,dragMomentum:a=!0}=e;return{...e,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:r,dragElastic:o,dragMomentum:a}}}function ze(t,e,n){return(e===!0||e===t)&&(n===null||n===t)}function md(t,e=10){let n=null;return Math.abs(t.y)>e?n="y":Math.abs(t.x)>e&&(n="x"),n}class pd extends Et{constructor(e){super(e),this.removeGroupControls=ut,this.removeListeners=ut,this.controls=new fd(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ut}unmount(){this.removeGroupControls(),this.removeListeners()}}const Bi=t=>(e,n)=>{t&&O.postRender(()=>t(e,n))};class gd extends Et{constructor(){super(...arguments),this.removePointerDownListener=ut}onPointerDown(e){this.session=new Or(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Lr(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:Bi(e),onStart:Bi(n),onMove:s,onEnd:(r,o)=>{delete this.session,i&&O.postRender(()=>i(r,o))}}}mount(){this.removePointerDownListener=be(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Xe={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function $i(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const ye={correct:(t,e)=>{if(!e.target)return t;if(typeof t=="string")if(M.test(t))t=parseFloat(t);else return t;const n=$i(t,e.target.x),s=$i(t,e.target.y);return`${n}% ${s}%`}},yd={correct:(t,{treeScale:e,projectionDelta:n})=>{const s=t,i=Vt.parse(t);if(i.length>5)return s;const r=Vt.createTransformer(t),o=typeof i[0]!="number"?1:0,a=n.x.scale*e.x,l=n.y.scale*e.y;i[0+o]/=a,i[1+o]/=l;const u=$(a,l,.5);return typeof i[2+o]=="number"&&(i[2+o]/=u),typeof i[3+o]=="number"&&(i[3+o]/=u),r(i)}};let Tn=!1;class xd extends m.Component{componentDidMount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:r}=e;Uc(vd),r&&(n.group&&n.group.add(r),s&&s.register&&i&&s.register(r),Tn&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),Xe.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:n,visualElement:s,drag:i,isPresent:r}=this.props,{projection:o}=s;return o&&(o.isPresent=r,Tn=!0,i||e.layoutDependency!==n||n===void 0||e.isPresent!==r?o.willUpdate():this.safeToRemove(),e.isPresent!==r&&(r?o.promote():o.relegate()||O.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),bs.postRender(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=e;Tn=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Br(t){const[e,n]=rr(),s=m.useContext(Jn);return h.jsx(xd,{...t,layoutGroup:s,switchLayoutGroup:m.useContext(yr),isPresent:e,safeToRemove:n})}const vd={borderRadius:{...ye,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ye,borderTopRightRadius:ye,borderBottomLeftRadius:ye,borderBottomRightRadius:ye,boxShadow:yd};function bd(t,e,n){const s=tt(t)?t:ie(t);return s.start(ks("",s,e,n)),s.animation}const wd=(t,e)=>t.depth-e.depth;class Td{constructor(){this.children=[],this.isDirty=!1}add(e){es(this.children,e),this.isDirty=!0}remove(e){ns(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(wd),this.isDirty=!1,this.children.forEach(e)}}function Sd(t,e){const n=nt.now(),s=({timestamp:i})=>{const r=i-n;r>=e&&(Dt(s),t(r-e))};return O.setup(s,!0),()=>Dt(s)}const $r=["TopLeft","TopRight","BottomLeft","BottomRight"],Cd=$r.length,zi=t=>typeof t=="string"?parseFloat(t):t,Ui=t=>typeof t=="number"||M.test(t);function Ad(t,e,n,s,i,r){i?(t.opacity=$(0,n.opacity??1,Pd(s)),t.opacityExit=$(e.opacity??1,0,Md(s))):r&&(t.opacity=$(e.opacity??1,n.opacity??1,s));for(let o=0;o<Cd;o++){const a=`border${$r[o]}Radius`;let l=_i(e,a),u=_i(n,a);if(l===void 0&&u===void 0)continue;l||(l=0),u||(u=0),l===0||u===0||Ui(l)===Ui(u)?(t[a]=Math.max($(zi(l),zi(u),s),0),(xt.test(u)||xt.test(l))&&(t[a]+="%")):t[a]=u}(e.rotate||n.rotate)&&(t.rotate=$(e.rotate||0,n.rotate||0,s))}function _i(t,e){return t[e]!==void 0?t[e]:t.borderRadius}const Pd=zr(0,.5,Po),Md=zr(.5,.95,ut);function zr(t,e,n){return s=>s<t?0:s>e?1:n(Se(t,e,s))}function Wi(t,e){t.min=e.min,t.max=e.max}function at(t,e){Wi(t.x,e.x),Wi(t.y,e.y)}function Ki(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}function Hi(t,e,n,s,i){return t-=e,t=tn(t,1/n,s),i!==void 0&&(t=tn(t,1/i,s)),t}function jd(t,e=0,n=1,s=.5,i,r=t,o=t){if(xt.test(e)&&(e=parseFloat(e),e=$(o.min,o.max,e/100)-o.min),typeof e!="number")return;let a=$(r.min,r.max,s);t===r&&(a-=e),t.min=Hi(t.min,e,n,a,i),t.max=Hi(t.max,e,n,a,i)}function Xi(t,e,[n,s,i],r,o){jd(t,e[n],e[s],e[i],e.scale,r,o)}const Dd=["x","scaleX","originX"],Vd=["y","scaleY","originY"];function Yi(t,e,n,s){Xi(t.x,e,Dd,n?n.x:void 0,s?s.x:void 0),Xi(t.y,e,Vd,n?n.y:void 0,s?s.y:void 0)}function Gi(t){return t.translate===0&&t.scale===1}function Ur(t){return Gi(t.x)&&Gi(t.y)}function qi(t,e){return t.min===e.min&&t.max===e.max}function Ed(t,e){return qi(t.x,e.x)&&qi(t.y,e.y)}function Zi(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function _r(t,e){return Zi(t.x,e.x)&&Zi(t.y,e.y)}function Ji(t){return et(t.x)/et(t.y)}function Qi(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}class kd{constructor(){this.members=[]}add(e){es(this.members,e),e.scheduleRender()}remove(e){if(ns(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(e){const n=this.members.findIndex(i=>e===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const r=this.members[i];if(r.isPresent!==!1){s=r;break}}return s?(this.promote(s),!0):!1}promote(e,n){const s=this.lead;if(e!==s&&(this.prevLead=s,this.lead=e,e.show(),s)){s.instance&&s.scheduleRender(),e.scheduleRender(),e.resumeFrom=s,n&&(e.resumeFrom.preserveOpacity=!0),s.snapshot&&(e.snapshot=s.snapshot,e.snapshot.latestValues=s.animationValues||s.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:i}=e.options;i===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const{options:n,resumingFrom:s}=e;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Rd(t,e,n){let s="";const i=t.x.translate/e.x,r=t.y.translate/e.y,o=n?.z||0;if((i||r||o)&&(s=`translate3d(${i}px, ${r}px, ${o}px) `),(e.x!==1||e.y!==1)&&(s+=`scale(${1/e.x}, ${1/e.y}) `),n){const{transformPerspective:u,rotate:c,rotateX:d,rotateY:f,skewX:g,skewY:y}=n;u&&(s=`perspective(${u}px) ${s}`),c&&(s+=`rotate(${c}deg) `),d&&(s+=`rotateX(${d}deg) `),f&&(s+=`rotateY(${f}deg) `),g&&(s+=`skewX(${g}deg) `),y&&(s+=`skewY(${y}deg) `)}const a=t.x.scale*e.x,l=t.y.scale*e.y;return(a!==1||l!==1)&&(s+=`scale(${a}, ${l})`),s||"none"}const Sn=["","X","Y","Z"],Nd=1e3;let Id=0;function Cn(t,e,n,s){const{latestValues:i}=e;i[t]&&(n[t]=i[t],e.setStaticValue(t,0),s&&(s[t]=0))}function Wr(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:e}=t.options;if(!e)return;const n=jr(e);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:r}=t.options;window.MotionCancelOptimisedAnimation(n,"transform",O,!(i||r))}const{parent:s}=t;s&&!s.hasCheckedOptimisedAppear&&Wr(s)}function Kr({attachResizeListener:t,defaultParent:e,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(o={},a=e?.()){this.id=Id++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(Fd),this.nodes.forEach(Ud),this.nodes.forEach(_d),this.nodes.forEach(Bd)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new Td)}addEventListener(o,a){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new is),this.eventHandlers.get(o).add(a)}notifyListeners(o,...a){const l=this.eventHandlers.get(o);l&&l.notify(...a)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=or(o)&&!Pc(o),this.instance=o;const{layoutId:a,layout:l,visualElement:u}=this.options;if(u&&!u.current&&u.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),t){let c,d=0;const f=()=>this.root.updateBlockedByResize=!1;O.read(()=>{d=window.innerWidth}),t(o,()=>{const g=window.innerWidth;g!==d&&(d=g,this.root.updateBlockedByResize=!0,c&&c(),c=Sd(f,250),Xe.hasAnimatedSinceResize&&(Xe.hasAnimatedSinceResize=!1,this.nodes.forEach(no)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&u&&(a||l)&&this.addEventListener("didUpdate",({delta:c,hasLayoutChanged:d,hasRelativeLayoutChanged:f,layout:g})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const y=this.options.transition||u.getDefaultTransition()||Yd,{onLayoutAnimationStart:v,onLayoutAnimationComplete:w}=u.getProps(),x=!this.targetLayout||!_r(this.targetLayout,g),S=!d&&f;if(this.options.layoutRoot||this.resumeFrom||S||d&&(x||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const b={...xs(y,"layout"),onPlay:v,onComplete:w};(u.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(c,S)}else d||no(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=g})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Dt(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Wd),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Wr(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;c<this.path.length;c++){const d=this.path[c];d.shouldResetTransform=!0,d.updateScroll("snapshot"),d.options.layoutRoot&&d.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const u=this.getTransformTemplate();this.prevTransformTemplateValue=u?u(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(to);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(eo);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(zd),this.nodes.forEach(Ld),this.nodes.forEach(Od)):this.nodes.forEach(eo),this.clearAllSnapshots();const a=nt.now();Z.delta=bt(0,1e3/60,a-Z.timestamp),Z.timestamp=a,Z.isProcessing=!0,hn.update.process(Z),hn.preRender.process(Z),hn.render.process(Z),Z.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,bs.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach($d),this.sharedNodes.forEach(Kd)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,O.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){O.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!et(this.snapshot.measuredBox.x)&&!et(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=W(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(a=!1),a&&this.instance){const l=s(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!Ur(this.projectionDelta),l=this.getTransformTemplate(),u=l?l(this.latestValues,""):void 0,c=u!==this.prevTransformTemplateValue;o&&this.instance&&(a||Ut(this.latestValues)||c)&&(i(this.instance,u),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return o&&(l=this.removeTransform(l)),Gd(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:o}=this.options;if(!o)return W();const a=o.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(qd))){const{scroll:u}=this.root;u&&(Qt(a.x,u.offset.x),Qt(a.y,u.offset.y))}return a}removeElementScroll(o){const a=W();if(at(a,o),this.scroll?.wasRoot)return a;for(let l=0;l<this.path.length;l++){const u=this.path[l],{scroll:c,options:d}=u;u!==this.root&&c&&d.layoutScroll&&(c.wasRoot&&at(a,o),Qt(a.x,c.offset.x),Qt(a.y,c.offset.y))}return a}applyTransform(o,a=!1){const l=W();at(l,o);for(let u=0;u<this.path.length;u++){const c=this.path[u];!a&&c.options.layoutScroll&&c.scroll&&c!==c.root&&te(l,{x:-c.scroll.offset.x,y:-c.scroll.offset.y}),Ut(c.latestValues)&&te(l,c.latestValues)}return Ut(this.latestValues)&&te(l,this.latestValues),l}removeTransform(o){const a=W();at(a,o);for(let l=0;l<this.path.length;l++){const u=this.path[l];if(!u.instance||!Ut(u.latestValues))continue;Un(u.latestValues)&&u.updateSnapshot();const c=W(),d=u.measurePageBox();at(c,d),Yi(a,u.latestValues,u.snapshot?u.snapshot.layoutBox:void 0,c)}return Ut(this.latestValues)&&Yi(a,this.latestValues),a}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Z.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(o||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:c,layoutId:d}=this.options;if(!(!this.layout||!(c||d))){if(this.resolvedRelativeTargetAt=Z.timestamp,!this.targetDelta&&!this.relativeTarget){const f=this.getClosestProjectingParent();f&&f.layout&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=W(),this.relativeTargetOrigin=W(),Te(this.relativeTargetOrigin,this.layout.layoutBox,f.layout.layoutBox),at(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=W(),this.targetWithTransforms=W()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),nd(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):at(this.target,this.layout.layoutBox),wr(this.target,this.targetDelta)):at(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const f=this.getClosestProjectingParent();f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=W(),this.relativeTargetOrigin=W(),Te(this.relativeTargetOrigin,this.target,f.target),at(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||Un(this.parent.latestValues)||br(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){const o=this.getLead(),a=!!this.resumingFrom||this!==o;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===Z.timestamp&&(l=!1),l)return;const{layout:u,layoutId:c}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(u||c))return;at(this.layoutCorrected,this.layout.layoutBox);const d=this.treeScale.x,f=this.treeScale.y;gu(this.layoutCorrected,this.treeScale,this.path,a),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=W());const{target:g}=o;if(!g){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Ki(this.prevProjectionDelta.x,this.projectionDelta.x),Ki(this.prevProjectionDelta.y,this.projectionDelta.y)),we(this.projectionDelta,this.layoutCorrected,g,this.latestValues),(this.treeScale.x!==d||this.treeScale.y!==f||!Qi(this.projectionDelta.x,this.prevProjectionDelta.x)||!Qi(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",g))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){if(this.options.visualElement?.scheduleRender(),o){const a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=ee(),this.projectionDelta=ee(),this.projectionDeltaWithTransform=ee()}setAnimationOrigin(o,a=!1){const l=this.snapshot,u=l?l.latestValues:{},c={...this.latestValues},d=ee();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const f=W(),g=l?l.source:void 0,y=this.layout?this.layout.source:void 0,v=g!==y,w=this.getStack(),x=!w||w.members.length<=1,S=!!(v&&!x&&this.options.crossfade===!0&&!this.path.some(Xd));this.animationProgress=0;let b;this.mixTargetDelta=k=>{const A=k/1e3;so(d.x,o.x,A),so(d.y,o.y,A),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Te(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Hd(this.relativeTarget,this.relativeTargetOrigin,f,A),b&&Ed(this.relativeTarget,b)&&(this.isProjectionDirty=!1),b||(b=W()),at(b,this.relativeTarget)),v&&(this.animationValues=c,Ad(c,u,this.latestValues,A,S,x)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=A},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Dt(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=O.update(()=>{Xe.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=ie(0)),this.currentAnimation=bd(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),o.onUpdate&&o.onUpdate(a)},onStop:()=>{},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Nd),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=o;if(!(!a||!l||!u)){if(this!==o&&this.layout&&u&&Hr(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||W();const d=et(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const f=et(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+f}at(a,l),te(a,c),we(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new kd),this.sharedNodes.get(o).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){const{layoutId:o}=this.options;return o?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:o}=this.options;return o?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const u={};l.z&&Cn("z",o,u,this.animationValues);for(let c=0;c<Sn.length;c++)Cn(`rotate${Sn[c]}`,o,u,this.animationValues),Cn(`skew${Sn[c]}`,o,u,this.animationValues);o.render();for(const c in u)o.setStaticValue(c,u[c]),this.animationValues&&(this.animationValues[c]=u[c]);o.scheduleRender()}applyProjectionStyles(o,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=Ke(a?.pointerEvents)||"",o.transform=l?l(this.latestValues,""):"none";return}const u=this.getLead();if(!this.projectionDelta||!this.layout||!u.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=Ke(a?.pointerEvents)||""),this.hasProjected&&!Ut(this.latestValues)&&(o.transform=l?l({},""):"none",this.hasProjected=!1);return}o.visibility="";const c=u.animationValues||u.latestValues;this.applyTransformsToTarget();let d=Rd(this.projectionDeltaWithTransform,this.treeScale,c);l&&(d=l(c,d)),o.transform=d;const{x:f,y:g}=this.projectionDelta;o.transformOrigin=`${f.origin*100}% ${g.origin*100}% 0`,u.animationValues?o.opacity=u===this?c.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:c.opacityExit:o.opacity=u===this?c.opacity!==void 0?c.opacity:"":c.opacityExit!==void 0?c.opacityExit:0;for(const y in Me){if(c[y]===void 0)continue;const{correct:v,applyTo:w,isCSSVariable:x}=Me[y],S=d==="none"?c[y]:v(c[y],u);if(w){const b=w.length;for(let k=0;k<b;k++)o[w[k]]=S}else x?this.options.visualElement.renderState.vars[y]=S:o[y]=S}this.options.layoutId&&(o.pointerEvents=u===this?Ke(a?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>o.currentAnimation?.stop()),this.root.nodes.forEach(to),this.root.sharedNodes.clear()}}}function Ld(t){t.updateLayout()}function Od(t){const e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=t.layout,{animationType:i}=t.options,r=e.source!==t.layout.source;i==="size"?lt(c=>{const d=r?e.measuredBox[c]:e.layoutBox[c],f=et(d);d.min=n[c].min,d.max=d.min+f}):Hr(i,e.layoutBox,n)&&lt(c=>{const d=r?e.measuredBox[c]:e.layoutBox[c],f=et(n[c]);d.max=d.min+f,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[c].max=t.relativeTarget[c].min+f)});const o=ee();we(o,n,e.layoutBox);const a=ee();r?we(a,t.applyTransform(s,!0),e.measuredBox):we(a,n,e.layoutBox);const l=!Ur(o);let u=!1;if(!t.resumeFrom){const c=t.getClosestProjectingParent();if(c&&!c.resumeFrom){const{snapshot:d,layout:f}=c;if(d&&f){const g=W();Te(g,e.layoutBox,d.layoutBox);const y=W();Te(y,n,f.layoutBox),_r(g,y)||(u=!0),c.options.layoutRoot&&(t.relativeTarget=y,t.relativeTargetOrigin=g,t.relativeParent=c)}}}t.notifyListeners("didUpdate",{layout:n,snapshot:e,delta:a,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(t.isLead()){const{onExitComplete:n}=t.options;n&&n()}t.options.transition=void 0}function Fd(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function Bd(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function $d(t){t.clearSnapshot()}function to(t){t.clearMeasurements()}function eo(t){t.isLayoutDirty=!1}function zd(t){const{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function no(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function Ud(t){t.resolveTargetDelta()}function _d(t){t.calcProjection()}function Wd(t){t.resetSkewAndRotation()}function Kd(t){t.removeLeadSnapshot()}function so(t,e,n){t.translate=$(e.translate,0,n),t.scale=$(e.scale,1,n),t.origin=e.origin,t.originPoint=e.originPoint}function io(t,e,n,s){t.min=$(e.min,n.min,s),t.max=$(e.max,n.max,s)}function Hd(t,e,n,s){io(t.x,e.x,n.x,s),io(t.y,e.y,n.y,s)}function Xd(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const Yd={duration:.45,ease:[.4,0,.1,1]},oo=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),ro=oo("applewebkit/")&&!oo("chrome/")?Math.round:ut;function ao(t){t.min=ro(t.min),t.max=ro(t.max)}function Gd(t){ao(t.x),ao(t.y)}function Hr(t,e,n){return t==="position"||t==="preserve-aspect"&&!ed(Ji(e),Ji(n),.2)}function qd(t){return t!==t.root&&t.scroll?.wasRoot}const Zd=Kr({attachResizeListener:(t,e)=>je(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),An={current:void 0},Xr=Kr({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!An.current){const t=new Zd({});t.mount(window),t.setOptions({layoutScroll:!0}),An.current=t}return An.current},resetTransform:(t,e)=>{t.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),Jd={pan:{Feature:gd},drag:{Feature:pd,ProjectionNode:Xr,MeasureLayout:Br}};function lo(t,e,n){const{props:s}=t;t.animationState&&s.whileHover&&t.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=s[i];r&&O.postRender(()=>r(e,ke(e)))}class Qd extends Et{mount(){const{current:e}=this.node;e&&(this.unmount=wc(e,(n,s)=>(lo(this.node,s,"Start"),i=>lo(this.node,i,"End"))))}unmount(){}}class th extends Et{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=De(je(this.node.current,"focus",()=>this.onFocus()),je(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function co(t,e,n){const{props:s}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&s.whileTap&&t.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=s[i];r&&O.postRender(()=>r(e,ke(e)))}class eh extends Et{mount(){const{current:e}=this.node;e&&(this.unmount=Ac(e,(n,s)=>(co(this.node,s,"Start"),(i,{success:r})=>co(this.node,i,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const Gn=new WeakMap,Pn=new WeakMap,nh=t=>{const e=Gn.get(t.target);e&&e(t)},sh=t=>{t.forEach(nh)};function ih({root:t,...e}){const n=t||document;Pn.has(n)||Pn.set(n,{});const s=Pn.get(n),i=JSON.stringify(e);return s[i]||(s[i]=new IntersectionObserver(sh,{root:t,...e})),s[i]}function oh(t,e,n){const s=ih(e);return Gn.set(t,n),s.observe(t),()=>{Gn.delete(t),s.unobserve(t)}}const rh={some:0,all:1};class ah extends Et{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:r}=e,o={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:rh[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,r&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return oh(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:n}=this.node;["amount","margin","root"].some(lh(e,n))&&this.startObserver()}unmount(){}}function lh({viewport:t={}},{viewport:e={}}={}){return n=>t[n]!==e[n]}const Yr={inView:{Feature:ah},tap:{Feature:eh},focus:{Feature:th},hover:{Feature:Qd}},ch={layout:{ProjectionNode:Xr,MeasureLayout:Br}},uh={...Rr,...Yr,...Jd,...ch},dh=fu(uh,Mr),hh={renderer:Mr,...Rr,...Yr};function Gr(t,e){return He(t,e)}const Ue=Gr("div"),fh=Gr("p");function qr(t,e){if(!e)throw new Error(`❌ toolMetadata is required!
10
10
 
11
11
  Please:
12
12
  1. Run "arcten-extract-types ." before build (add to package.json scripts)
@@ -14,34 +14,10 @@ Please:
14
14
  import { toolMetadata } from './.arcten/tool-metadata';
15
15
  3. Pass it to useAgent/ArctenAgent:
16
16
  useAgent({ tools: [...], toolMetadata: toolMetadata.functions })
17
- `);return t.map(n=>{const s=n.name||"unnamed";if(!e[s]){const i=n.length>0,r=i?`function ${s}(param1: string, param2?: number) { ... }`:`function ${s}() { ... }`,o=i?`function ${s}(param1, param2) { ... }`:`function ${s}() { ... }`;throw new Error(`❌ No metadata found for tool "${s}".
18
-
19
- This usually means the tool wasn't discovered by the type extraction script.
20
-
21
- To fix this:
22
- `+(i?`1. Add TypeScript type annotations to your function parameters:
23
- ${r}
24
- // NOT: ${o} ❌
25
-
26
- `:`1. Functions with no parameters are fine! Just make sure:
27
- - The function is properly defined: ${r}
28
- - It's used in ArctenAgent or useAgent (see step 2)
29
-
30
- `)+`2. Make sure the tool is used in an ArctenAgent or useAgent component:
31
- <ArctenAgent tools={[${s}]} />
32
- // or
33
- useAgent({ tools: [${s}] })
34
-
35
- 3. Run the extraction script to generate metadata:
36
- npx arcten-extract-types .
37
-
38
- 4. Import and pass the metadata to your component:
39
- import { toolMetadata } from './.arcten/tool-metadata';
40
- useAgent({ tools: [${s}], toolMetadata: toolMetadata.functions })
41
-
42
- 💡 Tip: ${i?"The script can only extract types from functions with explicit TypeScript type annotations on parameters.":"Functions with no parameters work fine - just make sure they're used in ArctenAgent or useAgent."}`)}return{name:s,description:e[s].description,jsonSchema:e[s].parameters}})}function mh({toolName:t,description:e,args:n,onApprove:s,onDeny:i}){const r=Object.keys(n).length>0;return h.jsx("div",{className:"bg-stone-100 dark:bg-stone-800 border border-border rounded-lg px-3 py-2.5 my-1.5",children:h.jsxs("div",{className:"flex items-start gap-2",children:[h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"flex items-center gap-1.5 mb-1",children:h.jsx("span",{className:"text-sm font-medium text-foreground",children:t})}),r&&h.jsx("div",{className:"space-y-0.5 mb-1.5",children:Object.entries(n).map(([o,a])=>h.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[h.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[o,":"]}),h.jsx("span",{className:"font-mono text-foreground",children:typeof a=="string"?a:JSON.stringify(a)})]},o))})]}),h.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[h.jsxs(Ge,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs",onClick:s,children:[h.jsx(G.Check,{className:"h-3 w-3 mr-1"}),"Approve"]}),h.jsx(Ge,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs text-muted-foreground",onClick:i,children:h.jsx(G.X,{className:"h-3 w-3"})})]})]})})}function ph({toolName:t,args:e,isDenied:n,isSafe:s}){const[i,r]=m.useState(!1);if(t==="fetchDocContent")return null;const o=["k","maxResults","_organizationId"];t==="searchDocs"&&o.push("filters");const a=Object.fromEntries(Object.entries(e).filter(([u])=>!o.includes(u))),l=Object.keys(a).length>0;return h.jsxs("div",{className:"my-1",children:[h.jsxs("button",{onClick:()=>l&&r(!i),className:`inline-flex items-center gap-1.5 text-xs rounded-md px-2 py-1 transition-colors ${n?"bg-red-100 dark:bg-red-950/30 text-red-700 dark:text-red-400":"bg-green-100 dark:bg-green-950/30 text-green-700 dark:text-green-400"} ${l?"cursor-pointer hover:bg-opacity-80":""}`,children:[l&&h.jsx("span",{className:"transition-transform duration-200",children:i?h.jsx(G.ChevronDown,{className:"h-3 w-3"}):h.jsx(G.ChevronRight,{className:"h-3 w-3"})}),n?h.jsx(G.X,{className:"h-3 w-3"}):s?h.jsx(G.Zap,{className:"h-3 w-3"}):h.jsx(G.Check,{className:"h-3 w-3"}),h.jsxs("span",{className:"font-medium",children:[n?"Denied":s?"Auto-executed":"Executed"," ",t]})]}),i&&l&&h.jsx("div",{className:"mt-1 ml-6 p-2 bg-stone-50 dark:bg-stone-900 rounded-md border border-border",children:h.jsx("div",{className:"space-y-0.5",children:Object.entries(a).map(([u,c])=>h.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[h.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[u,":"]}),h.jsx("span",{className:"font-mono text-foreground",children:typeof c=="string"?c:JSON.stringify(c)})]},u))})})]})}function gh({...t}){return h.jsx(Zn.Root,{"data-slot":"collapsible",...t})}function yh({...t}){return h.jsx(Zn.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...t})}function xh({...t}){return h.jsx(Zn.CollapsibleContent,{"data-slot":"collapsible-content",...t})}const vh=m.lazy(()=>import("streamdown").then(t=>({default:t.Streamdown}))),Rs=m.memo(({className:t,...e})=>typeof window>"u"?null:h.jsx(m.Suspense,{fallback:null,children:h.jsx(vh,{className:J("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",t),...e})}),(t,e)=>t.children===e.children);Rs.displayName="Response";const bh=Object.freeze(Object.defineProperty({__proto__:null,Response:Rs},Symbol.toStringTag,{value:"Module"})),wh=({children:t,as:e="p",className:n,duration:s=2,spread:i=2})=>{const r=dh.create(e),o=m.useMemo(()=>(t?.length??0)*i,[t,i]);return h.jsx(r,{animate:{backgroundPosition:"0% center"},className:J("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",n),initial:{backgroundPosition:"100% center"},style:{"--spread":`${o}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:Number.POSITIVE_INFINITY,duration:s,ease:"linear"},children:t})},Th=m.memo(wh),Zr=m.createContext(null),Sh=()=>{const t=m.useContext(Zr);if(!t)throw new Error("Reasoning components must be used within Reasoning");return t},Ch=1e3,Ah=1e3,Jr=m.memo(({className:t,isStreaming:e=!1,open:n,defaultOpen:s=!0,onOpenChange:i,duration:r,children:o,...a})=>{const[l,u]=Xs.useControllableState({prop:n,defaultProp:s,onChange:i}),[c,d]=Xs.useControllableState({prop:r,defaultProp:0}),[f,g]=m.useState(!1),[y,v]=m.useState(null);m.useEffect(()=>{e?y===null&&v(Date.now()):y!==null&&(d(Math.ceil((Date.now()-y)/Ah)),v(null))},[e,y,d]),m.useEffect(()=>{if(s&&!e&&l&&!f){const x=setTimeout(()=>{u(!1),g(!0)},Ch);return()=>clearTimeout(x)}},[e,l,s,u,f]);const w=x=>{u(x)};return h.jsx(Zr.Provider,{value:{isStreaming:e,isOpen:l,setIsOpen:u,duration:c},children:h.jsx(gh,{className:J("not-prose mb-4",t),onOpenChange:w,open:l,...a,children:o})})}),Ph=(t,e)=>t||e===0?h.jsx(Th,{duration:1,children:"Thinking..."}):e===void 0?h.jsx("p",{children:"Thought for a few seconds"}):h.jsxs("p",{children:["Thought for ",e," seconds"]}),Qr=m.memo(({className:t,children:e,...n})=>{const{isStreaming:s,isOpen:i,duration:r}=Sh();return h.jsx(yh,{className:J("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",t),...n,children:e??h.jsxs(h.Fragment,{children:[h.jsx(G.BrainIcon,{className:"size-4"}),Ph(s,r),h.jsx(G.ChevronDownIcon,{className:J("size-4 transition-transform",i?"rotate-180":"rotate-0")})]})})}),ta=m.memo(({className:t,children:e,...n})=>h.jsx(xh,{className:J("mt-4 text-sm","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t),...n,children:h.jsx(Rs,{className:"grid gap-2",children:e})}));Jr.displayName="Reasoning";Qr.displayName="ReasoningTrigger";ta.displayName="ReasoningContent";function Mh({theme:t="auto",layout:e="sidebar",model:n="auto",animated:s=!0,title:i="Chat",logo:r=void 0,defaultWidth:o=384,minWidth:a=300,maxWidth:l=800,initiallyExpanded:u=!1,tools:c=[],safeTools:d=[],toolMetadata:f,systemPrompt:g="",tokenEndpoint:y="/api/arcten/token",apiBaseUrl:v="https://api.arcten.com",user:w}){const[x,S]=m.useState(null),b=m.useRef(null),[k,A]=m.useState(null),[D,R]=m.useState(null),P=m.useRef(null),[N,_]=m.useState(u),[z,vt]=m.useState(o),[St,st]=m.useState(600),[Ct,At]=m.useState(!1),[E,Y]=m.useState(!1),[K,it]=m.useState(!1),[U,ue]=m.useState({x:100,y:100}),[Xt,kt]=m.useState(!1),[de,Rt]=m.useState({x:0,y:0}),[he,rn]=m.useState(!1),fe=m.useRef(null),Yt=m.useRef(null),[Nt,me]=m.useState(""),[V,j]=m.useState(null),[H,ot]=m.useState("Thinking..."),[q,rt]=m.useState(new Set),[ea,na]=m.useState(""),[It,sa]=m.useState([]),[an,Ns]=m.useState(!1),[ln,Is]=m.useState([]),[Ls,cn]=m.useState(()=>typeof window<"u"?crypto.randomUUID():null),[Gt,Re]=m.useState(!1),[Vh,Ne]=m.useState(!1),[Dh,Ie]=m.useState([]),mt=m.useMemo(()=>[...c,...d],[c,d]),Os=m.useMemo(()=>qr(mt,f),[mt,f]),Fs=m.useMemo(()=>new Set(mt.map(p=>p.name)),[mt]),un=m.useMemo(()=>Os.filter(p=>Fs.has(p.name)),[Os,Fs]),Bs=m.useMemo(()=>{const p=new Map;return mt.forEach(T=>p.set(T.name,T)),p},[mt]),$s=m.useMemo(()=>new Set(d.map(p=>p.name)),[d]),zs=["Thinking...","Pondering...","Contemplating...","Considering...","Analyzing...","Processing...","Reasoning...","Mulling it over...","Computing...","Cooking up a response...","Brewing ideas...","Connecting the dots...","Piecing it together...","Spinning up thoughts...","Loading brain cells...","Sharpening pencils...","Herding ideas...","Warming up neurons...","Stirring the think-pot...","Plotting a plan...","Wiggling the logic wires...","Rolling ideas around...","Charging the brainstorm...","Booting the brain...","Dusting off the cortex...","Running mental diagnostics...","Fetching cleverness...","Whisking up notions...","Tuning the idea radio...","Juggling possibilities...","Breathing in inspiration...","Squeezing the thought sponge...","Tickling the gray matter...","Bubbling up insights...","Spicing the soup of thought...","Lacing up hypotheses...","Winding the idea clock...","Casting the net for clues...","Polishing the crystal ball...","Mapping the maze...","Crunching the brain-biscuits...","Cueing the eureka moment...","Summoning the muse...","Knocking on insight’s door...","Combing the noodle...","Sailing the think-ship...","Scooping brain gelato...","Testing wild hunches...","Tick-tocking the neurons...","Planting idea seeds...","Shaking the thought snow globe...","Unlocking the mental toolbox...","Nudging the puzzle pieces...","Lighting the idea bulb...","Preheating the oven of insight...","Mixing the mental trail mix...","Spooling up reasoning reels...","Skimming the mind-palace index...","Surfing the thought waves...","Kicking the tires on ideas...","Rattling the idea can...","Waving the logic wand..."];m.useEffect(()=>{if(typeof window<"u"){const p=localStorage.getItem("arcten-sidebar-expanded");p&&_(JSON.parse(p));const T=localStorage.getItem("arcten-sidebar-width");T&&vt(parseInt(T));const I=localStorage.getItem("arcten-sidebar-height");I&&st(parseInt(I));const C=localStorage.getItem("arcten-sidebar-detached");C&&Y(JSON.parse(C));const F=localStorage.getItem("arcten-sidebar-position");if(F){const Pt=JSON.parse(F),gt=50,Mt=Math.max(gt-o,Math.min(Pt.x,window.innerWidth-gt)),Q=Math.max(0,Math.min(Pt.y,window.innerHeight-gt));ue({x:Mt,y:Q})}const L=localStorage.getItem("arcten-sidebar-minimized");L&&it(JSON.parse(L)),rn(!0)}},[]),m.useEffect(()=>((async()=>{try{const T=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:w})});if(!T.ok)throw new Error("Failed to fetch token");const I=await T.json();S(I.clientToken),b.current=I.clientToken,R(I.expiresAt),A(null)}catch(T){A(T instanceof Error?T.message:"Failed to fetch token")}})(),()=>{P.current&&clearTimeout(P.current)}),[y,w]),m.useEffect(()=>{if(!D)return;P.current&&clearTimeout(P.current);const p=Math.floor(Date.now()/1e3),T=D-p,C=Math.max(0,T-5);return console.log(`Token expires at ${new Date(D*1e3).toISOString()}`),console.log(`Scheduling token refresh in ${C} seconds`),P.current=setTimeout(async()=>{console.log("Refreshing token...");try{const F=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:w})});if(!F.ok)throw new Error("Failed to refresh token");const L=await F.json();S(L.clientToken),b.current=L.clientToken,R(L.expiresAt),A(null),console.log("Token refreshed successfully")}catch(F){console.error("Token refresh failed:",F),A(F instanceof Error?F.message:"Failed to refresh token")}},C*1e3),()=>{P.current&&clearTimeout(P.current)}},[D,y,w]),m.useEffect(()=>{(async()=>{if(mt.length!==0)try{const T=mt.map(C=>({name:C.name,code:C.toString()})),I=await fetch(`${v}/tools/describe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tools:T})});if(I.ok){const C=await I.json();sa(C.tools)}}catch(T){console.error("Failed to fetch tool descriptions:",T)}})()},[mt]),m.useEffect(()=>{Promise.resolve().then(()=>bh).then(p=>{j(()=>p.Response)})},[]),m.useEffect(()=>{const p=()=>{na(window.location.pathname)};p(),window.addEventListener("popstate",p);const T=setInterval(p,500);return()=>{window.removeEventListener("popstate",p),clearInterval(T)}},[]);async function Us(){if(!(!w?.id||!x)){Ne(!0);try{const T=await(await fetch(`${v}/conversations`,{headers:{Authorization:`Bearer ${x}`}})).json();Is(T.conversations||[])}catch(p){console.error("Failed to fetch conversations:",p)}finally{Ne(!1)}}}m.useEffect(()=>{w?.id&&x&&Us()},[w,x]);function ia(p){const T=Math.floor((Date.now()-p)/1e3);return T<60?"now":T<3600?`${Math.floor(T/60)}m`:T<86400?`${Math.floor(T/3600)}h`:`${Math.floor(T/86400)}d`}function oa(){const p=crypto.randomUUID();cn(p),Oe([]),Ie([]),Re(!1)}async function ra(p){if(x)try{await fetch(`${v}/conversations/${p}`,{method:"DELETE",headers:{Authorization:`Bearer ${x}`}}),Is(ln.filter(T=>T._id!==p)),p===Ls&&oa()}catch(T){console.error("Failed to delete conversation:",T)}}async function aa(p){cn(p.chatId),Re(!1),Ne(!0);try{const T=await fetch(`${v}/conversations/${p.chatId}/messages`,{headers:{Authorization:`Bearer ${b.current}`}});if(!T.ok)throw new Error(`Failed to fetch messages: ${T.statusText}`);const C=(await T.json()).messages||[];Oe(C),Ie(C)}catch(T){console.error("Failed to load conversation messages:",T);const I=p.messages||[];Oe(I),Ie(I)}finally{Ne(!1)}}const la=async(p,T={})=>{const I=T.headers?new Headers(T.headers):new Headers;return I.delete("user-agent"),I.delete("User-Agent"),fetch(p,{...T,headers:I})},{messages:pe,sendMessage:ca,status:pt,error:_s,stop:Le,addToolResult:ge,setMessages:Oe}=uo.useChat({id:Ls||void 0,transport:new Ye.DefaultChatTransport({api:`${v}/chat`,fetch:la,headers:()=>{const p={};return b.current&&(p.Authorization=`Bearer ${b.current}`),p},body:()=>{const p=un.map(T=>({name:T.name,description:T.description,inputSchema:T.jsonSchema}));return process.env.NODE_ENV==="development"&&console.log("[ArctenAgent] Sending tools to API:",{totalTools:p.length,toolNames:p.map(T=>T.name),allToolNames:mt.map(T=>T.name),filteredToolNames:un.map(T=>T.name)}),{tools:p,systemPrompt:g,currentRoute:ea}}}),sendAutomaticallyWhen:Ye.lastAssistantMessageIsCompleteWithToolCalls});m.useEffect(()=>{N&&Yt.current&&Yt.current.focus()},[N,pe]);function ua(){_(!0),localStorage.setItem("arcten-sidebar-expanded","true")}function da(){_(!1),localStorage.setItem("arcten-sidebar-expanded","false")}m.useEffect(()=>{},[N]),m.useEffect(()=>{fe.current&&fe.current.scrollIntoView({behavior:"smooth"})},[pe]),m.useEffect(()=>{function p(T){T.key==="Escape"&&(pt==="streaming"||pt==="submitted")&&(T.preventDefault(),Le())}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[pt,Le]);function ha(){const p=crypto.randomUUID();cn(p),Oe([]),Ie([]),Re(!1)}function Ws(p){if(p.preventDefault(),!Nt.trim())return;(pt==="streaming"||pt==="submitted")&&Le();const T=zs[Math.floor(Math.random()*zs.length)]||"Thinking...";ot(T),ca({text:Nt}),me("")}function fa(p){const T=p.target.value;me(T)}m.useEffect(()=>{if(!Ct)return;function p(I){if(E){const C=I.clientX-U.x,F=I.clientY-U.y;C>=a&&C<=l&&vt(C),F>=400&&F<=1e3&&st(F)}else{const C=window.innerWidth-I.clientX;C>=a&&C<=l&&vt(C)}}function T(){At(!1),localStorage.setItem("arcten-sidebar-width",z.toString()),localStorage.setItem("arcten-sidebar-height",St.toString())}return window.addEventListener("mousemove",p),window.addEventListener("mouseup",T),()=>{window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",T)}},[Ct,z,St,E,U,a,l]);function ma(p){p.preventDefault(),At(!0)}function pa(){Y(!0),it(!1),localStorage.setItem("arcten-sidebar-detached","true"),localStorage.setItem("arcten-sidebar-minimized","false")}function ga(){Y(!1),it(!1),localStorage.setItem("arcten-sidebar-detached","false"),localStorage.setItem("arcten-sidebar-minimized","false")}function Ks(){it(!K),localStorage.setItem("arcten-sidebar-minimized",JSON.stringify(!K))}function ya(p){E&&(kt(!0),Rt({x:p.clientX-U.x,y:p.clientY-U.y}))}return m.useEffect(()=>{if(!E)return;function p(){ue(T=>{const C=window.innerWidth-50,F=window.innerHeight-50,L=50-z,Pt=0,gt=Math.max(L,Math.min(T.x,C)),Mt=Math.max(Pt,Math.min(T.y,F));if(gt!==T.x||Mt!==T.y){const Q={x:gt,y:Mt};return localStorage.setItem("arcten-sidebar-position",JSON.stringify(Q)),Q}return T})}return window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[E,z]),m.useEffect(()=>{if(!Xt)return;function p(I){const C=I.clientX-de.x,F=I.clientY-de.y,L=50,Pt=window.innerWidth-L,gt=window.innerHeight-L,Mt=L-z,Q=0,yt=Math.max(Mt,Math.min(C,Pt)),Lt=Math.max(Q,Math.min(F,gt));ue({x:yt,y:Lt})}function T(){kt(!1),localStorage.setItem("arcten-sidebar-position",JSON.stringify(U))}return window.addEventListener("mousemove",p),window.addEventListener("mouseup",T),()=>{window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",T)}},[Xt,de,U,z]),he?k?h.jsx("div",{className:"fixed right-0 top-0 h-screen w-96 flex items-center justify-center p-4 bg-stone-50 dark:bg-stone-900 border-l border-border",children:h.jsxs("div",{className:"p-4 bg-destructive/10 text-destructive text-sm rounded-lg",children:["Authentication error: ",k]})}):x?h.jsx(Lc,{features:hh,children:h.jsx(Ue,{id:"arcten-sidebar","data-theme":t,"data-layout":e,"data-model":n,initial:E?{opacity:0,scale:.95,filter:"blur(4px)"}:!1,animate:E?{opacity:1,scale:1,filter:"blur(0px)"}:{},transition:{duration:.2,ease:"easeOut"},className:`
17
+ `);return t.map(n=>{if(typeof n!="function")return null;const s=n.name;return!s||s.trim()===""?null:e[s]?{name:s,description:e[s].description,jsonSchema:e[s].parameters}:(typeof process<"u"&&(process.env.NODE_ENV==="development"||process.env.NODE_ENV!=="production")&&typeof console<"u"&&console.warn&&console.warn(`⚠️ [@arcteninc/core] No metadata found for tool "${s}". This tool will be excluded.
18
+ To fix: Run "arcten-extract-types ." and ensure "${s}" is used in ArctenAgent/useAgent.`),null)}).filter(n=>n!==null)}function mh({toolName:t,description:e,args:n,onApprove:s,onDeny:i}){const r=Object.keys(n).length>0;return h.jsx("div",{className:"bg-stone-100 dark:bg-stone-800 border border-border rounded-lg px-3 py-2.5 my-1.5",children:h.jsxs("div",{className:"flex items-start gap-2",children:[h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"flex items-center gap-1.5 mb-1",children:h.jsx("span",{className:"text-sm font-medium text-foreground",children:t})}),r&&h.jsx("div",{className:"space-y-0.5 mb-1.5",children:Object.entries(n).map(([o,a])=>h.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[h.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[o,":"]}),h.jsx("span",{className:"font-mono text-foreground",children:typeof a=="string"?a:JSON.stringify(a)})]},o))})]}),h.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[h.jsxs(Ge,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs",onClick:s,children:[h.jsx(G.Check,{className:"h-3 w-3 mr-1"}),"Approve"]}),h.jsx(Ge,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs text-muted-foreground",onClick:i,children:h.jsx(G.X,{className:"h-3 w-3"})})]})]})})}function ph({toolName:t,args:e,isDenied:n,isSafe:s}){const[i,r]=m.useState(!1);if(t==="fetchDocContent")return null;const o=["k","maxResults","_organizationId"];t==="searchDocs"&&o.push("filters");const a=Object.fromEntries(Object.entries(e).filter(([u])=>!o.includes(u))),l=Object.keys(a).length>0;return h.jsxs("div",{className:"my-1",children:[h.jsxs("button",{onClick:()=>l&&r(!i),className:`inline-flex items-center gap-1.5 text-xs rounded-md px-2 py-1 transition-colors ${n?"bg-red-100 dark:bg-red-950/30 text-red-700 dark:text-red-400":"bg-green-100 dark:bg-green-950/30 text-green-700 dark:text-green-400"} ${l?"cursor-pointer hover:bg-opacity-80":""}`,children:[l&&h.jsx("span",{className:"transition-transform duration-200",children:i?h.jsx(G.ChevronDown,{className:"h-3 w-3"}):h.jsx(G.ChevronRight,{className:"h-3 w-3"})}),n?h.jsx(G.X,{className:"h-3 w-3"}):s?h.jsx(G.Zap,{className:"h-3 w-3"}):h.jsx(G.Check,{className:"h-3 w-3"}),h.jsxs("span",{className:"font-medium",children:[n?"Denied":s?"Auto-executed":"Executed"," ",t]})]}),i&&l&&h.jsx("div",{className:"mt-1 ml-6 p-2 bg-stone-50 dark:bg-stone-900 rounded-md border border-border",children:h.jsx("div",{className:"space-y-0.5",children:Object.entries(a).map(([u,c])=>h.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[h.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[u,":"]}),h.jsx("span",{className:"font-mono text-foreground",children:typeof c=="string"?c:JSON.stringify(c)})]},u))})})]})}function gh({...t}){return h.jsx(Zn.Root,{"data-slot":"collapsible",...t})}function yh({...t}){return h.jsx(Zn.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...t})}function xh({...t}){return h.jsx(Zn.CollapsibleContent,{"data-slot":"collapsible-content",...t})}const vh=m.lazy(()=>import("streamdown").then(t=>({default:t.Streamdown}))),Rs=m.memo(({className:t,...e})=>typeof window>"u"?null:h.jsx(m.Suspense,{fallback:null,children:h.jsx(vh,{className:J("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",t),...e})}),(t,e)=>t.children===e.children);Rs.displayName="Response";const bh=Object.freeze(Object.defineProperty({__proto__:null,Response:Rs},Symbol.toStringTag,{value:"Module"})),wh=({children:t,as:e="p",className:n,duration:s=2,spread:i=2})=>{const r=dh.create(e),o=m.useMemo(()=>(t?.length??0)*i,[t,i]);return h.jsx(r,{animate:{backgroundPosition:"0% center"},className:J("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",n),initial:{backgroundPosition:"100% center"},style:{"--spread":`${o}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:Number.POSITIVE_INFINITY,duration:s,ease:"linear"},children:t})},Th=m.memo(wh),Zr=m.createContext(null),Sh=()=>{const t=m.useContext(Zr);if(!t)throw new Error("Reasoning components must be used within Reasoning");return t},Ch=1e3,Ah=1e3,Jr=m.memo(({className:t,isStreaming:e=!1,open:n,defaultOpen:s=!0,onOpenChange:i,duration:r,children:o,...a})=>{const[l,u]=Xs.useControllableState({prop:n,defaultProp:s,onChange:i}),[c,d]=Xs.useControllableState({prop:r,defaultProp:0}),[f,g]=m.useState(!1),[y,v]=m.useState(null);m.useEffect(()=>{e?y===null&&v(Date.now()):y!==null&&(d(Math.ceil((Date.now()-y)/Ah)),v(null))},[e,y,d]),m.useEffect(()=>{if(s&&!e&&l&&!f){const x=setTimeout(()=>{u(!1),g(!0)},Ch);return()=>clearTimeout(x)}},[e,l,s,u,f]);const w=x=>{u(x)};return h.jsx(Zr.Provider,{value:{isStreaming:e,isOpen:l,setIsOpen:u,duration:c},children:h.jsx(gh,{className:J("not-prose mb-4",t),onOpenChange:w,open:l,...a,children:o})})}),Ph=(t,e)=>t||e===0?h.jsx(Th,{duration:1,children:"Thinking..."}):e===void 0?h.jsx("p",{children:"Thought for a few seconds"}):h.jsxs("p",{children:["Thought for ",e," seconds"]}),Qr=m.memo(({className:t,children:e,...n})=>{const{isStreaming:s,isOpen:i,duration:r}=Sh();return h.jsx(yh,{className:J("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",t),...n,children:e??h.jsxs(h.Fragment,{children:[h.jsx(G.BrainIcon,{className:"size-4"}),Ph(s,r),h.jsx(G.ChevronDownIcon,{className:J("size-4 transition-transform",i?"rotate-180":"rotate-0")})]})})}),ta=m.memo(({className:t,children:e,...n})=>h.jsx(xh,{className:J("mt-4 text-sm","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t),...n,children:h.jsx(Rs,{className:"grid gap-2",children:e})}));Jr.displayName="Reasoning";Qr.displayName="ReasoningTrigger";ta.displayName="ReasoningContent";function Mh({theme:t="auto",layout:e="sidebar",model:n="auto",animated:s=!0,title:i="Chat",logo:r=void 0,defaultWidth:o=384,minWidth:a=300,maxWidth:l=800,initiallyExpanded:u=!1,tools:c=[],safeTools:d=[],toolMetadata:f,systemPrompt:g="",tokenEndpoint:y="/api/arcten/token",apiBaseUrl:v="https://api.arcten.com",user:w}){const[x,S]=m.useState(null),b=m.useRef(null),[k,A]=m.useState(null),[V,R]=m.useState(null),P=m.useRef(null),[N,_]=m.useState(u),[z,vt]=m.useState(o),[St,st]=m.useState(600),[Ct,At]=m.useState(!1),[E,Y]=m.useState(!1),[K,it]=m.useState(!1),[U,ue]=m.useState({x:100,y:100}),[Xt,kt]=m.useState(!1),[de,Rt]=m.useState({x:0,y:0}),[he,rn]=m.useState(!1),fe=m.useRef(null),Yt=m.useRef(null),[Nt,me]=m.useState(""),[D,j]=m.useState(null),[H,ot]=m.useState("Thinking..."),[q,rt]=m.useState(new Set),[ea,na]=m.useState(""),[It,sa]=m.useState([]),[an,Ns]=m.useState(!1),[ln,Is]=m.useState([]),[Ls,cn]=m.useState(()=>typeof window<"u"?crypto.randomUUID():null),[Gt,Re]=m.useState(!1),[Dh,Ne]=m.useState(!1),[Vh,Ie]=m.useState([]),mt=m.useMemo(()=>[...c,...d],[c,d]),Os=m.useMemo(()=>qr(mt,f),[mt,f]),Fs=m.useMemo(()=>new Set(mt.map(p=>p.name)),[mt]),un=m.useMemo(()=>Os.filter(p=>Fs.has(p.name)),[Os,Fs]),Bs=m.useMemo(()=>{const p=new Map;return mt.forEach(T=>p.set(T.name,T)),p},[mt]),$s=m.useMemo(()=>new Set(d.map(p=>p.name)),[d]),zs=["Thinking...","Pondering...","Contemplating...","Considering...","Analyzing...","Processing...","Reasoning...","Mulling it over...","Computing...","Cooking up a response...","Brewing ideas...","Connecting the dots...","Piecing it together...","Spinning up thoughts...","Loading brain cells...","Sharpening pencils...","Herding ideas...","Warming up neurons...","Stirring the think-pot...","Plotting a plan...","Wiggling the logic wires...","Rolling ideas around...","Charging the brainstorm...","Booting the brain...","Dusting off the cortex...","Running mental diagnostics...","Fetching cleverness...","Whisking up notions...","Tuning the idea radio...","Juggling possibilities...","Breathing in inspiration...","Squeezing the thought sponge...","Tickling the gray matter...","Bubbling up insights...","Spicing the soup of thought...","Lacing up hypotheses...","Winding the idea clock...","Casting the net for clues...","Polishing the crystal ball...","Mapping the maze...","Crunching the brain-biscuits...","Cueing the eureka moment...","Summoning the muse...","Knocking on insight’s door...","Combing the noodle...","Sailing the think-ship...","Scooping brain gelato...","Testing wild hunches...","Tick-tocking the neurons...","Planting idea seeds...","Shaking the thought snow globe...","Unlocking the mental toolbox...","Nudging the puzzle pieces...","Lighting the idea bulb...","Preheating the oven of insight...","Mixing the mental trail mix...","Spooling up reasoning reels...","Skimming the mind-palace index...","Surfing the thought waves...","Kicking the tires on ideas...","Rattling the idea can...","Waving the logic wand..."];m.useEffect(()=>{if(typeof window<"u"){const p=localStorage.getItem("arcten-sidebar-expanded");p&&_(JSON.parse(p));const T=localStorage.getItem("arcten-sidebar-width");T&&vt(parseInt(T));const I=localStorage.getItem("arcten-sidebar-height");I&&st(parseInt(I));const C=localStorage.getItem("arcten-sidebar-detached");C&&Y(JSON.parse(C));const F=localStorage.getItem("arcten-sidebar-position");if(F){const Pt=JSON.parse(F),gt=50,Mt=Math.max(gt-o,Math.min(Pt.x,window.innerWidth-gt)),Q=Math.max(0,Math.min(Pt.y,window.innerHeight-gt));ue({x:Mt,y:Q})}const L=localStorage.getItem("arcten-sidebar-minimized");L&&it(JSON.parse(L)),rn(!0)}},[]),m.useEffect(()=>((async()=>{try{const T=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:w})});if(!T.ok)throw new Error("Failed to fetch token");const I=await T.json();S(I.clientToken),b.current=I.clientToken,R(I.expiresAt),A(null)}catch(T){A(T instanceof Error?T.message:"Failed to fetch token")}})(),()=>{P.current&&clearTimeout(P.current)}),[y,w]),m.useEffect(()=>{if(!V)return;P.current&&clearTimeout(P.current);const p=Math.floor(Date.now()/1e3),T=V-p,C=Math.max(0,T-5);return console.log(`Token expires at ${new Date(V*1e3).toISOString()}`),console.log(`Scheduling token refresh in ${C} seconds`),P.current=setTimeout(async()=>{console.log("Refreshing token...");try{const F=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:w})});if(!F.ok)throw new Error("Failed to refresh token");const L=await F.json();S(L.clientToken),b.current=L.clientToken,R(L.expiresAt),A(null),console.log("Token refreshed successfully")}catch(F){console.error("Token refresh failed:",F),A(F instanceof Error?F.message:"Failed to refresh token")}},C*1e3),()=>{P.current&&clearTimeout(P.current)}},[V,y,w]),m.useEffect(()=>{(async()=>{if(mt.length!==0)try{const T=mt.map(C=>({name:C.name,code:C.toString()})),I=await fetch(`${v}/tools/describe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tools:T})});if(I.ok){const C=await I.json();sa(C.tools)}}catch(T){console.error("Failed to fetch tool descriptions:",T)}})()},[mt]),m.useEffect(()=>{Promise.resolve().then(()=>bh).then(p=>{j(()=>p.Response)})},[]),m.useEffect(()=>{const p=()=>{na(window.location.pathname)};p(),window.addEventListener("popstate",p);const T=setInterval(p,500);return()=>{window.removeEventListener("popstate",p),clearInterval(T)}},[]);async function Us(){if(!(!w?.id||!x)){Ne(!0);try{const T=await(await fetch(`${v}/conversations`,{headers:{Authorization:`Bearer ${x}`}})).json();Is(T.conversations||[])}catch(p){console.error("Failed to fetch conversations:",p)}finally{Ne(!1)}}}m.useEffect(()=>{w?.id&&x&&Us()},[w,x]);function ia(p){const T=Math.floor((Date.now()-p)/1e3);return T<60?"now":T<3600?`${Math.floor(T/60)}m`:T<86400?`${Math.floor(T/3600)}h`:`${Math.floor(T/86400)}d`}function oa(){const p=crypto.randomUUID();cn(p),Oe([]),Ie([]),Re(!1)}async function ra(p){if(x)try{await fetch(`${v}/conversations/${p}`,{method:"DELETE",headers:{Authorization:`Bearer ${x}`}}),Is(ln.filter(T=>T._id!==p)),p===Ls&&oa()}catch(T){console.error("Failed to delete conversation:",T)}}async function aa(p){cn(p.chatId),Re(!1),Ne(!0);try{const T=await fetch(`${v}/conversations/${p.chatId}/messages`,{headers:{Authorization:`Bearer ${b.current}`}});if(!T.ok)throw new Error(`Failed to fetch messages: ${T.statusText}`);const C=(await T.json()).messages||[];Oe(C),Ie(C)}catch(T){console.error("Failed to load conversation messages:",T);const I=p.messages||[];Oe(I),Ie(I)}finally{Ne(!1)}}const la=async(p,T={})=>{const I=T.headers?new Headers(T.headers):new Headers;return I.delete("user-agent"),I.delete("User-Agent"),fetch(p,{...T,headers:I})},{messages:pe,sendMessage:ca,status:pt,error:_s,stop:Le,addToolResult:ge,setMessages:Oe}=uo.useChat({id:Ls||void 0,transport:new Ye.DefaultChatTransport({api:`${v}/chat`,fetch:la,headers:()=>{const p={};return b.current&&(p.Authorization=`Bearer ${b.current}`),p},body:()=>{const p=un.map(T=>({name:T.name,description:T.description,inputSchema:T.jsonSchema}));return process.env.NODE_ENV==="development"&&console.log("[ArctenAgent] Sending tools to API:",{totalTools:p.length,toolNames:p.map(T=>T.name),allToolNames:mt.map(T=>T.name),filteredToolNames:un.map(T=>T.name)}),{tools:p,systemPrompt:g,currentRoute:ea}}}),sendAutomaticallyWhen:Ye.lastAssistantMessageIsCompleteWithToolCalls});m.useEffect(()=>{N&&Yt.current&&Yt.current.focus()},[N,pe]);function ua(){_(!0),localStorage.setItem("arcten-sidebar-expanded","true")}function da(){_(!1),localStorage.setItem("arcten-sidebar-expanded","false")}m.useEffect(()=>{},[N]),m.useEffect(()=>{fe.current&&fe.current.scrollIntoView({behavior:"smooth"})},[pe]),m.useEffect(()=>{function p(T){T.key==="Escape"&&(pt==="streaming"||pt==="submitted")&&(T.preventDefault(),Le())}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[pt,Le]);function ha(){const p=crypto.randomUUID();cn(p),Oe([]),Ie([]),Re(!1)}function Ws(p){if(p.preventDefault(),!Nt.trim())return;(pt==="streaming"||pt==="submitted")&&Le();const T=zs[Math.floor(Math.random()*zs.length)]||"Thinking...";ot(T),ca({text:Nt}),me("")}function fa(p){const T=p.target.value;me(T)}m.useEffect(()=>{if(!Ct)return;function p(I){if(E){const C=I.clientX-U.x,F=I.clientY-U.y;C>=a&&C<=l&&vt(C),F>=400&&F<=1e3&&st(F)}else{const C=window.innerWidth-I.clientX;C>=a&&C<=l&&vt(C)}}function T(){At(!1),localStorage.setItem("arcten-sidebar-width",z.toString()),localStorage.setItem("arcten-sidebar-height",St.toString())}return window.addEventListener("mousemove",p),window.addEventListener("mouseup",T),()=>{window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",T)}},[Ct,z,St,E,U,a,l]);function ma(p){p.preventDefault(),At(!0)}function pa(){Y(!0),it(!1),localStorage.setItem("arcten-sidebar-detached","true"),localStorage.setItem("arcten-sidebar-minimized","false")}function ga(){Y(!1),it(!1),localStorage.setItem("arcten-sidebar-detached","false"),localStorage.setItem("arcten-sidebar-minimized","false")}function Ks(){it(!K),localStorage.setItem("arcten-sidebar-minimized",JSON.stringify(!K))}function ya(p){E&&(kt(!0),Rt({x:p.clientX-U.x,y:p.clientY-U.y}))}return m.useEffect(()=>{if(!E)return;function p(){ue(T=>{const C=window.innerWidth-50,F=window.innerHeight-50,L=50-z,Pt=0,gt=Math.max(L,Math.min(T.x,C)),Mt=Math.max(Pt,Math.min(T.y,F));if(gt!==T.x||Mt!==T.y){const Q={x:gt,y:Mt};return localStorage.setItem("arcten-sidebar-position",JSON.stringify(Q)),Q}return T})}return window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[E,z]),m.useEffect(()=>{if(!Xt)return;function p(I){const C=I.clientX-de.x,F=I.clientY-de.y,L=50,Pt=window.innerWidth-L,gt=window.innerHeight-L,Mt=L-z,Q=0,yt=Math.max(Mt,Math.min(C,Pt)),Lt=Math.max(Q,Math.min(F,gt));ue({x:yt,y:Lt})}function T(){kt(!1),localStorage.setItem("arcten-sidebar-position",JSON.stringify(U))}return window.addEventListener("mousemove",p),window.addEventListener("mouseup",T),()=>{window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",T)}},[Xt,de,U,z]),he?k?h.jsx("div",{className:"fixed right-0 top-0 h-screen w-96 flex items-center justify-center p-4 bg-stone-50 dark:bg-stone-900 border-l border-border",children:h.jsxs("div",{className:"p-4 bg-destructive/10 text-destructive text-sm rounded-lg",children:["Authentication error: ",k]})}):x?h.jsx(Lc,{features:hh,children:h.jsx(Ue,{id:"arcten-sidebar","data-theme":t,"data-layout":e,"data-model":n,initial:E?{opacity:0,scale:.95,filter:"blur(4px)"}:!1,animate:E?{opacity:1,scale:1,filter:"blur(0px)"}:{},transition:{duration:.2,ease:"easeOut"},className:`
43
19
  ${E?"fixed z-50 shadow-xl rounded-xl":"h-screen flex-shrink-0 relative rounded-l-2xl"}
44
20
  ${N?"bg-stone-50 dark:bg-stone-900":"bg-stone-100 dark:bg-stone-800 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors duration-200"}
45
21
  ${E?"border border-border":"border-l border-border"}
46
22
  ${N?"":"w-[30px]"}
47
- `,style:N?E?{width:`${z}px`,height:K?"auto":`${St}px`,left:`${U.x}px`,top:`${U.y}px`}:{width:`${z}px`}:void 0,onClick:N?void 0:ua,children:N?h.jsxs(h.Fragment,{children:[!E&&h.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-blue-500/40 hover:w-1 transition-all group",onMouseDown:ma,children:h.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-3 -translate-x-1"})}),E&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"absolute bottom-0 right-0 w-4 h-4 cursor-nwse-resize",onMouseDown:p=>{p.preventDefault(),At(!0)}}),h.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-move hover:bg-blue-500/20 group",onMouseDown:p=>{p.preventDefault(),p.stopPropagation(),kt(!0),Rt({x:p.clientX-U.x,y:p.clientY-U.y})},children:h.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-1 rounded-full bg-stone-400/30 group-hover:bg-blue-500/40 transition-colors"})}),h.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-1 cursor-ew-resize hover:bg-blue-500/40",onMouseDown:p=>{p.preventDefault(),At(!0)}})]}),h.jsxs("div",{className:"flex flex-col h-full",children:[h.jsxs("div",{className:`flex items-center justify-between p-3 border-b border-border ${E?"cursor-move":""}`,onMouseDown:E?ya:void 0,children:[h.jsx("h2",{className:`text-base font-semibold ${E&&K?"cursor-pointer":""}`,onClick:E&&K?p=>{p.stopPropagation(),Ks()}:void 0,children:i}),h.jsxs("div",{className:"flex items-center gap-1",onClick:p=>p.stopPropagation(),children:[h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:ha,"aria-label":"New chat",children:h.jsx(G.Plus,{className:"h-4 w-4"})})}),h.jsx(Bt,{children:"Start a new conversation"})]}),h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:E?ga:pa,"aria-label":E?"Dock sidebar":"Float sidebar",children:E?h.jsx(G.Dock,{className:"h-4 w-4"}):h.jsx(G.PictureInPicture2,{className:"h-4 w-4"})})}),h.jsx(Bt,{children:E?"Dock to sidebar":"Undock to floating window"})]}),h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:E?Ks:da,"aria-label":E?K?"Maximize":"Minimize":"Close sidebar",children:E?K?h.jsx(G.Maximize2,{className:"h-4 w-4"}):h.jsx(G.Minimize2,{className:"h-4 w-4"}):h.jsx(G.X,{className:"h-4 w-4"})})}),h.jsx(Bt,{children:E?K?"Maximize window":"Minimize to header":"Close the chat"})]})]})]}),!K&&h.jsxs(h.Fragment,{children:[w&&ln.length>0&&h.jsxs("div",{className:`border-b border-border ${Gt?"flex flex-col flex-1":""}`,children:[h.jsxs("div",{className:"flex items-center justify-between px-3 py-1",children:[h.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Recent chats"}),h.jsx(Ge,{variant:"ghost",className:"h-auto px-2 py-1 text-xs text-muted-foreground hover:text-foreground",onClick:()=>{Gt||Us(),Re(!Gt)},children:Gt?"Show less":"View all"})]}),h.jsx("div",{className:`px-2 pb-2 space-y-0.5 ${Gt?"flex-1 overflow-y-auto":""}`,children:ln.slice(0,Gt?void 0:3).map(p=>h.jsxs("div",{className:"group relative",children:[h.jsxs("button",{type:"button",className:J(zt({variant:"ghost"}),"w-full justify-between h-auto py-1 px-3 font-normal"),onClick:()=>aa(p),children:[h.jsx("span",{className:"text-xs truncate",children:p.title}),h.jsx("div",{className:"ml-2 flex items-center",children:h.jsx("span",{className:"text-xs text-muted-foreground group-hover:hidden",children:ia(p.updatedAt)})})]}),h.jsx("button",{type:"button",className:"absolute right-2 top-1/2 -translate-y-1/2 h-6 w-6 p-0 hidden group-hover:flex items-center justify-center text-muted-foreground hover:text-foreground rounded-md hover:bg-accent transition-colors",onClick:T=>{T.stopPropagation(),ra(p._id)},"aria-label":"Delete conversation",children:h.jsx(G.X,{className:"h-3 w-3"})})]},p._id))})]}),h.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative",children:[h.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4 scroll-smooth",children:pe.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[r&&h.jsx("div",{className:"mb-6",children:r}),h.jsx("h3",{className:"text-lg font-semibold text-center mb-2",children:"How can I help you?"}),It.length>0&&h.jsx("div",{className:"mt-4 px-4 max-w-md mx-auto",children:h.jsxs("div",{className:"flex flex-wrap gap-2 justify-center",children:[(an?It:It.slice(0,10)).map(p=>h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx(dn,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>{me(p.sampleUsage),Yt.current?.focus()},children:p.friendlyName})}),h.jsx(Bt,{children:h.jsxs("div",{className:"max-w-xs",children:[h.jsx("p",{className:"font-medium",children:p.description}),h.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:[h.jsx("span",{className:"font-medium",children:"Example:"}),' "',p.sampleUsage,'"']}),p.paramCount>0&&h.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[h.jsx("span",{className:"font-medium",children:"Parameters:"})," ",p.params.join(", ")]})]})})]},p.name)),It.length>10&&!an&&h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsxs(dn,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>Ns(!0),children:["+",It.length-10," more"]})}),h.jsx(Bt,{children:h.jsxs("div",{className:"max-w-xs",children:[h.jsx("p",{className:"font-medium mb-2",children:"Additional tools:"}),h.jsx("div",{className:"space-y-1 max-h-64 overflow-y-auto pr-2",children:It.slice(10).map(p=>h.jsxs("div",{children:[h.jsxs("span",{className:"font-medium text-xs",children:[p.friendlyName,":"]}),h.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:p.description})]},p.name))}),h.jsx("p",{className:"text-xs text-muted-foreground mt-2 italic",children:"Click to show all tools"})]})})]}),an&&It.length>10&&h.jsx(dn,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>Ns(!1),children:"Show less"})]})})]}):h.jsxs(h.Fragment,{children:[pe.map(p=>{const I=p.parts.filter(C=>C.type==="text").map(C=>C.text).join("");return h.jsx("div",{className:`${p.role==="user"?"flex justify-end":"w-full"}`,children:h.jsx("div",{className:`${p.role==="user"?"max-w-[85%] text-right":"w-full"}`,children:p.role==="user"?h.jsx(fh,{initial:{opacity:0,filter:"blur(4px)"},animate:{opacity:1,filter:"blur(0px)"},transition:{duration:.3,ease:"easeOut"},className:"text-sm whitespace-pre-wrap inline-block bg-stone-100 dark:bg-stone-800 px-3 py-2 rounded-xl",children:I}):h.jsx("div",{className:"space-y-2",children:p.parts.map((C,F)=>{if(C.type?.startsWith("tool-")){const L=C.type?.replace("tool-","")||"",Pt=un.find(Q=>Q.name===L),gt=C.state==="input-available",Mt=C.state==="output-available";if(gt)return $s.has(L)?((async()=>{if(q.has(C.toolCallId))return;rt(Lt=>new Set(Lt).add(C.toolCallId));const yt=Bs.get(L);if(yt)try{console.log("Auto-executing safe tool:",L);const Lt=await yt(...Object.values(C.input||{}));ge({toolCallId:C.toolCallId,tool:L,output:Lt}),console.log("Safe tool result added:",C.toolCallId)}catch(Lt){ge({toolCallId:C.toolCallId,tool:L,output:`Error: ${Lt}`}),console.log("Safe tool error result added:",C.toolCallId)}})(),null):h.jsx(Ue,{initial:{opacity:0,y:10,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.3,ease:"easeOut"},children:h.jsx(mh,{toolName:L,description:Pt?.description||"",args:C.input||{},onApprove:async()=>{if(q.has(C.toolCallId)){console.log("Tool call already being processed:",C.toolCallId);return}rt(yt=>new Set(yt).add(C.toolCallId));const Q=Bs.get(L);if(Q)try{const yt=await Q(...Object.values(C.input||{}));ge({toolCallId:C.toolCallId,tool:L,output:yt}),console.log("Tool result added:",C.toolCallId)}catch(yt){ge({toolCallId:C.toolCallId,tool:L,output:`Error: ${yt}`}),console.log("Tool error result added:",C.toolCallId)}},onDeny:async()=>{if(q.has(C.toolCallId)){console.log("Tool call already being processed:",C.toolCallId);return}rt(Q=>new Set(Q).add(C.toolCallId)),ge({toolCallId:C.toolCallId,tool:L,output:"User denied tool execution"}),console.log("Tool denied:",C.toolCallId)}})},`${C.toolCallId}-${F}`);if(Mt){const Q=C.output==="User denied tool execution";return h.jsx(ph,{toolName:L,args:C.input||{},isDenied:Q,isSafe:$s.has(L)},`${C.toolCallId}-${F}`)}return null}return C.type==="text"&&C.text&&V?h.jsx(V,{className:"text-sm prose prose-sm dark:prose-invert max-w-none",children:C.text},`${p.id}-${F}`):C.type==="reasoning"&&C.text?h.jsxs(Jr,{className:"w-full",isStreaming:pt==="streaming"&&F===p.parts.length-1&&p.id===pe.at(-1)?.id,children:[h.jsx(Qr,{}),h.jsx(ta,{children:C.text})]},`${p.id}-${F}`):null})})})},p.id)}),h.jsx("div",{ref:fe})]})}),_s&&h.jsxs("div",{className:"px-4 py-2 bg-destructive/10 text-destructive text-xs",children:["Error: ",_s.message]}),h.jsxs("div",{className:"p-4 border-t border-border relative overflow-visible",children:[h.jsx(Ic,{mode:"wait",children:(pt==="streaming"||pt==="submitted")&&h.jsxs(Ue,{initial:{opacity:0,filter:"blur(4px)",y:5},animate:{opacity:1,filter:"blur(0px)",y:0},exit:{opacity:0,filter:"blur(4px)",y:5},transition:{duration:.2,ease:"easeOut"},className:"absolute left-1/2 -translate-x-1/2 -top-6 flex items-center gap-1.5 bg-stone-100 dark:bg-stone-800 px-3 py-1.5 rounded-full shadow-lg border border-border z-50",children:[h.jsx(Ue,{className:"w-2 h-2 bg-stone-400 dark:bg-stone-600",animate:{rotate:[0,0,90,90],borderRadius:["50%","30%","30%","50%"],scale:[.75,1,1,.75]},transition:{duration:2,repeat:1/0,ease:"easeInOut",times:[0,.4,.6,1]}}),h.jsx("p",{className:"text-xs text-muted-foreground",children:H})]})}),h.jsxs("form",{onSubmit:Ws,className:"relative",children:[h.jsx(mo,{ref:Yt,value:Nt,onChange:fa,placeholder:"Ask anything..",className:"w-full pr-12 resize-none border border-border rounded-xl px-4 py-3",minHeight:24,maxHeight:200,onKeyDown:p=>{p.key==="Enter"&&!p.shiftKey&&(p.preventDefault(),Ws(p))}}),pt==="streaming"||pt==="submitted"?h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),onClick:Le,children:h.jsx(G.Square,{className:"h-4 w-4"})})}),h.jsxs(Bt,{children:[h.jsx(Ys,{children:"Escape"})," to stop"]})]}):h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"submit",className:J(zt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),disabled:!Nt.trim(),children:h.jsx(G.ArrowRight,{className:"h-4 w-4"})})}),h.jsxs(Bt,{children:[h.jsx(Ys,{children:"Enter"})," to send"]})]})]})]})]}),h.jsxs("a",{href:"https://arcten.com",target:"_blank",rel:"noopener noreferrer",className:"group flex items-center justify-center gap-1.5 py-3 text-xs text-muted-foreground/40 hover:text-muted-foreground/60 transition-all overflow-hidden",children:[h.jsx("span",{className:"max-w-0 opacity-0 group-hover:max-w-[100px] group-hover:opacity-100 transition-all duration-300 whitespace-nowrap",children:"Powered by"}),h.jsx("div",{className:"w-4 h-2 bg-current rounded-t-full flex-shrink-0"}),h.jsx("span",{className:"max-w-0 opacity-0 group-hover:max-w-[100px] group-hover:opacity-100 transition-all duration-300 whitespace-nowrap",children:"Arcten"})]})]})]})]}):h.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-full cursor-pointer",children:[h.jsx(G.BotMessageSquare,{className:"h-5 w-5 text-stone-600 dark:text-stone-400"}),h.jsx("span",{className:"text-xs font-medium text-stone-600 dark:text-stone-400 [writing-mode:vertical-lr]",children:"AI agent"})]})})}):h.jsx("div",{className:"fixed right-0 top-0 h-screen w-96 flex items-center justify-center p-4 bg-stone-50 dark:bg-stone-900 border-l border-border",children:h.jsx("div",{className:"p-4 text-muted-foreground text-sm",children:"Loading..."})}):null}function jh({apiBaseUrl:t="https://api.arcten.com",tokenEndpoint:e="/api/arcten/token",clientToken:n,skipTokenFetch:s=!1,user:i,tools:r=[],safeTools:o=[],toolMetadata:a,systemPrompt:l="",initialMessages:u=[],conversationId:c,onToolCall:d,onFinish:f,ragFilters:g}={}){console.log("[useAgent] Hook initialized",{apiBaseUrl:t,tokenEndpoint:e,hasProvidedToken:!!n,skipTokenFetch:s,userId:i?.id,toolsCount:r.length,safeToolsCount:o.length});const[y,v]=m.useState(n||null),w=m.useRef(n||null),[x,S]=m.useState(null),[b,k]=m.useState(null),A=m.useRef(null),[D,R]=m.useState([]),[P,N]=m.useState(c||(typeof window<"u"?crypto.randomUUID():null)),[_,z]=m.useState(!1),[vt,St]=m.useState(new Set),st=m.useMemo(()=>[...r,...o],[r,o]),Ct=m.useMemo(()=>qr(st,a),[st,a]),At=m.useMemo(()=>new Set(st.map(V=>V.name)),[st]),E=m.useMemo(()=>Ct.filter(V=>At.has(V.name)),[Ct,At]),Y=m.useMemo(()=>{const V=new Map;return st.forEach(j=>V.set(j.name,j)),V},[st]),K=m.useMemo(()=>new Set(o.map(V=>V.name)),[o]);m.useEffect(()=>{if(console.log("[useAgent] Token fetch effect running",{skipTokenFetch:s,hasProvidedToken:!!n,user:i?.id,tokenEndpoint:e}),s||n){console.log("[useAgent] Skipping token fetch",{reason:s?"skipTokenFetch=true":"token provided"});return}return(async()=>{console.log("[useAgent] Fetching initial token from",e);try{const j=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:i})});if(!j.ok)throw new Error("Failed to fetch token");const H=await j.json();console.log("[useAgent] Token fetched successfully",{expiresAt:H.expiresAt,expiresIn:H.expiresAt?`${H.expiresAt-Math.floor(Date.now()/1e3)}s`:"unknown"}),v(H.clientToken),w.current=H.clientToken,k(H.expiresAt),S(null)}catch(j){console.error("[useAgent] Token fetch failed:",j),S(j instanceof Error?j.message:"Failed to fetch token")}})(),()=>{console.log("[useAgent] Cleaning up token fetch effect"),A.current&&clearTimeout(A.current)}},[e,JSON.stringify(i),s,n]),m.useEffect(()=>{if(console.log("[useAgent] Token refresh effect running",{hasTokenExpiresAt:!!b,tokenExpiresAt:b,skipTokenFetch:s,hasProvidedToken:!!n}),!b||s||n){console.log("[useAgent] Skipping token refresh setup",{reason:b?s?"skipTokenFetch=true":"token provided":"no expiry"});return}A.current&&(console.log("[useAgent] Clearing existing token refresh timeout"),clearTimeout(A.current));const V=Math.floor(Date.now()/1e3),j=b-V,ot=Math.max(0,j-5);return console.log("[useAgent] Scheduling token refresh",{expiresAt:b,now:V,timeUntilExpiry:`${j}s`,timeUntilRefresh:`${ot}s`,refreshAt:new Date((V+ot)*1e3).toISOString()}),A.current=setTimeout(async()=>{console.log("[useAgent] Refreshing token...");try{const q=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:i})});if(!q.ok)throw new Error("Failed to refresh token");const rt=await q.json();console.log("[useAgent] Token refreshed successfully",{newExpiresAt:rt.expiresAt,expiresIn:`${rt.expiresAt-Math.floor(Date.now()/1e3)}s`}),v(rt.clientToken),w.current=rt.clientToken,k(rt.expiresAt),S(null)}catch(q){console.error("[useAgent] Token refresh failed:",q),S(q instanceof Error?q.message:"Failed to refresh token")}},ot*1e3),()=>{console.log("[useAgent] Cleaning up token refresh effect"),A.current&&clearTimeout(A.current)}},[b,e,JSON.stringify(i),s,n]);const it=async(V,j={})=>{const H=j.headers?new Headers(j.headers):new Headers;return H.delete("user-agent"),H.delete("User-Agent"),fetch(V,{...j,headers:H})},{messages:U,sendMessage:ue,status:Xt,error:kt,stop:de,addToolResult:Rt,setMessages:he}=uo.useChat({id:P||void 0,messages:u,transport:new Ye.DefaultChatTransport({api:`${t}/chat`,fetch:it,headers:()=>{const V={};return w.current&&(V.Authorization=`Bearer ${w.current}`),V},body:()=>{const V=E.map(j=>({name:j.name,description:j.description,inputSchema:j.jsonSchema}));return process.env.NODE_ENV==="development"&&console.log("[useAgent] Sending tools to API:",{totalTools:V.length,toolNames:V.map(j=>j.name),allToolNames:st.map(j=>j.name),filteredToolNames:E.map(j=>j.name)}),{tools:V,systemPrompt:l,...g&&{ragFilters:g}}}}),sendAutomaticallyWhen:Ye.lastAssistantMessageIsCompleteWithToolCalls});m.useEffect(()=>{U.forEach(V=>{V.role==="assistant"&&V.parts.forEach(j=>{if(!j.type?.startsWith("tool-")||j.state!=="input-available")return;const H=j.type.replace("tool-",""),ot=j.toolCallId;if(!vt.has(ot)){if(St(q=>new Set(q).add(ot)),K.has(H)){const q=Y.get(H);q&&(async()=>{try{const rt=await q(...Object.values(j.input||{}));Rt({toolCallId:ot,tool:H,output:rt})}catch(rt){Rt({toolCallId:ot,tool:H,output:`Error: ${rt}`})}})()}else if(d){const q={toolCallId:ot,toolName:H,args:j.input||{}};d({toolCall:q})}}})})},[U,K,Y,d,Rt,vt]),m.useEffect(()=>{if(Xt==="ready"&&U.length>0&&f){const V=U[U.length-1];V&&V.role==="assistant"&&f({message:V,messages:U,isAbort:!1,isDisconnect:!1,isError:!!kt})}},[Xt,U,kt,f]);async function rn(){if(!(!i?.id||!y)){console.log("[useAgent] Fetching conversations for user:",i?.id),z(!0);try{const j=await(await fetch(`${t}/conversations`,{headers:{Authorization:`Bearer ${y}`}})).json();R(j.conversations||[])}catch(V){console.error("Failed to fetch conversations:",V)}finally{z(!1)}}}m.useEffect(()=>{i?.id&&y&&rn()},[JSON.stringify(i),y,t]);async function fe(V){N(V),z(!0);try{const j=await fetch(`${t}/conversations/${V}/messages`,{headers:{Authorization:`Bearer ${w.current}`}});if(!j.ok)throw new Error(`Failed to fetch messages: ${j.statusText}`);const ot=(await j.json()).messages||[];he(ot)}catch(j){console.error("Failed to load conversation messages:",j)}finally{z(!1)}}async function Yt(V){if(y)try{await fetch(`${t}/conversations/${V}`,{method:"DELETE",headers:{Authorization:`Bearer ${y}`}}),R(D.filter(j=>j._id!==V)),V===P&&Nt()}catch(j){console.error("Failed to delete conversation:",j)}}function Nt(){const V=crypto.randomUUID();N(V),he([]),St(new Set)}function me(V){Rt(V)}return{id:P,messages:U,status:Xt,error:kt,sendMessage:ue,stop:de,addToolOutput:me,setMessages:he,conversations:D,loadConversation:fe,deleteConversation:Yt,startNewConversation:Nt,isLoadingConversations:_,clientToken:y,tokenError:x}}exports.verifyToken=Va.verifyToken;exports.ArctenAgent=Mh;exports.useAgent=jh;
23
+ `,style:N?E?{width:`${z}px`,height:K?"auto":`${St}px`,left:`${U.x}px`,top:`${U.y}px`}:{width:`${z}px`}:void 0,onClick:N?void 0:ua,children:N?h.jsxs(h.Fragment,{children:[!E&&h.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-blue-500/40 hover:w-1 transition-all group",onMouseDown:ma,children:h.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-3 -translate-x-1"})}),E&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"absolute bottom-0 right-0 w-4 h-4 cursor-nwse-resize",onMouseDown:p=>{p.preventDefault(),At(!0)}}),h.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-move hover:bg-blue-500/20 group",onMouseDown:p=>{p.preventDefault(),p.stopPropagation(),kt(!0),Rt({x:p.clientX-U.x,y:p.clientY-U.y})},children:h.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-1 rounded-full bg-stone-400/30 group-hover:bg-blue-500/40 transition-colors"})}),h.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-1 cursor-ew-resize hover:bg-blue-500/40",onMouseDown:p=>{p.preventDefault(),At(!0)}})]}),h.jsxs("div",{className:"flex flex-col h-full",children:[h.jsxs("div",{className:`flex items-center justify-between p-3 border-b border-border ${E?"cursor-move":""}`,onMouseDown:E?ya:void 0,children:[h.jsx("h2",{className:`text-base font-semibold ${E&&K?"cursor-pointer":""}`,onClick:E&&K?p=>{p.stopPropagation(),Ks()}:void 0,children:i}),h.jsxs("div",{className:"flex items-center gap-1",onClick:p=>p.stopPropagation(),children:[h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:ha,"aria-label":"New chat",children:h.jsx(G.Plus,{className:"h-4 w-4"})})}),h.jsx(Bt,{children:"Start a new conversation"})]}),h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:E?ga:pa,"aria-label":E?"Dock sidebar":"Float sidebar",children:E?h.jsx(G.Dock,{className:"h-4 w-4"}):h.jsx(G.PictureInPicture2,{className:"h-4 w-4"})})}),h.jsx(Bt,{children:E?"Dock to sidebar":"Undock to floating window"})]}),h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:E?Ks:da,"aria-label":E?K?"Maximize":"Minimize":"Close sidebar",children:E?K?h.jsx(G.Maximize2,{className:"h-4 w-4"}):h.jsx(G.Minimize2,{className:"h-4 w-4"}):h.jsx(G.X,{className:"h-4 w-4"})})}),h.jsx(Bt,{children:E?K?"Maximize window":"Minimize to header":"Close the chat"})]})]})]}),!K&&h.jsxs(h.Fragment,{children:[w&&ln.length>0&&h.jsxs("div",{className:`border-b border-border ${Gt?"flex flex-col flex-1":""}`,children:[h.jsxs("div",{className:"flex items-center justify-between px-3 py-1",children:[h.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Recent chats"}),h.jsx(Ge,{variant:"ghost",className:"h-auto px-2 py-1 text-xs text-muted-foreground hover:text-foreground",onClick:()=>{Gt||Us(),Re(!Gt)},children:Gt?"Show less":"View all"})]}),h.jsx("div",{className:`px-2 pb-2 space-y-0.5 ${Gt?"flex-1 overflow-y-auto":""}`,children:ln.slice(0,Gt?void 0:3).map(p=>h.jsxs("div",{className:"group relative",children:[h.jsxs("button",{type:"button",className:J(zt({variant:"ghost"}),"w-full justify-between h-auto py-1 px-3 font-normal"),onClick:()=>aa(p),children:[h.jsx("span",{className:"text-xs truncate",children:p.title}),h.jsx("div",{className:"ml-2 flex items-center",children:h.jsx("span",{className:"text-xs text-muted-foreground group-hover:hidden",children:ia(p.updatedAt)})})]}),h.jsx("button",{type:"button",className:"absolute right-2 top-1/2 -translate-y-1/2 h-6 w-6 p-0 hidden group-hover:flex items-center justify-center text-muted-foreground hover:text-foreground rounded-md hover:bg-accent transition-colors",onClick:T=>{T.stopPropagation(),ra(p._id)},"aria-label":"Delete conversation",children:h.jsx(G.X,{className:"h-3 w-3"})})]},p._id))})]}),h.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative",children:[h.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4 scroll-smooth",children:pe.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[r&&h.jsx("div",{className:"mb-6",children:r}),h.jsx("h3",{className:"text-lg font-semibold text-center mb-2",children:"How can I help you?"}),It.length>0&&h.jsx("div",{className:"mt-4 px-4 max-w-md mx-auto",children:h.jsxs("div",{className:"flex flex-wrap gap-2 justify-center",children:[(an?It:It.slice(0,10)).map(p=>h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx(dn,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>{me(p.sampleUsage),Yt.current?.focus()},children:p.friendlyName})}),h.jsx(Bt,{children:h.jsxs("div",{className:"max-w-xs",children:[h.jsx("p",{className:"font-medium",children:p.description}),h.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:[h.jsx("span",{className:"font-medium",children:"Example:"}),' "',p.sampleUsage,'"']}),p.paramCount>0&&h.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[h.jsx("span",{className:"font-medium",children:"Parameters:"})," ",p.params.join(", ")]})]})})]},p.name)),It.length>10&&!an&&h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsxs(dn,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>Ns(!0),children:["+",It.length-10," more"]})}),h.jsx(Bt,{children:h.jsxs("div",{className:"max-w-xs",children:[h.jsx("p",{className:"font-medium mb-2",children:"Additional tools:"}),h.jsx("div",{className:"space-y-1 max-h-64 overflow-y-auto pr-2",children:It.slice(10).map(p=>h.jsxs("div",{children:[h.jsxs("span",{className:"font-medium text-xs",children:[p.friendlyName,":"]}),h.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:p.description})]},p.name))}),h.jsx("p",{className:"text-xs text-muted-foreground mt-2 italic",children:"Click to show all tools"})]})})]}),an&&It.length>10&&h.jsx(dn,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>Ns(!1),children:"Show less"})]})})]}):h.jsxs(h.Fragment,{children:[pe.map(p=>{const I=p.parts.filter(C=>C.type==="text").map(C=>C.text).join("");return h.jsx("div",{className:`${p.role==="user"?"flex justify-end":"w-full"}`,children:h.jsx("div",{className:`${p.role==="user"?"max-w-[85%] text-right":"w-full"}`,children:p.role==="user"?h.jsx(fh,{initial:{opacity:0,filter:"blur(4px)"},animate:{opacity:1,filter:"blur(0px)"},transition:{duration:.3,ease:"easeOut"},className:"text-sm whitespace-pre-wrap inline-block bg-stone-100 dark:bg-stone-800 px-3 py-2 rounded-xl",children:I}):h.jsx("div",{className:"space-y-2",children:p.parts.map((C,F)=>{if(C.type?.startsWith("tool-")){const L=C.type?.replace("tool-","")||"",Pt=un.find(Q=>Q.name===L),gt=C.state==="input-available",Mt=C.state==="output-available";if(gt)return $s.has(L)?((async()=>{if(q.has(C.toolCallId))return;rt(Lt=>new Set(Lt).add(C.toolCallId));const yt=Bs.get(L);if(yt)try{console.log("Auto-executing safe tool:",L);const Lt=await yt(...Object.values(C.input||{}));ge({toolCallId:C.toolCallId,tool:L,output:Lt}),console.log("Safe tool result added:",C.toolCallId)}catch(Lt){ge({toolCallId:C.toolCallId,tool:L,output:`Error: ${Lt}`}),console.log("Safe tool error result added:",C.toolCallId)}})(),null):h.jsx(Ue,{initial:{opacity:0,y:10,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.3,ease:"easeOut"},children:h.jsx(mh,{toolName:L,description:Pt?.description||"",args:C.input||{},onApprove:async()=>{if(q.has(C.toolCallId)){console.log("Tool call already being processed:",C.toolCallId);return}rt(yt=>new Set(yt).add(C.toolCallId));const Q=Bs.get(L);if(Q)try{const yt=await Q(...Object.values(C.input||{}));ge({toolCallId:C.toolCallId,tool:L,output:yt}),console.log("Tool result added:",C.toolCallId)}catch(yt){ge({toolCallId:C.toolCallId,tool:L,output:`Error: ${yt}`}),console.log("Tool error result added:",C.toolCallId)}},onDeny:async()=>{if(q.has(C.toolCallId)){console.log("Tool call already being processed:",C.toolCallId);return}rt(Q=>new Set(Q).add(C.toolCallId)),ge({toolCallId:C.toolCallId,tool:L,output:"User denied tool execution"}),console.log("Tool denied:",C.toolCallId)}})},`${C.toolCallId}-${F}`);if(Mt){const Q=C.output==="User denied tool execution";return h.jsx(ph,{toolName:L,args:C.input||{},isDenied:Q,isSafe:$s.has(L)},`${C.toolCallId}-${F}`)}return null}return C.type==="text"&&C.text&&D?h.jsx(D,{className:"text-sm prose prose-sm dark:prose-invert max-w-none",children:C.text},`${p.id}-${F}`):C.type==="reasoning"&&C.text?h.jsxs(Jr,{className:"w-full",isStreaming:pt==="streaming"&&F===p.parts.length-1&&p.id===pe.at(-1)?.id,children:[h.jsx(Qr,{}),h.jsx(ta,{children:C.text})]},`${p.id}-${F}`):null})})})},p.id)}),h.jsx("div",{ref:fe})]})}),_s&&h.jsxs("div",{className:"px-4 py-2 bg-destructive/10 text-destructive text-xs",children:["Error: ",_s.message]}),h.jsxs("div",{className:"p-4 border-t border-border relative overflow-visible",children:[h.jsx(Ic,{mode:"wait",children:(pt==="streaming"||pt==="submitted")&&h.jsxs(Ue,{initial:{opacity:0,filter:"blur(4px)",y:5},animate:{opacity:1,filter:"blur(0px)",y:0},exit:{opacity:0,filter:"blur(4px)",y:5},transition:{duration:.2,ease:"easeOut"},className:"absolute left-1/2 -translate-x-1/2 -top-6 flex items-center gap-1.5 bg-stone-100 dark:bg-stone-800 px-3 py-1.5 rounded-full shadow-lg border border-border z-50",children:[h.jsx(Ue,{className:"w-2 h-2 bg-stone-400 dark:bg-stone-600",animate:{rotate:[0,0,90,90],borderRadius:["50%","30%","30%","50%"],scale:[.75,1,1,.75]},transition:{duration:2,repeat:1/0,ease:"easeInOut",times:[0,.4,.6,1]}}),h.jsx("p",{className:"text-xs text-muted-foreground",children:H})]})}),h.jsxs("form",{onSubmit:Ws,className:"relative",children:[h.jsx(mo,{ref:Yt,value:Nt,onChange:fa,placeholder:"Ask anything..",className:"w-full pr-12 resize-none border border-border rounded-xl px-4 py-3",minHeight:24,maxHeight:200,onKeyDown:p=>{p.key==="Enter"&&!p.shiftKey&&(p.preventDefault(),Ws(p))}}),pt==="streaming"||pt==="submitted"?h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"button",className:J(zt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),onClick:Le,children:h.jsx(G.Square,{className:"h-4 w-4"})})}),h.jsxs(Bt,{children:[h.jsx(Ys,{children:"Escape"})," to stop"]})]}):h.jsxs(Ot,{children:[h.jsx(Ft,{asChild:!0,children:h.jsx("button",{type:"submit",className:J(zt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),disabled:!Nt.trim(),children:h.jsx(G.ArrowRight,{className:"h-4 w-4"})})}),h.jsxs(Bt,{children:[h.jsx(Ys,{children:"Enter"})," to send"]})]})]})]})]}),h.jsxs("a",{href:"https://arcten.com",target:"_blank",rel:"noopener noreferrer",className:"group flex items-center justify-center gap-1.5 py-3 text-xs text-muted-foreground/40 hover:text-muted-foreground/60 transition-all overflow-hidden",children:[h.jsx("span",{className:"max-w-0 opacity-0 group-hover:max-w-[100px] group-hover:opacity-100 transition-all duration-300 whitespace-nowrap",children:"Powered by"}),h.jsx("div",{className:"w-4 h-2 bg-current rounded-t-full flex-shrink-0"}),h.jsx("span",{className:"max-w-0 opacity-0 group-hover:max-w-[100px] group-hover:opacity-100 transition-all duration-300 whitespace-nowrap",children:"Arcten"})]})]})]})]}):h.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-full cursor-pointer",children:[h.jsx(G.BotMessageSquare,{className:"h-5 w-5 text-stone-600 dark:text-stone-400"}),h.jsx("span",{className:"text-xs font-medium text-stone-600 dark:text-stone-400 [writing-mode:vertical-lr]",children:"AI agent"})]})})}):h.jsx("div",{className:"fixed right-0 top-0 h-screen w-96 flex items-center justify-center p-4 bg-stone-50 dark:bg-stone-900 border-l border-border",children:h.jsx("div",{className:"p-4 text-muted-foreground text-sm",children:"Loading..."})}):null}function jh({apiBaseUrl:t="https://api.arcten.com",tokenEndpoint:e="/api/arcten/token",clientToken:n,skipTokenFetch:s=!1,user:i,tools:r=[],safeTools:o=[],toolMetadata:a,systemPrompt:l="",initialMessages:u=[],conversationId:c,onToolCall:d,onFinish:f,ragFilters:g}={}){console.log("[useAgent] Hook initialized",{apiBaseUrl:t,tokenEndpoint:e,hasProvidedToken:!!n,skipTokenFetch:s,userId:i?.id,toolsCount:r.length,safeToolsCount:o.length});const[y,v]=m.useState(n||null),w=m.useRef(n||null),[x,S]=m.useState(null),[b,k]=m.useState(null),A=m.useRef(null),[V,R]=m.useState([]),[P,N]=m.useState(c||(typeof window<"u"?crypto.randomUUID():null)),[_,z]=m.useState(!1),[vt,St]=m.useState(new Set),st=m.useMemo(()=>[...r,...o],[r,o]),Ct=m.useMemo(()=>qr(st,a),[st,a]),At=m.useMemo(()=>new Set(st.map(D=>D.name)),[st]),E=m.useMemo(()=>Ct.filter(D=>At.has(D.name)),[Ct,At]),Y=m.useMemo(()=>{const D=new Map;return st.forEach(j=>D.set(j.name,j)),D},[st]),K=m.useMemo(()=>new Set(o.map(D=>D.name)),[o]);m.useEffect(()=>{if(console.log("[useAgent] Token fetch effect running",{skipTokenFetch:s,hasProvidedToken:!!n,user:i?.id,tokenEndpoint:e}),s||n){console.log("[useAgent] Skipping token fetch",{reason:s?"skipTokenFetch=true":"token provided"});return}return(async()=>{console.log("[useAgent] Fetching initial token from",e);try{const j=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:i})});if(!j.ok)throw new Error("Failed to fetch token");const H=await j.json();console.log("[useAgent] Token fetched successfully",{expiresAt:H.expiresAt,expiresIn:H.expiresAt?`${H.expiresAt-Math.floor(Date.now()/1e3)}s`:"unknown"}),v(H.clientToken),w.current=H.clientToken,k(H.expiresAt),S(null)}catch(j){console.error("[useAgent] Token fetch failed:",j),S(j instanceof Error?j.message:"Failed to fetch token")}})(),()=>{console.log("[useAgent] Cleaning up token fetch effect"),A.current&&clearTimeout(A.current)}},[e,JSON.stringify(i),s,n]),m.useEffect(()=>{if(console.log("[useAgent] Token refresh effect running",{hasTokenExpiresAt:!!b,tokenExpiresAt:b,skipTokenFetch:s,hasProvidedToken:!!n}),!b||s||n){console.log("[useAgent] Skipping token refresh setup",{reason:b?s?"skipTokenFetch=true":"token provided":"no expiry"});return}A.current&&(console.log("[useAgent] Clearing existing token refresh timeout"),clearTimeout(A.current));const D=Math.floor(Date.now()/1e3),j=b-D,ot=Math.max(0,j-5);return console.log("[useAgent] Scheduling token refresh",{expiresAt:b,now:D,timeUntilExpiry:`${j}s`,timeUntilRefresh:`${ot}s`,refreshAt:new Date((D+ot)*1e3).toISOString()}),A.current=setTimeout(async()=>{console.log("[useAgent] Refreshing token...");try{const q=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:i})});if(!q.ok)throw new Error("Failed to refresh token");const rt=await q.json();console.log("[useAgent] Token refreshed successfully",{newExpiresAt:rt.expiresAt,expiresIn:`${rt.expiresAt-Math.floor(Date.now()/1e3)}s`}),v(rt.clientToken),w.current=rt.clientToken,k(rt.expiresAt),S(null)}catch(q){console.error("[useAgent] Token refresh failed:",q),S(q instanceof Error?q.message:"Failed to refresh token")}},ot*1e3),()=>{console.log("[useAgent] Cleaning up token refresh effect"),A.current&&clearTimeout(A.current)}},[b,e,JSON.stringify(i),s,n]);const it=async(D,j={})=>{const H=j.headers?new Headers(j.headers):new Headers;return H.delete("user-agent"),H.delete("User-Agent"),fetch(D,{...j,headers:H})},{messages:U,sendMessage:ue,status:Xt,error:kt,stop:de,addToolResult:Rt,setMessages:he}=uo.useChat({id:P||void 0,messages:u,transport:new Ye.DefaultChatTransport({api:`${t}/chat`,fetch:it,headers:()=>{const D={};return w.current&&(D.Authorization=`Bearer ${w.current}`),D},body:()=>{const D=E.map(j=>({name:j.name,description:j.description,inputSchema:j.jsonSchema}));return process.env.NODE_ENV==="development"&&console.log("[useAgent] Sending tools to API:",{totalTools:D.length,toolNames:D.map(j=>j.name),allToolNames:st.map(j=>j.name),filteredToolNames:E.map(j=>j.name)}),{tools:D,systemPrompt:l,...g&&{ragFilters:g}}}}),sendAutomaticallyWhen:Ye.lastAssistantMessageIsCompleteWithToolCalls});m.useEffect(()=>{U.forEach(D=>{D.role==="assistant"&&D.parts.forEach(j=>{if(!j.type?.startsWith("tool-")||j.state!=="input-available")return;const H=j.type.replace("tool-",""),ot=j.toolCallId;if(!vt.has(ot)){if(St(q=>new Set(q).add(ot)),K.has(H)){const q=Y.get(H);q&&(async()=>{try{const rt=await q(...Object.values(j.input||{}));Rt({toolCallId:ot,tool:H,output:rt})}catch(rt){Rt({toolCallId:ot,tool:H,output:`Error: ${rt}`})}})()}else if(d){const q={toolCallId:ot,toolName:H,args:j.input||{}};d({toolCall:q})}}})})},[U,K,Y,d,Rt,vt]),m.useEffect(()=>{if(Xt==="ready"&&U.length>0&&f){const D=U[U.length-1];D&&D.role==="assistant"&&f({message:D,messages:U,isAbort:!1,isDisconnect:!1,isError:!!kt})}},[Xt,U,kt,f]);async function rn(){if(!(!i?.id||!y)){console.log("[useAgent] Fetching conversations for user:",i?.id),z(!0);try{const j=await(await fetch(`${t}/conversations`,{headers:{Authorization:`Bearer ${y}`}})).json();R(j.conversations||[])}catch(D){console.error("Failed to fetch conversations:",D)}finally{z(!1)}}}m.useEffect(()=>{i?.id&&y&&rn()},[JSON.stringify(i),y,t]);async function fe(D){N(D),z(!0);try{const j=await fetch(`${t}/conversations/${D}/messages`,{headers:{Authorization:`Bearer ${w.current}`}});if(!j.ok)throw new Error(`Failed to fetch messages: ${j.statusText}`);const ot=(await j.json()).messages||[];he(ot)}catch(j){console.error("Failed to load conversation messages:",j)}finally{z(!1)}}async function Yt(D){if(y)try{await fetch(`${t}/conversations/${D}`,{method:"DELETE",headers:{Authorization:`Bearer ${y}`}}),R(V.filter(j=>j._id!==D)),D===P&&Nt()}catch(j){console.error("Failed to delete conversation:",j)}}function Nt(){const D=crypto.randomUUID();N(D),he([]),St(new Set)}function me(D){Rt(D)}return{id:P,messages:U,status:Xt,error:kt,sendMessage:ue,stop:de,addToolOutput:me,setMessages:he,conversations:V,loadConversation:fe,deleteConversation:Yt,startNewConversation:Nt,isLoadingConversations:_,clientToken:y,tokenError:x}}exports.verifyToken=Da.verifyToken;exports.ArctenAgent=Mh;exports.useAgent=jh;