@arcteninc/core 0.0.128 → 0.0.129
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 +8 -8
- package/dist/index.mjs +2571 -2569
- package/dist/lib/useAgent.d.ts.map +1 -1
- package/package.json +6 -1
- package/scripts/arcten-cli.cjs +11 -2
- package/scripts/cli-init-wizard-wrapper.cjs +57 -0
- package/scripts/cli-init-wizard.ts +756 -0
- package/scripts/cli-uninstall-wrapper.cjs +66 -0
- package/scripts/cli-uninstall.ts +173 -0
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var cl=Object.create;var Wr=Object.defineProperty;var ul=Object.getOwnPropertyDescriptor;var dl=Object.getOwnPropertyNames;var hl=Object.getPrototypeOf,fl=Object.prototype.hasOwnProperty;var ml=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of dl(t))!fl.call(e,r)&&r!==n&&Wr(e,r,{get:()=>t[r],enumerable:!(s=ul(t,r))||s.enumerable});return e};var pl=(e,t,n)=>(n=e!=null?cl(hl(e)):{},ml(t||!e||!e.__esModule?Wr(n,"default",{value:e,enumerable:!0}):n,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),f=require("react"),Z=require("lucide-react"),gl=require("@ai-sdk/react"),Kr=require("ai"),fo=require("@radix-ui/react-slot"),mo=require("class-variance-authority"),yl=require("clsx"),xl=require("tailwind-merge"),bl=require("@radix-ui/react-tooltip"),qr=require("@radix-ui/react-use-controllable-state"),vl=require("@radix-ui/react-collapsible"),wl=require("react-dom"),Sl=require("@radix-ui/react-dialog"),Tl=require("./server.cjs");function ss(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const $e=ss(f),Ft=ss(bl),rr=ss(vl),Tt=ss(Sl),ke=Symbol.for("@arcteninc/core:originalName");function Cl(e,t){return e[ke]=t,e}function jl(e,t,n,s){if(typeof e!="function")return null;const r=e[ke];if(r){const a=t[r];if(a&&!n.has(a.name))return{fn:e,meta:a}}const o=e.name;let i;if(o&&(i=t[o],i&&!n.has(i.name)))return e[ke]=i.name,{fn:e,meta:i};if(s&&s.length>0){for(const a of s)if(!n.has(a)&&(i=t[a],i))return e[ke]=i.name,{fn:e,meta:i}}else if(i=Object.values(t).find(l=>!n.has(l.name)),i)return e[ke]=i.name,{fn:e,meta:i};return null}function ir(e,t){let n,s;if(!t)throw new Error(`❌ toolMetadata is required!
|
|
2
2
|
|
|
3
3
|
Please:
|
|
4
4
|
1. Run "arcten-extract-types ." before build (add to package.json scripts)
|
|
@@ -7,18 +7,18 @@ Please:
|
|
|
7
7
|
3. Pass it to useAgent/ArctenAgent:
|
|
8
8
|
useAgent({ tools: [...], toolMetadata: toolMetadata })
|
|
9
9
|
(Pass the full object for better minification support, or toolMetadata.functions for backward compatibility)
|
|
10
|
-
`);if("functions"in t&&typeof t.functions=="object"){const o=t;n=o.functions,s=o.toolOrder}else n=t,s=void 0;const r=new Set;return e.map(o=>{const i=
|
|
11
|
-
To fix: Run "arcten-extract-types ." and ensure "${u}" is used in ArctenAgent/useAgent.`),null}return r.add(i.meta.name),{name:i.meta.name,description:i.meta.description,jsonSchema:i.meta.parameters}}).filter(o=>o!==null)}const jl={password:[/^password$/i,/^pwd$/i,/^pass$/i,/^newPassword$/i,/^oldPassword$/i,/^currentPassword$/i,/^confirmPassword$/i,/.*password.*/i],email:[/^email$/i,/^emailAddress$/i,/^mail$/i,/.*email.*/i],phone:[/^phone$/i,/^phoneNumber$/i,/^mobile$/i,/^cell$/i,/^cellPhone$/i,/^telephone$/i,/.*phone.*/i,/.*mobile.*/i],pin:[/^pin$/i,/^pinCode$/i,/^securityPin$/i,/^accessPin$/i,/.*pin$/i],ssn:[/^ssn$/i,/^socialSecurityNumber$/i,/^social$/i,/.*ssn.*/i,/.*social.*/i],creditCard:[/^creditCard$/i,/^cardNumber$/i,/^card$/i,/^ccNumber$/i,/^creditCardNumber$/i,/.*card.*/i,/^cvv$/i,/^cvc$/i,/^cvn$/i,/^securityCode$/i],text:[]};function an(e){for(const[t,n]of Object.entries(jl))if(t!=="text"){for(const s of n)if(s.test(e))return t}return null}function Pl(e,t){return{password:{title:"Password Required",description:"Please enter your password to continue",placeholder:"Enter password..."},email:{title:"Email Required",description:"Please enter your email address",placeholder:"Enter email address..."},phone:{title:"Phone Number Required",description:"Please enter your phone number",placeholder:"Enter phone number..."},pin:{title:"PIN Required",description:"Please enter your PIN",placeholder:"Enter PIN..."},ssn:{title:"Social Security Number Required",description:"Please enter your Social Security Number",placeholder:"XXX-XX-XXXX"},creditCard:{title:"Credit Card Required",description:"Please enter your credit card information",placeholder:"XXXX XXXX XXXX XXXX"},text:{title:"Secure Input Required",description:`Please enter your ${t}`,placeholder:`Enter ${t}...`}}[e]}function Al(e,t,n){return t.length>0}function Ml(e,t,n,s={}){const r=[];return Object.keys(s).forEach(i=>{const a=i in n,l=n[i];if(!a){const h=s[i];if(h!=null&&h!=="")return}const u=El(s[i]),d={name:i,type:kl(l||an(i)||"text"),label:mo(i),placeholder:Nl(i,l),required:!0,value:u};d.type==="password"&&(d.validation=h=>h.length<8?"Password must be at least 8 characters":null),r.push(d)}),r.sort((i,a)=>{const l=i.name in n,u=a.name in n;return l===u?0:l?1:-1}),{shouldUseForm:Al(e,t),fields:r,title:Dl(e),description:Rl(e,r.length)}}function El(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e)}}function kl(e){switch(e){case"password":return"password";case"email":return"email";case"phone":return"phone";case"pin":return"pin";case"ssn":return"ssn";case"creditCard":return"creditCard";default:return"text"}}function mo(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").trim().toLowerCase().split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Nl(e,t){return t?Pl(t,e).placeholder:`Enter ${mo(e).toLowerCase()}...`}function Dl(e){return e.replace(/([A-Z])/g," $1").trim().toLowerCase().split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Rl(e,t){const n=e.toLowerCase();return t<=2?`Please provide the required information to ${n}.`:`Please fill out the form below to ${n}. Required fields are marked with *.`}function cn(e){if(typeof e=="string")try{const t=JSON.parse(e);return cn(t)}catch{return e}if(Array.isArray(e))return e.map(cn);if(e&&typeof e=="object"){const t={};for(const[n,s]of Object.entries(e))t[n]=cn(s);return t}return e}function Vl(e,t){if(!t||Object.keys(t).length===0)return e;const n={...e};return Object.keys(t).forEach(s=>{s in n&&delete n[s]}),n}function Il(e){if(typeof e=="string"){try{const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t))return cn(t)}catch{}return{}}return e&&typeof e=="object"&&!Array.isArray(e)?cn(e):{}}const Kn="__secureOutput",qn="[hidden for privacy]";function Ol(e,t){if(!e||e.length===0)return t;const n=new Map;t.forEach(o=>{const i=o[ke]||o.name;i&&n.set(i,o)});const s=new Map(e.map(o=>[o.name,o])),r=[];return e.forEach(o=>{const i=n.get(o.name);if(!i){console.log(`[useAgent] Skipping server-only tool: ${o.name}`);return}if(!o.isEnabled&&!o.isOverridable){console.log(`[useAgent] Blocking non-overridable disabled tool: ${o.name}`);return}if(!o.isEnabled&&o.isOverridable&&i){console.log(`[useAgent] Allowing overridable disabled tool with local implementation: ${o.name}`),r.push(i);return}o.isEnabled&&i&&r.push(i)}),t.forEach(o=>{const i=o[ke]||o.name;i&&!s.has(i)&&(console.log(`[useAgent] Allowing client-only tool (forward compatible): ${i}`),r.push(o))}),r}function Ll(e){if(typeof globalThis.structuredClone=="function")return globalThis.structuredClone(e);try{return JSON.parse(JSON.stringify(e))}catch(t){return console.warn("[useAgent] Failed to clone value for redaction:",t),e}}function Fl(e){return e.replace(/\[(\w+)\]/g,".$1").split(".").map(t=>t.trim()).filter(Boolean)}function $l(e,t){if(t.length===0)return e;if(!e||typeof e!="object")return;let n=e;for(const s of t){if(!n||typeof n!="object")return;n=n[s]}return n}function Bl(e,t,n){if(!e||typeof e!="object"||t.length===0)return!1;let s=e;for(let o=0;o<t.length-1;o++){if(!s||typeof s!="object")return!1;const i=s,a=t[o];if(a===void 0)return!1;const l=i[a];if(l==null||typeof l!="object")return!1;s=l}if(!s)return!1;const r=t[t.length-1];return!r||!(r in s)?!1:(s[r]=n,!0)}function Vs(e){return e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function po(e,t=""){const n={};return e&&typeof e=="object"?Object.entries(e).forEach(([s,r])=>{const o=t?`${t}.${s}`:s;n[o]=Vs(r),r&&typeof r=="object"&&Object.assign(n,po(r,o))}):t&&(n[t]=Vs(e)),n}function zl(e){if(e===void 0||e===!1)return;if(e===!0)return{strategy:"full",fields:[],placeholder:qn,includeFieldStatus:!1,preserve:[]};if(Array.isArray(e))return{strategy:"fields",fields:e,placeholder:qn,includeFieldStatus:!1,preserve:[]};const t=e.strategy??(e.fields&&e.fields.length>0?"fields":"full");return{strategy:t,fields:t==="fields"?e.fields??[]:[],placeholder:e.placeholder??qn,includeFieldStatus:e.includeFieldStatus??!1,preserve:e.preserve??[]}}function Ul(e){if(!e)return{};const t={};for(const[n,s]of Object.entries(e)){const r=zl(s);r&&(t[n]=r)}return t}function go(e,t,n){const s=n.placeholder,r={tool:e,redacted:!0,strategy:n.strategy,placeholder:s};if(n.strategy==="full"){n.includeFieldStatus&&typeof t=="object"&&t!==null&&(r.fieldStatus=po(t)),r.redactedFields=["*"];let l={};return n.preserve.length>0&&t&&typeof t=="object"&&n.preserve.forEach(u=>{u in t&&(l[u]=t[u])}),l[Kn]=r,l}if(n.fields.includes("*"))return go(e,t,{...n,strategy:"full",fields:[]});if(typeof t!="object"||t===null)return{value:s,[Kn]:{...r,redactedFields:n.fields}};const o=Ll(t),i=[],a={};return n.fields.forEach(l=>{const u=Fl(l);if(u.length===0)return;const d=$l(o,u),h=Vs(d);a[l]=h,Bl(o,u,s)&&i.push(l)}),r.redactedFields=i,n.includeFieldStatus&&(r.fieldStatus=a),o[Kn]=r,o}function yo({apiBaseUrl:e="https://api.arcten.com",tokenEndpoint:t="/api/arcten/token",clientToken:n,skipTokenFetch:s=!1,user:r,tools:o=[],safeTools:i=[],toolMetadata:a,sensitiveParams:l,sensitiveOutputs:u,autoDetectSensitive:d=!1,autoFormGeneration:h=!1,formMode:m="auto",systemPrompt:g="",agentId:w,agentName:v,projectId:T,enableRemoteConfig:b,remoteConfigUrl:A,initialMessages:E=[],conversationId:F,state:N,onStateChange:k,allowStateEdits:I=!0,onToolCall:M,onFinish:L,sources:j,ragConfig:V,ragFilters:$,secureInputHandler:D}={}){const R=f.useMemo(()=>V!==void 0?V:$?{enabled:!0,filters:$}:j&&j.length>0?{enabled:!0,organizationId:j[0],autoExecute:!0,filters:void 0}:{enabled:!1},[j,V,$]),[q,ee]=f.useState(null),[G,te]=f.useState(!1),[xe,we]=f.useState(null),H=f.useMemo(()=>b===!1?!1:!!T,[T,b]);f.useEffect(()=>{if(!H||!re.current)return;(async()=>{te(!0),we(null);try{const y=`${A||e.replace("/chat","").replace(/\/$/,"")}/convex/api/query`,S=await fetch(y,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${re.current}`},body:JSON.stringify({path:"agents:getConfigForClient",args:{projectId:T,agentName:v,agentId:w},format:"json"})});if(!S.ok){if(S.status===404){console.warn("[useAgent] Remote config endpoint not found (404), using local tools only"),ee(null);return}const O=await S.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch remote config: ${S.status} ${O}`)}const P=await S.json();ee(P?.value||null),console.log("[useAgent] Remote config loaded successfully:",P?.value)}catch(x){console.error("[useAgent] Failed to fetch remote config:",x);const y=x instanceof Error?x:new Error(String(x));we(y),ee(null)}finally{te(!1)}})()},[H,T,v,w,e,A]);const Je=f.useMemo(()=>{const p={};if(l)for(const[x,y]of Object.entries(l))if(p[x]={},Array.isArray(y))for(const S of y){const P=an(S);p[x][S]=P||"text"}else for(const[S,P]of Object.entries(y))p[x][S]=P;if(a){for(const[x,y]of Object.entries(a))if(y&&typeof y=="object"&&"sensitiveParams"in y){p[x]||(p[x]={});const S=y.sensitiveParams;if(Array.isArray(S))for(const P of S){const O=an(P);p[x][P]=O||"text"}else if(S&&typeof S=="object")for(const[P,O]of Object.entries(S))p[x][P]=O}}return p},[l,a,d]),Pe=f.useMemo(()=>Ul(u),[u]),Ze=f.useCallback((p,x)=>{const y=Pe[p];if(!y)return x;try{return go(p,x,y)}catch(S){return console.error(`[useAgent] Failed to redact output for ${p}:`,S),{value:qn,[Kn]:{tool:p,redacted:!0,error:String(S)}}}},[Pe]),[he,wt]=f.useState(n||null),re=f.useRef(n||null),[en,Qe]=f.useState(null),[St,jn]=f.useState(null),_e=f.useRef(null),[Tt,ut]=f.useState([]),[Se,Ct]=f.useState(F||(typeof window<"u"?crypto.randomUUID():null)),[Pn,jt]=f.useState(!1),[An,Mn]=f.useState(new Set),[Pt,Xe]=f.useState(new Map),[cs,En]=f.useState(new Map),[We,kn]=f.useState(new Map),[Nn,At]=f.useState(new Map),ae=N!==void 0,[Mt,et]=f.useState({}),fe=f.useRef({}),tn=ae?N||{}:Mt;ae&&N?fe.current=N:ae||(fe.current=Mt);const[Le,Ae]=f.useState(!1),[nn,Fe]=f.useState(null),dt=f.useRef(!1),Dn=f.useCallback(async(p,x=3)=>{if(!Se||!re.current)return;const y=async()=>{const P=`${e.replace("/chat","").replace(/\/$/,"")}/convex/api/mutation`,O=await fetch(P,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${re.current}`},body:JSON.stringify({path:"conversations:mergeStateByChatId",args:{chatId:Se,updates:p},format:"json"})});if(!O.ok){if(O.status===404){console.warn("[useAgent] Convex API endpoint not available (404), state changes will not be persisted");return}const B=await O.text().catch(()=>"Unknown error");throw new Error(`Failed to sync conversation state: ${O.status} ${B}`)}};for(let S=0;S<x;S++)try{await y(),Fe(null);return}catch(P){if(S===x-1){const B=P instanceof Error?P:new Error(String(P));throw Fe(B),console.error("Failed to sync state to Convex after retries:",P),B}await new Promise(B=>setTimeout(B,Math.pow(2,S)*100))}},[Se,e,re]),be=f.useMemo(()=>function(){return fe.current},[]),tt=f.useMemo(()=>async function(x){const y={...fe.current,...x};fe.current=y,ae||et(y),k&&k(y);try{await Dn(x)}catch(S){throw S}},[Dn,k,ae]);f.useEffect(()=>{ae&&N&&(fe.current=N)},[ae,N]);const Ce=f.useCallback(p=>D?D.showSecureModal(p):new Promise(x=>{Xe(y=>new Map(y).set(p.id,p)),En(y=>new Map(y).set(p.id,x))}),[D]),Rn=f.useCallback((p,x)=>{if(D)return;const y=cs.get(p);y&&(y(x),Xe(S=>{const P=new Map(S);return P.delete(p),P}),En(S=>{const P=new Map(S);return P.delete(p),P}))},[cs,D]),Et=f.useCallback(p=>D?D.showSecureForm(p):new Promise(x=>{kn(y=>new Map(y).set(p.id,p)),At(y=>new Map(y).set(p.id,x))}),[D]),Ke=f.useCallback((p,x)=>{if(D)return;const y=Nn.get(p);y&&(y(x),kn(S=>{const P=new Map(S);return P.delete(p),P}),At(S=>{const P=new Map(S);return P.delete(p),P}))},[Nn,D]),Vn=f.useCallback((p,x)=>{const y=Je[p]||{},S=Object.keys(y).length>0;if(d){const P=Object.keys(x).filter(O=>an(O)!==null);return S||P.length>0}return S},[Je,d]),In=f.useCallback((p,x)=>{const S={...Je[p]||{}};if(d){for(const O of Object.keys(x))if(!(O in S)){const B=an(O);B&&(S[O]=B)}}const P=Object.entries(S).filter(([O])=>Object.prototype.hasOwnProperty.call(x,O));return P.length>0?Object.fromEntries(P):S},[Je,d]),$e=f.useMemo(()=>R?.enabled?async function(x,y=20,S){const P={...R.filters,...S};if(j&&j.length>1){const B=j.map(Y=>fetch(`${e}/search`,{method:"POST",headers:{"Content-Type":"application/json",...re.current?{Authorization:`Bearer ${re.current}`}:{}},body:JSON.stringify({q:x,k:Math.min(y,100),organizationId:Y,...Object.keys(P).length>0?{filters:P}:{}})}).then(ie=>ie.ok?ie.json():null)),Z=await Promise.all(B),se=[];for(const Y of Z)Y?.candidates&&se.push(...Y.candidates);se.sort((Y,ie)=>{const nt=Y.scores?.rerank||Y.scores?.dense||0;return(ie.scores?.rerank||ie.scores?.dense||0)-nt});const Re=se.slice(0,y).map((Y,ie)=>{const nt=Y.citation||Y.url;return{rank:ie+1,doc_id:Y.doc_id,block_id:Y.block_id,url:Y.url,citation:nt,title:Y.title||"Untitled",snippet:Y.snippet,score:Y.scores?.rerank||Y.scores?.dense||0,metadata:{site:Y.metadata?.site,lang:Y.metadata?.lang,contentType:Y.metadata?.content_type}}});return{success:!0,query:x,total:se.length,results:Re,summary:`Found ${se.length} relevant results across ${j.length} source(s) for "${x}". Top result: ${Re[0]?.title||"N/A"}`}}const O=R.organizationId&&R.organizationId!=="default"?R.organizationId:j&&j.length>0?j[0]:void 0;try{const B={q:x,k:Math.min(y,100)};O&&(B.organizationId=O),Object.keys(P).length>0&&(B.filters=P);const Z={"Content-Type":"application/json"};re.current&&(Z.Authorization=`Bearer ${re.current}`);const se=await fetch(`${e}/search`,{method:"POST",headers:Z,body:JSON.stringify(B)});if(!se.ok){const ie=await se.text();return{success:!1,error:`Search failed: ${se.status} ${ie}`}}const Re=await se.json(),Y=Re.candidates.map((ie,nt)=>{const rn=ie.citation||ie.url;return{rank:nt+1,doc_id:ie.doc_id,block_id:ie.block_id,url:ie.url,citation:rn,title:ie.title||"Untitled",snippet:ie.snippet,score:ie.scores?.rerank||ie.scores?.dense||0,metadata:{site:ie.metadata?.site,lang:ie.metadata?.lang,contentType:ie.metadata?.content_type}}});return{success:!0,query:Re.query,total:Re.total,results:Y,summary:`Found ${Re.total} relevant results for "${x}". Top result: ${Y[0]?.title||"N/A"}`}}catch(B){return{success:!1,error:B instanceof Error?B.message:"Unknown error occurred"}}}:null,[R,e,re]),Be=f.useMemo(()=>R?.enabled?async function(x,y){const S=R.organizationId&&R.organizationId!=="default"?R.organizationId:j&&j.length>0?j[0]:void 0;try{const P={"Content-Type":"application/json"};re.current&&(P.Authorization=`Bearer ${re.current}`);const O=await fetch(`${e}/fetch`,{method:"POST",headers:P,body:JSON.stringify({doc_id:x,block_ids:y,...S?{organizationId:S}:{}})});if(!O.ok){const Z=await O.text();return{success:!1,error:`Fetch failed: ${O.status} ${Z}`}}const B=await O.json();return{success:!0,blocks:B.blocks||[],fullContent:B.fullContent||"",pageUrl:B.pageUrl||"",pageTitle:B.pageTitle||"",summary:`Fetched ${B.blocks?.length||0} blocks from ${B.pageTitle||x}`}}catch(P){return{success:!1,error:P instanceof Error?P.message:"Unknown error occurred"}}}:null,[R,e,re]),us=f.useMemo(()=>{if(q&&q.config?.tools){const p=Ol(q.config.tools,o);return console.log("[useAgent] Merged remote config:",{remoteToolCount:q.config.tools.length,localToolCount:o.length,mergedToolCount:p.length}),p}return o},[q,o]),kt=f.useMemo(()=>{const p=[...us,...i,be];return(!ae||I)&&p.push(tt),R?.enabled&&($e&&p.push($e),Be&&p.push(Be)),p},[us,i,be,tt,$e,Be,R,ae,I]),qe=f.useMemo(()=>ir(kt,a),[kt,a]),ht=f.useMemo(()=>{const p=new Map,x=new Map(qe.map(y=>[y.name,y]));return p.set("getState",be),(!ae||I)&&p.set("setState",tt),R?.enabled&&($e&&p.set("searchDocs",$e),Be&&p.set("fetchDocContent",Be)),kt.forEach(y=>{if(y===be||y===tt||y===$e||y===Be)return;const S=y[ke];if(S){const O=x.get(S);if(O){p.set(O.name,y);return}}const P=qe.find(O=>O.name===y.name);P&&p.set(P.name,y)}),p},[kt,qe,be,tt,$e,Be,R,ae,I]),On=f.useMemo(()=>new Set(qe.map(p=>p.name)),[qe]),Ln=f.useMemo(()=>{const p=[{name:"getState",description:"Get the current agent state. Returns IDs, workflow state, checklists, and other persistent data.",jsonSchema:{type:"object",properties:{},required:[]}}];(!ae||I)&&p.push({name:"setState",description:"Update the agent state. Store IDs, workflow state, checklists, context, and other data that must persist across conversations. Merges with existing state.",jsonSchema:{type:"object",properties:{updates:{type:"object",description:"Partial state updates to merge with existing state"}},required:["updates"]}});const x=[];return R?.enabled&&x.push({name:"searchDocs",description:"Search documentation using semantic search. Returns relevant results with snippets and scores. Use this first to find relevant documentation. Default returns 20 results - use higher k values (30-50) when you need to find many sources.",jsonSchema:{type:"object",properties:{query:{type:"string",description:"The search query (user's question or keywords)"},k:{type:"number",description:"Number of results to return (default: 20, max: 100). Use 20-30 for comprehensive searches, or higher (50-100) when you need to find all relevant sources.",default:20},filters:{type:"object",description:"Optional filters to scope the search",properties:{site:{type:"string"},lang:{type:"string"},tags:{type:"array",items:{type:"string"}},docIds:{type:"array",items:{type:"string"}},pageIds:{type:"array",items:{type:"string"}}}}},required:["query"]}},{name:"fetchDocContent",description:"Fetch full content of documentation blocks after searching. Use this AFTER searchDocs when you find relevant results (scores > 0.3) to get complete text. Automatically fetches nearby blocks (5 chunks before/after each requested block) for context. You can pass multiple block_ids to fetch comprehensive content from multiple blocks/pages.",jsonSchema:{type:"object",properties:{doc_id:{type:"string",description:"The doc_id from searchDocs results"},block_ids:{type:"array",items:{type:"string"},description:"Array of block_ids from searchDocs results. You can pass multiple block_ids to fetch comprehensive content."}},required:["doc_id","block_ids"]}}),[...qe,...p,...x]},[qe,R,ae,I]),Nt=f.useMemo(()=>Ln.filter(p=>p.name==="getState"?!0:p.name==="setState"?!ae||I:R?.enabled&&(p.name==="searchDocs"||p.name==="fetchDocContent")?!0:On.has(p.name)),[Ln,On,ae,I,R]),Fn=f.useMemo(()=>{const p=new Set;return p.add("getState"),p.add("setState"),R?.enabled&&R.autoExecute!==!1&&(p.add("searchDocs"),p.add("fetchDocContent")),i.forEach(x=>{for(const[y,S]of ht.entries())if(S===x){p.add(y);break}}),p},[i,ht,R]);f.useEffect(()=>s||n?void 0:((async()=>{try{const x=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:r})});if(!x.ok)throw new Error("Failed to fetch token");const y=await x.json();wt(y.clientToken),re.current=y.clientToken,jn(y.expiresAt),Qe(null)}catch(x){console.error("[useAgent] Token fetch failed:",x),Qe(x instanceof Error?x.message:"Failed to fetch token")}})(),()=>{_e.current&&clearTimeout(_e.current)}),[t,JSON.stringify(r),s,n]),f.useEffect(()=>{if(!St||s||n)return;_e.current&&clearTimeout(_e.current);const p=Math.floor(Date.now()/1e3),x=St-p,S=Math.max(0,x-5);return _e.current=setTimeout(async()=>{try{const P=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:r})});if(!P.ok)throw new Error("Failed to refresh token");const O=await P.json();wt(O.clientToken),re.current=O.clientToken,jn(O.expiresAt),Qe(null)}catch(P){console.error("[useAgent] Token refresh failed:",P),Qe(P instanceof Error?P.message:"Failed to refresh token")}},S*1e3),()=>{_e.current&&clearTimeout(_e.current)}},[St,t,JSON.stringify(r),s,n]);const $n=async(p,x={})=>{const y=x.headers?new Headers(x.headers):new Headers;y.delete("user-agent"),y.delete("User-Agent"),console.log("[useAgent] Making request to:",p),console.log("[useAgent] Method:",x.method||"GET"),console.log("[useAgent] Has Authorization header:",y.has("Authorization")),console.log("[useAgent] Client token available:",!!re.current);try{const S=await fetch(p,{...x,headers:y});if(!S.ok){console.error("[useAgent] Request failed:",S.status,S.statusText);const P=await S.text().catch(()=>"Unable to read error response");console.error("[useAgent] Error response:",P)}return S}catch(S){throw console.error("[useAgent] Fetch error:",S),S}},Bn=`${e}/chat`;console.log("[useAgent] Chat API URL:",Bn);const{messages:ze,sendMessage:ds,status:sn,error:Dt,stop:hs,addToolResult:C,setMessages:_}=pl.useChat({id:Se||void 0,messages:E,transport:new Wr.DefaultChatTransport({api:Bn,fetch:$n,headers:()=>{const p={};return re.current?(p.Authorization=`Bearer ${re.current}`,console.log("[useAgent] Adding Authorization header with token")):console.warn("[useAgent] No client token available - request may fail"),p},body:()=>{console.log("[ArctenAgent] body() agentName =",v);const p=Nt.map(S=>({name:S.name,description:S.description,inputSchema:S.jsonSchema})),x=p.filter(S=>S.name==="getState"||S.name==="setState").map(S=>S.name),y=p.filter(S=>S.name==="searchDocs"||S.name==="fetchDocContent").map(S=>S.name);return x.length>0&&console.log("[useAgent] State tools included in tools list sent to AI SDK:",x),y.length>0?console.log("[useAgent] RAG tools included in tools list sent to AI SDK:",y):R?.enabled&&console.warn("[useAgent] RAG is enabled but no RAG tools found in tools list!"),{tools:p,...w&&{agentId:w},...v&&{agentName:v},state:fe.current,...$&&{ragFilters:$}}}}),sendAutomaticallyWhen:Wr.lastAssistantMessageIsCompleteWithToolCalls}),U=f.useCallback((p,x,y)=>{const S=Ze(p,y);C({toolCallId:x,tool:p,output:S})},[C,Ze]);f.useEffect(()=>{ze.forEach(p=>{p.role==="assistant"&&p.parts.forEach(x=>{if(!x.type?.startsWith("tool-")||x.state!=="input-available")return;const y=x.type.replace("tool-",""),S=x.toolCallId;if(An.has(S))return;Mn(O=>new Set(O).add(S));const P=Il(x.input);if(Vn(y,P)){const O=In(y,P),B=Object.entries(O).filter(([Y])=>P[Y]!==void 0),Z=B.length>0?Object.fromEntries(B):O,se=Object.keys(P),Re=Vl(P,Z);(async()=>{try{const Y=Ml(y,se,Z,P),ie={id:`${S}-form`,toolName:y,toolCallId:S,title:Y.title,description:Y.description,fields:Y.fields},nt=await Et(ie);if(nt===null){U(y,S,"User cancelled secure input");return}const rn={...Re,...nt},fs=ht.get(y);if(!fs)throw new Error(`Tool ${y} not found`);let ms;const ps=Nt.find(_r=>_r.name===y);if(ps&&ps.jsonSchema?.properties){const ol=Object.keys(ps.jsonSchema.properties).map(al=>rn[al]);ms=await fs(...ol)}else ms=await fs(...Object.values(rn));U(y,S,ms)}catch(Y){console.error(`[useAgent] Error executing tool with secure input ${y}:`,Y),U(y,S,`Error: ${Y}`)}})();return}if(Fn.has(y)&&!Vn(y,P)){const O=ht.get(y);O?(async()=>{try{const B=Nt.find(se=>se.name===y);let Z;if(B&&B.jsonSchema?.properties){const Re=Object.keys(B.jsonSchema.properties).map(Y=>P[Y]);Z=await O(...Re)}else if(y==="getState")Z=O();else if(y==="setState"){const se=P.updates||P;Z=await O(se)}else Z=await O(...Object.values(P));U(y,S,Z)}catch(B){console.error(`[useAgent] Error executing tool ${y}:`,B),U(y,S,`Error: ${B}`)}})():console.warn(`[useAgent] Tool ${y} not found in toolsMap`)}else M&&M({toolCall:{toolCallId:S,toolName:y,args:P}})})})},[ze,Fn,ht,M,U,An,tt,Nt,Vn,In,Ce]),f.useEffect(()=>{if(sn==="ready"&&ze.length>0&&L){const p=ze[ze.length-1];p&&p.role==="assistant"&&L({message:p,messages:ze,isAbort:!1,isDisconnect:!1,isError:!!Dt})}},[sn,ze,Dt,L]);async function W(){if(!(!r?.id||!he)){jt(!0);try{const x=await(await fetch(`${e}/conversations`,{headers:{Authorization:`Bearer ${he}`}})).json();ut(x.conversations||[])}catch(p){console.error("Failed to fetch conversations:",p)}finally{jt(!1)}}}f.useEffect(()=>{r?.id&&he&&W()},[JSON.stringify(r),he,e]),f.useEffect(()=>{if(!Se||!re.current)return;(async()=>{Ae(!0),Fe(null);try{const x=await fetch(`${e.replace("/chat","")}/convex/api/query`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${re.current}`},body:JSON.stringify({path:"conversations:getStateByChatId",args:{chatId:Se},format:"json"})});if(!x.ok){const P=await x.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch conversation state: ${x.status} ${P}`)}const S=(await x.json())?.value||{};fe.current=S,ae||et(S),k&&k(S),dt.current=!0}catch(x){console.error("Failed to fetch state:",x);const y=x instanceof Error?x:new Error(String(x));Fe(y),dt.current||(fe.current={},ae?k&&k({}):(et({}),k&&k({})),dt.current=!0)}finally{Ae(!1)}})()},[Se,e,ae,k]);async function X(p){Ct(p),jt(!0);try{const x=await fetch(`${e}/conversations/${p}/messages`,{headers:{Authorization:`Bearer ${re.current}`}});if(!x.ok)throw new Error(`Failed to fetch messages: ${x.statusText}`);const S=(await x.json()).messages||[];_(S)}catch(x){console.error("Failed to load conversation messages:",x)}finally{jt(!1)}}async function K(p){if(he)try{await fetch(`${e}/conversations/${p}`,{method:"DELETE",headers:{Authorization:`Bearer ${he}`}}),ut(Tt.filter(x=>x._id!==p)),p===Se&&je()}catch(x){console.error("Failed to delete conversation:",x)}}function je(){const p=crypto.randomUUID();Ct(p),_([]),Mn(new Set),fe.current={},ae?k&&k({}):(et({}),k&&k({})),dt.current=!1}function ne(p){const x=p.tool||"unknown-tool",y=Ze(x,p.output);C({toolCallId:p.toolCallId,tool:x,output:y})}async function pe(p){const x={...fe.current,...p};fe.current=x,ae||et(x),k&&k(x);try{await Dn(p)}catch(y){throw y}}return{id:Se,messages:ze,status:sn,error:Dt,sendMessage:ds,stop:hs,addToolOutput:ne,setMessages:_,conversations:Tt,loadConversation:X,deleteConversation:K,startNewConversation:je,isLoadingConversations:Pn,clientToken:he,tokenError:en,state:tn,setState:pe,isStateLoading:Le,stateError:nn,pendingSecureInputs:Array.from(Pt.values()),completeSecureInput:Rn,pendingSecureForms:Array.from(We.values()),completeSecureForm:Ke}}function Q(...e){return yl.twMerge(gl.clsx(e))}const mt=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 active:scale-95",{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"}}),ye=Ie.forwardRef(({className:e,variant:t,size:n,asChild:s=!1,...r},o)=>{const i=s?ho.Slot:"button";return c.jsx(i,{ref:o,"data-slot":"button",className:Q(mt({variant:t,size:n,className:e})),...r})});ye.displayName="Button";const _l=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 gs({className:e,variant:t,asChild:n=!1,...s}){const r=n?ho.Slot:"span";return c.jsx(r,{"data-slot":"badge",className:Q(_l({variant:t}),e),...s})}const Xl=({textAreaRef:e,triggerAutoSize:t,maxHeight:n=Number.MAX_SAFE_INTEGER,minHeight:s=0})=>{const[r,o]=Ie.useState(!0);Ie.useEffect(()=>{const a=e.current;if(a){r&&(a.style.minHeight=`${s+6}px`,n>s&&(a.style.maxHeight=`${n}px`),o(!1)),a.style.height=`${s+6}px`;const l=a.scrollHeight;l>n?a.style.height=`${n}px`:a.style.height=`${l+6}px`}},[e.current,t])},xo=Ie.forwardRef(({maxHeight:e=Number.MAX_SAFE_INTEGER,minHeight:t=52,className:n,onChange:s,value:r,...o},i)=>{const a=Ie.useRef(null),[l,u]=Ie.useState("");return Xl({textAreaRef:a,triggerAutoSize:l,maxHeight:e,minHeight:t}),f.useImperativeHandle(i,()=>({textArea:a.current,focus:()=>a?.current?.focus(),maxHeight:e,minHeight:t})),Ie.useEffect(()=>{u(r)},[o?.defaultValue,r]),c.jsx("textarea",{...o,value:r,ref:a,className:Q("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:d=>{u(d.target.value),s?.(d)}})});xo.displayName="AutosizeTextarea";function Wl({delayDuration:e=0,...t}){return c.jsx($t.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function st({...e}){return c.jsx(Wl,{children:c.jsx($t.Root,{"data-slot":"tooltip",...e})})}function rt({...e}){return c.jsx($t.Trigger,{"data-slot":"tooltip-trigger",...e})}function it({className:e,sideOffset:t=0,children:n,...s}){return c.jsx($t.Portal,{children:c.jsxs($t.Content,{"data-slot":"tooltip-content",sideOffset:t,className:Q("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",e),...s,children:[n,c.jsx($t.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function qr({className:e,...t}){return c.jsx("kbd",{"data-slot":"kbd",className:Q("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",e),...t})}const or=f.createContext({});function ar(e){const t=f.useRef(null);return t.current===null&&(t.current=e()),t.current}const lr=typeof window<"u",bo=lr?f.useLayoutEffect:f.useEffect,is=f.createContext(null);function cr(e,t){e.indexOf(t)===-1&&e.push(t)}function ur(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const Ge=(e,t,n)=>n>t?t:n<e?e:n;function Is(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}let _t=()=>{},Ye=()=>{};process.env.NODE_ENV!=="production"&&(_t=(e,t,n)=>{!e&&typeof console<"u"&&console.warn(Is(t,n))},Ye=(e,t,n)=>{if(!e)throw new Error(Is(t,n))});const He={},vo=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function wo(e){return typeof e=="object"&&e!==null}const So=e=>/^0[^.\s]+$/u.test(e);function dr(e){let t;return()=>(t===void 0&&(t=e()),t)}const De=e=>e,Kl=(e,t)=>n=>t(e(n)),wn=(...e)=>e.reduce(Kl),pn=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s};class hr{constructor(){this.subscriptions=[]}add(t){return cr(this.subscriptions,t),()=>ur(this.subscriptions,t)}notify(t,n,s){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,s);else for(let o=0;o<r;o++){const i=this.subscriptions[o];i&&i(t,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Oe=e=>e*1e3,Ne=e=>e/1e3;function To(e,t){return t?e*(1e3/t):0}const Gr=new Set;function fr(e,t,n){e||Gr.has(t)||(console.warn(Is(t,n)),Gr.add(t))}const Co=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,ql=1e-7,Gl=12;function Yl(e,t,n,s,r){let o,i,a=0;do i=t+(n-t)/2,o=Co(i,s,r)-e,o>0?n=i:t=i;while(Math.abs(o)>ql&&++a<Gl);return i}function Sn(e,t,n,s){if(e===t&&n===s)return De;const r=o=>Yl(o,0,1,e,n);return o=>o===0||o===1?o:Co(r(o),t,s)}const jo=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Po=e=>t=>1-e(1-t),Ao=Sn(.33,1.53,.69,.99),mr=Po(Ao),Mo=jo(mr),Eo=e=>(e*=2)<1?.5*mr(e):.5*(2-Math.pow(2,-10*(e-1))),pr=e=>1-Math.sin(Math.acos(e)),ko=Po(pr),No=jo(pr),Hl=Sn(.42,0,1,1),Jl=Sn(0,0,.58,1),Do=Sn(.42,0,.58,1),Zl=e=>Array.isArray(e)&&typeof e[0]!="number",Ro=e=>Array.isArray(e)&&typeof e[0]=="number",Yr={linear:De,easeIn:Hl,easeInOut:Do,easeOut:Jl,circIn:pr,circInOut:No,circOut:ko,backIn:mr,backInOut:Mo,backOut:Ao,anticipate:Eo},Ql=e=>typeof e=="string",Hr=e=>{if(Ro(e)){Ye(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,s,r]=e;return Sn(t,n,s,r)}else if(Ql(e))return Ye(Yr[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),Yr[e];return e},zn=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function ec(e,t){let n=new Set,s=new Set,r=!1,o=!1;const i=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(d){i.has(d)&&(u.schedule(d),e()),d(a)}const u={schedule:(d,h=!1,m=!1)=>{const w=m&&r?n:s;return h&&i.add(d),w.has(d)||w.add(d),d},cancel:d=>{s.delete(d),i.delete(d)},process:d=>{if(a=d,r){o=!0;return}r=!0,[n,s]=[s,n],n.forEach(l),n.clear(),r=!1,o&&(o=!1,u.process(d))}};return u}const tc=40;function Vo(e,t){let n=!1,s=!0;const r={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,i=zn.reduce((E,F)=>(E[F]=ec(o),E),{}),{setup:a,read:l,resolveKeyframes:u,preUpdate:d,update:h,preRender:m,render:g,postRender:w}=i,v=()=>{const E=He.useManualTiming?r.timestamp:performance.now();n=!1,He.useManualTiming||(r.delta=s?1e3/60:Math.max(Math.min(E-r.timestamp,tc),1)),r.timestamp=E,r.isProcessing=!0,a.process(r),l.process(r),u.process(r),d.process(r),h.process(r),m.process(r),g.process(r),w.process(r),r.isProcessing=!1,n&&t&&(s=!1,e(v))},T=()=>{n=!0,s=!0,r.isProcessing||e(v)};return{schedule:zn.reduce((E,F)=>{const N=i[F];return E[F]=(k,I=!1,M=!1)=>(n||T(),N.schedule(k,I,M)),E},{}),cancel:E=>{for(let F=0;F<zn.length;F++)i[zn[F]].cancel(E)},state:r,steps:i}}const{schedule:oe,cancel:at,state:me,steps:ys}=Vo(typeof requestAnimationFrame<"u"?requestAnimationFrame:De,!0);let Gn;function nc(){Gn=void 0}const Te={now:()=>(Gn===void 0&&Te.set(me.isProcessing||He.useManualTiming?me.timestamp:performance.now()),Gn),set:e=>{Gn=e,queueMicrotask(nc)}},Io=e=>t=>typeof t=="string"&&t.startsWith(e),gr=Io("--"),sc=Io("var(--"),yr=e=>sc(e)?rc.test(e.split("/*")[0].trim()):!1,rc=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Xt={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},gn={...Xt,transform:e=>Ge(0,1,e)},Un={...Xt,default:1},un=e=>Math.round(e*1e5)/1e5,xr=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function ic(e){return e==null}const oc=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,br=(e,t)=>n=>!!(typeof n=="string"&&oc.test(n)&&n.startsWith(e)||t&&!ic(n)&&Object.prototype.hasOwnProperty.call(n,t)),Oo=(e,t,n)=>s=>{if(typeof s!="string")return s;const[r,o,i,a]=s.match(xr);return{[e]:parseFloat(r),[t]:parseFloat(o),[n]:parseFloat(i),alpha:a!==void 0?parseFloat(a):1}},ac=e=>Ge(0,255,e),xs={...Xt,transform:e=>Math.round(ac(e))},gt={test:br("rgb","red"),parse:Oo("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+xs.transform(e)+", "+xs.transform(t)+", "+xs.transform(n)+", "+un(gn.transform(s))+")"};function lc(e){let t="",n="",s="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,s+=s,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:r?parseInt(r,16)/255:1}}const Os={test:br("#"),parse:lc,transform:gt.transform},Tn=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ot=Tn("deg"),Ue=Tn("%"),z=Tn("px"),cc=Tn("vh"),uc=Tn("vw"),Jr={...Ue,parse:e=>Ue.parse(e)/100,transform:e=>Ue.transform(e*100)},Rt={test:br("hsl","hue"),parse:Oo("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Ue.transform(un(t))+", "+Ue.transform(un(n))+", "+un(gn.transform(s))+")"},de={test:e=>gt.test(e)||Os.test(e)||Rt.test(e),parse:e=>gt.test(e)?gt.parse(e):Rt.test(e)?Rt.parse(e):Os.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?gt.transform(e):Rt.transform(e),getAnimatableNone:e=>{const t=de.parse(e);return t.alpha=0,de.transform(t)}},dc=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function hc(e){return isNaN(e)&&typeof e=="string"&&(e.match(xr)?.length||0)+(e.match(dc)?.length||0)>0}const Lo="number",Fo="color",fc="var",mc="var(",Zr="${}",pc=/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 yn(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},r=[];let o=0;const a=t.replace(pc,l=>(de.test(l)?(s.color.push(o),r.push(Fo),n.push(de.parse(l))):l.startsWith(mc)?(s.var.push(o),r.push(fc),n.push(l)):(s.number.push(o),r.push(Lo),n.push(parseFloat(l))),++o,Zr)).split(Zr);return{values:n,split:a,indexes:s,types:r}}function $o(e){return yn(e).values}function Bo(e){const{split:t,types:n}=yn(e),s=t.length;return r=>{let o="";for(let i=0;i<s;i++)if(o+=t[i],r[i]!==void 0){const a=n[i];a===Lo?o+=un(r[i]):a===Fo?o+=de.transform(r[i]):o+=r[i]}return o}}const gc=e=>typeof e=="number"?0:de.test(e)?de.getAnimatableNone(e):e;function yc(e){const t=$o(e);return Bo(e)(t.map(gc))}const lt={test:hc,parse:$o,createTransformer:Bo,getAnimatableNone:yc};function bs(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function xc({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let r=0,o=0,i=0;if(!t)r=o=i=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;r=bs(l,a,e+1/3),o=bs(l,a,e),i=bs(l,a,e-1/3)}return{red:Math.round(r*255),green:Math.round(o*255),blue:Math.round(i*255),alpha:s}}function Qn(e,t){return n=>n>0?t:e}const ce=(e,t,n)=>e+(t-e)*n,vs=(e,t,n)=>{const s=e*e,r=n*(t*t-s)+s;return r<0?0:Math.sqrt(r)},bc=[Os,gt,Rt],vc=e=>bc.find(t=>t.test(e));function Qr(e){const t=vc(e);if(_t(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!t)return!1;let n=t.parse(e);return t===Rt&&(n=xc(n)),n}const ei=(e,t)=>{const n=Qr(e),s=Qr(t);if(!n||!s)return Qn(e,t);const r={...n};return o=>(r.red=vs(n.red,s.red,o),r.green=vs(n.green,s.green,o),r.blue=vs(n.blue,s.blue,o),r.alpha=ce(n.alpha,s.alpha,o),gt.transform(r))},Ls=new Set(["none","hidden"]);function wc(e,t){return Ls.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Sc(e,t){return n=>ce(e,t,n)}function vr(e){return typeof e=="number"?Sc:typeof e=="string"?yr(e)?Qn:de.test(e)?ei:jc:Array.isArray(e)?zo:typeof e=="object"?de.test(e)?ei:Tc:Qn}function zo(e,t){const n=[...e],s=n.length,r=e.map((o,i)=>vr(o)(o,t[i]));return o=>{for(let i=0;i<s;i++)n[i]=r[i](o);return n}}function Tc(e,t){const n={...e,...t},s={};for(const r in n)e[r]!==void 0&&t[r]!==void 0&&(s[r]=vr(e[r])(e[r],t[r]));return r=>{for(const o in s)n[o]=s[o](r);return n}}function Cc(e,t){const n=[],s={color:0,var:0,number:0};for(let r=0;r<t.values.length;r++){const o=t.types[r],i=e.indexes[o][s[o]],a=e.values[i]??0;n[r]=a,s[o]++}return n}const jc=(e,t)=>{const n=lt.createTransformer(t),s=yn(e),r=yn(t);return s.indexes.var.length===r.indexes.var.length&&s.indexes.color.length===r.indexes.color.length&&s.indexes.number.length>=r.indexes.number.length?Ls.has(e)&&!r.values.length||Ls.has(t)&&!s.values.length?wc(e,t):wn(zo(Cc(s,r),r.values),n):(_t(!0,`Complex values '${e}' and '${t}' 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"),Qn(e,t))};function Uo(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?ce(e,t,n):vr(e)(e,t)}const Pc=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>oe.update(t,n),stop:()=>at(t),now:()=>me.isProcessing?me.timestamp:Te.now()}},_o=(e,t,n=10)=>{let s="";const r=Math.max(Math.round(t/n),2);for(let o=0;o<r;o++)s+=Math.round(e(o/(r-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},es=2e4;function wr(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<es;)t+=n,s=e.next(t);return t>=es?1/0:t}function Ac(e,t=100,n){const s=n({...e,keyframes:[0,t]}),r=Math.min(wr(s),es);return{type:"keyframes",ease:o=>s.next(r*o).value/t,duration:Ne(r)}}const Mc=5;function Xo(e,t,n){const s=Math.max(t-Mc,0);return To(n-e(s),t-s)}const le={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},ws=.001;function Ec({duration:e=le.duration,bounce:t=le.bounce,velocity:n=le.velocity,mass:s=le.mass}){let r,o;_t(e<=Oe(le.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let i=1-t;i=Ge(le.minDamping,le.maxDamping,i),e=Ge(le.minDuration,le.maxDuration,Ne(e)),i<1?(r=u=>{const d=u*i,h=d*e,m=d-n,g=Fs(u,i),w=Math.exp(-h);return ws-m/g*w},o=u=>{const h=u*i*e,m=h*n+n,g=Math.pow(i,2)*Math.pow(u,2)*e,w=Math.exp(-h),v=Fs(Math.pow(u,2),i);return(-r(u)+ws>0?-1:1)*((m-g)*w)/v}):(r=u=>{const d=Math.exp(-u*e),h=(u-n)*e+1;return-ws+d*h},o=u=>{const d=Math.exp(-u*e),h=(n-u)*(e*e);return d*h});const a=5/e,l=Nc(r,o,a);if(e=Oe(e),isNaN(l))return{stiffness:le.stiffness,damping:le.damping,duration:e};{const u=Math.pow(l,2)*s;return{stiffness:u,damping:i*2*Math.sqrt(s*u),duration:e}}}const kc=12;function Nc(e,t,n){let s=n;for(let r=1;r<kc;r++)s=s-e(s)/t(s);return s}function Fs(e,t){return e*Math.sqrt(1-t*t)}const Dc=["duration","bounce"],Rc=["stiffness","damping","mass"];function ti(e,t){return t.some(n=>e[n]!==void 0)}function Vc(e){let t={velocity:le.velocity,stiffness:le.stiffness,damping:le.damping,mass:le.mass,isResolvedFromDuration:!1,...e};if(!ti(e,Rc)&&ti(e,Dc))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),r=s*s,o=2*Ge(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:le.mass,stiffness:r,damping:o}}else{const n=Ec(e);t={...t,...n,mass:le.mass},t.isResolvedFromDuration=!0}return t}function ts(e=le.visualDuration,t=le.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:r}=n;const o=n.keyframes[0],i=n.keyframes[n.keyframes.length-1],a={done:!1,value:o},{stiffness:l,damping:u,mass:d,duration:h,velocity:m,isResolvedFromDuration:g}=Vc({...n,velocity:-Ne(n.velocity||0)}),w=m||0,v=u/(2*Math.sqrt(l*d)),T=i-o,b=Ne(Math.sqrt(l/d)),A=Math.abs(T)<5;s||(s=A?le.restSpeed.granular:le.restSpeed.default),r||(r=A?le.restDelta.granular:le.restDelta.default);let E;if(v<1){const N=Fs(b,v);E=k=>{const I=Math.exp(-v*b*k);return i-I*((w+v*b*T)/N*Math.sin(N*k)+T*Math.cos(N*k))}}else if(v===1)E=N=>i-Math.exp(-b*N)*(T+(w+b*T)*N);else{const N=b*Math.sqrt(v*v-1);E=k=>{const I=Math.exp(-v*b*k),M=Math.min(N*k,300);return i-I*((w+v*b*T)*Math.sinh(M)+N*T*Math.cosh(M))/N}}const F={calculatedDuration:g&&h||null,next:N=>{const k=E(N);if(g)a.done=N>=h;else{let I=N===0?w:0;v<1&&(I=N===0?Oe(w):Xo(E,N,k));const M=Math.abs(I)<=s,L=Math.abs(i-k)<=r;a.done=M&&L}return a.value=a.done?i:k,a},toString:()=>{const N=Math.min(wr(F),es),k=_o(I=>F.next(N*I).value,N,30);return N+"ms "+k},toTransition:()=>{}};return F}ts.applyToOptions=e=>{const t=Ac(e,100,ts);return e.ease=t.ease,e.duration=Oe(t.duration),e.type="keyframes",e};function $s({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:r=10,bounceStiffness:o=500,modifyTarget:i,min:a,max:l,restDelta:u=.5,restSpeed:d}){const h=e[0],m={done:!1,value:h},g=M=>a!==void 0&&M<a||l!==void 0&&M>l,w=M=>a===void 0?l:l===void 0||Math.abs(a-M)<Math.abs(l-M)?a:l;let v=n*t;const T=h+v,b=i===void 0?T:i(T);b!==T&&(v=b-h);const A=M=>-v*Math.exp(-M/s),E=M=>b+A(M),F=M=>{const L=A(M),j=E(M);m.done=Math.abs(L)<=u,m.value=m.done?b:j};let N,k;const I=M=>{g(m.value)&&(N=M,k=ts({keyframes:[m.value,w(m.value)],velocity:Xo(E,M,m.value),damping:r,stiffness:o,restDelta:u,restSpeed:d}))};return I(0),{calculatedDuration:null,next:M=>{let L=!1;return!k&&N===void 0&&(L=!0,F(M),I(M)),N!==void 0&&M>=N?k.next(M-N):(!L&&F(M),m)}}}function Ic(e,t,n){const s=[],r=n||He.mix||Uo,o=e.length-1;for(let i=0;i<o;i++){let a=r(e[i],e[i+1]);if(t){const l=Array.isArray(t)?t[i]||De:t;a=wn(l,a)}s.push(a)}return s}function Oc(e,t,{clamp:n=!0,ease:s,mixer:r}={}){const o=e.length;if(Ye(o===t.length,"Both input and output ranges must be the same length","range-length"),o===1)return()=>t[0];if(o===2&&t[0]===t[1])return()=>t[1];const i=e[0]===e[1];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=Ic(t,s,r),l=a.length,u=d=>{if(i&&d<e[0])return t[0];let h=0;if(l>1)for(;h<e.length-2&&!(d<e[h+1]);h++);const m=pn(e[h],e[h+1],d);return a[h](m)};return n?d=>u(Ge(e[0],e[o-1],d)):u}function Lc(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const r=pn(0,t,s);e.push(ce(n,1,r))}}function Fc(e){const t=[0];return Lc(t,e.length-1),t}function $c(e,t){return e.map(n=>n*t)}function Bc(e,t){return e.map(()=>t||Do).splice(0,e.length-1)}function Vt({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const r=Zl(s)?s.map(Hr):Hr(s),o={done:!1,value:t[0]},i=$c(n&&n.length===t.length?n:Fc(t),e),a=Oc(i,t,{ease:Array.isArray(r)?r:Bc(t,r)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}const zc=e=>e!==null;function Sr(e,{repeat:t,repeatType:n="loop"},s,r=1){const o=e.filter(zc),a=r<0||t&&n!=="loop"&&t%2===1?0:o.length-1;return!a||s===void 0?o[a]:s}const Uc={decay:$s,inertia:$s,tween:Vt,keyframes:Vt,spring:ts};function Wo(e){typeof e.type=="string"&&(e.type=Uc[e.type])}class Tr{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const _c=e=>e/100;class Cr extends Tr{constructor(t){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!==Te.now()&&this.tick(Te.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Wo(t);const{type:n=Vt,repeat:s=0,repeatDelay:r=0,repeatType:o,velocity:i=0}=t;let{keyframes:a}=t;const l=n||Vt;process.env.NODE_ENV!=="production"&&l!==Vt&&Ye(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),l!==Vt&&typeof a[0]!="number"&&(this.mixKeyframes=wn(_c,Uo(a[0],a[1])),a=[0,100]);const u=l({...t,keyframes:a});o==="mirror"&&(this.mirroredGenerator=l({...t,keyframes:[...a].reverse(),velocity:-i})),u.calculatedDuration===null&&(u.calculatedDuration=wr(u));const{calculatedDuration:d}=u;this.calculatedDuration=d,this.resolvedDuration=d+r,this.totalDuration=this.resolvedDuration*(s+1)-r,this.generator=u}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:s,totalDuration:r,mixKeyframes:o,mirroredGenerator:i,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return s.next(0);const{delay:u=0,keyframes:d,repeat:h,repeatType:m,repeatDelay:g,type:w,onUpdate:v,finalKeyframe:T}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-r/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const b=this.currentTime-u*(this.playbackSpeed>=0?1:-1),A=this.playbackSpeed>=0?b<0:b>r;this.currentTime=Math.max(b,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=r);let E=this.currentTime,F=s;if(h){const M=Math.min(this.currentTime,r)/a;let L=Math.floor(M),j=M%1;!j&&M>=1&&(j=1),j===1&&L--,L=Math.min(L,h+1),!!(L%2)&&(m==="reverse"?(j=1-j,g&&(j-=g/a)):m==="mirror"&&(F=i)),E=Ge(0,1,j)*a}const N=A?{done:!1,value:d[0]}:F.next(E);o&&(N.value=o(N.value));let{done:k}=N;!A&&l!==null&&(k=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);const I=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&k);return I&&w!==$s&&(N.value=Sr(d,this.options,T,this.speed)),v&&v(N.value),I&&this.finish(),N}then(t,n){return this.finished.then(t,n)}get duration(){return Ne(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ne(t)}get time(){return Ne(this.currentTime)}set time(t){t=Oe(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(Te.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Ne(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Pc,startTime:n}=this.options;this.driver||(this.driver=t(r=>this.tick(r))),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(Te.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(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function Xc(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const yt=e=>e*180/Math.PI,Bs=e=>{const t=yt(Math.atan2(e[1],e[0]));return zs(t)},Wc={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Bs,rotateZ:Bs,skewX:e=>yt(Math.atan(e[1])),skewY:e=>yt(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},zs=e=>(e=e%360,e<0&&(e+=360),e),ni=Bs,si=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),ri=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Kc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:si,scaleY:ri,scale:e=>(si(e)+ri(e))/2,rotateX:e=>zs(yt(Math.atan2(e[6],e[5]))),rotateY:e=>zs(yt(Math.atan2(-e[2],e[0]))),rotateZ:ni,rotate:ni,skewX:e=>yt(Math.atan(e[4])),skewY:e=>yt(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Us(e){return e.includes("scale")?1:0}function _s(e,t){if(!e||e==="none")return Us(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,r;if(n)s=Kc,r=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Wc,r=a}if(!r)return Us(t);const o=s[t],i=r[1].split(",").map(Gc);return typeof o=="function"?o(i):i[o]}const qc=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return _s(n,t)};function Gc(e){return parseFloat(e.trim())}const Wt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Kt=new Set(Wt),ii=e=>e===Xt||e===z,Yc=new Set(["x","y","z"]),Hc=Wt.filter(e=>!Yc.has(e));function Jc(e){const t=[];return Hc.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const xt={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>_s(t,"x"),y:(e,{transform:t})=>_s(t,"y")};xt.translateX=xt.x;xt.translateY=xt.y;const bt=new Set;let Xs=!1,Ws=!1,Ks=!1;function Ko(){if(Ws){const e=Array.from(bt).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const r=Jc(s);r.length&&(n.set(s,r),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const r=n.get(s);r&&r.forEach(([o,i])=>{s.getValue(o)?.set(i)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Ws=!1,Xs=!1,bt.forEach(e=>e.complete(Ks)),bt.clear()}function qo(){bt.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Ws=!0)})}function Zc(){Ks=!0,qo(),Ko(),Ks=!1}class jr{constructor(t,n,s,r,o,i=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=r,this.element=o,this.isAsync=i}scheduleResolve(){this.state="scheduled",this.isAsync?(bt.add(this),Xs||(Xs=!0,oe.read(qo),oe.resolveKeyframes(Ko))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:r}=this;if(t[0]===null){const o=r?.get(),i=t[t.length-1];if(o!==void 0)t[0]=o;else if(s&&n){const a=s.readValue(n,i);a!=null&&(t[0]=a)}t[0]===void 0&&(t[0]=i),r&&o===void 0&&r.set(t[0])}Xc(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),bt.delete(this)}cancel(){this.state==="scheduled"&&(bt.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Qc=e=>e.startsWith("--");function eu(e,t,n){Qc(t)?e.style.setProperty(t,n):e.style[t]=n}const tu=dr(()=>window.ScrollTimeline!==void 0),nu={};function su(e,t){const n=dr(e);return()=>nu[t]??n()}const Go=su(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),ln=([e,t,n,s])=>`cubic-bezier(${e}, ${t}, ${n}, ${s})`,oi={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:ln([0,.65,.55,1]),circOut:ln([.55,0,1,.45]),backIn:ln([.31,.01,.66,-.59]),backOut:ln([.33,1.53,.69,.99])};function Yo(e,t){if(e)return typeof e=="function"?Go()?_o(e,t):"ease-out":Ro(e)?ln(e):Array.isArray(e)?e.map(n=>Yo(n,t)||oi.easeOut):oi[e]}function ru(e,t,n,{delay:s=0,duration:r=300,repeat:o=0,repeatType:i="loop",ease:a="easeOut",times:l}={},u=void 0){const d={[t]:n};l&&(d.offset=l);const h=Yo(a,r);Array.isArray(h)&&(d.easing=h);const m={delay:s,duration:r,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:o+1,direction:i==="reverse"?"alternate":"normal"};return u&&(m.pseudoElement=u),e.animate(d,m)}function Ho(e){return typeof e=="function"&&"applyToOptions"in e}function iu({type:e,...t}){return Ho(e)&&Go()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class ou extends Tr{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:s,keyframes:r,pseudoElement:o,allowFlatten:i=!1,finalKeyframe:a,onComplete:l}=t;this.isPseudoElement=!!o,this.allowFlatten=i,this.options=t,Ye(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const u=iu(t);this.animation=ru(n,s,r,u,o),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){const d=Sr(r,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(d):eu(n,s,d),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:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return Ne(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ne(t)}get time(){return Ne(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=Oe(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&tu()?(this.animation.timeline=t,De):n(this)}}const Jo={anticipate:Eo,backInOut:Mo,circInOut:No};function au(e){return e in Jo}function lu(e){typeof e.ease=="string"&&au(e.ease)&&(e.ease=Jo[e.ease])}const ai=10;class cu extends ou{constructor(t){lu(t),Wo(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:s,onComplete:r,element:o,...i}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const a=new Cr({...i,autoplay:!1}),l=Oe(this.finishedTime??this.time);n.setWithVelocity(a.sample(l-ai).value,a.sample(l).value,ai),a.stop()}}const li=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(lt.test(e)||e==="0")&&!e.startsWith("url("));function uu(e){const t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function du(e,t,n,s){const r=e[0];if(r===null)return!1;if(t==="display"||t==="visibility")return!0;const o=e[e.length-1],i=li(r,t),a=li(o,t);return _t(i===a,`You are trying to animate ${t} from "${r}" to "${o}". "${i?o:r}" is not an animatable value.`,"value-not-animatable"),!i||!a?!1:uu(e)||(n==="spring"||Ho(n))&&s}function qs(e){e.duration=0,e.type="keyframes"}const hu=new Set(["opacity","clipPath","filter","transform"]),fu=dr(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function mu(e){const{motionValue:t,name:n,repeatDelay:s,repeatType:r,damping:o,type:i}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=t.owner.getProps();return fu()&&n&&hu.has(n)&&(n!=="transform"||!u)&&!l&&!s&&r!=="mirror"&&o!==0&&i!=="inertia"}const pu=40;class gu extends Tr{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:r=0,repeatDelay:o=0,repeatType:i="loop",keyframes:a,name:l,motionValue:u,element:d,...h}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Te.now();const m={autoplay:t,delay:n,type:s,repeat:r,repeatDelay:o,repeatType:i,name:l,motionValue:u,element:d,...h},g=d?.KeyframeResolver||jr;this.keyframeResolver=new g(a,(w,v,T)=>this.onKeyframesResolved(w,v,m,!T),l,u,d),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,s,r){this.keyframeResolver=void 0;const{name:o,type:i,velocity:a,delay:l,isHandoff:u,onUpdate:d}=s;this.resolvedAt=Te.now(),du(t,o,i,a)||((He.instantAnimations||!l)&&d?.(Sr(t,s,n)),t[0]=t[t.length-1],qs(s),s.repeat=0);const m={startTime:r?this.resolvedAt?this.resolvedAt-this.createdAt>pu?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:t},g=!u&&mu(m)?new cu({...m,element:m.motionValue.owner.current}):new Cr(m);g.finished.then(()=>this.notifyFinished()).catch(De),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(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Zc()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const yu=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function xu(e){const t=yu.exec(e);if(!t)return[,];const[,n,s,r]=t;return[`--${n??s}`,r]}const bu=4;function Zo(e,t,n=1){Ye(n<=bu,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,r]=xu(e);if(!s)return;const o=window.getComputedStyle(t).getPropertyValue(s);if(o){const i=o.trim();return vo(i)?parseFloat(i):i}return yr(r)?Zo(r,t,n+1):r}function Pr(e,t){return e?.[t]??e?.default??e}const Qo=new Set(["width","height","top","left","right","bottom",...Wt]),vu={test:e=>e==="auto",parse:e=>e},ea=e=>t=>t.test(e),ta=[Xt,z,Ue,ot,uc,cc,vu],ci=e=>ta.find(ea(e));function wu(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||So(e):!0}const Su=new Set(["brightness","contrast","saturate","opacity"]);function Tu(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(xr)||[];if(!s)return e;const r=n.replace(s,"");let o=Su.has(t)?1:0;return s!==n&&(o*=100),t+"("+o+r+")"}const Cu=/\b([a-z-]*)\(.*?\)/gu,Gs={...lt,getAnimatableNone:e=>{const t=e.match(Cu);return t?t.map(Tu).join(" "):e}},ui={...Xt,transform:Math.round},ju={rotate:ot,rotateX:ot,rotateY:ot,rotateZ:ot,scale:Un,scaleX:Un,scaleY:Un,scaleZ:Un,skew:ot,skewX:ot,skewY:ot,distance:z,translateX:z,translateY:z,translateZ:z,x:z,y:z,z,perspective:z,transformPerspective:z,opacity:gn,originX:Jr,originY:Jr,originZ:z},Ar={borderWidth:z,borderTopWidth:z,borderRightWidth:z,borderBottomWidth:z,borderLeftWidth:z,borderRadius:z,radius:z,borderTopLeftRadius:z,borderTopRightRadius:z,borderBottomRightRadius:z,borderBottomLeftRadius:z,width:z,maxWidth:z,height:z,maxHeight:z,top:z,right:z,bottom:z,left:z,padding:z,paddingTop:z,paddingRight:z,paddingBottom:z,paddingLeft:z,margin:z,marginTop:z,marginRight:z,marginBottom:z,marginLeft:z,backgroundPositionX:z,backgroundPositionY:z,...ju,zIndex:ui,fillOpacity:gn,strokeOpacity:gn,numOctaves:ui},Pu={...Ar,color:de,backgroundColor:de,outlineColor:de,fill:de,stroke:de,borderColor:de,borderTopColor:de,borderRightColor:de,borderBottomColor:de,borderLeftColor:de,filter:Gs,WebkitFilter:Gs},na=e=>Pu[e];function sa(e,t){let n=na(e);return n!==Gs&&(n=lt),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Au=new Set(["auto","none","0"]);function Mu(e,t,n){let s=0,r;for(;s<e.length&&!r;){const o=e[s];typeof o=="string"&&!Au.has(o)&&yn(o).values.length&&(r=e[s]),s++}if(r&&n)for(const o of t)e[o]=sa(n,r)}class Eu extends jr{constructor(t,n,s,r,o){super(t,n,s,r,o,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l<t.length;l++){let u=t[l];if(typeof u=="string"&&(u=u.trim(),yr(u))){const d=Zo(u,n.current);d!==void 0&&(t[l]=d),l===t.length-1&&(this.finalKeyframe=u)}}if(this.resolveNoneKeyframes(),!Qo.has(s)||t.length!==2)return;const[r,o]=t,i=ci(r),a=ci(o);if(i!==a)if(ii(i)&&ii(a))for(let l=0;l<t.length;l++){const u=t[l];typeof u=="string"&&(t[l]=parseFloat(u))}else xt[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,s=[];for(let r=0;r<t.length;r++)(t[r]===null||wu(t[r]))&&s.push(r);s.length&&Mu(t,s,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:s}=this;if(!t||!t.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=xt[s](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const r=n[n.length-1];r!==void 0&&t.getValue(s,r).jump(r,!1)}measureEndState(){const{element:t,name:n,unresolvedKeyframes:s}=this;if(!t||!t.current)return;const r=t.getValue(n);r&&r.jump(this.measuredOrigin,!1);const o=s.length-1,i=s[o];s[o]=xt[n](t.measureViewportBox(),window.getComputedStyle(t.current)),i!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=i),this.removedTransforms?.length&&this.removedTransforms.forEach(([a,l])=>{t.getValue(a).set(l)}),this.resolveNoneKeyframes()}}function ku(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const r=n?.[e]??s.querySelectorAll(e);return r?Array.from(r):[]}return Array.from(e)}const ra=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function ia(e){return wo(e)&&"offsetHeight"in e}const di=30,Nu=e=>!isNaN(parseFloat(e));class Du{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const r=Te.now();if(this.updatedAt!==r&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=Te.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Nu(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return process.env.NODE_ENV!=="production"&&fr(!1,'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'),this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new hr);const s=this.events[t].add(n);return t==="change"?()=>{s(),oe.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=Te.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>di)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,di);return To(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(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 zt(e,t){return new Du(e,t)}const{schedule:Mr}=Vo(queueMicrotask,!1),Ve={x:!1,y:!1};function oa(){return Ve.x||Ve.y}function Ru(e){return e==="x"||e==="y"?Ve[e]?null:(Ve[e]=!0,()=>{Ve[e]=!1}):Ve.x||Ve.y?null:(Ve.x=Ve.y=!0,()=>{Ve.x=Ve.y=!1})}function aa(e,t){const n=ku(e),s=new AbortController,r={passive:!0,...t,signal:s.signal};return[n,r,()=>s.abort()]}function hi(e){return!(e.pointerType==="touch"||oa())}function Vu(e,t,n={}){const[s,r,o]=aa(e,n),i=a=>{if(!hi(a))return;const{target:l}=a,u=t(l,a);if(typeof u!="function"||!l)return;const d=h=>{hi(h)&&(u(h),l.removeEventListener("pointerleave",d))};l.addEventListener("pointerleave",d,r)};return s.forEach(a=>{a.addEventListener("pointerenter",i,r)}),o}const la=(e,t)=>t?e===t?!0:la(e,t.parentElement):!1,Er=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Iu=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Ou(e){return Iu.has(e.tagName)||e.tabIndex!==-1}const Yn=new WeakSet;function fi(e){return t=>{t.key==="Enter"&&e(t)}}function Ss(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Lu=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=fi(()=>{if(Yn.has(n))return;Ss(n,"down");const r=fi(()=>{Ss(n,"up")}),o=()=>Ss(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",o,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function mi(e){return Er(e)&&!oa()}function Fu(e,t,n={}){const[s,r,o]=aa(e,n),i=a=>{const l=a.currentTarget;if(!mi(a))return;Yn.add(l);const u=t(l,a),d=(g,w)=>{window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",m),Yn.has(l)&&Yn.delete(l),mi(g)&&typeof u=="function"&&u(g,{success:w})},h=g=>{d(g,l===window||l===document||n.useGlobalTarget||la(l,g.target))},m=g=>{d(g,!1)};window.addEventListener("pointerup",h,r),window.addEventListener("pointercancel",m,r)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",i,r),ia(a)&&(a.addEventListener("focus",u=>Lu(u,r)),!Ou(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),o}function ca(e){return wo(e)&&"ownerSVGElement"in e}function $u(e){return ca(e)&&e.tagName==="svg"}const ge=e=>!!(e&&e.getVelocity),Bu=[...ta,de,lt],zu=e=>Bu.find(ea(e)),kr=f.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function pi(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Uu(...e){return t=>{let n=!1;const s=e.map(r=>{const o=pi(r,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let r=0;r<s.length;r++){const o=s[r];typeof o=="function"?o():pi(e[r],null)}}}}function _u(...e){return Ie.useCallback(Uu(...e),e)}class Xu extends Ie.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=n.offsetParent,r=ia(s)&&s.offsetWidth||0,o=this.props.sizeRef.current;o.height=n.offsetHeight||0,o.width=n.offsetWidth||0,o.top=n.offsetTop,o.left=n.offsetLeft,o.right=r-o.width-o.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Wu({children:e,isPresent:t,anchorX:n,root:s}){const r=f.useId(),o=f.useRef(null),i=f.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=f.useContext(kr),l=_u(o,e?.ref);return f.useInsertionEffect(()=>{const{width:u,height:d,top:h,left:m,right:g}=i.current;if(t||!o.current||!u||!d)return;const w=n==="left"?`left: ${m}`:`right: ${g}`;o.current.dataset.motionPopId=r;const v=document.createElement("style");a&&(v.nonce=a);const T=s??document.head;return T.appendChild(v),v.sheet&&v.sheet.insertRule(`
|
|
10
|
+
`);if("functions"in t&&typeof t.functions=="object"){const o=t;n=o.functions,s=o.toolOrder}else n=t,s=void 0;const r=new Set;return e.map(o=>{const i=jl(o,n,r,s);if(!i){const a=o.name,u=o[ke]||a||"unnamed";return 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 "${u}". This tool will be excluded.
|
|
11
|
+
To fix: Run "arcten-extract-types ." and ensure "${u}" is used in ArctenAgent/useAgent.`),null}return r.add(i.meta.name),{name:i.meta.name,description:i.meta.description,jsonSchema:i.meta.parameters}}).filter(o=>o!==null)}const Pl={password:[/^password$/i,/^pwd$/i,/^pass$/i,/^newPassword$/i,/^oldPassword$/i,/^currentPassword$/i,/^confirmPassword$/i,/.*password.*/i],email:[/^email$/i,/^emailAddress$/i,/^mail$/i,/.*email.*/i],phone:[/^phone$/i,/^phoneNumber$/i,/^mobile$/i,/^cell$/i,/^cellPhone$/i,/^telephone$/i,/.*phone.*/i,/.*mobile.*/i],pin:[/^pin$/i,/^pinCode$/i,/^securityPin$/i,/^accessPin$/i,/.*pin$/i],ssn:[/^ssn$/i,/^socialSecurityNumber$/i,/^social$/i,/.*ssn.*/i,/.*social.*/i],creditCard:[/^creditCard$/i,/^cardNumber$/i,/^card$/i,/^ccNumber$/i,/^creditCardNumber$/i,/.*card.*/i,/^cvv$/i,/^cvc$/i,/^cvn$/i,/^securityCode$/i],text:[]};function fn(e){for(const[t,n]of Object.entries(Pl))if(t!=="text"){for(const s of n)if(s.test(e))return t}return null}function Al(e,t){return{password:{title:"Password Required",description:"Please enter your password to continue",placeholder:"Enter password..."},email:{title:"Email Required",description:"Please enter your email address",placeholder:"Enter email address..."},phone:{title:"Phone Number Required",description:"Please enter your phone number",placeholder:"Enter phone number..."},pin:{title:"PIN Required",description:"Please enter your PIN",placeholder:"Enter PIN..."},ssn:{title:"Social Security Number Required",description:"Please enter your Social Security Number",placeholder:"XXX-XX-XXXX"},creditCard:{title:"Credit Card Required",description:"Please enter your credit card information",placeholder:"XXXX XXXX XXXX XXXX"},text:{title:"Secure Input Required",description:`Please enter your ${t}`,placeholder:`Enter ${t}...`}}[e]}function Ml(e,t,n){return t.length>0}function El(e,t,n,s={}){const r=[];return Object.keys(s).forEach(i=>{const a=i in n,l=n[i];if(!a){const h=s[i];if(h!=null&&h!=="")return}const u=kl(s[i]),d={name:i,type:Nl(l||fn(i)||"text"),label:po(i),placeholder:Dl(i,l),required:!0,value:u};d.type==="password"&&(d.validation=h=>h.length<8?"Password must be at least 8 characters":null),r.push(d)}),r.sort((i,a)=>{const l=i.name in n,u=a.name in n;return l===u?0:l?1:-1}),{shouldUseForm:Ml(e,t),fields:r,title:Rl(e),description:Vl(e,r.length)}}function kl(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e)}}function Nl(e){switch(e){case"password":return"password";case"email":return"email";case"phone":return"phone";case"pin":return"pin";case"ssn":return"ssn";case"creditCard":return"creditCard";default:return"text"}}function po(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").trim().toLowerCase().split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Dl(e,t){return t?Al(t,e).placeholder:`Enter ${po(e).toLowerCase()}...`}function Rl(e){return e.replace(/([A-Z])/g," $1").trim().toLowerCase().split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Vl(e,t){const n=e.toLowerCase();return t<=2?`Please provide the required information to ${n}.`:`Please fill out the form below to ${n}. Required fields are marked with *.`}function pn(e){if(typeof e=="string")try{const t=JSON.parse(e);return pn(t)}catch{return e}if(Array.isArray(e))return e.map(pn);if(e&&typeof e=="object"){const t={};for(const[n,s]of Object.entries(e))t[n]=pn(s);return t}return e}function Il(e,t){if(!t||Object.keys(t).length===0)return e;const n={...e};return Object.keys(t).forEach(s=>{s in n&&delete n[s]}),n}function Ol(e){if(typeof e=="string"){try{const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t))return pn(t)}catch{}return{}}return e&&typeof e=="object"&&!Array.isArray(e)?pn(e):{}}const Wn="__secureOutput",Kn="[hidden for privacy]";function Ll(e,t){if(!e||e.length===0)return t;const n=new Map;t.forEach(o=>{const i=o[ke]||o.name;i&&n.set(i,o)});const s=new Map(e.map(o=>[o.name,o])),r=[];return e.forEach(o=>{const i=n.get(o.name);if(!i){console.log(`[useAgent] Skipping server-only tool: ${o.name}`);return}if(!o.isEnabled&&!o.isOverridable){console.log(`[useAgent] Blocking non-overridable disabled tool: ${o.name}`);return}if(!o.isEnabled&&o.isOverridable&&i){console.log(`[useAgent] Allowing overridable disabled tool with local implementation: ${o.name}`),r.push(i);return}o.isEnabled&&i&&r.push(i)}),t.forEach(o=>{const i=o[ke]||o.name;i&&!s.has(i)&&(console.log(`[useAgent] Allowing client-only tool (forward compatible): ${i}`),r.push(o))}),r}function Fl(e){if(typeof globalThis.structuredClone=="function")return globalThis.structuredClone(e);try{return JSON.parse(JSON.stringify(e))}catch(t){return console.warn("[useAgent] Failed to clone value for redaction:",t),e}}function $l(e){return e.replace(/\[(\w+)\]/g,".$1").split(".").map(t=>t.trim()).filter(Boolean)}function Bl(e,t){if(t.length===0)return e;if(!e||typeof e!="object")return;let n=e;for(const s of t){if(!n||typeof n!="object")return;n=n[s]}return n}function zl(e,t,n){if(!e||typeof e!="object"||t.length===0)return!1;let s=e;for(let o=0;o<t.length-1;o++){if(!s||typeof s!="object")return!1;const i=s,a=t[o];if(a===void 0)return!1;const l=i[a];if(l==null||typeof l!="object")return!1;s=l}if(!s)return!1;const r=t[t.length-1];return!r||!(r in s)?!1:(s[r]=n,!0)}function Vs(e){return e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function go(e,t=""){const n={};return e&&typeof e=="object"?Object.entries(e).forEach(([s,r])=>{const o=t?`${t}.${s}`:s;n[o]=Vs(r),r&&typeof r=="object"&&Object.assign(n,go(r,o))}):t&&(n[t]=Vs(e)),n}function Ul(e){if(e===void 0||e===!1)return;if(e===!0)return{strategy:"full",fields:[],placeholder:Kn,includeFieldStatus:!1,preserve:[]};if(Array.isArray(e))return{strategy:"fields",fields:e,placeholder:Kn,includeFieldStatus:!1,preserve:[]};const t=e.strategy??(e.fields&&e.fields.length>0?"fields":"full");return{strategy:t,fields:t==="fields"?e.fields??[]:[],placeholder:e.placeholder??Kn,includeFieldStatus:e.includeFieldStatus??!1,preserve:e.preserve??[]}}function _l(e){if(!e)return{};const t={};for(const[n,s]of Object.entries(e)){const r=Ul(s);r&&(t[n]=r)}return t}function yo(e,t,n){const s=n.placeholder,r={tool:e,redacted:!0,strategy:n.strategy,placeholder:s};if(n.strategy==="full"){n.includeFieldStatus&&typeof t=="object"&&t!==null&&(r.fieldStatus=go(t)),r.redactedFields=["*"];let l={};return n.preserve.length>0&&t&&typeof t=="object"&&n.preserve.forEach(u=>{u in t&&(l[u]=t[u])}),l[Wn]=r,l}if(n.fields.includes("*"))return yo(e,t,{...n,strategy:"full",fields:[]});if(typeof t!="object"||t===null)return{value:s,[Wn]:{...r,redactedFields:n.fields}};const o=Fl(t),i=[],a={};return n.fields.forEach(l=>{const u=$l(l);if(u.length===0)return;const d=Bl(o,u),h=Vs(d);a[l]=h,zl(o,u,s)&&i.push(l)}),r.redactedFields=i,n.includeFieldStatus&&(r.fieldStatus=a),o[Wn]=r,o}function xo({apiBaseUrl:e="https://api.arcten.com",tokenEndpoint:t="/api/arcten/token",clientToken:n,skipTokenFetch:s=!1,user:r,tools:o=[],safeTools:i=[],toolMetadata:a,sensitiveParams:l,sensitiveOutputs:u,autoDetectSensitive:d=!1,autoFormGeneration:h=!1,formMode:m="auto",systemPrompt:p="",agentId:S,agentName:w,projectId:T,enableRemoteConfig:x,remoteConfigUrl:P,initialMessages:E=[],conversationId:L,state:N,onStateChange:k,allowStateEdits:I=!0,onToolCall:A,onFinish:O,sources:j,ragConfig:R,ragFilters:F,secureInputHandler:D}={}){const[$,J]=f.useState(null),[ne,G]=f.useState(!1),[se,fe]=f.useState(null),ge=f.useMemo(()=>{const g=j||[],y=$?.config?.sources||[];return[...new Set([...g,...y])]},[j,$]),B=f.useMemo(()=>R!==void 0?R:F?{enabled:!0,filters:F}:ge&&ge.length>0?{enabled:!0,organizationId:ge[0],autoExecute:!0,filters:void 0}:{enabled:!1},[ge,R,F]),Ct=f.useMemo(()=>x===!1?!1:!!T,[T,x]);f.useEffect(()=>{if(!Ct||!te.current)return;(async()=>{G(!0),fe(null);try{const b=`${P||e.replace("/chat","").replace(/\/$/,"")}/convex/api/query`,v=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${te.current}`},body:JSON.stringify({path:"agents:getConfigForClient",args:{projectId:T,agentName:w,agentId:S},format:"json"})});if(!v.ok){if(v.status===404){console.warn("[useAgent] Remote config endpoint not found (404), using local tools only"),J(null);return}const V=await v.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch remote config: ${v.status} ${V}`)}const M=await v.json();J(M?.value||null),console.log("[useAgent] Remote config loaded successfully:",M?.value)}catch(y){console.error("[useAgent] Failed to fetch remote config:",y);const b=y instanceof Error?y:new Error(String(y));fe(b),J(null)}finally{G(!1)}})()},[Ct,T,w,S,e,P]);const Te=f.useMemo(()=>{const g={};if(l)for(const[y,b]of Object.entries(l))if(g[y]={},Array.isArray(b))for(const v of b){const M=fn(v);g[y][v]=M||"text"}else for(const[v,M]of Object.entries(b))g[y][v]=M;if(a){for(const[y,b]of Object.entries(a))if(b&&typeof b=="object"&&"sensitiveParams"in b){g[y]||(g[y]={});const v=b.sensitiveParams;if(Array.isArray(v))for(const M of v){const V=fn(M);g[y][M]=V||"text"}else if(v&&typeof v=="object")for(const[M,V]of Object.entries(v))g[y][M]=V}}return g},[l,a,d]),at=f.useMemo(()=>_l(u),[u]),we=f.useCallback((g,y)=>{const b=at[g];if(!b)return y;try{return yo(g,y,b)}catch(v){return console.error(`[useAgent] Failed to redact output for ${g}:`,v),{value:Kn,[Wn]:{tool:g,redacted:!0,error:String(v)}}}},[at]),[Re,Qt]=f.useState(n||null),te=f.useRef(n||null),[en,lt]=f.useState(null),[tn,Nn]=f.useState(null),Ve=f.useRef(null),[ct,ut]=f.useState([]),[je,nn]=f.useState(L||(typeof window<"u"?crypto.randomUUID():null)),[ls,jt]=f.useState(!1),[Dn,dt]=f.useState(new Set),[Je,cs]=f.useState(new Map),[Rn,ze]=f.useState(new Map),[us,Vn]=f.useState(new Map),[Pt,sn]=f.useState(new Map),re=N!==void 0,[rn,Ie]=f.useState({}),ye=f.useRef({}),Ue=re?N||{}:rn;re&&N?ye.current=N:re||(ye.current=rn);const[Oe,At]=f.useState(!1),[ht,ft]=f.useState(null),on=f.useRef(!1),Pe=f.useCallback(async(g,y=3)=>{if(!je||!te.current)return;const b=async()=>{const M=`${e.replace("/chat","").replace(/\/$/,"")}/convex/api/mutation`,V=await fetch(M,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${te.current}`},body:JSON.stringify({path:"conversations:mergeStateByChatId",args:{chatId:je,updates:g},format:"json"})});if(!V.ok){if(V.status===404){console.warn("[useAgent] Convex API endpoint not available (404), state changes will not be persisted");return}const z=await V.text().catch(()=>"Unknown error");throw new Error(`Failed to sync conversation state: ${V.status} ${z}`)}};for(let v=0;v<y;v++)try{await b(),ft(null);return}catch(M){if(v===y-1){const z=M instanceof Error?M:new Error(String(M));throw ft(z),console.error("Failed to sync state to Convex after retries:",M),z}await new Promise(z=>setTimeout(z,Math.pow(2,v)*100))}},[je,e,te]),mt=f.useMemo(()=>function(){return ye.current},[]),he=f.useMemo(()=>async function(y){const b={...ye.current,...y};ye.current=b,re||Ie(b),k&&k(b);try{await Pe(y)}catch(v){throw v}},[Pe,k,re]);f.useEffect(()=>{re&&N&&(ye.current=N)},[re,N]);const In=f.useCallback(g=>D?D.showSecureModal(g):new Promise(y=>{cs(b=>new Map(b).set(g.id,g)),ze(b=>new Map(b).set(g.id,y))}),[D]),Mt=f.useCallback((g,y)=>{if(D)return;const b=Rn.get(g);b&&(b(y),cs(v=>{const M=new Map(v);return M.delete(g),M}),ze(v=>{const M=new Map(v);return M.delete(g),M}))},[Rn,D]),Ke=f.useCallback(g=>D?D.showSecureForm(g):new Promise(y=>{Vn(b=>new Map(b).set(g.id,g)),sn(b=>new Map(b).set(g.id,y))}),[D]),_r=f.useCallback((g,y)=>{if(D)return;const b=Pt.get(g);b&&(b(y),Vn(v=>{const M=new Map(v);return M.delete(g),M}),sn(v=>{const M=new Map(v);return M.delete(g),M}))},[Pt,D]),an=f.useCallback((g,y)=>{const b=Te[g]||{},v=Object.keys(b).length>0;if(d){const M=Object.keys(y).filter(V=>fn(V)!==null);return v||M.length>0}return v},[Te,d]),ln=f.useCallback((g,y)=>{const v={...Te[g]||{}};if(d){for(const V of Object.keys(y))if(!(V in v)){const z=fn(V);z&&(v[V]=z)}}const M=Object.entries(v).filter(([V])=>Object.prototype.hasOwnProperty.call(y,V));return M.length>0?Object.fromEntries(M):v},[Te,d]),_e=f.useMemo(()=>B?.enabled?async function(y,b=20,v){const M={...B.filters,...v};if(j&&j.length>1){const z=j.map(H=>fetch(`${e}/search`,{method:"POST",headers:{"Content-Type":"application/json",...te.current?{Authorization:`Bearer ${te.current}`}:{}},body:JSON.stringify({q:y,k:Math.min(b,100),organizationId:H,...Object.keys(M).length>0?{filters:M}:{}})}).then(oe=>oe.ok?oe.json():null)),ie=await Promise.all(z),me=[];for(const H of ie)H?.candidates&&me.push(...H.candidates);me.sort((H,oe)=>{const Qe=H.scores?.rerank||H.scores?.dense||0;return(oe.scores?.rerank||oe.scores?.dense||0)-Qe});const Le=me.slice(0,b).map((H,oe)=>{const Qe=H.citation||H.url;return{rank:oe+1,doc_id:H.doc_id,block_id:H.block_id,url:H.url,citation:Qe,title:H.title||"Untitled",snippet:H.snippet,score:H.scores?.rerank||H.scores?.dense||0,metadata:{site:H.metadata?.site,lang:H.metadata?.lang,contentType:H.metadata?.content_type}}});return{success:!0,query:y,total:me.length,results:Le,summary:`Found ${me.length} relevant results across ${j.length} source(s) for "${y}". Top result: ${Le[0]?.title||"N/A"}`}}const V=B.organizationId&&B.organizationId!=="default"?B.organizationId:j&&j.length>0?j[0]:void 0;try{const z={q:y,k:Math.min(b,100)};V&&(z.organizationId=V),Object.keys(M).length>0&&(z.filters=M);const ie={"Content-Type":"application/json"};te.current&&(ie.Authorization=`Bearer ${te.current}`);const me=await fetch(`${e}/search`,{method:"POST",headers:ie,body:JSON.stringify(z)});if(!me.ok){const oe=await me.text();return{success:!1,error:`Search failed: ${me.status} ${oe}`}}const Le=await me.json(),H=Le.candidates.map((oe,Qe)=>{const dn=oe.citation||oe.url;return{rank:Qe+1,doc_id:oe.doc_id,block_id:oe.block_id,url:oe.url,citation:dn,title:oe.title||"Untitled",snippet:oe.snippet,score:oe.scores?.rerank||oe.scores?.dense||0,metadata:{site:oe.metadata?.site,lang:oe.metadata?.lang,contentType:oe.metadata?.content_type}}});return{success:!0,query:Le.query,total:Le.total,results:H,summary:`Found ${Le.total} relevant results for "${y}". Top result: ${H[0]?.title||"N/A"}`}}catch(z){return{success:!1,error:z instanceof Error?z.message:"Unknown error occurred"}}}:null,[B,e,te]),Ze=f.useMemo(()=>B?.enabled?async function(y,b){const v=B.organizationId&&B.organizationId!=="default"?B.organizationId:j&&j.length>0?j[0]:void 0;try{const M={"Content-Type":"application/json"};te.current&&(M.Authorization=`Bearer ${te.current}`);const V=await fetch(`${e}/fetch`,{method:"POST",headers:M,body:JSON.stringify({doc_id:y,block_ids:b,...v?{organizationId:v}:{}})});if(!V.ok){const ie=await V.text();return{success:!1,error:`Fetch failed: ${V.status} ${ie}`}}const z=await V.json();return{success:!0,blocks:z.blocks||[],fullContent:z.fullContent||"",pageUrl:z.pageUrl||"",pageTitle:z.pageTitle||"",summary:`Fetched ${z.blocks?.length||0} blocks from ${z.pageTitle||y}`}}catch(M){return{success:!1,error:M instanceof Error?M.message:"Unknown error occurred"}}}:null,[B,e,te]),On=f.useMemo(()=>{if($&&$.config?.tools){const g=Ll($.config.tools,o);return console.log("[useAgent] Merged remote config:",{remoteToolCount:$.config.tools.length,localToolCount:o.length,mergedToolCount:g.length}),g}return o},[$,o]),Et=f.useMemo(()=>{const g=[...On,...i,mt];return(!re||I)&&g.push(he),B?.enabled&&(_e&&g.push(_e),Ze&&g.push(Ze)),g},[On,i,mt,he,_e,Ze,B,re,I]),qe=f.useMemo(()=>ir(Et,a),[Et,a]),pt=f.useMemo(()=>{const g=new Map,y=new Map(qe.map(b=>[b.name,b]));return g.set("getState",mt),(!re||I)&&g.set("setState",he),B?.enabled&&(_e&&g.set("searchDocs",_e),Ze&&g.set("fetchDocContent",Ze)),Et.forEach(b=>{if(b===mt||b===he||b===_e||b===Ze)return;const v=b[ke];if(v){const V=y.get(v);if(V){g.set(V.name,b);return}}const M=qe.find(V=>V.name===b.name);M&&g.set(M.name,b)}),g},[Et,qe,mt,he,_e,Ze,B,re,I]),Ln=f.useMemo(()=>new Set(qe.map(g=>g.name)),[qe]),Fn=f.useMemo(()=>{const g=[{name:"getState",description:"Get the current agent state. Returns IDs, workflow state, checklists, and other persistent data.",jsonSchema:{type:"object",properties:{},required:[]}}];(!re||I)&&g.push({name:"setState",description:"Update the agent state. Store IDs, workflow state, checklists, context, and other data that must persist across conversations. Merges with existing state.",jsonSchema:{type:"object",properties:{updates:{type:"object",description:"Partial state updates to merge with existing state"}},required:["updates"]}});const y=[];return B?.enabled&&y.push({name:"searchDocs",description:"Search documentation using semantic search. Returns relevant results with snippets and scores. Use this first to find relevant documentation. Default returns 20 results - use higher k values (30-50) when you need to find many sources.",jsonSchema:{type:"object",properties:{query:{type:"string",description:"The search query (user's question or keywords)"},k:{type:"number",description:"Number of results to return (default: 20, max: 100). Use 20-30 for comprehensive searches, or higher (50-100) when you need to find all relevant sources.",default:20},filters:{type:"object",description:"Optional filters to scope the search",properties:{site:{type:"string"},lang:{type:"string"},tags:{type:"array",items:{type:"string"}},docIds:{type:"array",items:{type:"string"}},pageIds:{type:"array",items:{type:"string"}}}}},required:["query"]}},{name:"fetchDocContent",description:"Fetch full content of documentation blocks after searching. Use this AFTER searchDocs when you find relevant results (scores > 0.3) to get complete text. Automatically fetches nearby blocks (5 chunks before/after each requested block) for context. You can pass multiple block_ids to fetch comprehensive content from multiple blocks/pages.",jsonSchema:{type:"object",properties:{doc_id:{type:"string",description:"The doc_id from searchDocs results"},block_ids:{type:"array",items:{type:"string"},description:"Array of block_ids from searchDocs results. You can pass multiple block_ids to fetch comprehensive content."}},required:["doc_id","block_ids"]}}),[...qe,...g,...y]},[qe,B,re,I]),kt=f.useMemo(()=>Fn.filter(g=>g.name==="getState"?!0:g.name==="setState"?!re||I:B?.enabled&&(g.name==="searchDocs"||g.name==="fetchDocContent")?!0:Ln.has(g.name)),[Fn,Ln,re,I,B]),cn=f.useMemo(()=>{const g=new Set;return g.add("getState"),g.add("setState"),B?.enabled&&B.autoExecute!==!1&&(g.add("searchDocs"),g.add("fetchDocContent")),i.forEach(y=>{for(const[b,v]of pt.entries())if(v===y){g.add(b);break}}),g},[i,pt,B]);f.useEffect(()=>s||n?void 0:((async()=>{try{const y=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:r})});if(!y.ok)throw new Error("Failed to fetch token");const b=await y.json();Qt(b.clientToken),te.current=b.clientToken,Nn(b.expiresAt),lt(null)}catch(y){console.error("[useAgent] Token fetch failed:",y),lt(y instanceof Error?y.message:"Failed to fetch token")}})(),()=>{Ve.current&&clearTimeout(Ve.current)}),[t,JSON.stringify(r),s,n]),f.useEffect(()=>{if(!tn||s||n)return;Ve.current&&clearTimeout(Ve.current);const g=Math.floor(Date.now()/1e3),y=tn-g,v=Math.max(0,y-5);return Ve.current=setTimeout(async()=>{try{const M=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:r})});if(!M.ok)throw new Error("Failed to refresh token");const V=await M.json();Qt(V.clientToken),te.current=V.clientToken,Nn(V.expiresAt),lt(null)}catch(M){console.error("[useAgent] Token refresh failed:",M),lt(M instanceof Error?M.message:"Failed to refresh token")}},v*1e3),()=>{Ve.current&&clearTimeout(Ve.current)}},[tn,t,JSON.stringify(r),s,n]);const ds=async(g,y={})=>{const b=y.headers?new Headers(y.headers):new Headers;b.delete("user-agent"),b.delete("User-Agent"),console.log("[useAgent] Making request to:",g),console.log("[useAgent] Method:",y.method||"GET"),console.log("[useAgent] Has Authorization header:",b.has("Authorization")),console.log("[useAgent] Client token available:",!!te.current);try{const v=await fetch(g,{...y,headers:b});if(!v.ok){console.error("[useAgent] Request failed:",v.status,v.statusText);const M=await v.text().catch(()=>"Unable to read error response");console.error("[useAgent] Error response:",M)}return v}catch(v){throw console.error("[useAgent] Fetch error:",v),v}},$n=`${e}/chat`;console.log("[useAgent] Chat API URL:",$n);const{messages:Xe,sendMessage:hs,status:Nt,error:un,stop:C,addToolResult:_,setMessages:W}=gl.useChat({id:je||void 0,messages:E,transport:new Kr.DefaultChatTransport({api:$n,fetch:ds,headers:()=>{const g={};return te.current?(g.Authorization=`Bearer ${te.current}`,console.log("[useAgent] Adding Authorization header with token")):console.warn("[useAgent] No client token available - request may fail"),g},body:()=>{console.log("[ArctenAgent] body() agentName =",w);const g=kt.map(v=>({name:v.name,description:v.description,inputSchema:v.jsonSchema})),y=g.filter(v=>v.name==="getState"||v.name==="setState").map(v=>v.name),b=g.filter(v=>v.name==="searchDocs"||v.name==="fetchDocContent").map(v=>v.name);return y.length>0&&console.log("[useAgent] State tools included in tools list sent to AI SDK:",y),b.length>0?console.log("[useAgent] RAG tools included in tools list sent to AI SDK:",b):B?.enabled&&console.warn("[useAgent] RAG is enabled but no RAG tools found in tools list!"),{tools:g,...S&&{agentId:S},...w&&{agentName:w},state:ye.current,...F&&{ragFilters:F}}}}),sendAutomaticallyWhen:Kr.lastAssistantMessageIsCompleteWithToolCalls}),K=f.useCallback((g,y,b)=>{const v=we(g,b);_({toolCallId:y,tool:g,output:v})},[_,we]);f.useEffect(()=>{Xe.forEach(g=>{g.role==="assistant"&&g.parts.forEach(y=>{if(!y.type?.startsWith("tool-")||y.state!=="input-available")return;const b=y.type.replace("tool-",""),v=y.toolCallId;if(Dn.has(v))return;dt(V=>new Set(V).add(v));const M=Ol(y.input);if(an(b,M)){const V=ln(b,M),z=Object.entries(V).filter(([H])=>M[H]!==void 0),ie=z.length>0?Object.fromEntries(z):V,me=Object.keys(M),Le=Il(M,ie);(async()=>{try{const H=El(b,me,ie,M),oe={id:`${v}-form`,toolName:b,toolCallId:v,title:H.title,description:H.description,fields:H.fields},Qe=await Ke(oe);if(Qe===null){K(b,v,"User cancelled secure input");return}const dn={...Le,...Qe},fs=pt.get(b);if(!fs)throw new Error(`Tool ${b} not found`);let ms;const ps=kt.find(Xr=>Xr.name===b);if(ps&&ps.jsonSchema?.properties){const al=Object.keys(ps.jsonSchema.properties).map(ll=>dn[ll]);ms=await fs(...al)}else ms=await fs(...Object.values(dn));K(b,v,ms)}catch(H){console.error(`[useAgent] Error executing tool with secure input ${b}:`,H),K(b,v,`Error: ${H}`)}})();return}if(cn.has(b)&&!an(b,M)){const V=pt.get(b);V?(async()=>{try{const z=kt.find(me=>me.name===b);let ie;if(z&&z.jsonSchema?.properties){const Le=Object.keys(z.jsonSchema.properties).map(H=>M[H]);ie=await V(...Le)}else if(b==="getState")ie=V();else if(b==="setState"){const me=M.updates||M;ie=await V(me)}else ie=await V(...Object.values(M));K(b,v,ie)}catch(z){console.error(`[useAgent] Error executing tool ${b}:`,z),K(b,v,`Error: ${z}`)}})():console.warn(`[useAgent] Tool ${b} not found in toolsMap`)}else A&&A({toolCall:{toolCallId:v,toolName:b,args:M}})})})},[Xe,cn,pt,A,K,Dn,he,kt,an,ln,In]),f.useEffect(()=>{if(Nt==="ready"&&Xe.length>0&&O){const g=Xe[Xe.length-1];g&&g.role==="assistant"&&O({message:g,messages:Xe,isAbort:!1,isDisconnect:!1,isError:!!un})}},[Nt,Xe,un,O]);async function q(){if(!(!r?.id||!Re)){jt(!0);try{const y=await(await fetch(`${e}/conversations`,{headers:{Authorization:`Bearer ${Re}`}})).json();ut(y.conversations||[])}catch(g){console.error("Failed to fetch conversations:",g)}finally{jt(!1)}}}f.useEffect(()=>{r?.id&&Re&&q()},[JSON.stringify(r),Re,e]),f.useEffect(()=>{if(!je||!te.current)return;(async()=>{At(!0),ft(null);try{const y=await fetch(`${e.replace("/chat","")}/convex/api/query`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${te.current}`},body:JSON.stringify({path:"conversations:getStateByChatId",args:{chatId:je},format:"json"})});if(!y.ok){const M=await y.text().catch(()=>"Unknown error");throw new Error(`Failed to fetch conversation state: ${y.status} ${M}`)}const v=(await y.json())?.value||{};ye.current=v,re||Ie(v),k&&k(v),on.current=!0}catch(y){console.error("Failed to fetch state:",y);const b=y instanceof Error?y:new Error(String(y));ft(b),on.current||(ye.current={},re?k&&k({}):(Ie({}),k&&k({})),on.current=!0)}finally{At(!1)}})()},[je,e,re,k]);async function Y(g){nn(g),jt(!0);try{const y=await fetch(`${e}/conversations/${g}/messages`,{headers:{Authorization:`Bearer ${te.current}`}});if(!y.ok)throw new Error(`Failed to fetch messages: ${y.statusText}`);const v=(await y.json()).messages||[];W(v)}catch(y){console.error("Failed to load conversation messages:",y)}finally{jt(!1)}}async function Ae(g){if(Re)try{await fetch(`${e}/conversations/${g}`,{method:"DELETE",headers:{Authorization:`Bearer ${Re}`}}),ut(ct.filter(y=>y._id!==g)),g===je&&ee()}catch(y){console.error("Failed to delete conversation:",y)}}function ee(){const g=crypto.randomUUID();nn(g),W([]),dt(new Set),ye.current={},re?k&&k({}):(Ie({}),k&&k({})),on.current=!1}function xe(g){const y=g.tool||"unknown-tool",b=we(y,g.output);_({toolCallId:g.toolCallId,tool:y,output:b})}async function X(g){const y={...ye.current,...g};ye.current=y,re||Ie(y),k&&k(y);try{await Pe(g)}catch(b){throw b}}return{id:je,messages:Xe,status:Nt,error:un,sendMessage:hs,stop:C,addToolOutput:xe,setMessages:W,conversations:ct,loadConversation:Y,deleteConversation:Ae,startNewConversation:ee,isLoadingConversations:ls,clientToken:Re,tokenError:en,state:Ue,setState:X,isStateLoading:Oe,stateError:ht,pendingSecureInputs:Array.from(Je.values()),completeSecureInput:Mt,pendingSecureForms:Array.from(us.values()),completeSecureForm:_r}}function Q(...e){return xl.twMerge(yl.clsx(e))}const yt=mo.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 active:scale-95",{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"}}),ve=$e.forwardRef(({className:e,variant:t,size:n,asChild:s=!1,...r},o)=>{const i=s?fo.Slot:"button";return c.jsx(i,{ref:o,"data-slot":"button",className:Q(yt({variant:t,size:n,className:e})),...r})});ve.displayName="Button";const Xl=mo.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 gs({className:e,variant:t,asChild:n=!1,...s}){const r=n?fo.Slot:"span";return c.jsx(r,{"data-slot":"badge",className:Q(Xl({variant:t}),e),...s})}const Wl=({textAreaRef:e,triggerAutoSize:t,maxHeight:n=Number.MAX_SAFE_INTEGER,minHeight:s=0})=>{const[r,o]=$e.useState(!0);$e.useEffect(()=>{const a=e.current;if(a){r&&(a.style.minHeight=`${s+6}px`,n>s&&(a.style.maxHeight=`${n}px`),o(!1)),a.style.height=`${s+6}px`;const l=a.scrollHeight;l>n?a.style.height=`${n}px`:a.style.height=`${l+6}px`}},[e.current,t])},bo=$e.forwardRef(({maxHeight:e=Number.MAX_SAFE_INTEGER,minHeight:t=52,className:n,onChange:s,value:r,...o},i)=>{const a=$e.useRef(null),[l,u]=$e.useState("");return Wl({textAreaRef:a,triggerAutoSize:l,maxHeight:e,minHeight:t}),f.useImperativeHandle(i,()=>({textArea:a.current,focus:()=>a?.current?.focus(),maxHeight:e,minHeight:t})),$e.useEffect(()=>{u(r)},[o?.defaultValue,r]),c.jsx("textarea",{...o,value:r,ref:a,className:Q("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:d=>{u(d.target.value),s?.(d)}})});bo.displayName="AutosizeTextarea";function Kl({delayDuration:e=0,...t}){return c.jsx(Ft.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function et({...e}){return c.jsx(Kl,{children:c.jsx(Ft.Root,{"data-slot":"tooltip",...e})})}function tt({...e}){return c.jsx(Ft.Trigger,{"data-slot":"tooltip-trigger",...e})}function nt({className:e,sideOffset:t=0,children:n,...s}){return c.jsx(Ft.Portal,{children:c.jsxs(Ft.Content,{"data-slot":"tooltip-content",sideOffset:t,className:Q("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",e),...s,children:[n,c.jsx(Ft.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function Gr({className:e,...t}){return c.jsx("kbd",{"data-slot":"kbd",className:Q("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",e),...t})}const or=f.createContext({});function ar(e){const t=f.useRef(null);return t.current===null&&(t.current=e()),t.current}const lr=typeof window<"u",vo=lr?f.useLayoutEffect:f.useEffect,rs=f.createContext(null);function cr(e,t){e.indexOf(t)===-1&&e.push(t)}function ur(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const Ge=(e,t,n)=>n>t?t:n<e?e:n;function Is(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}let Ut=()=>{},Ye=()=>{};process.env.NODE_ENV!=="production"&&(Ut=(e,t,n)=>{!e&&typeof console<"u"&&console.warn(Is(t,n))},Ye=(e,t,n)=>{if(!e)throw new Error(Is(t,n))});const He={},wo=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function So(e){return typeof e=="object"&&e!==null}const To=e=>/^0[^.\s]+$/u.test(e);function dr(e){let t;return()=>(t===void 0&&(t=e()),t)}const De=e=>e,ql=(e,t)=>n=>t(e(n)),An=(...e)=>e.reduce(ql),wn=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s};class hr{constructor(){this.subscriptions=[]}add(t){return cr(this.subscriptions,t),()=>ur(this.subscriptions,t)}notify(t,n,s){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,s);else for(let o=0;o<r;o++){const i=this.subscriptions[o];i&&i(t,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Be=e=>e*1e3,Ne=e=>e/1e3;function Co(e,t){return t?e*(1e3/t):0}const Yr=new Set;function fr(e,t,n){e||Yr.has(t)||(console.warn(Is(t,n)),Yr.add(t))}const jo=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Gl=1e-7,Yl=12;function Hl(e,t,n,s,r){let o,i,a=0;do i=t+(n-t)/2,o=jo(i,s,r)-e,o>0?n=i:t=i;while(Math.abs(o)>Gl&&++a<Yl);return i}function Mn(e,t,n,s){if(e===t&&n===s)return De;const r=o=>Hl(o,0,1,e,n);return o=>o===0||o===1?o:jo(r(o),t,s)}const Po=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ao=e=>t=>1-e(1-t),Mo=Mn(.33,1.53,.69,.99),mr=Ao(Mo),Eo=Po(mr),ko=e=>(e*=2)<1?.5*mr(e):.5*(2-Math.pow(2,-10*(e-1))),pr=e=>1-Math.sin(Math.acos(e)),No=Ao(pr),Do=Po(pr),Jl=Mn(.42,0,1,1),Zl=Mn(0,0,.58,1),Ro=Mn(.42,0,.58,1),Ql=e=>Array.isArray(e)&&typeof e[0]!="number",Vo=e=>Array.isArray(e)&&typeof e[0]=="number",Hr={linear:De,easeIn:Jl,easeInOut:Ro,easeOut:Zl,circIn:pr,circInOut:Do,circOut:No,backIn:mr,backInOut:Eo,backOut:Mo,anticipate:ko},ec=e=>typeof e=="string",Jr=e=>{if(Vo(e)){Ye(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,s,r]=e;return Mn(t,n,s,r)}else if(ec(e))return Ye(Hr[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),Hr[e];return e},Bn=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function tc(e,t){let n=new Set,s=new Set,r=!1,o=!1;const i=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(d){i.has(d)&&(u.schedule(d),e()),d(a)}const u={schedule:(d,h=!1,m=!1)=>{const S=m&&r?n:s;return h&&i.add(d),S.has(d)||S.add(d),d},cancel:d=>{s.delete(d),i.delete(d)},process:d=>{if(a=d,r){o=!0;return}r=!0,[n,s]=[s,n],n.forEach(l),n.clear(),r=!1,o&&(o=!1,u.process(d))}};return u}const nc=40;function Io(e,t){let n=!1,s=!0;const r={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,i=Bn.reduce((E,L)=>(E[L]=tc(o),E),{}),{setup:a,read:l,resolveKeyframes:u,preUpdate:d,update:h,preRender:m,render:p,postRender:S}=i,w=()=>{const E=He.useManualTiming?r.timestamp:performance.now();n=!1,He.useManualTiming||(r.delta=s?1e3/60:Math.max(Math.min(E-r.timestamp,nc),1)),r.timestamp=E,r.isProcessing=!0,a.process(r),l.process(r),u.process(r),d.process(r),h.process(r),m.process(r),p.process(r),S.process(r),r.isProcessing=!1,n&&t&&(s=!1,e(w))},T=()=>{n=!0,s=!0,r.isProcessing||e(w)};return{schedule:Bn.reduce((E,L)=>{const N=i[L];return E[L]=(k,I=!1,A=!1)=>(n||T(),N.schedule(k,I,A)),E},{}),cancel:E=>{for(let L=0;L<Bn.length;L++)i[Bn[L]].cancel(E)},state:r,steps:i}}const{schedule:ae,cancel:rt,state:pe,steps:ys}=Io(typeof requestAnimationFrame<"u"?requestAnimationFrame:De,!0);let qn;function sc(){qn=void 0}const Ce={now:()=>(qn===void 0&&Ce.set(pe.isProcessing||He.useManualTiming?pe.timestamp:performance.now()),qn),set:e=>{qn=e,queueMicrotask(sc)}},Oo=e=>t=>typeof t=="string"&&t.startsWith(e),gr=Oo("--"),rc=Oo("var(--"),yr=e=>rc(e)?ic.test(e.split("/*")[0].trim()):!1,ic=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,_t={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Sn={..._t,transform:e=>Ge(0,1,e)},zn={..._t,default:1},gn=e=>Math.round(e*1e5)/1e5,xr=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function oc(e){return e==null}const ac=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,br=(e,t)=>n=>!!(typeof n=="string"&&ac.test(n)&&n.startsWith(e)||t&&!oc(n)&&Object.prototype.hasOwnProperty.call(n,t)),Lo=(e,t,n)=>s=>{if(typeof s!="string")return s;const[r,o,i,a]=s.match(xr);return{[e]:parseFloat(r),[t]:parseFloat(o),[n]:parseFloat(i),alpha:a!==void 0?parseFloat(a):1}},lc=e=>Ge(0,255,e),xs={..._t,transform:e=>Math.round(lc(e))},bt={test:br("rgb","red"),parse:Lo("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+xs.transform(e)+", "+xs.transform(t)+", "+xs.transform(n)+", "+gn(Sn.transform(s))+")"};function cc(e){let t="",n="",s="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,s+=s,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:r?parseInt(r,16)/255:1}}const Os={test:br("#"),parse:cc,transform:bt.transform},En=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),st=En("deg"),We=En("%"),U=En("px"),uc=En("vh"),dc=En("vw"),Zr={...We,parse:e=>We.parse(e)/100,transform:e=>We.transform(e*100)},Dt={test:br("hsl","hue"),parse:Lo("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+We.transform(gn(t))+", "+We.transform(gn(n))+", "+gn(Sn.transform(s))+")"},de={test:e=>bt.test(e)||Os.test(e)||Dt.test(e),parse:e=>bt.test(e)?bt.parse(e):Dt.test(e)?Dt.parse(e):Os.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?bt.transform(e):Dt.transform(e),getAnimatableNone:e=>{const t=de.parse(e);return t.alpha=0,de.transform(t)}},hc=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function fc(e){return isNaN(e)&&typeof e=="string"&&(e.match(xr)?.length||0)+(e.match(hc)?.length||0)>0}const Fo="number",$o="color",mc="var",pc="var(",Qr="${}",gc=/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 Tn(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},r=[];let o=0;const a=t.replace(gc,l=>(de.test(l)?(s.color.push(o),r.push($o),n.push(de.parse(l))):l.startsWith(pc)?(s.var.push(o),r.push(mc),n.push(l)):(s.number.push(o),r.push(Fo),n.push(parseFloat(l))),++o,Qr)).split(Qr);return{values:n,split:a,indexes:s,types:r}}function Bo(e){return Tn(e).values}function zo(e){const{split:t,types:n}=Tn(e),s=t.length;return r=>{let o="";for(let i=0;i<s;i++)if(o+=t[i],r[i]!==void 0){const a=n[i];a===Fo?o+=gn(r[i]):a===$o?o+=de.transform(r[i]):o+=r[i]}return o}}const yc=e=>typeof e=="number"?0:de.test(e)?de.getAnimatableNone(e):e;function xc(e){const t=Bo(e);return zo(e)(t.map(yc))}const it={test:fc,parse:Bo,createTransformer:zo,getAnimatableNone:xc};function bs(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function bc({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let r=0,o=0,i=0;if(!t)r=o=i=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;r=bs(l,a,e+1/3),o=bs(l,a,e),i=bs(l,a,e-1/3)}return{red:Math.round(r*255),green:Math.round(o*255),blue:Math.round(i*255),alpha:s}}function Zn(e,t){return n=>n>0?t:e}const ce=(e,t,n)=>e+(t-e)*n,vs=(e,t,n)=>{const s=e*e,r=n*(t*t-s)+s;return r<0?0:Math.sqrt(r)},vc=[Os,bt,Dt],wc=e=>vc.find(t=>t.test(e));function ei(e){const t=wc(e);if(Ut(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!t)return!1;let n=t.parse(e);return t===Dt&&(n=bc(n)),n}const ti=(e,t)=>{const n=ei(e),s=ei(t);if(!n||!s)return Zn(e,t);const r={...n};return o=>(r.red=vs(n.red,s.red,o),r.green=vs(n.green,s.green,o),r.blue=vs(n.blue,s.blue,o),r.alpha=ce(n.alpha,s.alpha,o),bt.transform(r))},Ls=new Set(["none","hidden"]);function Sc(e,t){return Ls.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Tc(e,t){return n=>ce(e,t,n)}function vr(e){return typeof e=="number"?Tc:typeof e=="string"?yr(e)?Zn:de.test(e)?ti:Pc:Array.isArray(e)?Uo:typeof e=="object"?de.test(e)?ti:Cc:Zn}function Uo(e,t){const n=[...e],s=n.length,r=e.map((o,i)=>vr(o)(o,t[i]));return o=>{for(let i=0;i<s;i++)n[i]=r[i](o);return n}}function Cc(e,t){const n={...e,...t},s={};for(const r in n)e[r]!==void 0&&t[r]!==void 0&&(s[r]=vr(e[r])(e[r],t[r]));return r=>{for(const o in s)n[o]=s[o](r);return n}}function jc(e,t){const n=[],s={color:0,var:0,number:0};for(let r=0;r<t.values.length;r++){const o=t.types[r],i=e.indexes[o][s[o]],a=e.values[i]??0;n[r]=a,s[o]++}return n}const Pc=(e,t)=>{const n=it.createTransformer(t),s=Tn(e),r=Tn(t);return s.indexes.var.length===r.indexes.var.length&&s.indexes.color.length===r.indexes.color.length&&s.indexes.number.length>=r.indexes.number.length?Ls.has(e)&&!r.values.length||Ls.has(t)&&!s.values.length?Sc(e,t):An(Uo(jc(s,r),r.values),n):(Ut(!0,`Complex values '${e}' and '${t}' 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"),Zn(e,t))};function _o(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?ce(e,t,n):vr(e)(e,t)}const Ac=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>ae.update(t,n),stop:()=>rt(t),now:()=>pe.isProcessing?pe.timestamp:Ce.now()}},Xo=(e,t,n=10)=>{let s="";const r=Math.max(Math.round(t/n),2);for(let o=0;o<r;o++)s+=Math.round(e(o/(r-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},Qn=2e4;function wr(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<Qn;)t+=n,s=e.next(t);return t>=Qn?1/0:t}function Mc(e,t=100,n){const s=n({...e,keyframes:[0,t]}),r=Math.min(wr(s),Qn);return{type:"keyframes",ease:o=>s.next(r*o).value/t,duration:Ne(r)}}const Ec=5;function Wo(e,t,n){const s=Math.max(t-Ec,0);return Co(n-e(s),t-s)}const le={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},ws=.001;function kc({duration:e=le.duration,bounce:t=le.bounce,velocity:n=le.velocity,mass:s=le.mass}){let r,o;Ut(e<=Be(le.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let i=1-t;i=Ge(le.minDamping,le.maxDamping,i),e=Ge(le.minDuration,le.maxDuration,Ne(e)),i<1?(r=u=>{const d=u*i,h=d*e,m=d-n,p=Fs(u,i),S=Math.exp(-h);return ws-m/p*S},o=u=>{const h=u*i*e,m=h*n+n,p=Math.pow(i,2)*Math.pow(u,2)*e,S=Math.exp(-h),w=Fs(Math.pow(u,2),i);return(-r(u)+ws>0?-1:1)*((m-p)*S)/w}):(r=u=>{const d=Math.exp(-u*e),h=(u-n)*e+1;return-ws+d*h},o=u=>{const d=Math.exp(-u*e),h=(n-u)*(e*e);return d*h});const a=5/e,l=Dc(r,o,a);if(e=Be(e),isNaN(l))return{stiffness:le.stiffness,damping:le.damping,duration:e};{const u=Math.pow(l,2)*s;return{stiffness:u,damping:i*2*Math.sqrt(s*u),duration:e}}}const Nc=12;function Dc(e,t,n){let s=n;for(let r=1;r<Nc;r++)s=s-e(s)/t(s);return s}function Fs(e,t){return e*Math.sqrt(1-t*t)}const Rc=["duration","bounce"],Vc=["stiffness","damping","mass"];function ni(e,t){return t.some(n=>e[n]!==void 0)}function Ic(e){let t={velocity:le.velocity,stiffness:le.stiffness,damping:le.damping,mass:le.mass,isResolvedFromDuration:!1,...e};if(!ni(e,Vc)&&ni(e,Rc))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),r=s*s,o=2*Ge(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:le.mass,stiffness:r,damping:o}}else{const n=kc(e);t={...t,...n,mass:le.mass},t.isResolvedFromDuration=!0}return t}function es(e=le.visualDuration,t=le.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:r}=n;const o=n.keyframes[0],i=n.keyframes[n.keyframes.length-1],a={done:!1,value:o},{stiffness:l,damping:u,mass:d,duration:h,velocity:m,isResolvedFromDuration:p}=Ic({...n,velocity:-Ne(n.velocity||0)}),S=m||0,w=u/(2*Math.sqrt(l*d)),T=i-o,x=Ne(Math.sqrt(l/d)),P=Math.abs(T)<5;s||(s=P?le.restSpeed.granular:le.restSpeed.default),r||(r=P?le.restDelta.granular:le.restDelta.default);let E;if(w<1){const N=Fs(x,w);E=k=>{const I=Math.exp(-w*x*k);return i-I*((S+w*x*T)/N*Math.sin(N*k)+T*Math.cos(N*k))}}else if(w===1)E=N=>i-Math.exp(-x*N)*(T+(S+x*T)*N);else{const N=x*Math.sqrt(w*w-1);E=k=>{const I=Math.exp(-w*x*k),A=Math.min(N*k,300);return i-I*((S+w*x*T)*Math.sinh(A)+N*T*Math.cosh(A))/N}}const L={calculatedDuration:p&&h||null,next:N=>{const k=E(N);if(p)a.done=N>=h;else{let I=N===0?S:0;w<1&&(I=N===0?Be(S):Wo(E,N,k));const A=Math.abs(I)<=s,O=Math.abs(i-k)<=r;a.done=A&&O}return a.value=a.done?i:k,a},toString:()=>{const N=Math.min(wr(L),Qn),k=Xo(I=>L.next(N*I).value,N,30);return N+"ms "+k},toTransition:()=>{}};return L}es.applyToOptions=e=>{const t=Mc(e,100,es);return e.ease=t.ease,e.duration=Be(t.duration),e.type="keyframes",e};function $s({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:r=10,bounceStiffness:o=500,modifyTarget:i,min:a,max:l,restDelta:u=.5,restSpeed:d}){const h=e[0],m={done:!1,value:h},p=A=>a!==void 0&&A<a||l!==void 0&&A>l,S=A=>a===void 0?l:l===void 0||Math.abs(a-A)<Math.abs(l-A)?a:l;let w=n*t;const T=h+w,x=i===void 0?T:i(T);x!==T&&(w=x-h);const P=A=>-w*Math.exp(-A/s),E=A=>x+P(A),L=A=>{const O=P(A),j=E(A);m.done=Math.abs(O)<=u,m.value=m.done?x:j};let N,k;const I=A=>{p(m.value)&&(N=A,k=es({keyframes:[m.value,S(m.value)],velocity:Wo(E,A,m.value),damping:r,stiffness:o,restDelta:u,restSpeed:d}))};return I(0),{calculatedDuration:null,next:A=>{let O=!1;return!k&&N===void 0&&(O=!0,L(A),I(A)),N!==void 0&&A>=N?k.next(A-N):(!O&&L(A),m)}}}function Oc(e,t,n){const s=[],r=n||He.mix||_o,o=e.length-1;for(let i=0;i<o;i++){let a=r(e[i],e[i+1]);if(t){const l=Array.isArray(t)?t[i]||De:t;a=An(l,a)}s.push(a)}return s}function Lc(e,t,{clamp:n=!0,ease:s,mixer:r}={}){const o=e.length;if(Ye(o===t.length,"Both input and output ranges must be the same length","range-length"),o===1)return()=>t[0];if(o===2&&t[0]===t[1])return()=>t[1];const i=e[0]===e[1];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=Oc(t,s,r),l=a.length,u=d=>{if(i&&d<e[0])return t[0];let h=0;if(l>1)for(;h<e.length-2&&!(d<e[h+1]);h++);const m=wn(e[h],e[h+1],d);return a[h](m)};return n?d=>u(Ge(e[0],e[o-1],d)):u}function Fc(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const r=wn(0,t,s);e.push(ce(n,1,r))}}function $c(e){const t=[0];return Fc(t,e.length-1),t}function Bc(e,t){return e.map(n=>n*t)}function zc(e,t){return e.map(()=>t||Ro).splice(0,e.length-1)}function Rt({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const r=Ql(s)?s.map(Jr):Jr(s),o={done:!1,value:t[0]},i=Bc(n&&n.length===t.length?n:$c(t),e),a=Lc(i,t,{ease:Array.isArray(r)?r:zc(t,r)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}const Uc=e=>e!==null;function Sr(e,{repeat:t,repeatType:n="loop"},s,r=1){const o=e.filter(Uc),a=r<0||t&&n!=="loop"&&t%2===1?0:o.length-1;return!a||s===void 0?o[a]:s}const _c={decay:$s,inertia:$s,tween:Rt,keyframes:Rt,spring:es};function Ko(e){typeof e.type=="string"&&(e.type=_c[e.type])}class Tr{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const Xc=e=>e/100;class Cr extends Tr{constructor(t){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!==Ce.now()&&this.tick(Ce.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Ko(t);const{type:n=Rt,repeat:s=0,repeatDelay:r=0,repeatType:o,velocity:i=0}=t;let{keyframes:a}=t;const l=n||Rt;process.env.NODE_ENV!=="production"&&l!==Rt&&Ye(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),l!==Rt&&typeof a[0]!="number"&&(this.mixKeyframes=An(Xc,_o(a[0],a[1])),a=[0,100]);const u=l({...t,keyframes:a});o==="mirror"&&(this.mirroredGenerator=l({...t,keyframes:[...a].reverse(),velocity:-i})),u.calculatedDuration===null&&(u.calculatedDuration=wr(u));const{calculatedDuration:d}=u;this.calculatedDuration=d,this.resolvedDuration=d+r,this.totalDuration=this.resolvedDuration*(s+1)-r,this.generator=u}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:s,totalDuration:r,mixKeyframes:o,mirroredGenerator:i,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return s.next(0);const{delay:u=0,keyframes:d,repeat:h,repeatType:m,repeatDelay:p,type:S,onUpdate:w,finalKeyframe:T}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-r/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const x=this.currentTime-u*(this.playbackSpeed>=0?1:-1),P=this.playbackSpeed>=0?x<0:x>r;this.currentTime=Math.max(x,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=r);let E=this.currentTime,L=s;if(h){const A=Math.min(this.currentTime,r)/a;let O=Math.floor(A),j=A%1;!j&&A>=1&&(j=1),j===1&&O--,O=Math.min(O,h+1),!!(O%2)&&(m==="reverse"?(j=1-j,p&&(j-=p/a)):m==="mirror"&&(L=i)),E=Ge(0,1,j)*a}const N=P?{done:!1,value:d[0]}:L.next(E);o&&(N.value=o(N.value));let{done:k}=N;!P&&l!==null&&(k=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);const I=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&k);return I&&S!==$s&&(N.value=Sr(d,this.options,T,this.speed)),w&&w(N.value),I&&this.finish(),N}then(t,n){return this.finished.then(t,n)}get duration(){return Ne(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ne(t)}get time(){return Ne(this.currentTime)}set time(t){t=Be(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(Ce.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Ne(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Ac,startTime:n}=this.options;this.driver||(this.driver=t(r=>this.tick(r))),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(Ce.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(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function Wc(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const vt=e=>e*180/Math.PI,Bs=e=>{const t=vt(Math.atan2(e[1],e[0]));return zs(t)},Kc={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Bs,rotateZ:Bs,skewX:e=>vt(Math.atan(e[1])),skewY:e=>vt(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},zs=e=>(e=e%360,e<0&&(e+=360),e),si=Bs,ri=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),ii=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),qc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:ri,scaleY:ii,scale:e=>(ri(e)+ii(e))/2,rotateX:e=>zs(vt(Math.atan2(e[6],e[5]))),rotateY:e=>zs(vt(Math.atan2(-e[2],e[0]))),rotateZ:si,rotate:si,skewX:e=>vt(Math.atan(e[4])),skewY:e=>vt(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Us(e){return e.includes("scale")?1:0}function _s(e,t){if(!e||e==="none")return Us(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,r;if(n)s=qc,r=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Kc,r=a}if(!r)return Us(t);const o=s[t],i=r[1].split(",").map(Yc);return typeof o=="function"?o(i):i[o]}const Gc=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return _s(n,t)};function Yc(e){return parseFloat(e.trim())}const Xt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Wt=new Set(Xt),oi=e=>e===_t||e===U,Hc=new Set(["x","y","z"]),Jc=Xt.filter(e=>!Hc.has(e));function Zc(e){const t=[];return Jc.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const wt={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>_s(t,"x"),y:(e,{transform:t})=>_s(t,"y")};wt.translateX=wt.x;wt.translateY=wt.y;const St=new Set;let Xs=!1,Ws=!1,Ks=!1;function qo(){if(Ws){const e=Array.from(St).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const r=Zc(s);r.length&&(n.set(s,r),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const r=n.get(s);r&&r.forEach(([o,i])=>{s.getValue(o)?.set(i)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Ws=!1,Xs=!1,St.forEach(e=>e.complete(Ks)),St.clear()}function Go(){St.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Ws=!0)})}function Qc(){Ks=!0,Go(),qo(),Ks=!1}class jr{constructor(t,n,s,r,o,i=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=r,this.element=o,this.isAsync=i}scheduleResolve(){this.state="scheduled",this.isAsync?(St.add(this),Xs||(Xs=!0,ae.read(Go),ae.resolveKeyframes(qo))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:r}=this;if(t[0]===null){const o=r?.get(),i=t[t.length-1];if(o!==void 0)t[0]=o;else if(s&&n){const a=s.readValue(n,i);a!=null&&(t[0]=a)}t[0]===void 0&&(t[0]=i),r&&o===void 0&&r.set(t[0])}Wc(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),St.delete(this)}cancel(){this.state==="scheduled"&&(St.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const eu=e=>e.startsWith("--");function tu(e,t,n){eu(t)?e.style.setProperty(t,n):e.style[t]=n}const nu=dr(()=>window.ScrollTimeline!==void 0),su={};function ru(e,t){const n=dr(e);return()=>su[t]??n()}const Yo=ru(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),mn=([e,t,n,s])=>`cubic-bezier(${e}, ${t}, ${n}, ${s})`,ai={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:mn([0,.65,.55,1]),circOut:mn([.55,0,1,.45]),backIn:mn([.31,.01,.66,-.59]),backOut:mn([.33,1.53,.69,.99])};function Ho(e,t){if(e)return typeof e=="function"?Yo()?Xo(e,t):"ease-out":Vo(e)?mn(e):Array.isArray(e)?e.map(n=>Ho(n,t)||ai.easeOut):ai[e]}function iu(e,t,n,{delay:s=0,duration:r=300,repeat:o=0,repeatType:i="loop",ease:a="easeOut",times:l}={},u=void 0){const d={[t]:n};l&&(d.offset=l);const h=Ho(a,r);Array.isArray(h)&&(d.easing=h);const m={delay:s,duration:r,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:o+1,direction:i==="reverse"?"alternate":"normal"};return u&&(m.pseudoElement=u),e.animate(d,m)}function Jo(e){return typeof e=="function"&&"applyToOptions"in e}function ou({type:e,...t}){return Jo(e)&&Yo()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class au extends Tr{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:s,keyframes:r,pseudoElement:o,allowFlatten:i=!1,finalKeyframe:a,onComplete:l}=t;this.isPseudoElement=!!o,this.allowFlatten=i,this.options=t,Ye(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const u=ou(t);this.animation=iu(n,s,r,u,o),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){const d=Sr(r,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(d):tu(n,s,d),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:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return Ne(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ne(t)}get time(){return Ne(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=Be(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&nu()?(this.animation.timeline=t,De):n(this)}}const Zo={anticipate:ko,backInOut:Eo,circInOut:Do};function lu(e){return e in Zo}function cu(e){typeof e.ease=="string"&&lu(e.ease)&&(e.ease=Zo[e.ease])}const li=10;class uu extends au{constructor(t){cu(t),Ko(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:s,onComplete:r,element:o,...i}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const a=new Cr({...i,autoplay:!1}),l=Be(this.finishedTime??this.time);n.setWithVelocity(a.sample(l-li).value,a.sample(l).value,li),a.stop()}}const ci=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(it.test(e)||e==="0")&&!e.startsWith("url("));function du(e){const t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function hu(e,t,n,s){const r=e[0];if(r===null)return!1;if(t==="display"||t==="visibility")return!0;const o=e[e.length-1],i=ci(r,t),a=ci(o,t);return Ut(i===a,`You are trying to animate ${t} from "${r}" to "${o}". "${i?o:r}" is not an animatable value.`,"value-not-animatable"),!i||!a?!1:du(e)||(n==="spring"||Jo(n))&&s}function qs(e){e.duration=0,e.type="keyframes"}const fu=new Set(["opacity","clipPath","filter","transform"]),mu=dr(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function pu(e){const{motionValue:t,name:n,repeatDelay:s,repeatType:r,damping:o,type:i}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=t.owner.getProps();return mu()&&n&&fu.has(n)&&(n!=="transform"||!u)&&!l&&!s&&r!=="mirror"&&o!==0&&i!=="inertia"}const gu=40;class yu extends Tr{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:r=0,repeatDelay:o=0,repeatType:i="loop",keyframes:a,name:l,motionValue:u,element:d,...h}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Ce.now();const m={autoplay:t,delay:n,type:s,repeat:r,repeatDelay:o,repeatType:i,name:l,motionValue:u,element:d,...h},p=d?.KeyframeResolver||jr;this.keyframeResolver=new p(a,(S,w,T)=>this.onKeyframesResolved(S,w,m,!T),l,u,d),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,s,r){this.keyframeResolver=void 0;const{name:o,type:i,velocity:a,delay:l,isHandoff:u,onUpdate:d}=s;this.resolvedAt=Ce.now(),hu(t,o,i,a)||((He.instantAnimations||!l)&&d?.(Sr(t,s,n)),t[0]=t[t.length-1],qs(s),s.repeat=0);const m={startTime:r?this.resolvedAt?this.resolvedAt-this.createdAt>gu?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:t},p=!u&&pu(m)?new uu({...m,element:m.motionValue.owner.current}):new Cr(m);p.finished.then(()=>this.notifyFinished()).catch(De),this.pendingTimeline&&(this.stopTimeline=p.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=p}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Qc()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const xu=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function bu(e){const t=xu.exec(e);if(!t)return[,];const[,n,s,r]=t;return[`--${n??s}`,r]}const vu=4;function Qo(e,t,n=1){Ye(n<=vu,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,r]=bu(e);if(!s)return;const o=window.getComputedStyle(t).getPropertyValue(s);if(o){const i=o.trim();return wo(i)?parseFloat(i):i}return yr(r)?Qo(r,t,n+1):r}function Pr(e,t){return e?.[t]??e?.default??e}const ea=new Set(["width","height","top","left","right","bottom",...Xt]),wu={test:e=>e==="auto",parse:e=>e},ta=e=>t=>t.test(e),na=[_t,U,We,st,dc,uc,wu],ui=e=>na.find(ta(e));function Su(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||To(e):!0}const Tu=new Set(["brightness","contrast","saturate","opacity"]);function Cu(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(xr)||[];if(!s)return e;const r=n.replace(s,"");let o=Tu.has(t)?1:0;return s!==n&&(o*=100),t+"("+o+r+")"}const ju=/\b([a-z-]*)\(.*?\)/gu,Gs={...it,getAnimatableNone:e=>{const t=e.match(ju);return t?t.map(Cu).join(" "):e}},di={..._t,transform:Math.round},Pu={rotate:st,rotateX:st,rotateY:st,rotateZ:st,scale:zn,scaleX:zn,scaleY:zn,scaleZ:zn,skew:st,skewX:st,skewY:st,distance:U,translateX:U,translateY:U,translateZ:U,x:U,y:U,z:U,perspective:U,transformPerspective:U,opacity:Sn,originX:Zr,originY:Zr,originZ:U},Ar={borderWidth:U,borderTopWidth:U,borderRightWidth:U,borderBottomWidth:U,borderLeftWidth:U,borderRadius:U,radius:U,borderTopLeftRadius:U,borderTopRightRadius:U,borderBottomRightRadius:U,borderBottomLeftRadius:U,width:U,maxWidth:U,height:U,maxHeight:U,top:U,right:U,bottom:U,left:U,padding:U,paddingTop:U,paddingRight:U,paddingBottom:U,paddingLeft:U,margin:U,marginTop:U,marginRight:U,marginBottom:U,marginLeft:U,backgroundPositionX:U,backgroundPositionY:U,...Pu,zIndex:di,fillOpacity:Sn,strokeOpacity:Sn,numOctaves:di},Au={...Ar,color:de,backgroundColor:de,outlineColor:de,fill:de,stroke:de,borderColor:de,borderTopColor:de,borderRightColor:de,borderBottomColor:de,borderLeftColor:de,filter:Gs,WebkitFilter:Gs},sa=e=>Au[e];function ra(e,t){let n=sa(e);return n!==Gs&&(n=it),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Mu=new Set(["auto","none","0"]);function Eu(e,t,n){let s=0,r;for(;s<e.length&&!r;){const o=e[s];typeof o=="string"&&!Mu.has(o)&&Tn(o).values.length&&(r=e[s]),s++}if(r&&n)for(const o of t)e[o]=ra(n,r)}class ku extends jr{constructor(t,n,s,r,o){super(t,n,s,r,o,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l<t.length;l++){let u=t[l];if(typeof u=="string"&&(u=u.trim(),yr(u))){const d=Qo(u,n.current);d!==void 0&&(t[l]=d),l===t.length-1&&(this.finalKeyframe=u)}}if(this.resolveNoneKeyframes(),!ea.has(s)||t.length!==2)return;const[r,o]=t,i=ui(r),a=ui(o);if(i!==a)if(oi(i)&&oi(a))for(let l=0;l<t.length;l++){const u=t[l];typeof u=="string"&&(t[l]=parseFloat(u))}else wt[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,s=[];for(let r=0;r<t.length;r++)(t[r]===null||Su(t[r]))&&s.push(r);s.length&&Eu(t,s,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:s}=this;if(!t||!t.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=wt[s](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const r=n[n.length-1];r!==void 0&&t.getValue(s,r).jump(r,!1)}measureEndState(){const{element:t,name:n,unresolvedKeyframes:s}=this;if(!t||!t.current)return;const r=t.getValue(n);r&&r.jump(this.measuredOrigin,!1);const o=s.length-1,i=s[o];s[o]=wt[n](t.measureViewportBox(),window.getComputedStyle(t.current)),i!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=i),this.removedTransforms?.length&&this.removedTransforms.forEach(([a,l])=>{t.getValue(a).set(l)}),this.resolveNoneKeyframes()}}function Nu(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const r=n?.[e]??s.querySelectorAll(e);return r?Array.from(r):[]}return Array.from(e)}const ia=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function oa(e){return So(e)&&"offsetHeight"in e}const hi=30,Du=e=>!isNaN(parseFloat(e));class Ru{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const r=Ce.now();if(this.updatedAt!==r&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=Ce.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Du(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return process.env.NODE_ENV!=="production"&&fr(!1,'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'),this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new hr);const s=this.events[t].add(n);return t==="change"?()=>{s(),ae.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=Ce.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>hi)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,hi);return Co(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(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 Bt(e,t){return new Ru(e,t)}const{schedule:Mr}=Io(queueMicrotask,!1),Fe={x:!1,y:!1};function aa(){return Fe.x||Fe.y}function Vu(e){return e==="x"||e==="y"?Fe[e]?null:(Fe[e]=!0,()=>{Fe[e]=!1}):Fe.x||Fe.y?null:(Fe.x=Fe.y=!0,()=>{Fe.x=Fe.y=!1})}function la(e,t){const n=Nu(e),s=new AbortController,r={passive:!0,...t,signal:s.signal};return[n,r,()=>s.abort()]}function fi(e){return!(e.pointerType==="touch"||aa())}function Iu(e,t,n={}){const[s,r,o]=la(e,n),i=a=>{if(!fi(a))return;const{target:l}=a,u=t(l,a);if(typeof u!="function"||!l)return;const d=h=>{fi(h)&&(u(h),l.removeEventListener("pointerleave",d))};l.addEventListener("pointerleave",d,r)};return s.forEach(a=>{a.addEventListener("pointerenter",i,r)}),o}const ca=(e,t)=>t?e===t?!0:ca(e,t.parentElement):!1,Er=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Ou=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Lu(e){return Ou.has(e.tagName)||e.tabIndex!==-1}const Gn=new WeakSet;function mi(e){return t=>{t.key==="Enter"&&e(t)}}function Ss(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Fu=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=mi(()=>{if(Gn.has(n))return;Ss(n,"down");const r=mi(()=>{Ss(n,"up")}),o=()=>Ss(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",o,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function pi(e){return Er(e)&&!aa()}function $u(e,t,n={}){const[s,r,o]=la(e,n),i=a=>{const l=a.currentTarget;if(!pi(a))return;Gn.add(l);const u=t(l,a),d=(p,S)=>{window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",m),Gn.has(l)&&Gn.delete(l),pi(p)&&typeof u=="function"&&u(p,{success:S})},h=p=>{d(p,l===window||l===document||n.useGlobalTarget||ca(l,p.target))},m=p=>{d(p,!1)};window.addEventListener("pointerup",h,r),window.addEventListener("pointercancel",m,r)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",i,r),oa(a)&&(a.addEventListener("focus",u=>Fu(u,r)),!Lu(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),o}function ua(e){return So(e)&&"ownerSVGElement"in e}function Bu(e){return ua(e)&&e.tagName==="svg"}const be=e=>!!(e&&e.getVelocity),zu=[...na,de,it],Uu=e=>zu.find(ta(e)),kr=f.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function gi(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function _u(...e){return t=>{let n=!1;const s=e.map(r=>{const o=gi(r,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let r=0;r<s.length;r++){const o=s[r];typeof o=="function"?o():gi(e[r],null)}}}}function Xu(...e){return $e.useCallback(_u(...e),e)}class Wu extends $e.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=n.offsetParent,r=oa(s)&&s.offsetWidth||0,o=this.props.sizeRef.current;o.height=n.offsetHeight||0,o.width=n.offsetWidth||0,o.top=n.offsetTop,o.left=n.offsetLeft,o.right=r-o.width-o.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Ku({children:e,isPresent:t,anchorX:n,root:s}){const r=f.useId(),o=f.useRef(null),i=f.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=f.useContext(kr),l=Xu(o,e?.ref);return f.useInsertionEffect(()=>{const{width:u,height:d,top:h,left:m,right:p}=i.current;if(t||!o.current||!u||!d)return;const S=n==="left"?`left: ${m}`:`right: ${p}`;o.current.dataset.motionPopId=r;const w=document.createElement("style");a&&(w.nonce=a);const T=s??document.head;return T.appendChild(w),w.sheet&&w.sheet.insertRule(`
|
|
12
12
|
[data-motion-pop-id="${r}"] {
|
|
13
13
|
position: absolute !important;
|
|
14
14
|
width: ${u}px !important;
|
|
15
15
|
height: ${d}px !important;
|
|
16
|
-
${
|
|
16
|
+
${S}px !important;
|
|
17
17
|
top: ${h}px !important;
|
|
18
18
|
}
|
|
19
|
-
`),()=>{T.contains(v)&&T.removeChild(v)}},[t]),c.jsx(Xu,{isPresent:t,childRef:o,sizeRef:i,children:Ie.cloneElement(e,{ref:l})})}const Ku=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:r,presenceAffectsLayout:o,mode:i,anchorX:a,root:l})=>{const u=ar(qu),d=f.useId();let h=!0,m=f.useMemo(()=>(h=!1,{id:d,initial:t,isPresent:n,custom:r,onExitComplete:g=>{u.set(g,!0);for(const w of u.values())if(!w)return;s&&s()},register:g=>(u.set(g,!1),()=>u.delete(g))}),[n,u,s]);return o&&h&&(m={...m}),f.useMemo(()=>{u.forEach((g,w)=>u.set(w,!1))},[n]),Ie.useEffect(()=>{!n&&!u.size&&s&&s()},[n]),i==="popLayout"&&(e=c.jsx(Wu,{isPresent:n,anchorX:a,root:l,children:e})),c.jsx(is.Provider,{value:m,children:e})};function qu(){return new Map}function ua(e=!0){const t=f.useContext(is);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:r}=t,o=f.useId();f.useEffect(()=>{if(e)return r(o)},[e]);const i=f.useCallback(()=>e&&s&&s(o),[o,s,e]);return!n&&s?[!1,i]:[!0]}const _n=e=>e.key||"";function gi(e){const t=[];return f.Children.forEach(e,n=>{f.isValidElement(n)&&t.push(n)}),t}const Gu=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:r=!0,mode:o="sync",propagate:i=!1,anchorX:a="left",root:l})=>{const[u,d]=ua(i),h=f.useMemo(()=>gi(e),[e]),m=i&&!u?[]:h.map(_n),g=f.useRef(!0),w=f.useRef(h),v=ar(()=>new Map),[T,b]=f.useState(h),[A,E]=f.useState(h);bo(()=>{g.current=!1,w.current=h;for(let k=0;k<A.length;k++){const I=_n(A[k]);m.includes(I)?v.delete(I):v.get(I)!==!0&&v.set(I,!1)}},[A,m.length,m.join("-")]);const F=[];if(h!==T){let k=[...h];for(let I=0;I<A.length;I++){const M=A[I],L=_n(M);m.includes(L)||(k.splice(I,0,M),F.push(M))}return o==="wait"&&F.length&&(k=F),E(gi(k)),b(h),null}process.env.NODE_ENV!=="production"&&o==="wait"&&A.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:N}=f.useContext(or);return c.jsx(c.Fragment,{children:A.map(k=>{const I=_n(k),M=i&&!u?!1:h===A||m.includes(I),L=()=>{if(v.has(I))v.set(I,!0);else return;let j=!0;v.forEach(V=>{V||(j=!1)}),j&&(N?.(),E(w.current),i&&d?.(),s&&s())};return c.jsx(Ku,{isPresent:M,initial:!g.current||n?void 0:!1,custom:t,presenceAffectsLayout:r,mode:o,root:l,onExitComplete:M?void 0:L,anchorX:a,children:k},I)})})},Nr=f.createContext({strict:!1}),yi={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"]},Ut={};for(const e in yi)Ut[e]={isEnabled:t=>yi[e].some(n=>!!t[n])};function Ys(e){for(const t in e)Ut[t]={...Ut[t],...e[t]}}function Yu({children:e,features:t,strict:n=!1}){const[,s]=f.useState(!Ts(t)),r=f.useRef(void 0);if(!Ts(t)){const{renderer:o,...i}=t;r.current=o,Ys(i)}return f.useEffect(()=>{Ts(t)&&t().then(({renderer:o,...i})=>{Ys(i),r.current=o,s(!0)})},[]),c.jsx(Nr.Provider,{value:{renderer:r.current,strict:n},children:e})}function Ts(e){return typeof e=="function"}const Hu=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 ns(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Hu.has(e)}let da=e=>!ns(e);function Ju(e){typeof e=="function"&&(da=t=>t.startsWith("on")?!ns(t):e(t))}try{Ju(require("@emotion/is-prop-valid").default)}catch{}function Zu(e,t,n){const s={};for(const r in e)r==="values"&&typeof e.values=="object"||(da(r)||n===!0&&ns(r)||!t&&!ns(r)||e.draggable&&r.startsWith("onDrag"))&&(s[r]=e[r]);return s}const os=f.createContext({});function as(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function xn(e){return typeof e=="string"||Array.isArray(e)}const Dr=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Rr=["initial",...Dr];function ls(e){return as(e.animate)||Rr.some(t=>xn(e[t]))}function ha(e){return!!(ls(e)||e.variants)}function Qu(e,t){if(ls(e)){const{initial:n,animate:s}=e;return{initial:n===!1||xn(n)?n:void 0,animate:xn(s)?s:void 0}}return e.inherit!==!1?t:{}}function ed(e){const{initial:t,animate:n}=Qu(e,f.useContext(os));return f.useMemo(()=>({initial:t,animate:n}),[xi(t),xi(n)])}function xi(e){return Array.isArray(e)?e.join(" "):e}const bn={};function td(e){for(const t in e)bn[t]=e[t],gr(t)&&(bn[t].isCSSVariable=!0)}function fa(e,{layout:t,layoutId:n}){return Kt.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!bn[e]||e==="opacity")}const nd={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},sd=Wt.length;function rd(e,t,n){let s="",r=!0;for(let o=0;o<sd;o++){const i=Wt[o],a=e[i];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(i.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const u=ra(a,Ar[i]);if(!l){r=!1;const d=nd[i]||i;s+=`${d}(${u}) `}n&&(t[i]=u)}}return s=s.trim(),n?s=n(t,r?"":s):r&&(s="none"),s}function Vr(e,t,n){const{style:s,vars:r,transformOrigin:o}=e;let i=!1,a=!1;for(const l in t){const u=t[l];if(Kt.has(l)){i=!0;continue}else if(gr(l)){r[l]=u;continue}else{const d=ra(u,Ar[l]);l.startsWith("origin")?(a=!0,o[l]=d):s[l]=d}}if(t.transform||(i||n?s.transform=rd(t,e.transform,n):s.transform&&(s.transform="none")),a){const{originX:l="50%",originY:u="50%",originZ:d=0}=o;s.transformOrigin=`${l} ${u} ${d}`}}const Ir=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ma(e,t,n){for(const s in t)!ge(t[s])&&!fa(s,n)&&(e[s]=t[s])}function id({transformTemplate:e},t){return f.useMemo(()=>{const n=Ir();return Vr(n,t,e),Object.assign({},n.vars,n.style)},[t])}function od(e,t){const n=e.style||{},s={};return ma(s,n,e),Object.assign(s,id(e,t)),s}function ad(e,t){const n={},s=od(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=s,n}const ld={offset:"stroke-dashoffset",array:"stroke-dasharray"},cd={offset:"strokeDashoffset",array:"strokeDasharray"};function ud(e,t,n=1,s=0,r=!0){e.pathLength=1;const o=r?ld:cd;e[o.offset]=z.transform(-s);const i=z.transform(t),a=z.transform(n);e[o.array]=`${i} ${a}`}function pa(e,{attrX:t,attrY:n,attrScale:s,pathLength:r,pathSpacing:o=1,pathOffset:i=0,...a},l,u,d){if(Vr(e,a,u),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:m}=e;h.transform&&(m.transform=h.transform,delete h.transform),(m.transform||h.transformOrigin)&&(m.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),m.transform&&(m.transformBox=d?.transformBox??"fill-box",delete h.transformBox),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),s!==void 0&&(h.scale=s),r!==void 0&&ud(h,r,o,i,!1)}const ga=()=>({...Ir(),attrs:{}}),ya=e=>typeof e=="string"&&e.toLowerCase()==="svg";function dd(e,t,n,s){const r=f.useMemo(()=>{const o=ga();return pa(o,t,ya(s),e.transformTemplate,e.style),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};ma(o,e.style,e),r.style={...o,...r.style}}return r}const hd=["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 Or(e){return typeof e!="string"||e.includes("-")?!1:!!(hd.indexOf(e)>-1||/[A-Z]/u.test(e))}function fd(e,t,n,{latestValues:s},r,o=!1){const a=(Or(e)?dd:ad)(t,s,r,e),l=Zu(t,typeof e=="string",o),u=e!==f.Fragment?{...l,...a,ref:n}:{},{children:d}=t,h=f.useMemo(()=>ge(d)?d.get():d,[d]);return f.createElement(e,{...u,children:h})}function bi(e){const t=[{},{}];return e?.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function Lr(e,t,n,s){if(typeof t=="function"){const[r,o]=bi(s);t=t(n!==void 0?n:e.custom,r,o)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,o]=bi(s);t=t(n!==void 0?n:e.custom,r,o)}return t}function Hn(e){return ge(e)?e.get():e}function md({scrapeMotionValuesFromProps:e,createRenderState:t},n,s,r){return{latestValues:pd(n,s,r,e),renderState:t()}}function pd(e,t,n,s){const r={},o=s(e,{});for(const m in o)r[m]=Hn(o[m]);let{initial:i,animate:a}=e;const l=ls(e),u=ha(e);t&&u&&!l&&e.inherit!==!1&&(i===void 0&&(i=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||i===!1;const h=d?a:i;if(h&&typeof h!="boolean"&&!as(h)){const m=Array.isArray(h)?h:[h];for(let g=0;g<m.length;g++){const w=Lr(e,m[g]);if(w){const{transitionEnd:v,transition:T,...b}=w;for(const A in b){let E=b[A];if(Array.isArray(E)){const F=d?E.length-1:0;E=E[F]}E!==null&&(r[A]=E)}for(const A in v)r[A]=v[A]}}}return r}const xa=e=>(t,n)=>{const s=f.useContext(os),r=f.useContext(is),o=()=>md(e,t,s,r);return n?o():ar(o)};function Fr(e,t,n){const{style:s}=e,r={};for(const o in s)(ge(s[o])||t.style&&ge(t.style[o])||fa(o,e)||n?.getValue(o)?.liveStyle!==void 0)&&(r[o]=s[o]);return r}const gd=xa({scrapeMotionValuesFromProps:Fr,createRenderState:Ir});function ba(e,t,n){const s=Fr(e,t,n);for(const r in e)if(ge(e[r])||ge(t[r])){const o=Wt.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;s[o]=e[r]}return s}const yd=xa({scrapeMotionValuesFromProps:ba,createRenderState:ga}),xd=Symbol.for("motionComponentSymbol");function It(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function bd(e,t,n){return f.useCallback(s=>{s&&e.onMount&&e.onMount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):It(n)&&(n.current=s))},[t])}const $r=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),vd="framerAppearId",va="data-"+$r(vd),wa=f.createContext({});function wd(e,t,n,s,r){const{visualElement:o}=f.useContext(os),i=f.useContext(Nr),a=f.useContext(is),l=f.useContext(kr).reducedMotion,u=f.useRef(null);s=s||i.renderer,!u.current&&s&&(u.current=s(e,{visualState:t,parent:o,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const d=u.current,h=f.useContext(wa);d&&!d.projection&&r&&(d.type==="html"||d.type==="svg")&&Sd(u.current,n,r,h);const m=f.useRef(!1);f.useInsertionEffect(()=>{d&&m.current&&d.update(n,a)});const g=n[va],w=f.useRef(!!g&&!window.MotionHandoffIsComplete?.(g)&&window.MotionHasOptimisedAnimation?.(g));return bo(()=>{d&&(m.current=!0,window.MotionIsMounted=!0,d.updateFeatures(),d.scheduleRenderMicrotask(),w.current&&d.animationState&&d.animationState.animateChanges())}),f.useEffect(()=>{d&&(!w.current&&d.animationState&&d.animationState.animateChanges(),w.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(g)}),w.current=!1),d.enteringChildren=void 0)}),d}function Sd(e,t,n,s){const{layoutId:r,layout:o,drag:i,dragConstraints:a,layoutScroll:l,layoutRoot:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Sa(e.parent)),e.projection.setOptions({layoutId:r,layout:o,alwaysMeasureLayout:!!i||a&&It(a),visualElement:e,animationType:typeof o=="string"?o:"both",initialPromotionConfig:s,crossfade:d,layoutScroll:l,layoutRoot:u})}function Sa(e){if(e)return e.options.allowProjection!==!1?e.projection:Sa(e.parent)}function Jn(e,{forwardMotionProps:t=!1}={},n,s){n&&Ys(n);const r=Or(e)?yd:gd;function o(a,l){let u;const d={...f.useContext(kr),...a,layoutId:Td(a)},{isStatic:h}=d,m=ed(a),g=r(a,h);if(!h&&lr){Cd(d,n);const w=jd(d);u=w.MeasureLayout,m.visualElement=wd(e,g,d,s,w.ProjectionNode)}return c.jsxs(os.Provider,{value:m,children:[u&&m.visualElement?c.jsx(u,{visualElement:m.visualElement,...d}):null,fd(e,a,bd(g,m.visualElement,l),g,h,t)]})}o.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const i=f.forwardRef(o);return i[xd]=e,i}function Td({layoutId:e}){const t=f.useContext(or).id;return t&&e!==void 0?t+"-"+e:e}function Cd(e,t){const n=f.useContext(Nr).strict;if(process.env.NODE_ENV!=="production"&&t&&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.";e.ignoreStrict?_t(!1,s,"lazy-strict-mode"):Ye(!1,s,"lazy-strict-mode")}}function jd(e){const{drag:t,layout:n}=Ut;if(!t&&!n)return{};const s={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function Pd(e,t){if(typeof Proxy>"u")return Jn;const n=new Map,s=(o,i)=>Jn(o,i,e,t),r=(o,i)=>(process.env.NODE_ENV!=="production"&&fr(!1,"motion() is deprecated. Use motion.create() instead."),s(o,i));return new Proxy(r,{get:(o,i)=>i==="create"?s:(n.has(i)||n.set(i,Jn(i,void 0,e,t)),n.get(i))})}function Ta({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function Ad({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Md(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function Cs(e){return e===void 0||e===1}function Hs({scale:e,scaleX:t,scaleY:n}){return!Cs(e)||!Cs(t)||!Cs(n)}function pt(e){return Hs(e)||Ca(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Ca(e){return vi(e.x)||vi(e.y)}function vi(e){return e&&e!=="0%"}function ss(e,t,n){const s=e-n,r=t*s;return n+r}function wi(e,t,n,s,r){return r!==void 0&&(e=ss(e,r,s)),ss(e,n,s)+t}function Js(e,t=0,n=1,s,r){e.min=wi(e.min,t,n,s,r),e.max=wi(e.max,t,n,s,r)}function ja(e,{x:t,y:n}){Js(e.x,t.translate,t.scale,t.originPoint),Js(e.y,n.translate,n.scale,n.originPoint)}const Si=.999999999999,Ti=1.0000000000001;function Ed(e,t,n,s=!1){const r=n.length;if(!r)return;t.x=t.y=1;let o,i;for(let a=0;a<r;a++){o=n[a],i=o.projectionDelta;const{visualElement:l}=o.options;l&&l.props.style&&l.props.style.display==="contents"||(s&&o.options.layoutScroll&&o.scroll&&o!==o.root&&Lt(e,{x:-o.scroll.offset.x,y:-o.scroll.offset.y}),i&&(t.x*=i.x.scale,t.y*=i.y.scale,ja(e,i)),s&&pt(o.latestValues)&&Lt(e,o.latestValues))}t.x<Ti&&t.x>Si&&(t.x=1),t.y<Ti&&t.y>Si&&(t.y=1)}function Ot(e,t){e.min=e.min+t,e.max=e.max+t}function Ci(e,t,n,s,r=.5){const o=ce(e.min,e.max,r);Js(e,t,n,o,s)}function Lt(e,t){Ci(e.x,t.x,t.scaleX,t.scale,t.originX),Ci(e.y,t.y,t.scaleY,t.scale,t.originY)}function Pa(e,t){return Ta(Md(e.getBoundingClientRect(),t))}function kd(e,t,n){const s=Pa(e,n),{scroll:r}=t;return r&&(Ot(s.x,r.offset.x),Ot(s.y,r.offset.y)),s}const ji=()=>({translate:0,scale:1,origin:0,originPoint:0}),Ft=()=>({x:ji(),y:ji()}),Pi=()=>({min:0,max:0}),ue=()=>({x:Pi(),y:Pi()}),Zs={current:null},Aa={current:!1};function Nd(){if(Aa.current=!0,!!lr)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Zs.current=e.matches;e.addEventListener("change",t),t()}else Zs.current=!1}const Dd=new WeakMap;function Rd(e,t,n){for(const s in t){const r=t[s],o=n[s];if(ge(r))e.addValue(s,r);else if(ge(o))e.addValue(s,zt(r,{owner:e}));else if(o!==r)if(e.hasValue(s)){const i=e.getValue(s);i.liveStyle===!0?i.jump(r):i.hasAnimated||i.set(r)}else{const i=e.getStaticValue(s);e.addValue(s,zt(i!==void 0?i:r,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const Ai=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Vd{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:r,blockInitialAnimation:o,visualState:i},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=jr,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 m=Te.now();this.renderScheduledAt<m&&(this.renderScheduledAt=m,oe.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=i;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=u,this.parent=t,this.props=n,this.presenceContext=s,this.depth=t?t.depth+1:0,this.reducedMotionConfig=r,this.options=a,this.blockInitialAnimation=!!o,this.isControllingVariants=ls(n),this.isVariantNode=ha(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:d,...h}=this.scrapeMotionValuesFromProps(n,{},this);for(const m in h){const g=h[m];l[m]!==void 0&&ge(g)&&g.set(l[m])}}mount(t){this.current=t,Dd.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),Aa.current||Nd(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Zs.current,process.env.NODE_ENV!=="production"&&fr(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(),at(this.notifyUpdate),at(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const s=Kt.has(t);s&&this.onBindTransform&&this.onBindTransform();const r=n.on("change",i=>{this.latestValues[t]=i,this.props.onUpdate&&oe.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let o;window.MotionCheckAppearSync&&(o=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),o&&o(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Ut){const n=Ut[t];if(!n)continue;const{isEnabled:s,Feature:r}=n;if(!this.features[t]&&r&&s(this.props)&&(this.features[t]=new r(this)),this.features[t]){const o=this.features[t];o.isMounted?o.update():(o.mount(),o.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):ue()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<Ai.length;s++){const r=Ai[s];this.propEventSubscriptions[r]&&(this.propEventSubscriptions[r](),delete this.propEventSubscriptions[r]);const o="on"+r,i=t[o];i&&(this.propEventSubscriptions[r]=this.on(r,i))}this.prevMotionValues=Rd(this,this.scrapeMotionValuesFromProps(t,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]: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(t){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(t),()=>n.variantChildren.delete(t)}addValue(t,n){const s=this.values.get(t);n!==s&&(s&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let s=this.values.get(t);return s===void 0&&n!==void 0&&(s=zt(n===null?void 0:n,{owner:this}),this.addValue(t,s)),s}readValue(t,n){let s=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return s!=null&&(typeof s=="string"&&(vo(s)||So(s))?s=parseFloat(s):!zu(s)&<.test(n)&&(s=sa(t,n)),this.setBaseTarget(t,ge(s)?s.get():s)),ge(s)?s.get():s}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const o=Lr(this.props,n,this.presenceContext?.custom);o&&(s=o[t])}if(n&&s!==void 0)return s;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!ge(r)?r:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new hr),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Mr.render(this.render)}}class Ma extends Vd{constructor(){super(...arguments),this.KeyframeResolver=Eu}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:s}){delete n[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ge(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function Ea(e,{style:t,vars:n},s,r){const o=e.style;let i;for(i in t)o[i]=t[i];r?.applyProjectionStyles(o,s);for(i in n)o.setProperty(i,n[i])}function Id(e){return window.getComputedStyle(e)}class Od extends Ma{constructor(){super(...arguments),this.type="html",this.renderInstance=Ea}readValueFromInstance(t,n){if(Kt.has(n))return this.projection?.isProjecting?Us(n):qc(t,n);{const s=Id(t),r=(gr(n)?s.getPropertyValue(n):s[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Pa(t,n)}build(t,n,s){Vr(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return Fr(t,n,s)}}const ka=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 Ld(e,t,n,s){Ea(e,t,void 0,s);for(const r in t.attrs)e.setAttribute(ka.has(r)?r:$r(r),t.attrs[r])}class Fd extends Ma{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=ue}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Kt.has(n)){const s=na(n);return s&&s.default||0}return n=ka.has(n)?n:$r(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return ba(t,n,s)}build(t,n,s){pa(t,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,n,s,r){Ld(t,n,s,r)}mount(t){this.isSVGTag=ya(t.tagName),super.mount(t)}}const Na=(e,t)=>Or(e)?new Fd(t):new Od(t,{allowProjection:e!==f.Fragment});function Bt(e,t,n){const s=e.getProps();return Lr(s,t,n!==void 0?n:s.custom,e)}const Qs=e=>Array.isArray(e);function $d(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,zt(n))}function Bd(e){return Qs(e)?e[e.length-1]||0:e}function zd(e,t){const n=Bt(e,t);let{transitionEnd:s={},transition:r={},...o}=n||{};o={...o,...s};for(const i in o){const a=Bd(o[i]);$d(e,i,a)}}function Ud(e){return!!(ge(e)&&e.add)}function er(e,t){const n=e.getValue("willChange");if(Ud(n))return n.add(t);if(!n&&He.WillChange){const s=new He.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function Da(e){return e.props[va]}const _d=e=>e!==null;function Xd(e,{repeat:t,repeatType:n="loop"},s){const r=e.filter(_d),o=t&&n!=="loop"&&t%2===1?0:r.length-1;return r[o]}const Wd={type:"spring",stiffness:500,damping:25,restSpeed:10},Kd=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),qd={type:"keyframes",duration:.8},Gd={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Yd=(e,{keyframes:t})=>t.length>2?qd:Kt.has(e)?e.startsWith("scale")?Kd(t[1]):Wd:Gd;function Hd({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:r,repeat:o,repeatType:i,repeatDelay:a,from:l,elapsed:u,...d}){return!!Object.keys(d).length}const Br=(e,t,n,s={},r,o)=>i=>{const a=Pr(s,e)||{},l=a.delay||s.delay||0;let{elapsed:u=0}=s;u=u-Oe(l);const d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-u,onUpdate:m=>{t.set(m),a.onUpdate&&a.onUpdate(m)},onComplete:()=>{i(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:o?void 0:r};Hd(a)||Object.assign(d,Yd(e,d)),d.duration&&(d.duration=Oe(d.duration)),d.repeatDelay&&(d.repeatDelay=Oe(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let h=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(qs(d),d.delay===0&&(h=!0)),(He.instantAnimations||He.skipAnimations)&&(h=!0,qs(d),d.delay=0),d.allowFlatten=!a.type&&!a.ease,h&&!o&&t.get()!==void 0){const m=Xd(d.keyframes,a);if(m!==void 0){oe.update(()=>{d.onUpdate(m),d.onComplete()});return}}return a.isSync?new Cr(d):new gu(d)};function Jd({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function Ra(e,t,{delay:n=0,transitionOverride:s,type:r}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:i,...a}=t;s&&(o=s);const l=[],u=r&&e.animationState&&e.animationState.getState()[r];for(const d in a){const h=e.getValue(d,e.latestValues[d]??null),m=a[d];if(m===void 0||u&&Jd(u,d))continue;const g={delay:n,...Pr(o||{},d)},w=h.get();if(w!==void 0&&!h.isAnimating&&!Array.isArray(m)&&m===w&&!g.velocity)continue;let v=!1;if(window.MotionHandoffAnimation){const b=Da(e);if(b){const A=window.MotionHandoffAnimation(b,d,oe);A!==null&&(g.startTime=A,v=!0)}}er(e,d),h.start(Br(d,h,m,e.shouldReduceMotion&&Qo.has(d)?{type:!1}:g,e,v));const T=h.animation;T&&l.push(T)}return i&&Promise.all(l).then(()=>{oe.update(()=>{i&&zd(e,i)})}),l}function Va(e,t,n,s=0,r=1){const o=Array.from(e).sort((u,d)=>u.sortNodePosition(d)).indexOf(t),i=e.size,a=(i-1)*s;return typeof n=="function"?n(o,i):r===1?o*s:a-o*s}function tr(e,t,n={}){const s=Bt(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:r=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(r=n.transitionOverride);const o=s?()=>Promise.all(Ra(e,s,n)):()=>Promise.resolve(),i=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:h}=r;return Zd(e,t,l,u,d,h,n)}:()=>Promise.resolve(),{when:a}=r;if(a){const[l,u]=a==="beforeChildren"?[o,i]:[i,o];return l().then(()=>u())}else return Promise.all([o(),i(n.delay)])}function Zd(e,t,n=0,s=0,r=0,o=1,i){const a=[];for(const l of e.variantChildren)l.notify("AnimationStart",t),a.push(tr(l,t,{...i,delay:n+(typeof s=="function"?0:s)+Va(e.variantChildren,l,s,r,o)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(a)}function Qd(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const r=t.map(o=>tr(e,o,n));s=Promise.all(r)}else if(typeof t=="string")s=tr(e,t,n);else{const r=typeof t=="function"?Bt(e,t,n.custom):t;s=Promise.all(Ra(e,r,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}function Ia(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;s<n;s++)if(t[s]!==e[s])return!1;return!0}const eh=Rr.length;function Oa(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Oa(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<eh;n++){const s=Rr[n],r=e.props[s];(xn(r)||r===!1)&&(t[s]=r)}return t}const th=[...Dr].reverse(),nh=Dr.length;function sh(e){return t=>Promise.all(t.map(({animation:n,options:s})=>Qd(e,n,s)))}function rh(e){let t=sh(e),n=Mi(),s=!0;const r=l=>(u,d)=>{const h=Bt(e,d,l==="exit"?e.presenceContext?.custom:void 0);if(h){const{transition:m,transitionEnd:g,...w}=h;u={...u,...w,...g}}return u};function o(l){t=l(e)}function i(l){const{props:u}=e,d=Oa(e.parent)||{},h=[],m=new Set;let g={},w=1/0;for(let T=0;T<nh;T++){const b=th[T],A=n[b],E=u[b]!==void 0?u[b]:d[b],F=xn(E),N=b===l?A.isActive:null;N===!1&&(w=T);let k=E===d[b]&&E!==u[b]&&F;if(k&&s&&e.manuallyAnimateOnMount&&(k=!1),A.protectedKeys={...g},!A.isActive&&N===null||!E&&!A.prevProp||as(E)||typeof E=="boolean")continue;const I=ih(A.prevProp,E);let M=I||b===l&&A.isActive&&!k&&F||T>w&&F,L=!1;const j=Array.isArray(E)?E:[E];let V=j.reduce(r(b),{});N===!1&&(V={});const{prevResolvedValues:$={}}=A,D={...$,...V},R=G=>{M=!0,m.has(G)&&(L=!0,m.delete(G)),A.needsAnimating[G]=!0;const te=e.getValue(G);te&&(te.liveStyle=!1)};for(const G in D){const te=V[G],xe=$[G];if(g.hasOwnProperty(G))continue;let we=!1;Qs(te)&&Qs(xe)?we=!Ia(te,xe):we=te!==xe,we?te!=null?R(G):m.add(G):te!==void 0&&m.has(G)?R(G):A.protectedKeys[G]=!0}A.prevProp=E,A.prevResolvedValues=V,A.isActive&&(g={...g,...V}),s&&e.blockInitialAnimation&&(M=!1);const q=k&&I;M&&(!q||L)&&h.push(...j.map(G=>{const te={type:b};if(typeof G=="string"&&s&&!q&&e.manuallyAnimateOnMount&&e.parent){const{parent:xe}=e,we=Bt(xe,G);if(xe.enteringChildren&&we){const{delayChildren:H}=we.transition||{};te.delay=Va(xe.enteringChildren,e,H)}}return{animation:G,options:te}}))}if(m.size){const T={};if(typeof u.initial!="boolean"){const b=Bt(e,Array.isArray(u.initial)?u.initial[0]:u.initial);b&&b.transition&&(T.transition=b.transition)}m.forEach(b=>{const A=e.getBaseTarget(b),E=e.getValue(b);E&&(E.liveStyle=!0),T[b]=A??null}),h.push({animation:T})}let v=!!h.length;return s&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(v=!1),s=!1,v?t(h):Promise.resolve()}function a(l,u){if(n[l].isActive===u)return Promise.resolve();e.variantChildren?.forEach(h=>h.animationState?.setActive(l,u)),n[l].isActive=u;const d=i(l);for(const h in n)n[h].protectedKeys={};return d}return{animateChanges:i,setActive:a,setAnimateFunction:o,getState:()=>n,reset:()=>{n=Mi()}}}function ih(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Ia(t,e):!1}function ft(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Mi(){return{animate:ft(!0),whileInView:ft(),whileHover:ft(),whileTap:ft(),whileDrag:ft(),whileFocus:ft(),exit:ft()}}class ct{constructor(t){this.isMounted=!1,this.node=t}update(){}}class oh extends ct{constructor(t){super(t),t.animationState||(t.animationState=rh(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();as(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let ah=0;class lh extends ct{constructor(){super(...arguments),this.id=ah++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===s)return;const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>{n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const La={animation:{Feature:oh},exit:{Feature:lh}};function vn(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}function Cn(e){return{point:{x:e.pageX,y:e.pageY}}}const ch=e=>t=>Er(t)&&e(t,Cn(t));function dn(e,t,n,s){return vn(e,t,ch(n),s)}const Fa=1e-4,uh=1-Fa,dh=1+Fa,$a=.01,hh=0-$a,fh=0+$a;function ve(e){return e.max-e.min}function mh(e,t,n){return Math.abs(e-t)<=n}function Ei(e,t,n,s=.5){e.origin=s,e.originPoint=ce(t.min,t.max,e.origin),e.scale=ve(n)/ve(t),e.translate=ce(n.min,n.max,e.origin)-e.originPoint,(e.scale>=uh&&e.scale<=dh||isNaN(e.scale))&&(e.scale=1),(e.translate>=hh&&e.translate<=fh||isNaN(e.translate))&&(e.translate=0)}function hn(e,t,n,s){Ei(e.x,t.x,n.x,s?s.originX:void 0),Ei(e.y,t.y,n.y,s?s.originY:void 0)}function ki(e,t,n){e.min=n.min+t.min,e.max=e.min+ve(t)}function ph(e,t,n){ki(e.x,t.x,n.x),ki(e.y,t.y,n.y)}function Ni(e,t,n){e.min=t.min-n.min,e.max=e.min+ve(t)}function fn(e,t,n){Ni(e.x,t.x,n.x),Ni(e.y,t.y,n.y)}function Ee(e){return[e("x"),e("y")]}const Ba=({current:e})=>e?e.ownerDocument.defaultView:null,Di=(e,t)=>Math.abs(e-t);function gh(e,t){const n=Di(e.x,t.x),s=Di(e.y,t.y);return Math.sqrt(n**2+s**2)}class za{constructor(t,n,{transformPagePoint:s,contextWindow:r=window,dragSnapToOrigin:o=!1,distanceThreshold:i=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 m=Ps(this.lastMoveEventInfo,this.history),g=this.startEvent!==null,w=gh(m.offset,{x:0,y:0})>=this.distanceThreshold;if(!g&&!w)return;const{point:v}=m,{timestamp:T}=me;this.history.push({...v,timestamp:T});const{onStart:b,onMove:A}=this.handlers;g||(b&&b(this.lastMoveEvent,m),this.startEvent=this.lastMoveEvent),A&&A(this.lastMoveEvent,m)},this.handlePointerMove=(m,g)=>{this.lastMoveEvent=m,this.lastMoveEventInfo=js(g,this.transformPagePoint),oe.update(this.updatePoint,!0)},this.handlePointerUp=(m,g)=>{this.end();const{onEnd:w,onSessionEnd:v,resumeAnimation:T}=this.handlers;if(this.dragSnapToOrigin&&T&&T(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const b=Ps(m.type==="pointercancel"?this.lastMoveEventInfo:js(g,this.transformPagePoint),this.history);this.startEvent&&w&&w(m,b),v&&v(m,b)},!Er(t))return;this.dragSnapToOrigin=o,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=i,this.contextWindow=r||window;const a=Cn(t),l=js(a,this.transformPagePoint),{point:u}=l,{timestamp:d}=me;this.history=[{...u,timestamp:d}];const{onSessionStart:h}=n;h&&h(t,Ps(l,this.history)),this.removeListeners=wn(dn(this.contextWindow,"pointermove",this.handlePointerMove),dn(this.contextWindow,"pointerup",this.handlePointerUp),dn(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),at(this.updatePoint)}}function js(e,t){return t?{point:t(e.point)}:e}function Ri(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ps({point:e},t){return{point:e,delta:Ri(e,Ua(t)),offset:Ri(e,yh(t)),velocity:xh(t,.1)}}function yh(e){return e[0]}function Ua(e){return e[e.length-1]}function xh(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const r=Ua(e);for(;n>=0&&(s=e[n],!(r.timestamp-s.timestamp>Oe(t)));)n--;if(!s)return{x:0,y:0};const o=Ne(r.timestamp-s.timestamp);if(o===0)return{x:0,y:0};const i={x:(r.x-s.x)/o,y:(r.y-s.y)/o};return i.x===1/0&&(i.x=0),i.y===1/0&&(i.y=0),i}function bh(e,{min:t,max:n},s){return t!==void 0&&e<t?e=s?ce(t,e,s.min):Math.max(e,t):n!==void 0&&e>n&&(e=s?ce(n,e,s.max):Math.min(e,n)),e}function Vi(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function vh(e,{top:t,left:n,bottom:s,right:r}){return{x:Vi(e.x,n,r),y:Vi(e.y,t,s)}}function Ii(e,t){let n=t.min-e.min,s=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,s]=[s,n]),{min:n,max:s}}function wh(e,t){return{x:Ii(e.x,t.x),y:Ii(e.y,t.y)}}function Sh(e,t){let n=.5;const s=ve(e),r=ve(t);return r>s?n=pn(t.min,t.max-s,e.min):s>r&&(n=pn(e.min,e.max-r,t.min)),Ge(0,1,n)}function Th(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const nr=.35;function Ch(e=nr){return e===!1?e=0:e===!0&&(e=nr),{x:Oi(e,"left","right"),y:Oi(e,"top","bottom")}}function Oi(e,t,n){return{min:Li(e,t),max:Li(e,n)}}function Li(e,t){return typeof e=="number"?e:e[t]||0}const jh=new WeakMap;class Ph{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=ue(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const o=h=>{const{dragSnapToOrigin:m}=this.getProps();m?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Cn(h).point)},i=(h,m)=>{const{drag:g,dragPropagation:w,onDragStart:v}=this.getProps();if(g&&!w&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ru(g),!this.openDragLock))return;this.latestPointerEvent=h,this.latestPanInfo=m,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ee(b=>{let A=this.getAxisMotionValue(b).get()||0;if(Ue.test(A)){const{projection:E}=this.visualElement;if(E&&E.layout){const F=E.layout.layoutBox[b];F&&(A=ve(F)*(parseFloat(A)/100))}}this.originPoint[b]=A}),v&&oe.postRender(()=>v(h,m)),er(this.visualElement,"transform");const{animationState:T}=this.visualElement;T&&T.setActive("whileDrag",!0)},a=(h,m)=>{this.latestPointerEvent=h,this.latestPanInfo=m;const{dragPropagation:g,dragDirectionLock:w,onDirectionLock:v,onDrag:T}=this.getProps();if(!g&&!this.openDragLock)return;const{offset:b}=m;if(w&&this.currentDirection===null){this.currentDirection=Ah(b),this.currentDirection!==null&&v&&v(this.currentDirection);return}this.updateAxis("x",m.point,b),this.updateAxis("y",m.point,b),this.visualElement.render(),T&&T(h,m)},l=(h,m)=>{this.latestPointerEvent=h,this.latestPanInfo=m,this.stop(h,m),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>Ee(h=>this.getAnimationState(h)==="paused"&&this.getAxisMotionValue(h).animation?.play()),{dragSnapToOrigin:d}=this.getProps();this.panSession=new za(t,{onSessionStart:o,onStart:i,onMove:a,onSessionEnd:l,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:d,distanceThreshold:s,contextWindow:Ba(this.visualElement)})}stop(t,n){const s=t||this.latestPointerEvent,r=n||this.latestPanInfo,o=this.isDragging;if(this.cancel(),!o||!r||!s)return;const{velocity:i}=r;this.startAnimation(i);const{onDragEnd:a}=this.getProps();a&&oe.postRender(()=>a(s,r))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.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(t,n,s){const{drag:r}=this.getProps();if(!s||!Xn(t,r,this.currentDirection))return;const o=this.getAxisMotionValue(t);let i=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(i=bh(i,this.constraints[t],this.elastic[t])),o.set(i)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;t&&It(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&s?this.constraints=vh(s.layoutBox,t):this.constraints=!1,this.elastic=Ch(n),r!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&Ee(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=Th(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!It(t))return!1;const s=t.current;Ye(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:r}=this.visualElement;if(!r||!r.layout)return!1;const o=kd(s,r.root,this.visualElement.getTransformPagePoint());let i=wh(r.layout.layoutBox,o);if(n){const a=n(Ad(i));this.hasMutatedConstraints=!!a,a&&(i=Ta(a))}return i}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:r,dragTransition:o,dragSnapToOrigin:i,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Ee(d=>{if(!Xn(d,n,this.currentDirection))return;let h=l&&l[d]||{};i&&(h={min:0,max:0});const m=r?200:1e6,g=r?40:1e7,w={type:"inertia",velocity:s?t[d]:0,bounceStiffness:m,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...h};return this.startAxisValueAnimation(d,w)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return er(this.visualElement,t),s.start(Br(t,s,0,n,this.visualElement,!1))}stopAnimation(){Ee(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Ee(t=>this.getAxisMotionValue(t).animation?.pause())}getAnimationState(t){return this.getAxisMotionValue(t).animation?.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,s=this.visualElement.getProps(),r=s[n];return r||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){Ee(n=>{const{drag:s}=this.getProps();if(!Xn(n,s,this.currentDirection))return;const{projection:r}=this.visualElement,o=this.getAxisMotionValue(n);if(r&&r.layout){const{min:i,max:a}=r.layout.layoutBox[n];o.set(t[n]-ce(i,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!It(n)||!s||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};Ee(i=>{const a=this.getAxisMotionValue(i);if(a&&this.constraints!==!1){const l=a.get();r[i]=Sh({min:l,max:l},this.constraints[i])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Ee(i=>{if(!Xn(i,t,null))return;const a=this.getAxisMotionValue(i),{min:l,max:u}=this.constraints[i];a.set(ce(l,u,r[i]))})}addListeners(){if(!this.visualElement.current)return;jh.set(this.visualElement,this);const t=this.visualElement.current,n=dn(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),s=()=>{const{dragConstraints:l}=this.getProps();It(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,o=r.addEventListener("measure",s);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),oe.read(s);const i=vn(window,"resize",()=>this.scalePositionWithinConstraints()),a=r.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Ee(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=l[d].translate,h.set(h.get()+l[d].translate))}),this.visualElement.render())});return()=>{i(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:i=nr,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:r,dragConstraints:o,dragElastic:i,dragMomentum:a}}}function Xn(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Ah(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class Mh extends ct{constructor(t){super(t),this.removeGroupControls=De,this.removeListeners=De,this.controls=new Ph(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||De}unmount(){this.removeGroupControls(),this.removeListeners()}}const Fi=e=>(t,n)=>{e&&oe.postRender(()=>e(t,n))};class Eh extends ct{constructor(){super(...arguments),this.removePointerDownListener=De}onPointerDown(t){this.session=new za(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Ba(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:r}=this.node.getProps();return{onSessionStart:Fi(t),onStart:Fi(n),onMove:s,onEnd:(o,i)=>{delete this.session,r&&oe.postRender(()=>r(o,i))}}}mount(){this.removePointerDownListener=dn(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Zn={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function $i(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const on={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(z.test(e))e=parseFloat(e);else return e;const n=$i(e,t.target.x),s=$i(e,t.target.y);return`${n}% ${s}%`}},kh={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,r=lt.parse(e);if(r.length>5)return s;const o=lt.createTransformer(e),i=typeof r[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;r[0+i]/=a,r[1+i]/=l;const u=ce(a,l,.5);return typeof r[2+i]=="number"&&(r[2+i]/=u),typeof r[3+i]=="number"&&(r[3+i]/=u),o(r)}};let As=!1;class Nh extends f.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:r}=this.props,{projection:o}=t;td(Dh),o&&(n.group&&n.group.add(o),s&&s.register&&r&&s.register(o),As&&o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Zn.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:r,isPresent:o}=this.props,{projection:i}=s;return i&&(i.isPresent=o,As=!0,r||t.layoutDependency!==n||n===void 0||t.isPresent!==o?i.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?i.promote():i.relegate()||oe.postRender(()=>{const a=i.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),Mr.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:r}=t;As=!0,r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),s&&s.deregister&&s.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function _a(e){const[t,n]=ua(),s=f.useContext(or);return c.jsx(Nh,{...e,layoutGroup:s,switchLayoutGroup:f.useContext(wa),isPresent:t,safeToRemove:n})}const Dh={borderRadius:{...on,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:on,borderTopRightRadius:on,borderBottomLeftRadius:on,borderBottomRightRadius:on,boxShadow:kh};function Rh(e,t,n){const s=ge(e)?e:zt(e);return s.start(Br("",s,t,n)),s.animation}const Vh=(e,t)=>e.depth-t.depth;class Ih{constructor(){this.children=[],this.isDirty=!1}add(t){cr(this.children,t),this.isDirty=!0}remove(t){ur(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Vh),this.isDirty=!1,this.children.forEach(t)}}function Oh(e,t){const n=Te.now(),s=({timestamp:r})=>{const o=r-n;o>=t&&(at(s),e(o-t))};return oe.setup(s,!0),()=>at(s)}const Xa=["TopLeft","TopRight","BottomLeft","BottomRight"],Lh=Xa.length,Bi=e=>typeof e=="string"?parseFloat(e):e,zi=e=>typeof e=="number"||z.test(e);function Fh(e,t,n,s,r,o){r?(e.opacity=ce(0,n.opacity??1,$h(s)),e.opacityExit=ce(t.opacity??1,0,Bh(s))):o&&(e.opacity=ce(t.opacity??1,n.opacity??1,s));for(let i=0;i<Lh;i++){const a=`border${Xa[i]}Radius`;let l=Ui(t,a),u=Ui(n,a);if(l===void 0&&u===void 0)continue;l||(l=0),u||(u=0),l===0||u===0||zi(l)===zi(u)?(e[a]=Math.max(ce(Bi(l),Bi(u),s),0),(Ue.test(u)||Ue.test(l))&&(e[a]+="%")):e[a]=u}(t.rotate||n.rotate)&&(e.rotate=ce(t.rotate||0,n.rotate||0,s))}function Ui(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const $h=Wa(0,.5,ko),Bh=Wa(.5,.95,De);function Wa(e,t,n){return s=>s<e?0:s>t?1:n(pn(e,t,s))}function _i(e,t){e.min=t.min,e.max=t.max}function Me(e,t){_i(e.x,t.x),_i(e.y,t.y)}function Xi(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Wi(e,t,n,s,r){return e-=t,e=ss(e,1/n,s),r!==void 0&&(e=ss(e,1/r,s)),e}function zh(e,t=0,n=1,s=.5,r,o=e,i=e){if(Ue.test(t)&&(t=parseFloat(t),t=ce(i.min,i.max,t/100)-i.min),typeof t!="number")return;let a=ce(o.min,o.max,s);e===o&&(a-=t),e.min=Wi(e.min,t,n,a,r),e.max=Wi(e.max,t,n,a,r)}function Ki(e,t,[n,s,r],o,i){zh(e,t[n],t[s],t[r],t.scale,o,i)}const Uh=["x","scaleX","originX"],_h=["y","scaleY","originY"];function qi(e,t,n,s){Ki(e.x,t,Uh,n?n.x:void 0,s?s.x:void 0),Ki(e.y,t,_h,n?n.y:void 0,s?s.y:void 0)}function Gi(e){return e.translate===0&&e.scale===1}function Ka(e){return Gi(e.x)&&Gi(e.y)}function Yi(e,t){return e.min===t.min&&e.max===t.max}function Xh(e,t){return Yi(e.x,t.x)&&Yi(e.y,t.y)}function Hi(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function qa(e,t){return Hi(e.x,t.x)&&Hi(e.y,t.y)}function Ji(e){return ve(e.x)/ve(e.y)}function Zi(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Wh{constructor(){this.members=[]}add(t){cr(this.members,t),t.scheduleRender()}remove(t){if(ur(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(r=>t===r);if(n===0)return!1;let s;for(let r=n;r>=0;r--){const o=this.members[r];if(o.isPresent!==!1){s=o;break}}return s?(this.promote(s),!0):!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.instance&&s.scheduleRender(),t.scheduleRender(),t.resumeFrom=s,n&&(t.resumeFrom.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:r}=t.options;r===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:s}=t;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Kh(e,t,n){let s="";const r=e.x.translate/t.x,o=e.y.translate/t.y,i=n?.z||0;if((r||o||i)&&(s=`translate3d(${r}px, ${o}px, ${i}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:h,rotateY:m,skewX:g,skewY:w}=n;u&&(s=`perspective(${u}px) ${s}`),d&&(s+=`rotate(${d}deg) `),h&&(s+=`rotateX(${h}deg) `),m&&(s+=`rotateY(${m}deg) `),g&&(s+=`skewX(${g}deg) `),w&&(s+=`skewY(${w}deg) `)}const a=e.x.scale*t.x,l=e.y.scale*t.y;return(a!==1||l!==1)&&(s+=`scale(${a}, ${l})`),s||"none"}const Ms=["","X","Y","Z"],qh=1e3;let Gh=0;function Es(e,t,n,s){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),s&&(s[e]=0))}function Ga(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Da(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:o}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",oe,!(r||o))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&Ga(s)}function Ya({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:r}){return class{constructor(i={},a=t?.()){this.id=Gh++,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(Jh),this.nodes.forEach(tf),this.nodes.forEach(nf),this.nodes.forEach(Zh)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=i,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 Ih)}addEventListener(i,a){return this.eventHandlers.has(i)||this.eventHandlers.set(i,new hr),this.eventHandlers.get(i).add(a)}notifyListeners(i,...a){const l=this.eventHandlers.get(i);l&&l.notify(...a)}hasListeners(i){return this.eventHandlers.has(i)}mount(i){if(this.instance)return;this.isSVG=ca(i)&&!$u(i),this.instance=i;const{layoutId:a,layout:l,visualElement:u}=this.options;if(u&&!u.current&&u.mount(i),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),e){let d,h=0;const m=()=>this.root.updateBlockedByResize=!1;oe.read(()=>{h=window.innerWidth}),e(i,()=>{const g=window.innerWidth;g!==h&&(h=g,this.root.updateBlockedByResize=!0,d&&d(),d=Oh(m,250),Zn.hasAnimatedSinceResize&&(Zn.hasAnimatedSinceResize=!1,this.nodes.forEach(to)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&u&&(a||l)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:h,hasRelativeLayoutChanged:m,layout:g})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||u.getDefaultTransition()||lf,{onLayoutAnimationStart:v,onLayoutAnimationComplete:T}=u.getProps(),b=!this.targetLayout||!qa(this.targetLayout,g),A=!h&&m;if(this.options.layoutRoot||this.resumeFrom||A||h&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const E={...Pr(w,"layout"),onPlay:v,onComplete:T};(u.shouldReduceMotion||this.options.layoutRoot)&&(E.delay=0,E.type=!1),this.startAnimation(E),this.setAnimationOrigin(d,A)}else h||to(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=g})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const i=this.getStack();i&&i.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),at(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(sf),this.animationId++)}getTransformTemplate(){const{visualElement:i}=this.options;return i&&i.getProps().transformTemplate}willUpdate(i=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ga(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d<this.path.length;d++){const h=this.path[d];h.shouldResetTransform=!0,h.updateScroll("snapshot"),h.options.layoutRoot&&h.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(),i&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Qi);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(eo);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(ef),this.nodes.forEach(Yh),this.nodes.forEach(Hh)):this.nodes.forEach(eo),this.clearAllSnapshots();const a=Te.now();me.delta=Ge(0,1e3/60,a-me.timestamp),me.timestamp=a,me.isProcessing=!0,ys.update.process(me),ys.preRender.process(me),ys.render.process(me),me.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Mr.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Qh),this.sharedNodes.forEach(rf)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,oe.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){oe.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!ve(this.snapshot.measuredBox.x)&&!ve(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 i=this.layout;this.layout=this.measure(!1),this.layoutCorrected=ue(),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,i?i.layoutBox:void 0)}updateScroll(i="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===i&&(a=!1),a&&this.instance){const l=s(this.instance);this.scroll={animationId:this.root.animationId,phase:i,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!r)return;const i=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!Ka(this.projectionDelta),l=this.getTransformTemplate(),u=l?l(this.latestValues,""):void 0,d=u!==this.prevTransformTemplateValue;i&&this.instance&&(a||pt(this.latestValues)||d)&&(r(this.instance,u),this.shouldResetTransform=!1,this.scheduleRender())}measure(i=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return i&&(l=this.removeTransform(l)),cf(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:i}=this.options;if(!i)return ue();const a=i.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(uf))){const{scroll:u}=this.root;u&&(Ot(a.x,u.offset.x),Ot(a.y,u.offset.y))}return a}removeElementScroll(i){const a=ue();if(Me(a,i),this.scroll?.wasRoot)return a;for(let l=0;l<this.path.length;l++){const u=this.path[l],{scroll:d,options:h}=u;u!==this.root&&d&&h.layoutScroll&&(d.wasRoot&&Me(a,i),Ot(a.x,d.offset.x),Ot(a.y,d.offset.y))}return a}applyTransform(i,a=!1){const l=ue();Me(l,i);for(let u=0;u<this.path.length;u++){const d=this.path[u];!a&&d.options.layoutScroll&&d.scroll&&d!==d.root&&Lt(l,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),pt(d.latestValues)&&Lt(l,d.latestValues)}return pt(this.latestValues)&&Lt(l,this.latestValues),l}removeTransform(i){const a=ue();Me(a,i);for(let l=0;l<this.path.length;l++){const u=this.path[l];if(!u.instance||!pt(u.latestValues))continue;Hs(u.latestValues)&&u.updateSnapshot();const d=ue(),h=u.measurePageBox();Me(d,h),qi(a,u.latestValues,u.snapshot?u.snapshot.layoutBox:void 0,d)}return pt(this.latestValues)&&qi(a,this.latestValues),a}setTargetDelta(i){this.targetDelta=i,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(i){this.options={...this.options,...i,crossfade:i.crossfade!==void 0?i.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!==me.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(i=!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(!(i||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:d,layoutId:h}=this.options;if(!(!this.layout||!(d||h))){if(this.resolvedRelativeTargetAt=me.timestamp,!this.targetDelta&&!this.relativeTarget){const m=this.getClosestProjectingParent();m&&m.layout&&this.animationProgress!==1?(this.relativeParent=m,this.forceRelativeParentToResolveTarget(),this.relativeTarget=ue(),this.relativeTargetOrigin=ue(),fn(this.relativeTargetOrigin,this.layout.layoutBox,m.layout.layoutBox),Me(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=ue(),this.targetWithTransforms=ue()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),ph(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Me(this.target,this.layout.layoutBox),ja(this.target,this.targetDelta)):Me(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const m=this.getClosestProjectingParent();m&&!!m.resumingFrom==!!this.resumingFrom&&!m.options.layoutScroll&&m.target&&this.animationProgress!==1?(this.relativeParent=m,this.forceRelativeParentToResolveTarget(),this.relativeTarget=ue(),this.relativeTargetOrigin=ue(),fn(this.relativeTargetOrigin,this.target,m.target),Me(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||Hs(this.parent.latestValues)||Ca(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 i=this.getLead(),a=!!this.resumingFrom||this!==i;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===me.timestamp&&(l=!1),l)return;const{layout:u,layoutId:d}=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||d))return;Me(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,m=this.treeScale.y;Ed(this.layoutCorrected,this.treeScale,this.path,a),i.layout&&!i.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(i.target=i.layout.layoutBox,i.targetWithTransforms=ue());const{target:g}=i;if(!g){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Xi(this.prevProjectionDelta.x,this.projectionDelta.x),Xi(this.prevProjectionDelta.y,this.projectionDelta.y)),hn(this.projectionDelta,this.layoutCorrected,g,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==m||!Zi(this.projectionDelta.x,this.prevProjectionDelta.x)||!Zi(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",g))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(i=!0){if(this.options.visualElement?.scheduleRender(),i){const a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Ft(),this.projectionDelta=Ft(),this.projectionDeltaWithTransform=Ft()}setAnimationOrigin(i,a=!1){const l=this.snapshot,u=l?l.latestValues:{},d={...this.latestValues},h=Ft();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const m=ue(),g=l?l.source:void 0,w=this.layout?this.layout.source:void 0,v=g!==w,T=this.getStack(),b=!T||T.members.length<=1,A=!!(v&&!b&&this.options.crossfade===!0&&!this.path.some(af));this.animationProgress=0;let E;this.mixTargetDelta=F=>{const N=F/1e3;no(h.x,i.x,N),no(h.y,i.y,N),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(fn(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),of(this.relativeTarget,this.relativeTargetOrigin,m,N),E&&Xh(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=ue()),Me(E,this.relativeTarget)),v&&(this.animationValues=d,Fh(d,u,this.latestValues,N,A,b)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=N},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(i){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(at(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=oe.update(()=>{Zn.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=zt(0)),this.currentAnimation=Rh(this.motionValue,[0,1e3],{...i,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),i.onUpdate&&i.onUpdate(a)},onStop:()=>{},onComplete:()=>{i.onComplete&&i.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 i=this.getStack();i&&i.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(qh),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const i=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=i;if(!(!a||!l||!u)){if(this!==i&&this.layout&&u&&Ha(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||ue();const h=ve(this.layout.layoutBox.x);l.x.min=i.target.x.min,l.x.max=l.x.min+h;const m=ve(this.layout.layoutBox.y);l.y.min=i.target.y.min,l.y.max=l.y.min+m}Me(a,l),Lt(a,d),hn(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(i,a){this.sharedNodes.has(i)||this.sharedNodes.set(i,new Wh),this.sharedNodes.get(i).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 i=this.getStack();return i?i.lead===this:!0}getLead(){const{layoutId:i}=this.options;return i?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:i}=this.options;return i?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:i}=this.options;if(i)return this.root.sharedNodes.get(i)}promote({needsReset:i,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),i&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const i=this.getStack();return i?i.relegate(this):!1}resetSkewAndRotation(){const{visualElement:i}=this.options;if(!i)return;let a=!1;const{latestValues:l}=i;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const u={};l.z&&Es("z",i,u,this.animationValues);for(let d=0;d<Ms.length;d++)Es(`rotate${Ms[d]}`,i,u,this.animationValues),Es(`skew${Ms[d]}`,i,u,this.animationValues);i.render();for(const d in u)i.setStaticValue(d,u[d]),this.animationValues&&(this.animationValues[d]=u[d]);i.scheduleRender()}applyProjectionStyles(i,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){i.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,i.visibility="",i.opacity="",i.pointerEvents=Hn(a?.pointerEvents)||"",i.transform=l?l(this.latestValues,""):"none";return}const u=this.getLead();if(!this.projectionDelta||!this.layout||!u.target){this.options.layoutId&&(i.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,i.pointerEvents=Hn(a?.pointerEvents)||""),this.hasProjected&&!pt(this.latestValues)&&(i.transform=l?l({},""):"none",this.hasProjected=!1);return}i.visibility="";const d=u.animationValues||u.latestValues;this.applyTransformsToTarget();let h=Kh(this.projectionDeltaWithTransform,this.treeScale,d);l&&(h=l(d,h)),i.transform=h;const{x:m,y:g}=this.projectionDelta;i.transformOrigin=`${m.origin*100}% ${g.origin*100}% 0`,u.animationValues?i.opacity=u===this?d.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:d.opacityExit:i.opacity=u===this?d.opacity!==void 0?d.opacity:"":d.opacityExit!==void 0?d.opacityExit:0;for(const w in bn){if(d[w]===void 0)continue;const{correct:v,applyTo:T,isCSSVariable:b}=bn[w],A=h==="none"?d[w]:v(d[w],u);if(T){const E=T.length;for(let F=0;F<E;F++)i[T[F]]=A}else b?this.options.visualElement.renderState.vars[w]=A:i[w]=A}this.options.layoutId&&(i.pointerEvents=u===this?Hn(a?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(i=>i.currentAnimation?.stop()),this.root.nodes.forEach(Qi),this.root.sharedNodes.clear()}}}function Yh(e){e.updateLayout()}function Hh(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=e.layout,{animationType:r}=e.options,o=t.source!==e.layout.source;r==="size"?Ee(d=>{const h=o?t.measuredBox[d]:t.layoutBox[d],m=ve(h);h.min=n[d].min,h.max=h.min+m}):Ha(r,t.layoutBox,n)&&Ee(d=>{const h=o?t.measuredBox[d]:t.layoutBox[d],m=ve(n[d]);h.max=h.min+m,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+m)});const i=Ft();hn(i,n,t.layoutBox);const a=Ft();o?hn(a,e.applyTransform(s,!0),t.measuredBox):hn(a,n,t.layoutBox);const l=!Ka(i);let u=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:h,layout:m}=d;if(h&&m){const g=ue();fn(g,t.layoutBox,h.layoutBox);const w=ue();fn(w,n,m.layoutBox),qa(g,w)||(u=!0),d.options.layoutRoot&&(e.relativeTarget=w,e.relativeTargetOrigin=g,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:a,layoutDelta:i,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function Jh(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Zh(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Qh(e){e.clearSnapshot()}function Qi(e){e.clearMeasurements()}function eo(e){e.isLayoutDirty=!1}function ef(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function to(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function tf(e){e.resolveTargetDelta()}function nf(e){e.calcProjection()}function sf(e){e.resetSkewAndRotation()}function rf(e){e.removeLeadSnapshot()}function no(e,t,n){e.translate=ce(t.translate,0,n),e.scale=ce(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function so(e,t,n,s){e.min=ce(t.min,n.min,s),e.max=ce(t.max,n.max,s)}function of(e,t,n,s){so(e.x,t.x,n.x,s),so(e.y,t.y,n.y,s)}function af(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const lf={duration:.45,ease:[.4,0,.1,1]},ro=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),io=ro("applewebkit/")&&!ro("chrome/")?Math.round:De;function oo(e){e.min=io(e.min),e.max=io(e.max)}function cf(e){oo(e.x),oo(e.y)}function Ha(e,t,n){return e==="position"||e==="preserve-aspect"&&!mh(Ji(t),Ji(n),.2)}function uf(e){return e!==e.root&&e.scroll?.wasRoot}const df=Ya({attachResizeListener:(e,t)=>vn(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ks={current:void 0},Ja=Ya({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!ks.current){const e=new df({});e.mount(window),e.setOptions({layoutScroll:!0}),ks.current=e}return ks.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),hf={pan:{Feature:Eh},drag:{Feature:Mh,ProjectionNode:Ja,MeasureLayout:_a}};function ao(e,t,n){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,o=s[r];o&&oe.postRender(()=>o(t,Cn(t)))}class ff extends ct{mount(){const{current:t}=this.node;t&&(this.unmount=Vu(t,(n,s)=>(ao(this.node,s,"Start"),r=>ao(this.node,r,"End"))))}unmount(){}}class mf extends ct{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!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=wn(vn(this.node.current,"focus",()=>this.onFocus()),vn(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function lo(e,t,n){const{props:s}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&s.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),o=s[r];o&&oe.postRender(()=>o(t,Cn(t)))}class pf extends ct{mount(){const{current:t}=this.node;t&&(this.unmount=Fu(t,(n,s)=>(lo(this.node,s,"Start"),(r,{success:o})=>lo(this.node,r,o?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const sr=new WeakMap,Ns=new WeakMap,gf=e=>{const t=sr.get(e.target);t&&t(e)},yf=e=>{e.forEach(gf)};function xf({root:e,...t}){const n=e||document;Ns.has(n)||Ns.set(n,{});const s=Ns.get(n),r=JSON.stringify(t);return s[r]||(s[r]=new IntersectionObserver(yf,{root:e,...t})),s[r]}function bf(e,t,n){const s=xf(t);return sr.set(e,n),s.observe(e),()=>{sr.delete(e),s.unobserve(e)}}const vf={some:0,all:1};class wf extends ct{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:r="some",once:o}=t,i={root:n?n.current:void 0,rootMargin:s,threshold:typeof r=="number"?r:vf[r]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:h}=this.node.getProps(),m=u?d:h;m&&m(l)};return bf(this.node.current,i,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(Sf(t,n))&&this.startObserver()}unmount(){}}function Sf({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Za={inView:{Feature:wf},tap:{Feature:pf},focus:{Feature:mf},hover:{Feature:ff}},Tf={layout:{ProjectionNode:Ja,MeasureLayout:_a}},Cf={...La,...Za,...hf,...Tf},jf=Pd(Cf,Na),Pf={renderer:Na,...La,...Za};function zr(e,t){return Jn(e,t)}const Af=zr("button"),Wn=zr("div"),Mf=zr("p");function Ef({toolName:e,description:t,args:n,onApprove:s,onDeny:r}){const o=Object.keys(n).length>0;return c.jsx("div",{className:"bg-stone-100 dark:bg-stone-800 border border-border rounded-lg px-3 py-2.5 my-1.5",children:c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"flex items-center gap-1.5 mb-1",children:c.jsx("span",{className:"text-sm font-medium text-foreground",children:e})}),o&&c.jsx("div",{className:"space-y-0.5 mb-1.5",children:Object.entries(n).map(([i,a])=>c.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[c.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[i,":"]}),c.jsx("span",{className:"font-mono text-foreground",children:typeof a=="string"?a:JSON.stringify(a)})]},i))})]}),c.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[c.jsxs(ye,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs",onClick:s,children:[c.jsx(J.Check,{className:"h-3 w-3 mr-1"}),"Approve"]}),c.jsx(ye,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs text-muted-foreground",onClick:r,children:c.jsx(J.X,{className:"h-3 w-3"})})]})]})})}function kf({toolName:e,args:t,isDenied:n,isSafe:s}){const[r,o]=f.useState(!1);if(e==="fetchDocContent")return null;const i=["k","maxResults","_organizationId"];e==="searchDocs"&&i.push("filters");const a=Object.fromEntries(Object.entries(t).filter(([u])=>!i.includes(u))),l=Object.keys(a).length>0;return c.jsxs("div",{className:"my-1",children:[c.jsxs("button",{onClick:()=>l&&o(!r),className:`inline-flex items-center gap-1.5 text-xs rounded-md px-2 py-1 transition-colors bg-muted text-muted-foreground ${l?"cursor-pointer hover:bg-muted/80":""}`,children:[l&&c.jsx("span",{className:"transition-transform duration-200",children:r?c.jsx(J.ChevronDown,{className:"h-3 w-3"}):c.jsx(J.ChevronRight,{className:"h-3 w-3"})}),n?c.jsx(J.X,{className:"h-3 w-3"}):s?c.jsx(J.Zap,{className:"h-3 w-3"}):c.jsx(J.Check,{className:"h-3 w-3"}),c.jsxs("span",{className:"font-medium",children:[n?"Denied":s?"Auto-executed":"Executed"," ",e]})]}),r&&l&&c.jsx("div",{className:"mt-1 ml-6 p-2 bg-stone-50 dark:bg-stone-900 rounded-md border border-border",children:c.jsx("div",{className:"space-y-0.5",children:Object.entries(a).map(([u,d])=>c.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[c.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[u,":"]}),c.jsx("span",{className:"font-mono text-foreground",children:typeof d=="string"?d:JSON.stringify(d)})]},u))})})]})}function Nf({...e}){return c.jsx(rr.Root,{"data-slot":"collapsible",...e})}function Df({...e}){return c.jsx(rr.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...e})}function Rf({...e}){return c.jsx(rr.CollapsibleContent,{"data-slot":"collapsible-content",...e})}const Vf=f.lazy(()=>import("streamdown").then(e=>({default:e.Streamdown}))),Ur=f.memo(({className:e,...t})=>typeof window>"u"?null:c.jsx(f.Suspense,{fallback:null,children:c.jsx(Vf,{className:Q("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e),...t})}),(e,t)=>e.children===t.children);Ur.displayName="Response";const If=Object.freeze(Object.defineProperty({__proto__:null,Response:Ur},Symbol.toStringTag,{value:"Module"})),Of=({children:e,as:t="p",className:n,duration:s=2,spread:r=2})=>{const o=jf.create(t),i=f.useMemo(()=>(e?.length??0)*r,[e,r]);return c.jsx(o,{animate:{backgroundPosition:"0% center"},className:Q("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":`${i}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:Number.POSITIVE_INFINITY,duration:s,ease:"linear"},children:e})},Lf=f.memo(Of),Qa=f.createContext(null),Ff=()=>{const e=f.useContext(Qa);if(!e)throw new Error("Reasoning components must be used within Reasoning");return e},$f=1e3,Bf=1e3,el=f.memo(({className:e,isStreaming:t=!1,open:n,defaultOpen:s=!0,onOpenChange:r,duration:o,children:i,...a})=>{const[l,u]=Kr.useControllableState({prop:n,defaultProp:s,onChange:r}),[d,h]=Kr.useControllableState({prop:o,defaultProp:0}),[m,g]=f.useState(!1),[w,v]=f.useState(null);f.useEffect(()=>{t?w===null&&v(Date.now()):w!==null&&(h(Math.ceil((Date.now()-w)/Bf)),v(null))},[t,w,h]),f.useEffect(()=>{if(s&&!t&&l&&!m){const b=setTimeout(()=>{u(!1),g(!0)},$f);return()=>clearTimeout(b)}},[t,l,s,u,m]);const T=b=>{u(b)};return c.jsx(Qa.Provider,{value:{isStreaming:t,isOpen:l,setIsOpen:u,duration:d},children:c.jsx(Nf,{className:Q("not-prose mb-4",e),onOpenChange:T,open:l,...a,children:i})})}),zf=(e,t)=>e||t===0?c.jsx(Lf,{duration:1,children:"Thinking..."}):t===void 0?c.jsx("p",{children:"Thought for a few seconds"}):c.jsxs("p",{children:["Thought for ",t," seconds"]}),tl=f.memo(({className:e,children:t,...n})=>{const{isStreaming:s,isOpen:r,duration:o}=Ff();return c.jsx(Df,{className:Q("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",e),...n,children:t??c.jsxs(c.Fragment,{children:[c.jsx(J.BrainIcon,{className:"size-4"}),zf(s,o),c.jsx(J.ChevronDownIcon,{className:Q("size-4 transition-transform",r?"rotate-180":"rotate-0")})]})})}),nl=f.memo(({className:e,children:t,...n})=>c.jsx(Rf,{className:Q("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",e),...n,children:c.jsx(Ur,{className:"grid gap-2",children:t})}));el.displayName="Reasoning";tl.displayName="ReasoningTrigger";nl.displayName="ReasoningContent";function co(e){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=16`}function Uf({sources:e,citationNumber:t,className:n}){const s=e.find(o=>o.number===t);if(!s)return null;const r=co(s.domain);return c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsxs("button",{className:Q("inline-flex items-center gap-1 px-1 py-0.5 rounded text-[10px] font-medium","bg-stone-200/60 dark:bg-stone-700/60 text-stone-800 dark:text-stone-200","hover:bg-stone-300/80 dark:hover:bg-stone-600/80","transition-all duration-200","border border-stone-300/60 dark:border-stone-600/60","cursor-pointer hover:scale-105 active:scale-95","leading-tight",n),onClick:o=>{o.preventDefault(),o.stopPropagation(),window.open(s.url,"_blank","noopener,noreferrer")},children:[c.jsx("img",{src:r,alt:"",className:"w-3 h-3 leading-none",onError:o=>{const i=o.target;i.style.display="none"}}),c.jsx("span",{className:"leading-none",children:s.domain})]})}),c.jsx(it,{side:"top",className:"bg-stone-800 dark:bg-stone-900 border border-stone-700 dark:border-stone-600 p-3 max-w-sm z-50 rounded-lg shadow-lg",children:c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("div",{className:"text-xs font-semibold text-stone-300 dark:text-stone-200 mb-2 pb-2 border-b border-stone-700 dark:border-stone-600",children:["Sources • ",e.length]}),e.map(o=>{const i=o.title||o.domain;return c.jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:Q("flex items-center gap-2 p-2 rounded-md hover:bg-stone-700/50 dark:hover:bg-stone-700/50 transition-colors","text-stone-300 dark:text-stone-300 hover:text-white dark:hover:text-white"),onClick:a=>a.stopPropagation(),children:[c.jsx("img",{src:co(o.domain),alt:"",className:"w-4 h-4 flex-shrink-0",onError:a=>{const l=a.target;l.style.display="none"}}),c.jsx("span",{className:"text-xs flex-1 truncate",children:i})]},o.number)})]})})]})}function _f({text:e,citations:t,citationMap:n,groupedCitations:s,referencesText:r,ResponseComponent:o,className:i,showCitations:a=!0,showReferences:l=!0}){const u=f.useRef(null),[d,h]=f.useState([]);f.useEffect(()=>{if(!a||!u.current||t.length===0||n.size===0){(n.size===0||!a)&&h([]);return}const T=u.current;let b,A=!1;const E=new WeakSet,F=()=>{if(!u.current||A)return;A=!0;const k=u.current,I=/\[(\d+)\]/g,M=document.createTreeWalker(k,NodeFilter.SHOW_TEXT,null),L=[];let j;for(;j=M.nextNode();)if(j.nodeType===Node.TEXT_NODE&&!E.has(j)){const $=j,D=$.textContent||"";let R=$.parentElement,q=!1;for(;R&&R!==k;){if(R.tagName==="A"||R.tagName==="CODE"||R.tagName==="PRE"){q=!0;break}R=R.parentElement}if(!q){const G=Array.from(D.matchAll(I)).filter(te=>{if(!te[1])return!1;const xe=parseInt(te[1],10);return n.has(xe)});G.length>0&&L.push({node:$,matches:G})}}if(L.length===0){A=!1;return}const V=[];L.forEach(({node:$,matches:D})=>{E.add($);const R=$.textContent||"",q=document.createDocumentFragment();let ee=0;D.forEach(G=>{if(!G[1])return;G.index!==void 0&&G.index>ee&&q.appendChild(document.createTextNode(R.slice(ee,G.index)));const te=document.createElement("span");te.className="inline-flex items-center citation-button-container";const xe=parseInt(G[1],10);te.setAttribute("data-citation",G[1]),q.appendChild(te),V.push({element:te,citationNum:xe}),ee=(G.index||0)+G[0].length}),ee<R.length&&q.appendChild(document.createTextNode(R.slice(ee))),$.parentNode&&$.parentNode.replaceChild(q,$)}),V.length>0&&h($=>{const D=new Set($.map(ee=>ee.element)),R=$.filter(ee=>ee.element.isConnected),q=V.filter(ee=>!D.has(ee.element));return[...R,...q]}),A=!1},N=new MutationObserver(()=>{clearTimeout(b),b=setTimeout(F,100)});return N.observe(T,{childList:!0,subtree:!0,characterData:!0}),b=setTimeout(F,200),()=>{N.disconnect(),clearTimeout(b)}},[e,t,n,a]);const m=s&&s.length>0||n&&n.size>0||r;function g(T){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(T)}&sz=16`}function w(T){try{return new URL(T).hostname.replace(/^www\./,"")}catch{return T}}const v=a&&l&&m?c.jsxs("div",{className:"mt-4 pt-4 border-t border-stone-200 dark:border-stone-700",children:[c.jsx("div",{className:"text-xs font-semibold text-stone-600 dark:text-stone-400 mb-3",children:"References"}),c.jsx("div",{className:"flex flex-wrap gap-2",children:s&&s.length>0?s.map((T,b)=>{const A=T.title||T.baseUrl,E=w(T.url),F=g(E);return c.jsxs("a",{href:T.url,target:"_blank",rel:"noopener noreferrer",className:Q("inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs font-medium","bg-stone-100 dark:bg-stone-800 text-stone-700 dark:text-stone-300","hover:bg-stone-200 dark:hover:bg-stone-700","transition-all duration-200","border border-stone-200 dark:border-stone-700","cursor-pointer hover:scale-105 active:scale-95","no-underline"),children:[c.jsx("img",{src:F,alt:"",className:"w-3.5 h-3.5 shrink-0",onError:N=>{const k=N.target;k.style.display="none"}}),c.jsx("span",{className:"leading-none",children:A})]},`group-${b}`)}):Array.from(n.entries()).sort(([T],[b])=>T-b).map(([T,b])=>{const A=w(b),E=g(A);return c.jsxs("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:Q("inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs font-medium","bg-stone-100 dark:bg-stone-800 text-stone-700 dark:text-stone-300","hover:bg-stone-200 dark:hover:bg-stone-700","transition-all duration-200","border border-stone-200 dark:border-stone-700","cursor-pointer hover:scale-105 active:scale-95","no-underline"),children:[c.jsx("img",{src:E,alt:"",className:"w-3.5 h-3.5 shrink-0",onError:F=>{const N=F.target;N.style.display="none"}}),c.jsx("span",{className:"leading-none",children:b})]},T)})})]}):null;return c.jsxs("div",{className:i,children:[c.jsx("div",{ref:u,children:c.jsx(o,{children:e})}),a&&d.filter(({element:T})=>T.isConnected).map(({element:T,citationNum:b},A)=>{if(!t.find(N=>N.number===b))return null;const F=Array.from(new Map(t.map(N=>{const k=N.url.replace(/\/+$/,""),I=s?.find(M=>M.url.replace(/\/+$/,"")===k);return[k,{number:N.number,url:N.url,domain:w(N.url),title:I?.title}]})).values());return vl.createPortal(c.jsx(Uf,{sources:F,citationNumber:b},`citation-${b}-${T}`),T,`citation-${b}-${A}`)}),v]})}function qt({...e}){return c.jsx(vt.Root,{"data-slot":"dialog",...e})}function Xf({...e}){return c.jsx(vt.Portal,{"data-slot":"dialog-portal",...e})}function Wf({className:e,...t}){return c.jsx(vt.Overlay,{"data-slot":"dialog-overlay",className:Q("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function Gt({className:e,children:t,showCloseButton:n=!0,...s}){return c.jsxs(Xf,{"data-slot":"dialog-portal",children:[c.jsx(Wf,{}),c.jsxs(vt.Content,{"data-slot":"dialog-content",className:Q("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...s,children:[t,n&&c.jsxs(vt.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[c.jsx(J.XIcon,{}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Yt({className:e,...t}){return c.jsx("div",{"data-slot":"dialog-header",className:Q("flex flex-col gap-2 text-center sm:text-left",e),...t})}function Ht({className:e,...t}){return c.jsx("div",{"data-slot":"dialog-footer",className:Q("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function Jt({className:e,...t}){return c.jsx(vt.Title,{"data-slot":"dialog-title",className:Q("text-lg leading-none font-semibold",e),...t})}function Zt({className:e,...t}){return c.jsx(vt.Description,{"data-slot":"dialog-description",className:Q("text-muted-foreground text-sm",e),...t})}function Qt({className:e,type:t,...n}){return c.jsx("input",{type:t,"data-slot":"input",className:Q("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-white px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...n})}function Kf({isOpen:e,title:t="Password Required",description:n="Please enter your password to continue",placeholder:s="Enter password...",onComplete:r}){const[o,i]=f.useState(""),[a,l]=f.useState(!1),[u,d]=f.useState(!1),h=async g=>{if(g.preventDefault(),!!o.trim()){d(!0);try{r(o)}finally{d(!1)}}},m=()=>{i(""),r(null)};return c.jsx(qt,{open:e,children:c.jsx(Gt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:h,children:[c.jsxs(Yt,{children:[c.jsx(Jt,{children:t}),c.jsx(Zt,{children:n})]}),c.jsx("div",{className:"py-4",children:c.jsxs("div",{className:"relative",children:[c.jsx(Qt,{type:a?"text":"password",value:o,onChange:g=>i(g.target.value),placeholder:s,className:"pr-10",autoFocus:!0,disabled:u}),c.jsx("button",{type:"button",onClick:()=>l(!a),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",disabled:u,children:a?c.jsx(J.EyeOff,{className:"h-4 w-4"}):c.jsx(J.Eye,{className:"h-4 w-4"})})]})}),c.jsxs(Ht,{children:[c.jsx(ye,{type:"button",variant:"ghost",onClick:m,disabled:u,children:"Cancel"}),c.jsx(ye,{type:"submit",disabled:!o.trim()||u,children:u?"Submitting...":"Submit"})]})]})})})}function qf({isOpen:e,title:t="Email Required",description:n="Please enter your email address",placeholder:s="Enter email address...",onComplete:r}){const[o,i]=f.useState(""),[a,l]=f.useState(!0),[u,d]=f.useState(!1),h=v=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v),m=v=>{i(v),v.trim()?l(h(v)):l(!0)},g=async v=>{if(v.preventDefault(),!o.trim()||!h(o)){l(!1);return}d(!0);try{r(o)}finally{d(!1)}},w=()=>{i(""),l(!0),r(null)};return c.jsx(qt,{open:e,children:c.jsx(Gt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:g,children:[c.jsxs(Yt,{children:[c.jsxs(Jt,{className:"flex items-center gap-2",children:[c.jsx(J.Mail,{className:"h-5 w-5"}),t]}),c.jsx(Zt,{children:n})]}),c.jsxs("div",{className:"py-4",children:[c.jsx(Qt,{type:"email",value:o,onChange:v=>m(v.target.value),placeholder:s,className:a?"":"border-red-500",autoFocus:!0,disabled:u}),!a&&c.jsx("p",{className:"text-sm text-red-500 mt-1",children:"Please enter a valid email address"})]}),c.jsxs(Ht,{children:[c.jsx(ye,{type:"button",variant:"ghost",onClick:w,disabled:u,children:"Cancel"}),c.jsx(ye,{type:"submit",disabled:!o.trim()||!a||u,children:u?"Submitting...":"Submit"})]})]})})})}function Gf({isOpen:e,title:t="Phone Number Required",description:n="Please enter your phone number",placeholder:s="Enter phone number...",onComplete:r}){const[o,i]=f.useState(""),[a,l]=f.useState(!0),[u,d]=f.useState(!1),h=T=>{const b=T.replace(/\D/g,"");return b.length<=3?b:b.length<=6?`(${b.slice(0,3)}) ${b.slice(3)}`:`(${b.slice(0,3)}) ${b.slice(3,6)}-${b.slice(6,10)}`},m=T=>T.replace(/\D/g,"").length===10,g=T=>{const b=h(T);i(b),b.trim()?l(m(b)):l(!0)},w=async T=>{if(T.preventDefault(),!o.trim()||!m(o)){l(!1);return}d(!0);try{const b=o.replace(/\D/g,"");r(b)}finally{d(!1)}},v=()=>{i(""),l(!0),r(null)};return c.jsx(qt,{open:e,children:c.jsx(Gt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:w,children:[c.jsxs(Yt,{children:[c.jsxs(Jt,{className:"flex items-center gap-2",children:[c.jsx(J.Phone,{className:"h-5 w-5"}),t]}),c.jsx(Zt,{children:n})]}),c.jsxs("div",{className:"py-4",children:[c.jsx(Qt,{type:"tel",value:o,onChange:T=>g(T.target.value),placeholder:s,className:a?"":"border-red-500",maxLength:14,autoFocus:!0,disabled:u}),!a&&c.jsx("p",{className:"text-sm text-red-500 mt-1",children:"Please enter a valid 10-digit phone number"})]}),c.jsxs(Ht,{children:[c.jsx(ye,{type:"button",variant:"ghost",onClick:v,disabled:u,children:"Cancel"}),c.jsx(ye,{type:"submit",disabled:!o.trim()||!a||u,children:u?"Submitting...":"Submit"})]})]})})})}function Yf({isOpen:e,title:t="PIN Required",description:n="Please enter your PIN",placeholder:s="Enter PIN...",length:r=4,onComplete:o}){const[i,a]=f.useState(""),[l,u]=f.useState(!1),d=g=>{const w=g.replace(/\D/g,"");a(w.slice(0,r))},h=async g=>{if(g.preventDefault(),i.length===r){u(!0);try{o(i)}finally{u(!1)}}},m=()=>{a(""),o(null)};return c.jsx(qt,{open:e,children:c.jsx(Gt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:h,children:[c.jsxs(Yt,{children:[c.jsxs(Jt,{className:"flex items-center gap-2",children:[c.jsx(J.Shield,{className:"h-5 w-5"}),t]}),c.jsx(Zt,{children:n})]}),c.jsxs("div",{className:"py-4",children:[c.jsx(Qt,{type:"password",value:i,onChange:g=>d(g.target.value),placeholder:s,className:"text-center text-lg tracking-widest",maxLength:r,autoFocus:!0,disabled:l}),c.jsxs("p",{className:"text-sm text-gray-500 mt-1 text-center",children:["Enter ",r,"-digit PIN"]})]}),c.jsxs(Ht,{children:[c.jsx(ye,{type:"button",variant:"ghost",onClick:m,disabled:l,children:"Cancel"}),c.jsx(ye,{type:"submit",disabled:i.length!==r||l,children:l?"Submitting...":"Submit"})]})]})})})}function Ds({isOpen:e,title:t="Secure Input Required",description:n="Please enter the requested information",placeholder:s="Enter value...",type:r="password",onComplete:o}){const[i,a]=f.useState(""),[l,u]=f.useState(!1),d=async m=>{if(m.preventDefault(),!!i.trim()){u(!0);try{o(i)}finally{u(!1)}}},h=()=>{a(""),o(null)};return c.jsx(qt,{open:e,children:c.jsx(Gt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:d,children:[c.jsxs(Yt,{children:[c.jsxs(Jt,{className:"flex items-center gap-2",children:[c.jsx(J.Lock,{className:"h-5 w-5"}),t]}),c.jsx(Zt,{children:n})]}),c.jsx("div",{className:"py-4",children:c.jsx(Qt,{type:r,value:i,onChange:m=>a(m.target.value),placeholder:s,autoFocus:!0,disabled:l})}),c.jsxs(Ht,{children:[c.jsx(ye,{type:"button",variant:"ghost",onClick:h,disabled:l,children:"Cancel"}),c.jsx(ye,{type:"submit",disabled:!i.trim()||l,children:l?"Submitting...":"Submit"})]})]})})})}function Hf({isOpen:e,title:t,description:n,fields:s,onComplete:r,submitText:o="Submit",cancelText:i="Cancel"}){const[a,l]=f.useState(()=>{const j={};return s.forEach(V=>{j[V.name]=V.value||""}),j}),[u,d]=f.useState({}),[h,m]=f.useState({}),[g,w]=f.useState(!1),v=j=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(j)?null:"Please enter a valid email address",T=j=>j.replace(/\D/g,"").length===10?null:"Please enter a valid 10-digit phone number",b=(j,V=4)=>j.length===V?null:`PIN must be ${V} digits`,A=j=>{const V=j.replace(/\D/g,"");return V.length<=3?V:V.length<=6?`(${V.slice(0,3)}) ${V.slice(3)}`:`(${V.slice(0,3)}) ${V.slice(3,6)}-${V.slice(6,10)}`},E=(j,V,$)=>{let D=V,R=null;switch($.type){case"phone":D=A(V),D.trim()&&(R=T(D));break;case"email":V.trim()&&(R=v(V));break;case"pin":D=V.replace(/\D/g,"").slice(0,6),D.trim()&&(R=b(D));break}!R&&$.validation&&D.trim()&&(R=$.validation(D)),l(q=>({...q,[j]:D})),d(q=>({...q,[j]:R||""}))},F=()=>{const j={};let V=!0;return s.forEach($=>{const D=a[$.name]||"";let R=null;if($.required&&!D.trim())R=`${$.label} is required`;else if(D.trim()){switch($.type){case"email":R=v(D);break;case"phone":R=T(D);break;case"pin":R=b(D);break}!R&&$.validation&&(R=$.validation(D))}R&&(j[$.name]=R,V=!1)}),d(j),V},N=async j=>{if(j.preventDefault(),!!F()){w(!0);try{const V={};s.forEach($=>{const D=a[$.name]?.trim();D&&($.type==="phone"?V[$.name]=D.replace(/\D/g,""):V[$.name]=D)}),r(V)}finally{w(!1)}}},k=()=>{l({}),d({}),m({}),r(null)},I=j=>{m(V=>({...V,[j]:!V[j]}))},M=j=>{switch(j.type){case"password":return h[j.name]?"text":"password";case"email":return"email";case"phone":return"tel";case"pin":case"ssn":return"password";default:return"text"}},L=j=>{if(j.placeholder)return j.placeholder;switch(j.type){case"email":return"Enter email address...";case"phone":return"Enter phone number...";case"password":return"Enter password...";case"pin":return"Enter PIN...";case"ssn":return"XXX-XX-XXXX";case"creditCard":return"XXXX XXXX XXXX XXXX";default:return`Enter ${j.label.toLowerCase()}...`}};return c.jsx(qt,{open:e,children:c.jsx(Gt,{showCloseButton:!1,className:"max-w-md",children:c.jsxs("form",{onSubmit:N,children:[c.jsxs(Yt,{children:[c.jsx(Jt,{children:t}),n&&c.jsx(Zt,{children:n})]}),c.jsx("div",{className:"py-4 space-y-4",children:s.map(j=>c.jsxs("div",{children:[c.jsxs("label",{className:"block text-sm font-medium mb-1",children:[j.label,j.required&&c.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),c.jsxs("div",{className:"relative",children:[c.jsx(Qt,{type:M(j),value:a[j.name]||"",onChange:V=>E(j.name,V.target.value,j),placeholder:L(j),className:u[j.name]?"border-red-500":"",disabled:g,autoFocus:j===s[0],maxLength:j.type==="pin"?6:j.type==="phone"?14:void 0}),j.type==="password"&&c.jsx("button",{type:"button",onClick:()=>I(j.name),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",disabled:g,children:h[j.name]?c.jsx(J.EyeOff,{className:"h-4 w-4"}):c.jsx(J.Eye,{className:"h-4 w-4"})})]}),u[j.name]&&c.jsxs("div",{className:"flex items-center gap-1 mt-1 text-sm text-red-500",children:[c.jsx(J.AlertCircle,{className:"h-3 w-3"}),u[j.name]]})]},j.name))}),c.jsxs(Ht,{children:[c.jsx(ye,{type:"button",variant:"ghost",onClick:k,disabled:g,children:i}),c.jsx(ye,{type:"submit",disabled:g,children:g?"Submitting...":o})]})]})})})}const sl=f.createContext(void 0);function rl(){const e=f.useContext(sl);if(!e)throw new Error("useSecureModal must be used within a SecureModalProvider");return e}function il({children:e}){const[t,n]=f.useState(null),[s,r]=f.useState(null),o=f.useRef(null),i=f.useRef(null),a=f.useCallback(g=>new Promise(w=>{n(g),o.current=w}),[]),l=f.useCallback(g=>new Promise(w=>{r(g),i.current=w}),[]),u=f.useCallback(g=>{o.current&&(o.current(g),o.current=null),n(null)},[]),d=f.useCallback(g=>{i.current&&(i.current(g),i.current=null),r(null)},[]),h=()=>{if(s){const w=s.fields.map(v=>({name:v.name,type:v.type==="text"?"text":v.type==="password"?"password":v.type==="email"?"email":v.type==="phone"?"phone":v.type==="pin"?"pin":v.type==="ssn"?"ssn":v.type==="creditCard"?"creditCard":"text",label:v.label,placeholder:v.placeholder,required:v.required!==!1,value:v.value}));return c.jsx(Hf,{isOpen:!0,title:s.title,description:s.description,fields:w,onComplete:d})}if(!t)return null;const g={isOpen:!0,title:t.title,description:t.description,placeholder:t.placeholder,onComplete:u};switch(t.type){case"password":return c.jsx(Kf,{...g});case"email":return c.jsx(qf,{...g});case"phone":return c.jsx(Gf,{...g});case"pin":return c.jsx(Yf,{...g});case"ssn":return c.jsx(Ds,{...g,title:t.title||"SSN Required",placeholder:t.placeholder||"XXX-XX-XXXX"});case"creditCard":return c.jsx(Ds,{...g,title:t.title||"Credit Card Required",placeholder:t.placeholder||"XXXX XXXX XXXX XXXX",type:"text"});case"text":default:return c.jsx(Ds,{...g})}},m=f.useMemo(()=>({showSecureModal:a,showSecureForm:l}),[a,l]);return c.jsxs(sl.Provider,{value:m,children:[e,h()]})}function Jf(e){try{const t=new URL(e),n=`${t.protocol}//${t.host}${t.pathname}`,s=t.hash?t.hash.substring(1):void 0;return{baseUrl:n,anchor:s}}catch{const t=e.indexOf("#");return t!==-1?{baseUrl:e.substring(0,t),anchor:e.substring(t+1)}:{baseUrl:e}}}function Zf(e){try{const t=new URL(e),s=t.pathname.split("/").filter(a=>a.length>0);if(s.length===0)return t.hostname;const r=s[s.length-1];return r&&r.replace(/\.(md|mdx|html|htm)$/i,"").replace(/[-_]/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")||t.hostname}catch{const t=e.indexOf("#"),n=t!==-1?e.substring(0,t):e,s=n.split("/").filter(r=>r.length>0);if(s.length>0){const r=s[s.length-1];return r&&r.replace(/\.(md|mdx|html|htm)$/i,"").replace(/[-_]/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")||n}return n}}function uo(e){let t=e.replace(/_+$/gm,"");const n=/(?:^|\n)(?:#+\s*)?(?:References|References:)(?:\*\*)?\s*\n?([\s\S]*?)(?=\n\n|\n#|$)/i,s=t.match(n),r=new Map,o=[],i=new Map,a=new Map,l=new Map,u=new Map;if(s&&s[1]){const M=s[1],L=/\[(\d+)\]\s*(https?:\/\/[^\s\)]+)/g;let j;for(;(j=L.exec(M))!==null;)if(j[1]&&j[2]){const V=parseInt(j[1],10),$=j[2].replace(/[.,;:!?]+$/,""),D=$.replace(/\/+$/,"");if(a.has(D)||a.set(D,$),i.has(D)||i.set(D,[]),i.get(D).push(V),!l.has(D))l.set(D,V);else{const R=l.get(D);V<R&&l.set(D,V)}}for(const[V,$]of i.entries()){const D=l.get(V);for(const R of $)R!==D&&u.set(R,D)}for(const[V,$]of l.entries()){const D=a.get(V)||V;r.set($,D),o.push({number:$,url:D})}}let d,h=t;s&&s[0]&&(d=s[0],h=t.replace(n,""));const m=[];let g=0;const w=/```[\s\S]*?```|`[^`]+`/g;let v;for(;(v=w.exec(h))!==null;)v.index>g&&m.push({type:"text",content:h.slice(g,v.index),start:g,end:v.index}),m.push({type:"code",content:v[0],start:v.index,end:v.index+v[0].length}),g=v.index+v[0].length;g<h.length&&m.push({type:"text",content:h.slice(g),start:g,end:h.length});const T=m.map(M=>{if(M.type==="code")return M.content;let L=M.content;return L=L.replace(/\[(\d+)\]\((https?:\/\/[^\)]+)\)/g,(V,$,D)=>{const R=parseInt($,10),q=D.replace(/\/+$/,""),ee=u.get(R)||R;return l.has(q)||(l.set(q,ee),r.has(ee)||(r.set(ee,D),o.push({number:ee,url:D}))),`[${ee}]`}),L=L.replace(/\[(\d+)\]/g,(V,$)=>{const D=parseInt($,10);return`[${u.get(D)||D}]`}),L}),b=[];for(const[M,L]of l.entries()){const j=a.get(M)||M,{baseUrl:V,anchor:$}=Jf(j),D=Zf(j);b.push({url:j,baseUrl:V,numbers:[L],anchor:$,title:D})}b.sort((M,L)=>(M.numbers[0]||0)-(L.numbers[0]||0));const A=new Map;let E=1;for(const M of b){const L=M.numbers[0];A.set(L,E),M.numbers=[E],E++}const F=new Map;for(const[M,L]of r.entries()){const j=A.get(M);j&&F.set(j,L)}const N=o.map(M=>{const L=A.get(M.number);return L?{number:L,url:M.url}:M}).filter(M=>A.has(M.number)),k=Array.from(A.entries()).sort((M,L)=>L[0]-M[0]);let I=T.join("");for(const[M,L]of k){const j=new RegExp(`\\[${M}\\](?!\\d)`,"g");I=I.replace(j,`[${L}]`)}return{processedText:I,citations:N.sort((M,L)=>M.number-L.number),citationMap:F,groupedCitations:b,referencesText:d}}function mn(e){if(typeof e=="string")try{const t=JSON.parse(e);return mn(t)}catch{return e}if(Array.isArray(e))return e.map(mn);if(e&&typeof e=="object"){const t={};for(const[n,s]of Object.entries(e))t[n]=mn(s);return t}return e}function Rs(e){if(typeof e=="string"){try{const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t))return mn(t)}catch{}return{}}return e&&typeof e=="object"&&!Array.isArray(e)?mn(e):{}}function Qf({theme:e="auto",layout:t="sidebar",model:n="auto",animated:s=!0,title:r="Chat",logo:o=void 0,defaultWidth:i=384,minWidth:a=300,maxWidth:l=800,initiallyExpanded:u=!1,tools:d=[],safeTools:h=[],toolMetadata:m,systemPrompt:g="",agentId:w,agentName:v,tokenEndpoint:T="/api/arcten/token",apiBaseUrl:b="https://api.arcten.com",user:A,state:E,onStateChange:F,allowStateEdits:N=!0,sources:k,ragConfig:I,showCitations:M=!0,sensitiveParams:L,autoDetectSensitive:j=!1}){const{showSecureModal:V}=rl(),$=yo({apiBaseUrl:b,tokenEndpoint:T,user:A,tools:d,safeTools:h,toolMetadata:m,sensitiveParams:L,autoDetectSensitive:j,agentId:w,agentName:v,state:E,onStateChange:F,allowStateEdits:N,sources:k,ragConfig:I});f.useMemo(()=>I!==void 0?I:k&&k.length>0?{enabled:!0,organizationId:k[0],autoExecute:!0,filters:void 0}:{enabled:!1},[k,I]);const[D,R]=f.useState(u),[q,ee]=f.useState(i),[G,te]=f.useState(600),[xe,we]=f.useState(!1),[H,Je]=f.useState(!1),[Pe,Ze]=f.useState(!1),[he,wt]=f.useState({x:100,y:100}),[re,en]=f.useState(!1),[Qe,St]=f.useState({x:0,y:0}),[jn,_e]=f.useState(!1),Tt=f.useRef(null),ut=f.useRef(null),[Se,Ct]=f.useState(""),[Pn,jt]=f.useState(null),[An,Mn]=f.useState("Thinking..."),[Pt,Xe]=f.useState(new Set),[cs,En]=f.useState(""),[We,kn]=f.useState([]),Nn=f.useRef(new Map),At=f.useRef(!1),ae=f.useRef(""),[Mt,et]=f.useState(!1),[fe,tn]=f.useState(!1),Le=f.useMemo(()=>[...d,...h],[d,h]),Ae=f.useMemo(()=>ir(Le,m),[Le,m]),nn=f.useMemo(()=>{const C=new Map,_=new Map(Ae.map(U=>[U.name,U]));return Le.forEach(U=>{const W=U[ke];if(W){const K=_.get(W);if(K){C.set(K.name,U);return}}const X=Ae.find(K=>K.name===U.name);X&&C.set(X.name,U)}),C},[Le,Ae]),Fe=f.useMemo(()=>{const C=new Set,_=new Map(Ae.map(U=>[U.name,U]));return h.forEach(U=>{const W=U[ke];if(W&&_.has(W))C.add(W);else{const X=Ae.find(K=>K.name===U.name);X&&C.add(X.name)}}),C},[h,Ae]),dt=["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..."];f.useEffect(()=>{if(typeof window<"u"){const C=localStorage.getItem("arcten-sidebar-expanded");C&&R(JSON.parse(C));const _=localStorage.getItem("arcten-sidebar-width");_&&ee(parseInt(_));const U=localStorage.getItem("arcten-sidebar-height");U&&te(parseInt(U));const W=localStorage.getItem("arcten-sidebar-detached");W&&Je(JSON.parse(W));const X=localStorage.getItem("arcten-sidebar-position");if(X){const je=JSON.parse(X),ne=50,pe=Math.max(ne-i,Math.min(je.x,window.innerWidth-ne)),p=Math.max(0,Math.min(je.y,window.innerHeight-ne));wt({x:pe,y:p})}const K=localStorage.getItem("arcten-sidebar-minimized");K&&Ze(JSON.parse(K)),_e(!0)}},[]),f.useMemo(()=>A,[A?.id]),f.useEffect(()=>{(async()=>{if(Le.length===0)return;const _=Le.map(U=>`${U.name}:${U.toString()}`).join("|");if(_!==ae.current&&!At.current){At.current=!0,ae.current=_;try{const U=Le.map(X=>({name:X.name,code:X.toString()})),W=await fetch(`${b}/tools/describe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tools:U})});if(W.ok){const X=await W.json();X.tools&&X.tools.forEach(K=>{Nn.current.set(K.name,K)}),kn(X.tools)}}catch(U){console.error("Failed to fetch tool descriptions:",U)}finally{At.current=!1}}})()},[Le,b]),f.useEffect(()=>{Promise.resolve().then(()=>If).then(C=>{jt(()=>C.Response)})},[]),f.useEffect(()=>{const C=()=>{En(window.location.pathname)};C(),window.addEventListener("popstate",C);const _=setInterval(C,500);return()=>{window.removeEventListener("popstate",C),clearInterval(_)}},[]);const{id:Dn,messages:be,sendMessage:tt,status:Ce,error:Rn,stop:Et,addToolOutput:Ke,setMessages:Vn,clientToken:In,tokenError:$e,conversations:Be,isLoadingConversations:us,loadConversation:kt,deleteConversation:qe,startNewConversation:ht}=$;f.useEffect(()=>{D&&ut.current&&ut.current.focus()},[D,be]),f.useEffect(()=>{const C=be[be.length-1];if(!C||C.role!=="assistant")return;const _=C.parts?.filter(U=>U.type?.startsWith("tool-")&&U.state==="input-available"&&typeof U.toolCallId=="string"&&U.input!==void 0)||[];for(const U of _){const W=U,X=W.type?.replace("tool-","")||"",K=W.toolCallId;if(Fe.has(X)){if(Pt.has(K))continue;Xe(ne=>ne.has(K)?ne:new Set(ne).add(K)),(async()=>{try{const ne=nn.get(X);if(!ne){console.warn(`[ArctenAgent] Tool ${X} not found in toolsMap`),Ke({toolCallId:K,tool:X,output:`Error: Tool ${X} not found`}),Xe(y=>{const S=new Set(y);return S.delete(K),S});return}const pe=Rs(W.input),p=Ae.find(y=>y.name===X);let x;if(p&&p.jsonSchema?.properties){const S=Object.keys(p.jsonSchema.properties).map(P=>pe[P]);x=await ne(...S)}else x=await ne(...Object.values(pe));Ke({toolCallId:K,tool:X,output:x}),Xe(y=>{const S=new Set(y);return S.delete(K),S})}catch(ne){console.error(`[ArctenAgent] Error executing safe tool ${X}:`,ne),Ke({toolCallId:K,tool:X,output:`Error: ${ne instanceof Error?ne.message:String(ne)}`}),Xe(pe=>{const p=new Set(pe);return p.delete(K),p})}})()}}},[be,Fe,nn,Ae,Ke,Pt]);function On(){R(!0),localStorage.setItem("arcten-sidebar-expanded","true")}function Ln(){R(!1),localStorage.setItem("arcten-sidebar-expanded","false")}f.useEffect(()=>{},[D]),f.useEffect(()=>{Tt.current&&Tt.current.scrollIntoView({behavior:"smooth"})},[be]),f.useEffect(()=>{function C(_){_.key==="Escape"&&(Ce==="streaming"||Ce==="submitted")&&(_.preventDefault(),Et())}return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[Ce,Et]);function Nt(C){const _=Math.floor((Date.now()-C)/1e3);return _<60?"now":_<3600?`${Math.floor(_/60)}m`:_<86400?`${Math.floor(_/3600)}h`:`${Math.floor(_/86400)}d`}function Fn(){ht(),tn(!1)}function $n(C){if(C.preventDefault(),!Se.trim())return;(Ce==="streaming"||Ce==="submitted")&&Et();const _=dt[Math.floor(Math.random()*dt.length)]||"Thinking...";Mn(_),tt({text:Se}),Ct("")}function Bn(C){const _=C.target.value;Ct(_)}f.useEffect(()=>{if(!xe)return;function C(U){if(H){const W=U.clientX-he.x,X=U.clientY-he.y;W>=a&&W<=l&&ee(W),X>=400&&X<=1e3&&te(X)}else{const W=window.innerWidth-U.clientX;W>=a&&W<=l&&ee(W)}}function _(){we(!1),localStorage.setItem("arcten-sidebar-width",q.toString()),localStorage.setItem("arcten-sidebar-height",G.toString())}return window.addEventListener("mousemove",C),window.addEventListener("mouseup",_),()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_)}},[xe,q,G,H,he,a,l]);function ze(C){C.preventDefault(),we(!0)}function ds(){Je(!0),Ze(!1),localStorage.setItem("arcten-sidebar-detached","true"),localStorage.setItem("arcten-sidebar-minimized","false")}function sn(){Je(!1),Ze(!1),localStorage.setItem("arcten-sidebar-detached","false"),localStorage.setItem("arcten-sidebar-minimized","false")}function Dt(){Ze(!Pe),localStorage.setItem("arcten-sidebar-minimized",JSON.stringify(!Pe))}function hs(C){H&&(en(!0),St({x:C.clientX-he.x,y:C.clientY-he.y}))}return f.useEffect(()=>{if(!H)return;function C(){wt(_=>{const W=window.innerWidth-50,X=window.innerHeight-50,K=50-q,je=0,ne=Math.max(K,Math.min(_.x,W)),pe=Math.max(je,Math.min(_.y,X));if(ne!==_.x||pe!==_.y){const p={x:ne,y:pe};return localStorage.setItem("arcten-sidebar-position",JSON.stringify(p)),p}return _})}return window.addEventListener("resize",C),()=>window.removeEventListener("resize",C)},[H,q]),f.useEffect(()=>{if(!re)return;function C(U){const W=U.clientX-Qe.x,X=U.clientY-Qe.y,K=50,je=window.innerWidth-K,ne=window.innerHeight-K,pe=K-q,p=0,x=Math.max(pe,Math.min(W,je)),y=Math.max(p,Math.min(X,ne));wt({x,y})}function _(){en(!1),localStorage.setItem("arcten-sidebar-position",JSON.stringify(he))}return window.addEventListener("mousemove",C),window.addEventListener("mouseup",_),()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_)}},[re,Qe,he,q]),jn?$e?c.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:c.jsxs("div",{className:"p-4 bg-destructive/10 text-destructive text-sm rounded-lg",children:["Authentication error: ",$e]})}):In?c.jsx(Yu,{features:Pf,children:c.jsx(Wn,{id:"arcten-sidebar","data-theme":e,"data-layout":t,"data-model":n,initial:H?{opacity:0,scale:.95,filter:"blur(4px)"}:!1,animate:H?{opacity:1,scale:1,filter:"blur(0px)"}:{},transition:{duration:.2,ease:"easeOut"},className:`
|
|
20
|
-
${
|
|
19
|
+
`),()=>{T.contains(w)&&T.removeChild(w)}},[t]),c.jsx(Wu,{isPresent:t,childRef:o,sizeRef:i,children:$e.cloneElement(e,{ref:l})})}const qu=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:r,presenceAffectsLayout:o,mode:i,anchorX:a,root:l})=>{const u=ar(Gu),d=f.useId();let h=!0,m=f.useMemo(()=>(h=!1,{id:d,initial:t,isPresent:n,custom:r,onExitComplete:p=>{u.set(p,!0);for(const S of u.values())if(!S)return;s&&s()},register:p=>(u.set(p,!1),()=>u.delete(p))}),[n,u,s]);return o&&h&&(m={...m}),f.useMemo(()=>{u.forEach((p,S)=>u.set(S,!1))},[n]),$e.useEffect(()=>{!n&&!u.size&&s&&s()},[n]),i==="popLayout"&&(e=c.jsx(Ku,{isPresent:n,anchorX:a,root:l,children:e})),c.jsx(rs.Provider,{value:m,children:e})};function Gu(){return new Map}function da(e=!0){const t=f.useContext(rs);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:r}=t,o=f.useId();f.useEffect(()=>{if(e)return r(o)},[e]);const i=f.useCallback(()=>e&&s&&s(o),[o,s,e]);return!n&&s?[!1,i]:[!0]}const Un=e=>e.key||"";function yi(e){const t=[];return f.Children.forEach(e,n=>{f.isValidElement(n)&&t.push(n)}),t}const Yu=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:r=!0,mode:o="sync",propagate:i=!1,anchorX:a="left",root:l})=>{const[u,d]=da(i),h=f.useMemo(()=>yi(e),[e]),m=i&&!u?[]:h.map(Un),p=f.useRef(!0),S=f.useRef(h),w=ar(()=>new Map),[T,x]=f.useState(h),[P,E]=f.useState(h);vo(()=>{p.current=!1,S.current=h;for(let k=0;k<P.length;k++){const I=Un(P[k]);m.includes(I)?w.delete(I):w.get(I)!==!0&&w.set(I,!1)}},[P,m.length,m.join("-")]);const L=[];if(h!==T){let k=[...h];for(let I=0;I<P.length;I++){const A=P[I],O=Un(A);m.includes(O)||(k.splice(I,0,A),L.push(A))}return o==="wait"&&L.length&&(k=L),E(yi(k)),x(h),null}process.env.NODE_ENV!=="production"&&o==="wait"&&P.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:N}=f.useContext(or);return c.jsx(c.Fragment,{children:P.map(k=>{const I=Un(k),A=i&&!u?!1:h===P||m.includes(I),O=()=>{if(w.has(I))w.set(I,!0);else return;let j=!0;w.forEach(R=>{R||(j=!1)}),j&&(N?.(),E(S.current),i&&d?.(),s&&s())};return c.jsx(qu,{isPresent:A,initial:!p.current||n?void 0:!1,custom:t,presenceAffectsLayout:r,mode:o,root:l,onExitComplete:A?void 0:O,anchorX:a,children:k},I)})})},Nr=f.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"]},zt={};for(const e in xi)zt[e]={isEnabled:t=>xi[e].some(n=>!!t[n])};function Ys(e){for(const t in e)zt[t]={...zt[t],...e[t]}}function Hu({children:e,features:t,strict:n=!1}){const[,s]=f.useState(!Ts(t)),r=f.useRef(void 0);if(!Ts(t)){const{renderer:o,...i}=t;r.current=o,Ys(i)}return f.useEffect(()=>{Ts(t)&&t().then(({renderer:o,...i})=>{Ys(i),r.current=o,s(!0)})},[]),c.jsx(Nr.Provider,{value:{renderer:r.current,strict:n},children:e})}function Ts(e){return typeof e=="function"}const Ju=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 ts(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Ju.has(e)}let ha=e=>!ts(e);function Zu(e){typeof e=="function"&&(ha=t=>t.startsWith("on")?!ts(t):e(t))}try{Zu(require("@emotion/is-prop-valid").default)}catch{}function Qu(e,t,n){const s={};for(const r in e)r==="values"&&typeof e.values=="object"||(ha(r)||n===!0&&ts(r)||!t&&!ts(r)||e.draggable&&r.startsWith("onDrag"))&&(s[r]=e[r]);return s}const is=f.createContext({});function os(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Cn(e){return typeof e=="string"||Array.isArray(e)}const Dr=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Rr=["initial",...Dr];function as(e){return os(e.animate)||Rr.some(t=>Cn(e[t]))}function fa(e){return!!(as(e)||e.variants)}function ed(e,t){if(as(e)){const{initial:n,animate:s}=e;return{initial:n===!1||Cn(n)?n:void 0,animate:Cn(s)?s:void 0}}return e.inherit!==!1?t:{}}function td(e){const{initial:t,animate:n}=ed(e,f.useContext(is));return f.useMemo(()=>({initial:t,animate:n}),[bi(t),bi(n)])}function bi(e){return Array.isArray(e)?e.join(" "):e}const jn={};function nd(e){for(const t in e)jn[t]=e[t],gr(t)&&(jn[t].isCSSVariable=!0)}function ma(e,{layout:t,layoutId:n}){return Wt.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!jn[e]||e==="opacity")}const sd={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},rd=Xt.length;function id(e,t,n){let s="",r=!0;for(let o=0;o<rd;o++){const i=Xt[o],a=e[i];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(i.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const u=ia(a,Ar[i]);if(!l){r=!1;const d=sd[i]||i;s+=`${d}(${u}) `}n&&(t[i]=u)}}return s=s.trim(),n?s=n(t,r?"":s):r&&(s="none"),s}function Vr(e,t,n){const{style:s,vars:r,transformOrigin:o}=e;let i=!1,a=!1;for(const l in t){const u=t[l];if(Wt.has(l)){i=!0;continue}else if(gr(l)){r[l]=u;continue}else{const d=ia(u,Ar[l]);l.startsWith("origin")?(a=!0,o[l]=d):s[l]=d}}if(t.transform||(i||n?s.transform=id(t,e.transform,n):s.transform&&(s.transform="none")),a){const{originX:l="50%",originY:u="50%",originZ:d=0}=o;s.transformOrigin=`${l} ${u} ${d}`}}const Ir=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function pa(e,t,n){for(const s in t)!be(t[s])&&!ma(s,n)&&(e[s]=t[s])}function od({transformTemplate:e},t){return f.useMemo(()=>{const n=Ir();return Vr(n,t,e),Object.assign({},n.vars,n.style)},[t])}function ad(e,t){const n=e.style||{},s={};return pa(s,n,e),Object.assign(s,od(e,t)),s}function ld(e,t){const n={},s=ad(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=s,n}const cd={offset:"stroke-dashoffset",array:"stroke-dasharray"},ud={offset:"strokeDashoffset",array:"strokeDasharray"};function dd(e,t,n=1,s=0,r=!0){e.pathLength=1;const o=r?cd:ud;e[o.offset]=U.transform(-s);const i=U.transform(t),a=U.transform(n);e[o.array]=`${i} ${a}`}function ga(e,{attrX:t,attrY:n,attrScale:s,pathLength:r,pathSpacing:o=1,pathOffset:i=0,...a},l,u,d){if(Vr(e,a,u),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:m}=e;h.transform&&(m.transform=h.transform,delete h.transform),(m.transform||h.transformOrigin)&&(m.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),m.transform&&(m.transformBox=d?.transformBox??"fill-box",delete h.transformBox),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),s!==void 0&&(h.scale=s),r!==void 0&&dd(h,r,o,i,!1)}const ya=()=>({...Ir(),attrs:{}}),xa=e=>typeof e=="string"&&e.toLowerCase()==="svg";function hd(e,t,n,s){const r=f.useMemo(()=>{const o=ya();return ga(o,t,xa(s),e.transformTemplate,e.style),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};pa(o,e.style,e),r.style={...o,...r.style}}return r}const fd=["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 Or(e){return typeof e!="string"||e.includes("-")?!1:!!(fd.indexOf(e)>-1||/[A-Z]/u.test(e))}function md(e,t,n,{latestValues:s},r,o=!1){const a=(Or(e)?hd:ld)(t,s,r,e),l=Qu(t,typeof e=="string",o),u=e!==f.Fragment?{...l,...a,ref:n}:{},{children:d}=t,h=f.useMemo(()=>be(d)?d.get():d,[d]);return f.createElement(e,{...u,children:h})}function vi(e){const t=[{},{}];return e?.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function Lr(e,t,n,s){if(typeof t=="function"){const[r,o]=vi(s);t=t(n!==void 0?n:e.custom,r,o)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,o]=vi(s);t=t(n!==void 0?n:e.custom,r,o)}return t}function Yn(e){return be(e)?e.get():e}function pd({scrapeMotionValuesFromProps:e,createRenderState:t},n,s,r){return{latestValues:gd(n,s,r,e),renderState:t()}}function gd(e,t,n,s){const r={},o=s(e,{});for(const m in o)r[m]=Yn(o[m]);let{initial:i,animate:a}=e;const l=as(e),u=fa(e);t&&u&&!l&&e.inherit!==!1&&(i===void 0&&(i=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||i===!1;const h=d?a:i;if(h&&typeof h!="boolean"&&!os(h)){const m=Array.isArray(h)?h:[h];for(let p=0;p<m.length;p++){const S=Lr(e,m[p]);if(S){const{transitionEnd:w,transition:T,...x}=S;for(const P in x){let E=x[P];if(Array.isArray(E)){const L=d?E.length-1:0;E=E[L]}E!==null&&(r[P]=E)}for(const P in w)r[P]=w[P]}}}return r}const ba=e=>(t,n)=>{const s=f.useContext(is),r=f.useContext(rs),o=()=>pd(e,t,s,r);return n?o():ar(o)};function Fr(e,t,n){const{style:s}=e,r={};for(const o in s)(be(s[o])||t.style&&be(t.style[o])||ma(o,e)||n?.getValue(o)?.liveStyle!==void 0)&&(r[o]=s[o]);return r}const yd=ba({scrapeMotionValuesFromProps:Fr,createRenderState:Ir});function va(e,t,n){const s=Fr(e,t,n);for(const r in e)if(be(e[r])||be(t[r])){const o=Xt.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;s[o]=e[r]}return s}const xd=ba({scrapeMotionValuesFromProps:va,createRenderState:ya}),bd=Symbol.for("motionComponentSymbol");function Vt(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function vd(e,t,n){return f.useCallback(s=>{s&&e.onMount&&e.onMount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):Vt(n)&&(n.current=s))},[t])}const $r=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),wd="framerAppearId",wa="data-"+$r(wd),Sa=f.createContext({});function Sd(e,t,n,s,r){const{visualElement:o}=f.useContext(is),i=f.useContext(Nr),a=f.useContext(rs),l=f.useContext(kr).reducedMotion,u=f.useRef(null);s=s||i.renderer,!u.current&&s&&(u.current=s(e,{visualState:t,parent:o,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const d=u.current,h=f.useContext(Sa);d&&!d.projection&&r&&(d.type==="html"||d.type==="svg")&&Td(u.current,n,r,h);const m=f.useRef(!1);f.useInsertionEffect(()=>{d&&m.current&&d.update(n,a)});const p=n[wa],S=f.useRef(!!p&&!window.MotionHandoffIsComplete?.(p)&&window.MotionHasOptimisedAnimation?.(p));return vo(()=>{d&&(m.current=!0,window.MotionIsMounted=!0,d.updateFeatures(),d.scheduleRenderMicrotask(),S.current&&d.animationState&&d.animationState.animateChanges())}),f.useEffect(()=>{d&&(!S.current&&d.animationState&&d.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(p)}),S.current=!1),d.enteringChildren=void 0)}),d}function Td(e,t,n,s){const{layoutId:r,layout:o,drag:i,dragConstraints:a,layoutScroll:l,layoutRoot:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Ta(e.parent)),e.projection.setOptions({layoutId:r,layout:o,alwaysMeasureLayout:!!i||a&&Vt(a),visualElement:e,animationType:typeof o=="string"?o:"both",initialPromotionConfig:s,crossfade:d,layoutScroll:l,layoutRoot:u})}function Ta(e){if(e)return e.options.allowProjection!==!1?e.projection:Ta(e.parent)}function Hn(e,{forwardMotionProps:t=!1}={},n,s){n&&Ys(n);const r=Or(e)?xd:yd;function o(a,l){let u;const d={...f.useContext(kr),...a,layoutId:Cd(a)},{isStatic:h}=d,m=td(a),p=r(a,h);if(!h&&lr){jd(d,n);const S=Pd(d);u=S.MeasureLayout,m.visualElement=Sd(e,p,d,s,S.ProjectionNode)}return c.jsxs(is.Provider,{value:m,children:[u&&m.visualElement?c.jsx(u,{visualElement:m.visualElement,...d}):null,md(e,a,vd(p,m.visualElement,l),p,h,t)]})}o.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const i=f.forwardRef(o);return i[bd]=e,i}function Cd({layoutId:e}){const t=f.useContext(or).id;return t&&e!==void 0?t+"-"+e:e}function jd(e,t){const n=f.useContext(Nr).strict;if(process.env.NODE_ENV!=="production"&&t&&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.";e.ignoreStrict?Ut(!1,s,"lazy-strict-mode"):Ye(!1,s,"lazy-strict-mode")}}function Pd(e){const{drag:t,layout:n}=zt;if(!t&&!n)return{};const s={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function Ad(e,t){if(typeof Proxy>"u")return Hn;const n=new Map,s=(o,i)=>Hn(o,i,e,t),r=(o,i)=>(process.env.NODE_ENV!=="production"&&fr(!1,"motion() is deprecated. Use motion.create() instead."),s(o,i));return new Proxy(r,{get:(o,i)=>i==="create"?s:(n.has(i)||n.set(i,Hn(i,void 0,e,t)),n.get(i))})}function Ca({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function Md({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Ed(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function Cs(e){return e===void 0||e===1}function Hs({scale:e,scaleX:t,scaleY:n}){return!Cs(e)||!Cs(t)||!Cs(n)}function xt(e){return Hs(e)||ja(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function ja(e){return wi(e.x)||wi(e.y)}function wi(e){return e&&e!=="0%"}function ns(e,t,n){const s=e-n,r=t*s;return n+r}function Si(e,t,n,s,r){return r!==void 0&&(e=ns(e,r,s)),ns(e,n,s)+t}function Js(e,t=0,n=1,s,r){e.min=Si(e.min,t,n,s,r),e.max=Si(e.max,t,n,s,r)}function Pa(e,{x:t,y:n}){Js(e.x,t.translate,t.scale,t.originPoint),Js(e.y,n.translate,n.scale,n.originPoint)}const Ti=.999999999999,Ci=1.0000000000001;function kd(e,t,n,s=!1){const r=n.length;if(!r)return;t.x=t.y=1;let o,i;for(let a=0;a<r;a++){o=n[a],i=o.projectionDelta;const{visualElement:l}=o.options;l&&l.props.style&&l.props.style.display==="contents"||(s&&o.options.layoutScroll&&o.scroll&&o!==o.root&&Ot(e,{x:-o.scroll.offset.x,y:-o.scroll.offset.y}),i&&(t.x*=i.x.scale,t.y*=i.y.scale,Pa(e,i)),s&&xt(o.latestValues)&&Ot(e,o.latestValues))}t.x<Ci&&t.x>Ti&&(t.x=1),t.y<Ci&&t.y>Ti&&(t.y=1)}function It(e,t){e.min=e.min+t,e.max=e.max+t}function ji(e,t,n,s,r=.5){const o=ce(e.min,e.max,r);Js(e,t,n,o,s)}function Ot(e,t){ji(e.x,t.x,t.scaleX,t.scale,t.originX),ji(e.y,t.y,t.scaleY,t.scale,t.originY)}function Aa(e,t){return Ca(Ed(e.getBoundingClientRect(),t))}function Nd(e,t,n){const s=Aa(e,n),{scroll:r}=t;return r&&(It(s.x,r.offset.x),It(s.y,r.offset.y)),s}const Pi=()=>({translate:0,scale:1,origin:0,originPoint:0}),Lt=()=>({x:Pi(),y:Pi()}),Ai=()=>({min:0,max:0}),ue=()=>({x:Ai(),y:Ai()}),Zs={current:null},Ma={current:!1};function Dd(){if(Ma.current=!0,!!lr)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Zs.current=e.matches;e.addEventListener("change",t),t()}else Zs.current=!1}const Rd=new WeakMap;function Vd(e,t,n){for(const s in t){const r=t[s],o=n[s];if(be(r))e.addValue(s,r);else if(be(o))e.addValue(s,Bt(r,{owner:e}));else if(o!==r)if(e.hasValue(s)){const i=e.getValue(s);i.liveStyle===!0?i.jump(r):i.hasAnimated||i.set(r)}else{const i=e.getStaticValue(s);e.addValue(s,Bt(i!==void 0?i:r,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const Mi=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Id{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:r,blockInitialAnimation:o,visualState:i},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=jr,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 m=Ce.now();this.renderScheduledAt<m&&(this.renderScheduledAt=m,ae.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=i;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=u,this.parent=t,this.props=n,this.presenceContext=s,this.depth=t?t.depth+1:0,this.reducedMotionConfig=r,this.options=a,this.blockInitialAnimation=!!o,this.isControllingVariants=as(n),this.isVariantNode=fa(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:d,...h}=this.scrapeMotionValuesFromProps(n,{},this);for(const m in h){const p=h[m];l[m]!==void 0&&be(p)&&p.set(l[m])}}mount(t){this.current=t,Rd.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),Ma.current||Dd(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Zs.current,process.env.NODE_ENV!=="production"&&fr(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(),rt(this.notifyUpdate),rt(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const s=Wt.has(t);s&&this.onBindTransform&&this.onBindTransform();const r=n.on("change",i=>{this.latestValues[t]=i,this.props.onUpdate&&ae.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let o;window.MotionCheckAppearSync&&(o=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),o&&o(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in zt){const n=zt[t];if(!n)continue;const{isEnabled:s,Feature:r}=n;if(!this.features[t]&&r&&s(this.props)&&(this.features[t]=new r(this)),this.features[t]){const o=this.features[t];o.isMounted?o.update():(o.mount(),o.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):ue()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<Mi.length;s++){const r=Mi[s];this.propEventSubscriptions[r]&&(this.propEventSubscriptions[r](),delete this.propEventSubscriptions[r]);const o="on"+r,i=t[o];i&&(this.propEventSubscriptions[r]=this.on(r,i))}this.prevMotionValues=Vd(this,this.scrapeMotionValuesFromProps(t,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]: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(t){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(t),()=>n.variantChildren.delete(t)}addValue(t,n){const s=this.values.get(t);n!==s&&(s&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let s=this.values.get(t);return s===void 0&&n!==void 0&&(s=Bt(n===null?void 0:n,{owner:this}),this.addValue(t,s)),s}readValue(t,n){let s=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return s!=null&&(typeof s=="string"&&(wo(s)||To(s))?s=parseFloat(s):!Uu(s)&&it.test(n)&&(s=ra(t,n)),this.setBaseTarget(t,be(s)?s.get():s)),be(s)?s.get():s}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const o=Lr(this.props,n,this.presenceContext?.custom);o&&(s=o[t])}if(n&&s!==void 0)return s;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!be(r)?r:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new hr),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Mr.render(this.render)}}class Ea extends Id{constructor(){super(...arguments),this.KeyframeResolver=ku}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:s}){delete n[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;be(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function ka(e,{style:t,vars:n},s,r){const o=e.style;let i;for(i in t)o[i]=t[i];r?.applyProjectionStyles(o,s);for(i in n)o.setProperty(i,n[i])}function Od(e){return window.getComputedStyle(e)}class Ld extends Ea{constructor(){super(...arguments),this.type="html",this.renderInstance=ka}readValueFromInstance(t,n){if(Wt.has(n))return this.projection?.isProjecting?Us(n):Gc(t,n);{const s=Od(t),r=(gr(n)?s.getPropertyValue(n):s[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Aa(t,n)}build(t,n,s){Vr(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return Fr(t,n,s)}}const Na=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 Fd(e,t,n,s){ka(e,t,void 0,s);for(const r in t.attrs)e.setAttribute(Na.has(r)?r:$r(r),t.attrs[r])}class $d extends Ea{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=ue}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Wt.has(n)){const s=sa(n);return s&&s.default||0}return n=Na.has(n)?n:$r(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return va(t,n,s)}build(t,n,s){ga(t,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,n,s,r){Fd(t,n,s,r)}mount(t){this.isSVGTag=xa(t.tagName),super.mount(t)}}const Da=(e,t)=>Or(e)?new $d(t):new Ld(t,{allowProjection:e!==f.Fragment});function $t(e,t,n){const s=e.getProps();return Lr(s,t,n!==void 0?n:s.custom,e)}const Qs=e=>Array.isArray(e);function Bd(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Bt(n))}function zd(e){return Qs(e)?e[e.length-1]||0:e}function Ud(e,t){const n=$t(e,t);let{transitionEnd:s={},transition:r={},...o}=n||{};o={...o,...s};for(const i in o){const a=zd(o[i]);Bd(e,i,a)}}function _d(e){return!!(be(e)&&e.add)}function er(e,t){const n=e.getValue("willChange");if(_d(n))return n.add(t);if(!n&&He.WillChange){const s=new He.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function Ra(e){return e.props[wa]}const Xd=e=>e!==null;function Wd(e,{repeat:t,repeatType:n="loop"},s){const r=e.filter(Xd),o=t&&n!=="loop"&&t%2===1?0:r.length-1;return r[o]}const Kd={type:"spring",stiffness:500,damping:25,restSpeed:10},qd=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Gd={type:"keyframes",duration:.8},Yd={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Hd=(e,{keyframes:t})=>t.length>2?Gd:Wt.has(e)?e.startsWith("scale")?qd(t[1]):Kd:Yd;function Jd({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:r,repeat:o,repeatType:i,repeatDelay:a,from:l,elapsed:u,...d}){return!!Object.keys(d).length}const Br=(e,t,n,s={},r,o)=>i=>{const a=Pr(s,e)||{},l=a.delay||s.delay||0;let{elapsed:u=0}=s;u=u-Be(l);const d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-u,onUpdate:m=>{t.set(m),a.onUpdate&&a.onUpdate(m)},onComplete:()=>{i(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:o?void 0:r};Jd(a)||Object.assign(d,Hd(e,d)),d.duration&&(d.duration=Be(d.duration)),d.repeatDelay&&(d.repeatDelay=Be(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let h=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(qs(d),d.delay===0&&(h=!0)),(He.instantAnimations||He.skipAnimations)&&(h=!0,qs(d),d.delay=0),d.allowFlatten=!a.type&&!a.ease,h&&!o&&t.get()!==void 0){const m=Wd(d.keyframes,a);if(m!==void 0){ae.update(()=>{d.onUpdate(m),d.onComplete()});return}}return a.isSync?new Cr(d):new yu(d)};function Zd({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function Va(e,t,{delay:n=0,transitionOverride:s,type:r}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:i,...a}=t;s&&(o=s);const l=[],u=r&&e.animationState&&e.animationState.getState()[r];for(const d in a){const h=e.getValue(d,e.latestValues[d]??null),m=a[d];if(m===void 0||u&&Zd(u,d))continue;const p={delay:n,...Pr(o||{},d)},S=h.get();if(S!==void 0&&!h.isAnimating&&!Array.isArray(m)&&m===S&&!p.velocity)continue;let w=!1;if(window.MotionHandoffAnimation){const x=Ra(e);if(x){const P=window.MotionHandoffAnimation(x,d,ae);P!==null&&(p.startTime=P,w=!0)}}er(e,d),h.start(Br(d,h,m,e.shouldReduceMotion&&ea.has(d)?{type:!1}:p,e,w));const T=h.animation;T&&l.push(T)}return i&&Promise.all(l).then(()=>{ae.update(()=>{i&&Ud(e,i)})}),l}function Ia(e,t,n,s=0,r=1){const o=Array.from(e).sort((u,d)=>u.sortNodePosition(d)).indexOf(t),i=e.size,a=(i-1)*s;return typeof n=="function"?n(o,i):r===1?o*s:a-o*s}function tr(e,t,n={}){const s=$t(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:r=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(r=n.transitionOverride);const o=s?()=>Promise.all(Va(e,s,n)):()=>Promise.resolve(),i=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:h}=r;return Qd(e,t,l,u,d,h,n)}:()=>Promise.resolve(),{when:a}=r;if(a){const[l,u]=a==="beforeChildren"?[o,i]:[i,o];return l().then(()=>u())}else return Promise.all([o(),i(n.delay)])}function Qd(e,t,n=0,s=0,r=0,o=1,i){const a=[];for(const l of e.variantChildren)l.notify("AnimationStart",t),a.push(tr(l,t,{...i,delay:n+(typeof s=="function"?0:s)+Ia(e.variantChildren,l,s,r,o)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(a)}function eh(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const r=t.map(o=>tr(e,o,n));s=Promise.all(r)}else if(typeof t=="string")s=tr(e,t,n);else{const r=typeof t=="function"?$t(e,t,n.custom):t;s=Promise.all(Va(e,r,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}function Oa(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;s<n;s++)if(t[s]!==e[s])return!1;return!0}const th=Rr.length;function La(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?La(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<th;n++){const s=Rr[n],r=e.props[s];(Cn(r)||r===!1)&&(t[s]=r)}return t}const nh=[...Dr].reverse(),sh=Dr.length;function rh(e){return t=>Promise.all(t.map(({animation:n,options:s})=>eh(e,n,s)))}function ih(e){let t=rh(e),n=Ei(),s=!0;const r=l=>(u,d)=>{const h=$t(e,d,l==="exit"?e.presenceContext?.custom:void 0);if(h){const{transition:m,transitionEnd:p,...S}=h;u={...u,...S,...p}}return u};function o(l){t=l(e)}function i(l){const{props:u}=e,d=La(e.parent)||{},h=[],m=new Set;let p={},S=1/0;for(let T=0;T<sh;T++){const x=nh[T],P=n[x],E=u[x]!==void 0?u[x]:d[x],L=Cn(E),N=x===l?P.isActive:null;N===!1&&(S=T);let k=E===d[x]&&E!==u[x]&&L;if(k&&s&&e.manuallyAnimateOnMount&&(k=!1),P.protectedKeys={...p},!P.isActive&&N===null||!E&&!P.prevProp||os(E)||typeof E=="boolean")continue;const I=oh(P.prevProp,E);let A=I||x===l&&P.isActive&&!k&&L||T>S&&L,O=!1;const j=Array.isArray(E)?E:[E];let R=j.reduce(r(x),{});N===!1&&(R={});const{prevResolvedValues:F={}}=P,D={...F,...R},$=G=>{A=!0,m.has(G)&&(O=!0,m.delete(G)),P.needsAnimating[G]=!0;const se=e.getValue(G);se&&(se.liveStyle=!1)};for(const G in D){const se=R[G],fe=F[G];if(p.hasOwnProperty(G))continue;let ge=!1;Qs(se)&&Qs(fe)?ge=!Oa(se,fe):ge=se!==fe,ge?se!=null?$(G):m.add(G):se!==void 0&&m.has(G)?$(G):P.protectedKeys[G]=!0}P.prevProp=E,P.prevResolvedValues=R,P.isActive&&(p={...p,...R}),s&&e.blockInitialAnimation&&(A=!1);const J=k&&I;A&&(!J||O)&&h.push(...j.map(G=>{const se={type:x};if(typeof G=="string"&&s&&!J&&e.manuallyAnimateOnMount&&e.parent){const{parent:fe}=e,ge=$t(fe,G);if(fe.enteringChildren&&ge){const{delayChildren:B}=ge.transition||{};se.delay=Ia(fe.enteringChildren,e,B)}}return{animation:G,options:se}}))}if(m.size){const T={};if(typeof u.initial!="boolean"){const x=$t(e,Array.isArray(u.initial)?u.initial[0]:u.initial);x&&x.transition&&(T.transition=x.transition)}m.forEach(x=>{const P=e.getBaseTarget(x),E=e.getValue(x);E&&(E.liveStyle=!0),T[x]=P??null}),h.push({animation:T})}let w=!!h.length;return s&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(w=!1),s=!1,w?t(h):Promise.resolve()}function a(l,u){if(n[l].isActive===u)return Promise.resolve();e.variantChildren?.forEach(h=>h.animationState?.setActive(l,u)),n[l].isActive=u;const d=i(l);for(const h in n)n[h].protectedKeys={};return d}return{animateChanges:i,setActive:a,setAnimateFunction:o,getState:()=>n,reset:()=>{n=Ei()}}}function oh(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Oa(t,e):!1}function gt(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Ei(){return{animate:gt(!0),whileInView:gt(),whileHover:gt(),whileTap:gt(),whileDrag:gt(),whileFocus:gt(),exit:gt()}}class ot{constructor(t){this.isMounted=!1,this.node=t}update(){}}class ah extends ot{constructor(t){super(t),t.animationState||(t.animationState=ih(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();os(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let lh=0;class ch extends ot{constructor(){super(...arguments),this.id=lh++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===s)return;const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>{n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const Fa={animation:{Feature:ah},exit:{Feature:ch}};function Pn(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}function kn(e){return{point:{x:e.pageX,y:e.pageY}}}const uh=e=>t=>Er(t)&&e(t,kn(t));function yn(e,t,n,s){return Pn(e,t,uh(n),s)}const $a=1e-4,dh=1-$a,hh=1+$a,Ba=.01,fh=0-Ba,mh=0+Ba;function Se(e){return e.max-e.min}function ph(e,t,n){return Math.abs(e-t)<=n}function ki(e,t,n,s=.5){e.origin=s,e.originPoint=ce(t.min,t.max,e.origin),e.scale=Se(n)/Se(t),e.translate=ce(n.min,n.max,e.origin)-e.originPoint,(e.scale>=dh&&e.scale<=hh||isNaN(e.scale))&&(e.scale=1),(e.translate>=fh&&e.translate<=mh||isNaN(e.translate))&&(e.translate=0)}function xn(e,t,n,s){ki(e.x,t.x,n.x,s?s.originX:void 0),ki(e.y,t.y,n.y,s?s.originY:void 0)}function Ni(e,t,n){e.min=n.min+t.min,e.max=e.min+Se(t)}function gh(e,t,n){Ni(e.x,t.x,n.x),Ni(e.y,t.y,n.y)}function Di(e,t,n){e.min=t.min-n.min,e.max=e.min+Se(t)}function bn(e,t,n){Di(e.x,t.x,n.x),Di(e.y,t.y,n.y)}function Ee(e){return[e("x"),e("y")]}const za=({current:e})=>e?e.ownerDocument.defaultView:null,Ri=(e,t)=>Math.abs(e-t);function yh(e,t){const n=Ri(e.x,t.x),s=Ri(e.y,t.y);return Math.sqrt(n**2+s**2)}class Ua{constructor(t,n,{transformPagePoint:s,contextWindow:r=window,dragSnapToOrigin:o=!1,distanceThreshold:i=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 m=Ps(this.lastMoveEventInfo,this.history),p=this.startEvent!==null,S=yh(m.offset,{x:0,y:0})>=this.distanceThreshold;if(!p&&!S)return;const{point:w}=m,{timestamp:T}=pe;this.history.push({...w,timestamp:T});const{onStart:x,onMove:P}=this.handlers;p||(x&&x(this.lastMoveEvent,m),this.startEvent=this.lastMoveEvent),P&&P(this.lastMoveEvent,m)},this.handlePointerMove=(m,p)=>{this.lastMoveEvent=m,this.lastMoveEventInfo=js(p,this.transformPagePoint),ae.update(this.updatePoint,!0)},this.handlePointerUp=(m,p)=>{this.end();const{onEnd:S,onSessionEnd:w,resumeAnimation:T}=this.handlers;if(this.dragSnapToOrigin&&T&&T(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const x=Ps(m.type==="pointercancel"?this.lastMoveEventInfo:js(p,this.transformPagePoint),this.history);this.startEvent&&S&&S(m,x),w&&w(m,x)},!Er(t))return;this.dragSnapToOrigin=o,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=i,this.contextWindow=r||window;const a=kn(t),l=js(a,this.transformPagePoint),{point:u}=l,{timestamp:d}=pe;this.history=[{...u,timestamp:d}];const{onSessionStart:h}=n;h&&h(t,Ps(l,this.history)),this.removeListeners=An(yn(this.contextWindow,"pointermove",this.handlePointerMove),yn(this.contextWindow,"pointerup",this.handlePointerUp),yn(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),rt(this.updatePoint)}}function js(e,t){return t?{point:t(e.point)}:e}function Vi(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ps({point:e},t){return{point:e,delta:Vi(e,_a(t)),offset:Vi(e,xh(t)),velocity:bh(t,.1)}}function xh(e){return e[0]}function _a(e){return e[e.length-1]}function bh(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const r=_a(e);for(;n>=0&&(s=e[n],!(r.timestamp-s.timestamp>Be(t)));)n--;if(!s)return{x:0,y:0};const o=Ne(r.timestamp-s.timestamp);if(o===0)return{x:0,y:0};const i={x:(r.x-s.x)/o,y:(r.y-s.y)/o};return i.x===1/0&&(i.x=0),i.y===1/0&&(i.y=0),i}function vh(e,{min:t,max:n},s){return t!==void 0&&e<t?e=s?ce(t,e,s.min):Math.max(e,t):n!==void 0&&e>n&&(e=s?ce(n,e,s.max):Math.min(e,n)),e}function Ii(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function wh(e,{top:t,left:n,bottom:s,right:r}){return{x:Ii(e.x,n,r),y:Ii(e.y,t,s)}}function Oi(e,t){let n=t.min-e.min,s=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,s]=[s,n]),{min:n,max:s}}function Sh(e,t){return{x:Oi(e.x,t.x),y:Oi(e.y,t.y)}}function Th(e,t){let n=.5;const s=Se(e),r=Se(t);return r>s?n=wn(t.min,t.max-s,e.min):s>r&&(n=wn(e.min,e.max-r,t.min)),Ge(0,1,n)}function Ch(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const nr=.35;function jh(e=nr){return e===!1?e=0:e===!0&&(e=nr),{x:Li(e,"left","right"),y:Li(e,"top","bottom")}}function Li(e,t,n){return{min:Fi(e,t),max:Fi(e,n)}}function Fi(e,t){return typeof e=="number"?e:e[t]||0}const Ph=new WeakMap;class Ah{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=ue(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const o=h=>{const{dragSnapToOrigin:m}=this.getProps();m?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(kn(h).point)},i=(h,m)=>{const{drag:p,dragPropagation:S,onDragStart:w}=this.getProps();if(p&&!S&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Vu(p),!this.openDragLock))return;this.latestPointerEvent=h,this.latestPanInfo=m,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ee(x=>{let P=this.getAxisMotionValue(x).get()||0;if(We.test(P)){const{projection:E}=this.visualElement;if(E&&E.layout){const L=E.layout.layoutBox[x];L&&(P=Se(L)*(parseFloat(P)/100))}}this.originPoint[x]=P}),w&&ae.postRender(()=>w(h,m)),er(this.visualElement,"transform");const{animationState:T}=this.visualElement;T&&T.setActive("whileDrag",!0)},a=(h,m)=>{this.latestPointerEvent=h,this.latestPanInfo=m;const{dragPropagation:p,dragDirectionLock:S,onDirectionLock:w,onDrag:T}=this.getProps();if(!p&&!this.openDragLock)return;const{offset:x}=m;if(S&&this.currentDirection===null){this.currentDirection=Mh(x),this.currentDirection!==null&&w&&w(this.currentDirection);return}this.updateAxis("x",m.point,x),this.updateAxis("y",m.point,x),this.visualElement.render(),T&&T(h,m)},l=(h,m)=>{this.latestPointerEvent=h,this.latestPanInfo=m,this.stop(h,m),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>Ee(h=>this.getAnimationState(h)==="paused"&&this.getAxisMotionValue(h).animation?.play()),{dragSnapToOrigin:d}=this.getProps();this.panSession=new Ua(t,{onSessionStart:o,onStart:i,onMove:a,onSessionEnd:l,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:d,distanceThreshold:s,contextWindow:za(this.visualElement)})}stop(t,n){const s=t||this.latestPointerEvent,r=n||this.latestPanInfo,o=this.isDragging;if(this.cancel(),!o||!r||!s)return;const{velocity:i}=r;this.startAnimation(i);const{onDragEnd:a}=this.getProps();a&&ae.postRender(()=>a(s,r))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.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(t,n,s){const{drag:r}=this.getProps();if(!s||!_n(t,r,this.currentDirection))return;const o=this.getAxisMotionValue(t);let i=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(i=vh(i,this.constraints[t],this.elastic[t])),o.set(i)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;t&&Vt(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&s?this.constraints=wh(s.layoutBox,t):this.constraints=!1,this.elastic=jh(n),r!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&Ee(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=Ch(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Vt(t))return!1;const s=t.current;Ye(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:r}=this.visualElement;if(!r||!r.layout)return!1;const o=Nd(s,r.root,this.visualElement.getTransformPagePoint());let i=Sh(r.layout.layoutBox,o);if(n){const a=n(Md(i));this.hasMutatedConstraints=!!a,a&&(i=Ca(a))}return i}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:r,dragTransition:o,dragSnapToOrigin:i,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Ee(d=>{if(!_n(d,n,this.currentDirection))return;let h=l&&l[d]||{};i&&(h={min:0,max:0});const m=r?200:1e6,p=r?40:1e7,S={type:"inertia",velocity:s?t[d]:0,bounceStiffness:m,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...o,...h};return this.startAxisValueAnimation(d,S)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return er(this.visualElement,t),s.start(Br(t,s,0,n,this.visualElement,!1))}stopAnimation(){Ee(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Ee(t=>this.getAxisMotionValue(t).animation?.pause())}getAnimationState(t){return this.getAxisMotionValue(t).animation?.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,s=this.visualElement.getProps(),r=s[n];return r||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){Ee(n=>{const{drag:s}=this.getProps();if(!_n(n,s,this.currentDirection))return;const{projection:r}=this.visualElement,o=this.getAxisMotionValue(n);if(r&&r.layout){const{min:i,max:a}=r.layout.layoutBox[n];o.set(t[n]-ce(i,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!Vt(n)||!s||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};Ee(i=>{const a=this.getAxisMotionValue(i);if(a&&this.constraints!==!1){const l=a.get();r[i]=Th({min:l,max:l},this.constraints[i])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Ee(i=>{if(!_n(i,t,null))return;const a=this.getAxisMotionValue(i),{min:l,max:u}=this.constraints[i];a.set(ce(l,u,r[i]))})}addListeners(){if(!this.visualElement.current)return;Ph.set(this.visualElement,this);const t=this.visualElement.current,n=yn(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),s=()=>{const{dragConstraints:l}=this.getProps();Vt(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,o=r.addEventListener("measure",s);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),ae.read(s);const i=Pn(window,"resize",()=>this.scalePositionWithinConstraints()),a=r.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Ee(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=l[d].translate,h.set(h.get()+l[d].translate))}),this.visualElement.render())});return()=>{i(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:i=nr,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:r,dragConstraints:o,dragElastic:i,dragMomentum:a}}}function _n(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Mh(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class Eh extends ot{constructor(t){super(t),this.removeGroupControls=De,this.removeListeners=De,this.controls=new Ah(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||De}unmount(){this.removeGroupControls(),this.removeListeners()}}const $i=e=>(t,n)=>{e&&ae.postRender(()=>e(t,n))};class kh extends ot{constructor(){super(...arguments),this.removePointerDownListener=De}onPointerDown(t){this.session=new Ua(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:za(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:r}=this.node.getProps();return{onSessionStart:$i(t),onStart:$i(n),onMove:s,onEnd:(o,i)=>{delete this.session,r&&ae.postRender(()=>r(o,i))}}}mount(){this.removePointerDownListener=yn(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Jn={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Bi(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const hn={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(U.test(e))e=parseFloat(e);else return e;const n=Bi(e,t.target.x),s=Bi(e,t.target.y);return`${n}% ${s}%`}},Nh={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,r=it.parse(e);if(r.length>5)return s;const o=it.createTransformer(e),i=typeof r[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;r[0+i]/=a,r[1+i]/=l;const u=ce(a,l,.5);return typeof r[2+i]=="number"&&(r[2+i]/=u),typeof r[3+i]=="number"&&(r[3+i]/=u),o(r)}};let As=!1;class Dh extends f.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:r}=this.props,{projection:o}=t;nd(Rh),o&&(n.group&&n.group.add(o),s&&s.register&&r&&s.register(o),As&&o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Jn.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:r,isPresent:o}=this.props,{projection:i}=s;return i&&(i.isPresent=o,As=!0,r||t.layoutDependency!==n||n===void 0||t.isPresent!==o?i.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?i.promote():i.relegate()||ae.postRender(()=>{const a=i.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),Mr.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:r}=t;As=!0,r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),s&&s.deregister&&s.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Xa(e){const[t,n]=da(),s=f.useContext(or);return c.jsx(Dh,{...e,layoutGroup:s,switchLayoutGroup:f.useContext(Sa),isPresent:t,safeToRemove:n})}const Rh={borderRadius:{...hn,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:hn,borderTopRightRadius:hn,borderBottomLeftRadius:hn,borderBottomRightRadius:hn,boxShadow:Nh};function Vh(e,t,n){const s=be(e)?e:Bt(e);return s.start(Br("",s,t,n)),s.animation}const Ih=(e,t)=>e.depth-t.depth;class Oh{constructor(){this.children=[],this.isDirty=!1}add(t){cr(this.children,t),this.isDirty=!0}remove(t){ur(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Ih),this.isDirty=!1,this.children.forEach(t)}}function Lh(e,t){const n=Ce.now(),s=({timestamp:r})=>{const o=r-n;o>=t&&(rt(s),e(o-t))};return ae.setup(s,!0),()=>rt(s)}const Wa=["TopLeft","TopRight","BottomLeft","BottomRight"],Fh=Wa.length,zi=e=>typeof e=="string"?parseFloat(e):e,Ui=e=>typeof e=="number"||U.test(e);function $h(e,t,n,s,r,o){r?(e.opacity=ce(0,n.opacity??1,Bh(s)),e.opacityExit=ce(t.opacity??1,0,zh(s))):o&&(e.opacity=ce(t.opacity??1,n.opacity??1,s));for(let i=0;i<Fh;i++){const a=`border${Wa[i]}Radius`;let l=_i(t,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)?(e[a]=Math.max(ce(zi(l),zi(u),s),0),(We.test(u)||We.test(l))&&(e[a]+="%")):e[a]=u}(t.rotate||n.rotate)&&(e.rotate=ce(t.rotate||0,n.rotate||0,s))}function _i(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const Bh=Ka(0,.5,No),zh=Ka(.5,.95,De);function Ka(e,t,n){return s=>s<e?0:s>t?1:n(wn(e,t,s))}function Xi(e,t){e.min=t.min,e.max=t.max}function Me(e,t){Xi(e.x,t.x),Xi(e.y,t.y)}function Wi(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Ki(e,t,n,s,r){return e-=t,e=ns(e,1/n,s),r!==void 0&&(e=ns(e,1/r,s)),e}function Uh(e,t=0,n=1,s=.5,r,o=e,i=e){if(We.test(t)&&(t=parseFloat(t),t=ce(i.min,i.max,t/100)-i.min),typeof t!="number")return;let a=ce(o.min,o.max,s);e===o&&(a-=t),e.min=Ki(e.min,t,n,a,r),e.max=Ki(e.max,t,n,a,r)}function qi(e,t,[n,s,r],o,i){Uh(e,t[n],t[s],t[r],t.scale,o,i)}const _h=["x","scaleX","originX"],Xh=["y","scaleY","originY"];function Gi(e,t,n,s){qi(e.x,t,_h,n?n.x:void 0,s?s.x:void 0),qi(e.y,t,Xh,n?n.y:void 0,s?s.y:void 0)}function Yi(e){return e.translate===0&&e.scale===1}function qa(e){return Yi(e.x)&&Yi(e.y)}function Hi(e,t){return e.min===t.min&&e.max===t.max}function Wh(e,t){return Hi(e.x,t.x)&&Hi(e.y,t.y)}function Ji(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Ga(e,t){return Ji(e.x,t.x)&&Ji(e.y,t.y)}function Zi(e){return Se(e.x)/Se(e.y)}function Qi(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Kh{constructor(){this.members=[]}add(t){cr(this.members,t),t.scheduleRender()}remove(t){if(ur(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(r=>t===r);if(n===0)return!1;let s;for(let r=n;r>=0;r--){const o=this.members[r];if(o.isPresent!==!1){s=o;break}}return s?(this.promote(s),!0):!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.instance&&s.scheduleRender(),t.scheduleRender(),t.resumeFrom=s,n&&(t.resumeFrom.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:r}=t.options;r===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:s}=t;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function qh(e,t,n){let s="";const r=e.x.translate/t.x,o=e.y.translate/t.y,i=n?.z||0;if((r||o||i)&&(s=`translate3d(${r}px, ${o}px, ${i}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:h,rotateY:m,skewX:p,skewY:S}=n;u&&(s=`perspective(${u}px) ${s}`),d&&(s+=`rotate(${d}deg) `),h&&(s+=`rotateX(${h}deg) `),m&&(s+=`rotateY(${m}deg) `),p&&(s+=`skewX(${p}deg) `),S&&(s+=`skewY(${S}deg) `)}const a=e.x.scale*t.x,l=e.y.scale*t.y;return(a!==1||l!==1)&&(s+=`scale(${a}, ${l})`),s||"none"}const Ms=["","X","Y","Z"],Gh=1e3;let Yh=0;function Es(e,t,n,s){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),s&&(s[e]=0))}function Ya(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Ra(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:o}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",ae,!(r||o))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&Ya(s)}function Ha({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:r}){return class{constructor(i={},a=t?.()){this.id=Yh++,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(Zh),this.nodes.forEach(nf),this.nodes.forEach(sf),this.nodes.forEach(Qh)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=i,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 Oh)}addEventListener(i,a){return this.eventHandlers.has(i)||this.eventHandlers.set(i,new hr),this.eventHandlers.get(i).add(a)}notifyListeners(i,...a){const l=this.eventHandlers.get(i);l&&l.notify(...a)}hasListeners(i){return this.eventHandlers.has(i)}mount(i){if(this.instance)return;this.isSVG=ua(i)&&!Bu(i),this.instance=i;const{layoutId:a,layout:l,visualElement:u}=this.options;if(u&&!u.current&&u.mount(i),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),e){let d,h=0;const m=()=>this.root.updateBlockedByResize=!1;ae.read(()=>{h=window.innerWidth}),e(i,()=>{const p=window.innerWidth;p!==h&&(h=p,this.root.updateBlockedByResize=!0,d&&d(),d=Lh(m,250),Jn.hasAnimatedSinceResize&&(Jn.hasAnimatedSinceResize=!1,this.nodes.forEach(no)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&u&&(a||l)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:h,hasRelativeLayoutChanged:m,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const S=this.options.transition||u.getDefaultTransition()||cf,{onLayoutAnimationStart:w,onLayoutAnimationComplete:T}=u.getProps(),x=!this.targetLayout||!Ga(this.targetLayout,p),P=!h&&m;if(this.options.layoutRoot||this.resumeFrom||P||h&&(x||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const E={...Pr(S,"layout"),onPlay:w,onComplete:T};(u.shouldReduceMotion||this.options.layoutRoot)&&(E.delay=0,E.type=!1),this.startAnimation(E),this.setAnimationOrigin(d,P)}else h||no(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const i=this.getStack();i&&i.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),rt(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(rf),this.animationId++)}getTransformTemplate(){const{visualElement:i}=this.options;return i&&i.getProps().transformTemplate}willUpdate(i=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ya(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d<this.path.length;d++){const h=this.path[d];h.shouldResetTransform=!0,h.updateScroll("snapshot"),h.options.layoutRoot&&h.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(),i&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(eo);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(to);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(tf),this.nodes.forEach(Hh),this.nodes.forEach(Jh)):this.nodes.forEach(to),this.clearAllSnapshots();const a=Ce.now();pe.delta=Ge(0,1e3/60,a-pe.timestamp),pe.timestamp=a,pe.isProcessing=!0,ys.update.process(pe),ys.preRender.process(pe),ys.render.process(pe),pe.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Mr.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(ef),this.sharedNodes.forEach(of)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,ae.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){ae.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Se(this.snapshot.measuredBox.x)&&!Se(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 i=this.layout;this.layout=this.measure(!1),this.layoutCorrected=ue(),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,i?i.layoutBox:void 0)}updateScroll(i="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===i&&(a=!1),a&&this.instance){const l=s(this.instance);this.scroll={animationId:this.root.animationId,phase:i,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!r)return;const i=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!qa(this.projectionDelta),l=this.getTransformTemplate(),u=l?l(this.latestValues,""):void 0,d=u!==this.prevTransformTemplateValue;i&&this.instance&&(a||xt(this.latestValues)||d)&&(r(this.instance,u),this.shouldResetTransform=!1,this.scheduleRender())}measure(i=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return i&&(l=this.removeTransform(l)),uf(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:i}=this.options;if(!i)return ue();const a=i.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(df))){const{scroll:u}=this.root;u&&(It(a.x,u.offset.x),It(a.y,u.offset.y))}return a}removeElementScroll(i){const a=ue();if(Me(a,i),this.scroll?.wasRoot)return a;for(let l=0;l<this.path.length;l++){const u=this.path[l],{scroll:d,options:h}=u;u!==this.root&&d&&h.layoutScroll&&(d.wasRoot&&Me(a,i),It(a.x,d.offset.x),It(a.y,d.offset.y))}return a}applyTransform(i,a=!1){const l=ue();Me(l,i);for(let u=0;u<this.path.length;u++){const d=this.path[u];!a&&d.options.layoutScroll&&d.scroll&&d!==d.root&&Ot(l,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),xt(d.latestValues)&&Ot(l,d.latestValues)}return xt(this.latestValues)&&Ot(l,this.latestValues),l}removeTransform(i){const a=ue();Me(a,i);for(let l=0;l<this.path.length;l++){const u=this.path[l];if(!u.instance||!xt(u.latestValues))continue;Hs(u.latestValues)&&u.updateSnapshot();const d=ue(),h=u.measurePageBox();Me(d,h),Gi(a,u.latestValues,u.snapshot?u.snapshot.layoutBox:void 0,d)}return xt(this.latestValues)&&Gi(a,this.latestValues),a}setTargetDelta(i){this.targetDelta=i,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(i){this.options={...this.options,...i,crossfade:i.crossfade!==void 0?i.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!==pe.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(i=!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(!(i||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:d,layoutId:h}=this.options;if(!(!this.layout||!(d||h))){if(this.resolvedRelativeTargetAt=pe.timestamp,!this.targetDelta&&!this.relativeTarget){const m=this.getClosestProjectingParent();m&&m.layout&&this.animationProgress!==1?(this.relativeParent=m,this.forceRelativeParentToResolveTarget(),this.relativeTarget=ue(),this.relativeTargetOrigin=ue(),bn(this.relativeTargetOrigin,this.layout.layoutBox,m.layout.layoutBox),Me(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=ue(),this.targetWithTransforms=ue()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),gh(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Me(this.target,this.layout.layoutBox),Pa(this.target,this.targetDelta)):Me(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const m=this.getClosestProjectingParent();m&&!!m.resumingFrom==!!this.resumingFrom&&!m.options.layoutScroll&&m.target&&this.animationProgress!==1?(this.relativeParent=m,this.forceRelativeParentToResolveTarget(),this.relativeTarget=ue(),this.relativeTargetOrigin=ue(),bn(this.relativeTargetOrigin,this.target,m.target),Me(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||Hs(this.parent.latestValues)||ja(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 i=this.getLead(),a=!!this.resumingFrom||this!==i;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===pe.timestamp&&(l=!1),l)return;const{layout:u,layoutId:d}=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||d))return;Me(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,m=this.treeScale.y;kd(this.layoutCorrected,this.treeScale,this.path,a),i.layout&&!i.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(i.target=i.layout.layoutBox,i.targetWithTransforms=ue());const{target:p}=i;if(!p){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Wi(this.prevProjectionDelta.x,this.projectionDelta.x),Wi(this.prevProjectionDelta.y,this.projectionDelta.y)),xn(this.projectionDelta,this.layoutCorrected,p,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==m||!Qi(this.projectionDelta.x,this.prevProjectionDelta.x)||!Qi(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",p))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(i=!0){if(this.options.visualElement?.scheduleRender(),i){const a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Lt(),this.projectionDelta=Lt(),this.projectionDeltaWithTransform=Lt()}setAnimationOrigin(i,a=!1){const l=this.snapshot,u=l?l.latestValues:{},d={...this.latestValues},h=Lt();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const m=ue(),p=l?l.source:void 0,S=this.layout?this.layout.source:void 0,w=p!==S,T=this.getStack(),x=!T||T.members.length<=1,P=!!(w&&!x&&this.options.crossfade===!0&&!this.path.some(lf));this.animationProgress=0;let E;this.mixTargetDelta=L=>{const N=L/1e3;so(h.x,i.x,N),so(h.y,i.y,N),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(bn(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),af(this.relativeTarget,this.relativeTargetOrigin,m,N),E&&Wh(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=ue()),Me(E,this.relativeTarget)),w&&(this.animationValues=d,$h(d,u,this.latestValues,N,P,x)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=N},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(i){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(rt(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ae.update(()=>{Jn.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Bt(0)),this.currentAnimation=Vh(this.motionValue,[0,1e3],{...i,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),i.onUpdate&&i.onUpdate(a)},onStop:()=>{},onComplete:()=>{i.onComplete&&i.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 i=this.getStack();i&&i.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Gh),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const i=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=i;if(!(!a||!l||!u)){if(this!==i&&this.layout&&u&&Ja(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||ue();const h=Se(this.layout.layoutBox.x);l.x.min=i.target.x.min,l.x.max=l.x.min+h;const m=Se(this.layout.layoutBox.y);l.y.min=i.target.y.min,l.y.max=l.y.min+m}Me(a,l),Ot(a,d),xn(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(i,a){this.sharedNodes.has(i)||this.sharedNodes.set(i,new Kh),this.sharedNodes.get(i).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 i=this.getStack();return i?i.lead===this:!0}getLead(){const{layoutId:i}=this.options;return i?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:i}=this.options;return i?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:i}=this.options;if(i)return this.root.sharedNodes.get(i)}promote({needsReset:i,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),i&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const i=this.getStack();return i?i.relegate(this):!1}resetSkewAndRotation(){const{visualElement:i}=this.options;if(!i)return;let a=!1;const{latestValues:l}=i;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const u={};l.z&&Es("z",i,u,this.animationValues);for(let d=0;d<Ms.length;d++)Es(`rotate${Ms[d]}`,i,u,this.animationValues),Es(`skew${Ms[d]}`,i,u,this.animationValues);i.render();for(const d in u)i.setStaticValue(d,u[d]),this.animationValues&&(this.animationValues[d]=u[d]);i.scheduleRender()}applyProjectionStyles(i,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){i.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,i.visibility="",i.opacity="",i.pointerEvents=Yn(a?.pointerEvents)||"",i.transform=l?l(this.latestValues,""):"none";return}const u=this.getLead();if(!this.projectionDelta||!this.layout||!u.target){this.options.layoutId&&(i.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,i.pointerEvents=Yn(a?.pointerEvents)||""),this.hasProjected&&!xt(this.latestValues)&&(i.transform=l?l({},""):"none",this.hasProjected=!1);return}i.visibility="";const d=u.animationValues||u.latestValues;this.applyTransformsToTarget();let h=qh(this.projectionDeltaWithTransform,this.treeScale,d);l&&(h=l(d,h)),i.transform=h;const{x:m,y:p}=this.projectionDelta;i.transformOrigin=`${m.origin*100}% ${p.origin*100}% 0`,u.animationValues?i.opacity=u===this?d.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:d.opacityExit:i.opacity=u===this?d.opacity!==void 0?d.opacity:"":d.opacityExit!==void 0?d.opacityExit:0;for(const S in jn){if(d[S]===void 0)continue;const{correct:w,applyTo:T,isCSSVariable:x}=jn[S],P=h==="none"?d[S]:w(d[S],u);if(T){const E=T.length;for(let L=0;L<E;L++)i[T[L]]=P}else x?this.options.visualElement.renderState.vars[S]=P:i[S]=P}this.options.layoutId&&(i.pointerEvents=u===this?Yn(a?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(i=>i.currentAnimation?.stop()),this.root.nodes.forEach(eo),this.root.sharedNodes.clear()}}}function Hh(e){e.updateLayout()}function Jh(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=e.layout,{animationType:r}=e.options,o=t.source!==e.layout.source;r==="size"?Ee(d=>{const h=o?t.measuredBox[d]:t.layoutBox[d],m=Se(h);h.min=n[d].min,h.max=h.min+m}):Ja(r,t.layoutBox,n)&&Ee(d=>{const h=o?t.measuredBox[d]:t.layoutBox[d],m=Se(n[d]);h.max=h.min+m,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+m)});const i=Lt();xn(i,n,t.layoutBox);const a=Lt();o?xn(a,e.applyTransform(s,!0),t.measuredBox):xn(a,n,t.layoutBox);const l=!qa(i);let u=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:h,layout:m}=d;if(h&&m){const p=ue();bn(p,t.layoutBox,h.layoutBox);const S=ue();bn(S,n,m.layoutBox),Ga(p,S)||(u=!0),d.options.layoutRoot&&(e.relativeTarget=S,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:a,layoutDelta:i,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function Zh(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Qh(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function ef(e){e.clearSnapshot()}function eo(e){e.clearMeasurements()}function to(e){e.isLayoutDirty=!1}function tf(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function no(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function nf(e){e.resolveTargetDelta()}function sf(e){e.calcProjection()}function rf(e){e.resetSkewAndRotation()}function of(e){e.removeLeadSnapshot()}function so(e,t,n){e.translate=ce(t.translate,0,n),e.scale=ce(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function ro(e,t,n,s){e.min=ce(t.min,n.min,s),e.max=ce(t.max,n.max,s)}function af(e,t,n,s){ro(e.x,t.x,n.x,s),ro(e.y,t.y,n.y,s)}function lf(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cf={duration:.45,ease:[.4,0,.1,1]},io=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),oo=io("applewebkit/")&&!io("chrome/")?Math.round:De;function ao(e){e.min=oo(e.min),e.max=oo(e.max)}function uf(e){ao(e.x),ao(e.y)}function Ja(e,t,n){return e==="position"||e==="preserve-aspect"&&!ph(Zi(t),Zi(n),.2)}function df(e){return e!==e.root&&e.scroll?.wasRoot}const hf=Ha({attachResizeListener:(e,t)=>Pn(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ks={current:void 0},Za=Ha({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!ks.current){const e=new hf({});e.mount(window),e.setOptions({layoutScroll:!0}),ks.current=e}return ks.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),ff={pan:{Feature:kh},drag:{Feature:Eh,ProjectionNode:Za,MeasureLayout:Xa}};function lo(e,t,n){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,o=s[r];o&&ae.postRender(()=>o(t,kn(t)))}class mf extends ot{mount(){const{current:t}=this.node;t&&(this.unmount=Iu(t,(n,s)=>(lo(this.node,s,"Start"),r=>lo(this.node,r,"End"))))}unmount(){}}class pf extends ot{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!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=An(Pn(this.node.current,"focus",()=>this.onFocus()),Pn(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function co(e,t,n){const{props:s}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&s.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),o=s[r];o&&ae.postRender(()=>o(t,kn(t)))}class gf extends ot{mount(){const{current:t}=this.node;t&&(this.unmount=$u(t,(n,s)=>(co(this.node,s,"Start"),(r,{success:o})=>co(this.node,r,o?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const sr=new WeakMap,Ns=new WeakMap,yf=e=>{const t=sr.get(e.target);t&&t(e)},xf=e=>{e.forEach(yf)};function bf({root:e,...t}){const n=e||document;Ns.has(n)||Ns.set(n,{});const s=Ns.get(n),r=JSON.stringify(t);return s[r]||(s[r]=new IntersectionObserver(xf,{root:e,...t})),s[r]}function vf(e,t,n){const s=bf(t);return sr.set(e,n),s.observe(e),()=>{sr.delete(e),s.unobserve(e)}}const wf={some:0,all:1};class Sf extends ot{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:r="some",once:o}=t,i={root:n?n.current:void 0,rootMargin:s,threshold:typeof r=="number"?r:wf[r]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:h}=this.node.getProps(),m=u?d:h;m&&m(l)};return vf(this.node.current,i,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(Tf(t,n))&&this.startObserver()}unmount(){}}function Tf({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Qa={inView:{Feature:Sf},tap:{Feature:gf},focus:{Feature:pf},hover:{Feature:mf}},Cf={layout:{ProjectionNode:Za,MeasureLayout:Xa}},jf={...Fa,...Qa,...ff,...Cf},Pf=Ad(jf,Da),Af={renderer:Da,...Fa,...Qa};function zr(e,t){return Hn(e,t)}const Mf=zr("button"),Xn=zr("div"),Ef=zr("p");function kf({toolName:e,description:t,args:n,onApprove:s,onDeny:r}){const o=Object.keys(n).length>0;return c.jsx("div",{className:"bg-stone-100 dark:bg-stone-800 border border-border rounded-lg px-3 py-2.5 my-1.5",children:c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"flex items-center gap-1.5 mb-1",children:c.jsx("span",{className:"text-sm font-medium text-foreground",children:e})}),o&&c.jsx("div",{className:"space-y-0.5 mb-1.5",children:Object.entries(n).map(([i,a])=>c.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[c.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[i,":"]}),c.jsx("span",{className:"font-mono text-foreground",children:typeof a=="string"?a:JSON.stringify(a)})]},i))})]}),c.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[c.jsxs(ve,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs",onClick:s,children:[c.jsx(Z.Check,{className:"h-3 w-3 mr-1"}),"Approve"]}),c.jsx(ve,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs text-muted-foreground",onClick:r,children:c.jsx(Z.X,{className:"h-3 w-3"})})]})]})})}function Nf({toolName:e,args:t,isDenied:n,isSafe:s}){const[r,o]=f.useState(!1);if(e==="fetchDocContent")return null;const i=["k","maxResults","_organizationId"];e==="searchDocs"&&i.push("filters");const a=Object.fromEntries(Object.entries(t).filter(([u])=>!i.includes(u))),l=Object.keys(a).length>0;return c.jsxs("div",{className:"my-1",children:[c.jsxs("button",{onClick:()=>l&&o(!r),className:`inline-flex items-center gap-1.5 text-xs rounded-md px-2 py-1 transition-colors bg-muted text-muted-foreground ${l?"cursor-pointer hover:bg-muted/80":""}`,children:[l&&c.jsx("span",{className:"transition-transform duration-200",children:r?c.jsx(Z.ChevronDown,{className:"h-3 w-3"}):c.jsx(Z.ChevronRight,{className:"h-3 w-3"})}),n?c.jsx(Z.X,{className:"h-3 w-3"}):s?c.jsx(Z.Zap,{className:"h-3 w-3"}):c.jsx(Z.Check,{className:"h-3 w-3"}),c.jsxs("span",{className:"font-medium",children:[n?"Denied":s?"Auto-executed":"Executed"," ",e]})]}),r&&l&&c.jsx("div",{className:"mt-1 ml-6 p-2 bg-stone-50 dark:bg-stone-900 rounded-md border border-border",children:c.jsx("div",{className:"space-y-0.5",children:Object.entries(a).map(([u,d])=>c.jsxs("div",{className:"flex items-start gap-1.5 text-xs",children:[c.jsxs("span",{className:"text-muted-foreground min-w-[60px]",children:[u,":"]}),c.jsx("span",{className:"font-mono text-foreground",children:typeof d=="string"?d:JSON.stringify(d)})]},u))})})]})}function Df({...e}){return c.jsx(rr.Root,{"data-slot":"collapsible",...e})}function Rf({...e}){return c.jsx(rr.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...e})}function Vf({...e}){return c.jsx(rr.CollapsibleContent,{"data-slot":"collapsible-content",...e})}const If=f.lazy(()=>import("streamdown").then(e=>({default:e.Streamdown}))),Ur=f.memo(({className:e,...t})=>typeof window>"u"?null:c.jsx(f.Suspense,{fallback:null,children:c.jsx(If,{className:Q("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e),...t})}),(e,t)=>e.children===t.children);Ur.displayName="Response";const Of=Object.freeze(Object.defineProperty({__proto__:null,Response:Ur},Symbol.toStringTag,{value:"Module"})),Lf=({children:e,as:t="p",className:n,duration:s=2,spread:r=2})=>{const o=Pf.create(t),i=f.useMemo(()=>(e?.length??0)*r,[e,r]);return c.jsx(o,{animate:{backgroundPosition:"0% center"},className:Q("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":`${i}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:Number.POSITIVE_INFINITY,duration:s,ease:"linear"},children:e})},Ff=f.memo(Lf),el=f.createContext(null),$f=()=>{const e=f.useContext(el);if(!e)throw new Error("Reasoning components must be used within Reasoning");return e},Bf=1e3,zf=1e3,tl=f.memo(({className:e,isStreaming:t=!1,open:n,defaultOpen:s=!0,onOpenChange:r,duration:o,children:i,...a})=>{const[l,u]=qr.useControllableState({prop:n,defaultProp:s,onChange:r}),[d,h]=qr.useControllableState({prop:o,defaultProp:0}),[m,p]=f.useState(!1),[S,w]=f.useState(null);f.useEffect(()=>{t?S===null&&w(Date.now()):S!==null&&(h(Math.ceil((Date.now()-S)/zf)),w(null))},[t,S,h]),f.useEffect(()=>{if(s&&!t&&l&&!m){const x=setTimeout(()=>{u(!1),p(!0)},Bf);return()=>clearTimeout(x)}},[t,l,s,u,m]);const T=x=>{u(x)};return c.jsx(el.Provider,{value:{isStreaming:t,isOpen:l,setIsOpen:u,duration:d},children:c.jsx(Df,{className:Q("not-prose mb-4",e),onOpenChange:T,open:l,...a,children:i})})}),Uf=(e,t)=>e||t===0?c.jsx(Ff,{duration:1,children:"Thinking..."}):t===void 0?c.jsx("p",{children:"Thought for a few seconds"}):c.jsxs("p",{children:["Thought for ",t," seconds"]}),nl=f.memo(({className:e,children:t,...n})=>{const{isStreaming:s,isOpen:r,duration:o}=$f();return c.jsx(Rf,{className:Q("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",e),...n,children:t??c.jsxs(c.Fragment,{children:[c.jsx(Z.BrainIcon,{className:"size-4"}),Uf(s,o),c.jsx(Z.ChevronDownIcon,{className:Q("size-4 transition-transform",r?"rotate-180":"rotate-0")})]})})}),sl=f.memo(({className:e,children:t,...n})=>c.jsx(Vf,{className:Q("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",e),...n,children:c.jsx(Ur,{className:"grid gap-2",children:t})}));tl.displayName="Reasoning";nl.displayName="ReasoningTrigger";sl.displayName="ReasoningContent";function uo(e){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=16`}function _f({sources:e,citationNumber:t,className:n}){const s=e.find(o=>o.number===t);if(!s)return null;const r=uo(s.domain);return c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsxs("button",{className:Q("inline-flex items-center gap-1 px-1 py-0.5 rounded text-[10px] font-medium","bg-stone-200/60 dark:bg-stone-700/60 text-stone-800 dark:text-stone-200","hover:bg-stone-300/80 dark:hover:bg-stone-600/80","transition-all duration-200","border border-stone-300/60 dark:border-stone-600/60","cursor-pointer hover:scale-105 active:scale-95","leading-tight",n),onClick:o=>{o.preventDefault(),o.stopPropagation(),window.open(s.url,"_blank","noopener,noreferrer")},children:[c.jsx("img",{src:r,alt:"",className:"w-3 h-3 leading-none",onError:o=>{const i=o.target;i.style.display="none"}}),c.jsx("span",{className:"leading-none",children:s.domain})]})}),c.jsx(nt,{side:"top",className:"bg-stone-800 dark:bg-stone-900 border border-stone-700 dark:border-stone-600 p-3 max-w-sm z-50 rounded-lg shadow-lg",children:c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("div",{className:"text-xs font-semibold text-stone-300 dark:text-stone-200 mb-2 pb-2 border-b border-stone-700 dark:border-stone-600",children:["Sources • ",e.length]}),e.map(o=>{const i=o.title||o.domain;return c.jsxs("a",{href:o.url,target:"_blank",rel:"noopener noreferrer",className:Q("flex items-center gap-2 p-2 rounded-md hover:bg-stone-700/50 dark:hover:bg-stone-700/50 transition-colors","text-stone-300 dark:text-stone-300 hover:text-white dark:hover:text-white"),onClick:a=>a.stopPropagation(),children:[c.jsx("img",{src:uo(o.domain),alt:"",className:"w-4 h-4 flex-shrink-0",onError:a=>{const l=a.target;l.style.display="none"}}),c.jsx("span",{className:"text-xs flex-1 truncate",children:i})]},o.number)})]})})]})}function Xf({text:e,citations:t,citationMap:n,groupedCitations:s,referencesText:r,ResponseComponent:o,className:i,showCitations:a=!0,showReferences:l=!0}){const u=f.useRef(null),[d,h]=f.useState([]);f.useEffect(()=>{if(!a||!u.current||t.length===0||n.size===0){(n.size===0||!a)&&h([]);return}const T=u.current;let x,P=!1;const E=new WeakSet,L=()=>{if(!u.current||P)return;P=!0;const k=u.current,I=/\[(\d+)\]/g,A=document.createTreeWalker(k,NodeFilter.SHOW_TEXT,null),O=[];let j;for(;j=A.nextNode();)if(j.nodeType===Node.TEXT_NODE&&!E.has(j)){const F=j,D=F.textContent||"";let $=F.parentElement,J=!1;for(;$&&$!==k;){if($.tagName==="A"||$.tagName==="CODE"||$.tagName==="PRE"){J=!0;break}$=$.parentElement}if(!J){const G=Array.from(D.matchAll(I)).filter(se=>{if(!se[1])return!1;const fe=parseInt(se[1],10);return n.has(fe)});G.length>0&&O.push({node:F,matches:G})}}if(O.length===0){P=!1;return}const R=[];O.forEach(({node:F,matches:D})=>{E.add(F);const $=F.textContent||"",J=document.createDocumentFragment();let ne=0;D.forEach(G=>{if(!G[1])return;G.index!==void 0&&G.index>ne&&J.appendChild(document.createTextNode($.slice(ne,G.index)));const se=document.createElement("span");se.className="inline-flex items-center citation-button-container";const fe=parseInt(G[1],10);se.setAttribute("data-citation",G[1]),J.appendChild(se),R.push({element:se,citationNum:fe}),ne=(G.index||0)+G[0].length}),ne<$.length&&J.appendChild(document.createTextNode($.slice(ne))),F.parentNode&&F.parentNode.replaceChild(J,F)}),R.length>0&&h(F=>{const D=new Set(F.map(ne=>ne.element)),$=F.filter(ne=>ne.element.isConnected),J=R.filter(ne=>!D.has(ne.element));return[...$,...J]}),P=!1},N=new MutationObserver(()=>{clearTimeout(x),x=setTimeout(L,100)});return N.observe(T,{childList:!0,subtree:!0,characterData:!0}),x=setTimeout(L,200),()=>{N.disconnect(),clearTimeout(x)}},[e,t,n,a]);const m=s&&s.length>0||n&&n.size>0||r;function p(T){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(T)}&sz=16`}function S(T){try{return new URL(T).hostname.replace(/^www\./,"")}catch{return T}}const w=a&&l&&m?c.jsxs("div",{className:"mt-4 pt-4 border-t border-stone-200 dark:border-stone-700",children:[c.jsx("div",{className:"text-xs font-semibold text-stone-600 dark:text-stone-400 mb-3",children:"References"}),c.jsx("div",{className:"flex flex-wrap gap-2",children:s&&s.length>0?s.map((T,x)=>{const P=T.title||T.baseUrl,E=S(T.url),L=p(E);return c.jsxs("a",{href:T.url,target:"_blank",rel:"noopener noreferrer",className:Q("inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs font-medium","bg-stone-100 dark:bg-stone-800 text-stone-700 dark:text-stone-300","hover:bg-stone-200 dark:hover:bg-stone-700","transition-all duration-200","border border-stone-200 dark:border-stone-700","cursor-pointer hover:scale-105 active:scale-95","no-underline"),children:[c.jsx("img",{src:L,alt:"",className:"w-3.5 h-3.5 shrink-0",onError:N=>{const k=N.target;k.style.display="none"}}),c.jsx("span",{className:"leading-none",children:P})]},`group-${x}`)}):Array.from(n.entries()).sort(([T],[x])=>T-x).map(([T,x])=>{const P=S(x),E=p(P);return c.jsxs("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:Q("inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs font-medium","bg-stone-100 dark:bg-stone-800 text-stone-700 dark:text-stone-300","hover:bg-stone-200 dark:hover:bg-stone-700","transition-all duration-200","border border-stone-200 dark:border-stone-700","cursor-pointer hover:scale-105 active:scale-95","no-underline"),children:[c.jsx("img",{src:E,alt:"",className:"w-3.5 h-3.5 shrink-0",onError:L=>{const N=L.target;N.style.display="none"}}),c.jsx("span",{className:"leading-none",children:x})]},T)})})]}):null;return c.jsxs("div",{className:i,children:[c.jsx("div",{ref:u,children:c.jsx(o,{children:e})}),a&&d.filter(({element:T})=>T.isConnected).map(({element:T,citationNum:x},P)=>{if(!t.find(N=>N.number===x))return null;const L=Array.from(new Map(t.map(N=>{const k=N.url.replace(/\/+$/,""),I=s?.find(A=>A.url.replace(/\/+$/,"")===k);return[k,{number:N.number,url:N.url,domain:S(N.url),title:I?.title}]})).values());return wl.createPortal(c.jsx(_f,{sources:L,citationNumber:x},`citation-${x}-${T}`),T,`citation-${x}-${P}`)}),w]})}function Kt({...e}){return c.jsx(Tt.Root,{"data-slot":"dialog",...e})}function Wf({...e}){return c.jsx(Tt.Portal,{"data-slot":"dialog-portal",...e})}function Kf({className:e,...t}){return c.jsx(Tt.Overlay,{"data-slot":"dialog-overlay",className:Q("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function qt({className:e,children:t,showCloseButton:n=!0,...s}){return c.jsxs(Wf,{"data-slot":"dialog-portal",children:[c.jsx(Kf,{}),c.jsxs(Tt.Content,{"data-slot":"dialog-content",className:Q("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...s,children:[t,n&&c.jsxs(Tt.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[c.jsx(Z.XIcon,{}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Gt({className:e,...t}){return c.jsx("div",{"data-slot":"dialog-header",className:Q("flex flex-col gap-2 text-center sm:text-left",e),...t})}function Yt({className:e,...t}){return c.jsx("div",{"data-slot":"dialog-footer",className:Q("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function Ht({className:e,...t}){return c.jsx(Tt.Title,{"data-slot":"dialog-title",className:Q("text-lg leading-none font-semibold",e),...t})}function Jt({className:e,...t}){return c.jsx(Tt.Description,{"data-slot":"dialog-description",className:Q("text-muted-foreground text-sm",e),...t})}function Zt({className:e,type:t,...n}){return c.jsx("input",{type:t,"data-slot":"input",className:Q("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-white px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...n})}function qf({isOpen:e,title:t="Password Required",description:n="Please enter your password to continue",placeholder:s="Enter password...",onComplete:r}){const[o,i]=f.useState(""),[a,l]=f.useState(!1),[u,d]=f.useState(!1),h=async p=>{if(p.preventDefault(),!!o.trim()){d(!0);try{r(o)}finally{d(!1)}}},m=()=>{i(""),r(null)};return c.jsx(Kt,{open:e,children:c.jsx(qt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:h,children:[c.jsxs(Gt,{children:[c.jsx(Ht,{children:t}),c.jsx(Jt,{children:n})]}),c.jsx("div",{className:"py-4",children:c.jsxs("div",{className:"relative",children:[c.jsx(Zt,{type:a?"text":"password",value:o,onChange:p=>i(p.target.value),placeholder:s,className:"pr-10",autoFocus:!0,disabled:u}),c.jsx("button",{type:"button",onClick:()=>l(!a),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",disabled:u,children:a?c.jsx(Z.EyeOff,{className:"h-4 w-4"}):c.jsx(Z.Eye,{className:"h-4 w-4"})})]})}),c.jsxs(Yt,{children:[c.jsx(ve,{type:"button",variant:"ghost",onClick:m,disabled:u,children:"Cancel"}),c.jsx(ve,{type:"submit",disabled:!o.trim()||u,children:u?"Submitting...":"Submit"})]})]})})})}function Gf({isOpen:e,title:t="Email Required",description:n="Please enter your email address",placeholder:s="Enter email address...",onComplete:r}){const[o,i]=f.useState(""),[a,l]=f.useState(!0),[u,d]=f.useState(!1),h=w=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(w),m=w=>{i(w),w.trim()?l(h(w)):l(!0)},p=async w=>{if(w.preventDefault(),!o.trim()||!h(o)){l(!1);return}d(!0);try{r(o)}finally{d(!1)}},S=()=>{i(""),l(!0),r(null)};return c.jsx(Kt,{open:e,children:c.jsx(qt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:p,children:[c.jsxs(Gt,{children:[c.jsxs(Ht,{className:"flex items-center gap-2",children:[c.jsx(Z.Mail,{className:"h-5 w-5"}),t]}),c.jsx(Jt,{children:n})]}),c.jsxs("div",{className:"py-4",children:[c.jsx(Zt,{type:"email",value:o,onChange:w=>m(w.target.value),placeholder:s,className:a?"":"border-red-500",autoFocus:!0,disabled:u}),!a&&c.jsx("p",{className:"text-sm text-red-500 mt-1",children:"Please enter a valid email address"})]}),c.jsxs(Yt,{children:[c.jsx(ve,{type:"button",variant:"ghost",onClick:S,disabled:u,children:"Cancel"}),c.jsx(ve,{type:"submit",disabled:!o.trim()||!a||u,children:u?"Submitting...":"Submit"})]})]})})})}function Yf({isOpen:e,title:t="Phone Number Required",description:n="Please enter your phone number",placeholder:s="Enter phone number...",onComplete:r}){const[o,i]=f.useState(""),[a,l]=f.useState(!0),[u,d]=f.useState(!1),h=T=>{const x=T.replace(/\D/g,"");return x.length<=3?x:x.length<=6?`(${x.slice(0,3)}) ${x.slice(3)}`:`(${x.slice(0,3)}) ${x.slice(3,6)}-${x.slice(6,10)}`},m=T=>T.replace(/\D/g,"").length===10,p=T=>{const x=h(T);i(x),x.trim()?l(m(x)):l(!0)},S=async T=>{if(T.preventDefault(),!o.trim()||!m(o)){l(!1);return}d(!0);try{const x=o.replace(/\D/g,"");r(x)}finally{d(!1)}},w=()=>{i(""),l(!0),r(null)};return c.jsx(Kt,{open:e,children:c.jsx(qt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:S,children:[c.jsxs(Gt,{children:[c.jsxs(Ht,{className:"flex items-center gap-2",children:[c.jsx(Z.Phone,{className:"h-5 w-5"}),t]}),c.jsx(Jt,{children:n})]}),c.jsxs("div",{className:"py-4",children:[c.jsx(Zt,{type:"tel",value:o,onChange:T=>p(T.target.value),placeholder:s,className:a?"":"border-red-500",maxLength:14,autoFocus:!0,disabled:u}),!a&&c.jsx("p",{className:"text-sm text-red-500 mt-1",children:"Please enter a valid 10-digit phone number"})]}),c.jsxs(Yt,{children:[c.jsx(ve,{type:"button",variant:"ghost",onClick:w,disabled:u,children:"Cancel"}),c.jsx(ve,{type:"submit",disabled:!o.trim()||!a||u,children:u?"Submitting...":"Submit"})]})]})})})}function Hf({isOpen:e,title:t="PIN Required",description:n="Please enter your PIN",placeholder:s="Enter PIN...",length:r=4,onComplete:o}){const[i,a]=f.useState(""),[l,u]=f.useState(!1),d=p=>{const S=p.replace(/\D/g,"");a(S.slice(0,r))},h=async p=>{if(p.preventDefault(),i.length===r){u(!0);try{o(i)}finally{u(!1)}}},m=()=>{a(""),o(null)};return c.jsx(Kt,{open:e,children:c.jsx(qt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:h,children:[c.jsxs(Gt,{children:[c.jsxs(Ht,{className:"flex items-center gap-2",children:[c.jsx(Z.Shield,{className:"h-5 w-5"}),t]}),c.jsx(Jt,{children:n})]}),c.jsxs("div",{className:"py-4",children:[c.jsx(Zt,{type:"password",value:i,onChange:p=>d(p.target.value),placeholder:s,className:"text-center text-lg tracking-widest",maxLength:r,autoFocus:!0,disabled:l}),c.jsxs("p",{className:"text-sm text-gray-500 mt-1 text-center",children:["Enter ",r,"-digit PIN"]})]}),c.jsxs(Yt,{children:[c.jsx(ve,{type:"button",variant:"ghost",onClick:m,disabled:l,children:"Cancel"}),c.jsx(ve,{type:"submit",disabled:i.length!==r||l,children:l?"Submitting...":"Submit"})]})]})})})}function Ds({isOpen:e,title:t="Secure Input Required",description:n="Please enter the requested information",placeholder:s="Enter value...",type:r="password",onComplete:o}){const[i,a]=f.useState(""),[l,u]=f.useState(!1),d=async m=>{if(m.preventDefault(),!!i.trim()){u(!0);try{o(i)}finally{u(!1)}}},h=()=>{a(""),o(null)};return c.jsx(Kt,{open:e,children:c.jsx(qt,{showCloseButton:!1,children:c.jsxs("form",{onSubmit:d,children:[c.jsxs(Gt,{children:[c.jsxs(Ht,{className:"flex items-center gap-2",children:[c.jsx(Z.Lock,{className:"h-5 w-5"}),t]}),c.jsx(Jt,{children:n})]}),c.jsx("div",{className:"py-4",children:c.jsx(Zt,{type:r,value:i,onChange:m=>a(m.target.value),placeholder:s,autoFocus:!0,disabled:l})}),c.jsxs(Yt,{children:[c.jsx(ve,{type:"button",variant:"ghost",onClick:h,disabled:l,children:"Cancel"}),c.jsx(ve,{type:"submit",disabled:!i.trim()||l,children:l?"Submitting...":"Submit"})]})]})})})}function Jf({isOpen:e,title:t,description:n,fields:s,onComplete:r,submitText:o="Submit",cancelText:i="Cancel"}){const[a,l]=f.useState(()=>{const j={};return s.forEach(R=>{j[R.name]=R.value||""}),j}),[u,d]=f.useState({}),[h,m]=f.useState({}),[p,S]=f.useState(!1),w=j=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(j)?null:"Please enter a valid email address",T=j=>j.replace(/\D/g,"").length===10?null:"Please enter a valid 10-digit phone number",x=(j,R=4)=>j.length===R?null:`PIN must be ${R} digits`,P=j=>{const R=j.replace(/\D/g,"");return R.length<=3?R:R.length<=6?`(${R.slice(0,3)}) ${R.slice(3)}`:`(${R.slice(0,3)}) ${R.slice(3,6)}-${R.slice(6,10)}`},E=(j,R,F)=>{let D=R,$=null;switch(F.type){case"phone":D=P(R),D.trim()&&($=T(D));break;case"email":R.trim()&&($=w(R));break;case"pin":D=R.replace(/\D/g,"").slice(0,6),D.trim()&&($=x(D));break}!$&&F.validation&&D.trim()&&($=F.validation(D)),l(J=>({...J,[j]:D})),d(J=>({...J,[j]:$||""}))},L=()=>{const j={};let R=!0;return s.forEach(F=>{const D=a[F.name]||"";let $=null;if(F.required&&!D.trim())$=`${F.label} is required`;else if(D.trim()){switch(F.type){case"email":$=w(D);break;case"phone":$=T(D);break;case"pin":$=x(D);break}!$&&F.validation&&($=F.validation(D))}$&&(j[F.name]=$,R=!1)}),d(j),R},N=async j=>{if(j.preventDefault(),!!L()){S(!0);try{const R={};s.forEach(F=>{const D=a[F.name]?.trim();D&&(F.type==="phone"?R[F.name]=D.replace(/\D/g,""):R[F.name]=D)}),r(R)}finally{S(!1)}}},k=()=>{l({}),d({}),m({}),r(null)},I=j=>{m(R=>({...R,[j]:!R[j]}))},A=j=>{switch(j.type){case"password":return h[j.name]?"text":"password";case"email":return"email";case"phone":return"tel";case"pin":case"ssn":return"password";default:return"text"}},O=j=>{if(j.placeholder)return j.placeholder;switch(j.type){case"email":return"Enter email address...";case"phone":return"Enter phone number...";case"password":return"Enter password...";case"pin":return"Enter PIN...";case"ssn":return"XXX-XX-XXXX";case"creditCard":return"XXXX XXXX XXXX XXXX";default:return`Enter ${j.label.toLowerCase()}...`}};return c.jsx(Kt,{open:e,children:c.jsx(qt,{showCloseButton:!1,className:"max-w-md",children:c.jsxs("form",{onSubmit:N,children:[c.jsxs(Gt,{children:[c.jsx(Ht,{children:t}),n&&c.jsx(Jt,{children:n})]}),c.jsx("div",{className:"py-4 space-y-4",children:s.map(j=>c.jsxs("div",{children:[c.jsxs("label",{className:"block text-sm font-medium mb-1",children:[j.label,j.required&&c.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),c.jsxs("div",{className:"relative",children:[c.jsx(Zt,{type:A(j),value:a[j.name]||"",onChange:R=>E(j.name,R.target.value,j),placeholder:O(j),className:u[j.name]?"border-red-500":"",disabled:p,autoFocus:j===s[0],maxLength:j.type==="pin"?6:j.type==="phone"?14:void 0}),j.type==="password"&&c.jsx("button",{type:"button",onClick:()=>I(j.name),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",disabled:p,children:h[j.name]?c.jsx(Z.EyeOff,{className:"h-4 w-4"}):c.jsx(Z.Eye,{className:"h-4 w-4"})})]}),u[j.name]&&c.jsxs("div",{className:"flex items-center gap-1 mt-1 text-sm text-red-500",children:[c.jsx(Z.AlertCircle,{className:"h-3 w-3"}),u[j.name]]})]},j.name))}),c.jsxs(Yt,{children:[c.jsx(ve,{type:"button",variant:"ghost",onClick:k,disabled:p,children:i}),c.jsx(ve,{type:"submit",disabled:p,children:p?"Submitting...":o})]})]})})})}const rl=f.createContext(void 0);function il(){const e=f.useContext(rl);if(!e)throw new Error("useSecureModal must be used within a SecureModalProvider");return e}function ol({children:e}){const[t,n]=f.useState(null),[s,r]=f.useState(null),o=f.useRef(null),i=f.useRef(null),a=f.useCallback(p=>new Promise(S=>{n(p),o.current=S}),[]),l=f.useCallback(p=>new Promise(S=>{r(p),i.current=S}),[]),u=f.useCallback(p=>{o.current&&(o.current(p),o.current=null),n(null)},[]),d=f.useCallback(p=>{i.current&&(i.current(p),i.current=null),r(null)},[]),h=()=>{if(s){const S=s.fields.map(w=>({name:w.name,type:w.type==="text"?"text":w.type==="password"?"password":w.type==="email"?"email":w.type==="phone"?"phone":w.type==="pin"?"pin":w.type==="ssn"?"ssn":w.type==="creditCard"?"creditCard":"text",label:w.label,placeholder:w.placeholder,required:w.required!==!1,value:w.value}));return c.jsx(Jf,{isOpen:!0,title:s.title,description:s.description,fields:S,onComplete:d})}if(!t)return null;const p={isOpen:!0,title:t.title,description:t.description,placeholder:t.placeholder,onComplete:u};switch(t.type){case"password":return c.jsx(qf,{...p});case"email":return c.jsx(Gf,{...p});case"phone":return c.jsx(Yf,{...p});case"pin":return c.jsx(Hf,{...p});case"ssn":return c.jsx(Ds,{...p,title:t.title||"SSN Required",placeholder:t.placeholder||"XXX-XX-XXXX"});case"creditCard":return c.jsx(Ds,{...p,title:t.title||"Credit Card Required",placeholder:t.placeholder||"XXXX XXXX XXXX XXXX",type:"text"});case"text":default:return c.jsx(Ds,{...p})}},m=f.useMemo(()=>({showSecureModal:a,showSecureForm:l}),[a,l]);return c.jsxs(rl.Provider,{value:m,children:[e,h()]})}function Zf(e){try{const t=new URL(e),n=`${t.protocol}//${t.host}${t.pathname}`,s=t.hash?t.hash.substring(1):void 0;return{baseUrl:n,anchor:s}}catch{const t=e.indexOf("#");return t!==-1?{baseUrl:e.substring(0,t),anchor:e.substring(t+1)}:{baseUrl:e}}}function Qf(e){try{const t=new URL(e),s=t.pathname.split("/").filter(a=>a.length>0);if(s.length===0)return t.hostname;const r=s[s.length-1];return r&&r.replace(/\.(md|mdx|html|htm)$/i,"").replace(/[-_]/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")||t.hostname}catch{const t=e.indexOf("#"),n=t!==-1?e.substring(0,t):e,s=n.split("/").filter(r=>r.length>0);if(s.length>0){const r=s[s.length-1];return r&&r.replace(/\.(md|mdx|html|htm)$/i,"").replace(/[-_]/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")||n}return n}}function ho(e){let t=e.replace(/_+$/gm,"");const n=/(?:^|\n)(?:#+\s*)?(?:References|References:)(?:\*\*)?\s*\n?([\s\S]*?)(?=\n\n|\n#|$)/i,s=t.match(n),r=new Map,o=[],i=new Map,a=new Map,l=new Map,u=new Map;if(s&&s[1]){const A=s[1],O=/\[(\d+)\]\s*(https?:\/\/[^\s\)]+)/g;let j;for(;(j=O.exec(A))!==null;)if(j[1]&&j[2]){const R=parseInt(j[1],10),F=j[2].replace(/[.,;:!?]+$/,""),D=F.replace(/\/+$/,"");if(a.has(D)||a.set(D,F),i.has(D)||i.set(D,[]),i.get(D).push(R),!l.has(D))l.set(D,R);else{const $=l.get(D);R<$&&l.set(D,R)}}for(const[R,F]of i.entries()){const D=l.get(R);for(const $ of F)$!==D&&u.set($,D)}for(const[R,F]of l.entries()){const D=a.get(R)||R;r.set(F,D),o.push({number:F,url:D})}}let d,h=t;s&&s[0]&&(d=s[0],h=t.replace(n,""));const m=[];let p=0;const S=/```[\s\S]*?```|`[^`]+`/g;let w;for(;(w=S.exec(h))!==null;)w.index>p&&m.push({type:"text",content:h.slice(p,w.index),start:p,end:w.index}),m.push({type:"code",content:w[0],start:w.index,end:w.index+w[0].length}),p=w.index+w[0].length;p<h.length&&m.push({type:"text",content:h.slice(p),start:p,end:h.length});const T=m.map(A=>{if(A.type==="code")return A.content;let O=A.content;return O=O.replace(/\[(\d+)\]\((https?:\/\/[^\)]+)\)/g,(R,F,D)=>{const $=parseInt(F,10),J=D.replace(/\/+$/,""),ne=u.get($)||$;return l.has(J)||(l.set(J,ne),r.has(ne)||(r.set(ne,D),o.push({number:ne,url:D}))),`[${ne}]`}),O=O.replace(/\[(\d+)\]/g,(R,F)=>{const D=parseInt(F,10);return`[${u.get(D)||D}]`}),O}),x=[];for(const[A,O]of l.entries()){const j=a.get(A)||A,{baseUrl:R,anchor:F}=Zf(j),D=Qf(j);x.push({url:j,baseUrl:R,numbers:[O],anchor:F,title:D})}x.sort((A,O)=>(A.numbers[0]||0)-(O.numbers[0]||0));const P=new Map;let E=1;for(const A of x){const O=A.numbers[0];P.set(O,E),A.numbers=[E],E++}const L=new Map;for(const[A,O]of r.entries()){const j=P.get(A);j&&L.set(j,O)}const N=o.map(A=>{const O=P.get(A.number);return O?{number:O,url:A.url}:A}).filter(A=>P.has(A.number)),k=Array.from(P.entries()).sort((A,O)=>O[0]-A[0]);let I=T.join("");for(const[A,O]of k){const j=new RegExp(`\\[${A}\\](?!\\d)`,"g");I=I.replace(j,`[${O}]`)}return{processedText:I,citations:N.sort((A,O)=>A.number-O.number),citationMap:L,groupedCitations:x,referencesText:d}}function vn(e){if(typeof e=="string")try{const t=JSON.parse(e);return vn(t)}catch{return e}if(Array.isArray(e))return e.map(vn);if(e&&typeof e=="object"){const t={};for(const[n,s]of Object.entries(e))t[n]=vn(s);return t}return e}function Rs(e){if(typeof e=="string"){try{const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t))return vn(t)}catch{}return{}}return e&&typeof e=="object"&&!Array.isArray(e)?vn(e):{}}function em({theme:e="auto",layout:t="sidebar",model:n="auto",animated:s=!0,title:r="Chat",logo:o=void 0,defaultWidth:i=384,minWidth:a=300,maxWidth:l=800,initiallyExpanded:u=!1,tools:d=[],safeTools:h=[],toolMetadata:m,systemPrompt:p="",agentId:S,agentName:w,tokenEndpoint:T="/api/arcten/token",apiBaseUrl:x="https://api.arcten.com",user:P,state:E,onStateChange:L,allowStateEdits:N=!0,sources:k,ragConfig:I,showCitations:A=!0,sensitiveParams:O,autoDetectSensitive:j=!1}){const{showSecureModal:R}=il(),F=xo({apiBaseUrl:x,tokenEndpoint:T,user:P,tools:d,safeTools:h,toolMetadata:m,sensitiveParams:O,autoDetectSensitive:j,agentId:S,agentName:w,state:E,onStateChange:L,allowStateEdits:N,sources:k,ragConfig:I});f.useMemo(()=>I!==void 0?I:k&&k.length>0?{enabled:!0,organizationId:k[0],autoExecute:!0,filters:void 0}:{enabled:!1},[k,I]);const[D,$]=f.useState(u),[J,ne]=f.useState(i),[G,se]=f.useState(600),[fe,ge]=f.useState(!1),[B,Ct]=f.useState(!1),[Te,at]=f.useState(!1),[we,Re]=f.useState({x:100,y:100}),[Qt,te]=f.useState(!1),[en,lt]=f.useState({x:0,y:0}),[tn,Nn]=f.useState(!1),Ve=f.useRef(null),ct=f.useRef(null),[ut,je]=f.useState(""),[nn,ls]=f.useState(null),[jt,Dn]=f.useState("Thinking..."),[dt,Je]=f.useState(new Set),[cs,Rn]=f.useState(""),[ze,us]=f.useState([]),Vn=f.useRef(new Map),Pt=f.useRef(!1),sn=f.useRef(""),[re,rn]=f.useState(!1),[Ie,ye]=f.useState(!1),Ue=f.useMemo(()=>[...d,...h],[d,h]),Oe=f.useMemo(()=>ir(Ue,m),[Ue,m]),At=f.useMemo(()=>{const C=new Map,_=new Map(Oe.map(W=>[W.name,W]));return Ue.forEach(W=>{const K=W[ke];if(K){const Y=_.get(K);if(Y){C.set(Y.name,W);return}}const q=Oe.find(Y=>Y.name===W.name);q&&C.set(q.name,W)}),C},[Ue,Oe]),ht=f.useMemo(()=>{const C=new Set,_=new Map(Oe.map(W=>[W.name,W]));return h.forEach(W=>{const K=W[ke];if(K&&_.has(K))C.add(K);else{const q=Oe.find(Y=>Y.name===W.name);q&&C.add(q.name)}}),C},[h,Oe]),ft=["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..."];f.useEffect(()=>{if(typeof window<"u"){const C=localStorage.getItem("arcten-sidebar-expanded");C&&$(JSON.parse(C));const _=localStorage.getItem("arcten-sidebar-width");_&&ne(parseInt(_));const W=localStorage.getItem("arcten-sidebar-height");W&&se(parseInt(W));const K=localStorage.getItem("arcten-sidebar-detached");K&&Ct(JSON.parse(K));const q=localStorage.getItem("arcten-sidebar-position");if(q){const Ae=JSON.parse(q),ee=50,xe=Math.max(ee-i,Math.min(Ae.x,window.innerWidth-ee)),X=Math.max(0,Math.min(Ae.y,window.innerHeight-ee));Re({x:xe,y:X})}const Y=localStorage.getItem("arcten-sidebar-minimized");Y&&at(JSON.parse(Y)),Nn(!0)}},[]),f.useMemo(()=>P,[P?.id]),f.useEffect(()=>{(async()=>{if(Ue.length===0)return;const _=Ue.map(W=>`${W.name}:${W.toString()}`).join("|");if(_!==sn.current&&!Pt.current){Pt.current=!0,sn.current=_;try{const W=Ue.map(q=>({name:q.name,code:q.toString()})),K=await fetch(`${x}/tools/describe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tools:W})});if(K.ok){const q=await K.json();q.tools&&q.tools.forEach(Y=>{Vn.current.set(Y.name,Y)}),us(q.tools)}}catch(W){console.error("Failed to fetch tool descriptions:",W)}finally{Pt.current=!1}}})()},[Ue,x]),f.useEffect(()=>{Promise.resolve().then(()=>Of).then(C=>{ls(()=>C.Response)})},[]),f.useEffect(()=>{const C=()=>{Rn(window.location.pathname)};C(),window.addEventListener("popstate",C);const _=setInterval(C,500);return()=>{window.removeEventListener("popstate",C),clearInterval(_)}},[]);const{id:on,messages:Pe,sendMessage:mt,status:he,error:In,stop:Mt,addToolOutput:Ke,setMessages:_r,clientToken:an,tokenError:ln,conversations:_e,isLoadingConversations:Ze,loadConversation:On,deleteConversation:Et,startNewConversation:qe}=F;f.useEffect(()=>{D&&ct.current&&ct.current.focus()},[D,Pe]),f.useEffect(()=>{const C=Pe[Pe.length-1];if(!C||C.role!=="assistant")return;const _=C.parts?.filter(W=>W.type?.startsWith("tool-")&&W.state==="input-available"&&typeof W.toolCallId=="string"&&W.input!==void 0)||[];for(const W of _){const K=W,q=K.type?.replace("tool-","")||"",Y=K.toolCallId;if(ht.has(q)){if(dt.has(Y))continue;Je(ee=>ee.has(Y)?ee:new Set(ee).add(Y)),(async()=>{try{const ee=At.get(q);if(!ee){console.warn(`[ArctenAgent] Tool ${q} not found in toolsMap`),Ke({toolCallId:Y,tool:q,output:`Error: Tool ${q} not found`}),Je(y=>{const b=new Set(y);return b.delete(Y),b});return}const xe=Rs(K.input),X=Oe.find(y=>y.name===q);let g;if(X&&X.jsonSchema?.properties){const b=Object.keys(X.jsonSchema.properties).map(v=>xe[v]);g=await ee(...b)}else g=await ee(...Object.values(xe));Ke({toolCallId:Y,tool:q,output:g}),Je(y=>{const b=new Set(y);return b.delete(Y),b})}catch(ee){console.error(`[ArctenAgent] Error executing safe tool ${q}:`,ee),Ke({toolCallId:Y,tool:q,output:`Error: ${ee instanceof Error?ee.message:String(ee)}`}),Je(xe=>{const X=new Set(xe);return X.delete(Y),X})}})()}}},[Pe,ht,At,Oe,Ke,dt]);function pt(){$(!0),localStorage.setItem("arcten-sidebar-expanded","true")}function Ln(){$(!1),localStorage.setItem("arcten-sidebar-expanded","false")}f.useEffect(()=>{},[D]),f.useEffect(()=>{Ve.current&&Ve.current.scrollIntoView({behavior:"smooth"})},[Pe]),f.useEffect(()=>{function C(_){_.key==="Escape"&&(he==="streaming"||he==="submitted")&&(_.preventDefault(),Mt())}return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[he,Mt]);function Fn(C){const _=Math.floor((Date.now()-C)/1e3);return _<60?"now":_<3600?`${Math.floor(_/60)}m`:_<86400?`${Math.floor(_/3600)}h`:`${Math.floor(_/86400)}d`}function kt(){qe(),ye(!1)}function cn(C){if(C.preventDefault(),!ut.trim())return;(he==="streaming"||he==="submitted")&&Mt();const _=ft[Math.floor(Math.random()*ft.length)]||"Thinking...";Dn(_),mt({text:ut}),je("")}function ds(C){const _=C.target.value;je(_)}f.useEffect(()=>{if(!fe)return;function C(W){if(B){const K=W.clientX-we.x,q=W.clientY-we.y;K>=a&&K<=l&&ne(K),q>=400&&q<=1e3&&se(q)}else{const K=window.innerWidth-W.clientX;K>=a&&K<=l&&ne(K)}}function _(){ge(!1),localStorage.setItem("arcten-sidebar-width",J.toString()),localStorage.setItem("arcten-sidebar-height",G.toString())}return window.addEventListener("mousemove",C),window.addEventListener("mouseup",_),()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_)}},[fe,J,G,B,we,a,l]);function $n(C){C.preventDefault(),ge(!0)}function Xe(){Ct(!0),at(!1),localStorage.setItem("arcten-sidebar-detached","true"),localStorage.setItem("arcten-sidebar-minimized","false")}function hs(){Ct(!1),at(!1),localStorage.setItem("arcten-sidebar-detached","false"),localStorage.setItem("arcten-sidebar-minimized","false")}function Nt(){at(!Te),localStorage.setItem("arcten-sidebar-minimized",JSON.stringify(!Te))}function un(C){B&&(te(!0),lt({x:C.clientX-we.x,y:C.clientY-we.y}))}return f.useEffect(()=>{if(!B)return;function C(){Re(_=>{const K=window.innerWidth-50,q=window.innerHeight-50,Y=50-J,Ae=0,ee=Math.max(Y,Math.min(_.x,K)),xe=Math.max(Ae,Math.min(_.y,q));if(ee!==_.x||xe!==_.y){const X={x:ee,y:xe};return localStorage.setItem("arcten-sidebar-position",JSON.stringify(X)),X}return _})}return window.addEventListener("resize",C),()=>window.removeEventListener("resize",C)},[B,J]),f.useEffect(()=>{if(!Qt)return;function C(W){const K=W.clientX-en.x,q=W.clientY-en.y,Y=50,Ae=window.innerWidth-Y,ee=window.innerHeight-Y,xe=Y-J,X=0,g=Math.max(xe,Math.min(K,Ae)),y=Math.max(X,Math.min(q,ee));Re({x:g,y})}function _(){te(!1),localStorage.setItem("arcten-sidebar-position",JSON.stringify(we))}return window.addEventListener("mousemove",C),window.addEventListener("mouseup",_),()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_)}},[Qt,en,we,J]),tn?ln?c.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:c.jsxs("div",{className:"p-4 bg-destructive/10 text-destructive text-sm rounded-lg",children:["Authentication error: ",ln]})}):an?c.jsx(Hu,{features:Af,children:c.jsx(Xn,{id:"arcten-sidebar","data-theme":e,"data-layout":t,"data-model":n,initial:B?{opacity:0,scale:.95,filter:"blur(4px)"}:!1,animate:B?{opacity:1,scale:1,filter:"blur(0px)"}:{},transition:{duration:.2,ease:"easeOut"},className:`
|
|
20
|
+
${B?"fixed z-50 shadow-xl rounded-xl":"h-screen flex-shrink-0 relative rounded-l-2xl"}
|
|
21
21
|
${D?"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"}
|
|
22
|
-
${
|
|
22
|
+
${B?"border border-border":"border-l border-border"}
|
|
23
23
|
${D?"":"w-[30px]"}
|
|
24
|
-
`,style:D?H?{width:`${q}px`,height:Pe?"auto":`${G}px`,left:`${he.x}px`,top:`${he.y}px`}:{width:`${q}px`}:void 0,onClick:D?void 0:On,children:D?c.jsxs(c.Fragment,{children:[!H&&c.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:ze,children:c.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-3 -translate-x-1"})}),H&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"absolute bottom-0 right-0 w-4 h-4 cursor-nwse-resize",onMouseDown:C=>{C.preventDefault(),we(!0)}}),c.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-move hover:bg-blue-500/20 group",onMouseDown:C=>{C.preventDefault(),C.stopPropagation(),en(!0),St({x:C.clientX-he.x,y:C.clientY-he.y})},children:c.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"})}),c.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-1 cursor-ew-resize hover:bg-blue-500/40",onMouseDown:C=>{C.preventDefault(),we(!0)}})]}),c.jsxs("div",{className:"flex flex-col h-full",children:[c.jsxs("div",{className:`flex items-center justify-between p-3 border-b border-border ${H?"cursor-move":""}`,onMouseDown:H?hs:void 0,children:[c.jsx("h2",{className:`text-base font-semibold ${H&&Pe?"cursor-pointer":""}`,onClick:H&&Pe?C=>{C.stopPropagation(),Dt()}:void 0,children:r}),c.jsxs("div",{className:"flex items-center gap-1",onClick:C=>C.stopPropagation(),children:[c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(mt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:Fn,"aria-label":"New chat",children:c.jsx(J.Plus,{className:"h-4 w-4"})})}),c.jsx(it,{children:"Start a new conversation"})]}),c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(mt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:H?sn:ds,"aria-label":H?"Dock sidebar":"Float sidebar",children:H?c.jsx(J.Dock,{className:"h-4 w-4"}):c.jsx(J.PictureInPicture2,{className:"h-4 w-4"})})}),c.jsx(it,{children:H?"Dock to sidebar":"Undock to floating window"})]}),c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(mt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:H?Dt:Ln,"aria-label":H?Pe?"Maximize":"Minimize":"Close sidebar",children:H?Pe?c.jsx(J.Maximize2,{className:"h-4 w-4"}):c.jsx(J.Minimize2,{className:"h-4 w-4"}):c.jsx(J.X,{className:"h-4 w-4"})})}),c.jsx(it,{children:H?Pe?"Maximize window":"Minimize to header":"Close the chat"})]})]})]}),!Pe&&c.jsxs(c.Fragment,{children:[A&&Be.length>0&&c.jsxs("div",{className:`border-b border-border ${fe?"flex flex-col flex-1":""}`,children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-1",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Recent chats"}),c.jsx(ye,{variant:"ghost",className:"h-auto px-2 py-1 text-xs text-muted-foreground hover:text-foreground",onClick:()=>{tn(!fe)},children:fe?"Show less":"View all"})]}),c.jsx("div",{className:`px-2 pb-2 space-y-0.5 ${fe?"flex-1 overflow-y-auto":""}`,children:Be.slice(0,fe?void 0:3).map(C=>c.jsxs("div",{className:"group relative",children:[c.jsxs(Af,{type:"button",className:Q(mt({variant:"ghost"}),"w-full justify-between h-auto py-1 px-3 font-normal active:scale-[0.99]"),onClick:()=>{kt(C.chatId||C._id),tn(!1)},children:[c.jsx("span",{className:"text-xs truncate",children:C.title}),c.jsx("div",{className:"ml-2 flex items-center",children:c.jsx("span",{className:"text-xs text-muted-foreground group-hover:hidden",children:Nt(C.updatedAt)})})]}),c.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:_=>{_.stopPropagation(),qe(C._id)},"aria-label":"Delete conversation",children:c.jsx(J.X,{className:"h-3 w-3"})})]},C._id))})]}),c.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative",children:[c.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4 scroll-smooth",children:be.length===0?c.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[o&&c.jsx("div",{className:"mb-6",children:o}),c.jsx("h3",{className:"text-lg font-semibold text-center mb-2",children:"How can I help you?"}),We.length>0&&c.jsx("div",{className:"mt-4 px-4 max-w-md mx-auto",children:c.jsxs("div",{className:"flex flex-wrap gap-2 justify-center",children:[(Mt?We:We.slice(0,10)).map(C=>c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsx(gs,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>{Ct(C.sampleUsage),ut.current?.focus()},children:C.friendlyName})}),c.jsx(it,{children:c.jsxs("div",{className:"max-w-xs",children:[c.jsx("p",{className:"font-medium",children:C.description}),c.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:[c.jsx("span",{className:"font-medium",children:"Example:"}),' "',C.sampleUsage,'"']}),C.paramCount>0&&c.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[c.jsx("span",{className:"font-medium",children:"Parameters:"})," ",C.params.join(", ")]})]})})]},C.name)),We.length>10&&!Mt&&c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsxs(gs,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>et(!0),children:["+",We.length-10," more"]})}),c.jsx(it,{children:c.jsxs("div",{className:"max-w-xs",children:[c.jsx("p",{className:"font-medium mb-2",children:"Additional tools:"}),c.jsx("div",{className:"space-y-1 max-h-64 overflow-y-auto pr-2",children:We.slice(10).map(C=>c.jsxs("div",{children:[c.jsxs("span",{className:"font-medium text-xs",children:[C.friendlyName,":"]}),c.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:C.description})]},C.name))}),c.jsx("p",{className:"text-xs text-muted-foreground mt-2 italic",children:"Click to show all tools"})]})})]}),Mt&&We.length>10&&c.jsx(gs,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>et(!1),children:"Show less"})]})})]}):c.jsxs(c.Fragment,{children:[be.map(C=>{const U=C.parts.filter(p=>p.type==="text").map(p=>p.text).join("");let W=C.parts;C.role==="assistant"&&C.parts.some(x=>x.timestamp)&&(W=[...C.parts].sort((x,y)=>{const S=x.timestamp||0,P=y.timestamp||0;return S-P}));let X=[],K=new Map,je=[],ne,pe=!0;if(C.role==="assistant"){const p=W.filter(P=>P.type==="text"&&P.text),x=[],y=[];p.forEach(P=>{const{citations:O,citationMap:B,groupedCitations:Z,referencesText:se}=uo(P.text);X.push(...O),x.push(B),Z&&y.push(...Z),se&&(ne=se)}),x.forEach(P=>{P.forEach((O,B)=>{K.has(B)||K.set(B,O)})}),je=Array.from(new Map(y.map(P=>[P.url,P])).values()).sort((P,O)=>(P.numbers[0]||0)-(O.numbers[0]||0)),pe=!(Ce==="streaming"&&C.id===be.at(-1)?.id)}return c.jsx("div",{className:`${C.role==="user"?"flex justify-end":"w-full"}`,children:c.jsx("div",{className:`${C.role==="user"?"max-w-[85%] text-right":"w-full"}`,children:C.role==="user"?c.jsx(Mf,{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:U}):c.jsx("div",{className:"space-y-2",children:W.map((p,x)=>{if(p.type?.startsWith("tool-")){const y=p.type?.replace("tool-","")||"",S=Ae.find(B=>B.name===y),P=p.state==="input-available",O=p.state==="output-available";if(P&&Fe.has(y),P){if(Fe.has(y))return null;const B=Rs(p.input);return c.jsx(Wn,{initial:{opacity:0,y:10,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.3,ease:"easeOut"},children:c.jsx(Ef,{toolName:y,description:S?.description||"",args:B,onApprove:async()=>{if(Pt.has(p.toolCallId))return;Xe(se=>new Set(se).add(p.toolCallId));const Z=nn.get(y);if(Z)try{const se=await Z(...Object.values(B));Ke({toolCallId:p.toolCallId,tool:y,output:se})}catch(se){Ke({toolCallId:p.toolCallId,tool:y,output:`Error: ${se}`})}},onDeny:async()=>{Pt.has(p.toolCallId)||(Xe(Z=>new Set(Z).add(p.toolCallId)),Ke({toolCallId:p.toolCallId,tool:y,output:"User denied tool execution"}))}})},`${p.toolCallId}-${x}`)}else if(O){const B=p.output==="User denied tool execution",Z=Rs(p.input);return c.jsx(kf,{toolName:y,args:Z,isDenied:B,isSafe:Fe.has(y)},`${p.toolCallId}-${x}`)}return null}if(p.type==="text"&&p.text&&Pn){const{processedText:y}=uo(p.text),B=!W.slice(x+1).some(Z=>Z.type==="text"&&Z.text)&&pe&&K.size>0;return c.jsx(_f,{text:y,citations:X,citationMap:K,groupedCitations:B?je:void 0,referencesText:B?ne:void 0,ResponseComponent:Pn,className:"text-sm prose prose-sm dark:prose-invert max-w-none",showCitations:M,showReferences:B},`${C.id}-${x}`)}return p.type==="reasoning"&&p.text?c.jsxs(el,{className:"w-full",isStreaming:Ce==="streaming"&&x===C.parts.length-1&&C.id===be.at(-1)?.id,children:[c.jsx(tl,{}),c.jsx(nl,{children:p.text})]},`${C.id}-${x}`):null})})})},C.id)}),c.jsx("div",{ref:Tt})]})}),Rn&&c.jsxs("div",{className:"px-4 py-2 bg-destructive/10 text-destructive text-xs",children:["Error: ",Rn.message]}),c.jsxs("div",{className:"p-4 border-t border-border relative overflow-visible",children:[c.jsx(Gu,{mode:"wait",children:(Ce==="streaming"||Ce==="submitted")&&c.jsxs(Wn,{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:[c.jsx(Wn,{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]}}),c.jsx("p",{className:"text-xs text-muted-foreground",children:An})]})}),c.jsxs("form",{onSubmit:$n,className:"relative",children:[c.jsx(xo,{ref:ut,value:Se,onChange:Bn,placeholder:"Ask anything..",className:"w-full pr-12 resize-none border border-border rounded-xl px-4 py-3",minHeight:24,maxHeight:200,onKeyDown:C=>{C.key==="Enter"&&!C.shiftKey&&(C.preventDefault(),$n(C))}}),Ce==="streaming"||Ce==="submitted"?c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(mt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),onClick:Et,children:c.jsx(J.Square,{className:"h-4 w-4"})})}),c.jsxs(it,{children:[c.jsx(qr,{children:"Escape"})," to stop"]})]}):c.jsxs(st,{children:[c.jsx(rt,{asChild:!0,children:c.jsx("button",{type:"submit",className:Q(mt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),disabled:!Se.trim(),children:c.jsx(J.ArrowRight,{className:"h-4 w-4"})})}),c.jsxs(it,{children:[c.jsx(qr,{children:"Enter"})," to send"]})]})]})]})]}),c.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",children:[c.jsx("span",{className:"whitespace-nowrap",children:"Powered by"}),c.jsx("div",{className:"w-4 h-2 bg-current rounded-t-full flex-shrink-0"}),c.jsx("span",{className:"whitespace-nowrap",children:"Arcten"})]})]})]})]}):c.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-full cursor-pointer",children:[c.jsx(J.BotMessageSquare,{className:"h-5 w-5 text-stone-600 dark:text-stone-400"}),c.jsx("span",{className:"text-xs font-medium text-stone-600 dark:text-stone-400 [writing-mode:vertical-lr]",children:"AI agent"})]})})}):c.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:c.jsx("div",{className:"p-4 text-muted-foreground text-sm",children:"Loading..."})}):null}function em(e){return c.jsx(il,{children:c.jsx(Qf,{...e})})}exports.verifyToken=Sl.verifyToken;exports.ARCTEN_ORIGINAL_NAME=ke;exports.ArctenAgent=em;exports.SecureModalProvider=il;exports.extractToolsMetadata=ir;exports.preserveToolName=Tl;exports.useAgent=yo;exports.useSecureModal=rl;
|
|
24
|
+
`,style:D?B?{width:`${J}px`,height:Te?"auto":`${G}px`,left:`${we.x}px`,top:`${we.y}px`}:{width:`${J}px`}:void 0,onClick:D?void 0:pt,children:D?c.jsxs(c.Fragment,{children:[!B&&c.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:$n,children:c.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-3 -translate-x-1"})}),B&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"absolute bottom-0 right-0 w-4 h-4 cursor-nwse-resize",onMouseDown:C=>{C.preventDefault(),ge(!0)}}),c.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-move hover:bg-blue-500/20 group",onMouseDown:C=>{C.preventDefault(),C.stopPropagation(),te(!0),lt({x:C.clientX-we.x,y:C.clientY-we.y})},children:c.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"})}),c.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-1 cursor-ew-resize hover:bg-blue-500/40",onMouseDown:C=>{C.preventDefault(),ge(!0)}})]}),c.jsxs("div",{className:"flex flex-col h-full",children:[c.jsxs("div",{className:`flex items-center justify-between p-3 border-b border-border ${B?"cursor-move":""}`,onMouseDown:B?un:void 0,children:[c.jsx("h2",{className:`text-base font-semibold ${B&&Te?"cursor-pointer":""}`,onClick:B&&Te?C=>{C.stopPropagation(),Nt()}:void 0,children:r}),c.jsxs("div",{className:"flex items-center gap-1",onClick:C=>C.stopPropagation(),children:[c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(yt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:kt,"aria-label":"New chat",children:c.jsx(Z.Plus,{className:"h-4 w-4"})})}),c.jsx(nt,{children:"Start a new conversation"})]}),c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(yt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:B?hs:Xe,"aria-label":B?"Dock sidebar":"Float sidebar",children:B?c.jsx(Z.Dock,{className:"h-4 w-4"}):c.jsx(Z.PictureInPicture2,{className:"h-4 w-4"})})}),c.jsx(nt,{children:B?"Dock to sidebar":"Undock to floating window"})]}),c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(yt({variant:"ghost",size:"icon"}),"h-8 w-8"),onClick:B?Nt:Ln,"aria-label":B?Te?"Maximize":"Minimize":"Close sidebar",children:B?Te?c.jsx(Z.Maximize2,{className:"h-4 w-4"}):c.jsx(Z.Minimize2,{className:"h-4 w-4"}):c.jsx(Z.X,{className:"h-4 w-4"})})}),c.jsx(nt,{children:B?Te?"Maximize window":"Minimize to header":"Close the chat"})]})]})]}),!Te&&c.jsxs(c.Fragment,{children:[P&&_e.length>0&&c.jsxs("div",{className:`border-b border-border ${Ie?"flex flex-col flex-1":""}`,children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-1",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Recent chats"}),c.jsx(ve,{variant:"ghost",className:"h-auto px-2 py-1 text-xs text-muted-foreground hover:text-foreground",onClick:()=>{ye(!Ie)},children:Ie?"Show less":"View all"})]}),c.jsx("div",{className:`px-2 pb-2 space-y-0.5 ${Ie?"flex-1 overflow-y-auto":""}`,children:_e.slice(0,Ie?void 0:3).map(C=>c.jsxs("div",{className:"group relative",children:[c.jsxs(Mf,{type:"button",className:Q(yt({variant:"ghost"}),"w-full justify-between h-auto py-1 px-3 font-normal active:scale-[0.99]"),onClick:()=>{On(C.chatId||C._id),ye(!1)},children:[c.jsx("span",{className:"text-xs truncate",children:C.title}),c.jsx("div",{className:"ml-2 flex items-center",children:c.jsx("span",{className:"text-xs text-muted-foreground group-hover:hidden",children:Fn(C.updatedAt)})})]}),c.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:_=>{_.stopPropagation(),Et(C._id)},"aria-label":"Delete conversation",children:c.jsx(Z.X,{className:"h-3 w-3"})})]},C._id))})]}),c.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative",children:[c.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4 scroll-smooth",children:Pe.length===0?c.jsxs("div",{className:"flex flex-col items-center justify-center h-full",children:[o&&c.jsx("div",{className:"mb-6",children:o}),c.jsx("h3",{className:"text-lg font-semibold text-center mb-2",children:"How can I help you?"}),ze.length>0&&c.jsx("div",{className:"mt-4 px-4 max-w-md mx-auto",children:c.jsxs("div",{className:"flex flex-wrap gap-2 justify-center",children:[(re?ze:ze.slice(0,10)).map(C=>c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsx(gs,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>{je(C.sampleUsage),ct.current?.focus()},children:C.friendlyName})}),c.jsx(nt,{children:c.jsxs("div",{className:"max-w-xs",children:[c.jsx("p",{className:"font-medium",children:C.description}),c.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:[c.jsx("span",{className:"font-medium",children:"Example:"}),' "',C.sampleUsage,'"']}),C.paramCount>0&&c.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[c.jsx("span",{className:"font-medium",children:"Parameters:"})," ",C.params.join(", ")]})]})})]},C.name)),ze.length>10&&!re&&c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsxs(gs,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>rn(!0),children:["+",ze.length-10," more"]})}),c.jsx(nt,{children:c.jsxs("div",{className:"max-w-xs",children:[c.jsx("p",{className:"font-medium mb-2",children:"Additional tools:"}),c.jsx("div",{className:"space-y-1 max-h-64 overflow-y-auto pr-2",children:ze.slice(10).map(C=>c.jsxs("div",{children:[c.jsxs("span",{className:"font-medium text-xs",children:[C.friendlyName,":"]}),c.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:C.description})]},C.name))}),c.jsx("p",{className:"text-xs text-muted-foreground mt-2 italic",children:"Click to show all tools"})]})})]}),re&&ze.length>10&&c.jsx(gs,{variant:"secondary",className:"cursor-pointer text-xs px-2 py-1 hover:bg-stone-200 dark:hover:bg-stone-700 transition-colors",onClick:()=>rn(!1),children:"Show less"})]})})]}):c.jsxs(c.Fragment,{children:[Pe.map(C=>{const W=C.parts.filter(X=>X.type==="text").map(X=>X.text).join("");let K=C.parts;C.role==="assistant"&&C.parts.some(g=>g.timestamp)&&(K=[...C.parts].sort((g,y)=>{const b=g.timestamp||0,v=y.timestamp||0;return b-v}));let q=[],Y=new Map,Ae=[],ee,xe=!0;if(C.role==="assistant"){const X=K.filter(v=>v.type==="text"&&v.text),g=[],y=[];X.forEach(v=>{const{citations:M,citationMap:V,groupedCitations:z,referencesText:ie}=ho(v.text);q.push(...M),g.push(V),z&&y.push(...z),ie&&(ee=ie)}),g.forEach(v=>{v.forEach((M,V)=>{Y.has(V)||Y.set(V,M)})}),Ae=Array.from(new Map(y.map(v=>[v.url,v])).values()).sort((v,M)=>(v.numbers[0]||0)-(M.numbers[0]||0)),xe=!(he==="streaming"&&C.id===Pe.at(-1)?.id)}return c.jsx("div",{className:`${C.role==="user"?"flex justify-end":"w-full"}`,children:c.jsx("div",{className:`${C.role==="user"?"max-w-[85%] text-right":"w-full"}`,children:C.role==="user"?c.jsx(Ef,{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:W}):c.jsx("div",{className:"space-y-2",children:K.map((X,g)=>{if(X.type?.startsWith("tool-")){const y=X.type?.replace("tool-","")||"",b=Oe.find(V=>V.name===y),v=X.state==="input-available",M=X.state==="output-available";if(v&&ht.has(y),v){if(ht.has(y))return null;const V=Rs(X.input);return c.jsx(Xn,{initial:{opacity:0,y:10,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.3,ease:"easeOut"},children:c.jsx(kf,{toolName:y,description:b?.description||"",args:V,onApprove:async()=>{if(dt.has(X.toolCallId))return;Je(ie=>new Set(ie).add(X.toolCallId));const z=At.get(y);if(z)try{const ie=await z(...Object.values(V));Ke({toolCallId:X.toolCallId,tool:y,output:ie})}catch(ie){Ke({toolCallId:X.toolCallId,tool:y,output:`Error: ${ie}`})}},onDeny:async()=>{dt.has(X.toolCallId)||(Je(z=>new Set(z).add(X.toolCallId)),Ke({toolCallId:X.toolCallId,tool:y,output:"User denied tool execution"}))}})},`${X.toolCallId}-${g}`)}else if(M){const V=X.output==="User denied tool execution",z=Rs(X.input);return c.jsx(Nf,{toolName:y,args:z,isDenied:V,isSafe:ht.has(y)},`${X.toolCallId}-${g}`)}return null}if(X.type==="text"&&X.text&&nn){const{processedText:y}=ho(X.text),V=!K.slice(g+1).some(z=>z.type==="text"&&z.text)&&xe&&Y.size>0;return c.jsx(Xf,{text:y,citations:q,citationMap:Y,groupedCitations:V?Ae:void 0,referencesText:V?ee:void 0,ResponseComponent:nn,className:"text-sm prose prose-sm dark:prose-invert max-w-none",showCitations:A,showReferences:V},`${C.id}-${g}`)}return X.type==="reasoning"&&X.text?c.jsxs(tl,{className:"w-full",isStreaming:he==="streaming"&&g===C.parts.length-1&&C.id===Pe.at(-1)?.id,children:[c.jsx(nl,{}),c.jsx(sl,{children:X.text})]},`${C.id}-${g}`):null})})})},C.id)}),c.jsx("div",{ref:Ve})]})}),In&&c.jsxs("div",{className:"px-4 py-2 bg-destructive/10 text-destructive text-xs",children:["Error: ",In.message]}),c.jsxs("div",{className:"p-4 border-t border-border relative overflow-visible",children:[c.jsx(Yu,{mode:"wait",children:(he==="streaming"||he==="submitted")&&c.jsxs(Xn,{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:[c.jsx(Xn,{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]}}),c.jsx("p",{className:"text-xs text-muted-foreground",children:jt})]})}),c.jsxs("form",{onSubmit:cn,className:"relative",children:[c.jsx(bo,{ref:ct,value:ut,onChange:ds,placeholder:"Ask anything..",className:"w-full pr-12 resize-none border border-border rounded-xl px-4 py-3",minHeight:24,maxHeight:200,onKeyDown:C=>{C.key==="Enter"&&!C.shiftKey&&(C.preventDefault(),cn(C))}}),he==="streaming"||he==="submitted"?c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsx("button",{type:"button",className:Q(yt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),onClick:Mt,children:c.jsx(Z.Square,{className:"h-4 w-4"})})}),c.jsxs(nt,{children:[c.jsx(Gr,{children:"Escape"})," to stop"]})]}):c.jsxs(et,{children:[c.jsx(tt,{asChild:!0,children:c.jsx("button",{type:"submit",className:Q(yt({variant:"ghost",size:"icon"}),"absolute top-1/2 -translate-y-1/2 right-2 h-8 w-8"),disabled:!ut.trim(),children:c.jsx(Z.ArrowRight,{className:"h-4 w-4"})})}),c.jsxs(nt,{children:[c.jsx(Gr,{children:"Enter"})," to send"]})]})]})]})]}),c.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",children:[c.jsx("span",{className:"whitespace-nowrap",children:"Powered by"}),c.jsx("div",{className:"w-4 h-2 bg-current rounded-t-full flex-shrink-0"}),c.jsx("span",{className:"whitespace-nowrap",children:"Arcten"})]})]})]})]}):c.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-full cursor-pointer",children:[c.jsx(Z.BotMessageSquare,{className:"h-5 w-5 text-stone-600 dark:text-stone-400"}),c.jsx("span",{className:"text-xs font-medium text-stone-600 dark:text-stone-400 [writing-mode:vertical-lr]",children:"AI agent"})]})})}):c.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:c.jsx("div",{className:"p-4 text-muted-foreground text-sm",children:"Loading..."})}):null}function tm(e){return c.jsx(ol,{children:c.jsx(em,{...e})})}exports.verifyToken=Tl.verifyToken;exports.ARCTEN_ORIGINAL_NAME=ke;exports.ArctenAgent=tm;exports.SecureModalProvider=ol;exports.extractToolsMetadata=ir;exports.preserveToolName=Cl;exports.useAgent=xo;exports.useSecureModal=il;
|