@voxket-ai/voxket-live 1.0.77 → 1.0.79
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/components/livekit/agent-tile.d.ts +1 -1
- package/dist/components/livekit/media-tiles.d.ts +3 -2
- package/dist/core/client.d.ts +57 -0
- package/dist/hooks/useVoxketClient.d.ts +42 -0
- package/dist/index.cjs +234 -14
- package/dist/index.js +10425 -6335
- package/package.json +1 -1
- package/dist/index.css +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,35 +1,255 @@
|
|
|
1
|
-
"use strict";var rl=Object.defineProperty;var al=(e,t,n)=>t in e?rl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var me=(e,t,n)=>al(e,typeof t!="symbol"?t+"":t,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react"),a=require("react/jsx-runtime"),I=require("livekit-client"),ue=require("@livekit/components-react"),Bi=require("sonner"),ll=require("@phosphor-icons/react"),un=require("class-variance-authority"),cl=require("clsx"),dl=require("@radix-ui/react-toggle"),ul=require("@radix-ui/react-select"),pe=require("lucide-react"),Be=require("@mui/icons-material"),hl=require("react-dom/client");function ps(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 h=ps(y),ml=ps(dl),Ee=ps(ul),gs=y.createContext({});function xs(e){const t=y.useRef(null);return t.current===null&&(t.current=e()),t.current}const ys=typeof window<"u",$i=ys?y.useLayoutEffect:y.useEffect,hn=y.createContext(null);function bs(e,t){e.indexOf(t)===-1&&e.push(t)}function vs(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const $e=(e,t,n)=>n>t?t:n<e?e:n;function Hn(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}let gt=()=>{},Oe=()=>{};process.env.NODE_ENV!=="production"&&(gt=(e,t,n)=>{!e&&typeof console<"u"&&console.warn(Hn(t,n))},Oe=(e,t,n)=>{if(!e)throw new Error(Hn(t,n))});const _e={},Oi=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function _i(e){return typeof e=="object"&&e!==null}const Hi=e=>/^0[^.\s]+$/u.test(e);function ws(e){let t;return()=>(t===void 0&&(t=e()),t)}const Ae=e=>e,fl=(e,t)=>n=>t(e(n)),Lt=(...e)=>e.reduce(fl),Nt=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s};class Ss{constructor(){this.subscriptions=[]}add(t){return bs(this.subscriptions,t),()=>vs(this.subscriptions,t)}notify(t,n,s){const o=this.subscriptions.length;if(o)if(o===1)this.subscriptions[0](t,n,s);else for(let r=0;r<o;r++){const i=this.subscriptions[r];i&&i(t,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Ve=e=>e*1e3,Pe=e=>e/1e3;function Zi(e,t){return t?e*(1e3/t):0}const ro=new Set;function Cs(e,t,n){e||ro.has(t)||(console.warn(Hn(t,n)),ro.add(t))}const Ui=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,pl=1e-7,gl=12;function xl(e,t,n,s,o){let r,i,l=0;do i=t+(n-t)/2,r=Ui(i,s,o)-e,r>0?n=i:t=i;while(Math.abs(r)>pl&&++l<gl);return i}function Bt(e,t,n,s){if(e===t&&n===s)return Ae;const o=r=>xl(r,0,1,e,n);return r=>r===0||r===1?r:Ui(o(r),t,s)}const zi=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Wi=e=>t=>1-e(1-t),Ki=Bt(.33,1.53,.69,.99),ks=Wi(Ki),Gi=zi(ks),Yi=e=>(e*=2)<1?.5*ks(e):.5*(2-Math.pow(2,-10*(e-1))),js=e=>1-Math.sin(Math.acos(e)),qi=Wi(js),Xi=zi(js),yl=Bt(.42,0,1,1),bl=Bt(0,0,.58,1),Ji=Bt(.42,0,.58,1),vl=e=>Array.isArray(e)&&typeof e[0]!="number",Qi=e=>Array.isArray(e)&&typeof e[0]=="number",ao={linear:Ae,easeIn:yl,easeInOut:Ji,easeOut:bl,circIn:js,circInOut:Xi,circOut:qi,backIn:ks,backInOut:Gi,backOut:Ki,anticipate:Yi},wl=e=>typeof e=="string",lo=e=>{if(Qi(e)){Oe(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,s,o]=e;return Bt(t,n,s,o)}else if(wl(e))return Oe(ao[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),ao[e];return e},zt=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function Sl(e,t){let n=new Set,s=new Set,o=!1,r=!1;const i=new WeakSet;let l={delta:0,timestamp:0,isProcessing:!1};function c(u){i.has(u)&&(d.schedule(u),e()),u(l)}const d={schedule:(u,m=!1,f=!1)=>{const g=f&&o?n:s;return m&&i.add(u),g.has(u)||g.add(u),u},cancel:u=>{s.delete(u),i.delete(u)},process:u=>{if(l=u,o){r=!0;return}o=!0,[n,s]=[s,n],n.forEach(c),n.clear(),o=!1,r&&(r=!1,d.process(u))}};return d}const Cl=40;function er(e,t){let n=!1,s=!0;const o={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,i=zt.reduce((S,w)=>(S[w]=Sl(r),S),{}),{setup:l,read:c,resolveKeyframes:d,preUpdate:u,update:m,preRender:f,render:p,postRender:g}=i,x=()=>{const S=_e.useManualTiming?o.timestamp:performance.now();n=!1,_e.useManualTiming||(o.delta=s?1e3/60:Math.max(Math.min(S-o.timestamp,Cl),1)),o.timestamp=S,o.isProcessing=!0,l.process(o),c.process(o),d.process(o),u.process(o),m.process(o),f.process(o),p.process(o),g.process(o),o.isProcessing=!1,n&&t&&(s=!1,e(x))},v=()=>{n=!0,s=!0,o.isProcessing||e(x)};return{schedule:zt.reduce((S,w)=>{const C=i[w];return S[w]=(A,j=!1,k=!1)=>(n||v(),C.schedule(A,j,k)),S},{}),cancel:S=>{for(let w=0;w<zt.length;w++)i[zt[w]].cancel(S)},state:o,steps:i}}const{schedule:ie,cancel:ze,state:xe,steps:wn}=er(typeof requestAnimationFrame<"u"?requestAnimationFrame:Ae,!0);let Qt;function kl(){Qt=void 0}const Se={now:()=>(Qt===void 0&&Se.set(xe.isProcessing||_e.useManualTiming?xe.timestamp:performance.now()),Qt),set:e=>{Qt=e,queueMicrotask(kl)}},tr=e=>t=>typeof t=="string"&&t.startsWith(e),Es=tr("--"),jl=tr("var(--"),As=e=>jl(e)?El.test(e.split("/*")[0].trim()):!1,El=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,xt={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Pt={...xt,transform:e=>$e(0,1,e)},Wt={...xt,default:1},At=e=>Math.round(e*1e5)/1e5,Ms=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Al(e){return e==null}const Ml=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Ts=(e,t)=>n=>!!(typeof n=="string"&&Ml.test(n)&&n.startsWith(e)||t&&!Al(n)&&Object.prototype.hasOwnProperty.call(n,t)),nr=(e,t,n)=>s=>{if(typeof s!="string")return s;const[o,r,i,l]=s.match(Ms);return{[e]:parseFloat(o),[t]:parseFloat(r),[n]:parseFloat(i),alpha:l!==void 0?parseFloat(l):1}},Tl=e=>$e(0,255,e),Sn={...xt,transform:e=>Math.round(Tl(e))},Xe={test:Ts("rgb","red"),parse:nr("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+Sn.transform(e)+", "+Sn.transform(t)+", "+Sn.transform(n)+", "+At(Pt.transform(s))+")"};function Vl(e){let t="",n="",s="",o="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),o=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),o=e.substring(4,5),t+=t,n+=n,s+=s,o+=o),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:o?parseInt(o,16)/255:1}}const Zn={test:Ts("#"),parse:Vl,transform:Xe.transform},$t=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Ue=$t("deg"),Re=$t("%"),U=$t("px"),Nl=$t("vh"),Pl=$t("vw"),co={...Re,parse:e=>Re.parse(e)/100,transform:e=>Re.transform(e*100)},it={test:Ts("hsl","hue"),parse:nr("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Re.transform(At(t))+", "+Re.transform(At(n))+", "+At(Pt.transform(s))+")"},fe={test:e=>Xe.test(e)||Zn.test(e)||it.test(e),parse:e=>Xe.test(e)?Xe.parse(e):it.test(e)?it.parse(e):Zn.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Xe.transform(e):it.transform(e),getAnimatableNone:e=>{const t=fe.parse(e);return t.alpha=0,fe.transform(t)}},Rl=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Il(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(Ms))==null?void 0:t.length)||0)+(((n=e.match(Rl))==null?void 0:n.length)||0)>0}const sr="number",or="color",Dl="var",Fl="var(",uo="${}",Ll=/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 Rt(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},o=[];let r=0;const l=t.replace(Ll,c=>(fe.test(c)?(s.color.push(r),o.push(or),n.push(fe.parse(c))):c.startsWith(Fl)?(s.var.push(r),o.push(Dl),n.push(c)):(s.number.push(r),o.push(sr),n.push(parseFloat(c))),++r,uo)).split(uo);return{values:n,split:l,indexes:s,types:o}}function ir(e){return Rt(e).values}function rr(e){const{split:t,types:n}=Rt(e),s=t.length;return o=>{let r="";for(let i=0;i<s;i++)if(r+=t[i],o[i]!==void 0){const l=n[i];l===sr?r+=At(o[i]):l===or?r+=fe.transform(o[i]):r+=o[i]}return r}}const Bl=e=>typeof e=="number"?0:fe.test(e)?fe.getAnimatableNone(e):e;function $l(e){const t=ir(e);return rr(e)(t.map(Bl))}const We={test:Il,parse:ir,createTransformer:rr,getAnimatableNone:$l};function Cn(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 Ol({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let o=0,r=0,i=0;if(!t)o=r=i=n;else{const l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;o=Cn(c,l,e+1/3),r=Cn(c,l,e),i=Cn(c,l,e-1/3)}return{red:Math.round(o*255),green:Math.round(r*255),blue:Math.round(i*255),alpha:s}}function rn(e,t){return n=>n>0?t:e}const le=(e,t,n)=>e+(t-e)*n,kn=(e,t,n)=>{const s=e*e,o=n*(t*t-s)+s;return o<0?0:Math.sqrt(o)},_l=[Zn,Xe,it],Hl=e=>_l.find(t=>t.test(e));function ho(e){const t=Hl(e);if(gt(!!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===it&&(n=Ol(n)),n}const mo=(e,t)=>{const n=ho(e),s=ho(t);if(!n||!s)return rn(e,t);const o={...n};return r=>(o.red=kn(n.red,s.red,r),o.green=kn(n.green,s.green,r),o.blue=kn(n.blue,s.blue,r),o.alpha=le(n.alpha,s.alpha,r),Xe.transform(o))},Un=new Set(["none","hidden"]);function Zl(e,t){return Un.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Ul(e,t){return n=>le(e,t,n)}function Vs(e){return typeof e=="number"?Ul:typeof e=="string"?As(e)?rn:fe.test(e)?mo:Kl:Array.isArray(e)?ar:typeof e=="object"?fe.test(e)?mo:zl:rn}function ar(e,t){const n=[...e],s=n.length,o=e.map((r,i)=>Vs(r)(r,t[i]));return r=>{for(let i=0;i<s;i++)n[i]=o[i](r);return n}}function zl(e,t){const n={...e,...t},s={};for(const o in n)e[o]!==void 0&&t[o]!==void 0&&(s[o]=Vs(e[o])(e[o],t[o]));return o=>{for(const r in s)n[r]=s[r](o);return n}}function Wl(e,t){const n=[],s={color:0,var:0,number:0};for(let o=0;o<t.values.length;o++){const r=t.types[o],i=e.indexes[r][s[r]],l=e.values[i]??0;n[o]=l,s[r]++}return n}const Kl=(e,t)=>{const n=We.createTransformer(t),s=Rt(e),o=Rt(t);return s.indexes.var.length===o.indexes.var.length&&s.indexes.color.length===o.indexes.color.length&&s.indexes.number.length>=o.indexes.number.length?Un.has(e)&&!o.values.length||Un.has(t)&&!s.values.length?Zl(e,t):Lt(ar(Wl(s,o),o.values),n):(gt(!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"),rn(e,t))};function lr(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?le(e,t,n):Vs(e)(e,t)}const Gl=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>ie.update(t,n),stop:()=>ze(t),now:()=>xe.isProcessing?xe.timestamp:Se.now()}},cr=(e,t,n=10)=>{let s="";const o=Math.max(Math.round(t/n),2);for(let r=0;r<o;r++)s+=Math.round(e(r/(o-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},an=2e4;function Ns(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<an;)t+=n,s=e.next(t);return t>=an?1/0:t}function Yl(e,t=100,n){const s=n({...e,keyframes:[0,t]}),o=Math.min(Ns(s),an);return{type:"keyframes",ease:r=>s.next(o*r).value/t,duration:Pe(o)}}const ql=5;function dr(e,t,n){const s=Math.max(t-ql,0);return Zi(n-e(s),t-s)}const ae={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},jn=.001;function Xl({duration:e=ae.duration,bounce:t=ae.bounce,velocity:n=ae.velocity,mass:s=ae.mass}){let o,r;gt(e<=Ve(ae.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let i=1-t;i=$e(ae.minDamping,ae.maxDamping,i),e=$e(ae.minDuration,ae.maxDuration,Pe(e)),i<1?(o=d=>{const u=d*i,m=u*e,f=u-n,p=zn(d,i),g=Math.exp(-m);return jn-f/p*g},r=d=>{const m=d*i*e,f=m*n+n,p=Math.pow(i,2)*Math.pow(d,2)*e,g=Math.exp(-m),x=zn(Math.pow(d,2),i);return(-o(d)+jn>0?-1:1)*((f-p)*g)/x}):(o=d=>{const u=Math.exp(-d*e),m=(d-n)*e+1;return-jn+u*m},r=d=>{const u=Math.exp(-d*e),m=(n-d)*(e*e);return u*m});const l=5/e,c=Ql(o,r,l);if(e=Ve(e),isNaN(c))return{stiffness:ae.stiffness,damping:ae.damping,duration:e};{const d=Math.pow(c,2)*s;return{stiffness:d,damping:i*2*Math.sqrt(s*d),duration:e}}}const Jl=12;function Ql(e,t,n){let s=n;for(let o=1;o<Jl;o++)s=s-e(s)/t(s);return s}function zn(e,t){return e*Math.sqrt(1-t*t)}const ec=["duration","bounce"],tc=["stiffness","damping","mass"];function fo(e,t){return t.some(n=>e[n]!==void 0)}function nc(e){let t={velocity:ae.velocity,stiffness:ae.stiffness,damping:ae.damping,mass:ae.mass,isResolvedFromDuration:!1,...e};if(!fo(e,tc)&&fo(e,ec))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),o=s*s,r=2*$e(.05,1,1-(e.bounce||0))*Math.sqrt(o);t={...t,mass:ae.mass,stiffness:o,damping:r}}else{const n=Xl(e);t={...t,...n,mass:ae.mass},t.isResolvedFromDuration=!0}return t}function ln(e=ae.visualDuration,t=ae.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:o}=n;const r=n.keyframes[0],i=n.keyframes[n.keyframes.length-1],l={done:!1,value:r},{stiffness:c,damping:d,mass:u,duration:m,velocity:f,isResolvedFromDuration:p}=nc({...n,velocity:-Pe(n.velocity||0)}),g=f||0,x=d/(2*Math.sqrt(c*u)),v=i-r,E=Pe(Math.sqrt(c/u)),b=Math.abs(v)<5;s||(s=b?ae.restSpeed.granular:ae.restSpeed.default),o||(o=b?ae.restDelta.granular:ae.restDelta.default);let S;if(x<1){const C=zn(E,x);S=A=>{const j=Math.exp(-x*E*A);return i-j*((g+x*E*v)/C*Math.sin(C*A)+v*Math.cos(C*A))}}else if(x===1)S=C=>i-Math.exp(-E*C)*(v+(g+E*v)*C);else{const C=E*Math.sqrt(x*x-1);S=A=>{const j=Math.exp(-x*E*A),k=Math.min(C*A,300);return i-j*((g+x*E*v)*Math.sinh(k)+C*v*Math.cosh(k))/C}}const w={calculatedDuration:p&&m||null,next:C=>{const A=S(C);if(p)l.done=C>=m;else{let j=C===0?g:0;x<1&&(j=C===0?Ve(g):dr(S,C,A));const k=Math.abs(j)<=s,D=Math.abs(i-A)<=o;l.done=k&&D}return l.value=l.done?i:A,l},toString:()=>{const C=Math.min(Ns(w),an),A=cr(j=>w.next(C*j).value,C,30);return C+"ms "+A},toTransition:()=>{}};return w}ln.applyToOptions=e=>{const t=Yl(e,100,ln);return e.ease=t.ease,e.duration=Ve(t.duration),e.type="keyframes",e};function Wn({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:o=10,bounceStiffness:r=500,modifyTarget:i,min:l,max:c,restDelta:d=.5,restSpeed:u}){const m=e[0],f={done:!1,value:m},p=k=>l!==void 0&&k<l||c!==void 0&&k>c,g=k=>l===void 0?c:c===void 0||Math.abs(l-k)<Math.abs(c-k)?l:c;let x=n*t;const v=m+x,E=i===void 0?v:i(v);E!==v&&(x=E-m);const b=k=>-x*Math.exp(-k/s),S=k=>E+b(k),w=k=>{const D=b(k),L=S(k);f.done=Math.abs(D)<=d,f.value=f.done?E:L};let C,A;const j=k=>{p(f.value)&&(C=k,A=ln({keyframes:[f.value,g(f.value)],velocity:dr(S,k,f.value),damping:o,stiffness:r,restDelta:d,restSpeed:u}))};return j(0),{calculatedDuration:null,next:k=>{let D=!1;return!A&&C===void 0&&(D=!0,w(k),j(k)),C!==void 0&&k>=C?A.next(k-C):(!D&&w(k),f)}}}function sc(e,t,n){const s=[],o=n||_e.mix||lr,r=e.length-1;for(let i=0;i<r;i++){let l=o(e[i],e[i+1]);if(t){const c=Array.isArray(t)?t[i]||Ae:t;l=Lt(c,l)}s.push(l)}return s}function oc(e,t,{clamp:n=!0,ease:s,mixer:o}={}){const r=e.length;if(Oe(r===t.length,"Both input and output ranges must be the same length","range-length"),r===1)return()=>t[0];if(r===2&&t[0]===t[1])return()=>t[1];const i=e[0]===e[1];e[0]>e[r-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=sc(t,s,o),c=l.length,d=u=>{if(i&&u<e[0])return t[0];let m=0;if(c>1)for(;m<e.length-2&&!(u<e[m+1]);m++);const f=Nt(e[m],e[m+1],u);return l[m](f)};return n?u=>d($e(e[0],e[r-1],u)):d}function ic(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const o=Nt(0,t,s);e.push(le(n,1,o))}}function rc(e){const t=[0];return ic(t,e.length-1),t}function ac(e,t){return e.map(n=>n*t)}function lc(e,t){return e.map(()=>t||Ji).splice(0,e.length-1)}function rt({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const o=vl(s)?s.map(lo):lo(s),r={done:!1,value:t[0]},i=ac(n&&n.length===t.length?n:rc(t),e),l=oc(i,t,{ease:Array.isArray(o)?o:lc(t,o)});return{calculatedDuration:e,next:c=>(r.value=l(c),r.done=c>=e,r)}}const cc=e=>e!==null;function Ps(e,{repeat:t,repeatType:n="loop"},s,o=1){const r=e.filter(cc),l=o<0||t&&n!=="loop"&&t%2===1?0:r.length-1;return!l||s===void 0?r[l]:s}const dc={decay:Wn,inertia:Wn,tween:rt,keyframes:rt,spring:ln};function ur(e){typeof e.type=="string"&&(e.type=dc[e.type])}class Rs{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 uc=e=>e/100;class Is extends Rs{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{var s,o;const{motionValue:n}=this.options;n&&n.updatedAt!==Se.now()&&this.tick(Se.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(o=(s=this.options).onStop)==null||o.call(s))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;ur(t);const{type:n=rt,repeat:s=0,repeatDelay:o=0,repeatType:r,velocity:i=0}=t;let{keyframes:l}=t;const c=n||rt;process.env.NODE_ENV!=="production"&&c!==rt&&Oe(l.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${l}`,"spring-two-frames"),c!==rt&&typeof l[0]!="number"&&(this.mixKeyframes=Lt(uc,lr(l[0],l[1])),l=[0,100]);const d=c({...t,keyframes:l});r==="mirror"&&(this.mirroredGenerator=c({...t,keyframes:[...l].reverse(),velocity:-i})),d.calculatedDuration===null&&(d.calculatedDuration=Ns(d));const{calculatedDuration:u}=d;this.calculatedDuration=u,this.resolvedDuration=u+o,this.totalDuration=this.resolvedDuration*(s+1)-o,this.generator=d}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:o,mixKeyframes:r,mirroredGenerator:i,resolvedDuration:l,calculatedDuration:c}=this;if(this.startTime===null)return s.next(0);const{delay:d=0,keyframes:u,repeat:m,repeatType:f,repeatDelay:p,type:g,onUpdate:x,finalKeyframe:v}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-o/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const E=this.currentTime-d*(this.playbackSpeed>=0?1:-1),b=this.playbackSpeed>=0?E<0:E>o;this.currentTime=Math.max(E,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=o);let S=this.currentTime,w=s;if(m){const k=Math.min(this.currentTime,o)/l;let D=Math.floor(k),L=k%1;!L&&k>=1&&(L=1),L===1&&D--,D=Math.min(D,m+1),!!(D%2)&&(f==="reverse"?(L=1-L,p&&(L-=p/l)):f==="mirror"&&(w=i)),S=$e(0,1,L)*l}const C=b?{done:!1,value:u[0]}:w.next(S);r&&(C.value=r(C.value));let{done:A}=C;!b&&c!==null&&(A=this.playbackSpeed>=0?this.currentTime>=o:this.currentTime<=0);const j=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&A);return j&&g!==Wn&&(C.value=Ps(u,this.options,v,this.speed)),x&&x(C.value),j&&this.finish(),C}then(t,n){return this.finished.then(t,n)}get duration(){return Pe(this.calculatedDuration)}get time(){return Pe(this.currentTime)}set time(t){var n;t=Ve(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),(n=this.driver)==null||n.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(Se.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Pe(this.currentTime))}play(){var o,r;if(this.isStopped)return;const{driver:t=Gl,startTime:n}=this.options;this.driver||(this.driver=t(i=>this.tick(i))),(r=(o=this.options).onPlay)==null||r.call(o);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(Se.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,n;this.notifyFinished(),this.teardown(),this.state="finished",(n=(t=this.options).onComplete)==null||n.call(t)}cancel(){var t,n;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(n=(t=this.options).onCancel)==null||n.call(t)}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){var n;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(n=this.driver)==null||n.stop(),t.observe(this)}}function hc(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const Je=e=>e*180/Math.PI,Kn=e=>{const t=Je(Math.atan2(e[1],e[0]));return Gn(t)},mc={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Kn,rotateZ:Kn,skewX:e=>Je(Math.atan(e[1])),skewY:e=>Je(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Gn=e=>(e=e%360,e<0&&(e+=360),e),po=Kn,go=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),xo=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),fc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:go,scaleY:xo,scale:e=>(go(e)+xo(e))/2,rotateX:e=>Gn(Je(Math.atan2(e[6],e[5]))),rotateY:e=>Gn(Je(Math.atan2(-e[2],e[0]))),rotateZ:po,rotate:po,skewX:e=>Je(Math.atan(e[4])),skewY:e=>Je(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Yn(e){return e.includes("scale")?1:0}function qn(e,t){if(!e||e==="none")return Yn(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,o;if(n)s=fc,o=n;else{const l=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=mc,o=l}if(!o)return Yn(t);const r=s[t],i=o[1].split(",").map(gc);return typeof r=="function"?r(i):i[r]}const pc=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return qn(n,t)};function gc(e){return parseFloat(e.trim())}const yt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],bt=new Set(yt),yo=e=>e===xt||e===U,xc=new Set(["x","y","z"]),yc=yt.filter(e=>!xc.has(e));function bc(e){const t=[];return yc.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const Qe={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})=>qn(t,"x"),y:(e,{transform:t})=>qn(t,"y")};Qe.translateX=Qe.x;Qe.translateY=Qe.y;const et=new Set;let Xn=!1,Jn=!1,Qn=!1;function hr(){if(Jn){const e=Array.from(et).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const o=bc(s);o.length&&(n.set(s,o),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const o=n.get(s);o&&o.forEach(([r,i])=>{var l;(l=s.getValue(r))==null||l.set(i)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Jn=!1,Xn=!1,et.forEach(e=>e.complete(Qn)),et.clear()}function mr(){et.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Jn=!0)})}function vc(){Qn=!0,mr(),hr(),Qn=!1}class Ds{constructor(t,n,s,o,r,i=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=o,this.element=r,this.isAsync=i}scheduleResolve(){this.state="scheduled",this.isAsync?(et.add(this),Xn||(Xn=!0,ie.read(mr),ie.resolveKeyframes(hr))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:o}=this;if(t[0]===null){const r=o==null?void 0:o.get(),i=t[t.length-1];if(r!==void 0)t[0]=r;else if(s&&n){const l=s.readValue(n,i);l!=null&&(t[0]=l)}t[0]===void 0&&(t[0]=i),o&&r===void 0&&o.set(t[0])}hc(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),et.delete(this)}cancel(){this.state==="scheduled"&&(et.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const wc=e=>e.startsWith("--");function Sc(e,t,n){wc(t)?e.style.setProperty(t,n):e.style[t]=n}const Cc=ws(()=>window.ScrollTimeline!==void 0),kc={};function jc(e,t){const n=ws(e);return()=>kc[t]??n()}const fr=jc(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Et=([e,t,n,s])=>`cubic-bezier(${e}, ${t}, ${n}, ${s})`,bo={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Et([0,.65,.55,1]),circOut:Et([.55,0,1,.45]),backIn:Et([.31,.01,.66,-.59]),backOut:Et([.33,1.53,.69,.99])};function pr(e,t){if(e)return typeof e=="function"?fr()?cr(e,t):"ease-out":Qi(e)?Et(e):Array.isArray(e)?e.map(n=>pr(n,t)||bo.easeOut):bo[e]}function Ec(e,t,n,{delay:s=0,duration:o=300,repeat:r=0,repeatType:i="loop",ease:l="easeOut",times:c}={},d=void 0){const u={[t]:n};c&&(u.offset=c);const m=pr(l,o);Array.isArray(m)&&(u.easing=m);const f={delay:s,duration:o,easing:Array.isArray(m)?"linear":m,fill:"both",iterations:r+1,direction:i==="reverse"?"alternate":"normal"};return d&&(f.pseudoElement=d),e.animate(u,f)}function gr(e){return typeof e=="function"&&"applyToOptions"in e}function Ac({type:e,...t}){return gr(e)&&fr()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class Mc extends Rs{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:s,keyframes:o,pseudoElement:r,allowFlatten:i=!1,finalKeyframe:l,onComplete:c}=t;this.isPseudoElement=!!r,this.allowFlatten=i,this.options=t,Oe(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const d=Ac(t);this.animation=Ec(n,s,o,d,r),d.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const u=Ps(o,this.options,l,this.speed);this.updateMotionValue?this.updateMotionValue(u):Sc(n,s,u),this.animation.cancel()}c==null||c(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,n;(n=(t=this.animation).finish)==null||n.call(t)}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(){var t,n;this.isPseudoElement||(n=(t=this.animation).commitStyles)==null||n.call(t)}get duration(){var n,s;const t=((s=(n=this.animation.effect)==null?void 0:n.getComputedTiming)==null?void 0:s.call(n).duration)||0;return Pe(Number(t))}get time(){return Pe(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=Ve(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}){var s;return this.allowFlatten&&((s=this.animation.effect)==null||s.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&Cc()?(this.animation.timeline=t,Ae):n(this)}}const xr={anticipate:Yi,backInOut:Gi,circInOut:Xi};function Tc(e){return e in xr}function Vc(e){typeof e.ease=="string"&&Tc(e.ease)&&(e.ease=xr[e.ease])}const vo=10;class Nc extends Mc{constructor(t){Vc(t),ur(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:s,onComplete:o,element:r,...i}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const l=new Is({...i,autoplay:!1}),c=Ve(this.finishedTime??this.time);n.setWithVelocity(l.sample(c-vo).value,l.sample(c).value,vo),l.stop()}}const wo=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(We.test(e)||e==="0")&&!e.startsWith("url("));function Pc(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 Rc(e,t,n,s){const o=e[0];if(o===null)return!1;if(t==="display"||t==="visibility")return!0;const r=e[e.length-1],i=wo(o,t),l=wo(r,t);return gt(i===l,`You are trying to animate ${t} from "${o}" to "${r}". "${i?r:o}" is not an animatable value.`,"value-not-animatable"),!i||!l?!1:Pc(e)||(n==="spring"||gr(n))&&s}function es(e){e.duration=0,e.type}const Ic=new Set(["opacity","clipPath","filter","transform"]),Dc=ws(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function Fc(e){var u;const{motionValue:t,name:n,repeatDelay:s,repeatType:o,damping:r,type:i}=e;if(!(((u=t==null?void 0:t.owner)==null?void 0:u.current)instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:d}=t.owner.getProps();return Dc()&&n&&Ic.has(n)&&(n!=="transform"||!d)&&!c&&!s&&o!=="mirror"&&r!==0&&i!=="inertia"}const Lc=40;class Bc extends Rs{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:o=0,repeatDelay:r=0,repeatType:i="loop",keyframes:l,name:c,motionValue:d,element:u,...m}){var g;super(),this.stop=()=>{var x,v;this._animation&&(this._animation.stop(),(x=this.stopTimeline)==null||x.call(this)),(v=this.keyframeResolver)==null||v.cancel()},this.createdAt=Se.now();const f={autoplay:t,delay:n,type:s,repeat:o,repeatDelay:r,repeatType:i,name:c,motionValue:d,element:u,...m},p=(u==null?void 0:u.KeyframeResolver)||Ds;this.keyframeResolver=new p(l,(x,v,E)=>this.onKeyframesResolved(x,v,f,!E),c,d,u),(g=this.keyframeResolver)==null||g.scheduleResolve()}onKeyframesResolved(t,n,s,o){this.keyframeResolver=void 0;const{name:r,type:i,velocity:l,delay:c,isHandoff:d,onUpdate:u}=s;this.resolvedAt=Se.now(),Rc(t,r,i,l)||((_e.instantAnimations||!c)&&(u==null||u(Ps(t,s,n))),t[0]=t[t.length-1],es(s),s.repeat=0);const f={startTime:o?this.resolvedAt?this.resolvedAt-this.createdAt>Lc?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:t},p=!d&&Fc(f)?new Nc({...f,element:f.motionValue.owner.current}):new Is(f);p.finished.then(()=>this.notifyFinished()).catch(Ae),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(){var t;return this._animation||((t=this.keyframeResolver)==null||t.resume(),vc()),this._animation}get duration(){return this.animation.duration}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(){var t;this._animation&&this.animation.cancel(),(t=this.keyframeResolver)==null||t.cancel()}}const $c=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Oc(e){const t=$c.exec(e);if(!t)return[,];const[,n,s,o]=t;return[`--${n??s}`,o]}const _c=4;function yr(e,t,n=1){Oe(n<=_c,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,o]=Oc(e);if(!s)return;const r=window.getComputedStyle(t).getPropertyValue(s);if(r){const i=r.trim();return Oi(i)?parseFloat(i):i}return As(o)?yr(o,t,n+1):o}function Fs(e,t){return(e==null?void 0:e[t])??(e==null?void 0:e.default)??e}const br=new Set(["width","height","top","left","right","bottom",...yt]),Hc={test:e=>e==="auto",parse:e=>e},vr=e=>t=>t.test(e),wr=[xt,U,Re,Ue,Pl,Nl,Hc],So=e=>wr.find(vr(e));function Zc(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||Hi(e):!0}const Uc=new Set(["brightness","contrast","saturate","opacity"]);function zc(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(Ms)||[];if(!s)return e;const o=n.replace(s,"");let r=Uc.has(t)?1:0;return s!==n&&(r*=100),t+"("+r+o+")"}const Wc=/\b([a-z-]*)\(.*?\)/gu,ts={...We,getAnimatableNone:e=>{const t=e.match(Wc);return t?t.map(zc).join(" "):e}},Co={...xt,transform:Math.round},Kc={rotate:Ue,rotateX:Ue,rotateY:Ue,rotateZ:Ue,scale:Wt,scaleX:Wt,scaleY:Wt,scaleZ:Wt,skew:Ue,skewX:Ue,skewY:Ue,distance:U,translateX:U,translateY:U,translateZ:U,x:U,y:U,z:U,perspective:U,transformPerspective:U,opacity:Pt,originX:co,originY:co,originZ:U},Ls={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,...Kc,zIndex:Co,fillOpacity:Pt,strokeOpacity:Pt,numOctaves:Co},Gc={...Ls,color:fe,backgroundColor:fe,outlineColor:fe,fill:fe,stroke:fe,borderColor:fe,borderTopColor:fe,borderRightColor:fe,borderBottomColor:fe,borderLeftColor:fe,filter:ts,WebkitFilter:ts},Sr=e=>Gc[e];function Cr(e,t){let n=Sr(e);return n!==ts&&(n=We),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Yc=new Set(["auto","none","0"]);function qc(e,t,n){let s=0,o;for(;s<e.length&&!o;){const r=e[s];typeof r=="string"&&!Yc.has(r)&&Rt(r).values.length&&(o=e[s]),s++}if(o&&n)for(const r of t)e[r]=Cr(n,o)}class Xc extends Ds{constructor(t,n,s,o,r){super(t,n,s,o,r,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let c=0;c<t.length;c++){let d=t[c];if(typeof d=="string"&&(d=d.trim(),As(d))){const u=yr(d,n.current);u!==void 0&&(t[c]=u),c===t.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!br.has(s)||t.length!==2)return;const[o,r]=t,i=So(o),l=So(r);if(i!==l)if(yo(i)&&yo(l))for(let c=0;c<t.length;c++){const d=t[c];typeof d=="string"&&(t[c]=parseFloat(d))}else Qe[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,s=[];for(let o=0;o<t.length;o++)(t[o]===null||Zc(t[o]))&&s.push(o);s.length&&qc(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=Qe[s](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const o=n[n.length-1];o!==void 0&&t.getValue(s,o).jump(o,!1)}measureEndState(){var l;const{element:t,name:n,unresolvedKeyframes:s}=this;if(!t||!t.current)return;const o=t.getValue(n);o&&o.jump(this.measuredOrigin,!1);const r=s.length-1,i=s[r];s[r]=Qe[n](t.measureViewportBox(),window.getComputedStyle(t.current)),i!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=i),(l=this.removedTransforms)!=null&&l.length&&this.removedTransforms.forEach(([c,d])=>{t.getValue(c).set(d)}),this.resolveNoneKeyframes()}}function Jc(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const o=(n==null?void 0:n[e])??s.querySelectorAll(e);return o?Array.from(o):[]}return Array.from(e)}const kr=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function jr(e){return _i(e)&&"offsetHeight"in e}const ko=30,Qc=e=>!isNaN(parseFloat(e));class ed{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{var r;const o=Se.now();if(this.updatedAt!==o&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&((r=this.events.change)==null||r.notify(this.current),this.dependents))for(const i of this.dependents)i.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=Se.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Qc(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return process.env.NODE_ENV!=="production"&&Cs(!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 Ss);const s=this.events[t].add(n);return t==="change"?()=>{s(),ie.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(){var t;(t=this.events.change)==null||t.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=Se.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>ko)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,ko);return Zi(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(){var t,n;(t=this.dependents)==null||t.clear(),(n=this.events.destroy)==null||n.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function mt(e,t){return new ed(e,t)}const{schedule:Bs}=er(queueMicrotask,!1),Te={x:!1,y:!1};function Er(){return Te.x||Te.y}function td(e){return e==="x"||e==="y"?Te[e]?null:(Te[e]=!0,()=>{Te[e]=!1}):Te.x||Te.y?null:(Te.x=Te.y=!0,()=>{Te.x=Te.y=!1})}function Ar(e,t){const n=Jc(e),s=new AbortController,o={passive:!0,...t,signal:s.signal};return[n,o,()=>s.abort()]}function jo(e){return!(e.pointerType==="touch"||Er())}function nd(e,t,n={}){const[s,o,r]=Ar(e,n),i=l=>{if(!jo(l))return;const{target:c}=l,d=t(c,l);if(typeof d!="function"||!c)return;const u=m=>{jo(m)&&(d(m),c.removeEventListener("pointerleave",u))};c.addEventListener("pointerleave",u,o)};return s.forEach(l=>{l.addEventListener("pointerenter",i,o)}),r}const Mr=(e,t)=>t?e===t?!0:Mr(e,t.parentElement):!1,$s=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,sd=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function od(e){return sd.has(e.tagName)||e.tabIndex!==-1}const en=new WeakSet;function Eo(e){return t=>{t.key==="Enter"&&e(t)}}function En(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const id=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=Eo(()=>{if(en.has(n))return;En(n,"down");const o=Eo(()=>{En(n,"up")}),r=()=>En(n,"cancel");n.addEventListener("keyup",o,t),n.addEventListener("blur",r,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function Ao(e){return $s(e)&&!Er()}function rd(e,t,n={}){const[s,o,r]=Ar(e,n),i=l=>{const c=l.currentTarget;if(!Ao(l))return;en.add(c);const d=t(c,l),u=(p,g)=>{window.removeEventListener("pointerup",m),window.removeEventListener("pointercancel",f),en.has(c)&&en.delete(c),Ao(p)&&typeof d=="function"&&d(p,{success:g})},m=p=>{u(p,c===window||c===document||n.useGlobalTarget||Mr(c,p.target))},f=p=>{u(p,!1)};window.addEventListener("pointerup",m,o),window.addEventListener("pointercancel",f,o)};return s.forEach(l=>{(n.useGlobalTarget?window:l).addEventListener("pointerdown",i,o),jr(l)&&(l.addEventListener("focus",d=>id(d,o)),!od(l)&&!l.hasAttribute("tabindex")&&(l.tabIndex=0))}),r}function Tr(e){return _i(e)&&"ownerSVGElement"in e}function ad(e){return Tr(e)&&e.tagName==="svg"}const be=e=>!!(e&&e.getVelocity),ld=[...wr,fe,We],cd=e=>ld.find(vr(e)),Os=y.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class dd extends h.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=n.offsetParent,o=jr(s)&&s.offsetWidth||0,r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft,r.right=o-r.width-r.left}return null}componentDidUpdate(){}render(){return this.props.children}}function ud({children:e,isPresent:t,anchorX:n,root:s}){const o=y.useId(),r=y.useRef(null),i=y.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:l}=y.useContext(Os);return y.useInsertionEffect(()=>{const{width:c,height:d,top:u,left:m,right:f}=i.current;if(t||!r.current||!c||!d)return;const p=n==="left"?`left: ${m}`:`right: ${f}`;r.current.dataset.motionPopId=o;const g=document.createElement("style");l&&(g.nonce=l);const x=s??document.head;return x.appendChild(g),g.sheet&&g.sheet.insertRule(`
|
|
2
|
-
[data-motion-pop-id="${
|
|
1
|
+
"use strict";var Ld=Object.defineProperty;var _d=(e,t,n)=>t in e?Ld(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Se=(e,t,n)=>_d(e,typeof t!="symbol"?t+"":t,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const C=require("react"),l=require("react/jsx-runtime"),Z=require("livekit-client"),Ne=require("@livekit/components-react"),Ka=require("sonner"),Bd=require("@phosphor-icons/react"),ls=require("class-variance-authority"),$r=require("clsx"),zd=require("@radix-ui/react-toggle"),Hd=require("@radix-ui/react-select"),Ee=require("lucide-react"),Ud=require("@emotion/styled");require("@emotion/react");const Zd=require("react-dom/client");function Fr(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 p=Fr(C),Wd=Fr(zd),ze=Fr(Hd),Or=C.createContext({});function Lr(e){const t=C.useRef(null);return t.current===null&&(t.current=e()),t.current}const _r=typeof window<"u",Ya=_r?C.useLayoutEffect:C.useEffect,ds=C.createContext(null);function Br(e,t){e.indexOf(t)===-1&&e.push(t)}function zr(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const rt=(e,t,n)=>n>t?t:n<e?e:n;function ir(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}let qt=()=>{},ot=()=>{};process.env.NODE_ENV!=="production"&&(qt=(e,t,n)=>{!e&&typeof console<"u"&&console.warn(ir(t,n))},ot=(e,t,n)=>{if(!e)throw new Error(ir(t,n))});const it={},qa=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Xa(e){return typeof e=="object"&&e!==null}const Ja=e=>/^0[^.\s]+$/u.test(e);function Hr(e){let t;return()=>(t===void 0&&(t=e()),t)}const He=e=>e,Gd=(e,t)=>n=>t(e(n)),Tn=(...e)=>e.reduce(Gd),xn=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s};class Ur{constructor(){this.subscriptions=[]}add(t){return Br(this.subscriptions,t),()=>zr(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 Ge=e=>e*1e3,Xe=e=>e/1e3;function Qa(e,t){return t?e*(1e3/t):0}const Oo=new Set;function Zr(e,t,n){e||Oo.has(t)||(console.warn(ir(t,n)),Oo.add(t))}const ec=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Kd=1e-7,Yd=12;function qd(e,t,n,s,r){let o,i,a=0;do i=t+(n-t)/2,o=ec(i,s,r)-e,o>0?n=i:t=i;while(Math.abs(o)>Kd&&++a<Yd);return i}function En(e,t,n,s){if(e===t&&n===s)return He;const r=o=>qd(o,0,1,e,n);return o=>o===0||o===1?o:ec(r(o),t,s)}const tc=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,nc=e=>t=>1-e(1-t),sc=En(.33,1.53,.69,.99),Wr=nc(sc),rc=tc(Wr),oc=e=>(e*=2)<1?.5*Wr(e):.5*(2-Math.pow(2,-10*(e-1))),Gr=e=>1-Math.sin(Math.acos(e)),ic=nc(Gr),ac=tc(Gr),Xd=En(.42,0,1,1),Jd=En(0,0,.58,1),cc=En(.42,0,.58,1),Qd=e=>Array.isArray(e)&&typeof e[0]!="number",lc=e=>Array.isArray(e)&&typeof e[0]=="number",Lo={linear:He,easeIn:Xd,easeInOut:cc,easeOut:Jd,circIn:Gr,circInOut:ac,circOut:ic,backIn:Wr,backInOut:rc,backOut:sc,anticipate:oc},eu=e=>typeof e=="string",_o=e=>{if(lc(e)){ot(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,s,r]=e;return En(t,n,s,r)}else if(eu(e))return ot(Lo[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),Lo[e];return e},Dn=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function tu(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 c(u){i.has(u)&&(d.schedule(u),e()),u(a)}const d={schedule:(u,f=!1,h=!1)=>{const x=h&&r?n:s;return f&&i.add(u),x.has(u)||x.add(u),u},cancel:u=>{s.delete(u),i.delete(u)},process:u=>{if(a=u,r){o=!0;return}r=!0,[n,s]=[s,n],n.forEach(c),n.clear(),r=!1,o&&(o=!1,d.process(u))}};return d}const nu=40;function dc(e,t){let n=!1,s=!0;const r={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,i=Dn.reduce((T,w)=>(T[w]=tu(o),T),{}),{setup:a,read:c,resolveKeyframes:d,preUpdate:u,update:f,preRender:h,render:g,postRender:x}=i,m=()=>{const T=it.useManualTiming?r.timestamp:performance.now();n=!1,it.useManualTiming||(r.delta=s?1e3/60:Math.max(Math.min(T-r.timestamp,nu),1)),r.timestamp=T,r.isProcessing=!0,a.process(r),c.process(r),d.process(r),u.process(r),f.process(r),h.process(r),g.process(r),x.process(r),r.isProcessing=!1,n&&t&&(s=!1,e(m))},b=()=>{n=!0,s=!0,r.isProcessing||e(m)};return{schedule:Dn.reduce((T,w)=>{const S=i[w];return T[w]=(A,M=!1,j=!1)=>(n||b(),S.schedule(A,M,j)),T},{}),cancel:T=>{for(let w=0;w<Dn.length;w++)i[Dn[w]].cancel(T)},state:r,steps:i}}const{schedule:ye,cancel:ut,state:Pe,steps:Ps}=dc(typeof requestAnimationFrame<"u"?requestAnimationFrame:He,!0);let Gn;function su(){Gn=void 0}const $e={now:()=>(Gn===void 0&&$e.set(Pe.isProcessing||it.useManualTiming?Pe.timestamp:performance.now()),Gn),set:e=>{Gn=e,queueMicrotask(su)}},uc=e=>t=>typeof t=="string"&&t.startsWith(e),Kr=uc("--"),ru=uc("var(--"),Yr=e=>ru(e)?ou.test(e.split("/*")[0].trim()):!1,ou=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Xt={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},bn={...Xt,transform:e=>rt(0,1,e)},$n={...Xt,default:1},fn=e=>Math.round(e*1e5)/1e5,qr=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function iu(e){return e==null}const au=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Xr=(e,t)=>n=>!!(typeof n=="string"&&au.test(n)&&n.startsWith(e)||t&&!iu(n)&&Object.prototype.hasOwnProperty.call(n,t)),fc=(e,t,n)=>s=>{if(typeof s!="string")return s;const[r,o,i,a]=s.match(qr);return{[e]:parseFloat(r),[t]:parseFloat(o),[n]:parseFloat(i),alpha:a!==void 0?parseFloat(a):1}},cu=e=>rt(0,255,e),Vs={...Xt,transform:e=>Math.round(cu(e))},vt={test:Xr("rgb","red"),parse:fc("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+Vs.transform(e)+", "+Vs.transform(t)+", "+Vs.transform(n)+", "+fn(bn.transform(s))+")"};function lu(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 ar={test:Xr("#"),parse:lu,transform:vt.transform},An=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),lt=An("deg"),Je=An("%"),Q=An("px"),du=An("vh"),uu=An("vw"),Bo={...Je,parse:e=>Je.parse(e)/100,transform:e=>Je.transform(e*100)},Ft={test:Xr("hsl","hue"),parse:fc("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Je.transform(fn(t))+", "+Je.transform(fn(n))+", "+fn(bn.transform(s))+")"},je={test:e=>vt.test(e)||ar.test(e)||Ft.test(e),parse:e=>vt.test(e)?vt.parse(e):Ft.test(e)?Ft.parse(e):ar.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?vt.transform(e):Ft.transform(e),getAnimatableNone:e=>{const t=je.parse(e);return t.alpha=0,je.transform(t)}},fu=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function hu(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(qr))==null?void 0:t.length)||0)+(((n=e.match(fu))==null?void 0:n.length)||0)>0}const hc="number",mc="color",mu="var",pu="var(",zo="${}",gu=/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 vn(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},r=[];let o=0;const a=t.replace(gu,c=>(je.test(c)?(s.color.push(o),r.push(mc),n.push(je.parse(c))):c.startsWith(pu)?(s.var.push(o),r.push(mu),n.push(c)):(s.number.push(o),r.push(hc),n.push(parseFloat(c))),++o,zo)).split(zo);return{values:n,split:a,indexes:s,types:r}}function pc(e){return vn(e).values}function gc(e){const{split:t,types:n}=vn(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===hc?o+=fn(r[i]):a===mc?o+=je.transform(r[i]):o+=r[i]}return o}}const yu=e=>typeof e=="number"?0:je.test(e)?je.getAnimatableNone(e):e;function xu(e){const t=pc(e);return gc(e)(t.map(yu))}const ft={test:hu,parse:pc,createTransformer:gc,getAnimatableNone:xu};function Ns(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 bu({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,c=2*n-a;r=Ns(c,a,e+1/3),o=Ns(c,a,e),i=Ns(c,a,e-1/3)}return{red:Math.round(r*255),green:Math.round(o*255),blue:Math.round(i*255),alpha:s}}function es(e,t){return n=>n>0?t:e}const ve=(e,t,n)=>e+(t-e)*n,Rs=(e,t,n)=>{const s=e*e,r=n*(t*t-s)+s;return r<0?0:Math.sqrt(r)},vu=[ar,vt,Ft],wu=e=>vu.find(t=>t.test(e));function Ho(e){const t=wu(e);if(qt(!!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===Ft&&(n=bu(n)),n}const Uo=(e,t)=>{const n=Ho(e),s=Ho(t);if(!n||!s)return es(e,t);const r={...n};return o=>(r.red=Rs(n.red,s.red,o),r.green=Rs(n.green,s.green,o),r.blue=Rs(n.blue,s.blue,o),r.alpha=ve(n.alpha,s.alpha,o),vt.transform(r))},cr=new Set(["none","hidden"]);function Su(e,t){return cr.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Cu(e,t){return n=>ve(e,t,n)}function Jr(e){return typeof e=="number"?Cu:typeof e=="string"?Yr(e)?es:je.test(e)?Uo:Eu:Array.isArray(e)?yc:typeof e=="object"?je.test(e)?Uo:ku:es}function yc(e,t){const n=[...e],s=n.length,r=e.map((o,i)=>Jr(o)(o,t[i]));return o=>{for(let i=0;i<s;i++)n[i]=r[i](o);return n}}function ku(e,t){const n={...e,...t},s={};for(const r in n)e[r]!==void 0&&t[r]!==void 0&&(s[r]=Jr(e[r])(e[r],t[r]));return r=>{for(const o in s)n[o]=s[o](r);return n}}function Tu(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 Eu=(e,t)=>{const n=ft.createTransformer(t),s=vn(e),r=vn(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?cr.has(e)&&!r.values.length||cr.has(t)&&!s.values.length?Su(e,t):Tn(yc(Tu(s,r),r.values),n):(qt(!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"),es(e,t))};function xc(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?ve(e,t,n):Jr(e)(e,t)}const Au=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>ye.update(t,n),stop:()=>ut(t),now:()=>Pe.isProcessing?Pe.timestamp:$e.now()}},bc=(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)})`},ts=2e4;function Qr(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<ts;)t+=n,s=e.next(t);return t>=ts?1/0:t}function ju(e,t=100,n){const s=n({...e,keyframes:[0,t]}),r=Math.min(Qr(s),ts);return{type:"keyframes",ease:o=>s.next(r*o).value/t,duration:Xe(r)}}const Mu=5;function vc(e,t,n){const s=Math.max(t-Mu,0);return Qa(n-e(s),t-s)}const be={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},Is=.001;function Pu({duration:e=be.duration,bounce:t=be.bounce,velocity:n=be.velocity,mass:s=be.mass}){let r,o;qt(e<=Ge(be.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let i=1-t;i=rt(be.minDamping,be.maxDamping,i),e=rt(be.minDuration,be.maxDuration,Xe(e)),i<1?(r=d=>{const u=d*i,f=u*e,h=u-n,g=lr(d,i),x=Math.exp(-f);return Is-h/g*x},o=d=>{const f=d*i*e,h=f*n+n,g=Math.pow(i,2)*Math.pow(d,2)*e,x=Math.exp(-f),m=lr(Math.pow(d,2),i);return(-r(d)+Is>0?-1:1)*((h-g)*x)/m}):(r=d=>{const u=Math.exp(-d*e),f=(d-n)*e+1;return-Is+u*f},o=d=>{const u=Math.exp(-d*e),f=(n-d)*(e*e);return u*f});const a=5/e,c=Nu(r,o,a);if(e=Ge(e),isNaN(c))return{stiffness:be.stiffness,damping:be.damping,duration:e};{const d=Math.pow(c,2)*s;return{stiffness:d,damping:i*2*Math.sqrt(s*d),duration:e}}}const Vu=12;function Nu(e,t,n){let s=n;for(let r=1;r<Vu;r++)s=s-e(s)/t(s);return s}function lr(e,t){return e*Math.sqrt(1-t*t)}const Ru=["duration","bounce"],Iu=["stiffness","damping","mass"];function Zo(e,t){return t.some(n=>e[n]!==void 0)}function Du(e){let t={velocity:be.velocity,stiffness:be.stiffness,damping:be.damping,mass:be.mass,isResolvedFromDuration:!1,...e};if(!Zo(e,Iu)&&Zo(e,Ru))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),r=s*s,o=2*rt(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:be.mass,stiffness:r,damping:o}}else{const n=Pu(e);t={...t,...n,mass:be.mass},t.isResolvedFromDuration=!0}return t}function ns(e=be.visualDuration,t=be.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:c,damping:d,mass:u,duration:f,velocity:h,isResolvedFromDuration:g}=Du({...n,velocity:-Xe(n.velocity||0)}),x=h||0,m=d/(2*Math.sqrt(c*u)),b=i-o,k=Xe(Math.sqrt(c/u)),v=Math.abs(b)<5;s||(s=v?be.restSpeed.granular:be.restSpeed.default),r||(r=v?be.restDelta.granular:be.restDelta.default);let T;if(m<1){const S=lr(k,m);T=A=>{const M=Math.exp(-m*k*A);return i-M*((x+m*k*b)/S*Math.sin(S*A)+b*Math.cos(S*A))}}else if(m===1)T=S=>i-Math.exp(-k*S)*(b+(x+k*b)*S);else{const S=k*Math.sqrt(m*m-1);T=A=>{const M=Math.exp(-m*k*A),j=Math.min(S*A,300);return i-M*((x+m*k*b)*Math.sinh(j)+S*b*Math.cosh(j))/S}}const w={calculatedDuration:g&&f||null,next:S=>{const A=T(S);if(g)a.done=S>=f;else{let M=S===0?x:0;m<1&&(M=S===0?Ge(x):vc(T,S,A));const j=Math.abs(M)<=s,z=Math.abs(i-A)<=r;a.done=j&&z}return a.value=a.done?i:A,a},toString:()=>{const S=Math.min(Qr(w),ts),A=bc(M=>w.next(S*M).value,S,30);return S+"ms "+A},toTransition:()=>{}};return w}ns.applyToOptions=e=>{const t=ju(e,100,ns);return e.ease=t.ease,e.duration=Ge(t.duration),e.type="keyframes",e};function dr({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:r=10,bounceStiffness:o=500,modifyTarget:i,min:a,max:c,restDelta:d=.5,restSpeed:u}){const f=e[0],h={done:!1,value:f},g=j=>a!==void 0&&j<a||c!==void 0&&j>c,x=j=>a===void 0?c:c===void 0||Math.abs(a-j)<Math.abs(c-j)?a:c;let m=n*t;const b=f+m,k=i===void 0?b:i(b);k!==b&&(m=k-f);const v=j=>-m*Math.exp(-j/s),T=j=>k+v(j),w=j=>{const z=v(j),y=T(j);h.done=Math.abs(z)<=d,h.value=h.done?k:y};let S,A;const M=j=>{g(h.value)&&(S=j,A=ns({keyframes:[h.value,x(h.value)],velocity:vc(T,j,h.value),damping:r,stiffness:o,restDelta:d,restSpeed:u}))};return M(0),{calculatedDuration:null,next:j=>{let z=!1;return!A&&S===void 0&&(z=!0,w(j),M(j)),S!==void 0&&j>=S?A.next(j-S):(!z&&w(j),h)}}}function $u(e,t,n){const s=[],r=n||it.mix||xc,o=e.length-1;for(let i=0;i<o;i++){let a=r(e[i],e[i+1]);if(t){const c=Array.isArray(t)?t[i]||He:t;a=Tn(c,a)}s.push(a)}return s}function Fu(e,t,{clamp:n=!0,ease:s,mixer:r}={}){const o=e.length;if(ot(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=$u(t,s,r),c=a.length,d=u=>{if(i&&u<e[0])return t[0];let f=0;if(c>1)for(;f<e.length-2&&!(u<e[f+1]);f++);const h=xn(e[f],e[f+1],u);return a[f](h)};return n?u=>d(rt(e[0],e[o-1],u)):d}function Ou(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const r=xn(0,t,s);e.push(ve(n,1,r))}}function Lu(e){const t=[0];return Ou(t,e.length-1),t}function _u(e,t){return e.map(n=>n*t)}function Bu(e,t){return e.map(()=>t||cc).splice(0,e.length-1)}function Ot({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const r=Qd(s)?s.map(_o):_o(s),o={done:!1,value:t[0]},i=_u(n&&n.length===t.length?n:Lu(t),e),a=Fu(i,t,{ease:Array.isArray(r)?r:Bu(t,r)});return{calculatedDuration:e,next:c=>(o.value=a(c),o.done=c>=e,o)}}const zu=e=>e!==null;function eo(e,{repeat:t,repeatType:n="loop"},s,r=1){const o=e.filter(zu),a=r<0||t&&n!=="loop"&&t%2===1?0:o.length-1;return!a||s===void 0?o[a]:s}const Hu={decay:dr,inertia:dr,tween:Ot,keyframes:Ot,spring:ns};function wc(e){typeof e.type=="string"&&(e.type=Hu[e.type])}class to{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 Uu=e=>e/100;class no extends to{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{var s,r;const{motionValue:n}=this.options;n&&n.updatedAt!==$e.now()&&this.tick($e.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(r=(s=this.options).onStop)==null||r.call(s))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;wc(t);const{type:n=Ot,repeat:s=0,repeatDelay:r=0,repeatType:o,velocity:i=0}=t;let{keyframes:a}=t;const c=n||Ot;process.env.NODE_ENV!=="production"&&c!==Ot&&ot(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),c!==Ot&&typeof a[0]!="number"&&(this.mixKeyframes=Tn(Uu,xc(a[0],a[1])),a=[0,100]);const d=c({...t,keyframes:a});o==="mirror"&&(this.mirroredGenerator=c({...t,keyframes:[...a].reverse(),velocity:-i})),d.calculatedDuration===null&&(d.calculatedDuration=Qr(d));const{calculatedDuration:u}=d;this.calculatedDuration=u,this.resolvedDuration=u+r,this.totalDuration=this.resolvedDuration*(s+1)-r,this.generator=d}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:c}=this;if(this.startTime===null)return s.next(0);const{delay:d=0,keyframes:u,repeat:f,repeatType:h,repeatDelay:g,type:x,onUpdate:m,finalKeyframe:b}=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 k=this.currentTime-d*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?k<0:k>r;this.currentTime=Math.max(k,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=r);let T=this.currentTime,w=s;if(f){const j=Math.min(this.currentTime,r)/a;let z=Math.floor(j),y=j%1;!y&&j>=1&&(y=1),y===1&&z--,z=Math.min(z,f+1),!!(z%2)&&(h==="reverse"?(y=1-y,g&&(y-=g/a)):h==="mirror"&&(w=i)),T=rt(0,1,y)*a}const S=v?{done:!1,value:u[0]}:w.next(T);o&&(S.value=o(S.value));let{done:A}=S;!v&&c!==null&&(A=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);const M=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&A);return M&&x!==dr&&(S.value=eo(u,this.options,b,this.speed)),m&&m(S.value),M&&this.finish(),S}then(t,n){return this.finished.then(t,n)}get duration(){return Xe(this.calculatedDuration)}get time(){return Xe(this.currentTime)}set time(t){var n;t=Ge(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),(n=this.driver)==null||n.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime($e.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Xe(this.currentTime))}play(){var r,o;if(this.isStopped)return;const{driver:t=Au,startTime:n}=this.options;this.driver||(this.driver=t(i=>this.tick(i))),(o=(r=this.options).onPlay)==null||o.call(r);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($e.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,n;this.notifyFinished(),this.teardown(),this.state="finished",(n=(t=this.options).onComplete)==null||n.call(t)}cancel(){var t,n;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(n=(t=this.options).onCancel)==null||n.call(t)}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){var n;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(n=this.driver)==null||n.stop(),t.observe(this)}}function Zu(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const wt=e=>e*180/Math.PI,ur=e=>{const t=wt(Math.atan2(e[1],e[0]));return fr(t)},Wu={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:ur,rotateZ:ur,skewX:e=>wt(Math.atan(e[1])),skewY:e=>wt(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},fr=e=>(e=e%360,e<0&&(e+=360),e),Wo=ur,Go=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Ko=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Gu={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Go,scaleY:Ko,scale:e=>(Go(e)+Ko(e))/2,rotateX:e=>fr(wt(Math.atan2(e[6],e[5]))),rotateY:e=>fr(wt(Math.atan2(-e[2],e[0]))),rotateZ:Wo,rotate:Wo,skewX:e=>wt(Math.atan(e[4])),skewY:e=>wt(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function hr(e){return e.includes("scale")?1:0}function mr(e,t){if(!e||e==="none")return hr(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,r;if(n)s=Gu,r=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Wu,r=a}if(!r)return hr(t);const o=s[t],i=r[1].split(",").map(Yu);return typeof o=="function"?o(i):i[o]}const Ku=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return mr(n,t)};function Yu(e){return parseFloat(e.trim())}const Jt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Qt=new Set(Jt),Yo=e=>e===Xt||e===Q,qu=new Set(["x","y","z"]),Xu=Jt.filter(e=>!qu.has(e));function Ju(e){const t=[];return Xu.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const Ct={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})=>mr(t,"x"),y:(e,{transform:t})=>mr(t,"y")};Ct.translateX=Ct.x;Ct.translateY=Ct.y;const kt=new Set;let pr=!1,gr=!1,yr=!1;function Sc(){if(gr){const e=Array.from(kt).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const r=Ju(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])=>{var a;(a=s.getValue(o))==null||a.set(i)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}gr=!1,pr=!1,kt.forEach(e=>e.complete(yr)),kt.clear()}function Cc(){kt.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(gr=!0)})}function Qu(){yr=!0,Cc(),Sc(),yr=!1}class so{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?(kt.add(this),pr||(pr=!0,ye.read(Cc),ye.resolveKeyframes(Sc))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:r}=this;if(t[0]===null){const o=r==null?void 0: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])}Zu(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),kt.delete(this)}cancel(){this.state==="scheduled"&&(kt.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const ef=e=>e.startsWith("--");function tf(e,t,n){ef(t)?e.style.setProperty(t,n):e.style[t]=n}const nf=Hr(()=>window.ScrollTimeline!==void 0),sf={};function rf(e,t){const n=Hr(e);return()=>sf[t]??n()}const kc=rf(()=>{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})`,qo={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 Tc(e,t){if(e)return typeof e=="function"?kc()?bc(e,t):"ease-out":lc(e)?ln(e):Array.isArray(e)?e.map(n=>Tc(n,t)||qo.easeOut):qo[e]}function of(e,t,n,{delay:s=0,duration:r=300,repeat:o=0,repeatType:i="loop",ease:a="easeOut",times:c}={},d=void 0){const u={[t]:n};c&&(u.offset=c);const f=Tc(a,r);Array.isArray(f)&&(u.easing=f);const h={delay:s,duration:r,easing:Array.isArray(f)?"linear":f,fill:"both",iterations:o+1,direction:i==="reverse"?"alternate":"normal"};return d&&(h.pseudoElement=d),e.animate(u,h)}function Ec(e){return typeof e=="function"&&"applyToOptions"in e}function af({type:e,...t}){return Ec(e)&&kc()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class cf extends to{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:c}=t;this.isPseudoElement=!!o,this.allowFlatten=i,this.options=t,ot(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const d=af(t);this.animation=of(n,s,r,d,o),d.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){const u=eo(r,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(u):tf(n,s,u),this.animation.cancel()}c==null||c(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,n;(n=(t=this.animation).finish)==null||n.call(t)}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(){var t,n;this.isPseudoElement||(n=(t=this.animation).commitStyles)==null||n.call(t)}get duration(){var n,s;const t=((s=(n=this.animation.effect)==null?void 0:n.getComputedTiming)==null?void 0:s.call(n).duration)||0;return Xe(Number(t))}get time(){return Xe(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=Ge(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}){var s;return this.allowFlatten&&((s=this.animation.effect)==null||s.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&nf()?(this.animation.timeline=t,He):n(this)}}const Ac={anticipate:oc,backInOut:rc,circInOut:ac};function lf(e){return e in Ac}function df(e){typeof e.ease=="string"&&lf(e.ease)&&(e.ease=Ac[e.ease])}const Xo=10;class uf extends cf{constructor(t){df(t),wc(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 no({...i,autoplay:!1}),c=Ge(this.finishedTime??this.time);n.setWithVelocity(a.sample(c-Xo).value,a.sample(c).value,Xo),a.stop()}}const Jo=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(ft.test(e)||e==="0")&&!e.startsWith("url("));function ff(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 hf(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=Jo(r,t),a=Jo(o,t);return qt(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:ff(e)||(n==="spring"||Ec(n))&&s}function xr(e){e.duration=0,e.type}const mf=new Set(["opacity","clipPath","filter","transform"]),pf=Hr(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function gf(e){var u;const{motionValue:t,name:n,repeatDelay:s,repeatType:r,damping:o,type:i}=e;if(!(((u=t==null?void 0:t.owner)==null?void 0:u.current)instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:d}=t.owner.getProps();return pf()&&n&&mf.has(n)&&(n!=="transform"||!d)&&!c&&!s&&r!=="mirror"&&o!==0&&i!=="inertia"}const yf=40;class xf extends to{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:r=0,repeatDelay:o=0,repeatType:i="loop",keyframes:a,name:c,motionValue:d,element:u,...f}){var x;super(),this.stop=()=>{var m,b;this._animation&&(this._animation.stop(),(m=this.stopTimeline)==null||m.call(this)),(b=this.keyframeResolver)==null||b.cancel()},this.createdAt=$e.now();const h={autoplay:t,delay:n,type:s,repeat:r,repeatDelay:o,repeatType:i,name:c,motionValue:d,element:u,...f},g=(u==null?void 0:u.KeyframeResolver)||so;this.keyframeResolver=new g(a,(m,b,k)=>this.onKeyframesResolved(m,b,h,!k),c,d,u),(x=this.keyframeResolver)==null||x.scheduleResolve()}onKeyframesResolved(t,n,s,r){this.keyframeResolver=void 0;const{name:o,type:i,velocity:a,delay:c,isHandoff:d,onUpdate:u}=s;this.resolvedAt=$e.now(),hf(t,o,i,a)||((it.instantAnimations||!c)&&(u==null||u(eo(t,s,n))),t[0]=t[t.length-1],xr(s),s.repeat=0);const h={startTime:r?this.resolvedAt?this.resolvedAt-this.createdAt>yf?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:t},g=!d&&gf(h)?new uf({...h,element:h.motionValue.owner.current}):new no(h);g.finished.then(()=>this.notifyFinished()).catch(He),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(){var t;return this._animation||((t=this.keyframeResolver)==null||t.resume(),Qu()),this._animation}get duration(){return this.animation.duration}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(){var t;this._animation&&this.animation.cancel(),(t=this.keyframeResolver)==null||t.cancel()}}const bf=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function vf(e){const t=bf.exec(e);if(!t)return[,];const[,n,s,r]=t;return[`--${n??s}`,r]}const wf=4;function jc(e,t,n=1){ot(n<=wf,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,r]=vf(e);if(!s)return;const o=window.getComputedStyle(t).getPropertyValue(s);if(o){const i=o.trim();return qa(i)?parseFloat(i):i}return Yr(r)?jc(r,t,n+1):r}function ro(e,t){return(e==null?void 0:e[t])??(e==null?void 0:e.default)??e}const Mc=new Set(["width","height","top","left","right","bottom",...Jt]),Sf={test:e=>e==="auto",parse:e=>e},Pc=e=>t=>t.test(e),Vc=[Xt,Q,Je,lt,uu,du,Sf],Qo=e=>Vc.find(Pc(e));function Cf(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||Ja(e):!0}const kf=new Set(["brightness","contrast","saturate","opacity"]);function Tf(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(qr)||[];if(!s)return e;const r=n.replace(s,"");let o=kf.has(t)?1:0;return s!==n&&(o*=100),t+"("+o+r+")"}const Ef=/\b([a-z-]*)\(.*?\)/gu,br={...ft,getAnimatableNone:e=>{const t=e.match(Ef);return t?t.map(Tf).join(" "):e}},ei={...Xt,transform:Math.round},Af={rotate:lt,rotateX:lt,rotateY:lt,rotateZ:lt,scale:$n,scaleX:$n,scaleY:$n,scaleZ:$n,skew:lt,skewX:lt,skewY:lt,distance:Q,translateX:Q,translateY:Q,translateZ:Q,x:Q,y:Q,z:Q,perspective:Q,transformPerspective:Q,opacity:bn,originX:Bo,originY:Bo,originZ:Q},oo={borderWidth:Q,borderTopWidth:Q,borderRightWidth:Q,borderBottomWidth:Q,borderLeftWidth:Q,borderRadius:Q,radius:Q,borderTopLeftRadius:Q,borderTopRightRadius:Q,borderBottomRightRadius:Q,borderBottomLeftRadius:Q,width:Q,maxWidth:Q,height:Q,maxHeight:Q,top:Q,right:Q,bottom:Q,left:Q,padding:Q,paddingTop:Q,paddingRight:Q,paddingBottom:Q,paddingLeft:Q,margin:Q,marginTop:Q,marginRight:Q,marginBottom:Q,marginLeft:Q,backgroundPositionX:Q,backgroundPositionY:Q,...Af,zIndex:ei,fillOpacity:bn,strokeOpacity:bn,numOctaves:ei},jf={...oo,color:je,backgroundColor:je,outlineColor:je,fill:je,stroke:je,borderColor:je,borderTopColor:je,borderRightColor:je,borderBottomColor:je,borderLeftColor:je,filter:br,WebkitFilter:br},Nc=e=>jf[e];function Rc(e,t){let n=Nc(e);return n!==br&&(n=ft),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Mf=new Set(["auto","none","0"]);function Pf(e,t,n){let s=0,r;for(;s<e.length&&!r;){const o=e[s];typeof o=="string"&&!Mf.has(o)&&vn(o).values.length&&(r=e[s]),s++}if(r&&n)for(const o of t)e[o]=Rc(n,r)}class Vf extends so{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 c=0;c<t.length;c++){let d=t[c];if(typeof d=="string"&&(d=d.trim(),Yr(d))){const u=jc(d,n.current);u!==void 0&&(t[c]=u),c===t.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!Mc.has(s)||t.length!==2)return;const[r,o]=t,i=Qo(r),a=Qo(o);if(i!==a)if(Yo(i)&&Yo(a))for(let c=0;c<t.length;c++){const d=t[c];typeof d=="string"&&(t[c]=parseFloat(d))}else Ct[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,s=[];for(let r=0;r<t.length;r++)(t[r]===null||Cf(t[r]))&&s.push(r);s.length&&Pf(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=Ct[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(){var a;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]=Ct[n](t.measureViewportBox(),window.getComputedStyle(t.current)),i!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=i),(a=this.removedTransforms)!=null&&a.length&&this.removedTransforms.forEach(([c,d])=>{t.getValue(c).set(d)}),this.resolveNoneKeyframes()}}function Nf(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const r=(n==null?void 0:n[e])??s.querySelectorAll(e);return r?Array.from(r):[]}return Array.from(e)}const Ic=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function Dc(e){return Xa(e)&&"offsetHeight"in e}const ti=30,Rf=e=>!isNaN(parseFloat(e));class If{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{var o;const r=$e.now();if(this.updatedAt!==r&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&((o=this.events.change)==null||o.notify(this.current),this.dependents))for(const i of this.dependents)i.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=$e.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Rf(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return process.env.NODE_ENV!=="production"&&Zr(!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 Ur);const s=this.events[t].add(n);return t==="change"?()=>{s(),ye.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(){var t;(t=this.events.change)==null||t.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=$e.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>ti)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,ti);return Qa(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(){var t,n;(t=this.dependents)==null||t.clear(),(n=this.events.destroy)==null||n.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Wt(e,t){return new If(e,t)}const{schedule:io}=dc(queueMicrotask,!1),We={x:!1,y:!1};function $c(){return We.x||We.y}function Df(e){return e==="x"||e==="y"?We[e]?null:(We[e]=!0,()=>{We[e]=!1}):We.x||We.y?null:(We.x=We.y=!0,()=>{We.x=We.y=!1})}function Fc(e,t){const n=Nf(e),s=new AbortController,r={passive:!0,...t,signal:s.signal};return[n,r,()=>s.abort()]}function ni(e){return!(e.pointerType==="touch"||$c())}function $f(e,t,n={}){const[s,r,o]=Fc(e,n),i=a=>{if(!ni(a))return;const{target:c}=a,d=t(c,a);if(typeof d!="function"||!c)return;const u=f=>{ni(f)&&(d(f),c.removeEventListener("pointerleave",u))};c.addEventListener("pointerleave",u,r)};return s.forEach(a=>{a.addEventListener("pointerenter",i,r)}),o}const Oc=(e,t)=>t?e===t?!0:Oc(e,t.parentElement):!1,ao=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Ff=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Of(e){return Ff.has(e.tagName)||e.tabIndex!==-1}const Kn=new WeakSet;function si(e){return t=>{t.key==="Enter"&&e(t)}}function Ds(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Lf=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=si(()=>{if(Kn.has(n))return;Ds(n,"down");const r=si(()=>{Ds(n,"up")}),o=()=>Ds(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 ri(e){return ao(e)&&!$c()}function _f(e,t,n={}){const[s,r,o]=Fc(e,n),i=a=>{const c=a.currentTarget;if(!ri(a))return;Kn.add(c);const d=t(c,a),u=(g,x)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),Kn.has(c)&&Kn.delete(c),ri(g)&&typeof d=="function"&&d(g,{success:x})},f=g=>{u(g,c===window||c===document||n.useGlobalTarget||Oc(c,g.target))},h=g=>{u(g,!1)};window.addEventListener("pointerup",f,r),window.addEventListener("pointercancel",h,r)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",i,r),Dc(a)&&(a.addEventListener("focus",d=>Lf(d,r)),!Of(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),o}function Lc(e){return Xa(e)&&"ownerSVGElement"in e}function Bf(e){return Lc(e)&&e.tagName==="svg"}const Re=e=>!!(e&&e.getVelocity),zf=[...Vc,je,ft],Hf=e=>zf.find(Pc(e)),co=C.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class Uf extends p.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=n.offsetParent,r=Dc(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 Zf({children:e,isPresent:t,anchorX:n,root:s}){const r=C.useId(),o=C.useRef(null),i=C.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=C.useContext(co);return C.useInsertionEffect(()=>{const{width:c,height:d,top:u,left:f,right:h}=i.current;if(t||!o.current||!c||!d)return;const g=n==="left"?`left: ${f}`:`right: ${h}`;o.current.dataset.motionPopId=r;const x=document.createElement("style");a&&(x.nonce=a);const m=s??document.head;return m.appendChild(x),x.sheet&&x.sheet.insertRule(`
|
|
2
|
+
[data-motion-pop-id="${r}"] {
|
|
3
3
|
position: absolute !important;
|
|
4
4
|
width: ${c}px !important;
|
|
5
5
|
height: ${d}px !important;
|
|
6
|
-
${
|
|
6
|
+
${g}px !important;
|
|
7
7
|
top: ${u}px !important;
|
|
8
8
|
}
|
|
9
|
-
`),()=>{x.contains(g)&&x.removeChild(g)}},[t]),a.jsx(dd,{isPresent:t,childRef:r,sizeRef:i,children:h.cloneElement(e,{ref:r})})}const hd=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:o,presenceAffectsLayout:r,mode:i,anchorX:l,root:c})=>{const d=xs(md),u=y.useId();let m=!0,f=y.useMemo(()=>(m=!1,{id:u,initial:t,isPresent:n,custom:o,onExitComplete:p=>{d.set(p,!0);for(const g of d.values())if(!g)return;s&&s()},register:p=>(d.set(p,!1),()=>d.delete(p))}),[n,d,s]);return r&&m&&(f={...f}),y.useMemo(()=>{d.forEach((p,g)=>d.set(g,!1))},[n]),h.useEffect(()=>{!n&&!d.size&&s&&s()},[n]),i==="popLayout"&&(e=a.jsx(ud,{isPresent:n,anchorX:l,root:c,children:e})),a.jsx(hn.Provider,{value:f,children:e})};function md(){return new Map}function Vr(e=!0){const t=y.useContext(hn);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:o}=t,r=y.useId();y.useEffect(()=>{if(e)return o(r)},[e]);const i=y.useCallback(()=>e&&s&&s(r),[r,s,e]);return!n&&s?[!1,i]:[!0]}const Kt=e=>e.key||"";function Mo(e){const t=[];return y.Children.forEach(e,n=>{y.isValidElement(n)&&t.push(n)}),t}const ut=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:o=!0,mode:r="sync",propagate:i=!1,anchorX:l="left",root:c})=>{const[d,u]=Vr(i),m=y.useMemo(()=>Mo(e),[e]),f=i&&!d?[]:m.map(Kt),p=y.useRef(!0),g=y.useRef(m),x=xs(()=>new Map),[v,E]=y.useState(m),[b,S]=y.useState(m);$i(()=>{p.current=!1,g.current=m;for(let A=0;A<b.length;A++){const j=Kt(b[A]);f.includes(j)?x.delete(j):x.get(j)!==!0&&x.set(j,!1)}},[b,f.length,f.join("-")]);const w=[];if(m!==v){let A=[...m];for(let j=0;j<b.length;j++){const k=b[j],D=Kt(k);f.includes(D)||(A.splice(j,0,k),w.push(k))}return r==="wait"&&w.length&&(A=w),S(Mo(A)),E(m),null}process.env.NODE_ENV!=="production"&&r==="wait"&&b.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:C}=y.useContext(gs);return a.jsx(a.Fragment,{children:b.map(A=>{const j=Kt(A),k=i&&!d?!1:m===b||f.includes(j),D=()=>{if(x.has(j))x.set(j,!0);else return;let L=!0;x.forEach(W=>{W||(L=!1)}),L&&(C==null||C(),S(g.current),i&&(u==null||u()),s&&s())};return a.jsx(hd,{isPresent:k,initial:!p.current||n?void 0:!1,custom:t,presenceAffectsLayout:o,mode:r,root:c,onExitComplete:k?void 0:D,anchorX:l,children:A},j)})})},Nr=y.createContext({strict:!1}),To={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"]},ft={};for(const e in To)ft[e]={isEnabled:t=>To[e].some(n=>!!t[n])};function fd(e){for(const t in e)ft[t]={...ft[t],...e[t]}}const pd=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 cn(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||pd.has(e)}let Pr=e=>!cn(e);function gd(e){typeof e=="function"&&(Pr=t=>t.startsWith("on")?!cn(t):e(t))}try{gd(require("@emotion/is-prop-valid").default)}catch{}function xd(e,t,n){const s={};for(const o in e)o==="values"&&typeof e.values=="object"||(Pr(o)||n===!0&&cn(o)||!t&&!cn(o)||e.draggable&&o.startsWith("onDrag"))&&(s[o]=e[o]);return s}const mn=y.createContext({});function fn(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function It(e){return typeof e=="string"||Array.isArray(e)}const _s=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Hs=["initial",..._s];function pn(e){return fn(e.animate)||Hs.some(t=>It(e[t]))}function Rr(e){return!!(pn(e)||e.variants)}function yd(e,t){if(pn(e)){const{initial:n,animate:s}=e;return{initial:n===!1||It(n)?n:void 0,animate:It(s)?s:void 0}}return e.inherit!==!1?t:{}}function bd(e){const{initial:t,animate:n}=yd(e,y.useContext(mn));return y.useMemo(()=>({initial:t,animate:n}),[Vo(t),Vo(n)])}function Vo(e){return Array.isArray(e)?e.join(" "):e}const Dt={};function vd(e){for(const t in e)Dt[t]=e[t],Es(t)&&(Dt[t].isCSSVariable=!0)}function Ir(e,{layout:t,layoutId:n}){return bt.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Dt[e]||e==="opacity")}const wd={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Sd=yt.length;function Cd(e,t,n){let s="",o=!0;for(let r=0;r<Sd;r++){const i=yt[r],l=e[i];if(l===void 0)continue;let c=!0;if(typeof l=="number"?c=l===(i.startsWith("scale")?1:0):c=parseFloat(l)===0,!c||n){const d=kr(l,Ls[i]);if(!c){o=!1;const u=wd[i]||i;s+=`${u}(${d}) `}n&&(t[i]=d)}}return s=s.trim(),n?s=n(t,o?"":s):o&&(s="none"),s}function Zs(e,t,n){const{style:s,vars:o,transformOrigin:r}=e;let i=!1,l=!1;for(const c in t){const d=t[c];if(bt.has(c)){i=!0;continue}else if(Es(c)){o[c]=d;continue}else{const u=kr(d,Ls[c]);c.startsWith("origin")?(l=!0,r[c]=u):s[c]=u}}if(t.transform||(i||n?s.transform=Cd(t,e.transform,n):s.transform&&(s.transform="none")),l){const{originX:c="50%",originY:d="50%",originZ:u=0}=r;s.transformOrigin=`${c} ${d} ${u}`}}const Us=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Dr(e,t,n){for(const s in t)!be(t[s])&&!Ir(s,n)&&(e[s]=t[s])}function kd({transformTemplate:e},t){return y.useMemo(()=>{const n=Us();return Zs(n,t,e),Object.assign({},n.vars,n.style)},[t])}function jd(e,t){const n=e.style||{},s={};return Dr(s,n,e),Object.assign(s,kd(e,t)),s}function Ed(e,t){const n={},s=jd(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 Ad={offset:"stroke-dashoffset",array:"stroke-dasharray"},Md={offset:"strokeDashoffset",array:"strokeDasharray"};function Td(e,t,n=1,s=0,o=!0){e.pathLength=1;const r=o?Ad:Md;e[r.offset]=U.transform(-s);const i=U.transform(t),l=U.transform(n);e[r.array]=`${i} ${l}`}function Fr(e,{attrX:t,attrY:n,attrScale:s,pathLength:o,pathSpacing:r=1,pathOffset:i=0,...l},c,d,u){if(Zs(e,l,d),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:m,style:f}=e;m.transform&&(f.transform=m.transform,delete m.transform),(f.transform||m.transformOrigin)&&(f.transformOrigin=m.transformOrigin??"50% 50%",delete m.transformOrigin),f.transform&&(f.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete m.transformBox),t!==void 0&&(m.x=t),n!==void 0&&(m.y=n),s!==void 0&&(m.scale=s),o!==void 0&&Td(m,o,r,i,!1)}const Lr=()=>({...Us(),attrs:{}}),Br=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Vd(e,t,n,s){const o=y.useMemo(()=>{const r=Lr();return Fr(r,t,Br(s),e.transformTemplate,e.style),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};Dr(r,e.style,e),o.style={...r,...o.style}}return o}const Nd=["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 zs(e){return typeof e!="string"||e.includes("-")?!1:!!(Nd.indexOf(e)>-1||/[A-Z]/u.test(e))}function Pd(e,t,n,{latestValues:s},o,r=!1){const l=(zs(e)?Vd:Ed)(t,s,o,e),c=xd(t,typeof e=="string",r),d=e!==y.Fragment?{...c,...l,ref:n}:{},{children:u}=t,m=y.useMemo(()=>be(u)?u.get():u,[u]);return y.createElement(e,{...d,children:m})}function No(e){const t=[{},{}];return e==null||e.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function Ws(e,t,n,s){if(typeof t=="function"){const[o,r]=No(s);t=t(n!==void 0?n:e.custom,o,r)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[o,r]=No(s);t=t(n!==void 0?n:e.custom,o,r)}return t}function tn(e){return be(e)?e.get():e}function Rd({scrapeMotionValuesFromProps:e,createRenderState:t},n,s,o){return{latestValues:Id(n,s,o,e),renderState:t()}}function Id(e,t,n,s){const o={},r=s(e,{});for(const f in r)o[f]=tn(r[f]);let{initial:i,animate:l}=e;const c=pn(e),d=Rr(e);t&&d&&!c&&e.inherit!==!1&&(i===void 0&&(i=t.initial),l===void 0&&(l=t.animate));let u=n?n.initial===!1:!1;u=u||i===!1;const m=u?l:i;if(m&&typeof m!="boolean"&&!fn(m)){const f=Array.isArray(m)?m:[m];for(let p=0;p<f.length;p++){const g=Ws(e,f[p]);if(g){const{transitionEnd:x,transition:v,...E}=g;for(const b in E){let S=E[b];if(Array.isArray(S)){const w=u?S.length-1:0;S=S[w]}S!==null&&(o[b]=S)}for(const b in x)o[b]=x[b]}}}return o}const $r=e=>(t,n)=>{const s=y.useContext(mn),o=y.useContext(hn),r=()=>Rd(e,t,s,o);return n?r():xs(r)};function Ks(e,t,n){var r;const{style:s}=e,o={};for(const i in s)(be(s[i])||t.style&&be(t.style[i])||Ir(i,e)||((r=n==null?void 0:n.getValue(i))==null?void 0:r.liveStyle)!==void 0)&&(o[i]=s[i]);return o}const Dd=$r({scrapeMotionValuesFromProps:Ks,createRenderState:Us});function Or(e,t,n){const s=Ks(e,t,n);for(const o in e)if(be(e[o])||be(t[o])){const r=yt.indexOf(o)!==-1?"attr"+o.charAt(0).toUpperCase()+o.substring(1):o;s[r]=e[o]}return s}const Fd=$r({scrapeMotionValuesFromProps:Or,createRenderState:Lr}),Ld=Symbol.for("motionComponentSymbol");function at(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Bd(e,t,n){return y.useCallback(s=>{s&&e.onMount&&e.onMount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):at(n)&&(n.current=s))},[t])}const Gs=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),$d="framerAppearId",_r="data-"+Gs($d),Hr=y.createContext({});function Od(e,t,n,s,o){var x,v;const{visualElement:r}=y.useContext(mn),i=y.useContext(Nr),l=y.useContext(hn),c=y.useContext(Os).reducedMotion,d=y.useRef(null);s=s||i.renderer,!d.current&&s&&(d.current=s(e,{visualState:t,parent:r,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:c}));const u=d.current,m=y.useContext(Hr);u&&!u.projection&&o&&(u.type==="html"||u.type==="svg")&&_d(d.current,n,o,m);const f=y.useRef(!1);y.useInsertionEffect(()=>{u&&f.current&&u.update(n,l)});const p=n[_r],g=y.useRef(!!p&&!((x=window.MotionHandoffIsComplete)!=null&&x.call(window,p))&&((v=window.MotionHasOptimisedAnimation)==null?void 0:v.call(window,p)));return $i(()=>{u&&(f.current=!0,window.MotionIsMounted=!0,u.updateFeatures(),u.scheduleRenderMicrotask(),g.current&&u.animationState&&u.animationState.animateChanges())}),y.useEffect(()=>{u&&(!g.current&&u.animationState&&u.animationState.animateChanges(),g.current&&(queueMicrotask(()=>{var E;(E=window.MotionHandoffMarkAsComplete)==null||E.call(window,p)}),g.current=!1),u.enteringChildren=void 0)}),u}function _d(e,t,n,s){const{layoutId:o,layout:r,drag:i,dragConstraints:l,layoutScroll:c,layoutRoot:d,layoutCrossfade:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Zr(e.parent)),e.projection.setOptions({layoutId:o,layout:r,alwaysMeasureLayout:!!i||l&&at(l),visualElement:e,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,crossfade:u,layoutScroll:c,layoutRoot:d})}function Zr(e){if(e)return e.options.allowProjection!==!1?e.projection:Zr(e.parent)}function An(e,{forwardMotionProps:t=!1}={},n,s){n&&fd(n);const o=zs(e)?Fd:Dd;function r(l,c){let d;const u={...y.useContext(Os),...l,layoutId:Hd(l)},{isStatic:m}=u,f=bd(l),p=o(l,m);if(!m&&ys){Zd(u,n);const g=Ud(u);d=g.MeasureLayout,f.visualElement=Od(e,p,u,s,g.ProjectionNode)}return a.jsxs(mn.Provider,{value:f,children:[d&&f.visualElement?a.jsx(d,{visualElement:f.visualElement,...u}):null,Pd(e,l,Bd(p,f.visualElement,c),p,m,t)]})}r.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const i=y.forwardRef(r);return i[Ld]=e,i}function Hd({layoutId:e}){const t=y.useContext(gs).id;return t&&e!==void 0?t+"-"+e:e}function Zd(e,t){const n=y.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?gt(!1,s,"lazy-strict-mode"):Oe(!1,s,"lazy-strict-mode")}}function Ud(e){const{drag:t,layout:n}=ft;if(!t&&!n)return{};const s={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function zd(e,t){if(typeof Proxy>"u")return An;const n=new Map,s=(r,i)=>An(r,i,e,t),o=(r,i)=>(process.env.NODE_ENV!=="production"&&Cs(!1,"motion() is deprecated. Use motion.create() instead."),s(r,i));return new Proxy(o,{get:(r,i)=>i==="create"?s:(n.has(i)||n.set(i,An(i,void 0,e,t)),n.get(i))})}function Ur({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function Wd({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Kd(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 Mn(e){return e===void 0||e===1}function ns({scale:e,scaleX:t,scaleY:n}){return!Mn(e)||!Mn(t)||!Mn(n)}function qe(e){return ns(e)||zr(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function zr(e){return Po(e.x)||Po(e.y)}function Po(e){return e&&e!=="0%"}function dn(e,t,n){const s=e-n,o=t*s;return n+o}function Ro(e,t,n,s,o){return o!==void 0&&(e=dn(e,o,s)),dn(e,n,s)+t}function ss(e,t=0,n=1,s,o){e.min=Ro(e.min,t,n,s,o),e.max=Ro(e.max,t,n,s,o)}function Wr(e,{x:t,y:n}){ss(e.x,t.translate,t.scale,t.originPoint),ss(e.y,n.translate,n.scale,n.originPoint)}const Io=.999999999999,Do=1.0000000000001;function Gd(e,t,n,s=!1){const o=n.length;if(!o)return;t.x=t.y=1;let r,i;for(let l=0;l<o;l++){r=n[l],i=r.projectionDelta;const{visualElement:c}=r.options;c&&c.props.style&&c.props.style.display==="contents"||(s&&r.options.layoutScroll&&r.scroll&&r!==r.root&&ct(e,{x:-r.scroll.offset.x,y:-r.scroll.offset.y}),i&&(t.x*=i.x.scale,t.y*=i.y.scale,Wr(e,i)),s&&qe(r.latestValues)&&ct(e,r.latestValues))}t.x<Do&&t.x>Io&&(t.x=1),t.y<Do&&t.y>Io&&(t.y=1)}function lt(e,t){e.min=e.min+t,e.max=e.max+t}function Fo(e,t,n,s,o=.5){const r=le(e.min,e.max,o);ss(e,t,n,r,s)}function ct(e,t){Fo(e.x,t.x,t.scaleX,t.scale,t.originX),Fo(e.y,t.y,t.scaleY,t.scale,t.originY)}function Kr(e,t){return Ur(Kd(e.getBoundingClientRect(),t))}function Yd(e,t,n){const s=Kr(e,n),{scroll:o}=t;return o&&(lt(s.x,o.offset.x),lt(s.y,o.offset.y)),s}const Lo=()=>({translate:0,scale:1,origin:0,originPoint:0}),dt=()=>({x:Lo(),y:Lo()}),Bo=()=>({min:0,max:0}),de=()=>({x:Bo(),y:Bo()}),os={current:null},Gr={current:!1};function qd(){if(Gr.current=!0,!!ys)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>os.current=e.matches;e.addEventListener("change",t),t()}else os.current=!1}const Xd=new WeakMap;function Jd(e,t,n){for(const s in t){const o=t[s],r=n[s];if(be(o))e.addValue(s,o);else if(be(r))e.addValue(s,mt(o,{owner:e}));else if(r!==o)if(e.hasValue(s)){const i=e.getValue(s);i.liveStyle===!0?i.jump(o):i.hasAnimated||i.set(o)}else{const i=e.getStaticValue(s);e.addValue(s,mt(i!==void 0?i:o,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const $o=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Qd{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:o,blockInitialAnimation:r,visualState:i},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=Ds,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const f=Se.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,ie.render(this.render,!1,!0))};const{latestValues:c,renderState:d}=i;this.latestValues=c,this.baseTarget={...c},this.initialValues=n.initial?{...c}:{},this.renderState=d,this.parent=t,this.props=n,this.presenceContext=s,this.depth=t?t.depth+1:0,this.reducedMotionConfig=o,this.options=l,this.blockInitialAnimation=!!r,this.isControllingVariants=pn(n),this.isVariantNode=Rr(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...m}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in m){const p=m[f];c[f]!==void 0&&be(p)&&p.set(c[f])}}mount(t){var n;this.current=t,Xd.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((s,o)=>this.bindToMotionValue(o,s)),Gr.current||qd(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:os.current,process.env.NODE_ENV!=="production"&&Cs(this.shouldReduceMotion!==!0,"You have Reduced Motion enabled on your device. Animations may not appear as expected.","reduced-motion-disabled"),(n=this.parent)==null||n.addChild(this),this.update(this.props,this.presenceContext)}unmount(){var t;this.projection&&this.projection.unmount(),ze(this.notifyUpdate),ze(this.render),this.valueSubscriptions.forEach(n=>n()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(t=this.parent)==null||t.removeChild(this);for(const n in this.events)this.events[n].clear();for(const n in this.features){const s=this.features[n];s&&(s.unmount(),s.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=bt.has(t);s&&this.onBindTransform&&this.onBindTransform();const o=n.on("change",i=>{this.latestValues[t]=i,this.props.onUpdate&&ie.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{o(),r&&r(),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 ft){const n=ft[t];if(!n)continue;const{isEnabled:s,Feature:o}=n;if(!this.features[t]&&o&&s(this.props)&&(this.features[t]=new o(this)),this.features[t]){const r=this.features[t];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):de()}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<$o.length;s++){const o=$o[s];this.propEventSubscriptions[o]&&(this.propEventSubscriptions[o](),delete this.propEventSubscriptions[o]);const r="on"+o,i=t[r];i&&(this.propEventSubscriptions[o]=this.on(o,i))}this.prevMotionValues=Jd(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=mt(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"&&(Oi(s)||Hi(s))?s=parseFloat(s):!cd(s)&&We.test(n)&&(s=Cr(t,n)),this.setBaseTarget(t,be(s)?s.get():s)),be(s)?s.get():s}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var r;const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const i=Ws(this.props,n,(r=this.presenceContext)==null?void 0:r.custom);i&&(s=i[t])}if(n&&s!==void 0)return s;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!be(o)?o:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new Ss),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Bs.render(this.render)}}class Yr extends Qd{constructor(){super(...arguments),this.KeyframeResolver=Xc}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 qr(e,{style:t,vars:n},s,o){const r=e.style;let i;for(i in t)r[i]=t[i];o==null||o.applyProjectionStyles(r,s);for(i in n)r.setProperty(i,n[i])}function eu(e){return window.getComputedStyle(e)}class tu extends Yr{constructor(){super(...arguments),this.type="html",this.renderInstance=qr}readValueFromInstance(t,n){var s;if(bt.has(n))return(s=this.projection)!=null&&s.isProjecting?Yn(n):pc(t,n);{const o=eu(t),r=(Es(n)?o.getPropertyValue(n):o[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Kr(t,n)}build(t,n,s){Zs(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return Ks(t,n,s)}}const Xr=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 nu(e,t,n,s){qr(e,t,void 0,s);for(const o in t.attrs)e.setAttribute(Xr.has(o)?o:Gs(o),t.attrs[o])}class su extends Yr{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=de}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(bt.has(n)){const s=Sr(n);return s&&s.default||0}return n=Xr.has(n)?n:Gs(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return Or(t,n,s)}build(t,n,s){Fr(t,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,n,s,o){nu(t,n,s,o)}mount(t){this.isSVGTag=Br(t.tagName),super.mount(t)}}const ou=(e,t)=>zs(e)?new su(t):new tu(t,{allowProjection:e!==y.Fragment});function ht(e,t,n){const s=e.getProps();return Ws(s,t,n!==void 0?n:s.custom,e)}const is=e=>Array.isArray(e);function iu(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,mt(n))}function ru(e){return is(e)?e[e.length-1]||0:e}function au(e,t){const n=ht(e,t);let{transitionEnd:s={},transition:o={},...r}=n||{};r={...r,...s};for(const i in r){const l=ru(r[i]);iu(e,i,l)}}function lu(e){return!!(be(e)&&e.add)}function rs(e,t){const n=e.getValue("willChange");if(lu(n))return n.add(t);if(!n&&_e.WillChange){const s=new _e.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function Jr(e){return e.props[_r]}const cu=e=>e!==null;function du(e,{repeat:t,repeatType:n="loop"},s){const o=e.filter(cu),r=t&&n!=="loop"&&t%2===1?0:o.length-1;return o[r]}const uu={type:"spring",stiffness:500,damping:25,restSpeed:10},hu=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),mu={type:"keyframes",duration:.8},fu={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},pu=(e,{keyframes:t})=>t.length>2?mu:bt.has(e)?e.startsWith("scale")?hu(t[1]):uu:fu;function gu({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:o,repeat:r,repeatType:i,repeatDelay:l,from:c,elapsed:d,...u}){return!!Object.keys(u).length}const Ys=(e,t,n,s={},o,r)=>i=>{const l=Fs(s,e)||{},c=l.delay||s.delay||0;let{elapsed:d=0}=s;d=d-Ve(c);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-d,onUpdate:f=>{t.set(f),l.onUpdate&&l.onUpdate(f)},onComplete:()=>{i(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:r?void 0:o};gu(l)||Object.assign(u,pu(e,u)),u.duration&&(u.duration=Ve(u.duration)),u.repeatDelay&&(u.repeatDelay=Ve(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let m=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(es(u),u.delay===0&&(m=!0)),(_e.instantAnimations||_e.skipAnimations)&&(m=!0,es(u),u.delay=0),u.allowFlatten=!l.type&&!l.ease,m&&!r&&t.get()!==void 0){const f=du(u.keyframes,l);if(f!==void 0){ie.update(()=>{u.onUpdate(f),u.onComplete()});return}}return l.isSync?new Is(u):new Bc(u)};function xu({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function Qr(e,t,{delay:n=0,transitionOverride:s,type:o}={}){let{transition:r=e.getDefaultTransition(),transitionEnd:i,...l}=t;s&&(r=s);const c=[],d=o&&e.animationState&&e.animationState.getState()[o];for(const u in l){const m=e.getValue(u,e.latestValues[u]??null),f=l[u];if(f===void 0||d&&xu(d,u))continue;const p={delay:n,...Fs(r||{},u)},g=m.get();if(g!==void 0&&!m.isAnimating&&!Array.isArray(f)&&f===g&&!p.velocity)continue;let x=!1;if(window.MotionHandoffAnimation){const E=Jr(e);if(E){const b=window.MotionHandoffAnimation(E,u,ie);b!==null&&(p.startTime=b,x=!0)}}rs(e,u),m.start(Ys(u,m,f,e.shouldReduceMotion&&br.has(u)?{type:!1}:p,e,x));const v=m.animation;v&&c.push(v)}return i&&Promise.all(c).then(()=>{ie.update(()=>{i&&au(e,i)})}),c}function ea(e,t,n,s=0,o=1){const r=Array.from(e).sort((d,u)=>d.sortNodePosition(u)).indexOf(t),i=e.size,l=(i-1)*s;return typeof n=="function"?n(r,i):o===1?r*s:l-r*s}function as(e,t,n={}){var c;const s=ht(e,t,n.type==="exit"?(c=e.presenceContext)==null?void 0:c.custom:void 0);let{transition:o=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(o=n.transitionOverride);const r=s?()=>Promise.all(Qr(e,s,n)):()=>Promise.resolve(),i=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:u=0,staggerChildren:m,staggerDirection:f}=o;return yu(e,t,d,u,m,f,n)}:()=>Promise.resolve(),{when:l}=o;if(l){const[d,u]=l==="beforeChildren"?[r,i]:[i,r];return d().then(()=>u())}else return Promise.all([r(),i(n.delay)])}function yu(e,t,n=0,s=0,o=0,r=1,i){const l=[];for(const c of e.variantChildren)c.notify("AnimationStart",t),l.push(as(c,t,{...i,delay:n+(typeof s=="function"?0:s)+ea(e.variantChildren,c,s,o,r)}).then(()=>c.notify("AnimationComplete",t)));return Promise.all(l)}function bu(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const o=t.map(r=>as(e,r,n));s=Promise.all(o)}else if(typeof t=="string")s=as(e,t,n);else{const o=typeof t=="function"?ht(e,t,n.custom):t;s=Promise.all(Qr(e,o,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}function ta(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 vu=Hs.length;function na(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?na(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<vu;n++){const s=Hs[n],o=e.props[s];(It(o)||o===!1)&&(t[s]=o)}return t}const wu=[..._s].reverse(),Su=_s.length;function Cu(e){return t=>Promise.all(t.map(({animation:n,options:s})=>bu(e,n,s)))}function ku(e){let t=Cu(e),n=Oo(),s=!0;const o=c=>(d,u)=>{var f;const m=ht(e,u,c==="exit"?(f=e.presenceContext)==null?void 0:f.custom:void 0);if(m){const{transition:p,transitionEnd:g,...x}=m;d={...d,...x,...g}}return d};function r(c){t=c(e)}function i(c){const{props:d}=e,u=na(e.parent)||{},m=[],f=new Set;let p={},g=1/0;for(let v=0;v<Su;v++){const E=wu[v],b=n[E],S=d[E]!==void 0?d[E]:u[E],w=It(S),C=E===c?b.isActive:null;C===!1&&(g=v);let A=S===u[E]&&S!==d[E]&&w;if(A&&s&&e.manuallyAnimateOnMount&&(A=!1),b.protectedKeys={...p},!b.isActive&&C===null||!S&&!b.prevProp||fn(S)||typeof S=="boolean")continue;const j=ju(b.prevProp,S);let k=j||E===c&&b.isActive&&!A&&w||v>g&&w,D=!1;const L=Array.isArray(S)?S:[S];let W=L.reduce(o(E),{});C===!1&&(W={});const{prevResolvedValues:H={}}=b,Ce={...H,...W},ne=z=>{k=!0,f.has(z)&&(D=!0,f.delete(z)),b.needsAnimating[z]=!0;const M=e.getValue(z);M&&(M.liveStyle=!1)};for(const z in Ce){const M=W[z],G=H[z];if(p.hasOwnProperty(z))continue;let Y=!1;is(M)&&is(G)?Y=!ta(M,G):Y=M!==G,Y?M!=null?ne(z):f.add(z):M!==void 0&&f.has(z)?ne(z):b.protectedKeys[z]=!0}b.prevProp=S,b.prevResolvedValues=W,b.isActive&&(p={...p,...W}),s&&e.blockInitialAnimation&&(k=!1);const te=A&&j;k&&(!te||D)&&m.push(...L.map(z=>{const M={type:E};if(typeof z=="string"&&s&&!te&&e.manuallyAnimateOnMount&&e.parent){const{parent:G}=e,Y=ht(G,z);if(G.enteringChildren&&Y){const{delayChildren:V}=Y.transition||{};M.delay=ea(G.enteringChildren,e,V)}}return{animation:z,options:M}}))}if(f.size){const v={};if(typeof d.initial!="boolean"){const E=ht(e,Array.isArray(d.initial)?d.initial[0]:d.initial);E&&E.transition&&(v.transition=E.transition)}f.forEach(E=>{const b=e.getBaseTarget(E),S=e.getValue(E);S&&(S.liveStyle=!0),v[E]=b??null}),m.push({animation:v})}let x=!!m.length;return s&&(d.initial===!1||d.initial===d.animate)&&!e.manuallyAnimateOnMount&&(x=!1),s=!1,x?t(m):Promise.resolve()}function l(c,d){var m;if(n[c].isActive===d)return Promise.resolve();(m=e.variantChildren)==null||m.forEach(f=>{var p;return(p=f.animationState)==null?void 0:p.setActive(c,d)}),n[c].isActive=d;const u=i(c);for(const f in n)n[f].protectedKeys={};return u}return{animateChanges:i,setActive:l,setAnimateFunction:r,getState:()=>n,reset:()=>{n=Oo(),s=!0}}}function ju(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!ta(t,e):!1}function Ge(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Oo(){return{animate:Ge(!0),whileInView:Ge(),whileHover:Ge(),whileTap:Ge(),whileDrag:Ge(),whileFocus:Ge(),exit:Ge()}}class Ke{constructor(t){this.isMounted=!1,this.node=t}update(){}}class Eu extends Ke{constructor(t){super(t),t.animationState||(t.animationState=ku(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();fn(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(){var t;this.node.animationState.reset(),(t=this.unmountControls)==null||t.call(this)}}let Au=0;class Mu extends Ke{constructor(){super(...arguments),this.id=Au++}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 o=this.node.animationState.setActive("exit",!t);n&&!t&&o.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 Tu={animation:{Feature:Eu},exit:{Feature:Mu}};function Ft(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}function Ot(e){return{point:{x:e.pageX,y:e.pageY}}}const Vu=e=>t=>$s(t)&&e(t,Ot(t));function Mt(e,t,n,s){return Ft(e,t,Vu(n),s)}const sa=1e-4,Nu=1-sa,Pu=1+sa,oa=.01,Ru=0-oa,Iu=0+oa;function we(e){return e.max-e.min}function Du(e,t,n){return Math.abs(e-t)<=n}function _o(e,t,n,s=.5){e.origin=s,e.originPoint=le(t.min,t.max,e.origin),e.scale=we(n)/we(t),e.translate=le(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Nu&&e.scale<=Pu||isNaN(e.scale))&&(e.scale=1),(e.translate>=Ru&&e.translate<=Iu||isNaN(e.translate))&&(e.translate=0)}function Tt(e,t,n,s){_o(e.x,t.x,n.x,s?s.originX:void 0),_o(e.y,t.y,n.y,s?s.originY:void 0)}function Ho(e,t,n){e.min=n.min+t.min,e.max=e.min+we(t)}function Fu(e,t,n){Ho(e.x,t.x,n.x),Ho(e.y,t.y,n.y)}function Zo(e,t,n){e.min=t.min-n.min,e.max=e.min+we(t)}function Vt(e,t,n){Zo(e.x,t.x,n.x),Zo(e.y,t.y,n.y)}function je(e){return[e("x"),e("y")]}const ia=({current:e})=>e?e.ownerDocument.defaultView:null,Uo=(e,t)=>Math.abs(e-t);function Lu(e,t){const n=Uo(e.x,t.x),s=Uo(e.y,t.y);return Math.sqrt(n**2+s**2)}class ra{constructor(t,n,{transformPagePoint:s,contextWindow:o=window,dragSnapToOrigin:r=!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 f=Vn(this.lastMoveEventInfo,this.history),p=this.startEvent!==null,g=Lu(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!p&&!g)return;const{point:x}=f,{timestamp:v}=xe;this.history.push({...x,timestamp:v});const{onStart:E,onMove:b}=this.handlers;p||(E&&E(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),b&&b(this.lastMoveEvent,f)},this.handlePointerMove=(f,p)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=Tn(p,this.transformPagePoint),ie.update(this.updatePoint,!0)},this.handlePointerUp=(f,p)=>{this.end();const{onEnd:g,onSessionEnd:x,resumeAnimation:v}=this.handlers;if(this.dragSnapToOrigin&&v&&v(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const E=Vn(f.type==="pointercancel"?this.lastMoveEventInfo:Tn(p,this.transformPagePoint),this.history);this.startEvent&&g&&g(f,E),x&&x(f,E)},!$s(t))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=i,this.contextWindow=o||window;const l=Ot(t),c=Tn(l,this.transformPagePoint),{point:d}=c,{timestamp:u}=xe;this.history=[{...d,timestamp:u}];const{onSessionStart:m}=n;m&&m(t,Vn(c,this.history)),this.removeListeners=Lt(Mt(this.contextWindow,"pointermove",this.handlePointerMove),Mt(this.contextWindow,"pointerup",this.handlePointerUp),Mt(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),ze(this.updatePoint)}}function Tn(e,t){return t?{point:t(e.point)}:e}function zo(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Vn({point:e},t){return{point:e,delta:zo(e,aa(t)),offset:zo(e,Bu(t)),velocity:$u(t,.1)}}function Bu(e){return e[0]}function aa(e){return e[e.length-1]}function $u(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const o=aa(e);for(;n>=0&&(s=e[n],!(o.timestamp-s.timestamp>Ve(t)));)n--;if(!s)return{x:0,y:0};const r=Pe(o.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const i={x:(o.x-s.x)/r,y:(o.y-s.y)/r};return i.x===1/0&&(i.x=0),i.y===1/0&&(i.y=0),i}function Ou(e,{min:t,max:n},s){return t!==void 0&&e<t?e=s?le(t,e,s.min):Math.max(e,t):n!==void 0&&e>n&&(e=s?le(n,e,s.max):Math.min(e,n)),e}function Wo(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 _u(e,{top:t,left:n,bottom:s,right:o}){return{x:Wo(e.x,n,o),y:Wo(e.y,t,s)}}function Ko(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 Hu(e,t){return{x:Ko(e.x,t.x),y:Ko(e.y,t.y)}}function Zu(e,t){let n=.5;const s=we(e),o=we(t);return o>s?n=Nt(t.min,t.max-s,e.min):s>o&&(n=Nt(e.min,e.max-o,t.min)),$e(0,1,n)}function Uu(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 ls=.35;function zu(e=ls){return e===!1?e=0:e===!0&&(e=ls),{x:Go(e,"left","right"),y:Go(e,"top","bottom")}}function Go(e,t,n){return{min:Yo(e,t),max:Yo(e,n)}}function Yo(e,t){return typeof e=="number"?e:e[t]||0}const Wu=new WeakMap;class Ku{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=de(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:o}=this.visualElement;if(o&&o.isPresent===!1)return;const r=m=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Ot(m).point)},i=(m,f)=>{const{drag:p,dragPropagation:g,onDragStart:x}=this.getProps();if(p&&!g&&(this.openDragLock&&this.openDragLock(),this.openDragLock=td(p),!this.openDragLock))return;this.latestPointerEvent=m,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),je(E=>{let b=this.getAxisMotionValue(E).get()||0;if(Re.test(b)){const{projection:S}=this.visualElement;if(S&&S.layout){const w=S.layout.layoutBox[E];w&&(b=we(w)*(parseFloat(b)/100))}}this.originPoint[E]=b}),x&&ie.postRender(()=>x(m,f)),rs(this.visualElement,"transform");const{animationState:v}=this.visualElement;v&&v.setActive("whileDrag",!0)},l=(m,f)=>{this.latestPointerEvent=m,this.latestPanInfo=f;const{dragPropagation:p,dragDirectionLock:g,onDirectionLock:x,onDrag:v}=this.getProps();if(!p&&!this.openDragLock)return;const{offset:E}=f;if(g&&this.currentDirection===null){this.currentDirection=Gu(E),this.currentDirection!==null&&x&&x(this.currentDirection);return}this.updateAxis("x",f.point,E),this.updateAxis("y",f.point,E),this.visualElement.render(),v&&v(m,f)},c=(m,f)=>{this.latestPointerEvent=m,this.latestPanInfo=f,this.stop(m,f),this.latestPointerEvent=null,this.latestPanInfo=null},d=()=>je(m=>{var f;return this.getAnimationState(m)==="paused"&&((f=this.getAxisMotionValue(m).animation)==null?void 0:f.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new ra(t,{onSessionStart:r,onStart:i,onMove:l,onSessionEnd:c,resumeAnimation:d},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:s,contextWindow:ia(this.visualElement)})}stop(t,n){const s=t||this.latestPointerEvent,o=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!o||!s)return;const{velocity:i}=o;this.startAnimation(i);const{onDragEnd:l}=this.getProps();l&&ie.postRender(()=>l(s,o))}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:o}=this.getProps();if(!s||!Gt(t,o,this.currentDirection))return;const r=this.getAxisMotionValue(t);let i=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(i=Ou(i,this.constraints[t],this.elastic[t])),r.set(i)}resolveConstraints(){var r;const{dragConstraints:t,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(r=this.visualElement.projection)==null?void 0:r.layout,o=this.constraints;t&&at(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&s?this.constraints=_u(s.layoutBox,t):this.constraints=!1,this.elastic=zu(n),o!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&je(i=>{this.constraints!==!1&&this.getAxisMotionValue(i)&&(this.constraints[i]=Uu(s.layoutBox[i],this.constraints[i]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!at(t))return!1;const s=t.current;Oe(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:o}=this.visualElement;if(!o||!o.layout)return!1;const r=Yd(s,o.root,this.visualElement.getTransformPagePoint());let i=Hu(o.layout.layoutBox,r);if(n){const l=n(Wd(i));this.hasMutatedConstraints=!!l,l&&(i=Ur(l))}return i}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:o,dragTransition:r,dragSnapToOrigin:i,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},d=je(u=>{if(!Gt(u,n,this.currentDirection))return;let m=c&&c[u]||{};i&&(m={min:0,max:0});const f=o?200:1e6,p=o?40:1e7,g={type:"inertia",velocity:s?t[u]:0,bounceStiffness:f,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...r,...m};return this.startAxisValueAnimation(u,g)});return Promise.all(d).then(l)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return rs(this.visualElement,t),s.start(Ys(t,s,0,n,this.visualElement,!1))}stopAnimation(){je(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){je(t=>{var n;return(n=this.getAxisMotionValue(t).animation)==null?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)==null?void 0:n.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,s=this.visualElement.getProps(),o=s[n];return o||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){je(n=>{const{drag:s}=this.getProps();if(!Gt(n,s,this.currentDirection))return;const{projection:o}=this.visualElement,r=this.getAxisMotionValue(n);if(o&&o.layout){const{min:i,max:l}=o.layout.layoutBox[n];r.set(t[n]-le(i,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!at(n)||!s||!this.constraints)return;this.stopAnimation();const o={x:0,y:0};je(i=>{const l=this.getAxisMotionValue(i);if(l&&this.constraints!==!1){const c=l.get();o[i]=Zu({min:c,max:c},this.constraints[i])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),je(i=>{if(!Gt(i,t,null))return;const l=this.getAxisMotionValue(i),{min:c,max:d}=this.constraints[i];l.set(le(c,d,o[i]))})}addListeners(){if(!this.visualElement.current)return;Wu.set(this.visualElement,this);const t=this.visualElement.current,n=Mt(t,"pointerdown",c=>{const{drag:d,dragListener:u=!0}=this.getProps();d&&u&&this.start(c)}),s=()=>{const{dragConstraints:c}=this.getProps();at(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:o}=this.visualElement,r=o.addEventListener("measure",s);o&&!o.layout&&(o.root&&o.root.updateScroll(),o.updateLayout()),ie.read(s);const i=Ft(window,"resize",()=>this.scalePositionWithinConstraints()),l=o.addEventListener("didUpdate",({delta:c,hasLayoutChanged:d})=>{this.isDragging&&d&&(je(u=>{const m=this.getAxisMotionValue(u);m&&(this.originPoint[u]+=c[u].translate,m.set(m.get()+c[u].translate))}),this.visualElement.render())});return()=>{i(),n(),r(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:o=!1,dragConstraints:r=!1,dragElastic:i=ls,dragMomentum:l=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:o,dragConstraints:r,dragElastic:i,dragMomentum:l}}}function Gt(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Gu(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class Yu extends Ke{constructor(t){super(t),this.removeGroupControls=Ae,this.removeListeners=Ae,this.controls=new Ku(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ae}unmount(){this.removeGroupControls(),this.removeListeners()}}const qo=e=>(t,n)=>{e&&ie.postRender(()=>e(t,n))};class qu extends Ke{constructor(){super(...arguments),this.removePointerDownListener=Ae}onPointerDown(t){this.session=new ra(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:ia(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:o}=this.node.getProps();return{onSessionStart:qo(t),onStart:qo(n),onMove:s,onEnd:(r,i)=>{delete this.session,o&&ie.postRender(()=>o(r,i))}}}mount(){this.removePointerDownListener=Mt(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 nn={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Xo(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const kt={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(U.test(e))e=parseFloat(e);else return e;const n=Xo(e,t.target.x),s=Xo(e,t.target.y);return`${n}% ${s}%`}},Xu={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,o=We.parse(e);if(o.length>5)return s;const r=We.createTransformer(e),i=typeof o[0]!="number"?1:0,l=n.x.scale*t.x,c=n.y.scale*t.y;o[0+i]/=l,o[1+i]/=c;const d=le(l,c,.5);return typeof o[2+i]=="number"&&(o[2+i]/=d),typeof o[3+i]=="number"&&(o[3+i]/=d),r(o)}};let Nn=!1;class Ju extends y.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:o}=this.props,{projection:r}=t;vd(Qu),r&&(n.group&&n.group.add(r),s&&s.register&&o&&s.register(r),Nn&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),nn.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:o,isPresent:r}=this.props,{projection:i}=s;return i&&(i.isPresent=r,Nn=!0,o||t.layoutDependency!==n||n===void 0||t.isPresent!==r?i.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?i.promote():i.relegate()||ie.postRender(()=>{const l=i.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),Bs.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:o}=t;Nn=!0,o&&(o.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(o),s&&s.deregister&&s.deregister(o))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function la(e){const[t,n]=Vr(),s=y.useContext(gs);return a.jsx(Ju,{...e,layoutGroup:s,switchLayoutGroup:y.useContext(Hr),isPresent:t,safeToRemove:n})}const Qu={borderRadius:{...kt,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:kt,borderTopRightRadius:kt,borderBottomLeftRadius:kt,borderBottomRightRadius:kt,boxShadow:Xu};function eh(e,t,n){const s=be(e)?e:mt(e);return s.start(Ys("",s,t,n)),s.animation}const th=(e,t)=>e.depth-t.depth;class nh{constructor(){this.children=[],this.isDirty=!1}add(t){bs(this.children,t),this.isDirty=!0}remove(t){vs(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(th),this.isDirty=!1,this.children.forEach(t)}}function sh(e,t){const n=Se.now(),s=({timestamp:o})=>{const r=o-n;r>=t&&(ze(s),e(r-t))};return ie.setup(s,!0),()=>ze(s)}const ca=["TopLeft","TopRight","BottomLeft","BottomRight"],oh=ca.length,Jo=e=>typeof e=="string"?parseFloat(e):e,Qo=e=>typeof e=="number"||U.test(e);function ih(e,t,n,s,o,r){o?(e.opacity=le(0,n.opacity??1,rh(s)),e.opacityExit=le(t.opacity??1,0,ah(s))):r&&(e.opacity=le(t.opacity??1,n.opacity??1,s));for(let i=0;i<oh;i++){const l=`border${ca[i]}Radius`;let c=ei(t,l),d=ei(n,l);if(c===void 0&&d===void 0)continue;c||(c=0),d||(d=0),c===0||d===0||Qo(c)===Qo(d)?(e[l]=Math.max(le(Jo(c),Jo(d),s),0),(Re.test(d)||Re.test(c))&&(e[l]+="%")):e[l]=d}(t.rotate||n.rotate)&&(e.rotate=le(t.rotate||0,n.rotate||0,s))}function ei(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const rh=da(0,.5,qi),ah=da(.5,.95,Ae);function da(e,t,n){return s=>s<e?0:s>t?1:n(Nt(e,t,s))}function ti(e,t){e.min=t.min,e.max=t.max}function ke(e,t){ti(e.x,t.x),ti(e.y,t.y)}function ni(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function si(e,t,n,s,o){return e-=t,e=dn(e,1/n,s),o!==void 0&&(e=dn(e,1/o,s)),e}function lh(e,t=0,n=1,s=.5,o,r=e,i=e){if(Re.test(t)&&(t=parseFloat(t),t=le(i.min,i.max,t/100)-i.min),typeof t!="number")return;let l=le(r.min,r.max,s);e===r&&(l-=t),e.min=si(e.min,t,n,l,o),e.max=si(e.max,t,n,l,o)}function oi(e,t,[n,s,o],r,i){lh(e,t[n],t[s],t[o],t.scale,r,i)}const ch=["x","scaleX","originX"],dh=["y","scaleY","originY"];function ii(e,t,n,s){oi(e.x,t,ch,n?n.x:void 0,s?s.x:void 0),oi(e.y,t,dh,n?n.y:void 0,s?s.y:void 0)}function ri(e){return e.translate===0&&e.scale===1}function ua(e){return ri(e.x)&&ri(e.y)}function ai(e,t){return e.min===t.min&&e.max===t.max}function uh(e,t){return ai(e.x,t.x)&&ai(e.y,t.y)}function li(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function ha(e,t){return li(e.x,t.x)&&li(e.y,t.y)}function ci(e){return we(e.x)/we(e.y)}function di(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class hh{constructor(){this.members=[]}add(t){bs(this.members,t),t.scheduleRender()}remove(t){if(vs(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(o=>t===o);if(n===0)return!1;let s;for(let o=n;o>=0;o--){const r=this.members[o];if(r.isPresent!==!1){s=r;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:o}=t.options;o===!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 mh(e,t,n){let s="";const o=e.x.translate/t.x,r=e.y.translate/t.y,i=(n==null?void 0:n.z)||0;if((o||r||i)&&(s=`translate3d(${o}px, ${r}px, ${i}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:d,rotate:u,rotateX:m,rotateY:f,skewX:p,skewY:g}=n;d&&(s=`perspective(${d}px) ${s}`),u&&(s+=`rotate(${u}deg) `),m&&(s+=`rotateX(${m}deg) `),f&&(s+=`rotateY(${f}deg) `),p&&(s+=`skewX(${p}deg) `),g&&(s+=`skewY(${g}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(s+=`scale(${l}, ${c})`),s||"none"}const Pn=["","X","Y","Z"],fh=1e3;let ph=0;function Rn(e,t,n,s){const{latestValues:o}=t;o[e]&&(n[e]=o[e],t.setStaticValue(e,0),s&&(s[e]=0))}function ma(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Jr(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:o,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",ie,!(o||r))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&ma(s)}function fa({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:o}){return class{constructor(i={},l=t==null?void 0:t()){this.id=ph++,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(yh),this.nodes.forEach(Sh),this.nodes.forEach(Ch),this.nodes.forEach(bh)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=i,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new nh)}addEventListener(i,l){return this.eventHandlers.has(i)||this.eventHandlers.set(i,new Ss),this.eventHandlers.get(i).add(l)}notifyListeners(i,...l){const c=this.eventHandlers.get(i);c&&c.notify(...l)}hasListeners(i){return this.eventHandlers.has(i)}mount(i){if(this.instance)return;this.isSVG=Tr(i)&&!ad(i),this.instance=i;const{layoutId:l,layout:c,visualElement:d}=this.options;if(d&&!d.current&&d.mount(i),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(c||l)&&(this.isLayoutDirty=!0),e){let u,m=0;const f=()=>this.root.updateBlockedByResize=!1;ie.read(()=>{m=window.innerWidth}),e(i,()=>{const p=window.innerWidth;p!==m&&(m=p,this.root.updateBlockedByResize=!0,u&&u(),u=sh(f,250),nn.hasAnimatedSinceResize&&(nn.hasAnimatedSinceResize=!1,this.nodes.forEach(mi)))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||c)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:m,hasRelativeLayoutChanged:f,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||Mh,{onLayoutAnimationStart:x,onLayoutAnimationComplete:v}=d.getProps(),E=!this.targetLayout||!ha(this.targetLayout,p),b=!m&&f;if(this.options.layoutRoot||this.resumeFrom||b||m&&(E||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const S={...Fs(g,"layout"),onPlay:x,onComplete:v};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S),this.setAnimationOrigin(u,b)}else m||mi(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(),ze(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(kh),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&&ma(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const m=this.path[u];m.shouldResetTransform=!0,m.updateScroll("snapshot"),m.options.layoutRoot&&m.willUpdate(!1)}const{layoutId:l,layout:c}=this.options;if(l===void 0&&!c)return;const d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),i&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(ui);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(hi);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(wh),this.nodes.forEach(gh),this.nodes.forEach(xh)):this.nodes.forEach(hi),this.clearAllSnapshots();const l=Se.now();xe.delta=$e(0,1e3/60,l-xe.timestamp),xe.timestamp=l,xe.isProcessing=!0,wn.update.process(xe),wn.preRender.process(xe),wn.render.process(xe),xe.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Bs.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(vh),this.sharedNodes.forEach(jh)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,ie.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){ie.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!we(this.snapshot.measuredBox.x)&&!we(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 c=0;c<this.path.length;c++)this.path[c].updateScroll();const i=this.layout;this.layout=this.measure(!1),this.layoutCorrected=de(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,i?i.layoutBox:void 0)}updateScroll(i="measure"){let l=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===i&&(l=!1),l&&this.instance){const c=s(this.instance);this.scroll={animationId:this.root.animationId,phase:i,isRoot:c,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!o)return;const i=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,l=this.projectionDelta&&!ua(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,u=d!==this.prevTransformTemplateValue;i&&this.instance&&(l||qe(this.latestValues)||u)&&(o(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(i=!0){const l=this.measurePageBox();let c=this.removeElementScroll(l);return i&&(c=this.removeTransform(c)),Th(c),{animationId:this.root.animationId,measuredBox:l,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var d;const{visualElement:i}=this.options;if(!i)return de();const l=i.measureViewportBox();if(!(((d=this.scroll)==null?void 0:d.wasRoot)||this.path.some(Vh))){const{scroll:u}=this.root;u&&(lt(l.x,u.offset.x),lt(l.y,u.offset.y))}return l}removeElementScroll(i){var c;const l=de();if(ke(l,i),(c=this.scroll)!=null&&c.wasRoot)return l;for(let d=0;d<this.path.length;d++){const u=this.path[d],{scroll:m,options:f}=u;u!==this.root&&m&&f.layoutScroll&&(m.wasRoot&&ke(l,i),lt(l.x,m.offset.x),lt(l.y,m.offset.y))}return l}applyTransform(i,l=!1){const c=de();ke(c,i);for(let d=0;d<this.path.length;d++){const u=this.path[d];!l&&u.options.layoutScroll&&u.scroll&&u!==u.root&&ct(c,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),qe(u.latestValues)&&ct(c,u.latestValues)}return qe(this.latestValues)&&ct(c,this.latestValues),c}removeTransform(i){const l=de();ke(l,i);for(let c=0;c<this.path.length;c++){const d=this.path[c];if(!d.instance||!qe(d.latestValues))continue;ns(d.latestValues)&&d.updateSnapshot();const u=de(),m=d.measurePageBox();ke(u,m),ii(l,d.latestValues,d.snapshot?d.snapshot.layoutBox:void 0,u)}return qe(this.latestValues)&&ii(l,this.latestValues),l}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!==xe.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(i=!1){var f;const l=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=l.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=l.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=l.isSharedProjectionDirty);const c=!!this.resumingFrom||this!==l;if(!(i||c&&this.isSharedProjectionDirty||this.isProjectionDirty||(f=this.parent)!=null&&f.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:m}=this.options;if(!(!this.layout||!(u||m))){if(this.resolvedRelativeTargetAt=xe.timestamp,!this.targetDelta&&!this.relativeTarget){const p=this.getClosestProjectingParent();p&&p.layout&&this.animationProgress!==1?(this.relativeParent=p,this.forceRelativeParentToResolveTarget(),this.relativeTarget=de(),this.relativeTargetOrigin=de(),Vt(this.relativeTargetOrigin,this.layout.layoutBox,p.layout.layoutBox),ke(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=de(),this.targetWithTransforms=de()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Fu(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):ke(this.target,this.layout.layoutBox),Wr(this.target,this.targetDelta)):ke(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const p=this.getClosestProjectingParent();p&&!!p.resumingFrom==!!this.resumingFrom&&!p.options.layoutScroll&&p.target&&this.animationProgress!==1?(this.relativeParent=p,this.forceRelativeParentToResolveTarget(),this.relativeTarget=de(),this.relativeTargetOrigin=de(),Vt(this.relativeTargetOrigin,this.target,p.target),ke(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||ns(this.parent.latestValues)||zr(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var g;const i=this.getLead(),l=!!this.resumingFrom||this!==i;let c=!0;if((this.isProjectionDirty||(g=this.parent)!=null&&g.isProjectionDirty)&&(c=!1),l&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===xe.timestamp&&(c=!1),c)return;const{layout:d,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||u))return;ke(this.layoutCorrected,this.layout.layoutBox);const m=this.treeScale.x,f=this.treeScale.y;Gd(this.layoutCorrected,this.treeScale,this.path,l),i.layout&&!i.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(i.target=i.layout.layoutBox,i.targetWithTransforms=de());const{target:p}=i;if(!p){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(ni(this.prevProjectionDelta.x,this.projectionDelta.x),ni(this.prevProjectionDelta.y,this.projectionDelta.y)),Tt(this.projectionDelta,this.layoutCorrected,p,this.latestValues),(this.treeScale.x!==m||this.treeScale.y!==f||!di(this.projectionDelta.x,this.prevProjectionDelta.x)||!di(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){var l;if((l=this.options.visualElement)==null||l.scheduleRender(),i){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=dt(),this.projectionDelta=dt(),this.projectionDeltaWithTransform=dt()}setAnimationOrigin(i,l=!1){const c=this.snapshot,d=c?c.latestValues:{},u={...this.latestValues},m=dt();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const f=de(),p=c?c.source:void 0,g=this.layout?this.layout.source:void 0,x=p!==g,v=this.getStack(),E=!v||v.members.length<=1,b=!!(x&&!E&&this.options.crossfade===!0&&!this.path.some(Ah));this.animationProgress=0;let S;this.mixTargetDelta=w=>{const C=w/1e3;fi(m.x,i.x,C),fi(m.y,i.y,C),this.setTargetDelta(m),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Vt(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Eh(this.relativeTarget,this.relativeTargetOrigin,f,C),S&&uh(this.relativeTarget,S)&&(this.isProjectionDirty=!1),S||(S=de()),ke(S,this.relativeTarget)),x&&(this.animationValues=u,ih(u,d,this.latestValues,C,b,E)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(i){var l,c,d;this.notifyListeners("animationStart"),(l=this.currentAnimation)==null||l.stop(),(d=(c=this.resumingFrom)==null?void 0:c.currentAnimation)==null||d.stop(),this.pendingAnimation&&(ze(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ie.update(()=>{nn.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=mt(0)),this.currentAnimation=eh(this.motionValue,[0,1e3],{...i,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),i.onUpdate&&i.onUpdate(u)},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(fh),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const i=this.getLead();let{targetWithTransforms:l,target:c,layout:d,latestValues:u}=i;if(!(!l||!c||!d)){if(this!==i&&this.layout&&d&&pa(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||de();const m=we(this.layout.layoutBox.x);c.x.min=i.target.x.min,c.x.max=c.x.min+m;const f=we(this.layout.layoutBox.y);c.y.min=i.target.y.min,c.y.max=c.y.min+f}ke(l,c),ct(l,u),Tt(this.projectionDeltaWithTransform,this.layoutCorrected,l,u)}}registerSharedNode(i,l){this.sharedNodes.has(i)||this.sharedNodes.set(i,new hh),this.sharedNodes.get(i).add(l);const d=l.options.initialPromotionConfig;l.promote({transition:d?d.transition:void 0,preserveFollowOpacity:d&&d.shouldPreserveFollowOpacity?d.shouldPreserveFollowOpacity(l):void 0})}isLead(){const i=this.getStack();return i?i.lead===this:!0}getLead(){var l;const{layoutId:i}=this.options;return i?((l=this.getStack())==null?void 0:l.lead)||this:this}getPrevLead(){var l;const{layoutId:i}=this.options;return i?(l=this.getStack())==null?void 0:l.prevLead:void 0}getStack(){const{layoutId:i}=this.options;if(i)return this.root.sharedNodes.get(i)}promote({needsReset:i,transition:l,preserveFollowOpacity:c}={}){const d=this.getStack();d&&d.promote(this,c),i&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const i=this.getStack();return i?i.relegate(this):!1}resetSkewAndRotation(){const{visualElement:i}=this.options;if(!i)return;let l=!1;const{latestValues:c}=i;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const d={};c.z&&Rn("z",i,d,this.animationValues);for(let u=0;u<Pn.length;u++)Rn(`rotate${Pn[u]}`,i,d,this.animationValues),Rn(`skew${Pn[u]}`,i,d,this.animationValues);i.render();for(const u in d)i.setStaticValue(u,d[u]),this.animationValues&&(this.animationValues[u]=d[u]);i.scheduleRender()}applyProjectionStyles(i,l){if(!this.instance||this.isSVG)return;if(!this.isVisible){i.visibility="hidden";return}const c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,i.visibility="",i.opacity="",i.pointerEvents=tn(l==null?void 0:l.pointerEvents)||"",i.transform=c?c(this.latestValues,""):"none";return}const d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(i.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,i.pointerEvents=tn(l==null?void 0:l.pointerEvents)||""),this.hasProjected&&!qe(this.latestValues)&&(i.transform=c?c({},""):"none",this.hasProjected=!1);return}i.visibility="";const u=d.animationValues||d.latestValues;this.applyTransformsToTarget();let m=mh(this.projectionDeltaWithTransform,this.treeScale,u);c&&(m=c(u,m)),i.transform=m;const{x:f,y:p}=this.projectionDelta;i.transformOrigin=`${f.origin*100}% ${p.origin*100}% 0`,d.animationValues?i.opacity=d===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:i.opacity=d===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const g in Dt){if(u[g]===void 0)continue;const{correct:x,applyTo:v,isCSSVariable:E}=Dt[g],b=m==="none"?u[g]:x(u[g],d);if(v){const S=v.length;for(let w=0;w<S;w++)i[v[w]]=b}else E?this.options.visualElement.renderState.vars[g]=b:i[g]=b}this.options.layoutId&&(i.pointerEvents=d===this?tn(l==null?void 0:l.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(i=>{var l;return(l=i.currentAnimation)==null?void 0:l.stop()}),this.root.nodes.forEach(ui),this.root.sharedNodes.clear()}}}function gh(e){e.updateLayout()}function xh(e){var n;const t=((n=e.resumeFrom)==null?void 0:n.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:o}=e.layout,{animationType:r}=e.options,i=t.source!==e.layout.source;r==="size"?je(m=>{const f=i?t.measuredBox[m]:t.layoutBox[m],p=we(f);f.min=s[m].min,f.max=f.min+p}):pa(r,t.layoutBox,s)&&je(m=>{const f=i?t.measuredBox[m]:t.layoutBox[m],p=we(s[m]);f.max=f.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[m].max=e.relativeTarget[m].min+p)});const l=dt();Tt(l,s,t.layoutBox);const c=dt();i?Tt(c,e.applyTransform(o,!0),t.measuredBox):Tt(c,s,t.layoutBox);const d=!ua(l);let u=!1;if(!e.resumeFrom){const m=e.getClosestProjectingParent();if(m&&!m.resumeFrom){const{snapshot:f,layout:p}=m;if(f&&p){const g=de();Vt(g,t.layoutBox,f.layoutBox);const x=de();Vt(x,s,p.layoutBox),ha(g,x)||(u=!0),m.options.layoutRoot&&(e.relativeTarget=x,e.relativeTargetOrigin=g,e.relativeParent=m)}}}e.notifyListeners("didUpdate",{layout:s,snapshot:t,delta:c,layoutDelta:l,hasLayoutChanged:d,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:s}=e.options;s&&s()}e.options.transition=void 0}function yh(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 bh(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function vh(e){e.clearSnapshot()}function ui(e){e.clearMeasurements()}function hi(e){e.isLayoutDirty=!1}function wh(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function mi(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Sh(e){e.resolveTargetDelta()}function Ch(e){e.calcProjection()}function kh(e){e.resetSkewAndRotation()}function jh(e){e.removeLeadSnapshot()}function fi(e,t,n){e.translate=le(t.translate,0,n),e.scale=le(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function pi(e,t,n,s){e.min=le(t.min,n.min,s),e.max=le(t.max,n.max,s)}function Eh(e,t,n,s){pi(e.x,t.x,n.x,s),pi(e.y,t.y,n.y,s)}function Ah(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Mh={duration:.45,ease:[.4,0,.1,1]},gi=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),xi=gi("applewebkit/")&&!gi("chrome/")?Math.round:Ae;function yi(e){e.min=xi(e.min),e.max=xi(e.max)}function Th(e){yi(e.x),yi(e.y)}function pa(e,t,n){return e==="position"||e==="preserve-aspect"&&!Du(ci(t),ci(n),.2)}function Vh(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const Nh=fa({attachResizeListener:(e,t)=>Ft(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),In={current:void 0},ga=fa({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!In.current){const e=new Nh({});e.mount(window),e.setOptions({layoutScroll:!0}),In.current=e}return In.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Ph={pan:{Feature:qu},drag:{Feature:Yu,ProjectionNode:ga,MeasureLayout:la}};function bi(e,t,n){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",n==="Start");const o="onHover"+n,r=s[o];r&&ie.postRender(()=>r(t,Ot(t)))}class Rh extends Ke{mount(){const{current:t}=this.node;t&&(this.unmount=nd(t,(n,s)=>(bi(this.node,s,"Start"),o=>bi(this.node,o,"End"))))}unmount(){}}class Ih extends Ke{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=Lt(Ft(this.node.current,"focus",()=>this.onFocus()),Ft(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function vi(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 o="onTap"+(n==="End"?"":n),r=s[o];r&&ie.postRender(()=>r(t,Ot(t)))}class Dh extends Ke{mount(){const{current:t}=this.node;t&&(this.unmount=rd(t,(n,s)=>(vi(this.node,s,"Start"),(o,{success:r})=>vi(this.node,o,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const cs=new WeakMap,Dn=new WeakMap,Fh=e=>{const t=cs.get(e.target);t&&t(e)},Lh=e=>{e.forEach(Fh)};function Bh({root:e,...t}){const n=e||document;Dn.has(n)||Dn.set(n,{});const s=Dn.get(n),o=JSON.stringify(t);return s[o]||(s[o]=new IntersectionObserver(Lh,{root:e,...t})),s[o]}function $h(e,t,n){const s=Bh(t);return cs.set(e,n),s.observe(e),()=>{cs.delete(e),s.unobserve(e)}}const Oh={some:0,all:1};class _h extends Ke{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:o="some",once:r}=t,i={root:n?n.current:void 0,rootMargin:s,threshold:typeof o=="number"?o:Oh[o]},l=c=>{const{isIntersecting:d}=c;if(this.isInView===d||(this.isInView=d,r&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",d);const{onViewportEnter:u,onViewportLeave:m}=this.node.getProps(),f=d?u:m;f&&f(c)};return $h(this.node.current,i,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(Hh(t,n))&&this.startObserver()}unmount(){}}function Hh({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Zh={inView:{Feature:_h},tap:{Feature:Dh},focus:{Feature:Ih},hover:{Feature:Rh}},Uh={layout:{ProjectionNode:ga,MeasureLayout:la}},zh={...Tu,...Zh,...Ph,...Uh},Q=zd(zh,ou),qs="-",Wh=e=>{const t=Gh(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:i=>{const l=i.split(qs);return l[0]===""&&l.length!==1&&l.shift(),xa(l,t)||Kh(i)},getConflictingClassGroupIds:(i,l)=>{const c=n[i]||[];return l&&s[i]?[...c,...s[i]]:c}}},xa=(e,t)=>{var i;if(e.length===0)return t.classGroupId;const n=e[0],s=t.nextPart.get(n),o=s?xa(e.slice(1),s):void 0;if(o)return o;if(t.validators.length===0)return;const r=e.join(qs);return(i=t.validators.find(({validator:l})=>l(r)))==null?void 0:i.classGroupId},wi=/^\[(.+)\]$/,Kh=e=>{if(wi.test(e)){const t=wi.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},Gh=e=>{const{theme:t,classGroups:n}=e,s={nextPart:new Map,validators:[]};for(const o in n)ds(n[o],s,o,t);return s},ds=(e,t,n,s)=>{e.forEach(o=>{if(typeof o=="string"){const r=o===""?t:Si(t,o);r.classGroupId=n;return}if(typeof o=="function"){if(Yh(o)){ds(o(s),t,n,s);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([r,i])=>{ds(i,Si(t,r),n,s)})})},Si=(e,t)=>{let n=e;return t.split(qs).forEach(s=>{n.nextPart.has(s)||n.nextPart.set(s,{nextPart:new Map,validators:[]}),n=n.nextPart.get(s)}),n},Yh=e=>e.isThemeGetter,qh=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,s=new Map;const o=(r,i)=>{n.set(r,i),t++,t>e&&(t=0,s=n,n=new Map)};return{get(r){let i=n.get(r);if(i!==void 0)return i;if((i=s.get(r))!==void 0)return o(r,i),i},set(r,i){n.has(r)?n.set(r,i):o(r,i)}}},us="!",hs=":",Xh=hs.length,Jh=e=>{const{prefix:t,experimentalParseClassName:n}=e;let s=o=>{const r=[];let i=0,l=0,c=0,d;for(let g=0;g<o.length;g++){let x=o[g];if(i===0&&l===0){if(x===hs){r.push(o.slice(c,g)),c=g+Xh;continue}if(x==="/"){d=g;continue}}x==="["?i++:x==="]"?i--:x==="("?l++:x===")"&&l--}const u=r.length===0?o:o.substring(c),m=Qh(u),f=m!==u,p=d&&d>c?d-c:void 0;return{modifiers:r,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:p}};if(t){const o=t+hs,r=s;s=i=>i.startsWith(o)?r(i.substring(o.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:i,maybePostfixModifierPosition:void 0}}if(n){const o=s;s=r=>n({className:r,parseClassName:o})}return s},Qh=e=>e.endsWith(us)?e.substring(0,e.length-1):e.startsWith(us)?e.substring(1):e,em=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(s=>[s,!0]));return s=>{if(s.length<=1)return s;const o=[];let r=[];return s.forEach(i=>{i[0]==="["||t[i]?(o.push(...r.sort(),i),r=[]):r.push(i)}),o.push(...r.sort()),o}},tm=e=>({cache:qh(e.cacheSize),parseClassName:Jh(e),sortModifiers:em(e),...Wh(e)}),nm=/\s+/,sm=(e,t)=>{const{parseClassName:n,getClassGroupId:s,getConflictingClassGroupIds:o,sortModifiers:r}=t,i=[],l=e.trim().split(nm);let c="";for(let d=l.length-1;d>=0;d-=1){const u=l[d],{isExternal:m,modifiers:f,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:x}=n(u);if(m){c=u+(c.length>0?" "+c:c);continue}let v=!!x,E=s(v?g.substring(0,x):g);if(!E){if(!v){c=u+(c.length>0?" "+c:c);continue}if(E=s(g),!E){c=u+(c.length>0?" "+c:c);continue}v=!1}const b=r(f).join(":"),S=p?b+us:b,w=S+E;if(i.includes(w))continue;i.push(w);const C=o(E,v);for(let A=0;A<C.length;++A){const j=C[A];i.push(S+j)}c=u+(c.length>0?" "+c:c)}return c};function om(){let e=0,t,n,s="";for(;e<arguments.length;)(t=arguments[e++])&&(n=ya(t))&&(s&&(s+=" "),s+=n);return s}const ya=e=>{if(typeof e=="string")return e;let t,n="";for(let s=0;s<e.length;s++)e[s]&&(t=ya(e[s]))&&(n&&(n+=" "),n+=t);return n};function im(e,...t){let n,s,o,r=i;function i(c){const d=t.reduce((u,m)=>m(u),e());return n=tm(d),s=n.cache.get,o=n.cache.set,r=l,l(c)}function l(c){const d=s(c);if(d)return d;const u=sm(c,n);return o(c,u),u}return function(){return r(om.apply(null,arguments))}}const ge=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},ba=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,va=/^\((?:(\w[\w-]*):)?(.+)\)$/i,rm=/^\d+\/\d+$/,am=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lm=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,cm=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,dm=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,um=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,st=e=>rm.test(e),X=e=>!!e&&!Number.isNaN(Number(e)),Ze=e=>!!e&&Number.isInteger(Number(e)),Fn=e=>e.endsWith("%")&&X(e.slice(0,-1)),Fe=e=>am.test(e),hm=()=>!0,mm=e=>lm.test(e)&&!cm.test(e),wa=()=>!1,fm=e=>dm.test(e),pm=e=>um.test(e),gm=e=>!N(e)&&!P(e),xm=e=>vt(e,ka,wa),N=e=>ba.test(e),Ye=e=>vt(e,ja,mm),Ln=e=>vt(e,Sm,X),Ci=e=>vt(e,Sa,wa),ym=e=>vt(e,Ca,pm),Yt=e=>vt(e,Ea,fm),P=e=>va.test(e),jt=e=>wt(e,ja),bm=e=>wt(e,Cm),ki=e=>wt(e,Sa),vm=e=>wt(e,ka),wm=e=>wt(e,Ca),qt=e=>wt(e,Ea,!0),vt=(e,t,n)=>{const s=ba.exec(e);return s?s[1]?t(s[1]):n(s[2]):!1},wt=(e,t,n=!1)=>{const s=va.exec(e);return s?s[1]?t(s[1]):n:!1},Sa=e=>e==="position"||e==="percentage",Ca=e=>e==="image"||e==="url",ka=e=>e==="length"||e==="size"||e==="bg-size",ja=e=>e==="length",Sm=e=>e==="number",Cm=e=>e==="family-name",Ea=e=>e==="shadow",km=()=>{const e=ge("color"),t=ge("font"),n=ge("text"),s=ge("font-weight"),o=ge("tracking"),r=ge("leading"),i=ge("breakpoint"),l=ge("container"),c=ge("spacing"),d=ge("radius"),u=ge("shadow"),m=ge("inset-shadow"),f=ge("text-shadow"),p=ge("drop-shadow"),g=ge("blur"),x=ge("perspective"),v=ge("aspect"),E=ge("ease"),b=ge("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],w=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],C=()=>[...w(),P,N],A=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],k=()=>[P,N,c],D=()=>[st,"full","auto",...k()],L=()=>[Ze,"none","subgrid",P,N],W=()=>["auto",{span:["full",Ze,P,N]},Ze,P,N],H=()=>[Ze,"auto",P,N],Ce=()=>["auto","min","max","fr",P,N],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],te=()=>["start","end","center","stretch","center-safe","end-safe"],se=()=>["auto",...k()],z=()=>[st,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],M=()=>[e,P,N],G=()=>[...w(),ki,Ci,{position:[P,N]}],Y=()=>["no-repeat",{repeat:["","x","y","space","round"]}],V=()=>["auto","cover","contain",vm,xm,{size:[P,N]}],q=()=>[Fn,jt,Ye],T=()=>["","none","full",d,P,N],F=()=>["",X,jt,Ye],Z=()=>["solid","dashed","dotted","double"],B=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],R=()=>[X,Fn,ki,Ci],_=()=>["","none",g,P,N],K=()=>["none",X,P,N],O=()=>["none",X,P,N],re=()=>[X,P,N],oe=()=>[st,"full",...k()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Fe],breakpoint:[Fe],color:[hm],container:[Fe],"drop-shadow":[Fe],ease:["in","out","in-out"],font:[gm],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Fe],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Fe],shadow:[Fe],spacing:["px",X],text:[Fe],"text-shadow":[Fe],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",st,N,P,v]}],container:["container"],columns:[{columns:[X,N,P,l]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:C()}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:D()}],"inset-x":[{"inset-x":D()}],"inset-y":[{"inset-y":D()}],start:[{start:D()}],end:[{end:D()}],top:[{top:D()}],right:[{right:D()}],bottom:[{bottom:D()}],left:[{left:D()}],visibility:["visible","invisible","collapse"],z:[{z:[Ze,"auto",P,N]}],basis:[{basis:[st,"full","auto",l,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[X,st,"auto","initial","none",N]}],grow:[{grow:["",X,P,N]}],shrink:[{shrink:["",X,P,N]}],order:[{order:[Ze,"first","last","none",P,N]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:W()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:W()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ce()}],"auto-rows":[{"auto-rows":Ce()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...te(),"normal"]}],"justify-self":[{"justify-self":["auto",...te()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...te(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...te(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...te(),"baseline"]}],"place-self":[{"place-self":["auto",...te()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:se()}],mx:[{mx:se()}],my:[{my:se()}],ms:[{ms:se()}],me:[{me:se()}],mt:[{mt:se()}],mr:[{mr:se()}],mb:[{mb:se()}],ml:[{ml:se()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],w:[{w:[l,"screen",...z()]}],"min-w":[{"min-w":[l,"screen","none",...z()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh",...z()]}],"font-size":[{text:["base",n,jt,Ye]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,P,Ln]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Fn,N]}],"font-family":[{font:[bm,N,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,P,N]}],"line-clamp":[{"line-clamp":[X,"none",P,Ln]}],leading:[{leading:[r,...k()]}],"list-image":[{"list-image":["none",P,N]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",P,N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[X,"from-font","auto",P,Ye]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[X,"auto",P,N]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",P,N]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",P,N]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:G()}],"bg-repeat":[{bg:Y()}],"bg-size":[{bg:V()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ze,P,N],radial:["",P,N],conic:[Ze,P,N]},wm,ym]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:q()}],"gradient-via-pos":[{via:q()}],"gradient-to-pos":[{to:q()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:T()}],"rounded-s":[{"rounded-s":T()}],"rounded-e":[{"rounded-e":T()}],"rounded-t":[{"rounded-t":T()}],"rounded-r":[{"rounded-r":T()}],"rounded-b":[{"rounded-b":T()}],"rounded-l":[{"rounded-l":T()}],"rounded-ss":[{"rounded-ss":T()}],"rounded-se":[{"rounded-se":T()}],"rounded-ee":[{"rounded-ee":T()}],"rounded-es":[{"rounded-es":T()}],"rounded-tl":[{"rounded-tl":T()}],"rounded-tr":[{"rounded-tr":T()}],"rounded-br":[{"rounded-br":T()}],"rounded-bl":[{"rounded-bl":T()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":F()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[X,P,N]}],"outline-w":[{outline:["",X,jt,Ye]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",u,qt,Yt]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",m,qt,Yt]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[X,Ye]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",f,qt,Yt]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[X,P,N]}],"mix-blend":[{"mix-blend":[...B(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":B()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[X]}],"mask-image-linear-from-pos":[{"mask-linear-from":R()}],"mask-image-linear-to-pos":[{"mask-linear-to":R()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":R()}],"mask-image-t-to-pos":[{"mask-t-to":R()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":R()}],"mask-image-r-to-pos":[{"mask-r-to":R()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":R()}],"mask-image-b-to-pos":[{"mask-b-to":R()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":R()}],"mask-image-l-to-pos":[{"mask-l-to":R()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":R()}],"mask-image-x-to-pos":[{"mask-x-to":R()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":R()}],"mask-image-y-to-pos":[{"mask-y-to":R()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[P,N]}],"mask-image-radial-from-pos":[{"mask-radial-from":R()}],"mask-image-radial-to-pos":[{"mask-radial-to":R()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[X]}],"mask-image-conic-from-pos":[{"mask-conic-from":R()}],"mask-image-conic-to-pos":[{"mask-conic-to":R()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:G()}],"mask-repeat":[{mask:Y()}],"mask-size":[{mask:V()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",P,N]}],filter:[{filter:["","none",P,N]}],blur:[{blur:_()}],brightness:[{brightness:[X,P,N]}],contrast:[{contrast:[X,P,N]}],"drop-shadow":[{"drop-shadow":["","none",p,qt,Yt]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",X,P,N]}],"hue-rotate":[{"hue-rotate":[X,P,N]}],invert:[{invert:["",X,P,N]}],saturate:[{saturate:[X,P,N]}],sepia:[{sepia:["",X,P,N]}],"backdrop-filter":[{"backdrop-filter":["","none",P,N]}],"backdrop-blur":[{"backdrop-blur":_()}],"backdrop-brightness":[{"backdrop-brightness":[X,P,N]}],"backdrop-contrast":[{"backdrop-contrast":[X,P,N]}],"backdrop-grayscale":[{"backdrop-grayscale":["",X,P,N]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[X,P,N]}],"backdrop-invert":[{"backdrop-invert":["",X,P,N]}],"backdrop-opacity":[{"backdrop-opacity":[X,P,N]}],"backdrop-saturate":[{"backdrop-saturate":[X,P,N]}],"backdrop-sepia":[{"backdrop-sepia":["",X,P,N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",P,N]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[X,"initial",P,N]}],ease:[{ease:["linear","initial",E,P,N]}],delay:[{delay:[X,P,N]}],animate:[{animate:["none",b,P,N]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,P,N]}],"perspective-origin":[{"perspective-origin":C()}],rotate:[{rotate:K()}],"rotate-x":[{"rotate-x":K()}],"rotate-y":[{"rotate-y":K()}],"rotate-z":[{"rotate-z":K()}],scale:[{scale:O()}],"scale-x":[{"scale-x":O()}],"scale-y":[{"scale-y":O()}],"scale-z":[{"scale-z":O()}],"scale-3d":["scale-3d"],skew:[{skew:re()}],"skew-x":[{"skew-x":re()}],"skew-y":[{"skew-y":re()}],transform:[{transform:[P,N,"","none","gpu","cpu"]}],"transform-origin":[{origin:C()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:oe()}],"translate-x":[{"translate-x":oe()}],"translate-y":[{"translate-y":oe()}],"translate-z":[{"translate-z":oe()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",P,N]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",P,N]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[X,jt,Ye,Ln]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},jm=im(km);function $(...e){return jm(cl.clsx(e))}function Em(e,t){return{id:e.streamInfo.id,timestamp:e.streamInfo.timestamp,message:e.text,from:e.participantInfo.identity===t.localParticipant.identity?t.localParticipant:Array.from(t.remoteParticipants.values()).find(n=>n.identity===e.participantInfo.identity)}}const Am=un.cva(["relative w-full rounded-lg border px-4 py-3 text-sm grid grid-cols-[0_1fr] gap-y-0.5 items-start","has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current"],{variants:{variant:{default:"bg-card text-card-foreground",destructive:["text-destructive-foreground bg-destructive border-destructive-border","[&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/90"]}},defaultVariants:{variant:"default"}});function Mm({className:e,variant:t,...n}){return a.jsx("div",{"data-slot":"alert",role:"alert",className:$(Am({variant:t}),e),...n})}function Tm({className:e,...t}){return a.jsx("div",{"data-slot":"alert-title",className:$("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}function Vm({className:e,...t}){return a.jsx("div",{"data-slot":"alert-description",className:$("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}function Xt(e){return Bi.toast.custom(t=>a.jsx(Nm,{id:t,title:e.title,description:e.description}),{duration:1e4})}function Nm(e){const{title:t,id:n,description:s}=e;return a.jsxs(Mm,{onClick:()=>Bi.toast.dismiss(n),className:"bg-gradient-to-br from-[#181825] to-[#232336] border border-[#232336] shadow-lg shadow-black/40 rounded-xl px-4 py-3 flex items-start gap-3 hover:shadow-xl transition-all duration-200",style:{color:"#F3F4F6"},children:[a.jsx(ll.WarningIcon,{weight:"bold",className:"text-yellow-400 mt-1 flex-shrink-0",size:24}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx(Tm,{className:"text-base font-semibold text-white mb-1",children:t}),a.jsx(Vm,{className:"text-sm text-gray-300 leading-snug",children:s})]})]})}const Ne=h.forwardRef((e,t)=>{const{alt:n,color:s="currentColor",size:o="1em",weight:r="regular",mirrored:i=!1,children:l,weights:c,...d}=e;return h.createElement("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,fill:s,viewBox:"0 0 256 256",transform:i?"scale(-1, 1)":void 0,...d},!!n&&h.createElement("title",null,n),l,c.get(r))});Ne.displayName="SSRBase";const Pm=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M208,96l-80,80L48,96Z",opacity:"0.2"}),h.createElement("path",{d:"M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"}))]]),Xs=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Pm}));Xs.displayName="CaretDownIcon";const Rm=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M208,160H48l80-80Z",opacity:"0.2"}),h.createElement("path",{d:"M213.66,154.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,48,168H208a8,8,0,0,0,5.66-13.66ZM67.31,152,128,91.31,188.69,152Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M215.39,163.06A8,8,0,0,1,208,168H48a8,8,0,0,1-5.66-13.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,215.39,163.06Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M210.83,162.83a4,4,0,0,1-5.66,0L128,85.66,50.83,162.83a4,4,0,0,1-5.66-5.66l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,210.83,162.83Z"}))]]),Aa=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Rm}));Aa.displayName="CaretUpIcon";const Im=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216,44H40A20,20,0,0,0,20,64V224A19.82,19.82,0,0,0,31.56,242.1a20.14,20.14,0,0,0,8.49,1.9,19.91,19.91,0,0,0,12.82-4.72l.12-.11L84.47,212H216a20,20,0,0,0,20-20V64A20,20,0,0,0,216,44Zm-4,144H80a11.93,11.93,0,0,0-7.84,2.92L44,215.23V68H212ZM84,108A12,12,0,0,1,96,96h64a12,12,0,1,1,0,24H96A12,12,0,0,1,84,108Zm0,40a12,12,0,0,1,12-12h64a12,12,0,0,1,0,24H96A12,12,0,0,1,84,148Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M224,64V192a8,8,0,0,1-8,8H80L45.15,230.11A8,8,0,0,1,32,224V64a8,8,0,0,1,8-8H216A8,8,0,0,1,224,64Z",opacity:"0.2"}),h.createElement("path",{d:"M216,48H40A16,16,0,0,0,24,64V224a15.85,15.85,0,0,0,9.24,14.5A16.13,16.13,0,0,0,40,240a15.89,15.89,0,0,0,10.25-3.78l.09-.07L83,208H216a16,16,0,0,0,16-16V64A16,16,0,0,0,216,48ZM40,224h0ZM216,192H80a8,8,0,0,0-5.23,1.95L40,224V64H216ZM88,112a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm0,32a8,8,0,0,1,8-8h64a8,8,0,1,1,0,16H96A8,8,0,0,1,88,144Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216,48H40A16,16,0,0,0,24,64V224a15.84,15.84,0,0,0,9.25,14.5A16.05,16.05,0,0,0,40,240a15.89,15.89,0,0,0,10.25-3.78l.09-.07L83,208H216a16,16,0,0,0,16-16V64A16,16,0,0,0,216,48ZM160,152H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216,50H40A14,14,0,0,0,26,64V224a13.88,13.88,0,0,0,8.09,12.69A14.11,14.11,0,0,0,40,238a13.87,13.87,0,0,0,9-3.31l.06-.05L82.23,206H216a14,14,0,0,0,14-14V64A14,14,0,0,0,216,50Zm2,142a2,2,0,0,1-2,2H80a6,6,0,0,0-3.92,1.46L41.26,225.53A2,2,0,0,1,38,224V64a2,2,0,0,1,2-2H216a2,2,0,0,1,2,2Zm-52-80a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,112Zm0,32a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,144Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216,48H40A16,16,0,0,0,24,64V224a15.85,15.85,0,0,0,9.24,14.5A16.13,16.13,0,0,0,40,240a15.89,15.89,0,0,0,10.25-3.78l.09-.07L83,208H216a16,16,0,0,0,16-16V64A16,16,0,0,0,216,48ZM40,224h0ZM216,192H80a8,8,0,0,0-5.23,1.95L40,224V64H216ZM88,112a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm0,32a8,8,0,0,1,8-8h64a8,8,0,1,1,0,16H96A8,8,0,0,1,88,144Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216,52H40A12,12,0,0,0,28,64V224a11.89,11.89,0,0,0,6.93,10.88A12.17,12.17,0,0,0,40,236a11.89,11.89,0,0,0,7.69-2.83l0,0L81.49,204H216a12,12,0,0,0,12-12V64A12,12,0,0,0,216,52Zm4,140a4,4,0,0,1-4,4H80a4,4,0,0,0-2.62,1L42.56,227.06A4,4,0,0,1,36,224V64a4,4,0,0,1,4-4H216a4,4,0,0,1,4,4Zm-56-80a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,112Zm0,32a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,144Z"}))]]),Ma=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Im}));Ma.displayName="ChatTextIcon";const Dm=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z",opacity:"0.2"}),h.createElement("path",{d:"M205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M228.24,76.24l-128,128a6,6,0,0,1-8.48,0l-56-56a6,6,0,0,1,8.48-8.48L96,191.51,219.76,67.76a6,6,0,0,1,8.48,8.48Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M226.83,74.83l-128,128a4,4,0,0,1-5.66,0l-56-56a4,4,0,0,1,5.66-5.66L96,194.34,221.17,69.17a4,4,0,1,1,5.66,5.66Z"}))]]),Ta=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Dm}));Ta.displayName="CheckIcon";const Fm=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M128,180a52.06,52.06,0,0,0,52-52V64A52,52,0,0,0,76,64v64A52.06,52.06,0,0,0,128,180ZM100,64a28,28,0,0,1,56,0v64a28,28,0,0,1-56,0Zm40,155.22V240a12,12,0,0,1-24,0V219.22A92.14,92.14,0,0,1,36,128a12,12,0,0,1,24,0,68,68,0,0,0,136,0,12,12,0,0,1,24,0A92.14,92.14,0,0,1,140,219.22Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z",opacity:"0.2"}),h.createElement("path",{d:"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M80,128V64a48,48,0,0,1,96,0v64a48,48,0,0,1-96,0Zm128,0a8,8,0,0,0-16,0,64,64,0,0,1-128,0,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.6A80.11,80.11,0,0,0,208,128Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M128,174a46.06,46.06,0,0,0,46-46V64a46,46,0,0,0-92,0v64A46.06,46.06,0,0,0,128,174ZM94,64a34,34,0,0,1,68,0v64a34,34,0,0,1-68,0Zm40,141.75V240a6,6,0,0,1-12,0V205.75A78.09,78.09,0,0,1,50,128a6,6,0,0,1,12,0,66,66,0,0,0,132,0,6,6,0,0,1,12,0A78.09,78.09,0,0,1,134,205.75Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M128,172a44.05,44.05,0,0,0,44-44V64a44,44,0,0,0-88,0v64A44.05,44.05,0,0,0,128,172ZM92,64a36,36,0,0,1,72,0v64a36,36,0,0,1-72,0Zm40,139.89V240a4,4,0,0,1-8,0V203.89A76.09,76.09,0,0,1,52,128a4,4,0,0,1,8,0,68,68,0,0,0,136,0,4,4,0,0,1,8,0A76.09,76.09,0,0,1,132,203.89Z"}))]]),Va=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Fm}));Va.displayName="MicrophoneIcon";const Lm=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M56.88,39.93A12,12,0,1,0,39.12,56.07L76,96.64V128a52,52,0,0,0,72.11,48l11.26,12.39A67.34,67.34,0,0,1,128,196a68.07,68.07,0,0,1-68-68,12,12,0,0,0-24,0,92.14,92.14,0,0,0,80,91.22V240a12,12,0,0,0,24,0V219.23a90.39,90.39,0,0,0,35.92-12.68l23.2,25.52a12,12,0,0,0,17.76-16.14ZM128,156a28,28,0,0,1-28-28v-5l29.9,32.89C129.27,156,128.64,156,128,156Zm63-2.42A67.63,67.63,0,0,0,196,128a12,12,0,0,1,24,0,91.48,91.48,0,0,1-6.74,34.61,12,12,0,0,1-22.23-9ZM85.7,33.75A52,52,0,0,1,180,64v56.54a12,12,0,0,1-24,0V64a28,28,0,0,0-50.79-16.28,12,12,0,0,1-19.51-14Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z",opacity:"0.2"}),h.createElement("path",{d:"M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M213.38,229.92a8,8,0,0,1-11.3-.54l-30.92-34A78.83,78.83,0,0,1,136,207.59V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64.07,64.07,0,0,0,64,64,63.41,63.41,0,0,0,32.21-8.68l-11.1-12.2A48,48,0,0,1,80,128V95.09L42.08,53.38A8,8,0,0,1,53.92,42.62l160,176A8,8,0,0,1,213.38,229.92Zm-24.19-63.13a7.88,7.88,0,0,0,3.51.82,8,8,0,0,0,7.19-4.49A79.16,79.16,0,0,0,208,128a8,8,0,0,0-16,0,63.32,63.32,0,0,1-6.48,28.09A8,8,0,0,0,189.19,166.79Zm-27.33-29.22A8,8,0,0,0,175.74,133a49.49,49.49,0,0,0,.26-5V64A48,48,0,0,0,84,44.87a8,8,0,0,0,1.41,8.57Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M212.44,220,52.44,44A6,6,0,0,0,43.56,52L82,94.32V128a46,46,0,0,0,67.56,40.64l13.75,15.12A65.26,65.26,0,0,1,128,194a66.08,66.08,0,0,1-66-66,6,6,0,0,0-12,0,78.09,78.09,0,0,0,72,77.75V240a6,6,0,0,0,12,0V205.77a76.93,76.93,0,0,0,37.48-13L203.56,228a6,6,0,0,0,8.88-8.08ZM128,162a34,34,0,0,1-34-34V107.52l47.12,51.84A33.82,33.82,0,0,1,128,162Zm59.32-5A65.38,65.38,0,0,0,194,128a6,6,0,0,1,12,0,77.33,77.33,0,0,1-7.9,34.25A6,6,0,1,1,187.32,157ZM85.8,45.67A46,46,0,0,1,174,64v64a45.17,45.17,0,0,1-.25,4.81,6,6,0,0,1-6,5.38q-.31,0-.63,0a6,6,0,0,1-5.34-6.59A35.41,35.41,0,0,0,162,128V64A34,34,0,0,0,96.8,50.45a6,6,0,0,1-11-4.78Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M211,221.31,51,45.31A4,4,0,0,0,45,50.69L84,93.55V128a44,44,0,0,0,66,38.12l16.38,18A67.21,67.21,0,0,1,128,196a68.07,68.07,0,0,1-68-68,4,4,0,0,0-8,0,76.09,76.09,0,0,0,72,75.89V240a4,4,0,0,0,8,0V203.89a75.1,75.1,0,0,0,39.79-13.77L205,226.69a4,4,0,1,0,5.92-5.38ZM128,164a36,36,0,0,1-36-36V102.35L144.43,160A35.83,35.83,0,0,1,128,164Zm61.12-6.15A67.44,67.44,0,0,0,196,128a4,4,0,0,1,8,0,75.28,75.28,0,0,1-7.7,33.37,4,4,0,0,1-7.18-3.52ZM87.63,46.46A44,44,0,0,1,172,64v64a44.2,44.2,0,0,1-.24,4.61,4,4,0,0,1-4,3.58l-.42,0a4,4,0,0,1-3.57-4.39A36.67,36.67,0,0,0,164,128V64A36,36,0,0,0,95,49.66a4,4,0,0,1-7.34-3.2Z"}))]]),Na=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Lm}));Na.displayName="MicrophoneSlashIcon";const Bm=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M208,36H48A28,28,0,0,0,20,64V176a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40,52a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,228ZM160.49,103.51a12,12,0,0,1-17,17L140,117v35a12,12,0,0,1-24,0V117l-3.51,3.52a12,12,0,0,1-17-17l24-24a12,12,0,0,1,17,0Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z",opacity:"0.2"}),h.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224ZM157.66,106.34a8,8,0,0,1-11.32,11.32L136,107.31V152a8,8,0,0,1-16,0V107.31l-10.34,10.35a8,8,0,0,1-11.32-11.32l24-24a8,8,0,0,1,11.32,0Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M168,224a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224ZM232,64V176a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V64A24,24,0,0,1,48,40H208A24,24,0,0,1,232,64Zm-74.34,42.34-24-24a8,8,0,0,0-11.32,0l-24,24a8,8,0,0,0,11.32,11.32L120,107.31V152a8,8,0,0,0,16,0V107.31l10.34,10.35a8,8,0,0,0,11.32-11.32Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V64A10,10,0,0,1,48,54H208a10,10,0,0,1,10,10Zm-52,48a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,224Zm-9.76-116.24a6,6,0,1,1-8.48,8.48L134,102.49V152a6,6,0,0,1-12,0V102.49l-13.76,13.75a6,6,0,0,1-8.48-8.48l24-24a6,6,0,0,1,8.48,0Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224ZM157.66,106.34a8,8,0,0,1-11.32,11.32L136,107.31V152a8,8,0,0,1-16,0V107.31l-10.34,10.35a8,8,0,0,1-11.32-11.32l24-24a8,8,0,0,1,11.32,0Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V64A12,12,0,0,1,48,52H208a12,12,0,0,1,12,12Zm-56,48a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,224Zm-9.17-114.83a4,4,0,0,1-5.66,5.66L132,97.66V152a4,4,0,0,1-8,0V97.66l-17.17,17.17a4,4,0,0,1-5.66-5.66l24-24a4,4,0,0,1,5.66,0Z"}))]]),Pa=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Bm}));Pa.displayName="MonitorArrowUpIcon";const $m=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M140,32V64a12,12,0,0,1-24,0V32a12,12,0,0,1,24,0Zm33.25,62.75a12,12,0,0,0,8.49-3.52L204.37,68.6a12,12,0,0,0-17-17L164.77,74.26a12,12,0,0,0,8.48,20.49ZM224,116H192a12,12,0,0,0,0,24h32a12,12,0,0,0,0-24Zm-42.26,48.77a12,12,0,1,0-17,17l22.63,22.63a12,12,0,0,0,17-17ZM128,180a12,12,0,0,0-12,12v32a12,12,0,0,0,24,0V192A12,12,0,0,0,128,180ZM74.26,164.77,51.63,187.4a12,12,0,0,0,17,17l22.63-22.63a12,12,0,1,0-17-17ZM76,128a12,12,0,0,0-12-12H32a12,12,0,0,0,0,24H64A12,12,0,0,0,76,128ZM68.6,51.63a12,12,0,1,0-17,17L74.26,91.23a12,12,0,0,0,17-17Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),h.createElement("path",{d:"M136,32V64a8,8,0,0,1-16,0V32a8,8,0,0,1,16,0Zm37.25,58.75a8,8,0,0,0,5.66-2.35l22.63-22.62a8,8,0,0,0-11.32-11.32L167.6,77.09a8,8,0,0,0,5.65,13.66ZM224,120H192a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16Zm-45.09,47.6a8,8,0,0,0-11.31,11.31l22.62,22.63a8,8,0,0,0,11.32-11.32ZM128,184a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V192A8,8,0,0,0,128,184ZM77.09,167.6,54.46,190.22a8,8,0,0,0,11.32,11.32L88.4,178.91A8,8,0,0,0,77.09,167.6ZM72,128a8,8,0,0,0-8-8H32a8,8,0,0,0,0,16H64A8,8,0,0,0,72,128ZM65.78,54.46A8,8,0,0,0,54.46,65.78L77.09,88.4A8,8,0,0,0,88.4,77.09Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm33.94,58.75,17-17a8,8,0,0,1,11.32,11.32l-17,17a8,8,0,0,1-11.31-11.31ZM48,136a8,8,0,0,1,0-16H72a8,8,0,0,1,0,16Zm46.06,37.25-17,17a8,8,0,0,1-11.32-11.32l17-17a8,8,0,0,1,11.31,11.31Zm0-79.19a8,8,0,0,1-11.31,0l-17-17A8,8,0,0,1,77.09,65.77l17,17A8,8,0,0,1,94.06,94.06ZM136,208a8,8,0,0,1-16,0V184a8,8,0,0,1,16,0Zm0-136a8,8,0,0,1-16,0V48a8,8,0,0,1,16,0Zm54.23,118.23a8,8,0,0,1-11.32,0l-17-17a8,8,0,0,1,11.31-11.31l17,17A8,8,0,0,1,190.23,190.23ZM208,136H184a8,8,0,0,1,0-16h24a8,8,0,0,1,0,16Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M134,32V64a6,6,0,0,1-12,0V32a6,6,0,0,1,12,0Zm39.25,56.75A6,6,0,0,0,177.5,87l22.62-22.63a6,6,0,0,0-8.48-8.48L169,78.5a6,6,0,0,0,4.24,10.25ZM224,122H192a6,6,0,0,0,0,12h32a6,6,0,0,0,0-12Zm-46.5,47A6,6,0,0,0,169,177.5l22.63,22.62a6,6,0,0,0,8.48-8.48ZM128,186a6,6,0,0,0-6,6v32a6,6,0,0,0,12,0V192A6,6,0,0,0,128,186ZM78.5,169,55.88,191.64a6,6,0,1,0,8.48,8.48L87,177.5A6,6,0,1,0,78.5,169ZM70,128a6,6,0,0,0-6-6H32a6,6,0,0,0,0,12H64A6,6,0,0,0,70,128ZM64.36,55.88a6,6,0,0,0-8.48,8.48L78.5,87A6,6,0,1,0,87,78.5Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M136,32V64a8,8,0,0,1-16,0V32a8,8,0,0,1,16,0Zm37.25,58.75a8,8,0,0,0,5.66-2.35l22.63-22.62a8,8,0,0,0-11.32-11.32L167.6,77.09a8,8,0,0,0,5.65,13.66ZM224,120H192a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16Zm-45.09,47.6a8,8,0,0,0-11.31,11.31l22.62,22.63a8,8,0,0,0,11.32-11.32ZM128,184a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V192A8,8,0,0,0,128,184ZM77.09,167.6,54.46,190.22a8,8,0,0,0,11.32,11.32L88.4,178.91A8,8,0,0,0,77.09,167.6ZM72,128a8,8,0,0,0-8-8H32a8,8,0,0,0,0,16H64A8,8,0,0,0,72,128ZM65.78,54.46A8,8,0,0,0,54.46,65.78L77.09,88.4A8,8,0,0,0,88.4,77.09Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M132,32V64a4,4,0,0,1-8,0V32a4,4,0,0,1,8,0Zm41.25,54.75a4,4,0,0,0,2.83-1.18L198.71,63a4,4,0,0,0-5.66-5.66L170.43,79.92a4,4,0,0,0,2.82,6.83ZM224,124H192a4,4,0,0,0,0,8h32a4,4,0,0,0,0-8Zm-47.92,46.43a4,4,0,1,0-5.65,5.65l22.62,22.63a4,4,0,0,0,5.66-5.66ZM128,188a4,4,0,0,0-4,4v32a4,4,0,0,0,8,0V192A4,4,0,0,0,128,188ZM79.92,170.43,57.29,193.05A4,4,0,0,0,63,198.71l22.62-22.63a4,4,0,1,0-5.65-5.65ZM68,128a4,4,0,0,0-4-4H32a4,4,0,0,0,0,8H64A4,4,0,0,0,68,128ZM63,57.29A4,4,0,0,0,57.29,63L79.92,85.57a4,4,0,1,0,5.65-5.65Z"}))]]),Js=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:$m}));Js.displayName="SpinnerIcon";const Om=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M249.45,69.31a12,12,0,0,0-12.51,1L212,88.43V72a20,20,0,0,0-20-20H32A20,20,0,0,0,12,72V184a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V167.57l24.94,18.14A12,12,0,0,0,256,176V80A12,12,0,0,0,249.45,69.31ZM188,180H36V76H188Zm44-27.57-20-14.54V118.11l20-14.54Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M200,72V184a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V72a8,8,0,0,1,8-8H192A8,8,0,0,1,200,72Z",opacity:"0.2"}),h.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M192,72V184a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V72A16,16,0,0,1,32,56H176A16,16,0,0,1,192,72Zm58,.25a8.23,8.23,0,0,0-6.63,1.22L209.78,95.86A4,4,0,0,0,208,99.19v57.62a4,4,0,0,0,1.78,3.33l33.78,22.52a8,8,0,0,0,8.58.19,8.33,8.33,0,0,0,3.86-7.17V80A8,8,0,0,0,250,72.25Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M250.83,74.71a6,6,0,0,0-6.16.3L206,100.79V72a14,14,0,0,0-14-14H32A14,14,0,0,0,18,72V184a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V155.21L244.67,181a6,6,0,0,0,9.33-5V80A6,6,0,0,0,250.83,74.71ZM194,184a2,2,0,0,1-2,2H32a2,2,0,0,1-2-2V72a2,2,0,0,1,2-2H192a2,2,0,0,1,2,2Zm48-19.21-36-24V115.21l36-24Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M249.89,76.47a4,4,0,0,0-4.11.2L204,104.53V72a12,12,0,0,0-12-12H32A12,12,0,0,0,20,72V184a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V151.47l41.78,27.86A4,4,0,0,0,252,176V80A4,4,0,0,0,249.89,76.47ZM196,184a4,4,0,0,1-4,4H32a4,4,0,0,1-4-4V72a4,4,0,0,1,4-4H192a4,4,0,0,1,4,4Zm48-15.47-40-26.67V114.14l40-26.67Z"}))]]),Ra=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:Om}));Ra.displayName="VideoCameraIcon";const _m=new Map([["bold",h.createElement(h.Fragment,null,h.createElement("path",{d:"M249.45,69.31a12,12,0,0,0-12.51,1L212,88.43V72a20,20,0,0,0-20-20H123.88a12,12,0,0,0,0,24H188v68a12,12,0,0,0,4.46,9.33c.15.13.31.25.48.38l44,32A12,12,0,0,0,256,176V80A12,12,0,0,0,249.45,69.31ZM232,152.43l-20-14.54V118.11l20-14.54ZM56.88,31.93A12,12,0,1,0,39.12,48.07L42.69,52H32A20,20,0,0,0,12,72V184a20,20,0,0,0,20,20H180.87l18.25,20.07a12,12,0,0,0,17.76-16.14ZM36,180V76H64.51l94.55,104Z"}))],["duotone",h.createElement(h.Fragment,null,h.createElement("path",{d:"M200,72V184a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V72a8,8,0,0,1,8-8H192A8,8,0,0,1,200,72Z",opacity:"0.2"}),h.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H113.06a8,8,0,0,0,0,16H192v87.63a8,8,0,0,0,16,0V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM240,161.05l-32-21.33V116.28L240,95ZM53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H182.64l19.44,21.38a8,8,0,1,0,11.84-10.76ZM32,184V72H66.28L168.1,184Z"}))],["fill",h.createElement(h.Fragment,null,h.createElement("path",{d:"M256,80.23v95.45a8.33,8.33,0,0,1-3.86,7.17,8,8,0,0,1-8.58-.19l-33.78-22.52a4,4,0,0,1-1.78-3.33V99.19a4,4,0,0,1,1.78-3.32l33.78-22.53a8,8,0,0,1,9.73.66A8.23,8.23,0,0,1,256,80.23ZM53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H182.64l19.44,21.38a8,8,0,1,0,11.84-10.76ZM185,155.07a4,4,0,0,0,7-2.7V72a16,16,0,0,0-16-16H104a4,4,0,0,0-3,6.69Z"}))],["light",h.createElement(h.Fragment,null,h.createElement("path",{d:"M250.83,74.71a6,6,0,0,0-6.16.3L206,100.79V72a14,14,0,0,0-14-14H113.06a6,6,0,0,0,0,12H192a2,2,0,0,1,2,2v87.63a6,6,0,0,0,12,0v-4.42L244.67,181a6,6,0,0,0,9.33-5V80A6,6,0,0,0,250.83,74.71ZM242,164.79l-36-24V115.21l36-24ZM52.44,36A6,6,0,0,0,43.56,44L56.25,58H32A14,14,0,0,0,18,72V184a14,14,0,0,0,14,14H183.53l20,22a6,6,0,0,0,8.88-8.08ZM32,186a2,2,0,0,1-2-2V72a2,2,0,0,1,2-2H67.16L172.62,186Z"}))],["regular",h.createElement(h.Fragment,null,h.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H113.06a8,8,0,0,0,0,16H192v87.63a8,8,0,0,0,16,0V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM240,161.05l-32-21.33V116.28L240,95ZM53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H182.64l19.44,21.38a8,8,0,1,0,11.84-10.76ZM32,184V72H66.28L168.1,184Z"}))],["thin",h.createElement(h.Fragment,null,h.createElement("path",{d:"M249.89,76.47a4,4,0,0,0-4.11.2L204,104.53V72a12,12,0,0,0-12-12H113.06a4,4,0,0,0,0,8H192a4,4,0,0,1,4,4v87.63a4,4,0,0,0,8,0v-8.16l41.78,27.86A4,4,0,0,0,252,176V80A4,4,0,0,0,249.89,76.47ZM244,168.53l-40-26.67V114.14l40-26.67ZM51,37.31A4,4,0,0,0,45,42.69L60.78,60H32A12,12,0,0,0,20,72V184a12,12,0,0,0,12,12H184.41L205,218.69a4,4,0,1,0,5.92-5.38ZM32,188a4,4,0,0,1-4-4V72a4,4,0,0,1,4-4H68.05L177.14,188Z"}))]]),Ia=h.forwardRef((e,t)=>h.createElement(Ne,{ref:t,...e,weights:_m}));Ia.displayName="VideoCameraSlashIcon";function ji(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Hm(...e){return t=>{let n=!1;const s=e.map(o=>{const r=ji(o,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let o=0;o<s.length;o++){const r=s[o];typeof r=="function"?r():ji(e[o],null)}}}}function Zm(e){const t=zm(e),n=h.forwardRef((s,o)=>{const{children:r,...i}=s,l=h.Children.toArray(r),c=l.find(Km);if(c){const d=c.props.children,u=l.map(m=>m===c?h.Children.count(d)>1?h.Children.only(null):h.isValidElement(d)?d.props.children:null:m);return a.jsx(t,{...i,ref:o,children:h.isValidElement(d)?h.cloneElement(d,void 0,u):null})}return a.jsx(t,{...i,ref:o,children:r})});return n.displayName=`${e}.Slot`,n}var Um=Zm("Slot");function zm(e){const t=h.forwardRef((n,s)=>{const{children:o,...r}=n;if(h.isValidElement(o)){const i=Ym(o),l=Gm(r,o.props);return o.type!==h.Fragment&&(l.ref=s?Hm(s,i):i),h.cloneElement(o,l)}return h.Children.count(o)>1?h.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Wm=Symbol("radix.slottable");function Km(e){return h.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Wm}function Gm(e,t){const n={...t};for(const s in t){const o=e[s],r=t[s];/^on[A-Z]/.test(s)?o&&r?n[s]=(...l)=>{const c=r(...l);return o(...l),c}:o&&(n[s]=o):s==="style"?n[s]={...o,...r}:s==="className"&&(n[s]=[o,r].filter(Boolean).join(" "))}return{...e,...n}}function Ym(e){var s,o;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}const qm=un.cva(["text-xs font-bold tracking-wider uppercase whitespace-nowrap","inline-flex items-center justify-center gap-2 shrink-0 rounded-full cursor-pointer outline-none transition-colors duration-300","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","disabled:pointer-events-none disabled:opacity-50","aria-invalid:ring-destructive/20 aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40 ","[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0"],{variants:{variant:{default:"bg-button text-button-foreground hover:bg-muted focus:bg-muted",destructive:["bg-destructive text-destructive-foreground","hover:bg-destructive-hover focus:bg-destructive-hover focus-visible:ring-destructive-foreground/20","dark:focus-visible:ring-destructive-foreground/40"],outline:["border bg-background","hover:bg-accent hover:text-accent-foreground","dark:bg-input/30 dark:border-input dark:hover:bg-input/50"],primary:"",secondary:"bg-secondary text-secondary-foregroun hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Xm({className:e,variant:t,size:n,asChild:s=!1,...o}){const r=s?Um:"button";return a.jsx(r,{"data-slot":"button",className:$(qm({variant:t,size:n,className:e})),...o})}function Jm({onSend:e,className:t,disabled:n,...s}){const o=y.useRef(null),[r,i]=y.useState(""),l=d=>{var u,m;d.preventDefault(),(u=s.onSubmit)==null||u.call(s,d),e==null||e(r),i(""),(m=o.current)==null||m.focus({preventScroll:!0})},c=n||r.trim().length===0;return a.jsxs("form",{...s,onSubmit:l,className:$("flex items-center rounded-md pl-1 text-sm",t),children:[a.jsx("input",{ref:o,type:"text",className:"flex-1 focus:outline-none",placeholder:"Type something...",value:r,onChange:d=>i(d.target.value),disabled:n}),a.jsx(Xm,{size:"sm",type:"submit",variant:c?"secondary":"primary",disabled:c,className:"font-mono",children:"SEND"})]})}const Qm=un.cva(["inline-flex items-center justify-center gap-2 rounded-full","text-sm font-medium whitespace-nowrap","cursor-pointer outline-none transition-[color,border,background-color]","!focus:ring-0 !focus-visible:ring-0 !focus:border-none !focus-visible:border-none !ring-0 !border-none !outline-none","aria-invalid:ring-0 dark:aria-invalid:ring-0 aria-invalid:border-0","disabled:pointer-events-none disabled:opacity-50 disabled:not-allowed","data-[state=on]:bg-button-selected data-[state=on]:border-button-border-selected","[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0"],{variants:{variant:{default:"bg-button hover:bg-muted focus:bg-muted hover:text-muted-foreground focus:text-muted-foreground",primary:"text-fg1 bg-button hover:bg-button-hover focus:bg-button-hover data-[state=off]:bg-button-primary hover:data-[state=off]:bg-button-hover data-[state=off]:text-button-primary-foreground",secondary:"text-fg1 bg-button hover:bg-button-hover focus:bg-button-hover data-[state=on]:bg-button-secondary hover:data-[state=on]:bg-button-secondary data-[state=on]:text-button-secondary-foreground",outline:["border border-button-border bg-button text-button-foreground","hover:bg-background focus:bg-background"]},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}});function Da({className:e,variant:t,size:n,...s}){return a.jsx(ml.Root,{"data-slot":"toggle",className:$(Qm({variant:t,size:n,className:e})),...s})}function ef(e){const[t,n]=y.useState(()=>e.getPublishPermissions());return y.useEffect(()=>{const s=()=>{n(e.getPublishPermissions())},o=()=>{s()};return e.on("connection.connected",o),e.on("connection.disconnected",o),()=>{e.off("connection.connected",o),e.off("connection.disconnected",o)}},[e]),t}function tf(e){const[t,n]=y.useState(()=>e.getLocalParticipant()),[s,o]=y.useState(()=>e.getMicrophoneTrack());return y.useEffect(()=>{const r=()=>{const l=e.getLocalParticipant(),c=e.getMicrophoneTrack();console.log("🎤 useVoxketLocalParticipant: Updating state:",{hasParticipant:!!l,hasMicTrack:!!c,isMicEnabled:e.isMicrophoneEnabled,trackPublications:l?l.trackPublications.size:0}),n(l),o(c)};r(),e.on("connection.connected",r),e.on("connection.disconnected",r),e.on("track.muted",r),e.on("track.unmuted",r);const i=e.getRoom();if(i){const l=()=>{console.log("🎤 Track published, updating participant state"),r()},c=()=>{console.log("🎤 Track unpublished, updating participant state"),r()};return i.on("localTrackPublished",l),i.on("localTrackUnpublished",c),()=>{e.off("connection.connected",r),e.off("connection.disconnected",r),e.off("track.muted",r),e.off("track.unmuted",r),i.off("localTrackPublished",l),i.off("localTrackUnpublished",c)}}else return()=>{e.off("connection.connected",r),e.off("connection.disconnected",r),e.off("track.muted",r),e.off("track.unmuted",r)}},[e]),{localParticipant:t,microphoneTrack:s}}function Bn(e,t,n){const[s,o]=y.useState(!1),[r,i]=y.useState(!1);return y.useEffect(()=>{const c=()=>{let d=!1;switch(t){case"microphone":d=e.isMicrophoneEnabled;break;case"camera":d=e.isCameraEnabled;break;case"screenShare":d=e.isScreenShareEnabled;break}console.log(`useVoxketTrackToggle: ${t} enabled state updated to:`,d),o(d)};return c(),e.on("track.muted",c),e.on("track.unmuted",c),e.on("connection.connected",c),()=>{e.off("track.muted",c),e.off("track.unmuted",c),e.off("connection.connected",c)}},[e,t]),{enabled:s,pending:r,toggle:async c=>{var d;try{i(!0);const u=c!==void 0?c:!s;switch(t){case"microphone":await e.toggleMicrophone(u);break;case"camera":await e.toggleCamera(u);break;case"screenShare":u?await e.startScreenShare():await e.stopScreenShare();break}}catch(u){(d=n==null?void 0:n.onDeviceError)==null||d.call(n,u)}finally{i(!1)}}}}function nf(e){const[t,n]=y.useState(()=>e.getRoom()),[s,o]=y.useState(()=>e.getConnectionState());return y.useEffect(()=>{const r=()=>{n(e.getRoom()),o(e.getConnectionState())};return e.on("connection.connected",r),e.on("connection.disconnected",r),e.on("connection.connecting",r),()=>{e.off("connection.connected",r),e.off("connection.disconnected",r),e.off("connection.connecting",r)}},[e]),t}function sf(e,t){const[n,s]=y.useState([]),[o,r]=y.useState("");return y.useEffect(()=>{var d;const l=async()=>{try{const u=t==="audioinput"?await e.getAudioInputDevices():await e.getVideoInputDevices();s(u)}catch(u){console.error("Failed to load devices:",u)}};l();const c=()=>{l()};return(d=navigator.mediaDevices)==null||d.addEventListener("devicechange",c),()=>{var u;(u=navigator.mediaDevices)==null||u.removeEventListener("devicechange",c)}},[e,t]),{devices:n,activeDeviceId:o,setActiveMediaDevice:async l=>{try{t==="audioinput"?await e.setAudioInputDevice(l):await e.setVideoInputDevice(l),r(l)}catch(c){console.error("Failed to set device:",c)}}}}function of(e){const{preventSave:t=!1}=e||{};return{saveAudioInputEnabled:i=>{t||localStorage.setItem("voxket-audio-input-enabled",i.toString())},saveAudioInputDeviceId:i=>{t||localStorage.setItem("voxket-audio-input-device-id",i)},saveVideoInputEnabled:i=>{t||localStorage.setItem("voxket-video-input-enabled",i.toString())},saveVideoInputDeviceId:i=>{t||localStorage.setItem("voxket-video-input-device-id",i)}}}function Ei({...e}){return a.jsx(Ee.Root,{"data-slot":"select",...e})}function Ai({...e}){return a.jsx(Ee.Value,{"data-slot":"select-value",...e})}function Mi({className:e,size:t="default",children:n,...s}){return a.jsxs(Ee.Trigger,{"data-slot":"select-trigger","data-size":t,className:$(["flex w-fit cursor-pointer items-center justify-between gap-2","rounded-full px-3 py-2 text-sm whitespace-nowrap","bg-button transition-[color,border,background-color]","disabled:cursor-not-allowed disabled:opacity-50","hover:bg-muted hover:text-muted-foreground","!focus:ring-0 !focus-visible:ring-0 !focus:border-none !focus-visible:border-none !ring-0 !border-none !outline-none","aria-invalid:ring-0 dark:aria-invalid:ring-0","data-[placeholder]:text-muted-foreground","data-[size=default]:h-9 data-[size=sm]:h-8","*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2","[&:not([class*='text-'])_svg:not([class*='text-'])]:text-muted-foreground","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"],e),...s,children:[n,a.jsx(Ee.Icon,{asChild:!0,children:a.jsx(Xs,{weight:"bold",className:"size-4 transition-colors"})})]})}function Ti({className:e,children:t,position:n="popper",...s}){return a.jsx(Ee.Portal,{children:a.jsxs(Ee.Content,{"data-slot":"select-content",className:$(["bg-[#18182a]/90 backdrop-blur-md text-white border border-[#23233a] shadow-2xl","relative z-50 overflow-x-hidden overflow-y-auto rounded-xl","max-h-(--radix-select-content-available-height) min-w-[8rem]","origin-(--radix-select-content-transform-origin)","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=top]:slide-in-from-bottom-2","data-[side=right]:slide-in-from-left-2","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2"],n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...s,children:[a.jsx(rf,{}),a.jsx(Ee.Viewport,{className:$("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),a.jsx(af,{})]})})}function Vi({className:e,children:t,...n}){return a.jsxs(Ee.Item,{"data-slot":"select-item",className:$(["relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none","cursor-pointer disabled:cursor-not-allowed","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2","[&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"],e),...n,children:[a.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:a.jsx(Ee.ItemIndicator,{children:a.jsx(Ta,{className:"size-4",weight:"bold"})})}),a.jsx(Ee.ItemText,{children:t})]})}function rf({className:e,...t}){return a.jsx(Ee.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Aa,{className:"size-4",weight:"bold"})})}function af({className:e,...t}){return a.jsx(Ee.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Xs,{className:"size-4",weight:"bold"})})}const Ni=un.cva(["w-full rounded-full px-3 py-2 text-sm cursor-pointer","disabled:not-allowed hover:bg-button-hover focus:bg-button-hover"],{variants:{size:{default:"w-[180px]",sm:"w-auto"}},defaultVariants:{size:"default"}});function Pi({kind:e,track:t,requestPermissions:n,onError:s,client:o,...r}){const i=r.size||"default";if(!o)return a.jsxs(Ei,{disabled:!0,children:[a.jsx(Mi,{className:$(Ni({size:i}),r.className),children:a.jsx(Ai,{placeholder:`Select a ${e}`})}),a.jsx(Ti,{children:a.jsx(Vi,{value:"none",children:"No devices available"})})]});const{devices:l,activeDeviceId:c,setActiveMediaDevice:d}=sf(o,e==="audioinput"?"audioinput":"videoinput");return a.jsxs(Ei,{value:c,onValueChange:d,children:[a.jsx(Mi,{className:$(Ni({size:i}),r.className,"hover:bg"),children:i!=="sm"&&a.jsx(Ai,{className:"font-mono text-sm",placeholder:`Select a ${e}`})}),a.jsx(Ti,{children:l.map(u=>a.jsx(Vi,{value:u.deviceId,className:"font-mono text-xs",children:u.label},u.deviceId))})]})}function lf(e,t,n=!1){if(n)return Js;switch(e){case I.Track.Source.Microphone:return t?Va:Na;case I.Track.Source.Camera:return t?Ra:Ia;case I.Track.Source.ScreenShare:return Pa;default:return h.Fragment}}function $n({source:e,pressed:t,pending:n,className:s,...o}){const r=lf(e,t??!1,n),i=e===I.Track.Source.Microphone&&!(t??!1)&&!n,l=e===I.Track.Source.Camera&&!(t??!1)&&!n;return h.useEffect(()=>{console.log(`TrackToggle for ${e} changed: pressed=${t}, pending=${n}, actualState=${t?"enabled":"disabled"}`)},[e,t,n]),a.jsxs(Da,{pressed:t,"aria-label":`Toggle ${e}`,className:$(s),...o,children:[a.jsx(r,{weight:"bold",className:$(n&&"animate-spin",i||l?"text-red-500":void 0)}),o.children]})}function cf(e){return e?ef(e):{camera:!0,microphone:!0,screenShare:!0,data:!0}}function df(e={}){const{controls:t,saveUserChoices:n=!0,client:s}=e,o={leave:!0,...t};if(!s)return{micTrackRef:{participant:void 0,source:I.Track.Source.Microphone,publication:void 0},visibleControls:o,microphoneToggle:{enabled:!1,pending:!1,toggle:async()=>{}},cameraToggle:{enabled:!1,pending:!1,toggle:async()=>{}},screenShareToggle:{enabled:!1,pending:!1,toggle:async()=>{}},handleDisconnect:()=>{},handleAudioDeviceChange:()=>{},handleVideoDeviceChange:()=>{}};const{microphoneTrack:r,localParticipant:i}=tf(s),l=cf(s);nf(s);const c=Bn(s,"microphone",{onDeviceError:A=>{var j;return(j=e.onDeviceError)==null?void 0:j.call(e,{source:I.Track.Source.Microphone,error:A})}}),d=Bn(s,"camera",{onDeviceError:A=>{var j;return(j=e.onDeviceError)==null?void 0:j.call(e,{source:I.Track.Source.Camera,error:A})}}),u=Bn(s,"screenShare",{onDeviceError:A=>{var j;return(j=e.onDeviceError)==null?void 0:j.call(e,{source:I.Track.Source.ScreenShare,error:A})}}),m=h.useMemo(()=>{let A;if(i){for(const[,j]of i.trackPublications)if(j.source===I.Track.Source.Microphone){A=j;break}}return console.log("🎤 Creating micTrackRef:",{hasParticipant:!!i,hasPublication:!!A,isTrackSubscribed:A==null?void 0:A.isSubscribed,isMuted:A==null?void 0:A.isMuted,trackSid:A==null?void 0:A.trackSid}),{participant:i??void 0,source:I.Track.Source.Microphone,publication:A}},[i,r]);o.microphone??(o.microphone=l.microphone),o.screenShare??(o.screenShare=l.screenShare),o.camera??(o.camera=l.camera),o.chat??(o.chat=l.data);const{saveAudioInputEnabled:f,saveAudioInputDeviceId:p,saveVideoInputEnabled:g,saveVideoInputDeviceId:x}=of({preventSave:!n}),v=h.useCallback(()=>{s&&s.disconnect()},[s]),E=h.useCallback(A=>{p(A??"default"),s&&s.setAudioInputDevice(A)},[p,s]),b=h.useCallback(A=>{x(A??"default"),s&&s.setVideoInputDevice(A)},[x,s]),S=h.useCallback(async A=>{u.enabled&&await u.toggle(!1),await d.toggle(A),g(!d.enabled)},[d,g,u]),w=h.useCallback(async A=>{await c.toggle(A),f(!c.enabled)},[c,f]),C=h.useCallback(async A=>{d.enabled&&await d.toggle(!1),await u.toggle(A)},[d,u]);return{micTrackRef:m,visibleControls:o,cameraToggle:{...d,toggle:S},microphoneToggle:{...c,toggle:w},screenShareToggle:{...u,toggle:C},handleDisconnect:v,handleAudioDeviceChange:E,handleVideoDeviceChange:b}}const uf={card:" bg-gradient-to-br from-black to-gray-900 border border-gray-900 w-full h-full flex flex-col justify-between overflow-hidden mx-auto my-auto rounded-2xl shadow-lg",cardTopGradient:"pointer-events-none absolute top-0 left-0 w-full h-10 z-10 bg-gradient-to-b from-black/90 to-transparent",cardRadial:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_var(--tw-gradient-stops))] from-gray-800/20 via-transparent to-transparent",cardPurpleBlur:"absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-gray-600/10 to-transparent rounded-full blur-2xl",cardPinkBlur:"absolute bottom-0 left-0 w-24 h-24 bg-gradient-to-tr from-gray-500/8 to-transparent rounded-full blur-xl",cardPulse1:"absolute -top-2 -left-2 w-6 h-6 bg-gradient-to-br from-gray-400 to-gray-500 rounded-full blur-sm opacity-20 animate-pulse",cardPulse2:"absolute -bottom-2 -right-2 w-4 h-4 bg-gradient-to-br from-gray-500 to-gray-600 rounded-full blur-sm opacity-15 animate-pulse",main:"w-full flex flex-col items-center justify-center max-w-md mx-auto bg-gradient-to-br from-black to-gray-900 rounded-2xl shadow-xl p-0 overflow-hidden h-full",text:{primary:"text-white",secondary:"text-gray-300",muted:"text-gray-400",accent:"bg-clip-text text-transparent bg-gradient-to-r from-white via-gray-200 to-gray-300"},micButton:"absolute w-20 h-20 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 mic-glow shadow-2xl group",chatButton:"absolute w-20 h-20 bg-gradient-to-br from-[#10B981] to-[#059669] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",videoButton:"absolute w-20 h-20 bg-gradient-to-br from-[#8B5CF6] to-[#EC4899] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",popupTrigger:"bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] text-white font-medium hover:from-[#2563EB] hover:to-[#7C3AED] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-gray-900",promptSlider:"absolute w-full py-3 px-2 bg-gray-900 rounded-xl text-center text-white text-sm transition-opacity duration-700 ease-in-out border border-gray-600",statusIndicator:"w-2 h-2 bg-gray-400 rounded-full animate-pulse",pulseRings:{ring1:"w-32 h-32 rounded-full border-2 border-gray-600/30 pulse-ring",ring2:"absolute w-28 h-28 rounded-full border-2 border-gray-500/20 pulse-ring",ring3:"absolute w-24 h-24 rounded-full border-2 border-gray-400/15 pulse-ring"},controlBar:"border border-gray-600 rounded-3xl py-4 flex flex-col justify-end h-full bg-gray-900/50 backdrop-blur-sm",chatInput:{container:"bg-gray-900 w-full border-gray-600",textarea:"bg-gray-800 border-none text-white placeholder-gray-400",sendButton:"bg-blue-600 hover:bg-blue-700 disabled:bg-gray-600 disabled:opacity-50 text-white",attachButton:"text-gray-400 hover:text-gray-300 hover:bg-gray-700",endButton:"bg-red-900/20 hover:bg-red-800/30 text-red-400 border-red-800"},chatMessage:{own:"bg-gray-600 text-white",other:"bg-gray-700 text-white"},chatHeader:{container:"bg-gray-900 border-gray-600",backButton:"text-gray-400 hover:text-white hover:bg-gray-700"},spinner:"w-10 h-10 animate-spin text-gray-400 mb-2",suggestedResponse:{container:"bg-gray-800 text-blue-300 border-gray-700 hover:bg-gray-700 hover:text-white"},video:{container:"bg-gradient-to-br from-black to-gray-900 text-white",header:"border-gray-700 bg-gray-900/50",headerButton:"bg-gray-800 hover:bg-gray-700 text-gray-300",statusDot:"bg-green-500 animate-pulse",controlsBackground:"bg-gray-900/80 backdrop-blur-sm border-t border-gray-700",controlEnabled:"bg-blue-600 hover:bg-blue-700 text-white",controlDisabled:"bg-gray-700 hover:bg-gray-600 text-gray-300",endCall:"bg-red-600 hover:bg-red-700 text-white",tile:"bg-gray-800 border border-gray-700 shadow-lg",placeholder:"bg-gray-800 text-gray-300",avatar:"bg-gray-700 text-gray-300",nameOverlay:"bg-black/70 text-white",mutedIndicator:"bg-red-600/80 text-white"}},hf={card:" bg-gradient-to-br from-white to-gray-50 border border-gray-200 w-full h-full flex flex-col justify-between overflow-hidden mx-auto my-auto shadow-lg",cardTopGradient:"pointer-events-none absolute top-0 left-0 w-full h-10 z-10 bg-gradient-to-b from-white/90 to-transparent",cardRadial:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_var(--tw-gradient-stops))] from-blue-500/5 via-transparent to-transparent",cardPurpleBlur:"absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-purple-500/10 to-transparent rounded-full blur-2xl",cardPinkBlur:"absolute bottom-0 left-0 w-24 h-24 bg-gradient-to-tr from-pink-500/8 to-transparent rounded-full blur-xl",cardPulse1:"absolute -top-2 -left-2 w-6 h-6 bg-gradient-to-br from-blue-500 to-purple-500 rounded-full blur-sm opacity-30 animate-pulse",cardPulse2:"absolute -bottom-2 -right-2 w-4 h-4 bg-gradient-to-br from-pink-500 to-purple-500 rounded-full blur-sm opacity-20 animate-pulse",main:"w-full flex flex-col items-center justify-center max-w-md mx-auto bg-gradient-to-br from-white to-gray-50 rounded-2xl shadow-xl p-0 overflow-hidden h-full",text:{primary:"text-gray-900",secondary:"text-gray-700",muted:"text-gray-500",accent:"bg-clip-text text-transparent bg-gradient-to-r from-blue-600 via-purple-600 to-pink-600"},micButton:"absolute text-white w-20 h-20 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 mic-glow shadow-2xl group",chatButton:"absolute text-white w-20 h-20 bg-gradient-to-br from-[#10B981] to-[#059669] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",videoButton:"absolute text-white w-20 h-20 bg-gradient-to-br from-[#8B5CF6] to-[#EC4899] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",popupTrigger:"bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] text-white font-medium hover:from-[#2563EB] hover:to-[#7C3AED] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-white",promptSlider:"absolute w-full py-3 px-2 bg-gray-100 rounded-xl text-center text-gray-700 text-sm transition-opacity duration-700 ease-in-out border border-gray-200",statusIndicator:"w-2 h-2 bg-green-500 rounded-full animate-pulse",pulseRings:{ring1:"w-32 h-32 rounded-full border-2 border-blue-500/20 pulse-ring",ring2:"absolute w-28 h-28 rounded-full border-2 border-purple-500/15 pulse-ring",ring3:"absolute w-24 h-24 rounded-full border-2 border-pink-500/10 pulse-ring"},controlBar:"border border-gray-200 rounded-3xl py-4 flex flex-col justify-end h-full bg-white/80 backdrop-blur-sm",chatInput:{container:"bg-white/90 border-gray-200 shadow-sm",textarea:"bg-white border-none text-gray-900 placeholder-gray-500 ",sendButton:"bg-blue-600 hover:bg-blue-700 disabled:bg-gray-300 disabled:opacity-50 text-white",attachButton:"text-gray-500 hover:text-gray-700 hover:bg-gray-100 bg-blue-50",endButton:"bg-red-50 hover:bg-red-100 text-red-600 border-red-200"},chatMessage:{own:"bg-blue-50 text-gray-900 border border-blue-100",other:"bg-gray-50 text-gray-900 border border-gray-200"},chatHeader:{container:"bg-white border-gray-200",backButton:"text-gray-500 hover:text-gray-700 hover:bg-gray-100"},spinner:"w-10 h-10 animate-spin text-blue-500 mb-2",suggestedResponse:{container:"bg-white text-blue-700 border-blue-200 hover:bg-blue-50 hover:text-blue-900"},video:{container:"bg-gradient-to-br from-white to-gray-50 text-gray-900",header:"border-gray-200 bg-white/80",headerButton:"bg-gray-100 hover:bg-gray-200 text-gray-600",statusDot:"bg-green-500 animate-pulse",controlsBackground:"bg-white/90 backdrop-blur-sm border-t border-gray-200",controlEnabled:"bg-blue-600 hover:bg-blue-700 text-white",controlDisabled:"bg-gray-200 hover:bg-gray-300 text-gray-600",endCall:"bg-red-600 hover:bg-red-700 text-white",tile:"bg-white border border-gray-200 shadow-sm",placeholder:"bg-gray-50 text-gray-600",avatar:"bg-gray-200 text-gray-600",nameOverlay:"bg-black/70 text-white",mutedIndicator:"bg-red-600/80 text-white"}},mf={card:" text-white bg-gradient-to-br from-[#171727] to-[#12121F] border border-gray-800 w-full h-full flex flex-col justify-between overflow-hidden mx-auto my-auto",cardTopGradient:"pointer-events-none absolute top-0 left-0 w-full h-10 z-10 bg-gradient-to-b from-[#171727]/90 to-transparent",cardRadial:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_var(--tw-gradient-stops))] from-[#3B82F6]/15 via-transparent to-transparent",cardPurpleBlur:"absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-[#8B5CF6]/25 to-transparent rounded-full blur-2xl",cardPinkBlur:"absolute bottom-0 left-0 w-24 h-24 bg-gradient-to-tr from-[#EC4899]/20 to-transparent rounded-full blur-xl",cardPulse1:"absolute -top-2 -left-2 w-6 h-6 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full blur-sm opacity-50 animate-pulse",cardPulse2:"absolute -bottom-2 -right-2 w-4 h-4 bg-gradient-to-br from-[#EC4899] to-[#8B5CF6] rounded-full blur-sm opacity-40 animate-pulse",main:"w-full flex flex-col items-center justify-center max-w-md mx-auto bg-gradient-to-br from-[#171727] to-[#12121F] rounded-2xl shadow-xl p-0 overflow-hidden h-full",text:{primary:"text-white",secondary:"text-gray-300",muted:"text-gray-400",accent:"bg-clip-text text-transparent bg-gradient-to-r from-[#3B82F6] via-[#8B5CF6] to-[#EC4899]"},micButton:"absolute w-20 h-20 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 mic-glow shadow-2xl group",chatButton:"absolute w-20 h-20 bg-gradient-to-br from-[#10B981] to-[#059669] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",videoButton:"absolute w-20 h-20 bg-gradient-to-br from-[#8B5CF6] to-[#EC4899] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",popupTrigger:"bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] text-white font-medium hover:from-[#2563EB] hover:to-[#7C3AED] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-gray-900 shadow-xl",promptSlider:"absolute w-full py-3 px-2 bg-[#1E1E2E] rounded-xl text-center text-gray-200 text-sm transition-opacity duration-700 ease-in-out border border-gray-700",statusIndicator:"w-2 h-2 bg-[#10B981] rounded-full animate-pulse",pulseRings:{ring1:"w-32 h-32 rounded-full border-2 border-[#3B82F6]/40 pulse-ring",ring2:"absolute w-28 h-28 rounded-full border-2 border-[#8B5CF6]/30 pulse-ring",ring3:"absolute w-24 h-24 rounded-full border-2 border-[#EC4899]/20 pulse-ring"},controlBar:"border border-border rounded-3xl py-4 flex flex-col justify-end h-full",chatInput:{container:"bg-[#1E1E2E] border-gray-700",textarea:"bg-[#1E1E2E] border-none text-white placeholder-gray-400",sendButton:"bg-[#3B82F6] hover:bg-[#2563EB] disabled:bg-gray-600 disabled:opacity-50 text-white",attachButton:"text-gray-400 hover:text-gray-300 hover:bg-gray-700",endButton:"bg-red-900/20 hover:bg-red-800/30 text-red-400 border-red-800"},chatMessage:{own:"bg-[#1E1E2E]/80 text-white",other:"bg-[#1E1E2E] text-white border border-gray-700"},chatHeader:{container:"bg-[#1E1E2E] border-gray-700",backButton:"text-gray-400 hover:text-white hover:bg-gray-700"},spinner:"w-10 h-10 animate-spin text-blue-400 mb-2",suggestedResponse:{container:"bg-[#221f3f] text-white border-none"},video:{container:"bg-gradient-to-br from-[#171727] to-[#12121F] text-white",header:"border-gray-700 bg-[#1E1E2E]/80",headerButton:"bg-[#1E1E2E] hover:bg-gray-700 text-gray-300",statusDot:"bg-[#10B981] animate-pulse",controlsBackground:"bg-[#1E1E2E]/90 backdrop-blur-sm border-t border-gray-700",controlEnabled:"bg-[#3B82F6] hover:bg-[#2563EB] text-white",controlDisabled:"bg-gray-700 hover:bg-gray-600 text-gray-300",endCall:"bg-red-600 hover:bg-red-700 text-white",tile:"bg-[#1E1E2E] border border-gray-700 shadow-xl",placeholder:"bg-[#1E1E2E] text-gray-300",avatar:"bg-gray-700 text-gray-300",nameOverlay:"bg-black/70 text-white",mutedIndicator:"bg-red-600/80 text-white"}},Ri={dark:uf,light:hf,vox:mf};function ye(e){return Ri[e]||Ri.vox}function ff({controls:e,saveUserChoices:t=!0,capabilities:n,className:s,onSendMessage:o,onChatOpenChange:r,onDisconnect:i,onDeviceError:l,theme:c="vox",client:d,...u}){const[m,f]=h.useState(!1),[p,g]=h.useState(!1),x=ye(c),{micTrackRef:v,visibleControls:E,cameraToggle:b,microphoneToggle:S,screenShareToggle:w,handleAudioDeviceChange:C,handleVideoDeviceChange:A,handleDisconnect:j}=df({controls:e,saveUserChoices:t,client:d}),k=async D=>{g(!0);try{await(o==null?void 0:o(D))}finally{g(!1)}};return h.useEffect(()=>{r==null||r(m)},[m,r]),h.useEffect(()=>{var D,L,W,H;console.log("🎤 AgentControlBar: micTrackRef changed:",{hasParticipant:!!v.participant,hasPublication:!!v.publication,source:v.source,isSubscribed:(D=v.publication)==null?void 0:D.isSubscribed,isMuted:(L=v.publication)==null?void 0:L.isMuted,trackSid:(W=v.publication)==null?void 0:W.trackSid,hasTrack:!!((H=v.publication)!=null&&H.track)})},[v]),a.jsxs("div",{"aria-label":"Voice assistant controls",className:$(x.controlBar,s),...u,children:[n.suportsChatInput&&a.jsxs("div",{inert:!m,className:$("overflow-hidden transition-[height] relative duration-300 ease-in-out",m?"h-[64px] mb-3":"h-0"),children:[a.jsx("div",{className:"flex h-9 px-4 w-full",children:a.jsx(Jm,{onSend:k,disabled:p,className:$("w-full",x.chatInput)})}),a.jsx("hr",{className:"border-border my-2 mx-5"})]}),a.jsxs("div",{className:$("flex flex-row items-center gap-2 rounded-2xl mx-auto border-none backdrop-blur-lg px-2 py-2",c==="light"?"bg-white/80":"bg-[#18182a]/80"),children:[a.jsxs("div",{className:"flex gap-y-2 justify-start",children:[E.microphone&&a.jsxs("div",{className:"flex gap-y-2 items-center rounded-full overflow-hidden border-none ",children:[a.jsx($n,{variant:"primary",source:I.Track.Source.Microphone,pressed:S.enabled,disabled:S.pending,onPressedChange:S.toggle,className:"w-auto py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors"}),a.jsx(ue.BarVisualizer,{barCount:3,trackRef:v,options:{minHeight:5},className:"flex h-full w-auto items-center justify-center gap-x-0.5",children:a.jsx("span",{className:$(["h-full w-0.5 origin-center rounded-2xl","bg-white","group-data-[state=on]/track:bg-white group-data-[state=off]/track:bg-white","data-lk-muted:bg-muted"])})}),a.jsx(Pi,{size:"sm",kind:"audioinput",client:d,onError:l?D=>D instanceof Error?l({source:I.Track.Source.Microphone,error:D}):void 0:void 0,onActiveDeviceChange:C,className:$(["h-full py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/30 transition-colors","min-w-[2.5rem]"])})]}),n.suportsVideoInput&&E.camera&&a.jsxs("div",{className:"flex items-center rounded-full overflow-hidden border-none ",children:[a.jsx($n,{variant:"primary",source:I.Track.Source.Camera,pressed:b.enabled,pending:b.pending,disabled:b.pending,onPressedChange:b.toggle,className:"w-auto py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors"}),a.jsx(Pi,{size:"sm",kind:"videoinput",client:d,onError:l?D=>D instanceof Error?l({source:I.Track.Source.Camera,error:D}):void 0:void 0,onActiveDeviceChange:A,className:$(["h-full py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors","min-w-[2.5rem]"])})]}),n.suportsScreenShare&&E.screenShare&&a.jsx("div",{className:"flex items-center rounded-full overflow-hidden border-none ",children:a.jsx($n,{variant:"secondary",source:I.Track.Source.ScreenShare,pressed:w.enabled,disabled:w.pending,onPressedChange:w.toggle,className:"w-auto py-2 disabled:opacity-70 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors"})})]}),E.chat&&a.jsx("div",{className:"flex items-center rounded-full overflow-hidden bg-secondary text-secondary-foreground border-none ",children:a.jsx(Da,{variant:"secondary","aria-label":"Toggle chat",pressed:m,onPressedChange:D=>{f(D)},className:"aspect-square h-full py-3 rounded-none border-none bg-transparent text-inherit focus:bg-secondary/80 hover:bg-secondary/80 transition-colors flex items-center",children:a.jsx(Ma,{weight:"bold",className:"h-5 w-5"})})})]})]})}const pf=(e,t)=>{var l,c;const n=h.useMemo(()=>t?t(e.message):e.message,[e.message,t]),s=!!e.editTimestamp,o=new Date(e.timestamp),r=typeof navigator<"u"?navigator.language:"en-US",i=(l=e.from)!=null&&l.name&&e.from.name!==""?e.from.name:(c=e.from)==null?void 0:c.identity;return{message:n,hasBeenEdited:s,time:o,locale:r,name:i}},gf=({entry:e,messageFormatter:t,className:n,participantName:s,...o})=>{var u,m;const{message:r,time:i,locale:l}=pf(e,t),c=((u=e.from)==null?void 0:u.isLocal)??!1;$("w-full px-3 py-2 rounded-2xl text-xs break-words whitespace-pre-line",c?" text-end border border-[#5078F2]/30":"bg-muted text-foreground border border-[#813aa7]/30","text-left");const d=$("inline-flex items-center justify-center w-6 h-6 rounded-full text-xs font-bold flex-shrink-0",c?"bg-[#5078F2] text-white":"bg-[#813aa7] ml-1 text-white");return a.jsx("li",{title:i.toLocaleTimeString(l,{timeStyle:"full"}),className:$("group flex mb-2",c?"justify-end":"justify-start",n),...o,children:a.jsxs("div",{className:$("flex w-fit max-w-full rounded-2xl border",c?"flex-row-reverse items-center border-[#5078F2]/30":"flex-row items-center border-[#813aa7]/30 bg-muted text-foreground"),children:[a.jsx("span",{className:d,children:c?((m=s==null?void 0:s[0])==null?void 0:m.toUpperCase())||"U":"A"}),a.jsx("span",{className:$("flex items-center text-xs break-words whitespace-pre-line",c?"ml-auto justify-end text-right":"justify-start text-left","px-3 py-2"),children:r})]})})};function xf(e){y.useEffect(()=>{function t(){const n=e.current;n&&(n.scrollTop=n.scrollHeight)}if(e.current){const n=new ResizeObserver(t);return n.observe(e.current),t(),()=>n.disconnect()}},[e])}const yf=({className:e,children:t,...n})=>{const s=y.useRef(null);return xf(s),a.jsx("div",{ref:s,className:$("flex flex-col justify-end",e),...n,children:t})},bf=({state:e,audioTrack:t,className:n,ref:s})=>a.jsx("div",{ref:s,className:$("",n),children:a.jsx(ue.BarVisualizer,{barCount:5,state:e,options:{minHeight:5},trackRef:t,className:$("flex aspect-video w-40 items-center justify-center gap-1"),children:a.jsx("span",{className:$(["bg-[#6721a4] min-h-2 w-2 rounded-full","origin-center transition-colors duration-250 ease-linear","data-[lk-highlighted=true]:bg-[#5c64f6]","data-[lk-muted=true]:bg-[#222222]"])})})}),vf=({videoTrack:e,className:t,ref:n})=>{var s,o;return a.jsx("div",{ref:n,className:$(t),children:a.jsx(ue.VideoTrack,{trackRef:e,width:((s=e==null?void 0:e.publication.dimensions)==null?void 0:s.width)??0,height:((o=e==null?void 0:e.publication.dimensions)==null?void 0:o.height)??0,className:"rounded-md"})})},wf=Q.create(ue.VideoTrack),Sf=({trackRef:e,className:t,ref:n})=>{var s,o;return a.jsx("div",{className:$("bg-muted overflow-hidden rounded-md",t),children:a.jsx(wf,{ref:n,trackRef:e,width:((s=e==null?void 0:e.publication.dimensions)==null?void 0:s.width)??0,height:((o=e==null?void 0:e.publication.dimensions)==null?void 0:o.height)??0,className:$("h-full w-auto")})})},Ii=Q.create(Sf),Cf=Q.create(bf),kf=Q.create(vf),Le={initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},exit:{opacity:0,scale:0},transition:{type:"spring",stiffness:675,damping:75,mass:1}},ot={grid:["h-full w-full","grid gap-x-2 place-content-center","grid-cols-[1fr_1fr] grid-rows-[90px_1fr_90px]"],agentChatOpenWithSecondTile:["col-start-1 row-start-1","self-center justify-self-end"],agentChatOpenWithoutSecondTile:["col-start-1 row-start-1","col-span-2","place-content-center"],agentChatClosed:["col-start-1 row-start-1","col-span-2 row-span-3","place-content-center"],secondTileChatOpen:["col-start-2 row-start-1","self-center justify-self-start"],secondTileChatClosed:["col-start-2 row-start-3","place-content-end"]};function jf(e){const{localParticipant:t}=ue.useLocalParticipant(),n=t.getTrackPublication(e);return y.useMemo(()=>n?{source:e,participant:t,publication:n}:void 0,[e,n,t])}function Ef({chatOpen:e}){const{state:t,audioTrack:n,videoTrack:s,agent:{isActive:o=!1}={}}=ue.useVoiceAssistant(),[r]=ue.useTracks([I.Track.Source.ScreenShare]),i=jf(I.Track.Source.Camera),l=i&&!i.publication.isMuted,c=r&&!r.publication.isMuted,d=l||c,u={...Le.transition,delay:e?0:.15},m={...Le.animate,scale:e?1:3,transition:u},f={...Le.animate,transition:u},p=u,g=u,x=s!==void 0;return a.jsx("div",{className:"relative w-full h-full z-10 flex items-center justify-center",children:a.jsx("div",{className:"relative w-full h-full max-w-2xl px-4 md:px-0",children:a.jsxs("div",{className:$(ot.grid),children:[o&&a.jsx("div",{className:$(["grid",!e&&ot.agentChatClosed,e&&d&&ot.agentChatOpenWithSecondTile,e&&!d&&ot.agentChatOpenWithoutSecondTile]),children:a.jsxs("div",{className:"h-full flex items-center justify-center",children:[!x&&a.jsx(Cf,{layoutId:"agent",...Le,animate:m,transition:p,state:t,audioTrack:n,className:$(e?"h-[90px]":"h-auto w-full")},"agent"),x&&a.jsx(kf,{layoutId:"avatar",...Le,animate:f,transition:g,videoTrack:s,className:$(e?"h-[90px] [&>video]:h-[90px] [&>video]:w-auto":"h-auto w-full")},"avatar")]})}),a.jsx("div",{className:$(["grid",e&&ot.secondTileChatOpen,!e&&ot.secondTileChatClosed]),children:a.jsxs("div",{className:"w-full px-10 flex items-center shadow-2xl justify-between",children:[i&&l&&a.jsx(Ii,{layout:"position",layoutId:"camera",...Le,trackRef:i,transition:{...Le.transition,delay:e?0:.15},className:"h-[60px] order-1"},"camera"),c&&a.jsx(Ii,{layout:"position",layoutId:"screen",...Le,trackRef:r,transition:{...Le.transition,delay:e?0:.15},className:"h-[70px] order-2"},"screen")]})})]})})})}function Di({timeout:e}){const[t,n]=y.useState(100),s=y.useRef(null),o=y.useRef(null);return y.useEffect(()=>{if(!e||e<=0)return;n(100),o.current=Date.now();const r=()=>{if(!e||o.current===null)return;const i=Date.now()-o.current,l=Math.max(0,100-i/e*100);n(l),l>0&&(s.current=requestAnimationFrame(r))};return s.current=requestAnimationFrame(r),()=>{s.current&&cancelAnimationFrame(s.current)}},[e]),!e||e<=0?null:a.jsx("div",{className:"w-full h-1 relative top-1 rounded-t-4xl bg-gray-700 overflow-hidden",children:a.jsx(Q.div,{className:"h-1 rounded-t-4xl dark:bg-white bg-blue-200 ",initial:{width:"100%"},animate:{width:`${Math.max(t,2)}%`},transition:{duration:.1,ease:"linear"},style:{minWidth:"2%"}})})}function pt({interaction:e,theme:t,onDismiss:n,client:s,addLocalMessage:o}){var l;if(!e||!e.isVisible||!e.component)return null;const[r]=h.useState(()=>Date.now()),i=()=>e.component?h.createElement(e.component,{handler:e.handler||void 0,timeout:e.timeout,loadData:async d=>{console.log("InteractiveComponent: Loading data:",d)},presentationMode:e.presentationMode,data:e.data,client:s,addLocalMessage:o}):a.jsx("div",{className:"p-4 text-red-500",children:"Component not found"});switch(e.presentationMode){case"fullscreen":return a.jsx(ut,{children:a.jsxs(Q.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[9999] bg-black",children:[a.jsxs("div",{className:"flex flex-col",children:[a.jsx(Di,{timeout:e.timeout}),a.jsxs("div",{className:"flex items-center justify-between p-4 bg-black/80 text-white border-b border-gray-700",children:[a.jsx("h3",{className:"text-lg font-semibold",children:e.methodName.replace(/_/g," ").replace(/\b\w/g,c=>c.toUpperCase())}),a.jsx("button",{onClick:n||((l=e.handler)==null?void 0:l.dismissView),className:"p-2 rounded-full bg-white/20 hover:bg-white/30 text-white transition-colors",children:a.jsx(pe.X,{className:"w-5 h-5"})})]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:i()})]})});case"embedded":default:return a.jsx(ut,{children:a.jsx(Q.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"w-fit rounded-lg ",children:a.jsxs("div",{children:[a.jsx(Di,{timeout:e.timeout}),i()]})})})}}function Af(){const e=ue.useTranscriptions(),t=ue.useChat(),n=ue.useRoomContext();return{messages:y.useMemo(()=>[...e.map(r=>Em(r,n)),...t.chatMessages].sort((r,i)=>r.timestamp-i.timestamp),[e,t.chatMessages,n]),send:t.send}}const Mf=({logLevel:e}={})=>{const t=ue.useRoomContext();h.useEffect(()=>(I.setLogLevel(e??"debug"),window.__lk_room=t,()=>{window.__lk_room=void 0}),[t,e])},Tf=({disabled:e,capabilities:t,sessionStarted:n,ref:s,participantName:o="User",loadingText:r="Waiting for agent to connect...",theme:i="vox",client:l,displayType:c="widget",onBack:d})=>{var ne,te,se,z,M,G,Y;const[u,m]=y.useState(!1),[f,p]=y.useState(!1),[g,x]=y.useState(()=>{var q;const V=(q=l==null?void 0:l.getCurrentInteraction)==null?void 0:q.call(l);return console.log("SessionView: Initializing with existing interaction:",(V==null?void 0:V.methodName)||"none"),V||null}),{messages:v,send:E}=Af(),b=y.useRef(null),S=y.useRef(null),{agent:{isActive:w=!1}={}}=ue.useVoiceAssistant(),C=ye(i),A=y.useMemo(()=>l&&typeof l.getCurrentSession=="function"?!!l.getCurrentSession():!1,[l]),j=w||A;y.useEffect(()=>{var V,q;console.log("🤖 SessionView agent state:",{isAgentActive:w,hasActiveSession:A,effectiveAgentActive:j,sessionStarted:n,clientSession:(q=(V=l==null?void 0:l.getCurrentSession)==null?void 0:V.call(l))==null?void 0:q.id})},[w,A,j,n,l]),y.useEffect(()=>{console.log("🤖 Agent active state changed:",w)},[w]),y.useEffect(()=>{console.log("📋 Session state changed:",{sessionStarted:n,disabled:e,participantName:o,effectiveAgentActive:j,chatOpen:u,currentInteraction:(g==null?void 0:g.methodName)||"none"})},[n,e,o,j,u,g]),y.useEffect(()=>{if(n&&!w){console.log("⏰ Starting agent timeout detection...");const V=setTimeout(()=>{console.log("⚠️ Agent timeout: Agent did not become active within 30 seconds"),p(!0)},3e4);return()=>{clearTimeout(V)}}else w&&(console.log("✅ Agent is active, clearing timeout"),p(!1))},[n,w]),y.useEffect(()=>{if(!l)return;const V=()=>{console.log("🔄 Client connection state changed:",l.connected)},q=T=>{console.log("🔴 Client disconnected:",T),x(null),m(!1),p(!1)};return l.on("connection.connected",V),l.on("connection.disconnected",q),()=>{l.off("connection.connected",V),l.off("connection.disconnected",q)}},[l]),y.useEffect(()=>{if(!l)return;const V=Z=>{console.log("🎯 SessionView: RPC Interaction started:",Z);const B=l.getCurrentInteraction();B&&(console.log("📱 SessionView: Setting current interaction:",B.methodName,"mode:",B.presentationMode),x(B))},q=Z=>{console.log("✅ SessionView: RPC Interaction completed:",Z),x(null)},T=async Z=>{console.log("⏰ SessionView: RPC Interaction timeout:",Z),x(null)},F=async Z=>{console.log("❌ SessionView: RPC Interaction dismissed:",Z),x(null)};return l.on("rpc.interaction.started",V),l.on("rpc.interaction.completed",q),l.on("rpc.interaction.timeout",T),l.on("rpc.interaction.dismissed",F),()=>{l.off("rpc.interaction.started",V),l.off("rpc.interaction.completed",q),l.off("rpc.interaction.timeout",T),l.off("rpc.interaction.dismissed",F)}},[l]),y.useEffect(()=>{if(!l)return;const V=l.getCurrentInteraction();V?(console.log("🔄 SessionView: Syncing with existing interaction:",V.methodName),x(V)):x(null)},[l]),y.useEffect(()=>{console.log("🎭 SessionView: Current interaction changed:",(g==null?void 0:g.methodName)||"none","mode:",(g==null?void 0:g.presentationMode)||"none")},[g]),y.useEffect(()=>{var V,q,T;console.log("📱 SessionView: Display type changed to:",c),console.log("📱 SessionView: Current session state during display change:",{sessionStarted:n,effectiveAgentActive:j,hasSession:!!((V=l==null?void 0:l.getCurrentSession)!=null&&V.call(l)),sessionId:(T=(q=l==null?void 0:l.getCurrentSession)==null?void 0:q.call(l))==null?void 0:T.id})},[c,n,j,l]),y.useEffect(()=>{console.log("💬 SessionView: Chat open state changed:",u)},[u]),y.useEffect(()=>{g&&u&&(console.log("🎭 SessionView: Interactive UI appeared, closing chat"),m(!1))},[g,u]),Mf(),y.useEffect(()=>{b.current&&u&&v.length>0&&(console.log("📜 SessionView: Auto-scrolling to latest message, count:",v.length),setTimeout(()=>{if(b.current){let V=b.current.parentElement;for(;V&&V.scrollHeight<=V.clientHeight;)V=V.parentElement;V?(console.log("📜 SessionView: Scrolling container found, scrolling to bottom"),V.scrollTo({top:V.scrollHeight,behavior:"smooth"})):(console.log("📜 SessionView: Using fallback scroll method"),b.current.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"}))}},100))},[v.length,u]),y.useEffect(()=>{var T,F;console.log("📝 SessionView: Messages updated, count:",v.length),v.length>0&&console.log("📝 SessionView: Latest messages:",v.slice(-3).map(Z=>{var B,R,_,K,O,re,oe;return{id:Z.id,message:Z.message,timestamp:Z.timestamp,from:((B=Z.from)==null?void 0:B.name)||((R=Z.from)==null?void 0:R.identity),fromType:Z.from===void 0?"unknown":"participant",isLocal:((_=Z.from)==null?void 0:_.identity)===((re=(O=(K=l==null?void 0:l.getCurrentSession)==null?void 0:K.call(l))==null?void 0:O.localParticipant)==null?void 0:re.identity),messageLength:((oe=Z.message)==null?void 0:oe.length)||0}}));const V=((T=l==null?void 0:l.getTranscriptions)==null?void 0:T.call(l))||[],q=((F=l==null?void 0:l.getChatMessages)==null?void 0:F.call(l))||[];console.log("📝 SessionView: Raw transcriptions count:",V.length),console.log("📝 SessionView: Raw chat messages count:",q.length)},[v.length,v,l]),y.useEffect(()=>{console.log("💬 SessionView: Chat state changed:",{chatOpen:u,messagesCount:v.length,displayType:c,hasMessages:v.length>0})},[u,v.length,c]);async function k(V){await E(V)}const D=y.useCallback(V=>{console.log("📝 SessionView: Adding local message for voice session context:",V)},[]),L=y.useCallback(async V=>{try{l&&typeof l.sendAttachments=="function"&&(await l.sendAttachments(V),console.log("📎 SessionView: Attachments sent successfully:",V.map(q=>q.name)))}catch(q){console.error("❌ SessionView: Failed to send attachments:",q)}},[l]),W=y.useCallback(()=>{try{console.log("📞 SessionView: Ending call..."),console.log("📞 SessionView: Current state before ending:",{sessionStarted:n,effectiveAgentActive:j,chatOpen:u,currentInteraction:g==null?void 0:g.methodName,hasOnBack:!!d}),g&&(console.log("🎭 SessionView: Dismissing current interaction:",g.methodName),x(null),l&&typeof l.dismissCurrentInteraction=="function"&&l.dismissCurrentInteraction()),m(!1),p(!1),console.log("✅ SessionView: Local state reset"),l&&typeof l.endSession=="function"&&(l.endSession(),console.log("✅ SessionView: Session ended via client.endSession()")),l&&typeof l.disconnect=="function"&&(l.disconnect(),console.log("✅ SessionView: Client disconnected")),d?(console.log("🔄 SessionView: Calling onBack to return to welcome..."),setTimeout(()=>{d(),console.log("✅ SessionView: onBack called")},150)):console.warn("⚠️ SessionView: No onBack function provided - cannot return to welcome"),console.log("🏁 SessionView: Call ended and cleanup completed")}catch(V){console.error("❌ SessionView: Failed to end call:",V),x(null),m(!1),p(!1),d&&(console.log("🔄 SessionView: Error occurred, still calling onBack..."),d())}},[l,d,g,n,j,u]);y.useEffect(()=>(console.log("🔄 SessionView: Component mounted/props changed:",{sessionStarted:n,disabled:e,participantName:o,displayType:c,hasOnBack:!!d,hasClient:!!l}),()=>{console.log("🧹 SessionView: Component unmounting or props changing")}),[n,e,o,c,d,l]),y.useEffect(()=>{console.log("🔗 SessionView: onBack prop:",{hasOnBack:!!d,onBackType:typeof d})},[d]),y.useEffect(()=>{var q,T;const V=((T=(q=l==null?void 0:l.getCurrentSession)==null?void 0:q.call(l))==null?void 0:T.id)||null;S.current&&!V&&console.warn("⚠️ SessionView: Session was lost unexpectedly!",{previousSession:S.current,currentSession:V,displayType:c,sessionStarted:n,effectiveAgentActive:j}),S.current=V},[l,c,n,j]);const H=$("w-full flex flex-col items-center justify-center",c==="fullscreen"?"w-full max-w-none mx-0 h-full":"w-full mx-auto",C.main,c==="fullscreen"?"max-w-none":"","overflow-hidden","h-full"),Ce=d&&(c==="popup"||c==="fullscreen");return a.jsxs("main",{ref:s,inert:e,className:$(H,"relative"),style:{minHeight:0},children:[Ce&&a.jsx("div",{className:`flex items-center justify-between w-full p-4 border-b ${((ne=C.chatHeader)==null?void 0:ne.container)||"border-gray-200"}`,children:a.jsx("div",{className:"flex items-center",children:a.jsxs("div",{children:[a.jsx("h3",{className:`font-semibold ${C.text.primary}`,children:"Voice Session"}),a.jsx("p",{className:`text-sm ${C.text.muted}`,children:o})]})})}),a.jsxs("div",{className:"w-full flex-1 flex flex-col items-center px-0 min-h-0 overflow-hidden",children:[!j&&a.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full min-h-[180px]",children:[a.jsx(Q.div,{animate:{rotate:360,scale:[1,1.1,1]},transition:{rotate:{duration:2,repeat:1/0,ease:"linear"},scale:{duration:1,repeat:1/0,ease:"easeInOut"}},className:"w-12 h-12 mb-4",children:a.jsx(Js,{className:C.spinner,weight:"bold"})}),a.jsx(Q.span,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`text-sm opacity-80 ${C.text.muted} text-center max-w-xs`,children:f?"Agent is taking longer than expected...":r}),a.jsx(Q.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:2},className:`text-xs ${C.text.muted} mt-2 text-center opacity-60`,children:f?"Please check your connection or try again.":"Agent is connecting... This may take a moment."}),f&&d&&a.jsx(Q.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.5},onClick:d,className:`mt-4 px-4 py-2 rounded-lg ${((te=C.chatHeader)==null?void 0:te.backButton)||"bg-gray-100 hover:bg-gray-200"} transition-colors`,children:"Go Back"})]}),j&&a.jsxs(a.Fragment,{children:[u&&a.jsxs("div",{className:$("absolute inset-0 w-full h-full flex flex-col transition-[opacity,translate] duration-300 ease-out z-10",i==="light"?"bg-white":"bg-gray-900/95 backdrop-blur-sm",u?"translate-y-0 opacity-100 delay-200":"translate-y-10 opacity-0"),children:[a.jsxs("div",{className:$("flex-shrink-0 px-4 py-3 border-b",c==="fullscreen"?"px-8":"px-5",((se=C.chatHeader)==null?void 0:se.container)||"border-gray-200 dark:border-gray-700"),children:[a.jsx("h3",{className:$("font-semibold text-lg",((z=C.text)==null?void 0:z.primary)||"text-gray-900 dark:text-white"),children:"Transcription & Chat"}),a.jsxs("p",{className:$("text-sm",((M=C.text)==null?void 0:M.muted)||"text-gray-600 dark:text-gray-400"),children:[v.length," messages"]})]}),a.jsx("div",{className:$("flex-1 flex flex-col min-h-0",c==="fullscreen"?"px-8":"px-5"),children:a.jsx(yf,{className:"flex-1 flex flex-col min-h-0 h-full",children:a.jsxs("div",{className:`flex-1 flex flex-col h-full ${$("overflow-y-auto scrollbar-hide py-4")}`,style:{scrollbarWidth:"none",scrollBehavior:"smooth",paddingBottom:"120px"},children:[v.length===0&&a.jsx("div",{className:"flex-1 flex items-center justify-center",children:a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:$("text-lg font-medium mb-2",((G=C.text)==null?void 0:G.primary)||"text-gray-900 dark:text-white"),children:"Start Speaking"}),a.jsx("p",{className:$("text-sm",((Y=C.text)==null?void 0:Y.muted)||"text-gray-600 dark:text-gray-400"),children:"Your conversation will appear here"})]})}),v.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex-1 min-h-4"}),a.jsx("div",{ref:b,className:"space-y-4 relative whitespace-pre-wrap z-0",children:a.jsx(ut,{mode:"popLayout",children:v.map((V,q)=>a.jsx(Q.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3,ease:"easeOut",delay:q*.02},layout:!0,children:a.jsx(gf,{participantName:o,entry:V})},V.id||`message-${q}`))})})]})]})})})]}),!u&&a.jsxs("div",{className:$("flex-1 flex flex-col items-center w-full h-full min-h-0",(g==null?void 0:g.presentationMode)==="embedded"?"justify-end":"justify-center"),children:[a.jsx(Q.div,{className:"w-full flex justify-center",animate:{y:(g==null?void 0:g.presentationMode)==="embedded"?-8:0},transition:{duration:.3,ease:"easeOut"},children:a.jsx(Ef,{chatOpen:u})}),a.jsx(ut,{mode:"wait",children:g&&g.presentationMode==="embedded"&&a.jsx(Q.div,{initial:{opacity:0,y:20,height:0},animate:{opacity:1,y:0,height:"auto"},exit:{opacity:0,y:20,height:0},transition:{duration:.3,ease:"easeOut"},className:$("w-full relative mt-4 flex justify-center",c==="fullscreen"?"max-w-4xl":"max-w-md"),children:a.jsx("div",{className:"bg-white/10 backdrop-blur-sm rounded-xl border border-white/20 shadow-lg overflow-hidden",children:a.jsx(pt,{interaction:g,theme:i,onDismiss:()=>{var V;return(V=l==null?void 0:l.dismissCurrentInteraction)==null?void 0:V.call(l)},client:l,addLocalMessage:D})})},`embedded-${g.methodName}`)})]})]})]}),a.jsx(ut,{mode:"wait",children:g&&g.presentationMode!=="embedded"&&!u&&a.jsx("div",{className:$("absolute inset-0 z-50 flex items-center justify-center backdrop-blur-sm",c==="fullscreen"?"bg-black/70":"bg-black/50"),children:a.jsx(Q.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.2,ease:"easeOut"},className:$("relative w-full overflow-hidden",c==="fullscreen"?"max-w-2xl mx-8 max-h-[85vh]":"max-w-lg mx-4 max-h-[80vh]","bg-white dark:bg-gray-900 rounded-2xl shadow-2xl","border border-gray-200 dark:border-gray-700"),children:a.jsx(pt,{interaction:g,theme:i,onDismiss:()=>{var V;return(V=l==null?void 0:l.dismissCurrentInteraction)==null?void 0:V.call(l)},client:l,addLocalMessage:D})},`modal-${g.methodName}`)})}),a.jsx(Q.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2},className:"absolute bottom-0 left-0 right-0 flex-shrink-0 w-full z-20",children:a.jsx(Vf,{capabilities:t,onSendMessage:k,onSendAttachments:L,onEndCall:W,onChatOpenChange:m,disabled:e,theme:i,client:l,sessionStarted:n})})]})};function Vf({capabilities:e,onSendMessage:t,onSendAttachments:n,onEndCall:s,onChatOpenChange:o,disabled:r=!1,theme:i,client:l,sessionStarted:c=!1}){const[d,u]=y.useState(!1),m=y.useRef(null),f=y.useRef(null);y.useEffect(()=>{const b=()=>{const S=navigator.userAgent.toLowerCase(),C=["android","iphone","ipad","mobile","tablet"].some(k=>S.includes(k)),A="ontouchstart"in window||navigator.maxTouchPoints>0,j=window.innerWidth<=768;u(C||A&&j)};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]);const p=b=>{const S=b.target.files;if(S&&S.length>0){const C=Array.from(S).filter(A=>A.type.startsWith("image/"));if(C.length===0){console.warn("No valid image files selected");return}n&&n(C),m.current&&(m.current.value="")}},g=b=>{const S=b.target.files;if(S&&S.length>0){const w=S[0];w.type.startsWith("image/")&&n&&n([w]),f.current&&(f.current.value="")}},x=()=>{!r&&m.current&&m.current.click()},v=()=>{!r&&d&&f.current&&f.current.click()},E=()=>{console.log("🔴 VoiceControlPanel: End call button clicked"),console.log("🔴 VoiceControlPanel: Current state:",{disabled:r,sessionStarted:c,hasOnEndCall:!!s}),s?s():console.warn("⚠️ VoiceControlPanel: No onEndCall function provided")};return a.jsx("div",{className:$("px-4 py-3 !w-full backdrop-blur-xl border-0 shadow-lg",i==="light"?"bg-white/95 border-t border-gray-200":"bg-gray-900/95 border-t border-gray-700"),children:a.jsxs("div",{className:"flex items-center justify-between !w-full mx-auto max-w-4xl",children:[a.jsx("input",{ref:m,type:"file",multiple:!0,onChange:p,className:"hidden",accept:"image/*"}),a.jsx("input",{ref:f,type:"file",onChange:g,className:"hidden",accept:"image/*",capture:"environment"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{onClick:x,disabled:r,className:$("p-3 rounded-full transition-all duration-200 hover:scale-105 active:scale-95",r?"opacity-50 cursor-not-allowed":"hover:shadow-md",i==="light"?"bg-gray-100 hover:bg-gray-200 text-gray-600":"bg-gray-700/50 hover:bg-gray-600/50 text-gray-300"),title:"Attach files",children:a.jsx(Be.AttachFile,{className:"w-5 h-5"})}),d&&a.jsx("button",{onClick:v,disabled:r,className:$("p-3 rounded-full transition-all duration-200 hover:scale-105 active:scale-95",r?"opacity-50 cursor-not-allowed":"hover:shadow-md",i==="light"?"bg-gray-100 hover:bg-gray-200 text-gray-600":"bg-gray-700/50 hover:bg-gray-600/50 text-gray-300"),title:"Take photo",children:a.jsx(Be.CameraAlt,{className:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 flex justify-center px-4",children:a.jsx(ff,{capabilities:e,onChatOpenChange:o,onSendMessage:t,theme:i,client:l,className:"border-none py-1 rounded-xl max-w-md w-full"})}),a.jsx("div",{className:"flex items-center",children:a.jsx("button",{onClick:E,disabled:r||!c,className:$("p-3 rounded-full transition-all duration-200 hover:scale-105 active:scale-95",r||!c?"opacity-50 cursor-not-allowed":"hover:shadow-md","bg-red-500 hover:bg-red-600 text-white"),title:"End call",children:a.jsx(Be.CallEnd,{className:"w-5 h-5"})})})]})})}function Nf({onSendMessage:e,onSendAttachments:t,disabled:n,theme:s,onEndChat:o}){const[r,i]=h.useState(""),[l,c]=h.useState(!1),d=h.useRef(null),u=h.useRef(null),[m,f]=h.useState(!1),p=ye(s);h.useEffect(()=>{const w=()=>{const C=navigator.userAgent.toLowerCase(),j=["android","iphone","ipad","mobile","tablet"].some(L=>C.includes(L)),k="ontouchstart"in window||navigator.maxTouchPoints>0,D=window.innerWidth<=768;f(j||k&&D)};return w(),window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]);const g=w=>{w.preventDefault(),r.trim()&&!n&&(e(r.trim()),i(""))},x=w=>{w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),g(w))},v=w=>{const C=w.target.files;if(C&&C.length>0){const A=Array.from(C),j=A.filter(k=>k.type.startsWith("image/"));if(j.length===0){console.warn("No valid image files selected");return}j.length!==A.length&&console.warn("Some non-image files were filtered out"),console.log("Selected image files:",j),t(j),d.current&&(d.current.value="")}},E=()=>{!n&&d.current&&d.current.click()},b=()=>{!n&&m&&u.current&&u.current.click()},S=w=>{const C=w.target.files;if(C&&C.length>0){const A=C[0];A.type.startsWith("image/")?t([A]):console.warn("Selected file is not an image"),u.current&&(u.current.value="")}};return a.jsx("div",{className:"px-4 py-3 !w-full backdrop-blur-xl border-0 shadow-lg ",children:a.jsx("form",{onSubmit:g,className:"flex items-center !w-full mx-auto max-w-4xl",children:a.jsxs("div",{className:`flex items-center gap-2 !w-full backdrop-blur-md rounded-full px-3 py-2 shadow-sm hover:shadow-md focus-within:shadow-lg focus-within:ring-2 focus-within:ring-blue-500/30 focus-within:border-blue-500/50 transition-all duration-200 border ${s==="light"?"bg-white/90 border-gray-200":p.chatInput.container}`,children:[a.jsx(Q.button,{type:"button",onClick:E,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 ${p.chatInput.attachButton}`,disabled:n,"aria-label":"Attach file",children:a.jsx(pe.Paperclip,{className:"w-4 h-4"})}),m&&a.jsx(Q.button,{type:"button",onClick:b,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 ${p.chatInput.attachButton}`,disabled:n,"aria-label":"Take photo",children:a.jsx(pe.Camera,{className:"w-4 h-4"})}),a.jsx("input",{ref:d,type:"file",multiple:!0,onChange:v,className:"hidden",accept:"image/*"}),a.jsx("input",{ref:u,type:"file",onChange:S,className:"hidden",accept:"image/*",capture:"environment"}),a.jsx("textarea",{value:r,onChange:w=>i(w.target.value),onKeyDown:x,onFocus:()=>c(!0),onBlur:()=>c(!1),placeholder:"Type your message...",disabled:n,className:`flex-1 px-2 py-1 bg-transparent resize-none min-h-[32px] max-h-20 focus:outline-none text-sm border-0 ${p.chatInput.textarea}`,rows:1,style:{height:"auto",minHeight:"32px"},onInput:w=>{const C=w.target;C.style.height="auto",C.style.height=`${Math.min(C.scrollHeight,80)}px`}}),a.jsx(Q.button,{type:"submit",disabled:n||!r.trim(),whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 flex-shrink-0 ${r.trim()&&!n?p.chatInput.sendButton:s==="light"?"bg-gray-200 text-gray-400 cursor-not-allowed opacity-70":"bg-gray-600/50 text-gray-500 cursor-not-allowed opacity-50"}`,"aria-label":"Send message",children:a.jsx(pe.SendHorizontal,{className:"w-4 h-4"})}),o&&a.jsx(Q.button,{type:"button",onClick:o,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 flex-shrink-0 ${p.chatInput.endButton}`,"aria-label":"End chat",children:a.jsx(pe.PhoneOff,{className:"w-4 h-4"})})]})})})}function Pf({text:e,isComplete:t,isRealTimeStream:n=!1,speed:s=50}){const[o,r]=h.useState(""),[i,l]=h.useState(0);return h.useEffect(()=>{if(n){r(e);return}if(t){r(e);return}if(i<e.length){const c=setTimeout(()=>{r(e.slice(0,i+1)),l(i+1)},s);return()=>clearTimeout(c)}},[e,i,t,s,n]),h.useEffect(()=>{n||(l(0),r(""))},[e,n]),a.jsxs("span",{className:"relative",children:[a.jsx("span",{className:"inline-block",children:o}),!t&&a.jsx("span",{className:"inline-flex items-center ml-1",children:[0,1,2].map(c=>a.jsx(Q.span,{className:"w-1.5 h-1.5 bg-current rounded-full mx-0.5",animate:{y:[0,-4,0],opacity:[.4,1,.4],scale:[.8,1,.8]},transition:{duration:.8,repeat:1/0,repeatType:"mirror",delay:c*.2,ease:"easeInOut"}},c))})]})}function Rf({message:e,theme:t,isOwn:n,isStreaming:s=!1}){var i,l;const o=ye(t),r=e.sender.name?e.sender.name.split(" ").map(c=>c[0]).join("").toUpperCase().slice(0,2):"U";return a.jsx("div",{className:`flex w-full ${n?"justify-end":"justify-start"} mb-4 px-1`,children:a.jsxs("div",{className:`relative group ${n?"flex-row-reverse":"flex-row"} flex items-end gap-3 max-w-[85%]`,children:[a.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${n?t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700":t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:r}),a.jsxs("div",{className:`
|
|
9
|
+
`),()=>{m.contains(x)&&m.removeChild(x)}},[t]),l.jsx(Uf,{isPresent:t,childRef:o,sizeRef:i,children:p.cloneElement(e,{ref:o})})}const Wf=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:r,presenceAffectsLayout:o,mode:i,anchorX:a,root:c})=>{const d=Lr(Gf),u=C.useId();let f=!0,h=C.useMemo(()=>(f=!1,{id:u,initial:t,isPresent:n,custom:r,onExitComplete:g=>{d.set(g,!0);for(const x of d.values())if(!x)return;s&&s()},register:g=>(d.set(g,!1),()=>d.delete(g))}),[n,d,s]);return o&&f&&(h={...h}),C.useMemo(()=>{d.forEach((g,x)=>d.set(x,!1))},[n]),p.useEffect(()=>{!n&&!d.size&&s&&s()},[n]),i==="popLayout"&&(e=l.jsx(Zf,{isPresent:n,anchorX:a,root:c,children:e})),l.jsx(ds.Provider,{value:h,children:e})};function Gf(){return new Map}function _c(e=!0){const t=C.useContext(ds);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:r}=t,o=C.useId();C.useEffect(()=>{if(e)return r(o)},[e]);const i=C.useCallback(()=>e&&s&&s(o),[o,s,e]);return!n&&s?[!1,i]:[!0]}const Fn=e=>e.key||"";function oi(e){const t=[];return C.Children.forEach(e,n=>{C.isValidElement(n)&&t.push(n)}),t}const Ht=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:r=!0,mode:o="sync",propagate:i=!1,anchorX:a="left",root:c})=>{const[d,u]=_c(i),f=C.useMemo(()=>oi(e),[e]),h=i&&!d?[]:f.map(Fn),g=C.useRef(!0),x=C.useRef(f),m=Lr(()=>new Map),[b,k]=C.useState(f),[v,T]=C.useState(f);Ya(()=>{g.current=!1,x.current=f;for(let A=0;A<v.length;A++){const M=Fn(v[A]);h.includes(M)?m.delete(M):m.get(M)!==!0&&m.set(M,!1)}},[v,h.length,h.join("-")]);const w=[];if(f!==b){let A=[...f];for(let M=0;M<v.length;M++){const j=v[M],z=Fn(j);h.includes(z)||(A.splice(M,0,j),w.push(j))}return o==="wait"&&w.length&&(A=w),T(oi(A)),k(f),null}process.env.NODE_ENV!=="production"&&o==="wait"&&v.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:S}=C.useContext(Or);return l.jsx(l.Fragment,{children:v.map(A=>{const M=Fn(A),j=i&&!d?!1:f===v||h.includes(M),z=()=>{if(m.has(M))m.set(M,!0);else return;let y=!0;m.forEach(D=>{D||(y=!1)}),y&&(S==null||S(),T(x.current),i&&(u==null||u()),s&&s())};return l.jsx(Wf,{isPresent:j,initial:!g.current||n?void 0:!1,custom:t,presenceAffectsLayout:r,mode:o,root:c,onExitComplete:j?void 0:z,anchorX:a,children:A},M)})})},Bc=C.createContext({strict:!1}),ii={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"]},Gt={};for(const e in ii)Gt[e]={isEnabled:t=>ii[e].some(n=>!!t[n])};function Kf(e){for(const t in e)Gt[t]={...Gt[t],...e[t]}}const Yf=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 ss(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Yf.has(e)}let zc=e=>!ss(e);function qf(e){typeof e=="function"&&(zc=t=>t.startsWith("on")?!ss(t):e(t))}try{qf(require("@emotion/is-prop-valid").default)}catch{}function Xf(e,t,n){const s={};for(const r in e)r==="values"&&typeof e.values=="object"||(zc(r)||n===!0&&ss(r)||!t&&!ss(r)||e.draggable&&r.startsWith("onDrag"))&&(s[r]=e[r]);return s}const us=C.createContext({});function fs(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function wn(e){return typeof e=="string"||Array.isArray(e)}const lo=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],uo=["initial",...lo];function hs(e){return fs(e.animate)||uo.some(t=>wn(e[t]))}function Hc(e){return!!(hs(e)||e.variants)}function Jf(e,t){if(hs(e)){const{initial:n,animate:s}=e;return{initial:n===!1||wn(n)?n:void 0,animate:wn(s)?s:void 0}}return e.inherit!==!1?t:{}}function Qf(e){const{initial:t,animate:n}=Jf(e,C.useContext(us));return C.useMemo(()=>({initial:t,animate:n}),[ai(t),ai(n)])}function ai(e){return Array.isArray(e)?e.join(" "):e}const Sn={};function eh(e){for(const t in e)Sn[t]=e[t],Kr(t)&&(Sn[t].isCSSVariable=!0)}function Uc(e,{layout:t,layoutId:n}){return Qt.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Sn[e]||e==="opacity")}const th={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},nh=Jt.length;function sh(e,t,n){let s="",r=!0;for(let o=0;o<nh;o++){const i=Jt[o],a=e[i];if(a===void 0)continue;let c=!0;if(typeof a=="number"?c=a===(i.startsWith("scale")?1:0):c=parseFloat(a)===0,!c||n){const d=Ic(a,oo[i]);if(!c){r=!1;const u=th[i]||i;s+=`${u}(${d}) `}n&&(t[i]=d)}}return s=s.trim(),n?s=n(t,r?"":s):r&&(s="none"),s}function fo(e,t,n){const{style:s,vars:r,transformOrigin:o}=e;let i=!1,a=!1;for(const c in t){const d=t[c];if(Qt.has(c)){i=!0;continue}else if(Kr(c)){r[c]=d;continue}else{const u=Ic(d,oo[c]);c.startsWith("origin")?(a=!0,o[c]=u):s[c]=u}}if(t.transform||(i||n?s.transform=sh(t,e.transform,n):s.transform&&(s.transform="none")),a){const{originX:c="50%",originY:d="50%",originZ:u=0}=o;s.transformOrigin=`${c} ${d} ${u}`}}const ho=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Zc(e,t,n){for(const s in t)!Re(t[s])&&!Uc(s,n)&&(e[s]=t[s])}function rh({transformTemplate:e},t){return C.useMemo(()=>{const n=ho();return fo(n,t,e),Object.assign({},n.vars,n.style)},[t])}function oh(e,t){const n=e.style||{},s={};return Zc(s,n,e),Object.assign(s,rh(e,t)),s}function ih(e,t){const n={},s=oh(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 ah={offset:"stroke-dashoffset",array:"stroke-dasharray"},ch={offset:"strokeDashoffset",array:"strokeDasharray"};function lh(e,t,n=1,s=0,r=!0){e.pathLength=1;const o=r?ah:ch;e[o.offset]=Q.transform(-s);const i=Q.transform(t),a=Q.transform(n);e[o.array]=`${i} ${a}`}function Wc(e,{attrX:t,attrY:n,attrScale:s,pathLength:r,pathSpacing:o=1,pathOffset:i=0,...a},c,d,u){if(fo(e,a,d),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:f,style:h}=e;f.transform&&(h.transform=f.transform,delete f.transform),(h.transform||f.transformOrigin)&&(h.transformOrigin=f.transformOrigin??"50% 50%",delete f.transformOrigin),h.transform&&(h.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete f.transformBox),t!==void 0&&(f.x=t),n!==void 0&&(f.y=n),s!==void 0&&(f.scale=s),r!==void 0&&lh(f,r,o,i,!1)}const Gc=()=>({...ho(),attrs:{}}),Kc=e=>typeof e=="string"&&e.toLowerCase()==="svg";function dh(e,t,n,s){const r=C.useMemo(()=>{const o=Gc();return Wc(o,t,Kc(s),e.transformTemplate,e.style),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};Zc(o,e.style,e),r.style={...o,...r.style}}return r}const uh=["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 mo(e){return typeof e!="string"||e.includes("-")?!1:!!(uh.indexOf(e)>-1||/[A-Z]/u.test(e))}function fh(e,t,n,{latestValues:s},r,o=!1){const a=(mo(e)?dh:ih)(t,s,r,e),c=Xf(t,typeof e=="string",o),d=e!==C.Fragment?{...c,...a,ref:n}:{},{children:u}=t,f=C.useMemo(()=>Re(u)?u.get():u,[u]);return C.createElement(e,{...d,children:f})}function ci(e){const t=[{},{}];return e==null||e.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function po(e,t,n,s){if(typeof t=="function"){const[r,o]=ci(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]=ci(s);t=t(n!==void 0?n:e.custom,r,o)}return t}function Yn(e){return Re(e)?e.get():e}function hh({scrapeMotionValuesFromProps:e,createRenderState:t},n,s,r){return{latestValues:mh(n,s,r,e),renderState:t()}}function mh(e,t,n,s){const r={},o=s(e,{});for(const h in o)r[h]=Yn(o[h]);let{initial:i,animate:a}=e;const c=hs(e),d=Hc(e);t&&d&&!c&&e.inherit!==!1&&(i===void 0&&(i=t.initial),a===void 0&&(a=t.animate));let u=n?n.initial===!1:!1;u=u||i===!1;const f=u?a:i;if(f&&typeof f!="boolean"&&!fs(f)){const h=Array.isArray(f)?f:[f];for(let g=0;g<h.length;g++){const x=po(e,h[g]);if(x){const{transitionEnd:m,transition:b,...k}=x;for(const v in k){let T=k[v];if(Array.isArray(T)){const w=u?T.length-1:0;T=T[w]}T!==null&&(r[v]=T)}for(const v in m)r[v]=m[v]}}}return r}const Yc=e=>(t,n)=>{const s=C.useContext(us),r=C.useContext(ds),o=()=>hh(e,t,s,r);return n?o():Lr(o)};function go(e,t,n){var o;const{style:s}=e,r={};for(const i in s)(Re(s[i])||t.style&&Re(t.style[i])||Uc(i,e)||((o=n==null?void 0:n.getValue(i))==null?void 0:o.liveStyle)!==void 0)&&(r[i]=s[i]);return r}const ph=Yc({scrapeMotionValuesFromProps:go,createRenderState:ho});function qc(e,t,n){const s=go(e,t,n);for(const r in e)if(Re(e[r])||Re(t[r])){const o=Jt.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;s[o]=e[r]}return s}const gh=Yc({scrapeMotionValuesFromProps:qc,createRenderState:Gc}),yh=Symbol.for("motionComponentSymbol");function Lt(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function xh(e,t,n){return C.useCallback(s=>{s&&e.onMount&&e.onMount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):Lt(n)&&(n.current=s))},[t])}const yo=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),bh="framerAppearId",Xc="data-"+yo(bh),Jc=C.createContext({});function vh(e,t,n,s,r){var m,b;const{visualElement:o}=C.useContext(us),i=C.useContext(Bc),a=C.useContext(ds),c=C.useContext(co).reducedMotion,d=C.useRef(null);s=s||i.renderer,!d.current&&s&&(d.current=s(e,{visualState:t,parent:o,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:c}));const u=d.current,f=C.useContext(Jc);u&&!u.projection&&r&&(u.type==="html"||u.type==="svg")&&wh(d.current,n,r,f);const h=C.useRef(!1);C.useInsertionEffect(()=>{u&&h.current&&u.update(n,a)});const g=n[Xc],x=C.useRef(!!g&&!((m=window.MotionHandoffIsComplete)!=null&&m.call(window,g))&&((b=window.MotionHasOptimisedAnimation)==null?void 0:b.call(window,g)));return Ya(()=>{u&&(h.current=!0,window.MotionIsMounted=!0,u.updateFeatures(),u.scheduleRenderMicrotask(),x.current&&u.animationState&&u.animationState.animateChanges())}),C.useEffect(()=>{u&&(!x.current&&u.animationState&&u.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{var k;(k=window.MotionHandoffMarkAsComplete)==null||k.call(window,g)}),x.current=!1),u.enteringChildren=void 0)}),u}function wh(e,t,n,s){const{layoutId:r,layout:o,drag:i,dragConstraints:a,layoutScroll:c,layoutRoot:d,layoutCrossfade:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Qc(e.parent)),e.projection.setOptions({layoutId:r,layout:o,alwaysMeasureLayout:!!i||a&&Lt(a),visualElement:e,animationType:typeof o=="string"?o:"both",initialPromotionConfig:s,crossfade:u,layoutScroll:c,layoutRoot:d})}function Qc(e){if(e)return e.options.allowProjection!==!1?e.projection:Qc(e.parent)}function $s(e,{forwardMotionProps:t=!1}={},n,s){n&&Kf(n);const r=mo(e)?gh:ph;function o(a,c){let d;const u={...C.useContext(co),...a,layoutId:Sh(a)},{isStatic:f}=u,h=Qf(a),g=r(a,f);if(!f&&_r){Ch(u,n);const x=kh(u);d=x.MeasureLayout,h.visualElement=vh(e,g,u,s,x.ProjectionNode)}return l.jsxs(us.Provider,{value:h,children:[d&&h.visualElement?l.jsx(d,{visualElement:h.visualElement,...u}):null,fh(e,a,xh(g,h.visualElement,c),g,f,t)]})}o.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const i=C.forwardRef(o);return i[yh]=e,i}function Sh({layoutId:e}){const t=C.useContext(Or).id;return t&&e!==void 0?t+"-"+e:e}function Ch(e,t){const n=C.useContext(Bc).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?qt(!1,s,"lazy-strict-mode"):ot(!1,s,"lazy-strict-mode")}}function kh(e){const{drag:t,layout:n}=Gt;if(!t&&!n)return{};const s={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function Th(e,t){if(typeof Proxy>"u")return $s;const n=new Map,s=(o,i)=>$s(o,i,e,t),r=(o,i)=>(process.env.NODE_ENV!=="production"&&Zr(!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,$s(i,void 0,e,t)),n.get(i))})}function el({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function Eh({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Ah(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 Fs(e){return e===void 0||e===1}function vr({scale:e,scaleX:t,scaleY:n}){return!Fs(e)||!Fs(t)||!Fs(n)}function bt(e){return vr(e)||tl(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function tl(e){return li(e.x)||li(e.y)}function li(e){return e&&e!=="0%"}function rs(e,t,n){const s=e-n,r=t*s;return n+r}function di(e,t,n,s,r){return r!==void 0&&(e=rs(e,r,s)),rs(e,n,s)+t}function wr(e,t=0,n=1,s,r){e.min=di(e.min,t,n,s,r),e.max=di(e.max,t,n,s,r)}function nl(e,{x:t,y:n}){wr(e.x,t.translate,t.scale,t.originPoint),wr(e.y,n.translate,n.scale,n.originPoint)}const ui=.999999999999,fi=1.0000000000001;function jh(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:c}=o.options;c&&c.props.style&&c.props.style.display==="contents"||(s&&o.options.layoutScroll&&o.scroll&&o!==o.root&&Bt(e,{x:-o.scroll.offset.x,y:-o.scroll.offset.y}),i&&(t.x*=i.x.scale,t.y*=i.y.scale,nl(e,i)),s&&bt(o.latestValues)&&Bt(e,o.latestValues))}t.x<fi&&t.x>ui&&(t.x=1),t.y<fi&&t.y>ui&&(t.y=1)}function _t(e,t){e.min=e.min+t,e.max=e.max+t}function hi(e,t,n,s,r=.5){const o=ve(e.min,e.max,r);wr(e,t,n,o,s)}function Bt(e,t){hi(e.x,t.x,t.scaleX,t.scale,t.originX),hi(e.y,t.y,t.scaleY,t.scale,t.originY)}function sl(e,t){return el(Ah(e.getBoundingClientRect(),t))}function Mh(e,t,n){const s=sl(e,n),{scroll:r}=t;return r&&(_t(s.x,r.offset.x),_t(s.y,r.offset.y)),s}const mi=()=>({translate:0,scale:1,origin:0,originPoint:0}),zt=()=>({x:mi(),y:mi()}),pi=()=>({min:0,max:0}),Te=()=>({x:pi(),y:pi()}),Sr={current:null},rl={current:!1};function Ph(){if(rl.current=!0,!!_r)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Sr.current=e.matches;e.addEventListener("change",t),t()}else Sr.current=!1}const Vh=new WeakMap;function Nh(e,t,n){for(const s in t){const r=t[s],o=n[s];if(Re(r))e.addValue(s,r);else if(Re(o))e.addValue(s,Wt(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,Wt(i!==void 0?i:r,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const gi=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Rh{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=so,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 h=$e.now();this.renderScheduledAt<h&&(this.renderScheduledAt=h,ye.render(this.render,!1,!0))};const{latestValues:c,renderState:d}=i;this.latestValues=c,this.baseTarget={...c},this.initialValues=n.initial?{...c}:{},this.renderState=d,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=hs(n),this.isVariantNode=Hc(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...f}=this.scrapeMotionValuesFromProps(n,{},this);for(const h in f){const g=f[h];c[h]!==void 0&&Re(g)&&g.set(c[h])}}mount(t){var n;this.current=t,Vh.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((s,r)=>this.bindToMotionValue(r,s)),rl.current||Ph(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Sr.current,process.env.NODE_ENV!=="production"&&Zr(this.shouldReduceMotion!==!0,"You have Reduced Motion enabled on your device. Animations may not appear as expected.","reduced-motion-disabled"),(n=this.parent)==null||n.addChild(this),this.update(this.props,this.presenceContext)}unmount(){var t;this.projection&&this.projection.unmount(),ut(this.notifyUpdate),ut(this.render),this.valueSubscriptions.forEach(n=>n()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(t=this.parent)==null||t.removeChild(this);for(const n in this.events)this.events[n].clear();for(const n in this.features){const s=this.features[n];s&&(s.unmount(),s.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=Qt.has(t);s&&this.onBindTransform&&this.onBindTransform();const r=n.on("change",i=>{this.latestValues[t]=i,this.props.onUpdate&&ye.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 Gt){const n=Gt[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):Te()}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<gi.length;s++){const r=gi[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=Nh(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=Wt(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"&&(qa(s)||Ja(s))?s=parseFloat(s):!Hf(s)&&ft.test(n)&&(s=Rc(t,n)),this.setBaseTarget(t,Re(s)?s.get():s)),Re(s)?s.get():s}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var o;const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const i=po(this.props,n,(o=this.presenceContext)==null?void 0:o.custom);i&&(s=i[t])}if(n&&s!==void 0)return s;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!Re(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 Ur),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){io.render(this.render)}}class ol extends Rh{constructor(){super(...arguments),this.KeyframeResolver=Vf}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;Re(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function il(e,{style:t,vars:n},s,r){const o=e.style;let i;for(i in t)o[i]=t[i];r==null||r.applyProjectionStyles(o,s);for(i in n)o.setProperty(i,n[i])}function Ih(e){return window.getComputedStyle(e)}class Dh extends ol{constructor(){super(...arguments),this.type="html",this.renderInstance=il}readValueFromInstance(t,n){var s;if(Qt.has(n))return(s=this.projection)!=null&&s.isProjecting?hr(n):Ku(t,n);{const r=Ih(t),o=(Kr(n)?r.getPropertyValue(n):r[n])||0;return typeof o=="string"?o.trim():o}}measureInstanceViewportBox(t,{transformPagePoint:n}){return sl(t,n)}build(t,n,s){fo(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return go(t,n,s)}}const al=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 $h(e,t,n,s){il(e,t,void 0,s);for(const r in t.attrs)e.setAttribute(al.has(r)?r:yo(r),t.attrs[r])}class Fh extends ol{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Te}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Qt.has(n)){const s=Nc(n);return s&&s.default||0}return n=al.has(n)?n:yo(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return qc(t,n,s)}build(t,n,s){Wc(t,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,n,s,r){$h(t,n,s,r)}mount(t){this.isSVGTag=Kc(t.tagName),super.mount(t)}}const Oh=(e,t)=>mo(e)?new Fh(t):new Dh(t,{allowProjection:e!==C.Fragment});function Ut(e,t,n){const s=e.getProps();return po(s,t,n!==void 0?n:s.custom,e)}const Cr=e=>Array.isArray(e);function Lh(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Wt(n))}function _h(e){return Cr(e)?e[e.length-1]||0:e}function Bh(e,t){const n=Ut(e,t);let{transitionEnd:s={},transition:r={},...o}=n||{};o={...o,...s};for(const i in o){const a=_h(o[i]);Lh(e,i,a)}}function zh(e){return!!(Re(e)&&e.add)}function kr(e,t){const n=e.getValue("willChange");if(zh(n))return n.add(t);if(!n&&it.WillChange){const s=new it.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function cl(e){return e.props[Xc]}const Hh=e=>e!==null;function Uh(e,{repeat:t,repeatType:n="loop"},s){const r=e.filter(Hh),o=t&&n!=="loop"&&t%2===1?0:r.length-1;return r[o]}const Zh={type:"spring",stiffness:500,damping:25,restSpeed:10},Wh=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Gh={type:"keyframes",duration:.8},Kh={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Yh=(e,{keyframes:t})=>t.length>2?Gh:Qt.has(e)?e.startsWith("scale")?Wh(t[1]):Zh:Kh;function qh({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:r,repeat:o,repeatType:i,repeatDelay:a,from:c,elapsed:d,...u}){return!!Object.keys(u).length}const xo=(e,t,n,s={},r,o)=>i=>{const a=ro(s,e)||{},c=a.delay||s.delay||0;let{elapsed:d=0}=s;d=d-Ge(c);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-d,onUpdate:h=>{t.set(h),a.onUpdate&&a.onUpdate(h)},onComplete:()=>{i(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:o?void 0:r};qh(a)||Object.assign(u,Yh(e,u)),u.duration&&(u.duration=Ge(u.duration)),u.repeatDelay&&(u.repeatDelay=Ge(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let f=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(xr(u),u.delay===0&&(f=!0)),(it.instantAnimations||it.skipAnimations)&&(f=!0,xr(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,f&&!o&&t.get()!==void 0){const h=Uh(u.keyframes,a);if(h!==void 0){ye.update(()=>{u.onUpdate(h),u.onComplete()});return}}return a.isSync?new no(u):new xf(u)};function Xh({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function ll(e,t,{delay:n=0,transitionOverride:s,type:r}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:i,...a}=t;s&&(o=s);const c=[],d=r&&e.animationState&&e.animationState.getState()[r];for(const u in a){const f=e.getValue(u,e.latestValues[u]??null),h=a[u];if(h===void 0||d&&Xh(d,u))continue;const g={delay:n,...ro(o||{},u)},x=f.get();if(x!==void 0&&!f.isAnimating&&!Array.isArray(h)&&h===x&&!g.velocity)continue;let m=!1;if(window.MotionHandoffAnimation){const k=cl(e);if(k){const v=window.MotionHandoffAnimation(k,u,ye);v!==null&&(g.startTime=v,m=!0)}}kr(e,u),f.start(xo(u,f,h,e.shouldReduceMotion&&Mc.has(u)?{type:!1}:g,e,m));const b=f.animation;b&&c.push(b)}return i&&Promise.all(c).then(()=>{ye.update(()=>{i&&Bh(e,i)})}),c}function dl(e,t,n,s=0,r=1){const o=Array.from(e).sort((d,u)=>d.sortNodePosition(u)).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={}){var c;const s=Ut(e,t,n.type==="exit"?(c=e.presenceContext)==null?void 0:c.custom:void 0);let{transition:r=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(r=n.transitionOverride);const o=s?()=>Promise.all(ll(e,s,n)):()=>Promise.resolve(),i=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:u=0,staggerChildren:f,staggerDirection:h}=r;return Jh(e,t,d,u,f,h,n)}:()=>Promise.resolve(),{when:a}=r;if(a){const[d,u]=a==="beforeChildren"?[o,i]:[i,o];return d().then(()=>u())}else return Promise.all([o(),i(n.delay)])}function Jh(e,t,n=0,s=0,r=0,o=1,i){const a=[];for(const c of e.variantChildren)c.notify("AnimationStart",t),a.push(Tr(c,t,{...i,delay:n+(typeof s=="function"?0:s)+dl(e.variantChildren,c,s,r,o)}).then(()=>c.notify("AnimationComplete",t)));return Promise.all(a)}function Qh(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"?Ut(e,t,n.custom):t;s=Promise.all(ll(e,r,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}function ul(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 em=uo.length;function fl(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?fl(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<em;n++){const s=uo[n],r=e.props[s];(wn(r)||r===!1)&&(t[s]=r)}return t}const tm=[...lo].reverse(),nm=lo.length;function sm(e){return t=>Promise.all(t.map(({animation:n,options:s})=>Qh(e,n,s)))}function rm(e){let t=sm(e),n=yi(),s=!0;const r=c=>(d,u)=>{var h;const f=Ut(e,u,c==="exit"?(h=e.presenceContext)==null?void 0:h.custom:void 0);if(f){const{transition:g,transitionEnd:x,...m}=f;d={...d,...m,...x}}return d};function o(c){t=c(e)}function i(c){const{props:d}=e,u=fl(e.parent)||{},f=[],h=new Set;let g={},x=1/0;for(let b=0;b<nm;b++){const k=tm[b],v=n[k],T=d[k]!==void 0?d[k]:u[k],w=wn(T),S=k===c?v.isActive:null;S===!1&&(x=b);let A=T===u[k]&&T!==d[k]&&w;if(A&&s&&e.manuallyAnimateOnMount&&(A=!1),v.protectedKeys={...g},!v.isActive&&S===null||!T&&!v.prevProp||fs(T)||typeof T=="boolean")continue;const M=om(v.prevProp,T);let j=M||k===c&&v.isActive&&!A&&w||b>x&&w,z=!1;const y=Array.isArray(T)?T:[T];let D=y.reduce(r(k),{});S===!1&&(D={});const{prevResolvedValues:_={}}=v,J={..._,...D},te=Y=>{j=!0,h.has(Y)&&(z=!0,h.delete(Y)),v.needsAnimating[Y]=!0;const R=e.getValue(Y);R&&(R.liveStyle=!1)};for(const Y in J){const R=D[Y],X=_[Y];if(g.hasOwnProperty(Y))continue;let V=!1;Cr(R)&&Cr(X)?V=!ul(R,X):V=R!==X,V?R!=null?te(Y):h.add(Y):R!==void 0&&h.has(Y)?te(Y):v.protectedKeys[Y]=!0}v.prevProp=T,v.prevResolvedValues=D,v.isActive&&(g={...g,...D}),s&&e.blockInitialAnimation&&(j=!1);const ee=A&&M;j&&(!ee||z)&&f.push(...y.map(Y=>{const R={type:k};if(typeof Y=="string"&&s&&!ee&&e.manuallyAnimateOnMount&&e.parent){const{parent:X}=e,V=Ut(X,Y);if(X.enteringChildren&&V){const{delayChildren:U}=V.transition||{};R.delay=dl(X.enteringChildren,e,U)}}return{animation:Y,options:R}}))}if(h.size){const b={};if(typeof d.initial!="boolean"){const k=Ut(e,Array.isArray(d.initial)?d.initial[0]:d.initial);k&&k.transition&&(b.transition=k.transition)}h.forEach(k=>{const v=e.getBaseTarget(k),T=e.getValue(k);T&&(T.liveStyle=!0),b[k]=v??null}),f.push({animation:b})}let m=!!f.length;return s&&(d.initial===!1||d.initial===d.animate)&&!e.manuallyAnimateOnMount&&(m=!1),s=!1,m?t(f):Promise.resolve()}function a(c,d){var f;if(n[c].isActive===d)return Promise.resolve();(f=e.variantChildren)==null||f.forEach(h=>{var g;return(g=h.animationState)==null?void 0:g.setActive(c,d)}),n[c].isActive=d;const u=i(c);for(const h in n)n[h].protectedKeys={};return u}return{animateChanges:i,setActive:a,setAnimateFunction:o,getState:()=>n,reset:()=>{n=yi(),s=!0}}}function om(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!ul(t,e):!1}function yt(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function yi(){return{animate:yt(!0),whileInView:yt(),whileHover:yt(),whileTap:yt(),whileDrag:yt(),whileFocus:yt(),exit:yt()}}class pt{constructor(t){this.isMounted=!1,this.node=t}update(){}}class im extends pt{constructor(t){super(t),t.animationState||(t.animationState=rm(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();fs(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(){var t;this.node.animationState.reset(),(t=this.unmountControls)==null||t.call(this)}}let am=0;class cm extends pt{constructor(){super(...arguments),this.id=am++}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 lm={animation:{Feature:im},exit:{Feature:cm}};function Cn(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}function jn(e){return{point:{x:e.pageX,y:e.pageY}}}const dm=e=>t=>ao(t)&&e(t,jn(t));function hn(e,t,n,s){return Cn(e,t,dm(n),s)}const hl=1e-4,um=1-hl,fm=1+hl,ml=.01,hm=0-ml,mm=0+ml;function De(e){return e.max-e.min}function pm(e,t,n){return Math.abs(e-t)<=n}function xi(e,t,n,s=.5){e.origin=s,e.originPoint=ve(t.min,t.max,e.origin),e.scale=De(n)/De(t),e.translate=ve(n.min,n.max,e.origin)-e.originPoint,(e.scale>=um&&e.scale<=fm||isNaN(e.scale))&&(e.scale=1),(e.translate>=hm&&e.translate<=mm||isNaN(e.translate))&&(e.translate=0)}function mn(e,t,n,s){xi(e.x,t.x,n.x,s?s.originX:void 0),xi(e.y,t.y,n.y,s?s.originY:void 0)}function bi(e,t,n){e.min=n.min+t.min,e.max=e.min+De(t)}function gm(e,t,n){bi(e.x,t.x,n.x),bi(e.y,t.y,n.y)}function vi(e,t,n){e.min=t.min-n.min,e.max=e.min+De(t)}function pn(e,t,n){vi(e.x,t.x,n.x),vi(e.y,t.y,n.y)}function _e(e){return[e("x"),e("y")]}const pl=({current:e})=>e?e.ownerDocument.defaultView:null,wi=(e,t)=>Math.abs(e-t);function ym(e,t){const n=wi(e.x,t.x),s=wi(e.y,t.y);return Math.sqrt(n**2+s**2)}class gl{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 h=Ls(this.lastMoveEventInfo,this.history),g=this.startEvent!==null,x=ym(h.offset,{x:0,y:0})>=this.distanceThreshold;if(!g&&!x)return;const{point:m}=h,{timestamp:b}=Pe;this.history.push({...m,timestamp:b});const{onStart:k,onMove:v}=this.handlers;g||(k&&k(this.lastMoveEvent,h),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,h)},this.handlePointerMove=(h,g)=>{this.lastMoveEvent=h,this.lastMoveEventInfo=Os(g,this.transformPagePoint),ye.update(this.updatePoint,!0)},this.handlePointerUp=(h,g)=>{this.end();const{onEnd:x,onSessionEnd:m,resumeAnimation:b}=this.handlers;if(this.dragSnapToOrigin&&b&&b(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const k=Ls(h.type==="pointercancel"?this.lastMoveEventInfo:Os(g,this.transformPagePoint),this.history);this.startEvent&&x&&x(h,k),m&&m(h,k)},!ao(t))return;this.dragSnapToOrigin=o,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=i,this.contextWindow=r||window;const a=jn(t),c=Os(a,this.transformPagePoint),{point:d}=c,{timestamp:u}=Pe;this.history=[{...d,timestamp:u}];const{onSessionStart:f}=n;f&&f(t,Ls(c,this.history)),this.removeListeners=Tn(hn(this.contextWindow,"pointermove",this.handlePointerMove),hn(this.contextWindow,"pointerup",this.handlePointerUp),hn(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),ut(this.updatePoint)}}function Os(e,t){return t?{point:t(e.point)}:e}function Si(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ls({point:e},t){return{point:e,delta:Si(e,yl(t)),offset:Si(e,xm(t)),velocity:bm(t,.1)}}function xm(e){return e[0]}function yl(e){return e[e.length-1]}function bm(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const r=yl(e);for(;n>=0&&(s=e[n],!(r.timestamp-s.timestamp>Ge(t)));)n--;if(!s)return{x:0,y:0};const o=Xe(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 vm(e,{min:t,max:n},s){return t!==void 0&&e<t?e=s?ve(t,e,s.min):Math.max(e,t):n!==void 0&&e>n&&(e=s?ve(n,e,s.max):Math.min(e,n)),e}function Ci(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 wm(e,{top:t,left:n,bottom:s,right:r}){return{x:Ci(e.x,n,r),y:Ci(e.y,t,s)}}function ki(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 Sm(e,t){return{x:ki(e.x,t.x),y:ki(e.y,t.y)}}function Cm(e,t){let n=.5;const s=De(e),r=De(t);return r>s?n=xn(t.min,t.max-s,e.min):s>r&&(n=xn(e.min,e.max-r,t.min)),rt(0,1,n)}function km(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 Er=.35;function Tm(e=Er){return e===!1?e=0:e===!0&&(e=Er),{x:Ti(e,"left","right"),y:Ti(e,"top","bottom")}}function Ti(e,t,n){return{min:Ei(e,t),max:Ei(e,n)}}function Ei(e,t){return typeof e=="number"?e:e[t]||0}const Em=new WeakMap;class Am{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=Te(),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=f=>{const{dragSnapToOrigin:h}=this.getProps();h?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(jn(f).point)},i=(f,h)=>{const{drag:g,dragPropagation:x,onDragStart:m}=this.getProps();if(g&&!x&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Df(g),!this.openDragLock))return;this.latestPointerEvent=f,this.latestPanInfo=h,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),_e(k=>{let v=this.getAxisMotionValue(k).get()||0;if(Je.test(v)){const{projection:T}=this.visualElement;if(T&&T.layout){const w=T.layout.layoutBox[k];w&&(v=De(w)*(parseFloat(v)/100))}}this.originPoint[k]=v}),m&&ye.postRender(()=>m(f,h)),kr(this.visualElement,"transform");const{animationState:b}=this.visualElement;b&&b.setActive("whileDrag",!0)},a=(f,h)=>{this.latestPointerEvent=f,this.latestPanInfo=h;const{dragPropagation:g,dragDirectionLock:x,onDirectionLock:m,onDrag:b}=this.getProps();if(!g&&!this.openDragLock)return;const{offset:k}=h;if(x&&this.currentDirection===null){this.currentDirection=jm(k),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",h.point,k),this.updateAxis("y",h.point,k),this.visualElement.render(),b&&b(f,h)},c=(f,h)=>{this.latestPointerEvent=f,this.latestPanInfo=h,this.stop(f,h),this.latestPointerEvent=null,this.latestPanInfo=null},d=()=>_e(f=>{var h;return this.getAnimationState(f)==="paused"&&((h=this.getAxisMotionValue(f).animation)==null?void 0:h.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new gl(t,{onSessionStart:o,onStart:i,onMove:a,onSessionEnd:c,resumeAnimation:d},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:s,contextWindow:pl(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&&ye.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||!On(t,r,this.currentDirection))return;const o=this.getAxisMotionValue(t);let i=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(i=vm(i,this.constraints[t],this.elastic[t])),o.set(i)}resolveConstraints(){var o;const{dragConstraints:t,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(o=this.visualElement.projection)==null?void 0:o.layout,r=this.constraints;t&&Lt(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&s?this.constraints=wm(s.layoutBox,t):this.constraints=!1,this.elastic=Tm(n),r!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&_e(i=>{this.constraints!==!1&&this.getAxisMotionValue(i)&&(this.constraints[i]=km(s.layoutBox[i],this.constraints[i]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Lt(t))return!1;const s=t.current;ot(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=Mh(s,r.root,this.visualElement.getTransformPagePoint());let i=Sm(r.layout.layoutBox,o);if(n){const a=n(Eh(i));this.hasMutatedConstraints=!!a,a&&(i=el(a))}return i}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:r,dragTransition:o,dragSnapToOrigin:i,onDragTransitionEnd:a}=this.getProps(),c=this.constraints||{},d=_e(u=>{if(!On(u,n,this.currentDirection))return;let f=c&&c[u]||{};i&&(f={min:0,max:0});const h=r?200:1e6,g=r?40:1e7,x={type:"inertia",velocity:s?t[u]:0,bounceStiffness:h,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(u,x)});return Promise.all(d).then(a)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return kr(this.visualElement,t),s.start(xo(t,s,0,n,this.visualElement,!1))}stopAnimation(){_e(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){_e(t=>{var n;return(n=this.getAxisMotionValue(t).animation)==null?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)==null?void 0:n.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){_e(n=>{const{drag:s}=this.getProps();if(!On(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]-ve(i,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!Lt(n)||!s||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};_e(i=>{const a=this.getAxisMotionValue(i);if(a&&this.constraints!==!1){const c=a.get();r[i]=Cm({min:c,max:c},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(),_e(i=>{if(!On(i,t,null))return;const a=this.getAxisMotionValue(i),{min:c,max:d}=this.constraints[i];a.set(ve(c,d,r[i]))})}addListeners(){if(!this.visualElement.current)return;Em.set(this.visualElement,this);const t=this.visualElement.current,n=hn(t,"pointerdown",c=>{const{drag:d,dragListener:u=!0}=this.getProps();d&&u&&this.start(c)}),s=()=>{const{dragConstraints:c}=this.getProps();Lt(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,o=r.addEventListener("measure",s);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),ye.read(s);const i=Cn(window,"resize",()=>this.scalePositionWithinConstraints()),a=r.addEventListener("didUpdate",({delta:c,hasLayoutChanged:d})=>{this.isDragging&&d&&(_e(u=>{const f=this.getAxisMotionValue(u);f&&(this.originPoint[u]+=c[u].translate,f.set(f.get()+c[u].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=Er,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:r,dragConstraints:o,dragElastic:i,dragMomentum:a}}}function On(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function jm(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class Mm extends pt{constructor(t){super(t),this.removeGroupControls=He,this.removeListeners=He,this.controls=new Am(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||He}unmount(){this.removeGroupControls(),this.removeListeners()}}const Ai=e=>(t,n)=>{e&&ye.postRender(()=>e(t,n))};class Pm extends pt{constructor(){super(...arguments),this.removePointerDownListener=He}onPointerDown(t){this.session=new gl(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:pl(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:r}=this.node.getProps();return{onSessionStart:Ai(t),onStart:Ai(n),onMove:s,onEnd:(o,i)=>{delete this.session,r&&ye.postRender(()=>r(o,i))}}}mount(){this.removePointerDownListener=hn(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 qn={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function ji(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(Q.test(e))e=parseFloat(e);else return e;const n=ji(e,t.target.x),s=ji(e,t.target.y);return`${n}% ${s}%`}},Vm={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,r=ft.parse(e);if(r.length>5)return s;const o=ft.createTransformer(e),i=typeof r[0]!="number"?1:0,a=n.x.scale*t.x,c=n.y.scale*t.y;r[0+i]/=a,r[1+i]/=c;const d=ve(a,c,.5);return typeof r[2+i]=="number"&&(r[2+i]/=d),typeof r[3+i]=="number"&&(r[3+i]/=d),o(r)}};let _s=!1;class Nm extends C.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:r}=this.props,{projection:o}=t;eh(Rm),o&&(n.group&&n.group.add(o),s&&s.register&&r&&s.register(o),_s&&o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),qn.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:r,isPresent:o}=this.props,{projection:i}=s;return i&&(i.isPresent=o,_s=!0,r||t.layoutDependency!==n||n===void 0||t.isPresent!==o?i.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?i.promote():i.relegate()||ye.postRender(()=>{const a=i.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),io.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:r}=t;_s=!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 xl(e){const[t,n]=_c(),s=C.useContext(Or);return l.jsx(Nm,{...e,layoutGroup:s,switchLayoutGroup:C.useContext(Jc),isPresent:t,safeToRemove:n})}const Rm={borderRadius:{...on,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:on,borderTopRightRadius:on,borderBottomLeftRadius:on,borderBottomRightRadius:on,boxShadow:Vm};function Im(e,t,n){const s=Re(e)?e:Wt(e);return s.start(xo("",s,t,n)),s.animation}const Dm=(e,t)=>e.depth-t.depth;class $m{constructor(){this.children=[],this.isDirty=!1}add(t){Br(this.children,t),this.isDirty=!0}remove(t){zr(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Dm),this.isDirty=!1,this.children.forEach(t)}}function Fm(e,t){const n=$e.now(),s=({timestamp:r})=>{const o=r-n;o>=t&&(ut(s),e(o-t))};return ye.setup(s,!0),()=>ut(s)}const bl=["TopLeft","TopRight","BottomLeft","BottomRight"],Om=bl.length,Mi=e=>typeof e=="string"?parseFloat(e):e,Pi=e=>typeof e=="number"||Q.test(e);function Lm(e,t,n,s,r,o){r?(e.opacity=ve(0,n.opacity??1,_m(s)),e.opacityExit=ve(t.opacity??1,0,Bm(s))):o&&(e.opacity=ve(t.opacity??1,n.opacity??1,s));for(let i=0;i<Om;i++){const a=`border${bl[i]}Radius`;let c=Vi(t,a),d=Vi(n,a);if(c===void 0&&d===void 0)continue;c||(c=0),d||(d=0),c===0||d===0||Pi(c)===Pi(d)?(e[a]=Math.max(ve(Mi(c),Mi(d),s),0),(Je.test(d)||Je.test(c))&&(e[a]+="%")):e[a]=d}(t.rotate||n.rotate)&&(e.rotate=ve(t.rotate||0,n.rotate||0,s))}function Vi(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const _m=vl(0,.5,ic),Bm=vl(.5,.95,He);function vl(e,t,n){return s=>s<e?0:s>t?1:n(xn(e,t,s))}function Ni(e,t){e.min=t.min,e.max=t.max}function Le(e,t){Ni(e.x,t.x),Ni(e.y,t.y)}function Ri(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Ii(e,t,n,s,r){return e-=t,e=rs(e,1/n,s),r!==void 0&&(e=rs(e,1/r,s)),e}function zm(e,t=0,n=1,s=.5,r,o=e,i=e){if(Je.test(t)&&(t=parseFloat(t),t=ve(i.min,i.max,t/100)-i.min),typeof t!="number")return;let a=ve(o.min,o.max,s);e===o&&(a-=t),e.min=Ii(e.min,t,n,a,r),e.max=Ii(e.max,t,n,a,r)}function Di(e,t,[n,s,r],o,i){zm(e,t[n],t[s],t[r],t.scale,o,i)}const Hm=["x","scaleX","originX"],Um=["y","scaleY","originY"];function $i(e,t,n,s){Di(e.x,t,Hm,n?n.x:void 0,s?s.x:void 0),Di(e.y,t,Um,n?n.y:void 0,s?s.y:void 0)}function Fi(e){return e.translate===0&&e.scale===1}function wl(e){return Fi(e.x)&&Fi(e.y)}function Oi(e,t){return e.min===t.min&&e.max===t.max}function Zm(e,t){return Oi(e.x,t.x)&&Oi(e.y,t.y)}function Li(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Sl(e,t){return Li(e.x,t.x)&&Li(e.y,t.y)}function _i(e){return De(e.x)/De(e.y)}function Bi(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Wm{constructor(){this.members=[]}add(t){Br(this.members,t),t.scheduleRender()}remove(t){if(zr(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 Gm(e,t,n){let s="";const r=e.x.translate/t.x,o=e.y.translate/t.y,i=(n==null?void 0: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:d,rotate:u,rotateX:f,rotateY:h,skewX:g,skewY:x}=n;d&&(s=`perspective(${d}px) ${s}`),u&&(s+=`rotate(${u}deg) `),f&&(s+=`rotateX(${f}deg) `),h&&(s+=`rotateY(${h}deg) `),g&&(s+=`skewX(${g}deg) `),x&&(s+=`skewY(${x}deg) `)}const a=e.x.scale*t.x,c=e.y.scale*t.y;return(a!==1||c!==1)&&(s+=`scale(${a}, ${c})`),s||"none"}const Bs=["","X","Y","Z"],Km=1e3;let Ym=0;function zs(e,t,n,s){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),s&&(s[e]=0))}function Cl(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=cl(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:o}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",ye,!(r||o))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&Cl(s)}function kl({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:r}){return class{constructor(i={},a=t==null?void 0:t()){this.id=Ym++,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(Jm),this.nodes.forEach(np),this.nodes.forEach(sp),this.nodes.forEach(Qm)},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 c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new $m)}addEventListener(i,a){return this.eventHandlers.has(i)||this.eventHandlers.set(i,new Ur),this.eventHandlers.get(i).add(a)}notifyListeners(i,...a){const c=this.eventHandlers.get(i);c&&c.notify(...a)}hasListeners(i){return this.eventHandlers.has(i)}mount(i){if(this.instance)return;this.isSVG=Lc(i)&&!Bf(i),this.instance=i;const{layoutId:a,layout:c,visualElement:d}=this.options;if(d&&!d.current&&d.mount(i),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(c||a)&&(this.isLayoutDirty=!0),e){let u,f=0;const h=()=>this.root.updateBlockedByResize=!1;ye.read(()=>{f=window.innerWidth}),e(i,()=>{const g=window.innerWidth;g!==f&&(f=g,this.root.updateBlockedByResize=!0,u&&u(),u=Fm(h,250),qn.hasAnimatedSinceResize&&(qn.hasAnimatedSinceResize=!1,this.nodes.forEach(Ui)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&d&&(a||c)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:f,hasRelativeLayoutChanged:h,layout:g})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const x=this.options.transition||d.getDefaultTransition()||cp,{onLayoutAnimationStart:m,onLayoutAnimationComplete:b}=d.getProps(),k=!this.targetLayout||!Sl(this.targetLayout,g),v=!f&&h;if(this.options.layoutRoot||this.resumeFrom||v||f&&(k||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const T={...ro(x,"layout"),onPlay:m,onComplete:b};(d.shouldReduceMotion||this.options.layoutRoot)&&(T.delay=0,T.type=!1),this.startAnimation(T),this.setAnimationOrigin(u,v)}else f||Ui(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(),ut(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(rp),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&&Cl(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const f=this.path[u];f.shouldResetTransform=!0,f.updateScroll("snapshot"),f.options.layoutRoot&&f.willUpdate(!1)}const{layoutId:a,layout:c}=this.options;if(a===void 0&&!c)return;const d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),i&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(zi);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Hi);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(tp),this.nodes.forEach(qm),this.nodes.forEach(Xm)):this.nodes.forEach(Hi),this.clearAllSnapshots();const a=$e.now();Pe.delta=rt(0,1e3/60,a-Pe.timestamp),Pe.timestamp=a,Pe.isProcessing=!0,Ps.update.process(Pe),Ps.preRender.process(Pe),Ps.render.process(Pe),Pe.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,io.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(ep),this.sharedNodes.forEach(op)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,ye.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){ye.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!De(this.snapshot.measuredBox.x)&&!De(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 c=0;c<this.path.length;c++)this.path[c].updateScroll();const i=this.layout;this.layout=this.measure(!1),this.layoutCorrected=Te(),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 c=s(this.instance);this.scroll={animationId:this.root.animationId,phase:i,isRoot:c,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!r)return;const i=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!wl(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,u=d!==this.prevTransformTemplateValue;i&&this.instance&&(a||bt(this.latestValues)||u)&&(r(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(i=!0){const a=this.measurePageBox();let c=this.removeElementScroll(a);return i&&(c=this.removeTransform(c)),lp(c),{animationId:this.root.animationId,measuredBox:a,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var d;const{visualElement:i}=this.options;if(!i)return Te();const a=i.measureViewportBox();if(!(((d=this.scroll)==null?void 0:d.wasRoot)||this.path.some(dp))){const{scroll:u}=this.root;u&&(_t(a.x,u.offset.x),_t(a.y,u.offset.y))}return a}removeElementScroll(i){var c;const a=Te();if(Le(a,i),(c=this.scroll)!=null&&c.wasRoot)return a;for(let d=0;d<this.path.length;d++){const u=this.path[d],{scroll:f,options:h}=u;u!==this.root&&f&&h.layoutScroll&&(f.wasRoot&&Le(a,i),_t(a.x,f.offset.x),_t(a.y,f.offset.y))}return a}applyTransform(i,a=!1){const c=Te();Le(c,i);for(let d=0;d<this.path.length;d++){const u=this.path[d];!a&&u.options.layoutScroll&&u.scroll&&u!==u.root&&Bt(c,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),bt(u.latestValues)&&Bt(c,u.latestValues)}return bt(this.latestValues)&&Bt(c,this.latestValues),c}removeTransform(i){const a=Te();Le(a,i);for(let c=0;c<this.path.length;c++){const d=this.path[c];if(!d.instance||!bt(d.latestValues))continue;vr(d.latestValues)&&d.updateSnapshot();const u=Te(),f=d.measurePageBox();Le(u,f),$i(a,d.latestValues,d.snapshot?d.snapshot.layoutBox:void 0,u)}return bt(this.latestValues)&&$i(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){var h;const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const c=!!this.resumingFrom||this!==a;if(!(i||c&&this.isSharedProjectionDirty||this.isProjectionDirty||(h=this.parent)!=null&&h.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:f}=this.options;if(!(!this.layout||!(u||f))){if(this.resolvedRelativeTargetAt=Pe.timestamp,!this.targetDelta&&!this.relativeTarget){const g=this.getClosestProjectingParent();g&&g.layout&&this.animationProgress!==1?(this.relativeParent=g,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Te(),this.relativeTargetOrigin=Te(),pn(this.relativeTargetOrigin,this.layout.layoutBox,g.layout.layoutBox),Le(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Te(),this.targetWithTransforms=Te()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),gm(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Le(this.target,this.layout.layoutBox),nl(this.target,this.targetDelta)):Le(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const g=this.getClosestProjectingParent();g&&!!g.resumingFrom==!!this.resumingFrom&&!g.options.layoutScroll&&g.target&&this.animationProgress!==1?(this.relativeParent=g,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Te(),this.relativeTargetOrigin=Te(),pn(this.relativeTargetOrigin,this.target,g.target),Le(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||vr(this.parent.latestValues)||tl(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var x;const i=this.getLead(),a=!!this.resumingFrom||this!==i;let c=!0;if((this.isProjectionDirty||(x=this.parent)!=null&&x.isProjectionDirty)&&(c=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===Pe.timestamp&&(c=!1),c)return;const{layout:d,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||u))return;Le(this.layoutCorrected,this.layout.layoutBox);const f=this.treeScale.x,h=this.treeScale.y;jh(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=Te());const{target:g}=i;if(!g){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Ri(this.prevProjectionDelta.x,this.projectionDelta.x),Ri(this.prevProjectionDelta.y,this.projectionDelta.y)),mn(this.projectionDelta,this.layoutCorrected,g,this.latestValues),(this.treeScale.x!==f||this.treeScale.y!==h||!Bi(this.projectionDelta.x,this.prevProjectionDelta.x)||!Bi(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){var a;if((a=this.options.visualElement)==null||a.scheduleRender(),i){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=zt(),this.projectionDelta=zt(),this.projectionDeltaWithTransform=zt()}setAnimationOrigin(i,a=!1){const c=this.snapshot,d=c?c.latestValues:{},u={...this.latestValues},f=zt();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const h=Te(),g=c?c.source:void 0,x=this.layout?this.layout.source:void 0,m=g!==x,b=this.getStack(),k=!b||b.members.length<=1,v=!!(m&&!k&&this.options.crossfade===!0&&!this.path.some(ap));this.animationProgress=0;let T;this.mixTargetDelta=w=>{const S=w/1e3;Zi(f.x,i.x,S),Zi(f.y,i.y,S),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(pn(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),ip(this.relativeTarget,this.relativeTargetOrigin,h,S),T&&Zm(this.relativeTarget,T)&&(this.isProjectionDirty=!1),T||(T=Te()),Le(T,this.relativeTarget)),m&&(this.animationValues=u,Lm(u,d,this.latestValues,S,v,k)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=S},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(i){var a,c,d;this.notifyListeners("animationStart"),(a=this.currentAnimation)==null||a.stop(),(d=(c=this.resumingFrom)==null?void 0:c.currentAnimation)==null||d.stop(),this.pendingAnimation&&(ut(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ye.update(()=>{qn.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Wt(0)),this.currentAnimation=Im(this.motionValue,[0,1e3],{...i,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),i.onUpdate&&i.onUpdate(u)},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(Km),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const i=this.getLead();let{targetWithTransforms:a,target:c,layout:d,latestValues:u}=i;if(!(!a||!c||!d)){if(this!==i&&this.layout&&d&&Tl(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||Te();const f=De(this.layout.layoutBox.x);c.x.min=i.target.x.min,c.x.max=c.x.min+f;const h=De(this.layout.layoutBox.y);c.y.min=i.target.y.min,c.y.max=c.y.min+h}Le(a,c),Bt(a,u),mn(this.projectionDeltaWithTransform,this.layoutCorrected,a,u)}}registerSharedNode(i,a){this.sharedNodes.has(i)||this.sharedNodes.set(i,new Wm),this.sharedNodes.get(i).add(a);const d=a.options.initialPromotionConfig;a.promote({transition:d?d.transition:void 0,preserveFollowOpacity:d&&d.shouldPreserveFollowOpacity?d.shouldPreserveFollowOpacity(a):void 0})}isLead(){const i=this.getStack();return i?i.lead===this:!0}getLead(){var a;const{layoutId:i}=this.options;return i?((a=this.getStack())==null?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:i}=this.options;return i?(a=this.getStack())==null?void 0:a.prevLead:void 0}getStack(){const{layoutId:i}=this.options;if(i)return this.root.sharedNodes.get(i)}promote({needsReset:i,transition:a,preserveFollowOpacity:c}={}){const d=this.getStack();d&&d.promote(this,c),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:c}=i;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(a=!0),!a)return;const d={};c.z&&zs("z",i,d,this.animationValues);for(let u=0;u<Bs.length;u++)zs(`rotate${Bs[u]}`,i,d,this.animationValues),zs(`skew${Bs[u]}`,i,d,this.animationValues);i.render();for(const u in d)i.setStaticValue(u,d[u]),this.animationValues&&(this.animationValues[u]=d[u]);i.scheduleRender()}applyProjectionStyles(i,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){i.visibility="hidden";return}const c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,i.visibility="",i.opacity="",i.pointerEvents=Yn(a==null?void 0:a.pointerEvents)||"",i.transform=c?c(this.latestValues,""):"none";return}const d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(i.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,i.pointerEvents=Yn(a==null?void 0:a.pointerEvents)||""),this.hasProjected&&!bt(this.latestValues)&&(i.transform=c?c({},""):"none",this.hasProjected=!1);return}i.visibility="";const u=d.animationValues||d.latestValues;this.applyTransformsToTarget();let f=Gm(this.projectionDeltaWithTransform,this.treeScale,u);c&&(f=c(u,f)),i.transform=f;const{x:h,y:g}=this.projectionDelta;i.transformOrigin=`${h.origin*100}% ${g.origin*100}% 0`,d.animationValues?i.opacity=d===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:i.opacity=d===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const x in Sn){if(u[x]===void 0)continue;const{correct:m,applyTo:b,isCSSVariable:k}=Sn[x],v=f==="none"?u[x]:m(u[x],d);if(b){const T=b.length;for(let w=0;w<T;w++)i[b[w]]=v}else k?this.options.visualElement.renderState.vars[x]=v:i[x]=v}this.options.layoutId&&(i.pointerEvents=d===this?Yn(a==null?void 0:a.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(i=>{var a;return(a=i.currentAnimation)==null?void 0:a.stop()}),this.root.nodes.forEach(zi),this.root.sharedNodes.clear()}}}function qm(e){e.updateLayout()}function Xm(e){var n;const t=((n=e.resumeFrom)==null?void 0:n.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:r}=e.layout,{animationType:o}=e.options,i=t.source!==e.layout.source;o==="size"?_e(f=>{const h=i?t.measuredBox[f]:t.layoutBox[f],g=De(h);h.min=s[f].min,h.max=h.min+g}):Tl(o,t.layoutBox,s)&&_e(f=>{const h=i?t.measuredBox[f]:t.layoutBox[f],g=De(s[f]);h.max=h.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=zt();mn(a,s,t.layoutBox);const c=zt();i?mn(c,e.applyTransform(r,!0),t.measuredBox):mn(c,s,t.layoutBox);const d=!wl(a);let u=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:g}=f;if(h&&g){const x=Te();pn(x,t.layoutBox,h.layoutBox);const m=Te();pn(m,s,g.layoutBox),Sl(x,m)||(u=!0),f.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=x,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:s,snapshot:t,delta:c,layoutDelta:a,hasLayoutChanged:d,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:s}=e.options;s&&s()}e.options.transition=void 0}function Jm(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 Qm(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function ep(e){e.clearSnapshot()}function zi(e){e.clearMeasurements()}function Hi(e){e.isLayoutDirty=!1}function tp(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function Ui(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function np(e){e.resolveTargetDelta()}function sp(e){e.calcProjection()}function rp(e){e.resetSkewAndRotation()}function op(e){e.removeLeadSnapshot()}function Zi(e,t,n){e.translate=ve(t.translate,0,n),e.scale=ve(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Wi(e,t,n,s){e.min=ve(t.min,n.min,s),e.max=ve(t.max,n.max,s)}function ip(e,t,n,s){Wi(e.x,t.x,n.x,s),Wi(e.y,t.y,n.y,s)}function ap(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const cp={duration:.45,ease:[.4,0,.1,1]},Gi=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Ki=Gi("applewebkit/")&&!Gi("chrome/")?Math.round:He;function Yi(e){e.min=Ki(e.min),e.max=Ki(e.max)}function lp(e){Yi(e.x),Yi(e.y)}function Tl(e,t,n){return e==="position"||e==="preserve-aspect"&&!pm(_i(t),_i(n),.2)}function dp(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const up=kl({attachResizeListener:(e,t)=>Cn(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Hs={current:void 0},El=kl({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Hs.current){const e=new up({});e.mount(window),e.setOptions({layoutScroll:!0}),Hs.current=e}return Hs.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),fp={pan:{Feature:Pm},drag:{Feature:Mm,ProjectionNode:El,MeasureLayout:xl}};function qi(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&&ye.postRender(()=>o(t,jn(t)))}class hp extends pt{mount(){const{current:t}=this.node;t&&(this.unmount=$f(t,(n,s)=>(qi(this.node,s,"Start"),r=>qi(this.node,r,"End"))))}unmount(){}}class mp extends pt{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=Tn(Cn(this.node.current,"focus",()=>this.onFocus()),Cn(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Xi(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&&ye.postRender(()=>o(t,jn(t)))}class pp extends pt{mount(){const{current:t}=this.node;t&&(this.unmount=_f(t,(n,s)=>(Xi(this.node,s,"Start"),(r,{success:o})=>Xi(this.node,r,o?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const Ar=new WeakMap,Us=new WeakMap,gp=e=>{const t=Ar.get(e.target);t&&t(e)},yp=e=>{e.forEach(gp)};function xp({root:e,...t}){const n=e||document;Us.has(n)||Us.set(n,{});const s=Us.get(n),r=JSON.stringify(t);return s[r]||(s[r]=new IntersectionObserver(yp,{root:e,...t})),s[r]}function bp(e,t,n){const s=xp(t);return Ar.set(e,n),s.observe(e),()=>{Ar.delete(e),s.unobserve(e)}}const vp={some:0,all:1};class wp extends pt{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:vp[r]},a=c=>{const{isIntersecting:d}=c;if(this.isInView===d||(this.isInView=d,o&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",d);const{onViewportEnter:u,onViewportLeave:f}=this.node.getProps(),h=d?u:f;h&&h(c)};return bp(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(Sp(t,n))&&this.startObserver()}unmount(){}}function Sp({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Cp={inView:{Feature:wp},tap:{Feature:pp},focus:{Feature:mp},hover:{Feature:hp}},kp={layout:{ProjectionNode:El,MeasureLayout:xl}},Tp={...lm,...Cp,...fp,...kp},ie=Th(Tp,Oh),bo="-",Ep=e=>{const t=jp(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:i=>{const a=i.split(bo);return a[0]===""&&a.length!==1&&a.shift(),Al(a,t)||Ap(i)},getConflictingClassGroupIds:(i,a)=>{const c=n[i]||[];return a&&s[i]?[...c,...s[i]]:c}}},Al=(e,t)=>{var i;if(e.length===0)return t.classGroupId;const n=e[0],s=t.nextPart.get(n),r=s?Al(e.slice(1),s):void 0;if(r)return r;if(t.validators.length===0)return;const o=e.join(bo);return(i=t.validators.find(({validator:a})=>a(o)))==null?void 0:i.classGroupId},Ji=/^\[(.+)\]$/,Ap=e=>{if(Ji.test(e)){const t=Ji.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},jp=e=>{const{theme:t,classGroups:n}=e,s={nextPart:new Map,validators:[]};for(const r in n)jr(n[r],s,r,t);return s},jr=(e,t,n,s)=>{e.forEach(r=>{if(typeof r=="string"){const o=r===""?t:Qi(t,r);o.classGroupId=n;return}if(typeof r=="function"){if(Mp(r)){jr(r(s),t,n,s);return}t.validators.push({validator:r,classGroupId:n});return}Object.entries(r).forEach(([o,i])=>{jr(i,Qi(t,o),n,s)})})},Qi=(e,t)=>{let n=e;return t.split(bo).forEach(s=>{n.nextPart.has(s)||n.nextPart.set(s,{nextPart:new Map,validators:[]}),n=n.nextPart.get(s)}),n},Mp=e=>e.isThemeGetter,Pp=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,s=new Map;const r=(o,i)=>{n.set(o,i),t++,t>e&&(t=0,s=n,n=new Map)};return{get(o){let i=n.get(o);if(i!==void 0)return i;if((i=s.get(o))!==void 0)return r(o,i),i},set(o,i){n.has(o)?n.set(o,i):r(o,i)}}},Mr="!",Pr=":",Vp=Pr.length,Np=e=>{const{prefix:t,experimentalParseClassName:n}=e;let s=r=>{const o=[];let i=0,a=0,c=0,d;for(let x=0;x<r.length;x++){let m=r[x];if(i===0&&a===0){if(m===Pr){o.push(r.slice(c,x)),c=x+Vp;continue}if(m==="/"){d=x;continue}}m==="["?i++:m==="]"?i--:m==="("?a++:m===")"&&a--}const u=o.length===0?r:r.substring(c),f=Rp(u),h=f!==u,g=d&&d>c?d-c:void 0;return{modifiers:o,hasImportantModifier:h,baseClassName:f,maybePostfixModifierPosition:g}};if(t){const r=t+Pr,o=s;s=i=>i.startsWith(r)?o(i.substring(r.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:i,maybePostfixModifierPosition:void 0}}if(n){const r=s;s=o=>n({className:o,parseClassName:r})}return s},Rp=e=>e.endsWith(Mr)?e.substring(0,e.length-1):e.startsWith(Mr)?e.substring(1):e,Ip=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(s=>[s,!0]));return s=>{if(s.length<=1)return s;const r=[];let o=[];return s.forEach(i=>{i[0]==="["||t[i]?(r.push(...o.sort(),i),o=[]):o.push(i)}),r.push(...o.sort()),r}},Dp=e=>({cache:Pp(e.cacheSize),parseClassName:Np(e),sortModifiers:Ip(e),...Ep(e)}),$p=/\s+/,Fp=(e,t)=>{const{parseClassName:n,getClassGroupId:s,getConflictingClassGroupIds:r,sortModifiers:o}=t,i=[],a=e.trim().split($p);let c="";for(let d=a.length-1;d>=0;d-=1){const u=a[d],{isExternal:f,modifiers:h,hasImportantModifier:g,baseClassName:x,maybePostfixModifierPosition:m}=n(u);if(f){c=u+(c.length>0?" "+c:c);continue}let b=!!m,k=s(b?x.substring(0,m):x);if(!k){if(!b){c=u+(c.length>0?" "+c:c);continue}if(k=s(x),!k){c=u+(c.length>0?" "+c:c);continue}b=!1}const v=o(h).join(":"),T=g?v+Mr:v,w=T+k;if(i.includes(w))continue;i.push(w);const S=r(k,b);for(let A=0;A<S.length;++A){const M=S[A];i.push(T+M)}c=u+(c.length>0?" "+c:c)}return c};function Op(){let e=0,t,n,s="";for(;e<arguments.length;)(t=arguments[e++])&&(n=jl(t))&&(s&&(s+=" "),s+=n);return s}const jl=e=>{if(typeof e=="string")return e;let t,n="";for(let s=0;s<e.length;s++)e[s]&&(t=jl(e[s]))&&(n&&(n+=" "),n+=t);return n};function Lp(e,...t){let n,s,r,o=i;function i(c){const d=t.reduce((u,f)=>f(u),e());return n=Dp(d),s=n.cache.get,r=n.cache.set,o=a,a(c)}function a(c){const d=s(c);if(d)return d;const u=Fp(c,n);return r(c,u),u}return function(){return o(Op.apply(null,arguments))}}const Me=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Ml=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pl=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_p=/^\d+\/\d+$/,Bp=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,zp=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Hp=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Up=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Zp=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mt=e=>_p.test(e),re=e=>!!e&&!Number.isNaN(Number(e)),ct=e=>!!e&&Number.isInteger(Number(e)),Zs=e=>e.endsWith("%")&&re(e.slice(0,-1)),et=e=>Bp.test(e),Wp=()=>!0,Gp=e=>zp.test(e)&&!Hp.test(e),Vl=()=>!1,Kp=e=>Up.test(e),Yp=e=>Zp.test(e),qp=e=>!W(e)&&!G(e),Xp=e=>en(e,Il,Vl),W=e=>Ml.test(e),xt=e=>en(e,Dl,Gp),Ws=e=>en(e,ng,re),ea=e=>en(e,Nl,Vl),Jp=e=>en(e,Rl,Yp),Ln=e=>en(e,$l,Kp),G=e=>Pl.test(e),an=e=>tn(e,Dl),Qp=e=>tn(e,sg),ta=e=>tn(e,Nl),eg=e=>tn(e,Il),tg=e=>tn(e,Rl),_n=e=>tn(e,$l,!0),en=(e,t,n)=>{const s=Ml.exec(e);return s?s[1]?t(s[1]):n(s[2]):!1},tn=(e,t,n=!1)=>{const s=Pl.exec(e);return s?s[1]?t(s[1]):n:!1},Nl=e=>e==="position"||e==="percentage",Rl=e=>e==="image"||e==="url",Il=e=>e==="length"||e==="size"||e==="bg-size",Dl=e=>e==="length",ng=e=>e==="number",sg=e=>e==="family-name",$l=e=>e==="shadow",rg=()=>{const e=Me("color"),t=Me("font"),n=Me("text"),s=Me("font-weight"),r=Me("tracking"),o=Me("leading"),i=Me("breakpoint"),a=Me("container"),c=Me("spacing"),d=Me("radius"),u=Me("shadow"),f=Me("inset-shadow"),h=Me("text-shadow"),g=Me("drop-shadow"),x=Me("blur"),m=Me("perspective"),b=Me("aspect"),k=Me("ease"),v=Me("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],w=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...w(),G,W],A=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],j=()=>[G,W,c],z=()=>[Mt,"full","auto",...j()],y=()=>[ct,"none","subgrid",G,W],D=()=>["auto",{span:["full",ct,G,W]},ct,G,W],_=()=>[ct,"auto",G,W],J=()=>["auto","min","max","fr",G,W],te=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ee=()=>["start","end","center","stretch","center-safe","end-safe"],se=()=>["auto",...j()],Y=()=>[Mt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],R=()=>[e,G,W],X=()=>[...w(),ta,ea,{position:[G,W]}],V=()=>["no-repeat",{repeat:["","x","y","space","round"]}],U=()=>["auto","cover","contain",eg,Xp,{size:[G,W]}],q=()=>[Zs,an,xt],P=()=>["","none","full",d,G,W],E=()=>["",re,an,xt],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[re,Zs,ta,ea],I=()=>["","none",x,G,W],H=()=>["none",re,G,W],B=()=>["none",re,G,W],oe=()=>[re,G,W],L=()=>[Mt,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[et],breakpoint:[et],color:[Wp],container:[et],"drop-shadow":[et],ease:["in","out","in-out"],font:[qp],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[et],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[et],shadow:[et],spacing:["px",re],text:[et],"text-shadow":[et],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Mt,W,G,b]}],container:["container"],columns:[{columns:[re,W,G,a]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{start:z()}],end:[{end:z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[ct,"auto",G,W]}],basis:[{basis:[Mt,"full","auto",a,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[re,Mt,"auto","initial","none",W]}],grow:[{grow:["",re,G,W]}],shrink:[{shrink:["",re,G,W]}],order:[{order:[ct,"first","last","none",G,W]}],"grid-cols":[{"grid-cols":y()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":y()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":J()}],"auto-rows":[{"auto-rows":J()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...te(),"normal"]}],"justify-items":[{"justify-items":[...ee(),"normal"]}],"justify-self":[{"justify-self":["auto",...ee()]}],"align-content":[{content:["normal",...te()]}],"align-items":[{items:[...ee(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ee(),{baseline:["","last"]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...ee(),"baseline"]}],"place-self":[{"place-self":["auto",...ee()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:se()}],mx:[{mx:se()}],my:[{my:se()}],ms:[{ms:se()}],me:[{me:se()}],mt:[{mt:se()}],mr:[{mr:se()}],mb:[{mb:se()}],ml:[{ml:se()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:Y()}],w:[{w:[a,"screen",...Y()]}],"min-w":[{"min-w":[a,"screen","none",...Y()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[i]},...Y()]}],h:[{h:["screen","lh",...Y()]}],"min-h":[{"min-h":["screen","lh","none",...Y()]}],"max-h":[{"max-h":["screen","lh",...Y()]}],"font-size":[{text:["base",n,an,xt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,G,Ws]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Zs,W]}],"font-family":[{font:[Qp,W,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,G,W]}],"line-clamp":[{"line-clamp":[re,"none",G,Ws]}],leading:[{leading:[o,...j()]}],"list-image":[{"list-image":["none",G,W]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",G,W]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:R()}],"text-color":[{text:R()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[re,"from-font","auto",G,xt]}],"text-decoration-color":[{decoration:R()}],"underline-offset":[{"underline-offset":[re,"auto",G,W]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",G,W]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",G,W]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:X()}],"bg-repeat":[{bg:V()}],"bg-size":[{bg:U()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ct,G,W],radial:["",G,W],conic:[ct,G,W]},tg,Jp]}],"bg-color":[{bg:R()}],"gradient-from-pos":[{from:q()}],"gradient-via-pos":[{via:q()}],"gradient-to-pos":[{to:q()}],"gradient-from":[{from:R()}],"gradient-via":[{via:R()}],"gradient-to":[{to:R()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:E()}],"border-w-x":[{"border-x":E()}],"border-w-y":[{"border-y":E()}],"border-w-s":[{"border-s":E()}],"border-w-e":[{"border-e":E()}],"border-w-t":[{"border-t":E()}],"border-w-r":[{"border-r":E()}],"border-w-b":[{"border-b":E()}],"border-w-l":[{"border-l":E()}],"divide-x":[{"divide-x":E()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":E()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:R()}],"border-color-x":[{"border-x":R()}],"border-color-y":[{"border-y":R()}],"border-color-s":[{"border-s":R()}],"border-color-e":[{"border-e":R()}],"border-color-t":[{"border-t":R()}],"border-color-r":[{"border-r":R()}],"border-color-b":[{"border-b":R()}],"border-color-l":[{"border-l":R()}],"divide-color":[{divide:R()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[re,G,W]}],"outline-w":[{outline:["",re,an,xt]}],"outline-color":[{outline:R()}],shadow:[{shadow:["","none",u,_n,Ln]}],"shadow-color":[{shadow:R()}],"inset-shadow":[{"inset-shadow":["none",f,_n,Ln]}],"inset-shadow-color":[{"inset-shadow":R()}],"ring-w":[{ring:E()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:R()}],"ring-offset-w":[{"ring-offset":[re,xt]}],"ring-offset-color":[{"ring-offset":R()}],"inset-ring-w":[{"inset-ring":E()}],"inset-ring-color":[{"inset-ring":R()}],"text-shadow":[{"text-shadow":["none",h,_n,Ln]}],"text-shadow-color":[{"text-shadow":R()}],opacity:[{opacity:[re,G,W]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[re]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":R()}],"mask-image-linear-to-color":[{"mask-linear-to":R()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":R()}],"mask-image-t-to-color":[{"mask-t-to":R()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":R()}],"mask-image-r-to-color":[{"mask-r-to":R()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":R()}],"mask-image-b-to-color":[{"mask-b-to":R()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":R()}],"mask-image-l-to-color":[{"mask-l-to":R()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":R()}],"mask-image-x-to-color":[{"mask-x-to":R()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":R()}],"mask-image-y-to-color":[{"mask-y-to":R()}],"mask-image-radial":[{"mask-radial":[G,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":R()}],"mask-image-radial-to-color":[{"mask-radial-to":R()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[re]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":R()}],"mask-image-conic-to-color":[{"mask-conic-to":R()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:X()}],"mask-repeat":[{mask:V()}],"mask-size":[{mask:U()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",G,W]}],filter:[{filter:["","none",G,W]}],blur:[{blur:I()}],brightness:[{brightness:[re,G,W]}],contrast:[{contrast:[re,G,W]}],"drop-shadow":[{"drop-shadow":["","none",g,_n,Ln]}],"drop-shadow-color":[{"drop-shadow":R()}],grayscale:[{grayscale:["",re,G,W]}],"hue-rotate":[{"hue-rotate":[re,G,W]}],invert:[{invert:["",re,G,W]}],saturate:[{saturate:[re,G,W]}],sepia:[{sepia:["",re,G,W]}],"backdrop-filter":[{"backdrop-filter":["","none",G,W]}],"backdrop-blur":[{"backdrop-blur":I()}],"backdrop-brightness":[{"backdrop-brightness":[re,G,W]}],"backdrop-contrast":[{"backdrop-contrast":[re,G,W]}],"backdrop-grayscale":[{"backdrop-grayscale":["",re,G,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[re,G,W]}],"backdrop-invert":[{"backdrop-invert":["",re,G,W]}],"backdrop-opacity":[{"backdrop-opacity":[re,G,W]}],"backdrop-saturate":[{"backdrop-saturate":[re,G,W]}],"backdrop-sepia":[{"backdrop-sepia":["",re,G,W]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",G,W]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[re,"initial",G,W]}],ease:[{ease:["linear","initial",k,G,W]}],delay:[{delay:[re,G,W]}],animate:[{animate:["none",v,G,W]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,G,W]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:H()}],"rotate-x":[{"rotate-x":H()}],"rotate-y":[{"rotate-y":H()}],"rotate-z":[{"rotate-z":H()}],scale:[{scale:B()}],"scale-x":[{"scale-x":B()}],"scale-y":[{"scale-y":B()}],"scale-z":[{"scale-z":B()}],"scale-3d":["scale-3d"],skew:[{skew:oe()}],"skew-x":[{"skew-x":oe()}],"skew-y":[{"skew-y":oe()}],transform:[{transform:[G,W,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:L()}],"translate-x":[{"translate-x":L()}],"translate-y":[{"translate-y":L()}],"translate-z":[{"translate-z":L()}],"translate-none":["translate-none"],accent:[{accent:R()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:R()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",G,W]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",G,W]}],fill:[{fill:["none",...R()]}],"stroke-w":[{stroke:[re,an,xt,Ws]}],stroke:[{stroke:["none",...R()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},og=Lp(rg);function K(...e){return og($r.clsx(e))}function ig(e,t){return{id:e.streamInfo.id,timestamp:e.streamInfo.timestamp,message:e.text,from:e.participantInfo.identity===t.localParticipant.identity?t.localParticipant:Array.from(t.remoteParticipants.values()).find(n=>n.identity===e.participantInfo.identity)}}const ag=ls.cva(["relative w-full rounded-lg border px-4 py-3 text-sm grid grid-cols-[0_1fr] gap-y-0.5 items-start","has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current"],{variants:{variant:{default:"bg-card text-card-foreground",destructive:["text-destructive-foreground bg-destructive border-destructive-border","[&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/90"]}},defaultVariants:{variant:"default"}});function cg({className:e,variant:t,...n}){return l.jsx("div",{"data-slot":"alert",role:"alert",className:K(ag({variant:t}),e),...n})}function lg({className:e,...t}){return l.jsx("div",{"data-slot":"alert-title",className:K("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}function dg({className:e,...t}){return l.jsx("div",{"data-slot":"alert-description",className:K("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}function Pt(e){return Ka.toast.custom(t=>l.jsx(ug,{id:t,title:e.title,description:e.description}),{duration:1e4})}function ug(e){const{title:t,id:n,description:s}=e;return l.jsxs(cg,{onClick:()=>Ka.toast.dismiss(n),className:"bg-gradient-to-br from-[#181825] to-[#232336] border border-[#232336] shadow-lg shadow-black/40 rounded-xl px-4 py-3 flex items-start gap-3 hover:shadow-xl transition-all duration-200",style:{color:"#F3F4F6"},children:[l.jsx(Bd.WarningIcon,{weight:"bold",className:"text-yellow-400 mt-1 flex-shrink-0",size:24}),l.jsxs("div",{className:"flex flex-col",children:[l.jsx(lg,{className:"text-base font-semibold text-white mb-1",children:t}),l.jsx(dg,{className:"text-sm text-gray-300 leading-snug",children:s})]})]})}const Ke=p.forwardRef((e,t)=>{const{alt:n,color:s="currentColor",size:r="1em",weight:o="regular",mirrored:i=!1,children:a,weights:c,...d}=e;return p.createElement("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,fill:s,viewBox:"0 0 256 256",transform:i?"scale(-1, 1)":void 0,...d},!!n&&p.createElement("title",null,n),a,c.get(o))});Ke.displayName="SSRBase";const fg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,96l-80,80L48,96Z",opacity:"0.2"}),p.createElement("path",{d:"M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"}))]]),vo=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:fg}));vo.displayName="CaretDownIcon";const hg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,160H48l80-80Z",opacity:"0.2"}),p.createElement("path",{d:"M213.66,154.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,48,168H208a8,8,0,0,0,5.66-13.66ZM67.31,152,128,91.31,188.69,152Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M215.39,163.06A8,8,0,0,1,208,168H48a8,8,0,0,1-5.66-13.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,215.39,163.06Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M210.83,162.83a4,4,0,0,1-5.66,0L128,85.66,50.83,162.83a4,4,0,0,1-5.66-5.66l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,210.83,162.83Z"}))]]),Fl=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:hg}));Fl.displayName="CaretUpIcon";const mg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,44H40A20,20,0,0,0,20,64V224A19.82,19.82,0,0,0,31.56,242.1a20.14,20.14,0,0,0,8.49,1.9,19.91,19.91,0,0,0,12.82-4.72l.12-.11L84.47,212H216a20,20,0,0,0,20-20V64A20,20,0,0,0,216,44Zm-4,144H80a11.93,11.93,0,0,0-7.84,2.92L44,215.23V68H212ZM84,108A12,12,0,0,1,96,96h64a12,12,0,1,1,0,24H96A12,12,0,0,1,84,108Zm0,40a12,12,0,0,1,12-12h64a12,12,0,0,1,0,24H96A12,12,0,0,1,84,148Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M224,64V192a8,8,0,0,1-8,8H80L45.15,230.11A8,8,0,0,1,32,224V64a8,8,0,0,1,8-8H216A8,8,0,0,1,224,64Z",opacity:"0.2"}),p.createElement("path",{d:"M216,48H40A16,16,0,0,0,24,64V224a15.85,15.85,0,0,0,9.24,14.5A16.13,16.13,0,0,0,40,240a15.89,15.89,0,0,0,10.25-3.78l.09-.07L83,208H216a16,16,0,0,0,16-16V64A16,16,0,0,0,216,48ZM40,224h0ZM216,192H80a8,8,0,0,0-5.23,1.95L40,224V64H216ZM88,112a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm0,32a8,8,0,0,1,8-8h64a8,8,0,1,1,0,16H96A8,8,0,0,1,88,144Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,48H40A16,16,0,0,0,24,64V224a15.84,15.84,0,0,0,9.25,14.5A16.05,16.05,0,0,0,40,240a15.89,15.89,0,0,0,10.25-3.78l.09-.07L83,208H216a16,16,0,0,0,16-16V64A16,16,0,0,0,216,48ZM160,152H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,50H40A14,14,0,0,0,26,64V224a13.88,13.88,0,0,0,8.09,12.69A14.11,14.11,0,0,0,40,238a13.87,13.87,0,0,0,9-3.31l.06-.05L82.23,206H216a14,14,0,0,0,14-14V64A14,14,0,0,0,216,50Zm2,142a2,2,0,0,1-2,2H80a6,6,0,0,0-3.92,1.46L41.26,225.53A2,2,0,0,1,38,224V64a2,2,0,0,1,2-2H216a2,2,0,0,1,2,2Zm-52-80a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,112Zm0,32a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,144Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,48H40A16,16,0,0,0,24,64V224a15.85,15.85,0,0,0,9.24,14.5A16.13,16.13,0,0,0,40,240a15.89,15.89,0,0,0,10.25-3.78l.09-.07L83,208H216a16,16,0,0,0,16-16V64A16,16,0,0,0,216,48ZM40,224h0ZM216,192H80a8,8,0,0,0-5.23,1.95L40,224V64H216ZM88,112a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H96A8,8,0,0,1,88,112Zm0,32a8,8,0,0,1,8-8h64a8,8,0,1,1,0,16H96A8,8,0,0,1,88,144Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,52H40A12,12,0,0,0,28,64V224a11.89,11.89,0,0,0,6.93,10.88A12.17,12.17,0,0,0,40,236a11.89,11.89,0,0,0,7.69-2.83l0,0L81.49,204H216a12,12,0,0,0,12-12V64A12,12,0,0,0,216,52Zm4,140a4,4,0,0,1-4,4H80a4,4,0,0,0-2.62,1L42.56,227.06A4,4,0,0,1,36,224V64a4,4,0,0,1,4-4H216a4,4,0,0,1,4,4Zm-56-80a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,112Zm0,32a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,144Z"}))]]),Ol=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:mg}));Ol.displayName="ChatTextIcon";const pg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z",opacity:"0.2"}),p.createElement("path",{d:"M205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M228.24,76.24l-128,128a6,6,0,0,1-8.48,0l-56-56a6,6,0,0,1,8.48-8.48L96,191.51,219.76,67.76a6,6,0,0,1,8.48,8.48Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M226.83,74.83l-128,128a4,4,0,0,1-5.66,0l-56-56a4,4,0,0,1,5.66-5.66L96,194.34,221.17,69.17a4,4,0,1,1,5.66,5.66Z"}))]]),Ll=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:pg}));Ll.displayName="CheckIcon";const gg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M128,180a52.06,52.06,0,0,0,52-52V64A52,52,0,0,0,76,64v64A52.06,52.06,0,0,0,128,180ZM100,64a28,28,0,0,1,56,0v64a28,28,0,0,1-56,0Zm40,155.22V240a12,12,0,0,1-24,0V219.22A92.14,92.14,0,0,1,36,128a12,12,0,0,1,24,0,68,68,0,0,0,136,0,12,12,0,0,1,24,0A92.14,92.14,0,0,1,140,219.22Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z",opacity:"0.2"}),p.createElement("path",{d:"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M80,128V64a48,48,0,0,1,96,0v64a48,48,0,0,1-96,0Zm128,0a8,8,0,0,0-16,0,64,64,0,0,1-128,0,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.6A80.11,80.11,0,0,0,208,128Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M128,174a46.06,46.06,0,0,0,46-46V64a46,46,0,0,0-92,0v64A46.06,46.06,0,0,0,128,174ZM94,64a34,34,0,0,1,68,0v64a34,34,0,0,1-68,0Zm40,141.75V240a6,6,0,0,1-12,0V205.75A78.09,78.09,0,0,1,50,128a6,6,0,0,1,12,0,66,66,0,0,0,132,0,6,6,0,0,1,12,0A78.09,78.09,0,0,1,134,205.75Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M128,172a44.05,44.05,0,0,0,44-44V64a44,44,0,0,0-88,0v64A44.05,44.05,0,0,0,128,172ZM92,64a36,36,0,0,1,72,0v64a36,36,0,0,1-72,0Zm40,139.89V240a4,4,0,0,1-8,0V203.89A76.09,76.09,0,0,1,52,128a4,4,0,0,1,8,0,68,68,0,0,0,136,0,4,4,0,0,1,8,0A76.09,76.09,0,0,1,132,203.89Z"}))]]),_l=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:gg}));_l.displayName="MicrophoneIcon";const yg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M56.88,39.93A12,12,0,1,0,39.12,56.07L76,96.64V128a52,52,0,0,0,72.11,48l11.26,12.39A67.34,67.34,0,0,1,128,196a68.07,68.07,0,0,1-68-68,12,12,0,0,0-24,0,92.14,92.14,0,0,0,80,91.22V240a12,12,0,0,0,24,0V219.23a90.39,90.39,0,0,0,35.92-12.68l23.2,25.52a12,12,0,0,0,17.76-16.14ZM128,156a28,28,0,0,1-28-28v-5l29.9,32.89C129.27,156,128.64,156,128,156Zm63-2.42A67.63,67.63,0,0,0,196,128a12,12,0,0,1,24,0,91.48,91.48,0,0,1-6.74,34.61,12,12,0,0,1-22.23-9ZM85.7,33.75A52,52,0,0,1,180,64v56.54a12,12,0,0,1-24,0V64a28,28,0,0,0-50.79-16.28,12,12,0,0,1-19.51-14Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z",opacity:"0.2"}),p.createElement("path",{d:"M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M213.38,229.92a8,8,0,0,1-11.3-.54l-30.92-34A78.83,78.83,0,0,1,136,207.59V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64.07,64.07,0,0,0,64,64,63.41,63.41,0,0,0,32.21-8.68l-11.1-12.2A48,48,0,0,1,80,128V95.09L42.08,53.38A8,8,0,0,1,53.92,42.62l160,176A8,8,0,0,1,213.38,229.92Zm-24.19-63.13a7.88,7.88,0,0,0,3.51.82,8,8,0,0,0,7.19-4.49A79.16,79.16,0,0,0,208,128a8,8,0,0,0-16,0,63.32,63.32,0,0,1-6.48,28.09A8,8,0,0,0,189.19,166.79Zm-27.33-29.22A8,8,0,0,0,175.74,133a49.49,49.49,0,0,0,.26-5V64A48,48,0,0,0,84,44.87a8,8,0,0,0,1.41,8.57Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M212.44,220,52.44,44A6,6,0,0,0,43.56,52L82,94.32V128a46,46,0,0,0,67.56,40.64l13.75,15.12A65.26,65.26,0,0,1,128,194a66.08,66.08,0,0,1-66-66,6,6,0,0,0-12,0,78.09,78.09,0,0,0,72,77.75V240a6,6,0,0,0,12,0V205.77a76.93,76.93,0,0,0,37.48-13L203.56,228a6,6,0,0,0,8.88-8.08ZM128,162a34,34,0,0,1-34-34V107.52l47.12,51.84A33.82,33.82,0,0,1,128,162Zm59.32-5A65.38,65.38,0,0,0,194,128a6,6,0,0,1,12,0,77.33,77.33,0,0,1-7.9,34.25A6,6,0,1,1,187.32,157ZM85.8,45.67A46,46,0,0,1,174,64v64a45.17,45.17,0,0,1-.25,4.81,6,6,0,0,1-6,5.38q-.31,0-.63,0a6,6,0,0,1-5.34-6.59A35.41,35.41,0,0,0,162,128V64A34,34,0,0,0,96.8,50.45a6,6,0,0,1-11-4.78Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M211,221.31,51,45.31A4,4,0,0,0,45,50.69L84,93.55V128a44,44,0,0,0,66,38.12l16.38,18A67.21,67.21,0,0,1,128,196a68.07,68.07,0,0,1-68-68,4,4,0,0,0-8,0,76.09,76.09,0,0,0,72,75.89V240a4,4,0,0,0,8,0V203.89a75.1,75.1,0,0,0,39.79-13.77L205,226.69a4,4,0,1,0,5.92-5.38ZM128,164a36,36,0,0,1-36-36V102.35L144.43,160A35.83,35.83,0,0,1,128,164Zm61.12-6.15A67.44,67.44,0,0,0,196,128a4,4,0,0,1,8,0,75.28,75.28,0,0,1-7.7,33.37,4,4,0,0,1-7.18-3.52ZM87.63,46.46A44,44,0,0,1,172,64v64a44.2,44.2,0,0,1-.24,4.61,4,4,0,0,1-4,3.58l-.42,0a4,4,0,0,1-3.57-4.39A36.67,36.67,0,0,0,164,128V64A36,36,0,0,0,95,49.66a4,4,0,0,1-7.34-3.2Z"}))]]),Bl=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:yg}));Bl.displayName="MicrophoneSlashIcon";const xg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,36H48A28,28,0,0,0,20,64V176a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40,52a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,228ZM160.49,103.51a12,12,0,0,1-17,17L140,117v35a12,12,0,0,1-24,0V117l-3.51,3.52a12,12,0,0,1-17-17l24-24a12,12,0,0,1,17,0Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z",opacity:"0.2"}),p.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224ZM157.66,106.34a8,8,0,0,1-11.32,11.32L136,107.31V152a8,8,0,0,1-16,0V107.31l-10.34,10.35a8,8,0,0,1-11.32-11.32l24-24a8,8,0,0,1,11.32,0Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168,224a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224ZM232,64V176a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V64A24,24,0,0,1,48,40H208A24,24,0,0,1,232,64Zm-74.34,42.34-24-24a8,8,0,0,0-11.32,0l-24,24a8,8,0,0,0,11.32,11.32L120,107.31V152a8,8,0,0,0,16,0V107.31l10.34,10.35a8,8,0,0,0,11.32-11.32Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V64A10,10,0,0,1,48,54H208a10,10,0,0,1,10,10Zm-52,48a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,224Zm-9.76-116.24a6,6,0,1,1-8.48,8.48L134,102.49V152a6,6,0,0,1-12,0V102.49l-13.76,13.75a6,6,0,0,1-8.48-8.48l24-24a6,6,0,0,1,8.48,0Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224ZM157.66,106.34a8,8,0,0,1-11.32,11.32L136,107.31V152a8,8,0,0,1-16,0V107.31l-10.34,10.35a8,8,0,0,1-11.32-11.32l24-24a8,8,0,0,1,11.32,0Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V64A12,12,0,0,1,48,52H208a12,12,0,0,1,12,12Zm-56,48a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,224Zm-9.17-114.83a4,4,0,0,1-5.66,5.66L132,97.66V152a4,4,0,0,1-8,0V97.66l-17.17,17.17a4,4,0,0,1-5.66-5.66l24-24a4,4,0,0,1,5.66,0Z"}))]]),zl=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:xg}));zl.displayName="MonitorArrowUpIcon";const bg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M140,32V64a12,12,0,0,1-24,0V32a12,12,0,0,1,24,0Zm33.25,62.75a12,12,0,0,0,8.49-3.52L204.37,68.6a12,12,0,0,0-17-17L164.77,74.26a12,12,0,0,0,8.48,20.49ZM224,116H192a12,12,0,0,0,0,24h32a12,12,0,0,0,0-24Zm-42.26,48.77a12,12,0,1,0-17,17l22.63,22.63a12,12,0,0,0,17-17ZM128,180a12,12,0,0,0-12,12v32a12,12,0,0,0,24,0V192A12,12,0,0,0,128,180ZM74.26,164.77,51.63,187.4a12,12,0,0,0,17,17l22.63-22.63a12,12,0,1,0-17-17ZM76,128a12,12,0,0,0-12-12H32a12,12,0,0,0,0,24H64A12,12,0,0,0,76,128ZM68.6,51.63a12,12,0,1,0-17,17L74.26,91.23a12,12,0,0,0,17-17Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),p.createElement("path",{d:"M136,32V64a8,8,0,0,1-16,0V32a8,8,0,0,1,16,0Zm37.25,58.75a8,8,0,0,0,5.66-2.35l22.63-22.62a8,8,0,0,0-11.32-11.32L167.6,77.09a8,8,0,0,0,5.65,13.66ZM224,120H192a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16Zm-45.09,47.6a8,8,0,0,0-11.31,11.31l22.62,22.63a8,8,0,0,0,11.32-11.32ZM128,184a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V192A8,8,0,0,0,128,184ZM77.09,167.6,54.46,190.22a8,8,0,0,0,11.32,11.32L88.4,178.91A8,8,0,0,0,77.09,167.6ZM72,128a8,8,0,0,0-8-8H32a8,8,0,0,0,0,16H64A8,8,0,0,0,72,128ZM65.78,54.46A8,8,0,0,0,54.46,65.78L77.09,88.4A8,8,0,0,0,88.4,77.09Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm33.94,58.75,17-17a8,8,0,0,1,11.32,11.32l-17,17a8,8,0,0,1-11.31-11.31ZM48,136a8,8,0,0,1,0-16H72a8,8,0,0,1,0,16Zm46.06,37.25-17,17a8,8,0,0,1-11.32-11.32l17-17a8,8,0,0,1,11.31,11.31Zm0-79.19a8,8,0,0,1-11.31,0l-17-17A8,8,0,0,1,77.09,65.77l17,17A8,8,0,0,1,94.06,94.06ZM136,208a8,8,0,0,1-16,0V184a8,8,0,0,1,16,0Zm0-136a8,8,0,0,1-16,0V48a8,8,0,0,1,16,0Zm54.23,118.23a8,8,0,0,1-11.32,0l-17-17a8,8,0,0,1,11.31-11.31l17,17A8,8,0,0,1,190.23,190.23ZM208,136H184a8,8,0,0,1,0-16h24a8,8,0,0,1,0,16Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M134,32V64a6,6,0,0,1-12,0V32a6,6,0,0,1,12,0Zm39.25,56.75A6,6,0,0,0,177.5,87l22.62-22.63a6,6,0,0,0-8.48-8.48L169,78.5a6,6,0,0,0,4.24,10.25ZM224,122H192a6,6,0,0,0,0,12h32a6,6,0,0,0,0-12Zm-46.5,47A6,6,0,0,0,169,177.5l22.63,22.62a6,6,0,0,0,8.48-8.48ZM128,186a6,6,0,0,0-6,6v32a6,6,0,0,0,12,0V192A6,6,0,0,0,128,186ZM78.5,169,55.88,191.64a6,6,0,1,0,8.48,8.48L87,177.5A6,6,0,1,0,78.5,169ZM70,128a6,6,0,0,0-6-6H32a6,6,0,0,0,0,12H64A6,6,0,0,0,70,128ZM64.36,55.88a6,6,0,0,0-8.48,8.48L78.5,87A6,6,0,1,0,87,78.5Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M136,32V64a8,8,0,0,1-16,0V32a8,8,0,0,1,16,0Zm37.25,58.75a8,8,0,0,0,5.66-2.35l22.63-22.62a8,8,0,0,0-11.32-11.32L167.6,77.09a8,8,0,0,0,5.65,13.66ZM224,120H192a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16Zm-45.09,47.6a8,8,0,0,0-11.31,11.31l22.62,22.63a8,8,0,0,0,11.32-11.32ZM128,184a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V192A8,8,0,0,0,128,184ZM77.09,167.6,54.46,190.22a8,8,0,0,0,11.32,11.32L88.4,178.91A8,8,0,0,0,77.09,167.6ZM72,128a8,8,0,0,0-8-8H32a8,8,0,0,0,0,16H64A8,8,0,0,0,72,128ZM65.78,54.46A8,8,0,0,0,54.46,65.78L77.09,88.4A8,8,0,0,0,88.4,77.09Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M132,32V64a4,4,0,0,1-8,0V32a4,4,0,0,1,8,0Zm41.25,54.75a4,4,0,0,0,2.83-1.18L198.71,63a4,4,0,0,0-5.66-5.66L170.43,79.92a4,4,0,0,0,2.82,6.83ZM224,124H192a4,4,0,0,0,0,8h32a4,4,0,0,0,0-8Zm-47.92,46.43a4,4,0,1,0-5.65,5.65l22.62,22.63a4,4,0,0,0,5.66-5.66ZM128,188a4,4,0,0,0-4,4v32a4,4,0,0,0,8,0V192A4,4,0,0,0,128,188ZM79.92,170.43,57.29,193.05A4,4,0,0,0,63,198.71l22.62-22.63a4,4,0,1,0-5.65-5.65ZM68,128a4,4,0,0,0-4-4H32a4,4,0,0,0,0,8H64A4,4,0,0,0,68,128ZM63,57.29A4,4,0,0,0,57.29,63L79.92,85.57a4,4,0,1,0,5.65-5.65Z"}))]]),wo=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:bg}));wo.displayName="SpinnerIcon";const vg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M249.45,69.31a12,12,0,0,0-12.51,1L212,88.43V72a20,20,0,0,0-20-20H32A20,20,0,0,0,12,72V184a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V167.57l24.94,18.14A12,12,0,0,0,256,176V80A12,12,0,0,0,249.45,69.31ZM188,180H36V76H188Zm44-27.57-20-14.54V118.11l20-14.54Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M200,72V184a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V72a8,8,0,0,1,8-8H192A8,8,0,0,1,200,72Z",opacity:"0.2"}),p.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M192,72V184a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V72A16,16,0,0,1,32,56H176A16,16,0,0,1,192,72Zm58,.25a8.23,8.23,0,0,0-6.63,1.22L209.78,95.86A4,4,0,0,0,208,99.19v57.62a4,4,0,0,0,1.78,3.33l33.78,22.52a8,8,0,0,0,8.58.19,8.33,8.33,0,0,0,3.86-7.17V80A8,8,0,0,0,250,72.25Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M250.83,74.71a6,6,0,0,0-6.16.3L206,100.79V72a14,14,0,0,0-14-14H32A14,14,0,0,0,18,72V184a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V155.21L244.67,181a6,6,0,0,0,9.33-5V80A6,6,0,0,0,250.83,74.71ZM194,184a2,2,0,0,1-2,2H32a2,2,0,0,1-2-2V72a2,2,0,0,1,2-2H192a2,2,0,0,1,2,2Zm48-19.21-36-24V115.21l36-24Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M249.89,76.47a4,4,0,0,0-4.11.2L204,104.53V72a12,12,0,0,0-12-12H32A12,12,0,0,0,20,72V184a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V151.47l41.78,27.86A4,4,0,0,0,252,176V80A4,4,0,0,0,249.89,76.47ZM196,184a4,4,0,0,1-4,4H32a4,4,0,0,1-4-4V72a4,4,0,0,1,4-4H192a4,4,0,0,1,4,4Zm48-15.47-40-26.67V114.14l40-26.67Z"}))]]),Hl=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:vg}));Hl.displayName="VideoCameraIcon";const wg=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M249.45,69.31a12,12,0,0,0-12.51,1L212,88.43V72a20,20,0,0,0-20-20H123.88a12,12,0,0,0,0,24H188v68a12,12,0,0,0,4.46,9.33c.15.13.31.25.48.38l44,32A12,12,0,0,0,256,176V80A12,12,0,0,0,249.45,69.31ZM232,152.43l-20-14.54V118.11l20-14.54ZM56.88,31.93A12,12,0,1,0,39.12,48.07L42.69,52H32A20,20,0,0,0,12,72V184a20,20,0,0,0,20,20H180.87l18.25,20.07a12,12,0,0,0,17.76-16.14ZM36,180V76H64.51l94.55,104Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M200,72V184a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V72a8,8,0,0,1,8-8H192A8,8,0,0,1,200,72Z",opacity:"0.2"}),p.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H113.06a8,8,0,0,0,0,16H192v87.63a8,8,0,0,0,16,0V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM240,161.05l-32-21.33V116.28L240,95ZM53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H182.64l19.44,21.38a8,8,0,1,0,11.84-10.76ZM32,184V72H66.28L168.1,184Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M256,80.23v95.45a8.33,8.33,0,0,1-3.86,7.17,8,8,0,0,1-8.58-.19l-33.78-22.52a4,4,0,0,1-1.78-3.33V99.19a4,4,0,0,1,1.78-3.32l33.78-22.53a8,8,0,0,1,9.73.66A8.23,8.23,0,0,1,256,80.23ZM53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H182.64l19.44,21.38a8,8,0,1,0,11.84-10.76ZM185,155.07a4,4,0,0,0,7-2.7V72a16,16,0,0,0-16-16H104a4,4,0,0,0-3,6.69Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M250.83,74.71a6,6,0,0,0-6.16.3L206,100.79V72a14,14,0,0,0-14-14H113.06a6,6,0,0,0,0,12H192a2,2,0,0,1,2,2v87.63a6,6,0,0,0,12,0v-4.42L244.67,181a6,6,0,0,0,9.33-5V80A6,6,0,0,0,250.83,74.71ZM242,164.79l-36-24V115.21l36-24ZM52.44,36A6,6,0,0,0,43.56,44L56.25,58H32A14,14,0,0,0,18,72V184a14,14,0,0,0,14,14H183.53l20,22a6,6,0,0,0,8.88-8.08ZM32,186a2,2,0,0,1-2-2V72a2,2,0,0,1,2-2H67.16L172.62,186Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H113.06a8,8,0,0,0,0,16H192v87.63a8,8,0,0,0,16,0V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM240,161.05l-32-21.33V116.28L240,95ZM53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H182.64l19.44,21.38a8,8,0,1,0,11.84-10.76ZM32,184V72H66.28L168.1,184Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M249.89,76.47a4,4,0,0,0-4.11.2L204,104.53V72a12,12,0,0,0-12-12H113.06a4,4,0,0,0,0,8H192a4,4,0,0,1,4,4v87.63a4,4,0,0,0,8,0v-8.16l41.78,27.86A4,4,0,0,0,252,176V80A4,4,0,0,0,249.89,76.47ZM244,168.53l-40-26.67V114.14l40-26.67ZM51,37.31A4,4,0,0,0,45,42.69L60.78,60H32A12,12,0,0,0,20,72V184a12,12,0,0,0,12,12H184.41L205,218.69a4,4,0,1,0,5.92-5.38ZM32,188a4,4,0,0,1-4-4V72a4,4,0,0,1,4-4H68.05L177.14,188Z"}))]]),Ul=p.forwardRef((e,t)=>p.createElement(Ke,{ref:t,...e,weights:wg}));Ul.displayName="VideoCameraSlashIcon";function na(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Sg(...e){return t=>{let n=!1;const s=e.map(r=>{const o=na(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():na(e[r],null)}}}}function Cg(e){const t=Tg(e),n=p.forwardRef((s,r)=>{const{children:o,...i}=s,a=p.Children.toArray(o),c=a.find(Ag);if(c){const d=c.props.children,u=a.map(f=>f===c?p.Children.count(d)>1?p.Children.only(null):p.isValidElement(d)?d.props.children:null:f);return l.jsx(t,{...i,ref:r,children:p.isValidElement(d)?p.cloneElement(d,void 0,u):null})}return l.jsx(t,{...i,ref:r,children:o})});return n.displayName=`${e}.Slot`,n}var kg=Cg("Slot");function Tg(e){const t=p.forwardRef((n,s)=>{const{children:r,...o}=n;if(p.isValidElement(r)){const i=Mg(r),a=jg(o,r.props);return r.type!==p.Fragment&&(a.ref=s?Sg(s,i):i),p.cloneElement(r,a)}return p.Children.count(r)>1?p.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Eg=Symbol("radix.slottable");function Ag(e){return p.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Eg}function jg(e,t){const n={...t};for(const s in t){const r=e[s],o=t[s];/^on[A-Z]/.test(s)?r&&o?n[s]=(...a)=>{const c=o(...a);return r(...a),c}:r&&(n[s]=r):s==="style"?n[s]={...r,...o}:s==="className"&&(n[s]=[r,o].filter(Boolean).join(" "))}return{...e,...n}}function Mg(e){var s,r;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}const Pg=ls.cva(["text-xs font-bold tracking-wider uppercase whitespace-nowrap","inline-flex items-center justify-center gap-2 shrink-0 rounded-full cursor-pointer outline-none transition-colors duration-300","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","disabled:pointer-events-none disabled:opacity-50","aria-invalid:ring-destructive/20 aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40 ","[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0"],{variants:{variant:{default:"bg-button text-button-foreground hover:bg-muted focus:bg-muted",destructive:["bg-destructive text-destructive-foreground","hover:bg-destructive-hover focus:bg-destructive-hover focus-visible:ring-destructive-foreground/20","dark:focus-visible:ring-destructive-foreground/40"],outline:["border bg-background","hover:bg-accent hover:text-accent-foreground","dark:bg-input/30 dark:border-input dark:hover:bg-input/50"],primary:"",secondary:"bg-secondary text-secondary-foregroun hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Vg({className:e,variant:t,size:n,asChild:s=!1,...r}){const o=s?kg:"button";return l.jsx(o,{"data-slot":"button",className:K(Pg({variant:t,size:n,className:e})),...r})}function Ng({onSend:e,className:t,disabled:n,...s}){const r=C.useRef(null),[o,i]=C.useState(""),a=d=>{var u,f;d.preventDefault(),(u=s.onSubmit)==null||u.call(s,d),e==null||e(o),i(""),(f=r.current)==null||f.focus({preventScroll:!0})},c=n||o.trim().length===0;return l.jsxs("form",{...s,onSubmit:a,className:K("flex items-center rounded-md pl-1 text-sm",t),children:[l.jsx("input",{ref:r,type:"text",className:"flex-1 focus:outline-none",placeholder:"Type something...",value:o,onChange:d=>i(d.target.value),disabled:n}),l.jsx(Vg,{size:"sm",type:"submit",variant:c?"secondary":"primary",disabled:c,className:"font-mono",children:"SEND"})]})}const Rg=ls.cva(["inline-flex items-center justify-center gap-2 rounded-full","text-sm font-medium whitespace-nowrap","cursor-pointer outline-none transition-[color,border,background-color]","!focus:ring-0 !focus-visible:ring-0 !focus:border-none !focus-visible:border-none !ring-0 !border-none !outline-none","aria-invalid:ring-0 dark:aria-invalid:ring-0 aria-invalid:border-0","disabled:pointer-events-none disabled:opacity-50 disabled:not-allowed","data-[state=on]:bg-button-selected data-[state=on]:border-button-border-selected","[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0"],{variants:{variant:{default:"bg-button hover:bg-muted focus:bg-muted hover:text-muted-foreground focus:text-muted-foreground",primary:"text-fg1 bg-button hover:bg-button-hover focus:bg-button-hover data-[state=off]:bg-button-primary hover:data-[state=off]:bg-button-hover data-[state=off]:text-button-primary-foreground",secondary:"text-fg1 bg-button hover:bg-button-hover focus:bg-button-hover data-[state=on]:bg-button-secondary hover:data-[state=on]:bg-button-secondary data-[state=on]:text-button-secondary-foreground",outline:["border border-button-border bg-button text-button-foreground","hover:bg-background focus:bg-background"]},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}});function Zl({className:e,variant:t,size:n,...s}){return l.jsx(Wd.Root,{"data-slot":"toggle",className:K(Rg({variant:t,size:n,className:e})),...s})}function Ig(e){const[t,n]=C.useState(()=>e.getPublishPermissions());return C.useEffect(()=>{const s=()=>{n(e.getPublishPermissions())},r=()=>{s()};return e.on("connection.connected",r),e.on("connection.disconnected",r),()=>{e.off("connection.connected",r),e.off("connection.disconnected",r)}},[e]),t}function Wl(e){const[t,n]=C.useState(()=>e.getLocalParticipant()),[s,r]=C.useState(()=>e.getMicrophoneTrack());return C.useEffect(()=>{const o=()=>{const a=e.getLocalParticipant(),c=e.getMicrophoneTrack();console.log("🎤 useVoxketLocalParticipant: Updating state:",{hasParticipant:!!a,hasMicTrack:!!c,isMicEnabled:e.isMicrophoneEnabled,trackPublications:a?a.trackPublications.size:0}),n(a),r(c)};o(),e.on("connection.connected",o),e.on("connection.disconnected",o),e.on("track.muted",o),e.on("track.unmuted",o);const i=e.getRoom();if(i){const a=()=>{console.log("🎤 Track published, updating participant state"),o()},c=()=>{console.log("🎤 Track unpublished, updating participant state"),o()};return i.on("localTrackPublished",a),i.on("localTrackUnpublished",c),()=>{e.off("connection.connected",o),e.off("connection.disconnected",o),e.off("track.muted",o),e.off("track.unmuted",o),i.off("localTrackPublished",a),i.off("localTrackUnpublished",c)}}else return()=>{e.off("connection.connected",o),e.off("connection.disconnected",o),e.off("track.muted",o),e.off("track.unmuted",o)}},[e]),{localParticipant:t,microphoneTrack:s}}function gn(e,t,n){const[s,r]=C.useState(!1),[o,i]=C.useState(!1);return C.useEffect(()=>{const c=()=>{let d=!1;switch(t){case"microphone":d=e.isMicrophoneEnabled;break;case"camera":d=e.isCameraEnabled;break;case"screenShare":d=e.isScreenShareEnabled;break}console.log(`useVoxketTrackToggle: ${t} enabled state updated to:`,d),r(d)};return c(),e.on("track.muted",c),e.on("track.unmuted",c),e.on("connection.connected",c),()=>{e.off("track.muted",c),e.off("track.unmuted",c),e.off("connection.connected",c)}},[e,t]),{enabled:s,pending:o,toggle:async c=>{var d;try{i(!0);const u=c!==void 0?c:!s;switch(t){case"microphone":await e.toggleMicrophone(u);break;case"camera":await e.toggleCamera(u);break;case"screenShare":u?await e.startScreenShare():await e.stopScreenShare();break}}catch(u){(d=n==null?void 0:n.onDeviceError)==null||d.call(n,u)}finally{i(!1)}}}}function Gl(e){const[t,n]=C.useState(()=>e.getRoom()),[s,r]=C.useState(()=>e.getConnectionState());return C.useEffect(()=>{const o=()=>{n(e.getRoom()),r(e.getConnectionState())};return e.on("connection.connected",o),e.on("connection.disconnected",o),e.on("connection.connecting",o),()=>{e.off("connection.connected",o),e.off("connection.disconnected",o),e.off("connection.connecting",o)}},[e]),t}function Dg(e,t){const[n,s]=C.useState([]),[r,o]=C.useState("");return C.useEffect(()=>{var d;const a=async()=>{try{const u=t==="audioinput"?await e.getAudioInputDevices():await e.getVideoInputDevices();s(u)}catch(u){console.error("Failed to load devices:",u)}};a();const c=()=>{a()};return(d=navigator.mediaDevices)==null||d.addEventListener("devicechange",c),()=>{var u;(u=navigator.mediaDevices)==null||u.removeEventListener("devicechange",c)}},[e,t]),{devices:n,activeDeviceId:r,setActiveMediaDevice:async a=>{try{t==="audioinput"?await e.setAudioInputDevice(a):await e.setVideoInputDevice(a),o(a)}catch(c){console.error("Failed to set device:",c)}}}}function $g(e){const{preventSave:t=!1}=e||{};return{saveAudioInputEnabled:i=>{t||localStorage.setItem("voxket-audio-input-enabled",i.toString())},saveAudioInputDeviceId:i=>{t||localStorage.setItem("voxket-audio-input-device-id",i)},saveVideoInputEnabled:i=>{t||localStorage.setItem("voxket-video-input-enabled",i.toString())},saveVideoInputDeviceId:i=>{t||localStorage.setItem("voxket-video-input-device-id",i)}}}function Kl(e){const[t,n]=C.useState(()=>e.getIsAgentConnected()),[s,r]=C.useState(()=>e.getCurrentSession()),[o,i]=C.useState(()=>e.getCurrentAgentInfo()),[a,c]=C.useState(()=>e.getAgentState()),[d,u]=C.useState(()=>e.getAgentAudioTrack()),[f,h]=C.useState(()=>e.getAgentVideoTrack());return C.useEffect(()=>{const g=()=>{const T=e.getIsAgentConnected(),w=e.getCurrentSession(),S=e.getCurrentAgentInfo(),A=e.getAgentState(),M=e.getAgentAudioTrack(),j=e.getAgentVideoTrack();console.log("🤖 useVoxketVoiceAssistant: Updating state:",{isAgentConnected:T,hasSession:!!w,sessionId:w==null?void 0:w.id,hasAgentInfo:!!S,agentState:A,hasAudioTrack:!!M,hasVideoTrack:!!j}),n(T),r(w),i(S),c(A),u(M),h(j)};g();const x=()=>{console.log("🤖 useVoxketVoiceAssistant: Agent connected event"),g()},m=()=>{console.log("🤖 useVoxketVoiceAssistant: Agent disconnected event"),g()},b=()=>{console.log("🤖 useVoxketVoiceAssistant: Session changed event"),g()},k=()=>{console.log("🤖 useVoxketVoiceAssistant: Connection changed event"),g()},v=()=>{console.log("🤖 useVoxketVoiceAssistant: Agent state changed event"),g()};return e.on("agent.connected",x),e.on("agent.speaking",x),e.on("agent.thinking",x),e.on("agent.state.changed",v),e.on("connection.disconnected",m),e.on("session.created",b),e.on("session.ended",b),e.on("session.state.changed",b),e.on("connection.connected",k),()=>{e.off("agent.connected",x),e.off("agent.speaking",x),e.off("agent.thinking",x),e.off("agent.state.changed",v),e.off("connection.disconnected",m),e.off("session.created",b),e.off("session.ended",b),e.off("session.state.changed",b),e.off("connection.connected",k)}},[e]),{agent:{isActive:t,info:o},session:s,state:a,audioTrack:d,videoTrack:f}}function Fg(e){const[t,n]=C.useState(()=>e.getVideoTrackRefs()),[s,r]=C.useState(()=>e.getCameraTrackRefs()),[o,i]=C.useState(()=>e.getScreenShareTrackRefs());return C.useEffect(()=>{const a=()=>{const d=e.getVideoTrackRefs(),u=e.getCameraTrackRefs(),f=e.getScreenShareTrackRefs();console.log("📹 useVoxketVideoTracks: Updating tracks:",{videoCount:d.length,cameraCount:u.length,screenShareCount:f.length}),n(d),r(u),i(f)};a(),e.on("connection.connected",a),e.on("connection.disconnected",a),e.on("track.muted",a),e.on("track.unmuted",a),e.on("participant.joined",a),e.on("participant.left",a);const c=e.getRoom();if(c){const d=()=>{console.log("📹 Track event, updating video tracks"),a()};return c.on("localTrackPublished",d),c.on("localTrackUnpublished",d),c.on("trackPublished",d),c.on("trackUnpublished",d),c.on("trackSubscribed",d),c.on("trackUnsubscribed",d),()=>{e.off("connection.connected",a),e.off("connection.disconnected",a),e.off("track.muted",a),e.off("track.unmuted",a),e.off("participant.joined",a),e.off("participant.left",a),c.off("localTrackPublished",d),c.off("localTrackUnpublished",d),c.off("trackPublished",d),c.off("trackUnpublished",d),c.off("trackSubscribed",d),c.off("trackUnsubscribed",d)}}else return()=>{e.off("connection.connected",a),e.off("connection.disconnected",a),e.off("track.muted",a),e.off("track.unmuted",a),e.off("participant.joined",a),e.off("participant.left",a)}},[e]),{videoTrackRefs:t,cameraTrackRefs:s,screenShareTrackRefs:o}}function sa({...e}){return l.jsx(ze.Root,{"data-slot":"select",...e})}function ra({...e}){return l.jsx(ze.Value,{"data-slot":"select-value",...e})}function oa({className:e,size:t="default",children:n,...s}){return l.jsxs(ze.Trigger,{"data-slot":"select-trigger","data-size":t,className:K(["flex w-fit cursor-pointer items-center justify-between gap-2","rounded-full px-3 py-2 text-sm whitespace-nowrap","bg-button transition-[color,border,background-color]","disabled:cursor-not-allowed disabled:opacity-50","hover:bg-muted hover:text-muted-foreground","!focus:ring-0 !focus-visible:ring-0 !focus:border-none !focus-visible:border-none !ring-0 !border-none !outline-none","aria-invalid:ring-0 dark:aria-invalid:ring-0","data-[placeholder]:text-muted-foreground","data-[size=default]:h-9 data-[size=sm]:h-8","*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2","[&:not([class*='text-'])_svg:not([class*='text-'])]:text-muted-foreground","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"],e),...s,children:[n,l.jsx(ze.Icon,{asChild:!0,children:l.jsx(vo,{weight:"bold",className:"size-4 transition-colors"})})]})}function ia({className:e,children:t,position:n="popper",...s}){return l.jsx(ze.Portal,{children:l.jsxs(ze.Content,{"data-slot":"select-content",className:K(["bg-[#18182a]/90 backdrop-blur-md text-white border border-[#23233a] shadow-2xl","relative z-50 overflow-x-hidden overflow-y-auto rounded-xl","max-h-(--radix-select-content-available-height) min-w-[8rem]","origin-(--radix-select-content-transform-origin)","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=top]:slide-in-from-bottom-2","data-[side=right]:slide-in-from-left-2","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2"],n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...s,children:[l.jsx(Og,{}),l.jsx(ze.Viewport,{className:K("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),l.jsx(Lg,{})]})})}function aa({className:e,children:t,...n}){return l.jsxs(ze.Item,{"data-slot":"select-item",className:K(["relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none","cursor-pointer disabled:cursor-not-allowed","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2","[&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"],e),...n,children:[l.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:l.jsx(ze.ItemIndicator,{children:l.jsx(Ll,{className:"size-4",weight:"bold"})})}),l.jsx(ze.ItemText,{children:t})]})}function Og({className:e,...t}){return l.jsx(ze.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:K("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(Fl,{className:"size-4",weight:"bold"})})}function Lg({className:e,...t}){return l.jsx(ze.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:K("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(vo,{className:"size-4",weight:"bold"})})}const ca=ls.cva(["w-full rounded-full px-3 py-2 text-sm cursor-pointer","disabled:not-allowed hover:bg-button-hover focus:bg-button-hover"],{variants:{size:{default:"w-[180px]",sm:"w-auto"}},defaultVariants:{size:"default"}});function la({kind:e,track:t,requestPermissions:n,onError:s,client:r,...o}){const i=o.size||"default";if(!r)return l.jsxs(sa,{disabled:!0,children:[l.jsx(oa,{className:K(ca({size:i}),o.className),children:l.jsx(ra,{placeholder:`Select a ${e}`})}),l.jsx(ia,{children:l.jsx(aa,{value:"none",children:"No devices available"})})]});const{devices:a,activeDeviceId:c,setActiveMediaDevice:d}=Dg(r,e==="audioinput"?"audioinput":"videoinput");return l.jsxs(sa,{value:c,onValueChange:d,children:[l.jsx(oa,{className:K(ca({size:i}),o.className,"hover:bg"),children:i!=="sm"&&l.jsx(ra,{className:"font-mono text-sm",placeholder:`Select a ${e}`})}),l.jsx(ia,{children:a.map(u=>l.jsx(aa,{value:u.deviceId,className:"font-mono text-xs",children:u.label},u.deviceId))})]})}function _g(e,t,n=!1){if(n)return wo;switch(e){case Z.Track.Source.Microphone:return t?_l:Bl;case Z.Track.Source.Camera:return t?Hl:Ul;case Z.Track.Source.ScreenShare:return zl;default:return p.Fragment}}function Gs({source:e,pressed:t,pending:n,className:s,...r}){const o=_g(e,t??!1,n),i=e===Z.Track.Source.Microphone&&!(t??!1)&&!n,a=e===Z.Track.Source.Camera&&!(t??!1)&&!n;return p.useEffect(()=>{console.log(`TrackToggle for ${e} changed: pressed=${t}, pending=${n}, actualState=${t?"enabled":"disabled"}`)},[e,t,n]),l.jsxs(Zl,{pressed:t,"aria-label":`Toggle ${e}`,className:K(s),...r,children:[l.jsx(o,{weight:"bold",className:K(n&&"animate-spin",i||a?"text-red-500":void 0)}),r.children]})}function Bg(e){return e?Ig(e):{camera:!0,microphone:!0,screenShare:!0,data:!0}}function zg(e={}){const{controls:t,saveUserChoices:n=!0,client:s}=e,r={leave:!0,...t};if(!s)return{micTrackRef:{participant:void 0,source:Z.Track.Source.Microphone,publication:void 0},visibleControls:r,microphoneToggle:{enabled:!1,pending:!1,toggle:async()=>{}},cameraToggle:{enabled:!1,pending:!1,toggle:async()=>{}},screenShareToggle:{enabled:!1,pending:!1,toggle:async()=>{}},handleDisconnect:()=>{},handleAudioDeviceChange:()=>{},handleVideoDeviceChange:()=>{}};const{microphoneTrack:o,localParticipant:i}=Wl(s),a=Bg(s);Gl(s);const c=gn(s,"microphone",{onDeviceError:A=>{var M;return(M=e.onDeviceError)==null?void 0:M.call(e,{source:Z.Track.Source.Microphone,error:A})}}),d=gn(s,"camera",{onDeviceError:A=>{var M;return(M=e.onDeviceError)==null?void 0:M.call(e,{source:Z.Track.Source.Camera,error:A})}}),u=gn(s,"screenShare",{onDeviceError:A=>{var M;return(M=e.onDeviceError)==null?void 0:M.call(e,{source:Z.Track.Source.ScreenShare,error:A})}}),f=p.useMemo(()=>{let A;if(i){for(const[,M]of i.trackPublications)if(M.source===Z.Track.Source.Microphone){A=M;break}}return console.log("🎤 Creating micTrackRef:",{hasParticipant:!!i,hasPublication:!!A,isTrackSubscribed:A==null?void 0:A.isSubscribed,isMuted:A==null?void 0:A.isMuted,trackSid:A==null?void 0:A.trackSid}),{participant:i??void 0,source:Z.Track.Source.Microphone,publication:A}},[i,o]);r.microphone??(r.microphone=a.microphone),r.screenShare??(r.screenShare=a.screenShare),r.camera??(r.camera=a.camera),r.chat??(r.chat=a.data);const{saveAudioInputEnabled:h,saveAudioInputDeviceId:g,saveVideoInputEnabled:x,saveVideoInputDeviceId:m}=$g({preventSave:!n}),b=p.useCallback(()=>{s&&s.disconnect()},[s]),k=p.useCallback(A=>{g(A??"default"),s&&s.setAudioInputDevice(A)},[g,s]),v=p.useCallback(A=>{m(A??"default"),s&&s.setVideoInputDevice(A)},[m,s]),T=p.useCallback(async A=>{u.enabled&&await u.toggle(!1),await d.toggle(A),x(!d.enabled)},[d,x,u]),w=p.useCallback(async A=>{await c.toggle(A),h(!c.enabled)},[c,h]),S=p.useCallback(async A=>{d.enabled&&await d.toggle(!1),await u.toggle(A)},[d,u]);return{micTrackRef:f,visibleControls:r,cameraToggle:{...d,toggle:T},microphoneToggle:{...c,toggle:w},screenShareToggle:{...u,toggle:S},handleDisconnect:b,handleAudioDeviceChange:k,handleVideoDeviceChange:v}}const Hg={card:" bg-gradient-to-br from-black to-gray-900 border border-gray-900 w-full h-full flex flex-col justify-between overflow-hidden mx-auto my-auto rounded-2xl shadow-lg",cardTopGradient:"pointer-events-none absolute top-0 left-0 w-full h-10 z-10 bg-gradient-to-b from-black/90 to-transparent",cardRadial:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_var(--tw-gradient-stops))] from-gray-800/20 via-transparent to-transparent",cardPurpleBlur:"absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-gray-600/10 to-transparent rounded-full blur-2xl",cardPinkBlur:"absolute bottom-0 left-0 w-24 h-24 bg-gradient-to-tr from-gray-500/8 to-transparent rounded-full blur-xl",cardPulse1:"absolute -top-2 -left-2 w-6 h-6 bg-gradient-to-br from-gray-400 to-gray-500 rounded-full blur-sm opacity-20 animate-pulse",cardPulse2:"absolute -bottom-2 -right-2 w-4 h-4 bg-gradient-to-br from-gray-500 to-gray-600 rounded-full blur-sm opacity-15 animate-pulse",main:"w-full flex flex-col items-center justify-center max-w-md mx-auto bg-gradient-to-br from-black to-gray-900 rounded-2xl shadow-xl p-0 overflow-hidden h-full",text:{primary:"text-white",secondary:"text-gray-300",muted:"text-gray-400",accent:"bg-clip-text text-transparent bg-gradient-to-r from-white via-gray-200 to-gray-300"},micButton:"absolute w-20 h-20 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 mic-glow shadow-2xl group",chatButton:"absolute w-20 h-20 bg-gradient-to-br from-[#10B981] to-[#059669] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",videoButton:"absolute w-20 h-20 bg-gradient-to-br from-[#8B5CF6] to-[#EC4899] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",popupTrigger:"bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] text-white font-medium hover:from-[#2563EB] hover:to-[#7C3AED] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-gray-900",promptSlider:"absolute w-full py-3 px-2 bg-gray-900 rounded-xl text-center text-white text-sm transition-opacity duration-700 ease-in-out border border-gray-600",statusIndicator:"w-2 h-2 bg-gray-400 rounded-full animate-pulse",pulseRings:{ring1:"w-32 h-32 rounded-full border-2 border-gray-600/30 pulse-ring",ring2:"absolute w-28 h-28 rounded-full border-2 border-gray-500/20 pulse-ring",ring3:"absolute w-24 h-24 rounded-full border-2 border-gray-400/15 pulse-ring"},controlBar:"border border-gray-600 rounded-3xl py-4 flex flex-col justify-end h-full bg-gray-900/50 backdrop-blur-sm",chatInput:{container:"bg-gray-900 w-full border-gray-600",textarea:"bg-gray-800 border-none text-white placeholder-gray-400",sendButton:"bg-blue-600 hover:bg-blue-700 disabled:bg-gray-600 disabled:opacity-50 text-white",attachButton:"text-gray-400 hover:text-gray-300 hover:bg-gray-700",endButton:"bg-red-900/20 hover:bg-red-800/30 text-red-400 border-red-800"},chatMessage:{own:"bg-gray-600 text-white",other:"bg-gray-700 text-white"},chatHeader:{container:"bg-gray-900 border-gray-600",backButton:"text-gray-400 hover:text-white hover:bg-gray-700"},spinner:"w-10 h-10 animate-spin text-gray-400 mb-2",suggestedResponse:{container:"bg-gray-800 text-blue-300 border-gray-700 hover:bg-gray-700 hover:text-white"},video:{container:"bg-gradient-to-br from-black to-gray-900 text-white",header:"border-gray-700 bg-gray-900/50",headerButton:"bg-gray-800 hover:bg-gray-700 text-gray-300",statusDot:"bg-green-500 animate-pulse",controlsBackground:"bg-gray-900/80 backdrop-blur-sm border-t border-gray-700",controlEnabled:"bg-blue-600 hover:bg-blue-700 text-white",controlDisabled:"bg-gray-700 hover:bg-gray-600 text-gray-300",endCall:"bg-red-600 hover:bg-red-700 text-white",tile:"bg-gray-800 border border-gray-700 shadow-lg",placeholder:"bg-gray-800 text-gray-300",avatar:"bg-gray-700 text-gray-300",nameOverlay:"bg-black/70 text-white",mutedIndicator:"bg-red-600/80 text-white"}},Ug={card:" bg-gradient-to-br from-white to-gray-50 border border-gray-200 w-full h-full flex flex-col justify-between overflow-hidden mx-auto my-auto shadow-lg",cardTopGradient:"pointer-events-none absolute top-0 left-0 w-full h-10 z-10 bg-gradient-to-b from-white/90 to-transparent",cardRadial:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_var(--tw-gradient-stops))] from-blue-500/5 via-transparent to-transparent",cardPurpleBlur:"absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-purple-500/10 to-transparent rounded-full blur-2xl",cardPinkBlur:"absolute bottom-0 left-0 w-24 h-24 bg-gradient-to-tr from-pink-500/8 to-transparent rounded-full blur-xl",cardPulse1:"absolute -top-2 -left-2 w-6 h-6 bg-gradient-to-br from-blue-500 to-purple-500 rounded-full blur-sm opacity-30 animate-pulse",cardPulse2:"absolute -bottom-2 -right-2 w-4 h-4 bg-gradient-to-br from-pink-500 to-purple-500 rounded-full blur-sm opacity-20 animate-pulse",main:"w-full flex flex-col items-center justify-center max-w-md mx-auto bg-gradient-to-br from-white to-gray-50 rounded-2xl shadow-xl p-0 overflow-hidden h-full",text:{primary:"text-gray-900",secondary:"text-gray-700",muted:"text-gray-500",accent:"bg-clip-text text-transparent bg-gradient-to-r from-blue-600 via-purple-600 to-pink-600"},micButton:"absolute text-white w-20 h-20 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 mic-glow shadow-2xl group",chatButton:"absolute text-white w-20 h-20 bg-gradient-to-br from-[#10B981] to-[#059669] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",videoButton:"absolute text-white w-20 h-20 bg-gradient-to-br from-[#8B5CF6] to-[#EC4899] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",popupTrigger:"bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] text-white font-medium hover:from-[#2563EB] hover:to-[#7C3AED] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-white",promptSlider:"absolute w-full py-3 px-2 bg-gray-100 rounded-xl text-center text-gray-700 text-sm transition-opacity duration-700 ease-in-out border border-gray-200",statusIndicator:"w-2 h-2 bg-green-500 rounded-full animate-pulse",pulseRings:{ring1:"w-32 h-32 rounded-full border-2 border-blue-500/20 pulse-ring",ring2:"absolute w-28 h-28 rounded-full border-2 border-purple-500/15 pulse-ring",ring3:"absolute w-24 h-24 rounded-full border-2 border-pink-500/10 pulse-ring"},controlBar:"border border-gray-200 rounded-3xl py-4 flex flex-col justify-end h-full bg-white/80 backdrop-blur-sm",chatInput:{container:"bg-white/90 border-gray-200 shadow-sm",textarea:"bg-white border-none text-gray-900 placeholder-gray-500 ",sendButton:"bg-blue-600 hover:bg-blue-700 disabled:bg-gray-300 disabled:opacity-50 text-white",attachButton:"text-gray-500 hover:text-gray-700 hover:bg-gray-100 bg-blue-50",endButton:"bg-red-50 hover:bg-red-100 text-red-600 border-red-200"},chatMessage:{own:"bg-blue-50 text-gray-900 border border-blue-100",other:"bg-gray-50 text-gray-900 border border-gray-200"},chatHeader:{container:"bg-white border-gray-200",backButton:"text-gray-500 hover:text-gray-700 hover:bg-gray-100"},spinner:"w-10 h-10 animate-spin text-blue-500 mb-2",suggestedResponse:{container:"bg-white text-blue-700 border-blue-200 hover:bg-blue-50 hover:text-blue-900"},video:{container:"bg-gradient-to-br from-white to-gray-50 text-gray-900",header:"border-gray-200 bg-white/80",headerButton:"bg-gray-100 hover:bg-gray-200 text-gray-600",statusDot:"bg-green-500 animate-pulse",controlsBackground:"bg-white/90 backdrop-blur-sm border-t border-gray-200",controlEnabled:"bg-blue-600 hover:bg-blue-700 text-white",controlDisabled:"bg-gray-200 hover:bg-gray-300 text-gray-600",endCall:"bg-red-600 hover:bg-red-700 text-white",tile:"bg-white border border-gray-200 shadow-sm",placeholder:"bg-gray-50 text-gray-600",avatar:"bg-gray-200 text-gray-600",nameOverlay:"bg-black/70 text-white",mutedIndicator:"bg-red-600/80 text-white"}},Zg={card:" text-white bg-gradient-to-br from-[#171727] to-[#12121F] border border-gray-800 w-full h-full flex flex-col justify-between overflow-hidden mx-auto my-auto",cardTopGradient:"pointer-events-none absolute top-0 left-0 w-full h-10 z-10 bg-gradient-to-b from-[#171727]/90 to-transparent",cardRadial:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_var(--tw-gradient-stops))] from-[#3B82F6]/15 via-transparent to-transparent",cardPurpleBlur:"absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-[#8B5CF6]/25 to-transparent rounded-full blur-2xl",cardPinkBlur:"absolute bottom-0 left-0 w-24 h-24 bg-gradient-to-tr from-[#EC4899]/20 to-transparent rounded-full blur-xl",cardPulse1:"absolute -top-2 -left-2 w-6 h-6 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full blur-sm opacity-50 animate-pulse",cardPulse2:"absolute -bottom-2 -right-2 w-4 h-4 bg-gradient-to-br from-[#EC4899] to-[#8B5CF6] rounded-full blur-sm opacity-40 animate-pulse",main:"w-full flex flex-col items-center justify-center max-w-md mx-auto bg-gradient-to-br from-[#171727] to-[#12121F] rounded-2xl shadow-xl p-0 overflow-hidden h-full",text:{primary:"text-white",secondary:"text-gray-300",muted:"text-gray-400",accent:"bg-clip-text text-transparent bg-gradient-to-r from-[#3B82F6] via-[#8B5CF6] to-[#EC4899]"},micButton:"absolute w-20 h-20 bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 mic-glow shadow-2xl group",chatButton:"absolute w-20 h-20 bg-gradient-to-br from-[#10B981] to-[#059669] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",videoButton:"absolute w-20 h-20 bg-gradient-to-br from-[#8B5CF6] to-[#EC4899] rounded-full flex items-center justify-center hover:scale-105 transition-all duration-300 shadow-2xl group",popupTrigger:"bg-gradient-to-br from-[#3B82F6] to-[#8B5CF6] text-white font-medium hover:from-[#2563EB] hover:to-[#7C3AED] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-gray-900 shadow-xl",promptSlider:"absolute w-full py-3 px-2 bg-[#1E1E2E] rounded-xl text-center text-gray-200 text-sm transition-opacity duration-700 ease-in-out border border-gray-700",statusIndicator:"w-2 h-2 bg-[#10B981] rounded-full animate-pulse",pulseRings:{ring1:"w-32 h-32 rounded-full border-2 border-[#3B82F6]/40 pulse-ring",ring2:"absolute w-28 h-28 rounded-full border-2 border-[#8B5CF6]/30 pulse-ring",ring3:"absolute w-24 h-24 rounded-full border-2 border-[#EC4899]/20 pulse-ring"},controlBar:"border border-border rounded-3xl py-4 flex flex-col justify-end h-full",chatInput:{container:"bg-[#1E1E2E] border-gray-700",textarea:"bg-[#1E1E2E] border-none text-white placeholder-gray-400",sendButton:"bg-[#3B82F6] hover:bg-[#2563EB] disabled:bg-gray-600 disabled:opacity-50 text-white",attachButton:"text-gray-400 hover:text-gray-300 hover:bg-gray-700",endButton:"bg-red-900/20 hover:bg-red-800/30 text-red-400 border-red-800"},chatMessage:{own:"bg-[#1E1E2E]/80 text-white",other:"bg-[#1E1E2E] text-white border border-gray-700"},chatHeader:{container:"bg-[#1E1E2E] border-gray-700",backButton:"text-gray-400 hover:text-white hover:bg-gray-700"},spinner:"w-10 h-10 animate-spin text-blue-400 mb-2",suggestedResponse:{container:"bg-[#221f3f] text-white border-none"},video:{container:"bg-gradient-to-br from-[#171727] to-[#12121F] text-white",header:"border-gray-700 bg-[#1E1E2E]/80",headerButton:"bg-[#1E1E2E] hover:bg-gray-700 text-gray-300",statusDot:"bg-[#10B981] animate-pulse",controlsBackground:"bg-[#1E1E2E]/90 backdrop-blur-sm border-t border-gray-700",controlEnabled:"bg-[#3B82F6] hover:bg-[#2563EB] text-white",controlDisabled:"bg-gray-700 hover:bg-gray-600 text-gray-300",endCall:"bg-red-600 hover:bg-red-700 text-white",tile:"bg-[#1E1E2E] border border-gray-700 shadow-xl",placeholder:"bg-[#1E1E2E] text-gray-300",avatar:"bg-gray-700 text-gray-300",nameOverlay:"bg-black/70 text-white",mutedIndicator:"bg-red-600/80 text-white"}},da={dark:Hg,light:Ug,vox:Zg};function Ve(e){return da[e]||da.vox}function Wg({controls:e,saveUserChoices:t=!0,capabilities:n,className:s,onSendMessage:r,onChatOpenChange:o,onDisconnect:i,onDeviceError:a,theme:c="vox",client:d,...u}){const[f,h]=p.useState(!1),[g,x]=p.useState(!1),m=Ve(c),{micTrackRef:b,visibleControls:k,cameraToggle:v,microphoneToggle:T,screenShareToggle:w,handleAudioDeviceChange:S,handleVideoDeviceChange:A,handleDisconnect:M}=zg({controls:e,saveUserChoices:t,client:d}),j=async z=>{x(!0);try{await(r==null?void 0:r(z))}finally{x(!1)}};return p.useEffect(()=>{o==null||o(f)},[f,o]),p.useEffect(()=>{var z,y,D,_;console.log("🎤 AgentControlBar: micTrackRef changed:",{hasParticipant:!!b.participant,hasPublication:!!b.publication,source:b.source,isSubscribed:(z=b.publication)==null?void 0:z.isSubscribed,isMuted:(y=b.publication)==null?void 0:y.isMuted,trackSid:(D=b.publication)==null?void 0:D.trackSid,hasTrack:!!((_=b.publication)!=null&&_.track)})},[b]),l.jsxs("div",{"aria-label":"Voice assistant controls",className:K(m.controlBar,s),...u,children:[n.suportsChatInput&&l.jsxs("div",{inert:!f,className:K("overflow-hidden transition-[height] relative duration-300 ease-in-out",f?"h-[64px] mb-3":"h-0"),children:[l.jsx("div",{className:"flex h-9 px-4 w-full",children:l.jsx(Ng,{onSend:j,disabled:g,className:K("w-full",m.chatInput)})}),l.jsx("hr",{className:"border-border my-2 mx-5"})]}),l.jsxs("div",{className:K("flex flex-row items-center gap-2 rounded-2xl mx-auto border-none backdrop-blur-lg px-2 py-2",c==="light"?"bg-white/80":"bg-[#18182a]/80"),children:[l.jsxs("div",{className:"flex gap-y-2 justify-start",children:[k.microphone&&l.jsxs("div",{className:"flex gap-y-2 items-center rounded-full overflow-hidden border-none ",children:[l.jsx(Gs,{variant:"primary",source:Z.Track.Source.Microphone,pressed:T.enabled,disabled:T.pending,onPressedChange:T.toggle,className:"w-auto py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors"}),l.jsx(Ne.BarVisualizer,{barCount:3,trackRef:b,options:{minHeight:5},className:"flex h-full w-auto items-center justify-center gap-x-0.5",children:l.jsx("span",{className:K(["h-full w-0.5 origin-center rounded-2xl","bg-white","group-data-[state=on]/track:bg-white group-data-[state=off]/track:bg-white","data-lk-muted:bg-muted"])})}),l.jsx(la,{size:"sm",kind:"audioinput",client:d,onError:a?z=>z instanceof Error?a({source:Z.Track.Source.Microphone,error:z}):void 0:void 0,onActiveDeviceChange:S,className:K(["h-full py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/30 transition-colors","min-w-[2.5rem]"])})]}),n.suportsVideoInput&&k.camera&&l.jsxs("div",{className:"flex items-center rounded-full overflow-hidden border-none ",children:[l.jsx(Gs,{variant:"primary",source:Z.Track.Source.Camera,pressed:v.enabled,pending:v.pending,disabled:v.pending,onPressedChange:v.toggle,className:"w-auto py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors"}),l.jsx(la,{size:"sm",kind:"videoinput",client:d,onError:a?z=>z instanceof Error?a({source:Z.Track.Source.Camera,error:z}):void 0:void 0,onActiveDeviceChange:A,className:K(["h-full py-2 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors","min-w-[2.5rem]"])})]}),n.suportsScreenShare&&k.screenShare&&l.jsx("div",{className:"flex items-center rounded-full overflow-hidden border-none ",children:l.jsx(Gs,{variant:"secondary",source:Z.Track.Source.ScreenShare,pressed:w.enabled,disabled:w.pending,onPressedChange:w.toggle,className:"w-auto py-2 disabled:opacity-70 rounded-none border-none bg-transparent text-inherit focus:bg-primary/80 hover:bg-primary/80 transition-colors"})})]}),k.chat&&l.jsx("div",{className:"flex items-center rounded-full overflow-hidden bg-secondary text-secondary-foreground border-none ",children:l.jsx(Zl,{variant:"secondary","aria-label":"Toggle chat",pressed:f,onPressedChange:z=>{h(z)},className:"aspect-square h-full py-3 rounded-none border-none bg-transparent text-inherit focus:bg-secondary/80 hover:bg-secondary/80 transition-colors flex items-center",children:l.jsx(Ol,{weight:"bold",className:"h-5 w-5"})})})]})]})}const Gg=(e,t)=>{var a,c;const n=p.useMemo(()=>t?t(e.message):e.message,[e.message,t]),s=!!e.editTimestamp,r=new Date(e.timestamp),o=typeof navigator<"u"?navigator.language:"en-US",i=(a=e.from)!=null&&a.name&&e.from.name!==""?e.from.name:(c=e.from)==null?void 0:c.identity;return{message:n,hasBeenEdited:s,time:r,locale:o,name:i}},Kg=({entry:e,messageFormatter:t,className:n,participantName:s,...r})=>{var u,f;const{message:o,time:i,locale:a}=Gg(e,t),c=((u=e.from)==null?void 0:u.isLocal)??!1;K("w-full px-3 py-2 rounded-2xl text-xs break-words whitespace-pre-line",c?" text-end border border-[#5078F2]/30":"bg-muted text-foreground border border-[#813aa7]/30","text-left");const d=K("inline-flex items-center justify-center w-6 h-6 rounded-full text-xs font-bold flex-shrink-0",c?"bg-[#5078F2] text-white":"bg-[#813aa7] ml-1 text-white");return l.jsx("li",{title:i.toLocaleTimeString(a,{timeStyle:"full"}),className:K("group flex mb-2",c?"justify-end":"justify-start",n),...r,children:l.jsxs("div",{className:K("flex w-fit max-w-full rounded-2xl border",c?"flex-row-reverse items-center border-[#5078F2]/30":"flex-row items-center border-[#813aa7]/30 bg-muted text-foreground"),children:[l.jsx("span",{className:d,children:c?((f=s==null?void 0:s[0])==null?void 0:f.toUpperCase())||"U":"A"}),l.jsx("span",{className:K("flex items-center text-xs break-words whitespace-pre-line",c?"ml-auto justify-end text-right":"justify-start text-left","px-3 py-2"),children:o})]})})};function Yg(e){C.useEffect(()=>{function t(){const n=e.current;n&&(n.scrollTop=n.scrollHeight)}if(e.current){const n=new ResizeObserver(t);return n.observe(e.current),t(),()=>n.disconnect()}},[e])}const qg=({className:e,children:t,...n})=>{const s=C.useRef(null);return Yg(s),l.jsx("div",{ref:s,className:K("flex flex-col justify-end",e),...n,children:t})},Xg=({state:e,audioTrack:t,className:n,ref:s})=>l.jsx("div",{ref:s,className:K("",n),children:t?l.jsx(Ne.BarVisualizer,{barCount:5,state:e,options:{minHeight:5},trackRef:t,className:K("flex aspect-video w-40 items-center justify-center gap-1"),children:l.jsx("span",{className:K(["bg-[#6721a4] min-h-2 w-2 rounded-full","origin-center transition-colors duration-250 ease-linear","data-[lk-highlighted=true]:bg-[#5c64f6]","data-[lk-muted=true]:bg-[#222222]"])})}):l.jsx("div",{className:K("flex aspect-video w-40 items-center justify-center"),children:l.jsxs("div",{className:"flex flex-col items-center justify-center",children:[l.jsx("div",{className:"w-16 h-16 mb-2 rounded-full bg-[#6721a4] flex items-center justify-center",children:l.jsx(Ee.User,{className:"w-8 h-8 text-white"})}),l.jsx("div",{className:"flex gap-1",children:Array.from({length:5}).map((r,o)=>l.jsx("span",{className:K(["bg-[#6721a4] min-h-2 w-2 rounded-full","origin-center transition-colors duration-250 ease-linear",e==="speaking"&&"animate-pulse bg-[#5c64f6]",e==="thinking"&&"animate-pulse bg-yellow-500"])},o))}),l.jsx("div",{className:"mt-2 text-center",children:l.jsx("p",{className:"text-xs text-gray-600 capitalize",children:e==="speaking"?"Speaking...":e==="thinking"?"Thinking...":"AI Assistant"})})]})})}),Jg=({videoTrack:e,className:t,ref:n})=>{var s,r;return!e||!e.publication||!e.participant?l.jsx("div",{ref:n,className:K(t),children:l.jsx("div",{className:"w-full h-full bg-gray-200 rounded-md flex items-center justify-center",children:l.jsx("span",{className:"text-gray-500",children:"No video available"})})}):l.jsx("div",{ref:n,className:K(t),children:l.jsx(Ne.VideoTrack,{trackRef:e,width:((s=e.publication.dimensions)==null?void 0:s.width)??0,height:((r=e.publication.dimensions)==null?void 0:r.height)??0,className:"rounded-md"})})},Qg=ie.create(Ne.VideoTrack),e0=({trackRef:e,className:t,ref:n})=>{var s,r;return l.jsx("div",{className:K("bg-muted overflow-hidden rounded-md",t),children:l.jsx(Qg,{ref:n,trackRef:e,width:((s=e==null?void 0:e.publication.dimensions)==null?void 0:s.width)??0,height:((r=e==null?void 0:e.publication.dimensions)==null?void 0:r.height)??0,className:K("h-full w-auto")})})},ua=ie.create(e0),t0=ie.create(Xg),n0=ie.create(Jg),tt={initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},exit:{opacity:0,scale:0},transition:{type:"spring",stiffness:675,damping:75,mass:1}},Vt={grid:["h-full w-full","grid gap-x-2 place-content-center","grid-cols-[1fr_1fr] grid-rows-[90px_1fr_90px]"],agentChatOpenWithSecondTile:["col-start-1 row-start-1","self-center justify-self-end"],agentChatOpenWithoutSecondTile:["col-start-1 row-start-1","col-span-2","place-content-center"],agentChatClosed:["col-start-1 row-start-1","col-span-2 row-span-3","place-content-center"],secondTileChatOpen:["col-start-2 row-start-1","self-center justify-self-start"],secondTileChatClosed:["col-start-2 row-start-3","place-content-end"]};function s0(e,t){const{localParticipant:n}=Wl(t),s=n==null?void 0:n.getTrackPublication(e);return C.useMemo(()=>s&&n?{source:e,participant:n,publication:s}:void 0,[e,s,n])}function r0({chatOpen:e,client:t}){const{agent:{isActive:n=!1}={},session:s,state:r="idle",audioTrack:o,videoTrack:i}=t?Kl(t):{agent:{isActive:!1},session:null,state:"idle",audioTrack:null,videoTrack:null},[a]=Ne.useTracks([Z.Track.Source.ScreenShare]),c=s0(Z.Track.Source.Camera,t),d=c&&!c.publication.isMuted,u=a&&!a.publication.isMuted,f=d||u,h=n||s&&s.state==="active",g={...tt.transition,delay:e?0:.15},x={...tt.animate,scale:e?1:3,transition:g},m={...tt.animate,transition:g},b=g,k=g,v=i&&i.publication&&i.participant;return l.jsx("div",{className:"relative w-full h-full z-10 flex items-center justify-center",children:l.jsx("div",{className:"relative w-full h-full max-w-2xl px-4 md:px-0",children:l.jsxs("div",{className:K(Vt.grid),children:[h&&l.jsx("div",{className:K(["grid",!e&&Vt.agentChatClosed,e&&f&&Vt.agentChatOpenWithSecondTile,e&&!f&&Vt.agentChatOpenWithoutSecondTile]),children:l.jsxs("div",{className:"h-full flex items-center justify-center",children:[!v&&l.jsx(t0,{layoutId:"agent",...tt,animate:x,transition:b,state:r,audioTrack:o||void 0,className:K(e?"h-[90px]":"h-auto w-full")},"agent"),v&&i&&l.jsx(n0,{layoutId:"avatar",...tt,animate:m,transition:k,videoTrack:i,className:K(e?"h-[90px] [&>video]:h-[90px] [&>video]:w-auto":"h-auto w-full")},"avatar")]})}),l.jsx("div",{className:K(["grid",e&&Vt.secondTileChatOpen,!e&&Vt.secondTileChatClosed]),children:l.jsxs("div",{className:"w-full px-10 flex items-center shadow-2xl justify-between",children:[c&&d&&l.jsx(ua,{layout:"position",layoutId:"camera",...tt,trackRef:c,transition:{...tt.transition,delay:e?0:.15},className:"h-[60px] order-1"},"camera"),u&&l.jsx(ua,{layout:"position",layoutId:"screen",...tt,trackRef:a,transition:{...tt.transition,delay:e?0:.15},className:"h-[70px] order-2"},"screen")]})})]})})})}function fa({timeout:e}){const[t,n]=C.useState(100),s=C.useRef(null),r=C.useRef(null);return C.useEffect(()=>{if(!e||e<=0)return;n(100),r.current=Date.now();const o=()=>{if(!e||r.current===null)return;const i=Date.now()-r.current,a=Math.max(0,100-i/e*100);n(a),a>0&&(s.current=requestAnimationFrame(o))};return s.current=requestAnimationFrame(o),()=>{s.current&&cancelAnimationFrame(s.current)}},[e]),!e||e<=0?null:l.jsx("div",{className:"w-full h-1 relative top-1 rounded-t-4xl bg-gray-700 overflow-hidden",children:l.jsx(ie.div,{className:"h-1 rounded-t-4xl dark:bg-white bg-blue-200 ",initial:{width:"100%"},animate:{width:`${Math.max(t,2)}%`},transition:{duration:.1,ease:"linear"},style:{minWidth:"2%"}})})}function Kt({interaction:e,theme:t,onDismiss:n,client:s,addLocalMessage:r}){var a;if(!e||!e.isVisible||!e.component)return null;const[o]=p.useState(()=>Date.now()),i=()=>e.component?p.createElement(e.component,{handler:e.handler||void 0,timeout:e.timeout,loadData:async d=>{console.log("InteractiveComponent: Loading data:",d)},presentationMode:e.presentationMode,data:e.data,client:s,addLocalMessage:r}):l.jsx("div",{className:"p-4 text-red-500",children:"Component not found"});switch(e.presentationMode){case"fullscreen":return l.jsx(Ht,{children:l.jsxs(ie.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[9999] bg-black",children:[l.jsxs("div",{className:"flex flex-col",children:[l.jsx(fa,{timeout:e.timeout}),l.jsxs("div",{className:"flex items-center justify-between p-4 bg-black/80 text-white border-b border-gray-700",children:[l.jsx("h3",{className:"text-lg font-semibold",children:e.methodName.replace(/_/g," ").replace(/\b\w/g,c=>c.toUpperCase())}),l.jsx("button",{onClick:n||((a=e.handler)==null?void 0:a.dismissView),className:"p-2 rounded-full bg-white/20 hover:bg-white/30 text-white transition-colors",children:l.jsx(Ee.X,{className:"w-5 h-5"})})]})]}),l.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:i()})]})});case"embedded":default:return l.jsx(Ht,{children:l.jsx(ie.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"w-fit rounded-lg ",children:l.jsxs("div",{children:[l.jsx(fa,{timeout:e.timeout}),i()]})})})}}function o0(){const e=Ne.useTranscriptions(),t=Ne.useChat(),n=Ne.useRoomContext();return{messages:C.useMemo(()=>[...e.map(o=>ig(o,n)),...t.chatMessages].sort((o,i)=>o.timestamp-i.timestamp),[e,t.chatMessages,n]),send:t.send}}const i0=({logLevel:e}={})=>{const t=Ne.useRoomContext();p.useEffect(()=>(Z.setLogLevel(e??"debug"),window.__lk_room=t,()=>{window.__lk_room=void 0}),[t,e])},ha=e=>e,a0=()=>{let e=ha;return{configure(t){e=t},generate(t){return e(t)},reset(){e=ha}}},c0=a0();function ht(e,...t){const n=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(s=>n.searchParams.append("args[]",s)),`Minified MUI error #${e}; visit ${n} for the full message.`}function At(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":ht(7));return e.charAt(0).toUpperCase()+e.slice(1)}function l0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bn={exports:{}},zn={exports:{}},le={};/** @license React v16.13.1
|
|
10
|
+
* react-is.production.min.js
|
|
11
|
+
*
|
|
12
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the MIT license found in the
|
|
15
|
+
* LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/var ma;function d0(){if(ma)return le;ma=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,s=e?Symbol.for("react.fragment"):60107,r=e?Symbol.for("react.strict_mode"):60108,o=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,a=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,d=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,f=e?Symbol.for("react.suspense"):60113,h=e?Symbol.for("react.suspense_list"):60120,g=e?Symbol.for("react.memo"):60115,x=e?Symbol.for("react.lazy"):60116,m=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,k=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function T(S){if(typeof S=="object"&&S!==null){var A=S.$$typeof;switch(A){case t:switch(S=S.type,S){case c:case d:case s:case o:case r:case f:return S;default:switch(S=S&&S.$$typeof,S){case a:case u:case x:case g:case i:return S;default:return A}}case n:return A}}}function w(S){return T(S)===d}return le.AsyncMode=c,le.ConcurrentMode=d,le.ContextConsumer=a,le.ContextProvider=i,le.Element=t,le.ForwardRef=u,le.Fragment=s,le.Lazy=x,le.Memo=g,le.Portal=n,le.Profiler=o,le.StrictMode=r,le.Suspense=f,le.isAsyncMode=function(S){return w(S)||T(S)===c},le.isConcurrentMode=w,le.isContextConsumer=function(S){return T(S)===a},le.isContextProvider=function(S){return T(S)===i},le.isElement=function(S){return typeof S=="object"&&S!==null&&S.$$typeof===t},le.isForwardRef=function(S){return T(S)===u},le.isFragment=function(S){return T(S)===s},le.isLazy=function(S){return T(S)===x},le.isMemo=function(S){return T(S)===g},le.isPortal=function(S){return T(S)===n},le.isProfiler=function(S){return T(S)===o},le.isStrictMode=function(S){return T(S)===r},le.isSuspense=function(S){return T(S)===f},le.isValidElementType=function(S){return typeof S=="string"||typeof S=="function"||S===s||S===d||S===o||S===r||S===f||S===h||typeof S=="object"&&S!==null&&(S.$$typeof===x||S.$$typeof===g||S.$$typeof===i||S.$$typeof===a||S.$$typeof===u||S.$$typeof===b||S.$$typeof===k||S.$$typeof===v||S.$$typeof===m)},le.typeOf=T,le}var de={};/** @license React v16.13.1
|
|
17
|
+
* react-is.development.js
|
|
18
|
+
*
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
20
|
+
*
|
|
21
|
+
* This source code is licensed under the MIT license found in the
|
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
|
23
|
+
*/var pa;function u0(){return pa||(pa=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,s=e?Symbol.for("react.fragment"):60107,r=e?Symbol.for("react.strict_mode"):60108,o=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,a=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,d=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,f=e?Symbol.for("react.suspense"):60113,h=e?Symbol.for("react.suspense_list"):60120,g=e?Symbol.for("react.memo"):60115,x=e?Symbol.for("react.lazy"):60116,m=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,k=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function T(L){return typeof L=="string"||typeof L=="function"||L===s||L===d||L===o||L===r||L===f||L===h||typeof L=="object"&&L!==null&&(L.$$typeof===x||L.$$typeof===g||L.$$typeof===i||L.$$typeof===a||L.$$typeof===u||L.$$typeof===b||L.$$typeof===k||L.$$typeof===v||L.$$typeof===m)}function w(L){if(typeof L=="object"&&L!==null){var ae=L.$$typeof;switch(ae){case t:var xe=L.type;switch(xe){case c:case d:case s:case o:case r:case f:return xe;default:var Ie=xe&&xe.$$typeof;switch(Ie){case a:case u:case x:case g:case i:return Ie;default:return ae}}case n:return ae}}}var S=c,A=d,M=a,j=i,z=t,y=u,D=s,_=x,J=g,te=n,ee=o,se=r,Y=f,R=!1;function X(L){return R||(R=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),V(L)||w(L)===c}function V(L){return w(L)===d}function U(L){return w(L)===a}function q(L){return w(L)===i}function P(L){return typeof L=="object"&&L!==null&&L.$$typeof===t}function E(L){return w(L)===u}function O(L){return w(L)===s}function F(L){return w(L)===x}function $(L){return w(L)===g}function I(L){return w(L)===n}function H(L){return w(L)===o}function B(L){return w(L)===r}function oe(L){return w(L)===f}de.AsyncMode=S,de.ConcurrentMode=A,de.ContextConsumer=M,de.ContextProvider=j,de.Element=z,de.ForwardRef=y,de.Fragment=D,de.Lazy=_,de.Memo=J,de.Portal=te,de.Profiler=ee,de.StrictMode=se,de.Suspense=Y,de.isAsyncMode=X,de.isConcurrentMode=V,de.isContextConsumer=U,de.isContextProvider=q,de.isElement=P,de.isForwardRef=E,de.isFragment=O,de.isLazy=F,de.isMemo=$,de.isPortal=I,de.isProfiler=H,de.isStrictMode=B,de.isSuspense=oe,de.isValidElementType=T,de.typeOf=w}()),de}var ga;function Yl(){return ga||(ga=1,process.env.NODE_ENV==="production"?zn.exports=d0():zn.exports=u0()),zn.exports}/*
|
|
24
|
+
object-assign
|
|
25
|
+
(c) Sindre Sorhus
|
|
26
|
+
@license MIT
|
|
27
|
+
*/var Ks,ya;function f0(){if(ya)return Ks;ya=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function s(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function r(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var i={},a=0;a<10;a++)i["_"+String.fromCharCode(a)]=a;var c=Object.getOwnPropertyNames(i).map(function(u){return i[u]});if(c.join("")!=="0123456789")return!1;var d={};return"abcdefghijklmnopqrst".split("").forEach(function(u){d[u]=u}),Object.keys(Object.assign({},d)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Ks=r()?Object.assign:function(o,i){for(var a,c=s(o),d,u=1;u<arguments.length;u++){a=Object(arguments[u]);for(var f in a)t.call(a,f)&&(c[f]=a[f]);if(e){d=e(a);for(var h=0;h<d.length;h++)n.call(a,d[h])&&(c[d[h]]=a[d[h]])}}return c},Ks}var Ys,xa;function So(){if(xa)return Ys;xa=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ys=e,Ys}var qs,ba;function ql(){return ba||(ba=1,qs=Function.call.bind(Object.prototype.hasOwnProperty)),qs}var Xs,va;function h0(){if(va)return Xs;va=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=So(),n={},s=ql();e=function(o){var i="Warning: "+o;typeof console<"u"&&console.error(i);try{throw new Error(i)}catch{}}}function r(o,i,a,c,d){if(process.env.NODE_ENV!=="production"){for(var u in o)if(s(o,u)){var f;try{if(typeof o[u]!="function"){var h=Error((c||"React class")+": "+a+" type `"+u+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[u]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw h.name="Invariant Violation",h}f=o[u](i,u,c,a,null,t)}catch(x){f=x}if(f&&!(f instanceof Error)&&e((c||"React class")+": type specification of "+a+" `"+u+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof f+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),f instanceof Error&&!(f.message in n)){n[f.message]=!0;var g=d?d():"";e("Failed "+a+" type: "+f.message+(g??""))}}}}return r.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},Xs=r,Xs}var Js,wa;function m0(){if(wa)return Js;wa=1;var e=Yl(),t=f0(),n=So(),s=ql(),r=h0(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(a){var c="Warning: "+a;typeof console<"u"&&console.error(c);try{throw new Error(c)}catch{}});function i(){return null}return Js=function(a,c){var d=typeof Symbol=="function"&&Symbol.iterator,u="@@iterator";function f(V){var U=V&&(d&&V[d]||V[u]);if(typeof U=="function")return U}var h="<<anonymous>>",g={array:k("array"),bigint:k("bigint"),bool:k("boolean"),func:k("function"),number:k("number"),object:k("object"),string:k("string"),symbol:k("symbol"),any:v(),arrayOf:T,element:w(),elementType:S(),instanceOf:A,node:y(),objectOf:j,oneOf:M,oneOfType:z,shape:_,exact:J};function x(V,U){return V===U?V!==0||1/V===1/U:V!==V&&U!==U}function m(V,U){this.message=V,this.data=U&&typeof U=="object"?U:{},this.stack=""}m.prototype=Error.prototype;function b(V){if(process.env.NODE_ENV!=="production")var U={},q=0;function P(O,F,$,I,H,B,oe){if(I=I||h,B=B||$,oe!==n){if(c){var L=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw L.name="Invariant Violation",L}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var ae=I+":"+$;!U[ae]&&q<3&&(o("You are manually calling a React.PropTypes validation function for the `"+B+"` prop on `"+I+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),U[ae]=!0,q++)}}return F[$]==null?O?F[$]===null?new m("The "+H+" `"+B+"` is marked as required "+("in `"+I+"`, but its value is `null`.")):new m("The "+H+" `"+B+"` is marked as required in "+("`"+I+"`, but its value is `undefined`.")):null:V(F,$,I,H,B)}var E=P.bind(null,!1);return E.isRequired=P.bind(null,!0),E}function k(V){function U(q,P,E,O,F,$){var I=q[P],H=se(I);if(H!==V){var B=Y(I);return new m("Invalid "+O+" `"+F+"` of type "+("`"+B+"` supplied to `"+E+"`, expected ")+("`"+V+"`."),{expectedType:V})}return null}return b(U)}function v(){return b(i)}function T(V){function U(q,P,E,O,F){if(typeof V!="function")return new m("Property `"+F+"` of component `"+E+"` has invalid PropType notation inside arrayOf.");var $=q[P];if(!Array.isArray($)){var I=se($);return new m("Invalid "+O+" `"+F+"` of type "+("`"+I+"` supplied to `"+E+"`, expected an array."))}for(var H=0;H<$.length;H++){var B=V($,H,E,O,F+"["+H+"]",n);if(B instanceof Error)return B}return null}return b(U)}function w(){function V(U,q,P,E,O){var F=U[q];if(!a(F)){var $=se(F);return new m("Invalid "+E+" `"+O+"` of type "+("`"+$+"` supplied to `"+P+"`, expected a single ReactElement."))}return null}return b(V)}function S(){function V(U,q,P,E,O){var F=U[q];if(!e.isValidElementType(F)){var $=se(F);return new m("Invalid "+E+" `"+O+"` of type "+("`"+$+"` supplied to `"+P+"`, expected a single ReactElement type."))}return null}return b(V)}function A(V){function U(q,P,E,O,F){if(!(q[P]instanceof V)){var $=V.name||h,I=X(q[P]);return new m("Invalid "+O+" `"+F+"` of type "+("`"+I+"` supplied to `"+E+"`, expected ")+("instance of `"+$+"`."))}return null}return b(U)}function M(V){if(!Array.isArray(V))return process.env.NODE_ENV!=="production"&&(arguments.length>1?o("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):o("Invalid argument supplied to oneOf, expected an array.")),i;function U(q,P,E,O,F){for(var $=q[P],I=0;I<V.length;I++)if(x($,V[I]))return null;var H=JSON.stringify(V,function(oe,L){var ae=Y(L);return ae==="symbol"?String(L):L});return new m("Invalid "+O+" `"+F+"` of value `"+String($)+"` "+("supplied to `"+E+"`, expected one of "+H+"."))}return b(U)}function j(V){function U(q,P,E,O,F){if(typeof V!="function")return new m("Property `"+F+"` of component `"+E+"` has invalid PropType notation inside objectOf.");var $=q[P],I=se($);if(I!=="object")return new m("Invalid "+O+" `"+F+"` of type "+("`"+I+"` supplied to `"+E+"`, expected an object."));for(var H in $)if(s($,H)){var B=V($,H,E,O,F+"."+H,n);if(B instanceof Error)return B}return null}return b(U)}function z(V){if(!Array.isArray(V))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var U=0;U<V.length;U++){var q=V[U];if(typeof q!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+R(q)+" at index "+U+"."),i}function P(E,O,F,$,I){for(var H=[],B=0;B<V.length;B++){var oe=V[B],L=oe(E,O,F,$,I,n);if(L==null)return null;L.data&&s(L.data,"expectedType")&&H.push(L.data.expectedType)}var ae=H.length>0?", expected one of type ["+H.join(", ")+"]":"";return new m("Invalid "+$+" `"+I+"` supplied to "+("`"+F+"`"+ae+"."))}return b(P)}function y(){function V(U,q,P,E,O){return te(U[q])?null:new m("Invalid "+E+" `"+O+"` supplied to "+("`"+P+"`, expected a ReactNode."))}return b(V)}function D(V,U,q,P,E){return new m((V||"React class")+": "+U+" type `"+q+"."+P+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+E+"`.")}function _(V){function U(q,P,E,O,F){var $=q[P],I=se($);if(I!=="object")return new m("Invalid "+O+" `"+F+"` of type `"+I+"` "+("supplied to `"+E+"`, expected `object`."));for(var H in V){var B=V[H];if(typeof B!="function")return D(E,O,F,H,Y(B));var oe=B($,H,E,O,F+"."+H,n);if(oe)return oe}return null}return b(U)}function J(V){function U(q,P,E,O,F){var $=q[P],I=se($);if(I!=="object")return new m("Invalid "+O+" `"+F+"` of type `"+I+"` "+("supplied to `"+E+"`, expected `object`."));var H=t({},q[P],V);for(var B in H){var oe=V[B];if(s(V,B)&&typeof oe!="function")return D(E,O,F,B,Y(oe));if(!oe)return new m("Invalid "+O+" `"+F+"` key `"+B+"` supplied to `"+E+"`.\nBad object: "+JSON.stringify(q[P],null," ")+`
|
|
28
|
+
Valid keys: `+JSON.stringify(Object.keys(V),null," "));var L=oe($,B,E,O,F+"."+B,n);if(L)return L}return null}return b(U)}function te(V){switch(typeof V){case"number":case"string":case"undefined":return!0;case"boolean":return!V;case"object":if(Array.isArray(V))return V.every(te);if(V===null||a(V))return!0;var U=f(V);if(U){var q=U.call(V),P;if(U!==V.entries){for(;!(P=q.next()).done;)if(!te(P.value))return!1}else for(;!(P=q.next()).done;){var E=P.value;if(E&&!te(E[1]))return!1}}else return!1;return!0;default:return!1}}function ee(V,U){return V==="symbol"?!0:U?U["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&U instanceof Symbol:!1}function se(V){var U=typeof V;return Array.isArray(V)?"array":V instanceof RegExp?"object":ee(U,V)?"symbol":U}function Y(V){if(typeof V>"u"||V===null)return""+V;var U=se(V);if(U==="object"){if(V instanceof Date)return"date";if(V instanceof RegExp)return"regexp"}return U}function R(V){var U=Y(V);switch(U){case"array":case"object":return"an "+U;case"boolean":case"date":case"regexp":return"a "+U;default:return U}}function X(V){return!V.constructor||!V.constructor.name?h:V.constructor.name}return g.checkPropTypes=r,g.resetWarningCache=r.resetWarningCache,g.PropTypes=g,g},Js}var Qs,Sa;function p0(){if(Sa)return Qs;Sa=1;var e=So();function t(){}function n(){}return n.resetWarningCache=t,Qs=function(){function s(i,a,c,d,u,f){if(f!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}s.isRequired=s;function r(){return s}var o={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:r,element:s,elementType:s,instanceOf:r,node:s,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:n,resetWarningCache:t};return o.PropTypes=o,o},Qs}var Ca;function g0(){if(Ca)return Bn.exports;if(Ca=1,process.env.NODE_ENV!=="production"){var e=Yl(),t=!0;Bn.exports=m0()(e.isElement,t)}else Bn.exports=p0()();return Bn.exports}var y0=g0();const ce=l0(y0);function x0(e,t,n=void 0){const s={};for(const r in e){const o=e[r];let i="",a=!0;for(let c=0;c<o.length;c+=1){const d=o[c];d&&(i+=(a===!0?"":" ")+t(d),a=!1,n&&n[d]&&(i+=" "+n[d]))}s[r]=i}return s}var Hn={exports:{}},ue={};/**
|
|
29
|
+
* @license React
|
|
30
|
+
* react-is.production.js
|
|
31
|
+
*
|
|
32
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
33
|
+
*
|
|
34
|
+
* This source code is licensed under the MIT license found in the
|
|
35
|
+
* LICENSE file in the root directory of this source tree.
|
|
36
|
+
*/var ka;function b0(){if(ka)return ue;ka=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),i=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),h=Symbol.for("react.view_transition"),g=Symbol.for("react.client.reference");function x(m){if(typeof m=="object"&&m!==null){var b=m.$$typeof;switch(b){case e:switch(m=m.type,m){case n:case r:case s:case c:case d:case h:return m;default:switch(m=m&&m.$$typeof,m){case i:case a:case f:case u:return m;case o:return m;default:return b}}case t:return b}}}return ue.ContextConsumer=o,ue.ContextProvider=i,ue.Element=e,ue.ForwardRef=a,ue.Fragment=n,ue.Lazy=f,ue.Memo=u,ue.Portal=t,ue.Profiler=r,ue.StrictMode=s,ue.Suspense=c,ue.SuspenseList=d,ue.isContextConsumer=function(m){return x(m)===o},ue.isContextProvider=function(m){return x(m)===i},ue.isElement=function(m){return typeof m=="object"&&m!==null&&m.$$typeof===e},ue.isForwardRef=function(m){return x(m)===a},ue.isFragment=function(m){return x(m)===n},ue.isLazy=function(m){return x(m)===f},ue.isMemo=function(m){return x(m)===u},ue.isPortal=function(m){return x(m)===t},ue.isProfiler=function(m){return x(m)===r},ue.isStrictMode=function(m){return x(m)===s},ue.isSuspense=function(m){return x(m)===c},ue.isSuspenseList=function(m){return x(m)===d},ue.isValidElementType=function(m){return typeof m=="string"||typeof m=="function"||m===n||m===r||m===s||m===c||m===d||typeof m=="object"&&m!==null&&(m.$$typeof===f||m.$$typeof===u||m.$$typeof===i||m.$$typeof===o||m.$$typeof===a||m.$$typeof===g||m.getModuleId!==void 0)},ue.typeOf=x,ue}var fe={};/**
|
|
37
|
+
* @license React
|
|
38
|
+
* react-is.development.js
|
|
39
|
+
*
|
|
40
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
41
|
+
*
|
|
42
|
+
* This source code is licensed under the MIT license found in the
|
|
43
|
+
* LICENSE file in the root directory of this source tree.
|
|
44
|
+
*/var Ta;function v0(){return Ta||(Ta=1,process.env.NODE_ENV!=="production"&&function(){function e(m){if(typeof m=="object"&&m!==null){var b=m.$$typeof;switch(b){case t:switch(m=m.type,m){case s:case o:case r:case d:case u:case g:return m;default:switch(m=m&&m.$$typeof,m){case a:case c:case h:case f:return m;case i:return m;default:return b}}case n:return b}}}var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),a=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),g=Symbol.for("react.view_transition"),x=Symbol.for("react.client.reference");fe.ContextConsumer=i,fe.ContextProvider=a,fe.Element=t,fe.ForwardRef=c,fe.Fragment=s,fe.Lazy=h,fe.Memo=f,fe.Portal=n,fe.Profiler=o,fe.StrictMode=r,fe.Suspense=d,fe.SuspenseList=u,fe.isContextConsumer=function(m){return e(m)===i},fe.isContextProvider=function(m){return e(m)===a},fe.isElement=function(m){return typeof m=="object"&&m!==null&&m.$$typeof===t},fe.isForwardRef=function(m){return e(m)===c},fe.isFragment=function(m){return e(m)===s},fe.isLazy=function(m){return e(m)===h},fe.isMemo=function(m){return e(m)===f},fe.isPortal=function(m){return e(m)===n},fe.isProfiler=function(m){return e(m)===o},fe.isStrictMode=function(m){return e(m)===r},fe.isSuspense=function(m){return e(m)===d},fe.isSuspenseList=function(m){return e(m)===u},fe.isValidElementType=function(m){return typeof m=="string"||typeof m=="function"||m===s||m===o||m===r||m===d||m===u||typeof m=="object"&&m!==null&&(m.$$typeof===h||m.$$typeof===f||m.$$typeof===a||m.$$typeof===i||m.$$typeof===c||m.$$typeof===x||m.getModuleId!==void 0)},fe.typeOf=e}()),fe}var Ea;function w0(){return Ea||(Ea=1,process.env.NODE_ENV==="production"?Hn.exports=b0():Hn.exports=v0()),Hn.exports}var os=w0();function st(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Xl(e){if(p.isValidElement(e)||os.isValidElementType(e)||!st(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=Xl(e[n])}),t}function Oe(e,t,n={clone:!0}){const s=n.clone?{...e}:e;return st(e)&&st(t)&&Object.keys(t).forEach(r=>{p.isValidElement(t[r])||os.isValidElementType(t[r])?s[r]=t[r]:st(t[r])&&Object.prototype.hasOwnProperty.call(e,r)&&st(e[r])?s[r]=Oe(e[r],t[r],n):n.clone?s[r]=st(t[r])?Xl(t[r]):t[r]:s[r]=t[r]}),s}function yn(e,t){return t?Oe(e,t,{clone:!1}):e}const gt=process.env.NODE_ENV!=="production"?ce.oneOfType([ce.number,ce.string,ce.object,ce.array]):{};function Aa(e,t){if(!e.containerQueries)return t;const n=Object.keys(t).filter(s=>s.startsWith("@container")).sort((s,r)=>{var i,a;const o=/min-width:\s*([0-9.]+)/;return+(((i=s.match(o))==null?void 0:i[1])||0)-+(((a=r.match(o))==null?void 0:a[1])||0)});return n.length?n.reduce((s,r)=>{const o=t[r];return delete s[r],s[r]=o,s},{...t}):t}function S0(e,t){return t==="@"||t.startsWith("@")&&(e.some(n=>t.startsWith(`@${n}`))||!!t.match(/^@\d/))}function C0(e,t){const n=t.match(/^@([^/]+)?\/?(.+)?$/);if(!n){if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The provided shorthand ${`(${t})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
|
|
45
|
+
For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`:ht(18,`(${t})`));return null}const[,s,r]=n,o=Number.isNaN(+s)?s||0:+s;return e.containerQueries(r).up(o)}function k0(e){const t=(o,i)=>o.replace("@media",i?`@container ${i}`:"@container");function n(o,i){o.up=(...a)=>t(e.breakpoints.up(...a),i),o.down=(...a)=>t(e.breakpoints.down(...a),i),o.between=(...a)=>t(e.breakpoints.between(...a),i),o.only=(...a)=>t(e.breakpoints.only(...a),i),o.not=(...a)=>{const c=t(e.breakpoints.not(...a),i);return c.includes("not all and")?c.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):c}}const s={},r=o=>(n(s,o),s);return n(r),{...e,containerQueries:r}}const ms={xs:0,sm:600,md:900,lg:1200,xl:1536},ja={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${ms[e]}px)`},T0={containerQueries:e=>({up:t=>{let n=typeof t=="number"?t:ms[t]||t;return typeof n=="number"&&(n=`${n}px`),e?`@container ${e} (min-width:${n})`:`@container (min-width:${n})`}})};function at(e,t,n){const s=e.theme||{};if(Array.isArray(t)){const o=s.breakpoints||ja;return t.reduce((i,a,c)=>(i[o.up(o.keys[c])]=n(t[c]),i),{})}if(typeof t=="object"){const o=s.breakpoints||ja;return Object.keys(t).reduce((i,a)=>{if(S0(o.keys,a)){const c=C0(s.containerQueries?s:T0,a);c&&(i[c]=n(t[a],a))}else if(Object.keys(o.values||ms).includes(a)){const c=o.up(a);i[c]=n(t[a],a)}else{const c=a;i[c]=t[c]}return i},{})}return n(t)}function E0(e={}){var n;return((n=e.keys)==null?void 0:n.reduce((s,r)=>{const o=e.up(r);return s[o]={},s},{}))||{}}function Ma(e,t){return e.reduce((n,s)=>{const r=n[s];return(!r||Object.keys(r).length===0)&&delete n[s],n},t)}function ps(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const s=`vars.${t}`.split(".").reduce((r,o)=>r&&r[o]?r[o]:null,e);if(s!=null)return s}return t.split(".").reduce((s,r)=>s&&s[r]!=null?s[r]:null,e)}function is(e,t,n,s=n){let r;return typeof e=="function"?r=e(n):Array.isArray(e)?r=e[n]||s:r=ps(e,n)||s,t&&(r=t(r,s,e)),r}function Ae(e){const{prop:t,cssProperty:n=e.prop,themeKey:s,transform:r}=e,o=i=>{if(i[t]==null)return null;const a=i[t],c=i.theme,d=ps(c,s)||{};return at(i,a,f=>{let h=is(d,r,f);return f===h&&typeof f=="string"&&(h=is(d,r,`${t}${f==="default"?"":At(f)}`,f)),n===!1?h:{[n]:h}})};return o.propTypes=process.env.NODE_ENV!=="production"?{[t]:gt}:{},o.filterProps=[t],o}function A0(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const j0={m:"margin",p:"padding"},M0={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},Pa={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},P0=A0(e=>{if(e.length>2)if(Pa[e])e=Pa[e];else return[e];const[t,n]=e.split(""),s=j0[t],r=M0[n]||"";return Array.isArray(r)?r.map(o=>s+o):[s+r]}),gs=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],ys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],V0=[...gs,...ys];function Mn(e,t,n,s){const r=ps(e,t,!0)??n;return typeof r=="number"||typeof r=="string"?o=>typeof o=="string"?o:(process.env.NODE_ENV!=="production"&&typeof o!="number"&&console.error(`MUI: Expected ${s} argument to be a number or a string, got ${o}.`),typeof r=="string"?r.startsWith("var(")&&o===0?0:r.startsWith("var(")&&o===1?r:`calc(${o} * ${r})`:r*o):Array.isArray(r)?o=>{if(typeof o=="string")return o;const i=Math.abs(o);process.env.NODE_ENV!=="production"&&(Number.isInteger(i)?i>r.length-1&&console.error([`MUI: The value provided (${i}) overflows.`,`The supported values are: ${JSON.stringify(r)}.`,`${i} > ${r.length-1}, you need to add the missing values.`].join(`
|
|
46
|
+
`)):console.error([`MUI: The \`theme.${t}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${t}\` as a number.`].join(`
|
|
47
|
+
`)));const a=r[i];return o>=0?a:typeof a=="number"?-a:typeof a=="string"&&a.startsWith("var(")?`calc(-1 * ${a})`:`-${a}`}:typeof r=="function"?r:(process.env.NODE_ENV!=="production"&&console.error([`MUI: The \`theme.${t}\` value (${r}) is invalid.`,"It should be a number, an array or a function."].join(`
|
|
48
|
+
`)),()=>{})}function Co(e){return Mn(e,"spacing",8,"spacing")}function Pn(e,t){return typeof t=="string"||t==null?t:e(t)}function N0(e,t){return n=>e.reduce((s,r)=>(s[r]=Pn(t,n),s),{})}function R0(e,t,n,s){if(!t.includes(n))return null;const r=P0(n),o=N0(r,s),i=e[n];return at(e,i,o)}function Jl(e,t){const n=Co(e.theme);return Object.keys(e).map(s=>R0(e,t,s,n)).reduce(yn,{})}function Ce(e){return Jl(e,gs)}Ce.propTypes=process.env.NODE_ENV!=="production"?gs.reduce((e,t)=>(e[t]=gt,e),{}):{};Ce.filterProps=gs;function ke(e){return Jl(e,ys)}ke.propTypes=process.env.NODE_ENV!=="production"?ys.reduce((e,t)=>(e[t]=gt,e),{}):{};ke.filterProps=ys;process.env.NODE_ENV!=="production"&&V0.reduce((e,t)=>(e[t]=gt,e),{});function xs(...e){const t=e.reduce((s,r)=>(r.filterProps.forEach(o=>{s[o]=r}),s),{}),n=s=>Object.keys(s).reduce((r,o)=>t[o]?yn(r,t[o](s)):r,{});return n.propTypes=process.env.NODE_ENV!=="production"?e.reduce((s,r)=>Object.assign(s,r.propTypes),{}):{},n.filterProps=e.reduce((s,r)=>s.concat(r.filterProps),[]),n}function Be(e){return typeof e!="number"?e:`${e}px solid`}function Ue(e,t){return Ae({prop:e,themeKey:"borders",transform:t})}const I0=Ue("border",Be),D0=Ue("borderTop",Be),$0=Ue("borderRight",Be),F0=Ue("borderBottom",Be),O0=Ue("borderLeft",Be),L0=Ue("borderColor"),_0=Ue("borderTopColor"),B0=Ue("borderRightColor"),z0=Ue("borderBottomColor"),H0=Ue("borderLeftColor"),U0=Ue("outline",Be),Z0=Ue("outlineColor"),bs=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=Mn(e.theme,"shape.borderRadius",4,"borderRadius"),n=s=>({borderRadius:Pn(t,s)});return at(e,e.borderRadius,n)}return null};bs.propTypes=process.env.NODE_ENV!=="production"?{borderRadius:gt}:{};bs.filterProps=["borderRadius"];xs(I0,D0,$0,F0,O0,L0,_0,B0,z0,H0,bs,U0,Z0);const vs=e=>{if(e.gap!==void 0&&e.gap!==null){const t=Mn(e.theme,"spacing",8,"gap"),n=s=>({gap:Pn(t,s)});return at(e,e.gap,n)}return null};vs.propTypes=process.env.NODE_ENV!=="production"?{gap:gt}:{};vs.filterProps=["gap"];const ws=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=Mn(e.theme,"spacing",8,"columnGap"),n=s=>({columnGap:Pn(t,s)});return at(e,e.columnGap,n)}return null};ws.propTypes=process.env.NODE_ENV!=="production"?{columnGap:gt}:{};ws.filterProps=["columnGap"];const Ss=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=Mn(e.theme,"spacing",8,"rowGap"),n=s=>({rowGap:Pn(t,s)});return at(e,e.rowGap,n)}return null};Ss.propTypes=process.env.NODE_ENV!=="production"?{rowGap:gt}:{};Ss.filterProps=["rowGap"];const W0=Ae({prop:"gridColumn"}),G0=Ae({prop:"gridRow"}),K0=Ae({prop:"gridAutoFlow"}),Y0=Ae({prop:"gridAutoColumns"}),q0=Ae({prop:"gridAutoRows"}),X0=Ae({prop:"gridTemplateColumns"}),J0=Ae({prop:"gridTemplateRows"}),Q0=Ae({prop:"gridTemplateAreas"}),ey=Ae({prop:"gridArea"});xs(vs,ws,Ss,W0,G0,K0,Y0,q0,X0,J0,Q0,ey);function Zt(e,t){return t==="grey"?t:e}const ty=Ae({prop:"color",themeKey:"palette",transform:Zt}),ny=Ae({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Zt}),sy=Ae({prop:"backgroundColor",themeKey:"palette",transform:Zt});xs(ty,ny,sy);function Fe(e){return e<=1&&e!==0?`${e*100}%`:e}const ry=Ae({prop:"width",transform:Fe}),ko=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o,i,a,c;const s=((i=(o=(r=e.theme)==null?void 0:r.breakpoints)==null?void 0:o.values)==null?void 0:i[n])||ms[n];return s?((c=(a=e.theme)==null?void 0:a.breakpoints)==null?void 0:c.unit)!=="px"?{maxWidth:`${s}${e.theme.breakpoints.unit}`}:{maxWidth:s}:{maxWidth:Fe(n)}};return at(e,e.maxWidth,t)}return null};ko.filterProps=["maxWidth"];const oy=Ae({prop:"minWidth",transform:Fe}),iy=Ae({prop:"height",transform:Fe}),ay=Ae({prop:"maxHeight",transform:Fe}),cy=Ae({prop:"minHeight",transform:Fe});Ae({prop:"size",cssProperty:"width",transform:Fe});Ae({prop:"size",cssProperty:"height",transform:Fe});const ly=Ae({prop:"boxSizing"});xs(ry,ko,oy,iy,ay,cy,ly);const Cs={border:{themeKey:"borders",transform:Be},borderTop:{themeKey:"borders",transform:Be},borderRight:{themeKey:"borders",transform:Be},borderBottom:{themeKey:"borders",transform:Be},borderLeft:{themeKey:"borders",transform:Be},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Be},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:bs},color:{themeKey:"palette",transform:Zt},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Zt},backgroundColor:{themeKey:"palette",transform:Zt},p:{style:ke},pt:{style:ke},pr:{style:ke},pb:{style:ke},pl:{style:ke},px:{style:ke},py:{style:ke},padding:{style:ke},paddingTop:{style:ke},paddingRight:{style:ke},paddingBottom:{style:ke},paddingLeft:{style:ke},paddingX:{style:ke},paddingY:{style:ke},paddingInline:{style:ke},paddingInlineStart:{style:ke},paddingInlineEnd:{style:ke},paddingBlock:{style:ke},paddingBlockStart:{style:ke},paddingBlockEnd:{style:ke},m:{style:Ce},mt:{style:Ce},mr:{style:Ce},mb:{style:Ce},ml:{style:Ce},mx:{style:Ce},my:{style:Ce},margin:{style:Ce},marginTop:{style:Ce},marginRight:{style:Ce},marginBottom:{style:Ce},marginLeft:{style:Ce},marginX:{style:Ce},marginY:{style:Ce},marginInline:{style:Ce},marginInlineStart:{style:Ce},marginInlineEnd:{style:Ce},marginBlock:{style:Ce},marginBlockStart:{style:Ce},marginBlockEnd:{style:Ce},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:vs},rowGap:{style:Ss},columnGap:{style:ws},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Fe},maxWidth:{style:ko},minWidth:{transform:Fe},height:{transform:Fe},maxHeight:{transform:Fe},minHeight:{transform:Fe},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function dy(...e){const t=e.reduce((s,r)=>s.concat(Object.keys(r)),[]),n=new Set(t);return e.every(s=>n.size===Object.keys(s).length)}function uy(e,t){return typeof e=="function"?e(t):e}function fy(){function e(n,s,r,o){const i={[n]:s,theme:r},a=o[n];if(!a)return{[n]:s};const{cssProperty:c=n,themeKey:d,transform:u,style:f}=a;if(s==null)return null;if(d==="typography"&&s==="inherit")return{[n]:s};const h=ps(r,d)||{};return f?f(i):at(i,s,x=>{let m=is(h,u,x);return x===m&&typeof x=="string"&&(m=is(h,u,`${n}${x==="default"?"":At(x)}`,x)),c===!1?m:{[c]:m}})}function t(n){const{sx:s,theme:r={},nested:o}=n||{};if(!s)return null;const i=r.unstable_sxConfig??Cs;function a(c){let d=c;if(typeof c=="function")d=c(r);else if(typeof c!="object")return c;if(!d)return null;const u=E0(r.breakpoints),f=Object.keys(u);let h=u;return Object.keys(d).forEach(g=>{const x=uy(d[g],r);if(x!=null)if(typeof x=="object")if(i[g])h=yn(h,e(g,x,r,i));else{const m=at({theme:r},x,b=>({[g]:b}));dy(m,x)?h[g]=t({sx:x,theme:r,nested:!0}):h=yn(h,m)}else h=yn(h,e(g,x,r,i))}),!o&&r.modularCssLayers?{"@layer sx":Aa(r,Ma(f,h))}:Aa(r,Ma(f,h))}return Array.isArray(s)?s.map(a):a(s)}return t}const Yt=fy();Yt.filterProps=["sx"];function hy(e){for(var t=0,n,s=0,r=e.length;r>=4;++s,r-=4)n=e.charCodeAt(s)&255|(e.charCodeAt(++s)&255)<<8|(e.charCodeAt(++s)&255)<<16|(e.charCodeAt(++s)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(r){case 3:t^=(e.charCodeAt(s+2)&255)<<16;case 2:t^=(e.charCodeAt(s+1)&255)<<8;case 1:t^=e.charCodeAt(s)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var my={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function py(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var gy=/[A-Z]|^ms/g,yy=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Ql=function(t){return t.charCodeAt(1)===45},Va=function(t){return t!=null&&typeof t!="boolean"},er=py(function(e){return Ql(e)?e:e.replace(gy,"-$&").toLowerCase()}),Na=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(yy,function(s,r,o){return dt={name:r,styles:o,next:dt},r})}return my[t]!==1&&!Ql(t)&&typeof n=="number"&&n!==0?n+"px":n};function as(e,t,n){if(n==null)return"";var s=n;if(s.__emotion_styles!==void 0)return s;switch(typeof n){case"boolean":return"";case"object":{var r=n;if(r.anim===1)return dt={name:r.name,styles:r.styles,next:dt},r.name;var o=n;if(o.styles!==void 0){var i=o.next;if(i!==void 0)for(;i!==void 0;)dt={name:i.name,styles:i.styles,next:dt},i=i.next;var a=o.styles+";";return a}return xy(e,t,n)}}var c=n;return c}function xy(e,t,n){var s="";if(Array.isArray(n))for(var r=0;r<n.length;r++)s+=as(e,t,n[r])+";";else for(var o in n){var i=n[o];if(typeof i!="object"){var a=i;Va(a)&&(s+=er(o)+":"+Na(o,a)+";")}else if(Array.isArray(i)&&typeof i[0]=="string"&&t==null)for(var c=0;c<i.length;c++)Va(i[c])&&(s+=er(o)+":"+Na(o,i[c])+";");else{var d=as(e,t,i);switch(o){case"animation":case"animationName":{s+=er(o)+":"+d+";";break}default:s+=o+"{"+d+"}"}}}return s}var Ra=/label:\s*([^\s;{]+)\s*(;|$)/g,dt;function by(e,t,n){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var s=!0,r="";dt=void 0;var o=e[0];if(o==null||o.raw===void 0)s=!1,r+=as(n,t,o);else{var i=o;r+=i[0]}for(var a=1;a<e.length;a++)if(r+=as(n,t,e[a]),s){var c=o;r+=c[a]}Ra.lastIndex=0;for(var d="",u;(u=Ra.exec(r))!==null;)d+="-"+u[1];var f=hy(r)+d;return{name:f,styles:r,next:dt}}/**
|
|
49
|
+
* @mui/styled-engine v7.2.0
|
|
50
|
+
*
|
|
51
|
+
* @license MIT
|
|
52
|
+
* This source code is licensed under the MIT license found in the
|
|
53
|
+
* LICENSE file in the root directory of this source tree.
|
|
54
|
+
*/function vy(e,t){const n=Ud(e,t);return process.env.NODE_ENV!=="production"?(...s)=>{const r=typeof e=="string"?`"${e}"`:"component";return s.length===0?console.error([`MUI: Seems like you called \`styled(${r})()\` without a \`style\` argument.`,'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(`
|
|
55
|
+
`)):s.some(o=>o===void 0)&&console.error(`MUI: the styled(${r})(...args) API requires all its args to be defined.`),n(...s)}:n}function wy(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}const Ia=[];function Tt(e){return Ia[0]=e,by(Ia)}const Sy=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,s)=>n.val-s.val),t.reduce((n,s)=>({...n,[s.key]:s.val}),{})};function Cy(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:s=5,...r}=e,o=Sy(t),i=Object.keys(o);function a(h){return`@media (min-width:${typeof t[h]=="number"?t[h]:h}${n})`}function c(h){return`@media (max-width:${(typeof t[h]=="number"?t[h]:h)-s/100}${n})`}function d(h,g){const x=i.indexOf(g);return`@media (min-width:${typeof t[h]=="number"?t[h]:h}${n}) and (max-width:${(x!==-1&&typeof t[i[x]]=="number"?t[i[x]]:g)-s/100}${n})`}function u(h){return i.indexOf(h)+1<i.length?d(h,i[i.indexOf(h)+1]):a(h)}function f(h){const g=i.indexOf(h);return g===0?a(i[1]):g===i.length-1?c(i[g]):d(h,i[i.indexOf(h)+1]).replace("@media","@media not all and")}return{keys:i,values:o,up:a,down:c,between:d,only:u,not:f,unit:n,...r}}const ky={borderRadius:4};function ed(e=8,t=Co({spacing:e})){if(e.mui)return e;const n=(...s)=>(process.env.NODE_ENV!=="production"&&(s.length<=4||console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${s.length}`)),(s.length===0?[1]:s).map(o=>{const i=t(o);return typeof i=="number"?`${i}px`:i}).join(" "));return n.mui=!0,n}function Ty(e,t){var s;const n=this;if(n.vars){if(!((s=n.colorSchemes)!=null&&s[e])||typeof n.getColorSchemeSelector!="function")return{};let r=n.getColorSchemeSelector(e);return r==="&"?t:((r.includes("data-")||r.includes("."))&&(r=`*:where(${r.replace(/\s*&$/,"")}) &`),{[r]:t})}return n.palette.mode===e?t:{}}function td(e={},...t){const{breakpoints:n={},palette:s={},spacing:r,shape:o={},...i}=e,a=Cy(n),c=ed(r);let d=Oe({breakpoints:a,direction:"ltr",components:{},palette:{mode:"light",...s},spacing:c,shape:{...ky,...o}},i);return d=k0(d),d.applyStyles=Ty,d=t.reduce((u,f)=>Oe(u,f),d),d.unstable_sxConfig={...Cs,...i==null?void 0:i.unstable_sxConfig},d.unstable_sx=function(f){return Yt({sx:f,theme:this})},d}const Ey={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function To(e,t,n="Mui"){const s=Ey[t];return s?`${n}-${s}`:`${c0.generate(e)}-${t}`}function Ay(e,t,n="Mui"){const s={};return t.forEach(r=>{s[r]=To(e,r,n)}),s}function nd(e,t=""){return e.displayName||e.name||t}function Da(e,t,n){const s=nd(t);return e.displayName||(s!==""?`${n}(${s})`:n)}function jy(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return nd(e,"Component");if(typeof e=="object")switch(e.$$typeof){case os.ForwardRef:return Da(e,e.render,"ForwardRef");case os.Memo:return Da(e,e.type,"memo");default:return}}}function sd(e){const{variants:t,...n}=e,s={variants:t,style:Tt(n),isProcessed:!0};return s.style===n||t&&t.forEach(r=>{typeof r.style!="function"&&(r.style=Tt(r.style))}),s}const My=td();function tr(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function St(e,t){return t&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}function Py(e){return e?(t,n)=>n[e]:null}function Vy(e,t,n){e.theme=Dy(e.theme)?n:e.theme[t]||e.theme}function Xn(e,t,n){const s=typeof t=="function"?t(e):t;if(Array.isArray(s))return s.flatMap(r=>Xn(e,r,n));if(Array.isArray(s==null?void 0:s.variants)){let r;if(s.isProcessed)r=n?St(s.style,n):s.style;else{const{variants:o,...i}=s;r=n?St(Tt(i),n):i}return rd(e,s.variants,[r],n)}return s!=null&&s.isProcessed?n?St(Tt(s.style),n):s.style:n?St(Tt(s),n):s}function rd(e,t,n=[],s=void 0){var o;let r;e:for(let i=0;i<t.length;i+=1){const a=t[i];if(typeof a.props=="function"){if(r??(r={...e,...e.ownerState,ownerState:e.ownerState}),!a.props(r))continue}else for(const c in a.props)if(e[c]!==a.props[c]&&((o=e.ownerState)==null?void 0:o[c])!==a.props[c])continue e;typeof a.style=="function"?(r??(r={...e,...e.ownerState,ownerState:e.ownerState}),n.push(s?St(Tt(a.style(r)),s):a.style(r))):n.push(s?St(Tt(a.style),s):a.style)}return n}function Ny(e={}){const{themeId:t,defaultTheme:n=My,rootShouldForwardProp:s=tr,slotShouldForwardProp:r=tr}=e;function o(a){Vy(a,t,n)}return(a,c={})=>{wy(a,A=>A.filter(M=>M!==Yt));const{name:d,slot:u,skipVariantsResolver:f,skipSx:h,overridesResolver:g=Py(od(u)),...x}=c,m=d&&d.startsWith("Mui")||u?"components":"custom",b=f!==void 0?f:u&&u!=="Root"&&u!=="root"||!1,k=h||!1;let v=tr;u==="Root"||u==="root"?v=s:u?v=r:$y(a)&&(v=void 0);const T=vy(a,{shouldForwardProp:v,label:Iy(d,u),...x}),w=A=>{if(A.__emotion_real===A)return A;if(typeof A=="function")return function(j){return Xn(j,A,j.theme.modularCssLayers?m:void 0)};if(st(A)){const M=sd(A);return function(z){return M.variants?Xn(z,M,z.theme.modularCssLayers?m:void 0):z.theme.modularCssLayers?St(M.style,m):M.style}}return A},S=(...A)=>{const M=[],j=A.map(w),z=[];if(M.push(o),d&&g&&z.push(function(J){var Y,R;const ee=(R=(Y=J.theme.components)==null?void 0:Y[d])==null?void 0:R.styleOverrides;if(!ee)return null;const se={};for(const X in ee)se[X]=Xn(J,ee[X],J.theme.modularCssLayers?"theme":void 0);return g(J,se)}),d&&!b&&z.push(function(J){var se,Y;const te=J.theme,ee=(Y=(se=te==null?void 0:te.components)==null?void 0:se[d])==null?void 0:Y.variants;return ee?rd(J,ee,[],J.theme.modularCssLayers?"theme":void 0):null}),k||z.push(Yt),Array.isArray(j[0])){const _=j.shift(),J=new Array(M.length).fill(""),te=new Array(z.length).fill("");let ee;ee=[...J,..._,...te],ee.raw=[...J,..._.raw,...te],M.unshift(ee)}const y=[...M,...j,...z],D=T(...y);return a.muiName&&(D.muiName=a.muiName),process.env.NODE_ENV!=="production"&&(D.displayName=Ry(d,u,a)),D};return T.withConfig&&(S.withConfig=T.withConfig),S}}function Ry(e,t,n){return e?`${e}${At(t||"")}`:`Styled(${jy(n)})`}function Iy(e,t){let n;return process.env.NODE_ENV!=="production"&&e&&(n=`${e}-${od(t||"Root")}`),n}function Dy(e){for(const t in e)return!1;return!0}function $y(e){return typeof e=="string"&&e.charCodeAt(0)>96}function od(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function Vr(e,t,n=!1){const s={...t};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const o=r;if(o==="components"||o==="slots")s[o]={...e[o],...s[o]};else if(o==="componentsProps"||o==="slotProps"){const i=e[o],a=t[o];if(!a)s[o]=i||{};else if(!i)s[o]=a;else{s[o]={...a};for(const c in i)if(Object.prototype.hasOwnProperty.call(i,c)){const d=c;s[o][d]=Vr(i[d],a[d],n)}}}else o==="className"&&n&&t.className?s.className=$r(e==null?void 0:e.className,t==null?void 0:t.className):o==="style"&&n&&t.style?s.style={...e==null?void 0:e.style,...t==null?void 0:t.style}:s[o]===void 0&&(s[o]=e[o])}return s}function Fy(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}function Eo(e,t=0,n=1){return process.env.NODE_ENV!=="production"&&(e<t||e>n)&&console.error(`MUI: The value provided ${e} is out of range [${t}, ${n}].`),Fy(e,t,n)}function Oy(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(s=>s+s)),process.env.NODE_ENV!=="production"&&e.length!==e.trim().length&&console.error(`MUI: The color: "${e}" is invalid. Make sure the color input doesn't contain leading/trailing space.`),n?`rgb${n.length===4?"a":""}(${n.map((s,r)=>r<3?parseInt(s,16):Math.round(parseInt(s,16)/255*1e3)/1e3).join(", ")})`:""}function mt(e){if(e.type)return e;if(e.charAt(0)==="#")return mt(Oy(e));const t=e.indexOf("("),n=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(n))throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color.
|
|
56
|
+
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:ht(9,e));let s=e.substring(t+1,e.length-1),r;if(n==="color"){if(s=s.split(" "),r=s.shift(),s.length===4&&s[3].charAt(0)==="/"&&(s[3]=s[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(r))throw new Error(process.env.NODE_ENV!=="production"?`MUI: unsupported \`${r}\` color space.
|
|
57
|
+
The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:ht(10,r))}else s=s.split(",");return s=s.map(o=>parseFloat(o)),{type:n,values:s,colorSpace:r}}const Ly=e=>{const t=mt(e);return t.values.slice(0,3).map((n,s)=>t.type.includes("hsl")&&s!==0?`${n}%`:n).join(" ")},dn=(e,t)=>{try{return Ly(e)}catch{return t&&process.env.NODE_ENV!=="production"&&console.warn(t),e}};function ks(e){const{type:t,colorSpace:n}=e;let{values:s}=e;return t.includes("rgb")?s=s.map((r,o)=>o<3?parseInt(r,10):r):t.includes("hsl")&&(s[1]=`${s[1]}%`,s[2]=`${s[2]}%`),t.includes("color")?s=`${n} ${s.join(" ")}`:s=`${s.join(", ")}`,`${t}(${s})`}function id(e){e=mt(e);const{values:t}=e,n=t[0],s=t[1]/100,r=t[2]/100,o=s*Math.min(r,1-r),i=(d,u=(d+n/30)%12)=>r-o*Math.max(Math.min(u-3,9-u,1),-1);let a="rgb";const c=[Math.round(i(0)*255),Math.round(i(8)*255),Math.round(i(4)*255)];return e.type==="hsla"&&(a+="a",c.push(t[3])),ks({type:a,values:c})}function Nr(e){e=mt(e);let t=e.type==="hsl"||e.type==="hsla"?mt(id(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function $a(e,t){const n=Nr(e),s=Nr(t);return(Math.max(n,s)+.05)/(Math.min(n,s)+.05)}function _y(e,t){return e=mt(e),t=Eo(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,ks(e)}function Un(e,t,n){try{return _y(e,t)}catch{return e}}function Ao(e,t){if(e=mt(e),t=Eo(t),e.type.includes("hsl"))e.values[2]*=1-t;else if(e.type.includes("rgb")||e.type.includes("color"))for(let n=0;n<3;n+=1)e.values[n]*=1-t;return ks(e)}function me(e,t,n){try{return Ao(e,t)}catch{return e}}function jo(e,t){if(e=mt(e),t=Eo(t),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*t;else if(e.type.includes("rgb"))for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.includes("color"))for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return ks(e)}function pe(e,t,n){try{return jo(e,t)}catch{return e}}function By(e,t=.15){return Nr(e)>.5?Ao(e,t):jo(e,t)}function Zn(e,t,n){try{return By(e,t)}catch{return e}}const zy=p.createContext(void 0);process.env.NODE_ENV!=="production"&&(ce.node,ce.object);function Hy(e){const{theme:t,name:n,props:s}=e;if(!t||!t.components||!t.components[n])return s;const r=t.components[n];return r.defaultProps?Vr(r.defaultProps,s,t.components.mergeClassNameAndStyle):!r.styleOverrides&&!r.variants?Vr(r,s,t.components.mergeClassNameAndStyle):s}function Uy({props:e,name:t}){const n=p.useContext(zy);return Hy({props:e,name:t,theme:{components:n}})}const Fa={theme:void 0};function Zy(e){let t,n;return function(r){let o=t;return(o===void 0||r.theme!==n)&&(Fa.theme=r.theme,o=sd(e(Fa)),t=o,n=r.theme),o}}function Wy(e=""){function t(...s){if(!s.length)return"";const r=s[0];return typeof r=="string"&&!r.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, var(--${e?`${e}-`:""}${r}${t(...s.slice(1))})`:`, ${r}`}return(s,...r)=>`var(--${e?`${e}-`:""}${s}${t(...r)})`}const Oa=(e,t,n,s=[])=>{let r=e;t.forEach((o,i)=>{i===t.length-1?Array.isArray(r)?r[Number(o)]=n:r&&typeof r=="object"&&(r[o]=n):r&&typeof r=="object"&&(r[o]||(r[o]=s.includes(o)?[]:{}),r=r[o])})},Gy=(e,t,n)=>{function s(r,o=[],i=[]){Object.entries(r).forEach(([a,c])=>{(!n||n&&!n([...o,a]))&&c!=null&&(typeof c=="object"&&Object.keys(c).length>0?s(c,[...o,a],Array.isArray(c)?[...i,a]:i):t([...o,a],c,i))})}s(e)},Ky=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(s=>e.includes(s))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function nr(e,t){const{prefix:n,shouldSkipGeneratingVar:s}=t||{},r={},o={},i={};return Gy(e,(a,c,d)=>{if((typeof c=="string"||typeof c=="number")&&(!s||!s(a,c))){const u=`--${n?`${n}-`:""}${a.join("-")}`,f=Ky(a,c);Object.assign(r,{[u]:f}),Oa(o,a,`var(${u})`,d),Oa(i,a,`var(${u}, ${f})`,d)}},a=>a[0]==="vars"),{css:r,vars:o,varsWithDefaults:i}}function Yy(e,t={}){const{getSelector:n=b,disableCssColorScheme:s,colorSchemeSelector:r}=t,{colorSchemes:o={},components:i,defaultColorScheme:a="light",...c}=e,{vars:d,css:u,varsWithDefaults:f}=nr(c,t);let h=f;const g={},{[a]:x,...m}=o;if(Object.entries(m||{}).forEach(([T,w])=>{const{vars:S,css:A,varsWithDefaults:M}=nr(w,t);h=Oe(h,M),g[T]={css:A,vars:S}}),x){const{css:T,vars:w,varsWithDefaults:S}=nr(x,t);h=Oe(h,S),g[a]={css:T,vars:w}}function b(T,w){var A,M;let S=r;if(r==="class"&&(S=".%s"),r==="data"&&(S="[data-%s]"),r!=null&&r.startsWith("data-")&&!r.includes("%s")&&(S=`[${r}="%s"]`),T){if(S==="media")return e.defaultColorScheme===T?":root":{[`@media (prefers-color-scheme: ${((M=(A=o[T])==null?void 0:A.palette)==null?void 0:M.mode)||T})`]:{":root":w}};if(S)return e.defaultColorScheme===T?`:root, ${S.replace("%s",String(T))}`:S.replace("%s",String(T))}return":root"}return{vars:h,generateThemeVars:()=>{let T={...d};return Object.entries(g).forEach(([,{vars:w}])=>{T=Oe(T,w)}),T},generateStyleSheets:()=>{var j,z;const T=[],w=e.defaultColorScheme||"light";function S(y,D){Object.keys(D).length&&T.push(typeof y=="string"?{[y]:{...D}}:y)}S(n(void 0,{...u}),u);const{[w]:A,...M}=g;if(A){const{css:y}=A,D=(z=(j=o[w])==null?void 0:j.palette)==null?void 0:z.mode,_=!s&&D?{colorScheme:D,...y}:{...y};S(n(w,{..._}),_)}return Object.entries(M).forEach(([y,{css:D}])=>{var te,ee;const _=(ee=(te=o[y])==null?void 0:te.palette)==null?void 0:ee.mode,J=!s&&_?{colorScheme:_,...D}:{...D};S(n(y,{...J}),J)}),T}}}function qy(e){return function(n){return e==="media"?(process.env.NODE_ENV!=="production"&&n!=="light"&&n!=="dark"&&console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${n}'.`),`@media (prefers-color-scheme: ${n})`):e?e.startsWith("data-")&&!e.includes("%s")?`[${e}="${n}"] &`:e==="class"?`.${n} &`:e==="data"?`[data-${n}] &`:`${e.replace("%s",n)} &`:"&"}}const kn={black:"#000",white:"#fff"},Xy={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Nt={50:"#f3e5f5",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",700:"#7b1fa2"},Rt={300:"#e57373",400:"#ef5350",500:"#f44336",700:"#d32f2f",800:"#c62828"},cn={300:"#ffb74d",400:"#ffa726",500:"#ff9800",700:"#f57c00",900:"#e65100"},It={50:"#e3f2fd",200:"#90caf9",400:"#42a5f5",700:"#1976d2",800:"#1565c0"},Dt={300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",700:"#0288d1",900:"#01579b"},$t={300:"#81c784",400:"#66bb6a",500:"#4caf50",700:"#388e3c",800:"#2e7d32",900:"#1b5e20"};function ad(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:kn.white,default:kn.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}const Jy=ad();function cd(){return{text:{primary:kn.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:kn.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}const La=cd();function _a(e,t,n,s){const r=s.light||s,o=s.dark||s*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=jo(e.main,r):t==="dark"&&(e.dark=Ao(e.main,o)))}function Qy(e="light"){return e==="dark"?{main:It[200],light:It[50],dark:It[400]}:{main:It[700],light:It[400],dark:It[800]}}function e1(e="light"){return e==="dark"?{main:Nt[200],light:Nt[50],dark:Nt[400]}:{main:Nt[500],light:Nt[300],dark:Nt[700]}}function t1(e="light"){return e==="dark"?{main:Rt[500],light:Rt[300],dark:Rt[700]}:{main:Rt[700],light:Rt[400],dark:Rt[800]}}function n1(e="light"){return e==="dark"?{main:Dt[400],light:Dt[300],dark:Dt[700]}:{main:Dt[700],light:Dt[500],dark:Dt[900]}}function s1(e="light"){return e==="dark"?{main:$t[400],light:$t[300],dark:$t[700]}:{main:$t[800],light:$t[500],dark:$t[900]}}function r1(e="light"){return e==="dark"?{main:cn[400],light:cn[300],dark:cn[700]}:{main:"#ed6c02",light:cn[500],dark:cn[900]}}function Mo(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:s=.2,...r}=e,o=e.primary||Qy(t),i=e.secondary||e1(t),a=e.error||t1(t),c=e.info||n1(t),d=e.success||s1(t),u=e.warning||r1(t);function f(m){const b=$a(m,La.text.primary)>=n?La.text.primary:Jy.text.primary;if(process.env.NODE_ENV!=="production"){const k=$a(m,b);k<3&&console.error([`MUI: The contrast ratio of ${k}:1 for ${b} on ${m}`,"falls below the WCAG recommended absolute minimum contrast ratio of 3:1.","https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(`
|
|
58
|
+
`))}return b}const h=({color:m,name:b,mainShade:k=500,lightShade:v=300,darkShade:T=700})=>{if(m={...m},!m.main&&m[k]&&(m.main=m[k]),!m.hasOwnProperty("main"))throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${b?` (${b})`:""} provided to augmentColor(color) is invalid.
|
|
59
|
+
The color object needs to have a \`main\` property or a \`${k}\` property.`:ht(11,b?` (${b})`:"",k));if(typeof m.main!="string")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${b?` (${b})`:""} provided to augmentColor(color) is invalid.
|
|
60
|
+
\`color.main\` should be a string, but \`${JSON.stringify(m.main)}\` was provided instead.
|
|
61
|
+
|
|
62
|
+
Did you intend to use one of the following approaches?
|
|
63
|
+
|
|
64
|
+
import { green } from "@mui/material/colors";
|
|
65
|
+
|
|
66
|
+
const theme1 = createTheme({ palette: {
|
|
67
|
+
primary: green,
|
|
68
|
+
} });
|
|
69
|
+
|
|
70
|
+
const theme2 = createTheme({ palette: {
|
|
71
|
+
primary: { main: green[500] },
|
|
72
|
+
} });`:ht(12,b?` (${b})`:"",JSON.stringify(m.main)));return _a(m,"light",v,s),_a(m,"dark",T,s),m.contrastText||(m.contrastText=f(m.main)),m};let g;return t==="light"?g=ad():t==="dark"&&(g=cd()),process.env.NODE_ENV!=="production"&&(g||console.error(`MUI: The palette mode \`${t}\` is not supported.`)),Oe({common:{...kn},mode:t,primary:h({color:o,name:"primary"}),secondary:h({color:i,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:h({color:a,name:"error"}),warning:h({color:u,name:"warning"}),info:h({color:c,name:"info"}),success:h({color:d,name:"success"}),grey:Xy,contrastThreshold:n,getContrastText:f,augmentColor:h,tonalOffset:s,...g},r)}function o1(e){const t={};return Object.entries(e).forEach(s=>{const[r,o]=s;typeof o=="object"&&(t[r]=`${o.fontStyle?`${o.fontStyle} `:""}${o.fontVariant?`${o.fontVariant} `:""}${o.fontWeight?`${o.fontWeight} `:""}${o.fontStretch?`${o.fontStretch} `:""}${o.fontSize||""}${o.lineHeight?`/${o.lineHeight} `:""}${o.fontFamily||""}`)}),t}function i1(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function a1(e){return Math.round(e*1e5)/1e5}const Ba={textTransform:"uppercase"},za='"Roboto", "Helvetica", "Arial", sans-serif';function c1(e,t){const{fontFamily:n=za,fontSize:s=14,fontWeightLight:r=300,fontWeightRegular:o=400,fontWeightMedium:i=500,fontWeightBold:a=700,htmlFontSize:c=16,allVariants:d,pxToRem:u,...f}=typeof t=="function"?t(e):t;process.env.NODE_ENV!=="production"&&(typeof s!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof c!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const h=s/14,g=u||(b=>`${b/c*h}rem`),x=(b,k,v,T,w)=>({fontFamily:n,fontWeight:b,fontSize:g(k),lineHeight:v,...n===za?{letterSpacing:`${a1(T/k)}em`}:{},...w,...d}),m={h1:x(r,96,1.167,-1.5),h2:x(r,60,1.2,-.5),h3:x(o,48,1.167,0),h4:x(o,34,1.235,.25),h5:x(o,24,1.334,0),h6:x(i,20,1.6,.15),subtitle1:x(o,16,1.75,.15),subtitle2:x(i,14,1.57,.1),body1:x(o,16,1.5,.15),body2:x(o,14,1.43,.15),button:x(i,14,1.75,.4,Ba),caption:x(o,12,1.66,.4),overline:x(o,12,2.66,1,Ba),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Oe({htmlFontSize:c,pxToRem:g,fontFamily:n,fontSize:s,fontWeightLight:r,fontWeightRegular:o,fontWeightMedium:i,fontWeightBold:a,...m},f,{clone:!1})}const l1=.2,d1=.14,u1=.12;function ge(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${l1})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${d1})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${u1})`].join(",")}const f1=["none",ge(0,2,1,-1,0,1,1,0,0,1,3,0),ge(0,3,1,-2,0,2,2,0,0,1,5,0),ge(0,3,3,-2,0,3,4,0,0,1,8,0),ge(0,2,4,-1,0,4,5,0,0,1,10,0),ge(0,3,5,-1,0,5,8,0,0,1,14,0),ge(0,3,5,-1,0,6,10,0,0,1,18,0),ge(0,4,5,-2,0,7,10,1,0,2,16,1),ge(0,5,5,-3,0,8,10,1,0,3,14,2),ge(0,5,6,-3,0,9,12,1,0,3,16,2),ge(0,6,6,-3,0,10,14,1,0,4,18,3),ge(0,6,7,-4,0,11,15,1,0,4,20,3),ge(0,7,8,-4,0,12,17,2,0,5,22,4),ge(0,7,8,-4,0,13,19,2,0,5,24,4),ge(0,7,9,-4,0,14,21,2,0,5,26,4),ge(0,8,9,-5,0,15,22,2,0,6,28,5),ge(0,8,10,-5,0,16,24,2,0,6,30,5),ge(0,8,11,-5,0,17,26,2,0,6,32,5),ge(0,9,11,-5,0,18,28,2,0,7,34,6),ge(0,9,12,-6,0,19,29,2,0,7,36,6),ge(0,10,13,-6,0,20,31,3,0,8,38,7),ge(0,10,13,-6,0,21,33,3,0,8,40,7),ge(0,10,14,-6,0,22,35,3,0,8,42,7),ge(0,11,14,-7,0,23,36,3,0,9,44,8),ge(0,11,15,-7,0,24,38,3,0,9,46,8)],h1={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},m1={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function Ha(e){return`${Math.round(e)}ms`}function p1(e){if(!e)return 0;const t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function g1(e){const t={...h1,...e.easing},n={...m1,...e.duration};return{getAutoHeightDuration:p1,create:(r=["all"],o={})=>{const{duration:i=n.standard,easing:a=t.easeInOut,delay:c=0,...d}=o;if(process.env.NODE_ENV!=="production"){const u=h=>typeof h=="string",f=h=>!Number.isNaN(parseFloat(h));!u(r)&&!Array.isArray(r)&&console.error('MUI: Argument "props" must be a string or Array.'),!f(i)&&!u(i)&&console.error(`MUI: Argument "duration" must be a number or a string but found ${i}.`),u(a)||console.error('MUI: Argument "easing" must be a string.'),!f(c)&&!u(c)&&console.error('MUI: Argument "delay" must be a number or a string.'),typeof o!="object"&&console.error(["MUI: Secong argument of transition.create must be an object.","Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(`
|
|
73
|
+
`)),Object.keys(d).length!==0&&console.error(`MUI: Unrecognized argument(s) [${Object.keys(d).join(",")}].`)}return(Array.isArray(r)?r:[r]).map(u=>`${u} ${typeof i=="string"?i:Ha(i)} ${a} ${typeof c=="string"?c:Ha(c)}`).join(",")},...e,easing:t,duration:n}}const y1={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function x1(e){return st(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function ld(e={}){const t={...e};function n(s){const r=Object.entries(s);for(let o=0;o<r.length;o++){const[i,a]=r[o];!x1(a)||i.startsWith("unstable_")?delete s[i]:st(a)&&(s[i]={...a},n(s[i]))}}return n(t),`import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';
|
|
74
|
+
|
|
75
|
+
const theme = ${JSON.stringify(t,null,2)};
|
|
76
|
+
|
|
77
|
+
theme.breakpoints = createBreakpoints(theme.breakpoints || {});
|
|
78
|
+
theme.transitions = createTransitions(theme.transitions || {});
|
|
79
|
+
|
|
80
|
+
export default theme;`}function Rr(e={},...t){const{breakpoints:n,mixins:s={},spacing:r,palette:o={},transitions:i={},typography:a={},shape:c,...d}=e;if(e.vars&&e.generateThemeVars===void 0)throw new Error(process.env.NODE_ENV!=="production"?"MUI: `vars` is a private field used for CSS variables support.\nPlease use another name or follow the [docs](https://mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature.":ht(20));const u=Mo(o),f=td(e);let h=Oe(f,{mixins:i1(f.breakpoints,s),palette:u,shadows:f1.slice(),typography:c1(u,a),transitions:g1(i),zIndex:{...y1}});if(h=Oe(h,d),h=t.reduce((g,x)=>Oe(g,x),h),process.env.NODE_ENV!=="production"){const g=["active","checked","completed","disabled","error","expanded","focused","focusVisible","required","selected"],x=(m,b)=>{let k;for(k in m){const v=m[k];if(g.includes(k)&&Object.keys(v).length>0){if(process.env.NODE_ENV!=="production"){const T=To("",k);console.error([`MUI: The \`${b}\` component increases the CSS specificity of the \`${k}\` internal state.`,"You can not override it like this: ",JSON.stringify(m,null,2),"",`Instead, you need to use the '&.${T}' syntax:`,JSON.stringify({root:{[`&.${T}`]:v}},null,2),"","https://mui.com/r/state-classes-guide"].join(`
|
|
81
|
+
`))}m[k]={}}}};Object.keys(h.components).forEach(m=>{const b=h.components[m].styleOverrides;b&&m.startsWith("Mui")&&x(b,m)})}return h.unstable_sxConfig={...Cs,...d==null?void 0:d.unstable_sxConfig},h.unstable_sx=function(x){return Yt({sx:x,theme:this})},h.toRuntimeSource=ld,h}function b1(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}const v1=[...Array(25)].map((e,t)=>{if(t===0)return"none";const n=b1(t);return`linear-gradient(rgba(255 255 255 / ${n}), rgba(255 255 255 / ${n}))`});function dd(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function ud(e){return e==="dark"?v1:[]}function w1(e){const{palette:t={mode:"light"},opacity:n,overlays:s,...r}=e,o=Mo(t);return{palette:o,opacity:{...dd(o.mode),...n},overlays:s||ud(o.mode),...r}}function S1(e){var t;return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]==="palette"&&!!((t=e[1])!=null&&t.match(/(mode|contrastThreshold|tonalOffset)/))}const C1=e=>[...[...Array(25)].map((t,n)=>`--${e?`${e}-`:""}overlays-${n}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],k1=e=>(t,n)=>{const s=e.rootSelector||":root",r=e.colorSchemeSelector;let o=r;if(r==="class"&&(o=".%s"),r==="data"&&(o="[data-%s]"),r!=null&&r.startsWith("data-")&&!r.includes("%s")&&(o=`[${r}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){const i={};return C1(e.cssVarPrefix).forEach(a=>{i[a]=n[a],delete n[a]}),o==="media"?{[s]:n,"@media (prefers-color-scheme: dark)":{[s]:i}}:o?{[o.replace("%s",t)]:i,[`${s}, ${o.replace("%s",t)}`]:n}:{[s]:{...n,...i}}}if(o&&o!=="media")return`${s}, ${o.replace("%s",String(t))}`}else if(t){if(o==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[s]:n}};if(o)return o.replace("%s",String(t))}return s};function T1(e,t){t.forEach(n=>{e[n]||(e[n]={})})}function N(e,t,n){!e[t]&&n&&(e[t]=n)}function un(e){return typeof e!="string"||!e.startsWith("hsl")?e:id(e)}function nt(e,t){`${t}Channel`in e||(e[`${t}Channel`]=dn(un(e[t]),`MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().
|
|
82
|
+
To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function E1(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}const qe=e=>{try{return e()}catch{}},A1=(e="mui")=>Wy(e);function sr(e,t,n,s){if(!t)return;t=t===!0?{}:t;const r=s==="dark"?"dark":"light";if(!n){e[s]=w1({...t,palette:{mode:r,...t==null?void 0:t.palette}});return}const{palette:o,...i}=Rr({...n,palette:{mode:r,...t==null?void 0:t.palette}});return e[s]={...t,palette:o,opacity:{...dd(r),...t==null?void 0:t.opacity},overlays:(t==null?void 0:t.overlays)||ud(r)},i}function j1(e={},...t){const{colorSchemes:n={light:!0},defaultColorScheme:s,disableCssColorScheme:r=!1,cssVarPrefix:o="mui",shouldSkipGeneratingVar:i=S1,colorSchemeSelector:a=n.light&&n.dark?"media":void 0,rootSelector:c=":root",...d}=e,u=Object.keys(n)[0],f=s||(n.light&&u!=="light"?"light":u),h=A1(o),{[f]:g,light:x,dark:m,...b}=n,k={...b};let v=g;if((f==="dark"&&!("dark"in n)||f==="light"&&!("light"in n))&&(v=!0),!v)throw new Error(process.env.NODE_ENV!=="production"?`MUI: The \`colorSchemes.${f}\` option is either missing or invalid.`:ht(21,f));const T=sr(k,v,d,f);x&&!k.light&&sr(k,x,void 0,"light"),m&&!k.dark&&sr(k,m,void 0,"dark");let w={defaultColorScheme:f,...T,cssVarPrefix:o,colorSchemeSelector:a,rootSelector:c,getCssVar:h,colorSchemes:k,font:{...o1(T.typography),...T.font},spacing:E1(d.spacing)};Object.keys(w.colorSchemes).forEach(z=>{const y=w.colorSchemes[z].palette,D=_=>{const J=_.split("-"),te=J[1],ee=J[2];return h(_,y[te][ee])};if(y.mode==="light"&&(N(y.common,"background","#fff"),N(y.common,"onBackground","#000")),y.mode==="dark"&&(N(y.common,"background","#000"),N(y.common,"onBackground","#fff")),T1(y,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),y.mode==="light"){N(y.Alert,"errorColor",me(y.error.light,.6)),N(y.Alert,"infoColor",me(y.info.light,.6)),N(y.Alert,"successColor",me(y.success.light,.6)),N(y.Alert,"warningColor",me(y.warning.light,.6)),N(y.Alert,"errorFilledBg",D("palette-error-main")),N(y.Alert,"infoFilledBg",D("palette-info-main")),N(y.Alert,"successFilledBg",D("palette-success-main")),N(y.Alert,"warningFilledBg",D("palette-warning-main")),N(y.Alert,"errorFilledColor",qe(()=>y.getContrastText(y.error.main))),N(y.Alert,"infoFilledColor",qe(()=>y.getContrastText(y.info.main))),N(y.Alert,"successFilledColor",qe(()=>y.getContrastText(y.success.main))),N(y.Alert,"warningFilledColor",qe(()=>y.getContrastText(y.warning.main))),N(y.Alert,"errorStandardBg",pe(y.error.light,.9)),N(y.Alert,"infoStandardBg",pe(y.info.light,.9)),N(y.Alert,"successStandardBg",pe(y.success.light,.9)),N(y.Alert,"warningStandardBg",pe(y.warning.light,.9)),N(y.Alert,"errorIconColor",D("palette-error-main")),N(y.Alert,"infoIconColor",D("palette-info-main")),N(y.Alert,"successIconColor",D("palette-success-main")),N(y.Alert,"warningIconColor",D("palette-warning-main")),N(y.AppBar,"defaultBg",D("palette-grey-100")),N(y.Avatar,"defaultBg",D("palette-grey-400")),N(y.Button,"inheritContainedBg",D("palette-grey-300")),N(y.Button,"inheritContainedHoverBg",D("palette-grey-A100")),N(y.Chip,"defaultBorder",D("palette-grey-400")),N(y.Chip,"defaultAvatarColor",D("palette-grey-700")),N(y.Chip,"defaultIconColor",D("palette-grey-700")),N(y.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),N(y.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),N(y.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),N(y.LinearProgress,"primaryBg",pe(y.primary.main,.62)),N(y.LinearProgress,"secondaryBg",pe(y.secondary.main,.62)),N(y.LinearProgress,"errorBg",pe(y.error.main,.62)),N(y.LinearProgress,"infoBg",pe(y.info.main,.62)),N(y.LinearProgress,"successBg",pe(y.success.main,.62)),N(y.LinearProgress,"warningBg",pe(y.warning.main,.62)),N(y.Skeleton,"bg",`rgba(${D("palette-text-primaryChannel")} / 0.11)`),N(y.Slider,"primaryTrack",pe(y.primary.main,.62)),N(y.Slider,"secondaryTrack",pe(y.secondary.main,.62)),N(y.Slider,"errorTrack",pe(y.error.main,.62)),N(y.Slider,"infoTrack",pe(y.info.main,.62)),N(y.Slider,"successTrack",pe(y.success.main,.62)),N(y.Slider,"warningTrack",pe(y.warning.main,.62));const _=Zn(y.background.default,.8);N(y.SnackbarContent,"bg",_),N(y.SnackbarContent,"color",qe(()=>y.getContrastText(_))),N(y.SpeedDialAction,"fabHoverBg",Zn(y.background.paper,.15)),N(y.StepConnector,"border",D("palette-grey-400")),N(y.StepContent,"border",D("palette-grey-400")),N(y.Switch,"defaultColor",D("palette-common-white")),N(y.Switch,"defaultDisabledColor",D("palette-grey-100")),N(y.Switch,"primaryDisabledColor",pe(y.primary.main,.62)),N(y.Switch,"secondaryDisabledColor",pe(y.secondary.main,.62)),N(y.Switch,"errorDisabledColor",pe(y.error.main,.62)),N(y.Switch,"infoDisabledColor",pe(y.info.main,.62)),N(y.Switch,"successDisabledColor",pe(y.success.main,.62)),N(y.Switch,"warningDisabledColor",pe(y.warning.main,.62)),N(y.TableCell,"border",pe(Un(y.divider,1),.88)),N(y.Tooltip,"bg",Un(y.grey[700],.92))}if(y.mode==="dark"){N(y.Alert,"errorColor",pe(y.error.light,.6)),N(y.Alert,"infoColor",pe(y.info.light,.6)),N(y.Alert,"successColor",pe(y.success.light,.6)),N(y.Alert,"warningColor",pe(y.warning.light,.6)),N(y.Alert,"errorFilledBg",D("palette-error-dark")),N(y.Alert,"infoFilledBg",D("palette-info-dark")),N(y.Alert,"successFilledBg",D("palette-success-dark")),N(y.Alert,"warningFilledBg",D("palette-warning-dark")),N(y.Alert,"errorFilledColor",qe(()=>y.getContrastText(y.error.dark))),N(y.Alert,"infoFilledColor",qe(()=>y.getContrastText(y.info.dark))),N(y.Alert,"successFilledColor",qe(()=>y.getContrastText(y.success.dark))),N(y.Alert,"warningFilledColor",qe(()=>y.getContrastText(y.warning.dark))),N(y.Alert,"errorStandardBg",me(y.error.light,.9)),N(y.Alert,"infoStandardBg",me(y.info.light,.9)),N(y.Alert,"successStandardBg",me(y.success.light,.9)),N(y.Alert,"warningStandardBg",me(y.warning.light,.9)),N(y.Alert,"errorIconColor",D("palette-error-main")),N(y.Alert,"infoIconColor",D("palette-info-main")),N(y.Alert,"successIconColor",D("palette-success-main")),N(y.Alert,"warningIconColor",D("palette-warning-main")),N(y.AppBar,"defaultBg",D("palette-grey-900")),N(y.AppBar,"darkBg",D("palette-background-paper")),N(y.AppBar,"darkColor",D("palette-text-primary")),N(y.Avatar,"defaultBg",D("palette-grey-600")),N(y.Button,"inheritContainedBg",D("palette-grey-800")),N(y.Button,"inheritContainedHoverBg",D("palette-grey-700")),N(y.Chip,"defaultBorder",D("palette-grey-700")),N(y.Chip,"defaultAvatarColor",D("palette-grey-300")),N(y.Chip,"defaultIconColor",D("palette-grey-300")),N(y.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),N(y.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),N(y.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),N(y.LinearProgress,"primaryBg",me(y.primary.main,.5)),N(y.LinearProgress,"secondaryBg",me(y.secondary.main,.5)),N(y.LinearProgress,"errorBg",me(y.error.main,.5)),N(y.LinearProgress,"infoBg",me(y.info.main,.5)),N(y.LinearProgress,"successBg",me(y.success.main,.5)),N(y.LinearProgress,"warningBg",me(y.warning.main,.5)),N(y.Skeleton,"bg",`rgba(${D("palette-text-primaryChannel")} / 0.13)`),N(y.Slider,"primaryTrack",me(y.primary.main,.5)),N(y.Slider,"secondaryTrack",me(y.secondary.main,.5)),N(y.Slider,"errorTrack",me(y.error.main,.5)),N(y.Slider,"infoTrack",me(y.info.main,.5)),N(y.Slider,"successTrack",me(y.success.main,.5)),N(y.Slider,"warningTrack",me(y.warning.main,.5));const _=Zn(y.background.default,.98);N(y.SnackbarContent,"bg",_),N(y.SnackbarContent,"color",qe(()=>y.getContrastText(_))),N(y.SpeedDialAction,"fabHoverBg",Zn(y.background.paper,.15)),N(y.StepConnector,"border",D("palette-grey-600")),N(y.StepContent,"border",D("palette-grey-600")),N(y.Switch,"defaultColor",D("palette-grey-300")),N(y.Switch,"defaultDisabledColor",D("palette-grey-600")),N(y.Switch,"primaryDisabledColor",me(y.primary.main,.55)),N(y.Switch,"secondaryDisabledColor",me(y.secondary.main,.55)),N(y.Switch,"errorDisabledColor",me(y.error.main,.55)),N(y.Switch,"infoDisabledColor",me(y.info.main,.55)),N(y.Switch,"successDisabledColor",me(y.success.main,.55)),N(y.Switch,"warningDisabledColor",me(y.warning.main,.55)),N(y.TableCell,"border",me(Un(y.divider,1),.68)),N(y.Tooltip,"bg",Un(y.grey[700],.92))}nt(y.background,"default"),nt(y.background,"paper"),nt(y.common,"background"),nt(y.common,"onBackground"),nt(y,"divider"),Object.keys(y).forEach(_=>{const J=y[_];_!=="tonalOffset"&&J&&typeof J=="object"&&(J.main&&N(y[_],"mainChannel",dn(un(J.main))),J.light&&N(y[_],"lightChannel",dn(un(J.light))),J.dark&&N(y[_],"darkChannel",dn(un(J.dark))),J.contrastText&&N(y[_],"contrastTextChannel",dn(un(J.contrastText))),_==="text"&&(nt(y[_],"primary"),nt(y[_],"secondary")),_==="action"&&(J.active&&nt(y[_],"active"),J.selected&&nt(y[_],"selected")))})}),w=t.reduce((z,y)=>Oe(z,y),w);const S={prefix:o,disableCssColorScheme:r,shouldSkipGeneratingVar:i,getSelector:k1(w)},{vars:A,generateThemeVars:M,generateStyleSheets:j}=Yy(w,S);return w.vars=A,Object.entries(w.colorSchemes[w.defaultColorScheme]).forEach(([z,y])=>{w[z]=y}),w.generateThemeVars=M,w.generateStyleSheets=j,w.generateSpacing=function(){return ed(d.spacing,Co(this))},w.getColorSchemeSelector=qy(a),w.spacing=w.generateSpacing(),w.shouldSkipGeneratingVar=i,w.unstable_sxConfig={...Cs,...d==null?void 0:d.unstable_sxConfig},w.unstable_sx=function(y){return Yt({sx:y,theme:this})},w.toRuntimeSource=ld,w}function Ua(e,t,n){e.colorSchemes&&n&&(e.colorSchemes[t]={...n!==!0&&n,palette:Mo({...n===!0?{}:n.palette,mode:t})})}function M1(e={},...t){const{palette:n,cssVariables:s=!1,colorSchemes:r=n?void 0:{light:!0},defaultColorScheme:o=n==null?void 0:n.mode,...i}=e,a=o||"light",c=r==null?void 0:r[a],d={...r,...n?{[a]:{...typeof c!="boolean"&&c,palette:n}}:void 0};if(s===!1){if(!("colorSchemes"in e))return Rr(e,...t);let u=n;"palette"in e||d[a]&&(d[a]!==!0?u=d[a].palette:a==="dark"&&(u={mode:"dark"}));const f=Rr({...e,palette:u},...t);return f.defaultColorScheme=a,f.colorSchemes=d,f.palette.mode==="light"&&(f.colorSchemes.light={...d.light!==!0&&d.light,palette:f.palette},Ua(f,"dark",d.dark)),f.palette.mode==="dark"&&(f.colorSchemes.dark={...d.dark!==!0&&d.dark,palette:f.palette},Ua(f,"light",d.light)),f}return!n&&!("light"in d)&&a==="light"&&(d.light=!0),j1({...i,colorSchemes:d,defaultColorScheme:a,...typeof s!="boolean"&&s},...t)}const P1=M1(),V1="$$material";function N1(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const R1=e=>N1(e)&&e!=="classes",I1=Ny({themeId:V1,defaultTheme:P1,rootShouldForwardProp:R1}),D1=Zy;process.env.NODE_ENV!=="production"&&(ce.node,ce.object.isRequired);function $1(e){return Uy(e)}function F1(e){return To("MuiSvgIcon",e)}Ay("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const O1=e=>{const{color:t,fontSize:n,classes:s}=e,r={root:["root",t!=="inherit"&&`color${At(t)}`,`fontSize${At(n)}`]};return x0(r,F1,s)},L1=I1("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${At(n.color)}`],t[`fontSize${At(n.fontSize)}`]]}})(D1(({theme:e})=>{var t,n,s,r,o,i,a,c,d,u,f,h,g,x;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(r=(t=e.transitions)==null?void 0:t.create)==null?void 0:r.call(t,"fill",{duration:(s=(n=(e.vars??e).transitions)==null?void 0:n.duration)==null?void 0:s.shorter}),variants:[{props:m=>!m.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((i=(o=e.typography)==null?void 0:o.pxToRem)==null?void 0:i.call(o,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((c=(a=e.typography)==null?void 0:a.pxToRem)==null?void 0:c.call(a,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((u=(d=e.typography)==null?void 0:d.pxToRem)==null?void 0:u.call(d,35))||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,m])=>m&&m.main).map(([m])=>{var b,k;return{props:{color:m},style:{color:(k=(b=(e.vars??e).palette)==null?void 0:b[m])==null?void 0:k.main}}}),{props:{color:"action"},style:{color:(h=(f=(e.vars??e).palette)==null?void 0:f.action)==null?void 0:h.active}},{props:{color:"disabled"},style:{color:(x=(g=(e.vars??e).palette)==null?void 0:g.action)==null?void 0:x.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),cs=p.forwardRef(function(t,n){const s=$1({props:t,name:"MuiSvgIcon"}),{children:r,className:o,color:i="inherit",component:a="svg",fontSize:c="medium",htmlColor:d,inheritViewBox:u=!1,titleAccess:f,viewBox:h="0 0 24 24",...g}=s,x=p.isValidElement(r)&&r.type==="svg",m={...s,color:i,component:a,fontSize:c,instanceFontSize:t.fontSize,inheritViewBox:u,viewBox:h,hasSvgAsChild:x},b={};u||(b.viewBox=h);const k=O1(m);return l.jsxs(L1,{as:a,className:$r(k.root,o),focusable:"false",color:d,"aria-hidden":f?void 0:!0,role:f?"img":void 0,ref:n,...b,...g,...x&&r.props,ownerState:m,children:[x?r.props.children:r,f?l.jsx("title",{children:f}):null]})});process.env.NODE_ENV!=="production"&&(cs.propTypes={children:ce.node,classes:ce.object,className:ce.string,color:ce.oneOfType([ce.oneOf(["inherit","action","disabled","primary","secondary","error","info","success","warning"]),ce.string]),component:ce.elementType,fontSize:ce.oneOfType([ce.oneOf(["inherit","large","medium","small"]),ce.string]),htmlColor:ce.string,inheritViewBox:ce.bool,shapeRendering:ce.string,sx:ce.oneOfType([ce.arrayOf(ce.oneOfType([ce.func,ce.object,ce.bool])),ce.func,ce.object]),titleAccess:ce.string,viewBox:ce.string});cs.muiName="SvgIcon";function nn(e,t){function n(s,r){return l.jsx(cs,{"data-testid":process.env.NODE_ENV!=="production"?`${t}Icon`:void 0,ref:r,...s,children:e})}return process.env.NODE_ENV!=="production"&&(n.displayName=`${t}Icon`),n.muiName=cs.muiName,p.memo(p.forwardRef(n))}const _1=nn(l.jsx("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6z"}),"AttachFile"),B1=nn(l.jsx("path",{d:"M12 9c-1.6 0-3.15.25-4.6.72v3.1c0 .39-.23.74-.56.9-.98.49-1.87 1.12-2.66 1.85-.18.18-.43.28-.7.28-.28 0-.53-.11-.71-.29L.29 13.08c-.18-.17-.29-.42-.29-.7s.11-.53.29-.71C3.34 8.78 7.46 7 12 7s8.66 1.78 11.71 4.67c.18.18.29.43.29.71s-.11.53-.29.71l-2.48 2.48c-.18.18-.43.29-.71.29-.27 0-.52-.11-.7-.28-.79-.74-1.69-1.36-2.67-1.85-.33-.16-.56-.5-.56-.9v-3.1C15.15 9.25 13.6 9 12 9"}),"CallEnd"),z1=nn([l.jsx("circle",{cx:"12",cy:"12",r:"3.2"},"0"),l.jsx("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"CameraAlt"),fd=nn(l.jsx("path",{d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M6 9h12v2H6zm8 5H6v-2h8zm4-6H6V6h12z"}),"Chat"),hd=nn(l.jsx("path",{d:"M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"}),"Mic"),md=nn(l.jsx("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam"),H1=({disabled:e,capabilities:t,sessionStarted:n,ref:s,participantName:r="User",loadingText:o="Waiting for agent to connect...",theme:i="vox",client:a,displayType:c="widget",onBack:d})=>{var Y,R,X,V,U,q,P;const[u,f]=C.useState(!1),[h,g]=C.useState(!1),[x,m]=C.useState(!1),[b,k]=C.useState(()=>{var O;const E=(O=a==null?void 0:a.getCurrentInteraction)==null?void 0:O.call(a);return console.log("SessionView: Initializing with existing interaction:",(E==null?void 0:E.methodName)||"none"),E||null}),{messages:v,send:T}=o0(),w=C.useRef(null),S=C.useRef(null),{agent:{isActive:A=!1}={}}=a?Kl(a):{agent:{isActive:!1}},M=Ve(i),j=C.useMemo(()=>a&&typeof a.getCurrentSession=="function"?!!a.getCurrentSession():!1,[a]),z=C.useMemo(()=>a&&typeof a.getIsAgentConnected=="function"&&a.getIsAgentConnected()||x,[a,x]),y=A||z;C.useEffect(()=>{var E,O;console.log("🤖 SessionView agent state:",{isAgentActive:A,hasActiveSession:j,isAgentActuallyConnected:z,effectiveAgentActive:y,sessionStarted:n,clientSession:(O=(E=a==null?void 0:a.getCurrentSession)==null?void 0:E.call(a))==null?void 0:O.id})},[A,j,z,y,n,a]),C.useEffect(()=>{console.log("🤖 Agent active state changed:",A)},[A]),C.useEffect(()=>{console.log("📋 Session state changed:",{sessionStarted:n,disabled:e,participantName:r,effectiveAgentActive:y,chatOpen:u,currentInteraction:(b==null?void 0:b.methodName)||"none"})},[n,e,r,y,u,b]),C.useEffect(()=>{if(n&&!y){console.log("⏰ Starting agent timeout detection...");const E=setTimeout(()=>{j&&!y&&(console.log("⚡ Fallback: Assuming agent is connected after 5 seconds with active session"),m(!0),g(!1))},5e3),O=setTimeout(()=>{y||(console.log("⚠️ Agent timeout: Agent did not become active within 30 seconds"),g(!0))},3e4);return()=>{clearTimeout(E),clearTimeout(O)}}else y&&(console.log("✅ Agent is active, clearing timeout"),g(!1))},[n,y,j]),C.useEffect(()=>{if(!a)return;const E=()=>{console.log("🔄 Client connection state changed:",a.connected)},O=F=>{console.log("🔴 Client disconnected:",F),k(null),f(!1),g(!1)};return a.on("connection.connected",E),a.on("connection.disconnected",O),()=>{a.off("connection.connected",E),a.off("connection.disconnected",O)}},[a]),C.useEffect(()=>{if(!a)return;const E=I=>{console.log("🤖 SessionView: Agent connected!",I),m(!0),g(!1)},O=I=>{console.log("🗣️ SessionView: Agent speaking detected!",I),x||(m(!0),g(!1))},F=I=>{console.log("🤔 SessionView: Agent thinking detected!",I),x||(m(!0),g(!1))},$=()=>{console.log("🤖 SessionView: Agent disconnected"),m(!1)};return a.on("agent.connected",E),a.on("agent.speaking",O),a.on("agent.thinking",F),a.on("connection.disconnected",$),()=>{a.off("agent.connected",E),a.off("agent.speaking",O),a.off("agent.thinking",F),a.off("connection.disconnected",$)}},[a,x]),C.useEffect(()=>{if(!a)return;const E=I=>{console.log("🎯 SessionView: RPC Interaction started:",I);const H=a.getCurrentInteraction();H&&(console.log("📱 SessionView: Setting current interaction:",H.methodName,"mode:",H.presentationMode),k(H))},O=I=>{console.log("✅ SessionView: RPC Interaction completed:",I),k(null)},F=async I=>{console.log("⏰ SessionView: RPC Interaction timeout:",I),k(null)},$=async I=>{console.log("❌ SessionView: RPC Interaction dismissed:",I),k(null)};return a.on("rpc.interaction.started",E),a.on("rpc.interaction.completed",O),a.on("rpc.interaction.timeout",F),a.on("rpc.interaction.dismissed",$),()=>{a.off("rpc.interaction.started",E),a.off("rpc.interaction.completed",O),a.off("rpc.interaction.timeout",F),a.off("rpc.interaction.dismissed",$)}},[a]),C.useEffect(()=>{if(!a)return;const E=a.getCurrentInteraction();E?(console.log("🔄 SessionView: Syncing with existing interaction:",E.methodName),k(E)):k(null)},[a]),C.useEffect(()=>{console.log("🎭 SessionView: Current interaction changed:",(b==null?void 0:b.methodName)||"none","mode:",(b==null?void 0:b.presentationMode)||"none")},[b]),C.useEffect(()=>{var E,O,F;console.log("📱 SessionView: Display type changed to:",c),console.log("📱 SessionView: Current session state during display change:",{sessionStarted:n,effectiveAgentActive:y,hasSession:!!((E=a==null?void 0:a.getCurrentSession)!=null&&E.call(a)),sessionId:(F=(O=a==null?void 0:a.getCurrentSession)==null?void 0:O.call(a))==null?void 0:F.id})},[c,n,y,a]),C.useEffect(()=>{console.log("💬 SessionView: Chat open state changed:",u)},[u]),C.useEffect(()=>{b&&u&&(console.log("🎭 SessionView: Interactive UI appeared, closing chat"),f(!1))},[b,u]),i0(),C.useEffect(()=>{w.current&&u&&v.length>0&&(console.log("📜 SessionView: Auto-scrolling to latest message, count:",v.length),setTimeout(()=>{if(w.current){let E=w.current.parentElement;for(;E&&E.scrollHeight<=E.clientHeight;)E=E.parentElement;E?(console.log("📜 SessionView: Scrolling container found, scrolling to bottom"),E.scrollTo({top:E.scrollHeight,behavior:"smooth"})):(console.log("📜 SessionView: Using fallback scroll method"),w.current.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"}))}},100))},[v.length,u]),C.useEffect(()=>{var F,$;console.log("📝 SessionView: Messages updated, count:",v.length),v.length>0&&console.log("📝 SessionView: Latest messages:",v.slice(-3).map(I=>{var H,B,oe,L,ae,xe,Ie;return{id:I.id,message:I.message,timestamp:I.timestamp,from:((H=I.from)==null?void 0:H.name)||((B=I.from)==null?void 0:B.identity),fromType:I.from===void 0?"unknown":"participant",isLocal:((oe=I.from)==null?void 0:oe.identity)===((xe=(ae=(L=a==null?void 0:a.getCurrentSession)==null?void 0:L.call(a))==null?void 0:ae.localParticipant)==null?void 0:xe.identity),messageLength:((Ie=I.message)==null?void 0:Ie.length)||0}}));const E=((F=a==null?void 0:a.getTranscriptions)==null?void 0:F.call(a))||[],O=(($=a==null?void 0:a.getChatMessages)==null?void 0:$.call(a))||[];console.log("📝 SessionView: Raw transcriptions count:",E.length),console.log("📝 SessionView: Raw chat messages count:",O.length)},[v.length,v,a]),C.useEffect(()=>{console.log("💬 SessionView: Chat state changed:",{chatOpen:u,messagesCount:v.length,displayType:c,hasMessages:v.length>0})},[u,v.length,c]);async function D(E){await T(E)}const _=C.useCallback(E=>{console.log("📝 SessionView: Adding local message for voice session context:",E)},[]),J=C.useCallback(async E=>{try{a&&typeof a.sendAttachments=="function"&&(await a.sendAttachments(E),console.log("📎 SessionView: Attachments sent successfully:",E.map(O=>O.name)))}catch(O){console.error("❌ SessionView: Failed to send attachments:",O)}},[a]),te=C.useCallback(()=>{try{console.log("📞 SessionView: Ending call..."),console.log("📞 SessionView: Current state before ending:",{sessionStarted:n,effectiveAgentActive:y,chatOpen:u,currentInteraction:b==null?void 0:b.methodName,hasOnBack:!!d}),b&&(console.log("🎭 SessionView: Dismissing current interaction:",b.methodName),k(null),a&&typeof a.dismissCurrentInteraction=="function"&&a.dismissCurrentInteraction()),f(!1),g(!1),console.log("✅ SessionView: Local state reset"),a&&typeof a.endSession=="function"&&(a.endSession(),console.log("✅ SessionView: Session ended via client.endSession()")),a&&typeof a.disconnect=="function"&&(a.disconnect(),console.log("✅ SessionView: Client disconnected")),d?(console.log("🔄 SessionView: Calling onBack to return to welcome..."),setTimeout(()=>{d(),console.log("✅ SessionView: onBack called")},150)):console.warn("⚠️ SessionView: No onBack function provided - cannot return to welcome"),console.log("🏁 SessionView: Call ended and cleanup completed")}catch(E){console.error("❌ SessionView: Failed to end call:",E),k(null),f(!1),g(!1),d&&(console.log("🔄 SessionView: Error occurred, still calling onBack..."),d())}},[a,d,b,n,y,u]);C.useEffect(()=>(console.log("🔄 SessionView: Component mounted/props changed:",{sessionStarted:n,disabled:e,participantName:r,displayType:c,hasOnBack:!!d,hasClient:!!a}),()=>{console.log("🧹 SessionView: Component unmounting or props changing")}),[n,e,r,c,d,a]),C.useEffect(()=>{console.log("🔗 SessionView: onBack prop:",{hasOnBack:!!d,onBackType:typeof d})},[d]),C.useEffect(()=>{var O,F;const E=((F=(O=a==null?void 0:a.getCurrentSession)==null?void 0:O.call(a))==null?void 0:F.id)||null;S.current&&!E&&console.warn("⚠️ SessionView: Session was lost unexpectedly!",{previousSession:S.current,currentSession:E,displayType:c,sessionStarted:n,effectiveAgentActive:y}),S.current=E},[a,c,n,y]);const ee=K("w-full flex flex-col items-center justify-center",c==="fullscreen"?"w-full max-w-none mx-0 h-full":"w-full mx-auto",M.main,c==="fullscreen"?"max-w-none":"","overflow-hidden","h-full"),se=d&&(c==="popup"||c==="fullscreen");return l.jsxs("main",{ref:s,className:K(ee,"relative",e&&"pointer-events-none opacity-50"),style:{minHeight:0},children:[se&&l.jsx("div",{className:`flex items-center justify-between w-full p-4 border-b ${((Y=M.chatHeader)==null?void 0:Y.container)||"border-gray-200"}`,children:l.jsx("div",{className:"flex items-center",children:l.jsxs("div",{children:[l.jsx("h3",{className:`font-semibold ${M.text.primary}`,children:"Voice Session"}),l.jsx("p",{className:`text-sm ${M.text.muted}`,children:r})]})})}),l.jsxs("div",{className:"w-full flex-1 flex flex-col items-center px-0 min-h-0 overflow-hidden",children:[!y&&l.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full min-h-[180px]",children:[l.jsx(ie.div,{animate:{rotate:360,scale:[1,1.1,1]},transition:{rotate:{duration:2,repeat:1/0,ease:"linear"},scale:{duration:1,repeat:1/0,ease:"easeInOut"}},className:"w-12 h-12 mb-4",children:l.jsx(wo,{className:M.spinner,weight:"bold"})}),l.jsx(ie.span,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`text-sm opacity-80 ${M.text.muted} text-center max-w-xs`,children:h?"Agent is taking longer than expected...":o}),l.jsx(ie.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:2},className:`text-xs ${M.text.muted} mt-2 text-center opacity-60`,children:h?"Please check your connection or try again.":"Agent is connecting... This may take a moment."}),h&&d&&l.jsx(ie.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.5},onClick:d,className:`mt-4 px-4 py-2 rounded-lg ${((R=M.chatHeader)==null?void 0:R.backButton)||"bg-gray-100 hover:bg-gray-200"} transition-colors`,children:"Go Back"})]}),y&&l.jsxs(l.Fragment,{children:[u&&l.jsxs("div",{className:K("absolute inset-0 w-full h-full flex flex-col transition-[opacity,translate] duration-300 ease-out z-10",i==="light"?"bg-white":"bg-gray-900/95 backdrop-blur-sm",u?"translate-y-0 opacity-100 delay-200":"translate-y-10 opacity-0"),children:[l.jsxs("div",{className:K("flex-shrink-0 px-4 py-3 border-b",c==="fullscreen"?"px-8":"px-5",((X=M.chatHeader)==null?void 0:X.container)||"border-gray-200 dark:border-gray-700"),children:[l.jsx("h3",{className:K("font-semibold text-lg",((V=M.text)==null?void 0:V.primary)||"text-gray-900 dark:text-white"),children:"Transcription & Chat"}),l.jsxs("p",{className:K("text-sm",((U=M.text)==null?void 0:U.muted)||"text-gray-600 dark:text-gray-400"),children:[v.length," messages"]})]}),l.jsx("div",{className:K("flex-1 flex flex-col min-h-0",c==="fullscreen"?"px-8":"px-5"),children:l.jsx(qg,{className:"flex-1 flex flex-col min-h-0 h-full",children:l.jsxs("div",{className:`flex-1 flex flex-col h-full ${K("overflow-y-auto scrollbar-hide py-4")}`,style:{scrollbarWidth:"none",scrollBehavior:"smooth",paddingBottom:"120px"},children:[v.length===0&&l.jsx("div",{className:"flex-1 flex items-center justify-center",children:l.jsxs("div",{className:"text-center",children:[l.jsx("p",{className:K("text-lg font-medium mb-2",((q=M.text)==null?void 0:q.primary)||"text-gray-900 dark:text-white"),children:"Start Speaking"}),l.jsx("p",{className:K("text-sm",((P=M.text)==null?void 0:P.muted)||"text-gray-600 dark:text-gray-400"),children:"Your conversation will appear here"})]})}),v.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"flex-1 min-h-4"}),l.jsx("div",{ref:w,className:"space-y-4 relative whitespace-pre-wrap z-0",children:l.jsx(Ht,{mode:"popLayout",children:v.map((E,O)=>l.jsx(ie.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3,ease:"easeOut",delay:O*.02},layout:!0,children:l.jsx(Kg,{participantName:r,entry:E})},E.id||`message-${O}`))})})]})]})})})]}),!u&&l.jsxs("div",{className:K("flex-1 flex flex-col items-center w-full h-full min-h-0",(b==null?void 0:b.presentationMode)==="embedded"?"justify-end":"justify-center"),children:[l.jsx(ie.div,{className:"w-full flex justify-center",animate:{y:(b==null?void 0:b.presentationMode)==="embedded"?-8:0},transition:{duration:.3,ease:"easeOut"},children:l.jsx(r0,{chatOpen:u,client:a})}),l.jsx(Ht,{mode:"wait",children:b&&b.presentationMode==="embedded"&&l.jsx(ie.div,{initial:{opacity:0,y:20,height:0},animate:{opacity:1,y:0,height:"auto"},exit:{opacity:0,y:20,height:0},transition:{duration:.3,ease:"easeOut"},className:K("w-full relative mt-4 flex justify-center",c==="fullscreen"?"max-w-4xl":"max-w-md"),children:l.jsx("div",{className:"bg-white/10 backdrop-blur-sm rounded-xl border border-white/20 shadow-lg overflow-hidden",children:l.jsx(Kt,{interaction:b,theme:i,onDismiss:()=>{var E;return(E=a==null?void 0:a.dismissCurrentInteraction)==null?void 0:E.call(a)},client:a,addLocalMessage:_})})},`embedded-${b.methodName}`)})]})]})]}),l.jsx(Ht,{mode:"wait",children:b&&b.presentationMode!=="embedded"&&!u&&l.jsx("div",{className:K("absolute inset-0 z-50 flex items-center justify-center backdrop-blur-sm",c==="fullscreen"?"bg-black/70":"bg-black/50"),children:l.jsx(ie.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.2,ease:"easeOut"},className:K("relative w-full overflow-hidden",c==="fullscreen"?"max-w-2xl mx-8 max-h-[85vh]":"max-w-lg mx-4 max-h-[80vh]","bg-white dark:bg-gray-900 rounded-2xl shadow-2xl","border border-gray-200 dark:border-gray-700"),children:l.jsx(Kt,{interaction:b,theme:i,onDismiss:()=>{var E;return(E=a==null?void 0:a.dismissCurrentInteraction)==null?void 0:E.call(a)},client:a,addLocalMessage:_})},`modal-${b.methodName}`)})}),l.jsx(ie.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2},className:"absolute bottom-0 left-0 right-0 flex-shrink-0 w-full z-20",children:l.jsx(U1,{capabilities:t,onSendMessage:D,onSendAttachments:J,onEndCall:te,onChatOpenChange:f,disabled:e,theme:i,client:a,sessionStarted:n})})]})};function U1({capabilities:e,onSendMessage:t,onSendAttachments:n,onEndCall:s,onChatOpenChange:r,disabled:o=!1,theme:i,client:a,sessionStarted:c=!1}){const[d,u]=C.useState(!1),f=C.useRef(null),h=C.useRef(null);C.useEffect(()=>{const v=()=>{const T=navigator.userAgent.toLowerCase(),S=["android","iphone","ipad","mobile","tablet"].some(j=>T.includes(j)),A="ontouchstart"in window||navigator.maxTouchPoints>0,M=window.innerWidth<=768;u(S||A&&M)};return v(),window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)},[]);const g=v=>{const T=v.target.files;if(T&&T.length>0){const S=Array.from(T).filter(A=>A.type.startsWith("image/"));if(S.length===0){console.warn("No valid image files selected");return}n&&n(S),f.current&&(f.current.value="")}},x=v=>{const T=v.target.files;if(T&&T.length>0){const w=T[0];w.type.startsWith("image/")&&n&&n([w]),h.current&&(h.current.value="")}},m=()=>{!o&&f.current&&f.current.click()},b=()=>{!o&&d&&h.current&&h.current.click()},k=()=>{console.log("🔴 VoiceControlPanel: End call button clicked"),console.log("🔴 VoiceControlPanel: Current state:",{disabled:o,sessionStarted:c,hasOnEndCall:!!s}),s?s():console.warn("⚠️ VoiceControlPanel: No onEndCall function provided")};return l.jsx("div",{className:K("px-4 py-3 !w-full backdrop-blur-xl border-0 shadow-lg",i==="light"?"bg-white/95 border-t border-gray-200":"bg-gray-900/95 border-t border-gray-700"),children:l.jsxs("div",{className:"flex items-center justify-between !w-full mx-auto max-w-4xl",children:[l.jsx("input",{ref:f,type:"file",multiple:!0,onChange:g,className:"hidden",accept:"image/*"}),l.jsx("input",{ref:h,type:"file",onChange:x,className:"hidden",accept:"image/*",capture:"environment"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{onClick:m,disabled:o,className:K("p-3 rounded-full transition-all duration-200 hover:scale-105 active:scale-95",o?"opacity-50 cursor-not-allowed":"hover:shadow-md",i==="light"?"bg-gray-100 hover:bg-gray-200 text-gray-600":"bg-gray-700/50 hover:bg-gray-600/50 text-gray-300"),title:"Attach files",children:l.jsx(_1,{className:"w-5 h-5"})}),d&&l.jsx("button",{onClick:b,disabled:o,className:K("p-3 rounded-full transition-all duration-200 hover:scale-105 active:scale-95",o?"opacity-50 cursor-not-allowed":"hover:shadow-md",i==="light"?"bg-gray-100 hover:bg-gray-200 text-gray-600":"bg-gray-700/50 hover:bg-gray-600/50 text-gray-300"),title:"Take photo",children:l.jsx(z1,{className:"w-5 h-5"})})]}),l.jsx("div",{className:"flex-1 flex justify-center px-4",children:l.jsx(Wg,{capabilities:e,onChatOpenChange:r,onSendMessage:t,theme:i,client:a,className:"border-none py-1 rounded-xl max-w-md w-full"})}),l.jsx("div",{className:"flex items-center",children:l.jsx("button",{onClick:k,disabled:o||!c,className:K("p-3 rounded-full transition-all duration-200 hover:scale-105 active:scale-95",o||!c?"opacity-50 cursor-not-allowed":"hover:shadow-md","bg-red-500 hover:bg-red-600 text-white"),title:"End call",children:l.jsx(B1,{className:"w-5 h-5"})})})]})})}function Z1({onSendMessage:e,onSendAttachments:t,disabled:n,theme:s,onEndChat:r}){const[o,i]=p.useState(""),[a,c]=p.useState(!1),d=p.useRef(null),u=p.useRef(null),[f,h]=p.useState(!1),g=Ve(s);p.useEffect(()=>{const w=()=>{const S=navigator.userAgent.toLowerCase(),M=["android","iphone","ipad","mobile","tablet"].some(y=>S.includes(y)),j="ontouchstart"in window||navigator.maxTouchPoints>0,z=window.innerWidth<=768;h(M||j&&z)};return w(),window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]);const x=w=>{w.preventDefault(),o.trim()&&!n&&(e(o.trim()),i(""))},m=w=>{w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),x(w))},b=w=>{const S=w.target.files;if(S&&S.length>0){const A=Array.from(S),M=A.filter(j=>j.type.startsWith("image/"));if(M.length===0){console.warn("No valid image files selected");return}M.length!==A.length&&console.warn("Some non-image files were filtered out"),console.log("Selected image files:",M),t(M),d.current&&(d.current.value="")}},k=()=>{!n&&d.current&&d.current.click()},v=()=>{!n&&f&&u.current&&u.current.click()},T=w=>{const S=w.target.files;if(S&&S.length>0){const A=S[0];A.type.startsWith("image/")?t([A]):console.warn("Selected file is not an image"),u.current&&(u.current.value="")}};return l.jsx("div",{className:"px-4 py-3 !w-full backdrop-blur-xl border-0 shadow-lg ",children:l.jsx("form",{onSubmit:x,className:"flex items-center !w-full mx-auto max-w-4xl",children:l.jsxs("div",{className:`flex items-center gap-2 !w-full backdrop-blur-md rounded-full px-3 py-2 shadow-sm hover:shadow-md focus-within:shadow-lg focus-within:ring-2 focus-within:ring-blue-500/30 focus-within:border-blue-500/50 transition-all duration-200 border ${s==="light"?"bg-white/90 border-gray-200":g.chatInput.container}`,children:[l.jsx(ie.button,{type:"button",onClick:k,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 ${g.chatInput.attachButton}`,disabled:n,"aria-label":"Attach file",children:l.jsx(Ee.Paperclip,{className:"w-4 h-4"})}),f&&l.jsx(ie.button,{type:"button",onClick:v,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 ${g.chatInput.attachButton}`,disabled:n,"aria-label":"Take photo",children:l.jsx(Ee.Camera,{className:"w-4 h-4"})}),l.jsx("input",{ref:d,type:"file",multiple:!0,onChange:b,className:"hidden",accept:"image/*"}),l.jsx("input",{ref:u,type:"file",onChange:T,className:"hidden",accept:"image/*",capture:"environment"}),l.jsx("textarea",{value:o,onChange:w=>i(w.target.value),onKeyDown:m,onFocus:()=>c(!0),onBlur:()=>c(!1),placeholder:"Type your message...",disabled:n,className:`flex-1 px-2 py-1 bg-transparent resize-none min-h-[32px] max-h-20 focus:outline-none text-sm border-0 ${g.chatInput.textarea}`,rows:1,style:{height:"auto",minHeight:"32px"},onInput:w=>{const S=w.target;S.style.height="auto",S.style.height=`${Math.min(S.scrollHeight,80)}px`}}),l.jsx(ie.button,{type:"submit",disabled:n||!o.trim(),whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 flex-shrink-0 ${o.trim()&&!n?g.chatInput.sendButton:s==="light"?"bg-gray-200 text-gray-400 cursor-not-allowed opacity-70":"bg-gray-600/50 text-gray-500 cursor-not-allowed opacity-50"}`,"aria-label":"Send message",children:l.jsx(Ee.SendHorizontal,{className:"w-4 h-4"})}),r&&l.jsx(ie.button,{type:"button",onClick:r,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1 rounded-full transition-all duration-200 border-0 flex-shrink-0 ${g.chatInput.endButton}`,"aria-label":"End chat",children:l.jsx(Ee.PhoneOff,{className:"w-4 h-4"})})]})})})}function W1({text:e,isComplete:t,isRealTimeStream:n=!1,speed:s=50}){const[r,o]=p.useState(""),[i,a]=p.useState(0);return p.useEffect(()=>{if(n){o(e);return}if(t){o(e);return}if(i<e.length){const c=setTimeout(()=>{o(e.slice(0,i+1)),a(i+1)},s);return()=>clearTimeout(c)}},[e,i,t,s,n]),p.useEffect(()=>{n||(a(0),o(""))},[e,n]),l.jsxs("span",{className:"relative",children:[l.jsx("span",{className:"inline-block",children:r}),!t&&l.jsx("span",{className:"inline-flex items-center ml-1",children:[0,1,2].map(c=>l.jsx(ie.span,{className:"w-1.5 h-1.5 bg-current rounded-full mx-0.5",animate:{y:[0,-4,0],opacity:[.4,1,.4],scale:[.8,1,.8]},transition:{duration:.8,repeat:1/0,repeatType:"mirror",delay:c*.2,ease:"easeInOut"}},c))})]})}function G1({message:e,theme:t,isOwn:n,isStreaming:s=!1}){var i,a;const r=Ve(t),o=e.sender.name?e.sender.name.split(" ").map(c=>c[0]).join("").toUpperCase().slice(0,2):"U";return l.jsx("div",{className:`flex w-full ${n?"justify-end":"justify-start"} mb-4 px-1`,children:l.jsxs("div",{className:`relative group ${n?"flex-row-reverse":"flex-row"} flex items-end gap-3 max-w-[85%]`,children:[l.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${n?t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700":t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:o}),l.jsxs("div",{className:`
|
|
10
83
|
relative px-3 py-2 rounded-2xl break-words shadow-lg backdrop-blur-sm message-bubble message-hover
|
|
11
|
-
${n?`${
|
|
84
|
+
${n?`${r.chatMessage.own} rounded-br-md`:`${r.chatMessage.other} rounded-bl-md`}
|
|
12
85
|
${s?"shimmer":""}
|
|
13
86
|
transition-all duration-200 group-hover:scale-[1.02]
|
|
14
|
-
`,style:{wordWrap:"break-word",overflowWrap:"break-word"},children:[
|
|
87
|
+
`,style:{wordWrap:"break-word",overflowWrap:"break-word"},children:[l.jsx("div",{className:"whitespace-pre-wrap break-words leading-relaxed text-sm",children:((i=e.metadata)==null?void 0:i.type)==="attachment"?l.jsx(q1,{message:e,theme:t,isOwn:n}):s&&!n?l.jsx(W1,{text:e.content,isComplete:!s,isRealTimeStream:((a=e.metadata)==null?void 0:a.streaming)===!0,speed:35}):e.content}),l.jsx("div",{className:"text-xs",children:e.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})})}function K1(e,t){return e.startsWith("image/")?Ee.Image:e.startsWith("video/")?Ee.Video:e.startsWith("audio/")?Ee.Music:e.includes("zip")||e.includes("rar")||e.includes("archive")?Ee.Archive:Ee.FileText}function Y1(e){if(e===0)return"0 Bytes";const t=1024,n=["Bytes","KB","MB","GB"],s=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,s)).toFixed(2))+" "+n[s]}function q1({message:e,theme:t,isOwn:n}){const s=Ve(t),r=e.metadata,o=(r==null?void 0:r.fileName)||"Unknown file",i=(r==null?void 0:r.fileSize)||0,a=(r==null?void 0:r.mimeType)||"application/octet-stream",c=r==null?void 0:r.downloading,d=r==null?void 0:r.uploading,u=(r==null?void 0:r.downloadProgress)||0,f=(r==null?void 0:r.uploadProgress)||0,h=r==null?void 0:r.downloadUrl,g=r==null?void 0:r.file,x=K1(a),m=c||d,b=c?u:f,k=c?"Downloading...":d?"Uploading...":"Complete",[v,T]=p.useState(null);p.useEffect(()=>{if(h)T(h);else if(g&&a.startsWith("image/")){const M=URL.createObjectURL(g);return T(M),()=>URL.revokeObjectURL(M)}else T(null)},[h,g,a]);const w=()=>{if(h){const M=document.createElement("a");M.href=h,M.download=o,M.click()}},A=a.startsWith("image/")&&v;return l.jsxs("div",{className:"flex flex-col gap-2 max-w-sm",children:[A&&l.jsxs("div",{className:"relative rounded-lg overflow-hidden",children:[l.jsx("img",{src:v,alt:o,className:"max-w-full h-auto max-h-48 object-cover rounded-lg cursor-pointer",onClick:w}),l.jsx("div",{className:"absolute inset-0 bg-black/0 hover:bg-black/10 transition-colors duration-200 cursor-pointer"})]}),l.jsxs("div",{className:`
|
|
15
88
|
flex items-center gap-3 p-3 rounded-lg border transition-all duration-200
|
|
16
89
|
${t==="light"?"bg-gray-50 border-gray-200 hover:bg-gray-100":"bg-gray-800/50 border-gray-700 hover:bg-gray-700/50"}
|
|
17
|
-
`,children:[
|
|
90
|
+
`,children:[l.jsx("div",{className:`
|
|
18
91
|
p-2 rounded-lg flex-shrink-0
|
|
19
92
|
${t==="light"?"bg-blue-100 text-blue-600":"bg-blue-900/50 text-blue-400"}
|
|
20
|
-
`,children:
|
|
93
|
+
`,children:l.jsx(x,{className:"w-5 h-5"})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:`font-medium text-sm truncate ${s.text.primary}`,children:o}),l.jsxs("div",{className:`text-xs ${s.text.muted}`,children:[i>0&&Y1(i),m&&l.jsxs(l.Fragment,{children:[i>0&&" • ",k," ",Math.round(b*100),"%"]})]}),m&&l.jsx("div",{className:`
|
|
21
94
|
w-full h-1 rounded-full mt-1 overflow-hidden
|
|
22
95
|
${t==="light"?"bg-gray-200":"bg-gray-700"}
|
|
23
|
-
`,children:
|
|
96
|
+
`,children:l.jsx(ie.div,{className:`h-full ${t==="light"?"bg-blue-500":"bg-blue-400"}`,initial:{width:0},animate:{width:`${b*100}%`},transition:{duration:.3}})})]}),h&&!m&&l.jsx(ie.button,{onClick:w,whileHover:{scale:1.05},whileTap:{scale:.95},className:`
|
|
24
97
|
p-2 rounded-lg transition-colors duration-200
|
|
25
98
|
${t==="light"?"hover:bg-gray-200 text-gray-600 hover:text-gray-800":"hover:bg-gray-600 text-gray-400 hover:text-gray-200"}
|
|
26
|
-
`,"aria-label":"Download file",children:a.jsx(pe.Download,{className:"w-4 h-4"})})]})]})}function Lf(){return a.jsxs("div",{className:"max-w-xs mx-auto bg-green-50 border border-green-200 rounded-lg shadow p-3 flex flex-col items-center",children:[a.jsx("div",{className:"text-2xl mb-2",children:"✅"}),a.jsx("div",{className:"text-green-700 font-semibold text-sm mb-1",children:"Success!"}),a.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:"Your action was completed successfully."})]})}function Bf(){return a.jsxs("div",{className:"max-w-xs mx-auto bg-yellow-50 border border-yellow-200 rounded-lg shadow p-3 flex flex-col items-center",children:[a.jsx("div",{className:"text-2xl mb-2",children:"⏰"}),a.jsx("div",{className:"text-yellow-700 font-semibold text-sm mb-1",children:"Interaction timed out"}),a.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:"No response was provided in time."})]})}function $f({client:e,theme:t="vox",onBack:n,disabled:s=!1,displayType:o="widget",onEndChat:r}){const[i,l]=h.useState(()=>{if(e&&typeof e.getChatMessages=="function"){const T=e.getChatMessages();return console.log("🔄 ChatView: Initializing with existing messages:",T.length),T}return[]}),[c,d]=h.useState(!0),[u,m]=h.useState(()=>{const T=e&&typeof e.getCurrentSession=="function"&&!!e.getCurrentSession(),F=e&&typeof e.getChatMessages=="function"&&e.getChatMessages().length>0;return!T&&!F}),[f,p]=h.useState(new Set),[g,x]=h.useState([]),[v,E]=h.useState(!1),[b,S]=h.useState(!1),[w,C]=h.useState(()=>{const T=e.getCurrentInteraction();return console.log("ChatView: Initializing with existing interaction:",(T==null?void 0:T.methodName)||"none"),T}),A=h.useRef(null),j=ye(t);h.useEffect(()=>{const T=()=>{const F=navigator.userAgent.toLowerCase(),B=["android","iphone","ipad","mobile","tablet"].some(O=>F.includes(O)),R="ontouchstart"in window||navigator.maxTouchPoints>0,_=window.innerWidth<=768,K=B||R&&_;E(K),K&&o==="widget"&&S(!0)};return T(),window.addEventListener("resize",T),()=>window.removeEventListener("resize",T)},[o]),h.useEffect(()=>(b&&v&&(document.body.style.overflow="hidden",document.body.style.position="fixed",document.body.style.width="100%",document.body.style.height="100%",document.documentElement.requestFullscreen&&document.documentElement.requestFullscreen().catch(console.log)),()=>{b&&v&&(document.body.style.overflow="unset",document.body.style.position="unset",document.body.style.width="unset",document.body.style.height="unset",document.fullscreenElement&&document.exitFullscreen().catch(console.log))}),[b,v]);const k=e.getCurrentAgentInfo(),D=(k==null?void 0:k.name)||"AI Assistant",L=D.split(" ").map(T=>T[0]).join("").toUpperCase().slice(0,2),W=h.useCallback(T=>{const F={id:`local_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:T,timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{isLocal:!0}};l(Z=>(console.log("ChatView: Adding local message:",F.id),[...Z,F]))},[]);h.useEffect(()=>{var T,F,Z,B,R;console.log("💬 ChatView loading state:",{isLoading:u,hasActiveSession:!!((T=e==null?void 0:e.getCurrentSession)!=null&&T.call(e)),messagesCount:i.length,sessionId:(Z=(F=e==null?void 0:e.getCurrentSession)==null?void 0:F.call(e))==null?void 0:Z.id,hasStoredMessages:!!((R=(B=e==null?void 0:e.getChatMessages)==null?void 0:B.call(e))!=null&&R.length),isMobile:v,isFullscreen:b})},[u,i.length,e,v,b]);const H=h.useCallback((T=!1)=>{A.current&&(T?A.current.scrollIntoView({behavior:"auto"}):A.current.scrollIntoView({behavior:"smooth"}))},[]);h.useEffect(()=>{H(!0);const T=setTimeout(()=>{H(!1)},10);return()=>clearTimeout(T)},[i.length,H]),h.useEffect(()=>{if(w){H(!0);const T=setTimeout(()=>{H(!1)},50);return()=>clearTimeout(T)}},[w,H]),h.useEffect(()=>{const T=B=>{if(console.log("ChatView: Received message:",B),m(!1),w&&B.sender.type==="agent"){console.log("ChatView: Queuing agent message due to active interaction:",w.methodName),x(R=>[...R,B]);return}B.sender.type==="agent"&&d(!1),l(R=>{var K;if(R.some(O=>O.id===B.id))return console.log("ChatView: Message already exists, skipping:",B.id),R;if(console.log("ChatView: Adding new message:",B.id),B.sender.type==="agent"&&(p(O=>new Set(O).add(B.id)),!((K=B.metadata)!=null&&K.streaming))){const O=B.content.length*35+1e3;setTimeout(()=>{p(re=>{const oe=new Set(re);return oe.delete(B.id),oe})},O)}return[...R,B]}),setTimeout(()=>H(!0),0)},F=B=>{var R;if(console.log("ChatView: Updated message:",B),w&&B.sender.type==="agent"){console.log("ChatView: Queuing agent message update due to active interaction:",w.methodName),x(_=>{const K=_.findIndex(O=>O.id===B.id);if(K>=0){const O=[..._];return O[K]=B,O}else return[..._,B]});return}l(_=>_.map(K=>K.id===B.id?{...B}:K)),setTimeout(()=>H(!0),0),(R=B.metadata)!=null&&R.streaming||p(_=>{const K=new Set(_);return K.delete(B.id),K})},Z=B=>{console.log("ChatView: Sent message:",B),m(!1),l(R=>R.some(K=>K.id===B.id)?(console.log("ChatView: Sent message already exists, skipping:",B.id),R):(console.log("ChatView: Adding sent message:",B.id),[...R,B])),setTimeout(()=>H(!0),0)};return e.on("chat.message.received",T),e.on("chat.message.updated",F),e.on("chat.message.sent",Z),()=>{e.off("chat.message.received",T),e.off("chat.message.updated",F),e.off("chat.message.sent",Z)}},[e,w]),h.useEffect(()=>{const T=R=>{console.log("ChatView: RPC interaction started:",R);const _=e.getCurrentInteraction();console.log("ChatView: Got interaction from client:",_==null?void 0:_.methodName),C(_),d(!1),H(!0),setTimeout(()=>{H(!1)},100)},F=R=>{if(console.log("ChatView: RPC interaction completed:",R),C(null),g.length>0&&(console.log("ChatView: Processing",g.length,"queued messages"),l(_=>{const K=[..._];return g.forEach(O=>{var oe;if(!K.some(he=>he.id===O.id)&&(console.log("ChatView: Adding queued message:",O.id),K.push(O),O.sender.type==="agent"&&(p(he=>new Set(he).add(O.id)),!((oe=O.metadata)!=null&&oe.streaming)))){const he=O.content.length*35+1e3;setTimeout(()=>{p(ve=>{const De=new Set(ve);return De.delete(O.id),De})},he)}}),K}),x([]),setTimeout(()=>H(!0),0)),R&&R.response&&R.response.success){let _=null;R.response.successView?_=R.response.successView:R.successView&&(_=R.successView),l(K=>{const O=[...K].reverse().findIndex(ve=>ve.sender.type==="participant");let re=K.length;O!==-1&&(re=K.length-O);const oe={id:`success_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{type:"successView",view:_||a.jsx(Lf,{})}};e&&typeof e.addChatMessage=="function"&&e.addChatMessage(oe);const he=[...K];return he.splice(re,0,oe),he})}},Z=async R=>{w&&(console.log("ChatView: Dismissing active interaction due to timeout"),e.dismissCurrentInteraction()),C(null),g.length>0&&(console.log("ChatView: Processing",g.length,"queued messages after timeout"),l(K=>{const O=[...K];return g.forEach(re=>{var he;if(!O.some(ve=>ve.id===re.id)&&(O.push(re),re.sender.type==="agent"&&(p(ve=>new Set(ve).add(re.id)),!((he=re.metadata)!=null&&he.streaming)))){const ve=re.content.length*35+1e3;setTimeout(()=>{p(De=>{const Zt=new Set(De);return Zt.delete(re.id),Zt})},ve)}}),O}),x([]),setTimeout(()=>H(!0),0));let _=null;R&&R.response&&R.response.timeoutView?_=R.response.timeoutView:R&&R.timeoutView&&(_=R.timeoutView),l(K=>{const O={id:`timeout_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"agent",name:D,type:"agent"},metadata:{type:"timeoutView",view:_||a.jsx(Bf,{})}};return e&&typeof e.addChatMessage=="function"&&e.addChatMessage(O),[...K,O]}),setTimeout(()=>{e.getCurrentInteraction()||C(null)},100)},B=async R=>{console.log("ChatView: RPC interaction dismissed:",R),console.log("ChatView: Current interaction before dismiss:",w==null?void 0:w.methodName),C(null),g.length>0&&(console.log("ChatView: Processing",g.length,"queued messages after dismissal"),l(_=>{const K=[..._];return g.forEach(O=>{var oe;if(!K.some(he=>he.id===O.id)&&(K.push(O),O.sender.type==="agent"&&(p(he=>new Set(he).add(O.id)),!((oe=O.metadata)!=null&&oe.streaming)))){const he=O.content.length*35+1e3;setTimeout(()=>{p(ve=>{const De=new Set(ve);return De.delete(O.id),De})},he)}}),K}),x([]),setTimeout(()=>H(!0),0)),setTimeout(()=>{const _=e.getCurrentInteraction();console.log("ChatView: Latest interaction from client after dismiss:",(_==null?void 0:_.methodName)||"null"),_===null&&C(null)},50),console.log("ChatView: Set currentInteraction to null after dismiss")};return e.on("rpc.interaction.started",T),e.on("rpc.interaction.completed",F),e.on("rpc.interaction.timeout",Z),e.on("rpc.interaction.dismissed",B),()=>{e.off("rpc.interaction.started",T),e.off("rpc.interaction.completed",F),e.off("rpc.interaction.timeout",Z),e.off("rpc.interaction.dismissed",B)}},[e]),h.useEffect(()=>{const T=()=>{if(console.log("ChatView: Agent is thinking"),w){console.log("ChatView: Suppressing thinking indicator due to active interaction:",w.methodName);return}d(!0)},F=()=>{console.log("ChatView: Agent is speaking"),d(!1)};return e.on("agent.thinking",T),e.on("agent.speaking",F),()=>{e.off("agent.thinking",T),e.off("agent.speaking",F)}},[e,w]),h.useEffect(()=>{const T=e.getCurrentInteraction();T?(console.log("ChatView: Restoring interaction state on mount/client change:",T.methodName),C(T)):C(null)},[e]),h.useEffect(()=>{console.log("ChatView: Display type changed to:",o,"Current interaction:",(w==null?void 0:w.methodName)||"none")},[o,w]);const Ce=async T=>{try{w&&(console.log("ChatView: Dismissing active interaction due to user message send"),e.dismissCurrentInteraction(),C(null)),await e.sendChatMessage(T)}catch(F){console.error("Failed to send message:",F)}},ne=async T=>{try{w&&(console.log("ChatView: Dismissing active interaction due to user attachment send"),e.dismissCurrentInteraction(),C(null)),await e.sendAttachments(T),console.log("Attachments sent successfully:",T.map(F=>F.name))}catch(F){console.error("Failed to send attachments:",F)}},[te,se]=h.useState([]);if(h.useEffect(()=>{const T=F=>{se(Array.isArray(F)?F:["tes","hello how are you","algebra make me learn that ","what is the meaning of life"])};return e.on("suggested.response",T),()=>{e.off("suggested.response",T)}},[e]),u){const T=b&&v?"fixed inset-0 z-[9999] flex flex-col items-center justify-center h-screen w-screen bg-black":"flex w-full flex-col items-center justify-center h-full p-8";return a.jsxs("div",{className:T,children:[a.jsx("div",{className:`${j.spinner} w-12 h-12 mb-6`}),a.jsxs("p",{className:`text-sm text-center ${b&&v?"text-white":""}`,children:["Connecting to ",D,"..."]})]})}const z=b&&v?"fullscreen":o,M=z==="fullscreen"?b&&v?"fixed inset-0 z-[9999] flex flex-col h-screen w-screen bg-black":"flex flex-col h-full w-full max-w-none":"flex flex-col h-full w-full backdrop-blur-sm",G=z==="fullscreen"?b&&v?"flex items-center w-full justify-between px-4 pt-3 pb-3 bg-black/80 text-white border-b border-gray-700":`flex items-center w-full justify-between px-6 pt-5 pb-4 border-b ${j.chatHeader.container}`:`flex items-center w-full justify-between px-4 pt-5 pb-4 border-b ${j.chatHeader.container}`,Y=z==="fullscreen"?b&&v?"flex-1 overflow-y-auto scrollbar-hide p-4 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto scrollbar-hide p-6 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto scrollbar-hide w-full p-4 chat-scrollable min-h-0",V="flex-shrink-0 !w-full",q=()=>{S(!1),n&&n()};return a.jsxs("div",{className:M,children:[a.jsx("div",{className:G,children:a.jsxs("div",{className:"flex items-center gap-2",children:[b&&v&&a.jsx(Q.button,{onClick:q,whileHover:{scale:1.05},whileTap:{scale:.95},className:"p-2 rounded-full bg-white/20 hover:bg-white/30 text-white transition-colors mr-2","aria-label":"Exit fullscreen",children:"✕"}),a.jsxs("div",{children:[a.jsx("h3",{className:`font-semibold text-base leading-tight ${b&&v?"text-white":j.text.primary}`,children:D}),a.jsxs("p",{className:`text-xs flex items-center gap-1.5 mt-0.5 ${b&&v?"text-gray-300":j.text.muted}`,children:[a.jsx("span",{className:"w-1.5 h-1.5 bg-green-500 rounded-full animate-pulse"}),"Online"]})]})]})}),a.jsxs("div",{className:`${Y} flex flex-col`,style:{scrollBehavior:"smooth",scrollbarWidth:"none"},children:[" ",i.length===0?a.jsxs("div",{className:"flex flex-col items-center justify-center flex-1 text-center py-12",children:[a.jsx(Q.div,{transition:{duration:2,repeat:1/0,ease:"easeInOut"},className:"w-16 h-16 rounded-full bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center text-white font-bold text-xl mb-6 shadow-xl",children:L}),a.jsxs("p",{className:`text-base mb-2 ${b&&v?"text-white":j.text.secondary}`,children:[D," is joining..."]}),a.jsx("p",{className:`text-xs ${b&&v?"text-gray-300":j.text.muted}`,children:"Your conversation will begin shortly"})]}):a.jsx("div",{className:"w-full max-w-5xl mx-auto space-y-3 py-4 flex-1 flex flex-col justify-end",children:a.jsxs("div",{className:"space-y-3",children:[i.map((T,F)=>{var Z,B;return a.jsx("div",{children:((Z=T.metadata)==null?void 0:Z.type)==="successView"?a.jsx("div",{className:"flex w-full justify-end mb-4 px-1",children:a.jsxs("div",{className:"relative group flex-row-reverse flex items-end gap-3 max-w-[85%]",children:[a.jsx(Q.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:"Y"}),a.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-br-md message-hover border-gray-200 dark:border-gray-700 ${j.chatMessage.own}`,children:[T.metadata.view,a.jsx("div",{className:`text-xs ${j.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 `,children:T.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((B=T.metadata)==null?void 0:B.type)==="timeoutView"?a.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:a.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%]",children:[a.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:L}),a.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${j.chatMessage.other}`,children:[T.metadata.view,a.jsx("div",{className:`text-xs ${j.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 `,children:T.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):a.jsx(Rf,{message:T,theme:t,isOwn:T.sender.type==="participant",isStreaming:f.has(T.id)})},T.id)}),c&&!w&&a.jsx(Q.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:i.length*.1},className:"flex w-full justify-start mb-4 px-1",children:a.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%]",children:[a.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:L}),a.jsx("div",{className:`relative px-3 py-2 rounded-2xl break-words shadow-lg backdrop-blur-sm message-bubble message-hover ${j.chatMessage.other} rounded-bl-md transition-all duration-200 group-hover:scale-[1.02]`,style:{wordWrap:"break-word",overflowWrap:"break-word",minWidth:48},children:a.jsx("span",{className:"inline-flex items-center",children:[0,1,2].map(T=>a.jsx(Q.span,{className:"w-1.5 h-1.5 bg-current rounded-full mx-0.5",animate:{y:[0,-4,0],opacity:[.4,1,.4],scale:[.8,1,.8]},transition:{duration:.8,repeat:1/0,repeatType:"mirror",delay:T*.2,ease:"easeInOut"}},T))})})]})}),w&&w.presentationMode==="embedded"&&a.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%]",children:[a.jsx(Q.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:L}),a.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${j.chatMessage.other}`,children:[a.jsx(pt,{interaction:w,theme:t,onDismiss:()=>e.dismissCurrentInteraction(),client:e,addLocalMessage:W},w.methodName),a.jsx(Q.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.2},className:`text-xs ${j.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 `,children:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]}),a.jsx("div",{ref:A})]})})]}),te.length>0&&a.jsx("div",{className:"w-full flex overflow-x-auto gap-2 px-4 py-2 mb-1 scrollbar-hide",children:te.map((T,F)=>{var Z;return a.jsx("button",{className:`whitespace-nowrap px-3 py-1 rounded-full border shadow-sm flex-shrink-0 transition-all duration-150 font-medium text-sm focus:outline-none focus:ring-2 focus:ring-blue-400/40
|
|
27
|
-
${t==="light"?"bg-white text-blue-700 border-blue-200 hover:bg-blue-50 hover:text-blue-900":t==="dark"?"bg-gray-800 text-blue-300 border-gray-700 hover:bg-gray-700 hover:text-white":((
|
|
28
|
-
`,style:{boxShadow:t==="vox"?"0 2px 8px 0 rgba(80,60,200,0.10)":void 0,borderWidth:1},onClick:()=>{
|
|
99
|
+
`,"aria-label":"Download file",children:l.jsx(Ee.Download,{className:"w-4 h-4"})})]})]})}function X1(){return l.jsxs("div",{className:"max-w-xs mx-auto bg-green-50 border border-green-200 rounded-lg shadow p-3 flex flex-col items-center",children:[l.jsx("div",{className:"text-2xl mb-2",children:"✅"}),l.jsx("div",{className:"text-green-700 font-semibold text-sm mb-1",children:"Success!"}),l.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:"Your action was completed successfully."})]})}function J1(){return l.jsxs("div",{className:"max-w-xs mx-auto bg-yellow-50 border border-yellow-200 rounded-lg shadow p-3 flex flex-col items-center",children:[l.jsx("div",{className:"text-2xl mb-2",children:"⏰"}),l.jsx("div",{className:"text-yellow-700 font-semibold text-sm mb-1",children:"Interaction timed out"}),l.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:"No response was provided in time."})]})}function Q1({client:e,theme:t="vox",onBack:n,disabled:s=!1,displayType:r="widget",onEndChat:o}){const[i,a]=p.useState(()=>{if(e&&typeof e.getChatMessages=="function"){const P=e.getChatMessages();return console.log("🔄 ChatView: Initializing with existing messages:",P.length),P}return[]}),[c,d]=p.useState(!0),[u,f]=p.useState(()=>{const P=e&&typeof e.getCurrentSession=="function"&&!!e.getCurrentSession(),E=e&&typeof e.getChatMessages=="function"&&e.getChatMessages().length>0;return!P&&!E}),[h,g]=p.useState(new Set),[x,m]=p.useState([]),[b,k]=p.useState(!1),[v,T]=p.useState(!1),[w,S]=p.useState(()=>{const P=e.getCurrentInteraction();return console.log("ChatView: Initializing with existing interaction:",(P==null?void 0:P.methodName)||"none"),P}),A=p.useRef(null),M=Ve(t);p.useEffect(()=>{const P=()=>{const E=navigator.userAgent.toLowerCase(),F=["android","iphone","ipad","mobile","tablet"].some(B=>E.includes(B)),$="ontouchstart"in window||navigator.maxTouchPoints>0,I=window.innerWidth<=768,H=F||$&&I;k(H),H&&r==="widget"&&T(!0)};return P(),window.addEventListener("resize",P),()=>window.removeEventListener("resize",P)},[r]),p.useEffect(()=>(v&&b&&(document.body.style.overflow="hidden",document.body.style.position="fixed",document.body.style.width="100%",document.body.style.height="100%",document.documentElement.requestFullscreen&&document.documentElement.requestFullscreen().catch(console.log)),()=>{v&&b&&(document.body.style.overflow="unset",document.body.style.position="unset",document.body.style.width="unset",document.body.style.height="unset",document.fullscreenElement&&document.exitFullscreen().catch(console.log))}),[v,b]);const j=e.getCurrentAgentInfo(),z=(j==null?void 0:j.name)||"AI Assistant",y=z.split(" ").map(P=>P[0]).join("").toUpperCase().slice(0,2),D=p.useCallback(P=>{const E={id:`local_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:P,timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{isLocal:!0}};a(O=>(console.log("ChatView: Adding local message:",E.id),[...O,E]))},[]);p.useEffect(()=>{var P,E,O,F,$;console.log("💬 ChatView loading state:",{isLoading:u,hasActiveSession:!!((P=e==null?void 0:e.getCurrentSession)!=null&&P.call(e)),messagesCount:i.length,sessionId:(O=(E=e==null?void 0:e.getCurrentSession)==null?void 0:E.call(e))==null?void 0:O.id,hasStoredMessages:!!(($=(F=e==null?void 0:e.getChatMessages)==null?void 0:F.call(e))!=null&&$.length),isMobile:b,isFullscreen:v})},[u,i.length,e,b,v]);const _=p.useCallback((P=!1)=>{A.current&&(P?A.current.scrollIntoView({behavior:"auto"}):A.current.scrollIntoView({behavior:"smooth"}))},[]);p.useEffect(()=>{_(!0);const P=setTimeout(()=>{_(!1)},10);return()=>clearTimeout(P)},[i.length,_]),p.useEffect(()=>{if(w){_(!0);const P=setTimeout(()=>{_(!1)},50);return()=>clearTimeout(P)}},[w,_]),p.useEffect(()=>{const P=F=>{if(console.log("ChatView: Received message:",F),f(!1),w&&F.sender.type==="agent"){console.log("ChatView: Queuing agent message due to active interaction:",w.methodName),m($=>[...$,F]);return}F.sender.type==="agent"&&d(!1),a($=>{var H;if($.some(B=>B.id===F.id))return console.log("ChatView: Message already exists, skipping:",F.id),$;if(console.log("ChatView: Adding new message:",F.id),F.sender.type==="agent"&&(g(B=>new Set(B).add(F.id)),!((H=F.metadata)!=null&&H.streaming))){const B=F.content.length*35+1e3;setTimeout(()=>{g(oe=>{const L=new Set(oe);return L.delete(F.id),L})},B)}return[...$,F]}),setTimeout(()=>_(!0),0)},E=F=>{var $;if(console.log("ChatView: Updated message:",F),w&&F.sender.type==="agent"){console.log("ChatView: Queuing agent message update due to active interaction:",w.methodName),m(I=>{const H=I.findIndex(B=>B.id===F.id);if(H>=0){const B=[...I];return B[H]=F,B}else return[...I,F]});return}a(I=>I.map(H=>H.id===F.id?{...F}:H)),setTimeout(()=>_(!0),0),($=F.metadata)!=null&&$.streaming||g(I=>{const H=new Set(I);return H.delete(F.id),H})},O=F=>{console.log("ChatView: Sent message:",F),f(!1),a($=>$.some(H=>H.id===F.id)?(console.log("ChatView: Sent message already exists, skipping:",F.id),$):(console.log("ChatView: Adding sent message:",F.id),[...$,F])),setTimeout(()=>_(!0),0)};return e.on("chat.message.received",P),e.on("chat.message.updated",E),e.on("chat.message.sent",O),()=>{e.off("chat.message.received",P),e.off("chat.message.updated",E),e.off("chat.message.sent",O)}},[e,w]),p.useEffect(()=>{const P=$=>{console.log("ChatView: RPC interaction started:",$);const I=e.getCurrentInteraction();console.log("ChatView: Got interaction from client:",I==null?void 0:I.methodName),S(I),d(!1),_(!0),setTimeout(()=>{_(!1)},100)},E=$=>{if(console.log("ChatView: RPC interaction completed:",$),S(null),x.length>0&&(console.log("ChatView: Processing",x.length,"queued messages"),a(I=>{const H=[...I];return x.forEach(B=>{var L;if(!H.some(ae=>ae.id===B.id)&&(console.log("ChatView: Adding queued message:",B.id),H.push(B),B.sender.type==="agent"&&(g(ae=>new Set(ae).add(B.id)),!((L=B.metadata)!=null&&L.streaming)))){const ae=B.content.length*35+1e3;setTimeout(()=>{g(xe=>{const Ie=new Set(xe);return Ie.delete(B.id),Ie})},ae)}}),H}),m([]),setTimeout(()=>_(!0),0)),$&&$.response&&$.response.success){let I=null;$.response.successView?I=$.response.successView:$.successView&&(I=$.successView),a(H=>{const B=[...H].reverse().findIndex(xe=>xe.sender.type==="participant");let oe=H.length;B!==-1&&(oe=H.length-B);const L={id:`success_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{type:"successView",view:I||l.jsx(X1,{})}};e&&typeof e.addChatMessage=="function"&&e.addChatMessage(L);const ae=[...H];return ae.splice(oe,0,L),ae})}},O=async $=>{w&&(console.log("ChatView: Dismissing active interaction due to timeout"),e.dismissCurrentInteraction()),S(null),x.length>0&&(console.log("ChatView: Processing",x.length,"queued messages after timeout"),a(H=>{const B=[...H];return x.forEach(oe=>{var ae;if(!B.some(xe=>xe.id===oe.id)&&(B.push(oe),oe.sender.type==="agent"&&(g(xe=>new Set(xe).add(oe.id)),!((ae=oe.metadata)!=null&&ae.streaming)))){const xe=oe.content.length*35+1e3;setTimeout(()=>{g(Ie=>{const Rn=new Set(Ie);return Rn.delete(oe.id),Rn})},xe)}}),B}),m([]),setTimeout(()=>_(!0),0));let I=null;$&&$.response&&$.response.timeoutView?I=$.response.timeoutView:$&&$.timeoutView&&(I=$.timeoutView),a(H=>{const B={id:`timeout_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"agent",name:z,type:"agent"},metadata:{type:"timeoutView",view:I||l.jsx(J1,{})}};return e&&typeof e.addChatMessage=="function"&&e.addChatMessage(B),[...H,B]}),setTimeout(()=>{e.getCurrentInteraction()||S(null)},100)},F=async $=>{console.log("ChatView: RPC interaction dismissed:",$),console.log("ChatView: Current interaction before dismiss:",w==null?void 0:w.methodName),S(null),x.length>0&&(console.log("ChatView: Processing",x.length,"queued messages after dismissal"),a(I=>{const H=[...I];return x.forEach(B=>{var L;if(!H.some(ae=>ae.id===B.id)&&(H.push(B),B.sender.type==="agent"&&(g(ae=>new Set(ae).add(B.id)),!((L=B.metadata)!=null&&L.streaming)))){const ae=B.content.length*35+1e3;setTimeout(()=>{g(xe=>{const Ie=new Set(xe);return Ie.delete(B.id),Ie})},ae)}}),H}),m([]),setTimeout(()=>_(!0),0)),setTimeout(()=>{const I=e.getCurrentInteraction();console.log("ChatView: Latest interaction from client after dismiss:",(I==null?void 0:I.methodName)||"null"),I===null&&S(null)},50),console.log("ChatView: Set currentInteraction to null after dismiss")};return e.on("rpc.interaction.started",P),e.on("rpc.interaction.completed",E),e.on("rpc.interaction.timeout",O),e.on("rpc.interaction.dismissed",F),()=>{e.off("rpc.interaction.started",P),e.off("rpc.interaction.completed",E),e.off("rpc.interaction.timeout",O),e.off("rpc.interaction.dismissed",F)}},[e]),p.useEffect(()=>{const P=()=>{if(console.log("ChatView: Agent is thinking"),w){console.log("ChatView: Suppressing thinking indicator due to active interaction:",w.methodName);return}d(!0)},E=()=>{console.log("ChatView: Agent is speaking"),d(!1)};return e.on("agent.thinking",P),e.on("agent.speaking",E),()=>{e.off("agent.thinking",P),e.off("agent.speaking",E)}},[e,w]),p.useEffect(()=>{const P=e.getCurrentInteraction();P?(console.log("ChatView: Restoring interaction state on mount/client change:",P.methodName),S(P)):S(null)},[e]),p.useEffect(()=>{console.log("ChatView: Display type changed to:",r,"Current interaction:",(w==null?void 0:w.methodName)||"none")},[r,w]);const J=async P=>{try{w&&(console.log("ChatView: Dismissing active interaction due to user message send"),e.dismissCurrentInteraction(),S(null)),await e.sendChatMessage(P)}catch(E){console.error("Failed to send message:",E)}},te=async P=>{try{w&&(console.log("ChatView: Dismissing active interaction due to user attachment send"),e.dismissCurrentInteraction(),S(null)),await e.sendAttachments(P),console.log("Attachments sent successfully:",P.map(E=>E.name))}catch(E){console.error("Failed to send attachments:",E)}},[ee,se]=p.useState([]);if(p.useEffect(()=>{const P=E=>{se(Array.isArray(E)?E:["tes","hello how are you","algebra make me learn that ","what is the meaning of life"])};return e.on("suggested.response",P),()=>{e.off("suggested.response",P)}},[e]),u){const P=v&&b?"fixed inset-0 z-[9999] flex flex-col items-center justify-center h-screen w-screen bg-black":"flex w-full flex-col items-center justify-center h-full p-8";return l.jsxs("div",{className:P,children:[l.jsx("div",{className:`${M.spinner} w-12 h-12 mb-6`}),l.jsxs("p",{className:`text-sm text-center ${v&&b?"text-white":""}`,children:["Connecting to ",z,"..."]})]})}const Y=v&&b?"fullscreen":r,R=Y==="fullscreen"?v&&b?"fixed inset-0 z-[9999] flex flex-col h-screen w-screen bg-black":"flex flex-col h-full w-full max-w-none":"flex flex-col h-full w-full backdrop-blur-sm max-h-full overflow-hidden",X=Y==="fullscreen"?v&&b?"flex items-center w-full justify-between px-4 pt-3 pb-3 bg-black/80 text-white border-b border-gray-700":`flex items-center w-full justify-between px-6 pt-5 pb-4 border-b ${M.chatHeader.container}`:`flex items-center w-full justify-between px-4 pt-5 pb-4 border-b ${M.chatHeader.container}`,V=Y==="fullscreen"?v&&b?"flex-1 overflow-y-auto scrollbar-hide p-4 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto scrollbar-hide p-6 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto scrollbar-hide w-full p-4 chat-scrollable min-h-0",U="flex-shrink-0 !w-full",q=()=>{T(!1),n&&n()};return l.jsxs("div",{className:R,children:[l.jsx("div",{className:X,children:l.jsxs("div",{className:"flex items-center gap-2",children:[v&&b&&l.jsx(ie.button,{onClick:q,whileHover:{scale:1.05},whileTap:{scale:.95},className:"p-2 rounded-full bg-white/20 hover:bg-white/30 text-white transition-colors mr-2","aria-label":"Exit fullscreen",children:"✕"}),l.jsxs("div",{children:[l.jsx("h3",{className:`font-semibold text-base leading-tight ${v&&b?"text-white":M.text.primary}`,children:z}),l.jsxs("p",{className:`text-xs flex items-center gap-1.5 mt-0.5 ${v&&b?"text-gray-300":M.text.muted}`,children:[l.jsx("span",{className:"w-1.5 h-1.5 bg-green-500 rounded-full animate-pulse"}),"Online"]})]})]})}),l.jsxs("div",{className:`${V} flex flex-col`,style:{scrollBehavior:"smooth",scrollbarWidth:"none"},children:[" ",i.length===0?l.jsxs("div",{className:"flex flex-col items-center justify-center flex-1 text-center py-12",children:[l.jsx(ie.div,{transition:{duration:2,repeat:1/0,ease:"easeInOut"},className:"w-16 h-16 rounded-full bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center text-white font-bold text-xl mb-6 shadow-xl",children:y}),l.jsxs("p",{className:`text-base mb-2 ${v&&b?"text-white":M.text.secondary}`,children:[z," is joining..."]}),l.jsx("p",{className:`text-xs ${v&&b?"text-gray-300":M.text.muted}`,children:"Your conversation will begin shortly"})]}):l.jsx("div",{className:"w-full max-w-5xl mx-auto space-y-3 py-4 flex-1 flex flex-col justify-end",children:l.jsxs("div",{className:"space-y-3",children:[i.map((P,E)=>{var O,F;return l.jsx("div",{children:((O=P.metadata)==null?void 0:O.type)==="successView"?l.jsx("div",{className:"flex w-full justify-end mb-4 px-1",children:l.jsxs("div",{className:"relative group flex-row-reverse flex items-end gap-3 max-w-[85%]",children:[l.jsx(ie.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:"Y"}),l.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-br-md message-hover border-gray-200 dark:border-gray-700 ${M.chatMessage.own}`,children:[P.metadata.view,l.jsx("div",{className:`text-xs ${M.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 `,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((F=P.metadata)==null?void 0:F.type)==="timeoutView"?l.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:l.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%]",children:[l.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:y}),l.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${M.chatMessage.other}`,children:[P.metadata.view,l.jsx("div",{className:`text-xs ${M.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 `,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):l.jsx(G1,{message:P,theme:t,isOwn:P.sender.type==="participant",isStreaming:h.has(P.id)})},P.id)}),c&&!w&&l.jsx(ie.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:i.length*.1},className:"flex w-full justify-start mb-4 px-1",children:l.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%]",children:[l.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:y}),l.jsx("div",{className:`relative px-3 py-2 rounded-2xl break-words shadow-lg backdrop-blur-sm message-bubble message-hover ${M.chatMessage.other} rounded-bl-md transition-all duration-200 group-hover:scale-[1.02]`,style:{wordWrap:"break-word",overflowWrap:"break-word",minWidth:48},children:l.jsx("span",{className:"inline-flex items-center",children:[0,1,2].map(P=>l.jsx(ie.span,{className:"w-1.5 h-1.5 bg-current rounded-full mx-0.5",animate:{y:[0,-4,0],opacity:[.4,1,.4],scale:[.8,1,.8]},transition:{duration:.8,repeat:1/0,repeatType:"mirror",delay:P*.2,ease:"easeInOut"}},P))})})]})}),w&&w.presentationMode==="embedded"&&l.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%]",children:[l.jsx(ie.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:y}),l.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${M.chatMessage.other}`,children:[l.jsx(Kt,{interaction:w,theme:t,onDismiss:()=>e.dismissCurrentInteraction(),client:e,addLocalMessage:D},w.methodName),l.jsx(ie.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.2},className:`text-xs ${M.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 `,children:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]}),l.jsx("div",{ref:A})]})})]}),ee.length>0&&l.jsx("div",{className:"w-full flex overflow-x-auto gap-2 px-4 py-2 mb-1 scrollbar-hide",children:ee.map((P,E)=>{var O;return l.jsx("button",{className:`whitespace-nowrap px-3 py-1 rounded-full border shadow-sm flex-shrink-0 transition-all duration-150 font-medium text-sm focus:outline-none focus:ring-2 focus:ring-blue-400/40
|
|
100
|
+
${t==="light"?"bg-white text-blue-700 border-blue-200 hover:bg-blue-50 hover:text-blue-900":t==="dark"?"bg-gray-800 text-blue-300 border-gray-700 hover:bg-gray-700 hover:text-white":((O=M.suggestedResponse)==null?void 0:O.container)||"bg-gradient-to-br from-blue-500 to-purple-600 text-white border-blue-400 hover:from-blue-600 hover:to-purple-700"}
|
|
101
|
+
`,style:{boxShadow:t==="vox"?"0 2px 8px 0 rgba(80,60,200,0.10)":void 0,borderWidth:1},onClick:()=>{J(P),se([])},children:P},P+E)})}),w&&w.presentationMode!=="embedded"&&l.jsx(Kt,{interaction:w,theme:t,onDismiss:()=>e.dismissCurrentInteraction(),client:e,addLocalMessage:D},w.methodName),l.jsx(ie.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2},className:U,children:l.jsx(Z1,{onSendMessage:J,onSendAttachments:te,disabled:s,theme:t,onEndChat:o})})]})}function ex({onToggleCamera:e,onToggleScreenShare:t,onEndCall:n,onBack:s,theme:r,cameraEnabled:o,screenShareEnabled:i,isCameraLoading:a,isScreenShareLoading:c,disabled:d}){const u=Ve(r);return l.jsxs("div",{className:`flex items-center justify-center gap-3 p-4 ${u.video.controlsBackground}`,children:[l.jsx("button",{onClick:e,disabled:d||a,className:`p-3 rounded-full transition-all duration-200 ${o?u.video.controlEnabled:u.video.controlDisabled} ${d?"opacity-50 cursor-not-allowed":"hover:scale-105"}`,title:o?"Turn off camera":"Turn on camera",children:a?l.jsx("div",{className:"w-5 h-5 animate-spin rounded-full border-2 border-current border-t-transparent"}):o?l.jsx(Ee.Camera,{className:"w-5 h-5"}):l.jsx(Ee.CameraOff,{className:"w-5 h-5"})}),l.jsx("button",{onClick:t,disabled:d||c,className:`p-3 rounded-full transition-all duration-200 ${i?u.video.controlEnabled:u.video.controlDisabled} ${d?"opacity-50 cursor-not-allowed":"hover:scale-105"}`,title:i?"Stop screen share":"Share screen",children:c?l.jsx("div",{className:"w-5 h-5 animate-spin rounded-full border-2 border-current border-t-transparent"}):i?l.jsx(Ee.MonitorOff,{className:"w-5 h-5"}):l.jsx(Ee.Monitor,{className:"w-5 h-5"})}),n&&l.jsx("button",{onClick:n,disabled:d,className:`p-3 rounded-full transition-all duration-200 ${u.video.endCall} ${d?"opacity-50 cursor-not-allowed":"hover:scale-105"}`,title:"End call",children:l.jsx(Ee.PhoneOff,{className:"w-5 h-5"})}),s&&l.jsx("button",{onClick:s,disabled:d,className:`p-3 rounded-full transition-all duration-200 ${u.video.controlDisabled} ${d?"opacity-50 cursor-not-allowed":"hover:scale-105"}`,title:"Back",children:l.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:l.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 19l-7-7m0 0l7-7m-7 7h18"})})})]})}function Za({trackRef:e,participant:t,isLocal:n=!1,className:s="",theme:r}){var c;const o=Ve(r),i=(t==null?void 0:t.name)||(t==null?void 0:t.identity)||(n?"You":"Participant"),a=(e==null?void 0:e.publication)&&!e.publication.isMuted;return l.jsxs("div",{className:`relative rounded-lg overflow-hidden ${o.video.tile} ${s}`,children:[a?l.jsx(Ne.VideoTrack,{trackRef:e,className:"w-full h-full object-cover"}):l.jsx("div",{className:`w-full h-full flex items-center justify-center ${o.video.placeholder}`,children:l.jsxs("div",{className:"text-center",children:[l.jsx("div",{className:`w-16 h-16 mx-auto mb-2 rounded-full flex items-center justify-center ${o.video.avatar}`,children:l.jsx(Ee.User,{className:"w-8 h-8"})}),l.jsx("p",{className:"text-sm opacity-80",children:i}),l.jsx("p",{className:"text-xs opacity-60",children:"Camera off"})]})}),l.jsx("div",{className:`absolute bottom-2 left-2 px-2 py-1 rounded text-xs ${o.video.nameOverlay}`,children:i}),((c=e==null?void 0:e.publication)==null?void 0:c.isMuted)&&l.jsx("div",{className:`absolute top-2 right-2 p-1 rounded ${o.video.mutedIndicator}`,children:l.jsx(Ee.CameraOff,{className:"w-4 h-4"})})]})}function tx({trackRefs:e,participants:t,theme:n,localParticipant:s}){const r=e.find(u=>u.source===Z.Track.Source.Camera&&u.participant===s),o=e.filter(u=>u.participant!==s),i=e.length,a=i<=1?1:i<=4?2:3,c="grid gap-2 h-full",d={gridTemplateColumns:`repeat(${a}, 1fr)`,gridAutoRows:"minmax(0, 1fr)"};return l.jsxs("div",{className:c,style:d,children:[r&&s&&l.jsx(Za,{trackRef:r,participant:s,isLocal:!0,theme:n,className:"min-h-0"}),o.map((u,f)=>{var h;return l.jsx(Za,{trackRef:u,participant:u.participant,isLocal:!1,theme:n,className:"min-h-0"},((h=u.publication)==null?void 0:h.trackSid)||f)}),i===0&&l.jsx("div",{className:"flex items-center justify-center h-full",children:l.jsxs("div",{className:"text-center",children:[l.jsx(Ee.Users,{className:"w-12 h-12 mx-auto mb-4 opacity-50"}),l.jsx("p",{className:"text-lg opacity-70",children:"Waiting for participants..."}),l.jsx("p",{className:"text-sm opacity-50",children:"Turn on your camera to start the video call"})]})})]})}function nx({client:e,theme:t="vox",onBack:n,disabled:s=!1,displayType:r,onEndCall:o}){const i=Ve(t),a=Gl(e),{videoTrackRefs:c}=Fg(e),d=p.useMemo(()=>e.getRemoteParticipants(),[e,a]),u=gn(e,"camera"),f=gn(e,"screenShare"),[h,g]=p.useState(null),x=p.useCallback(async()=>{u.pending||await u.toggle()},[u]),m=p.useCallback(async()=>{f.pending||await f.toggle()},[f]),b=p.useCallback(()=>{o?o():n&&n()},[o,n]);return p.useEffect(()=>{if(!e)return;const k=v=>{console.log("📺 Video: Interactive UI state updated:",v),g(v)};return e.on("interactive.ui.update",k),e.on("interactive.ui.show",k),()=>{e.off("interactive.ui.update",k),e.off("interactive.ui.show",k)}},[e]),l.jsxs("div",{className:`flex flex-col h-full ${i.video.container}`,children:[l.jsxs("div",{className:`flex items-center justify-between p-4 border-b ${i.video.header}`,children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:`w-3 h-3 rounded-full ${i.video.statusDot}`}),l.jsx("span",{className:"font-medium",children:"Video Call"}),l.jsxs("span",{className:"text-sm opacity-70",children:[d.length+1," participant",d.length!==0?"s":""]})]}),l.jsx("div",{className:"flex items-center gap-2",children:l.jsx("button",{className:`p-2 rounded-lg transition-colors ${i.video.headerButton}`,title:"Layout options",children:l.jsx(Ee.LayoutGrid,{className:"w-4 h-4"})})})]}),l.jsx("div",{className:"flex-1 p-4 min-h-0",children:l.jsx(tx,{trackRefs:c,participants:d,localParticipant:a==null?void 0:a.localParticipant,theme:t})}),h&&l.jsx(ie.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},className:"absolute inset-4 z-10",children:l.jsx(Kt,{interaction:h,onDismiss:()=>g(null),theme:t})}),l.jsx(ex,{onToggleCamera:x,onToggleScreenShare:m,onEndCall:b,onBack:n,theme:t,cameraEnabled:u.enabled,screenShareEnabled:f.enabled,isCameraLoading:u.pending,isScreenShareLoading:f.pending,disabled:s})]})}function Wn({onClick:e,disabled:t,theme:n}){const s=Ve(n);return l.jsx("button",{className:s.micButton,onClick:e,disabled:t,"aria-label":"Start Voice Session",type:"button",children:l.jsx(hd,{})})}function rr({onClick:e,disabled:t,theme:n}){const s=Ve(n);return l.jsx("button",{className:s.chatButton,onClick:e,disabled:t,"aria-label":"Start Chat Session",type:"button",children:l.jsx(fd,{})})}function or({onClick:e,disabled:t,theme:n}){const s=Ve(n);return l.jsx("button",{className:s.videoButton,onClick:e,disabled:t,"aria-label":"Start Video Session",type:"button",children:l.jsx(md,{})})}function sx({prompts:e,theme:t}){const n=Ve(t),[s,r]=C.useState(0);return C.useEffect(()=>{const o=setInterval(()=>{r(i=>(i+1)%e.length)},3e3);return()=>clearInterval(o)},[e.length]),l.jsx("div",{className:"w-96 min-h-[3rem] h-12 relative overflow-hidden flex items-center justify-center",children:e.map((o,i)=>l.jsx("div",{className:`
|
|
29
102
|
${n.promptSlider}
|
|
30
103
|
${i===s?"opacity-100":"opacity-0"}
|
|
31
104
|
whitespace-pre-line break-words
|
|
32
|
-
`,style:{minHeight:"2.5rem",display:i===s?"block":"none"},children:r},i))})}function Uf({statusMessage:e,theme:t}){const n=ye(t);return a.jsxs("div",{className:"z-10 flex items-center space-x-2 mt-2 pb-2",children:[a.jsx("div",{className:n.statusIndicator}),a.jsx("span",{className:`text-xs ${n.text.muted}`,children:e})]})}const zf=({disabled:e,onStartCall:t,onStartChat:n,onStartVideo:s,prompts:o=['"Book a meeting with the marketing team"',`"What's the status of project Alpha?"`,`"Summarize yesterday's sales report"`,'"Find a good Italian restaurant nearby"','"Remind me to call John tomorrow at 10 AM"'],statusMessage:r="Agent is ready",title:i="Choose how to interact",subTitle:l="Ask me anything or give me a task to complete",theme:c="vox",modalities:d=["voice","chat","video"]})=>{const u=ye(c),m=d.includes("voice"),f=d.includes("chat"),p=d.includes("video"),g=[m,f,p].filter(Boolean).length;return console.log("🎯 Welcome component debug:",{modalities:d,hasVoice:m,hasChat:f,hasVideo:p,totalButtons:g,onStartVideo:!!s}),a.jsxs("div",{inert:e,className:"flex p-8 flex-col items-center h-full justify-center w-full",children:[a.jsxs("div",{className:"mt-1 relative flex items-center justify-center mb-8 w-full",style:{minHeight:"120px"},children:[a.jsxs("div",{className:"absolute inset-0 flex items-center justify-center",children:[a.jsx("div",{className:u.pulseRings.ring1}),a.jsx("div",{className:u.pulseRings.ring2,style:{animationDelay:"0.5s"}}),a.jsx("div",{className:u.pulseRings.ring3,style:{animationDelay:"1s"}})]}),a.jsx("div",{className:"relative z-10 flex items-center justify-center",children:m&&f&&p?a.jsxs("div",{className:"flex gap-4 items-center justify-center",children:[a.jsx(Jt,{onClick:t,disabled:e,theme:c}),a.jsx(On,{onClick:n,disabled:e,theme:c}),a.jsx(_n,{onClick:s||t,disabled:e,theme:c})]}):g>1?a.jsxs("div",{className:"flex gap-6 items-center justify-center",children:[m&&a.jsx(Jt,{onClick:t,disabled:e,theme:c}),f&&a.jsx(On,{onClick:n,disabled:e,theme:c}),p&&s&&a.jsx(_n,{onClick:s,disabled:e,theme:c})]}):a.jsx("div",{className:"flex items-center justify-center",children:m?a.jsx(Jt,{onClick:t,disabled:e,theme:c}):f?a.jsx(On,{onClick:n,disabled:e,theme:c}):p&&s?a.jsx(_n,{onClick:s,disabled:e,theme:c}):a.jsx(Jt,{onClick:t,disabled:e,theme:c})})})]}),a.jsxs("div",{className:"text-center flex flex-col items-center gap-y-2 mb-6 w-full",children:[a.jsx("h3",{className:`text-xl font-semibold mb-2 ${u.text.accent}`,children:i}),a.jsx("p",{className:`text-sm leading-relaxed px-4 ${u.text.secondary}`,children:l}),g>1&&a.jsxs("div",{className:"flex gap-6 mt-4 text-xs justify-center",children:[m&&a.jsxs("div",{className:"flex flex-col items-center gap-1",children:[a.jsx(Be.Mic,{className:"w-4 h-4"}),a.jsx("span",{className:u.text.muted,children:"Voice"})]}),f&&a.jsxs("div",{className:"flex flex-col items-center gap-1",children:[a.jsx(Be.Chat,{className:"w-4 h-4"}),a.jsx("span",{className:u.text.muted,children:"Chat"})]}),p&&a.jsxs("div",{className:"flex flex-col items-center gap-1",children:[a.jsx(Be.Videocam,{className:"w-4 h-4"}),a.jsx("span",{className:u.text.muted,children:"Video"})]})]})]}),a.jsx(Zf,{prompts:o,theme:c}),a.jsx(Uf,{statusMessage:r,theme:c})]})};function Fa({room:e,onSessionEnd:t,onSessionStart:n,enableConsoleLogging:s=!0,enableLocalStorage:o=!0,voxketSessionId:r}={}){const[i,l]=h.useState(null),[c,d]=h.useState([]),[u,m]=h.useState(null),[f,p]=h.useState([]),g=h.useCallback((b,S)=>{const w={timestamp:new Date,event:b,data:S,sessionId:i==null?void 0:i.sessionId,participantId:u==null?void 0:u.identity};if(d(C=>[...C,w]),o){const C=JSON.parse(localStorage.getItem("voxket-session-logs")||"[]");C.push(w),localStorage.setItem("voxket-session-logs",JSON.stringify(C))}return w},[i==null?void 0:i.sessionId,u==null?void 0:u.identity,s,o]);h.useEffect(()=>{if(!e)return;const b=()=>{const L=r||`session-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,W=new Date,H={sessionId:L,startTime:W,totalMessages:0,connectionIssues:0,participantCount:f.length,events:[]};l(H),g("SESSION_STARTED",{sessionId:L,startTime:W}),n==null||n(L)},S=()=>{if(i){const L=new Date,W=L.getTime()-i.startTime.getTime(),H={...i,endTime:L,duration:W,events:c};g("SESSION_ENDED",{sessionId:i.sessionId,duration:`${Math.round(W/1e3)}s`,totalMessages:i.totalMessages,connectionIssues:i.connectionIssues}),t==null||t(H),l(null),d([])}},w=L=>{g("CONNECTION_STATE_CHANGED",{state:L}),L===I.ConnectionState.Reconnecting&&i&&(l(W=>W?{...W,connectionIssues:W.connectionIssues+1}:null),g("CONNECTION_ISSUE",{type:"reconnecting"}))},C=L=>{g("TRACK_PUBLISHED",{trackKind:L.kind,trackSource:L.source})},A=L=>{g("TRACK_UNPUBLISHED",{trackKind:L.kind,trackSource:L.source})},j=(L,W)=>{i&&l(H=>H?{...H,totalMessages:H.totalMessages+1}:null),g("DATA_RECEIVED",{participantId:W==null?void 0:W.identity,dataSize:L.length})},k=L=>{g("PARTICIPANT_CONNECTED",{participantId:L.identity,participantName:L.name}),p(W=>[...W,L]),i&&l(W=>W?{...W,participantCount:W.participantCount+1}:null)},D=L=>{g("PARTICIPANT_DISCONNECTED",{participantId:L.identity,participantName:L.name}),p(W=>W.filter(H=>H.identity!==L.identity))};return e.localParticipant&&m(e.localParticipant),e.on(I.RoomEvent.Connected,b),e.on(I.RoomEvent.Disconnected,S),e.on(I.RoomEvent.ConnectionStateChanged,w),e.on(I.RoomEvent.TrackPublished,C),e.on(I.RoomEvent.TrackUnpublished,A),e.on(I.RoomEvent.DataReceived,j),e.on(I.RoomEvent.ParticipantConnected,k),e.on(I.RoomEvent.ParticipantDisconnected,D),()=>{e.off(I.RoomEvent.Connected,b),e.off(I.RoomEvent.Disconnected,S),e.off(I.RoomEvent.ConnectionStateChanged,w),e.off(I.RoomEvent.TrackPublished,C),e.off(I.RoomEvent.TrackUnpublished,A),e.off(I.RoomEvent.DataReceived,j),e.off(I.RoomEvent.ParticipantConnected,k),e.off(I.RoomEvent.ParticipantDisconnected,D)}},[e,i,c,f.length,g,t,n]);const x=h.useCallback(()=>o?JSON.parse(localStorage.getItem("voxket-session-logs")||"[]"):c,[c,o]),v=h.useCallback(()=>{o&&localStorage.removeItem("voxket-session-logs"),d([])},[o]),E=h.useCallback(()=>{const b=x(),S=JSON.stringify(b,null,2),w="data:application/json;charset=utf-8,"+encodeURIComponent(S),C=`voxket-session-logs-${new Date().toISOString().split("T")[0]}.json`,A=document.createElement("a");A.setAttribute("href",w),A.setAttribute("download",C),A.click()},[x]);return{sessionMetrics:i,sessionLogs:c,logEvent:g,getSessionLogs:x,clearSessionLogs:v,exportSessionLogs:E}}class Qs{constructor(){me(this,"listeners",{})}on(t,n){return this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(n),()=>this.off(t,n)}once(t,n){const s=(...o)=>{this.off(t,s),n(...o)};return this.on(t,s)}off(t,n){const s=this.listeners[t];if(!s)return;const o=s.indexOf(n);o>-1&&s.splice(o,1)}removeAllListeners(t){t?delete this.listeners[t]:this.listeners={}}emit(t,...n){const s=this.listeners[t];if(!s)return;const o=[...s];for(const r of o)try{r(...n)}catch(i){console.error(`Error in event listener for ${String(t)}:`,i)}}listenerCount(t){var n;return((n=this.listeners[t])==null?void 0:n.length)??0}eventNames(){return Object.keys(this.listeners)}}class La{constructor(t){me(this,"plugins",new Map);me(this,"installedPlugins",new Set);me(this,"context");this.context={client:t,emit:t.emit.bind(t),on:t.on.bind(t),config:{}}}register(t){if(this.plugins.has(t.name))throw new Error(`Plugin '${t.name}' is already registered`);if(t.dependencies){for(const n of t.dependencies)if(!this.plugins.has(n))throw new Error(`Plugin '${t.name}' depends on '${n}' which is not registered`)}this.plugins.set(t.name,t)}async install(t,n){const s=this.plugins.get(t);if(!s)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t))throw new Error(`Plugin '${t}' is already installed`);if(s.dependencies)for(const r of s.dependencies)this.installedPlugins.has(r)||await this.install(r);const o={...this.context,config:{...s.config,...n}};s.install&&await s.install(o),this.installedPlugins.add(t),this.setupPluginEvents(s,o)}async uninstall(t){var s;const n=this.plugins.get(t);if(!n)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t)){for(const[o,r]of this.plugins)if(this.installedPlugins.has(o)&&((s=r.dependencies)!=null&&s.includes(t)))throw new Error(`Cannot uninstall '${t}' because '${o}' depends on it`);n.uninstall&&await n.uninstall(this.context),this.installedPlugins.delete(t)}}isInstalled(t){return this.installedPlugins.has(t)}getInstalledPlugins(){return Array.from(this.installedPlugins)}getAvailablePlugins(){return Array.from(this.plugins.keys())}getPluginInfo(t){return this.plugins.get(t)}setupPluginEvents(t,n){t.onSessionStart&&n.on("session.started",s=>{t.onSessionStart(n,s.id)}),t.onSessionEnd&&n.on("session.ended",s=>{t.onSessionEnd(n,s.id)}),t.onAgentResponse&&n.on("agent.response",s=>{t.onAgentResponse(n,s)})}}function Wf(e){return e}function eo(e,t,n){return{name:e,version:"1.0.0",description:`${t} modality plugin`,install:async s=>{n.onActivate&&await n.onActivate(s)},uninstall:async s=>{n.onDeactivate&&await n.onDeactivate(s)},onAgentResponse:n.onMessage}}const Kf={name:"analytics",version:"1.0.0",description:"Built-in analytics tracking",install:async e=>{console.log("Analytics plugin installed"),e.on("session.started",t=>{console.log("Analytics: Session started",t.id)}),e.on("session.ended",(t,n)=>{console.log("Analytics: Session ended",t.id,n)}),e.on("chat.message.sent",t=>{console.log("Analytics: User message sent",t.content.length)})}},Gf={name:"debug",version:"1.0.0",description:"Debug logging and development tools",install:async e=>{console.log("Debug plugin installed");const t=e.emit;e.emit=(n,...s)=>(console.log(`[Debug] Event: ${String(n)}`,s),t(n,...s))}},Yf={name:"metrics",version:"1.0.0",description:"Advanced metrics collection",install:async e=>{console.log("Metrics plugin installed");const t=new Map;e.on("session.started",n=>{t.set(n.id,{startTime:Date.now(),events:[]})}),e.on("agent.response",n=>{console.log("Metrics: Agent response analyzed",{type:n.type,length:n.content.length,timestamp:n.timestamp})})}},Ba=y.createContext(null);function $a({config:e,children:t,autoConnect:n=!1}){const[s,o]=y.useState(null),[r,i]=y.useState(!1),[l,c]=y.useState(!1),[d,u]=y.useState(null),[m,f]=y.useState(null),[p,g]=y.useState("idle"),[x,v]=y.useState(null),[E,b]=y.useState([]),[S,w]=y.useState([]),[C,A]=y.useState([]);y.useEffect(()=>{const M=new _t(e);return o(M),j(M),n&&k(M),()=>{M.disconnect().catch(console.error)}},[e,n]);const j=M=>{M.on("connection.connecting",()=>{c(!0),u(null)}),M.on("connection.connected",()=>{i(!0),c(!1),u(null)}),M.on("connection.disconnected",()=>{i(!1),c(!1),f(null),g("idle"),b([]),w([]),A([])}),M.on("connection.error",G=>{u(G),c(!1)}),M.on("session.created",G=>{f(G),g(G.state)}),M.on("session.state.changed",G=>{g(G),m&&f({...m,state:G})}),M.on("session.ended",(G,Y)=>{f(null),g("idle"),v(Y),b([]),w([]),A([])}),M.on("participant.joined",G=>{b(Y=>[...Y,G])}),M.on("participant.left",G=>{b(Y=>Y.filter(V=>V.id!==G.id))}),M.on("chat.message.received",G=>{w(Y=>[...Y,G])}),M.on("chat.message.sent",G=>{w(Y=>[...Y,G])}),M.on("transcription.received",G=>{A(Y=>[...Y,G])})},k=async M=>{const G=M||s;if(G)try{await G.connect()}catch(Y){console.error("Failed to connect:",Y)}},z={client:s,isConnected:r,isConnecting:l,connectionError:d,currentSession:m,sessionState:p,sessionMetrics:x,participants:E,chatMessages:S,transcriptions:C,connect:()=>k(),disconnect:async()=>{if(s)try{await s.disconnect()}catch(M){console.error("Failed to disconnect:",M)}},createSession:async(M,G={})=>{if(!s)throw new Error("Client not initialized");const Y={agentId:M,participantName:G.participantName||"User",metadata:G.metadata,modalities:G.modalities||["voice"]};return await s.createSession(Y)},endSession:async()=>s?await s.endSession():null,sendChatMessage:async M=>{if(!s)throw new Error("Client not initialized");await s.sendChatMessage(M)},setMicrophoneEnabled:async M=>{if(!s)throw new Error("Client not initialized");await s.setMicrophoneEnabled(M)},setCameraEnabled:async M=>{if(!s)throw new Error("Client not initialized");await s.setCameraEnabled(M)},startScreenShare:async()=>{if(!s)throw new Error("Client not initialized");await s.startScreenShare()},stopScreenShare:async()=>{if(!s)throw new Error("Client not initialized");await s.stopScreenShare()}};return a.jsx(Ba.Provider,{value:z,children:t})}function Ie(){const e=y.useContext(Ba);if(!e)throw new Error("useVoxket must be used within a VoxketProvider");return e}class qf extends Qs{constructor(n){super();me(this,"room",null);me(this,"registeredMethods",new Map);me(this,"activeInteractions",new Map);me(this,"currentInteraction",null);n&&this.setRoom(n)}setRoom(n){this.room=n}async registerFrontendRPC(n,s,o="embedded"){if(console.log(`RpcManager: Starting registration for method '${n}'`),!this.room)throw console.error(`RpcManager: Cannot register '${n}' - no room instance`),new Error("Room not initialized. Cannot register RPC method.");if(!this.room.localParticipant)throw console.error(`RpcManager: Cannot register '${n}' - no local participant`),new Error("Local participant not available for RPC registration");console.log(`RpcManager: Room state: ${this.room.state}`),console.log(`RpcManager: Local participant: ${this.room.localParticipant.identity}`),console.log(`RpcManager: Registering frontend RPC method: ${n}`);const r={methodName:n,component:s,presentationMode:o};this.registeredMethods.set(n,r);try{this.room.registerRpcMethod(n,async i=>{console.log(`RpcManager: RPC method '${n}' called by ${i.callerIdentity}`),console.log("RpcManager: Payload:",i.payload),this.emit("rpc.method.called",{methodName:n,data:i});let l;console.log(`RpcManager: Current registration for '${n}':`,r);let c=i.responseTimeout||30;try{l=JSON.parse(i.payload)}catch{l=i.payload}try{const d=await this.awaitUserInteraction(n,s,o,l,c);return JSON.stringify(d)}catch(d){throw console.error(`RpcManager: Error in RPC method '${n}':`,d),d}}),this.emit("rpc.method.registered",{methodName:n}),console.log(`RpcManager: Successfully registered RPC method: ${n}`)}catch(i){throw console.error(`RpcManager: Failed to register RPC method '${n}':`,i),i}}async awaitUserInteraction(n,s,o,r,i){return new Promise((l,c)=>{const d=`${n}_${Date.now()}`;console.log(`RpcManager: Starting user interaction for method: ${n}, timeout: ${i} seconds`);const u={didSuccess:(f,p)=>{console.log(`RpcManager: User interaction successful for method: ${n}`,f),this.clearInteraction(d),this.currentInteraction=null;const g={success:!0,message:"User interaction completed successfully",data:f,timestamp:new Date,...p?{successView:p}:{}};this.emit("rpc.interaction.completed",{methodName:n,response:g}),l(g)},didFail:f=>{console.log(`RpcManager: User interaction failed for method: ${n}`,f),this.clearInteraction(d);const p={success:!1,message:"User interaction failed",error:f,timestamp:new Date};this.emit("rpc.interaction.completed",{methodName:n,response:p}),l(p)},dismissView:()=>{var p;console.log(`RpcManager: User dismissed interaction for method: ${n}`),console.log("RpcManager: Current interaction before dismiss:",(p=this.currentInteraction)==null?void 0:p.methodName),this.clearInteraction(d),this.currentInteraction=null,console.log("RpcManager: Current interaction after dismiss:",this.currentInteraction);const f={success:!0,data:{dismissed:!0,reason:"User dismissed the interaction"},message:"User interaction dismissed",timestamp:new Date};this.emit("rpc.interaction.dismissed",{methodName:n,response:f}),this.emit("rpc.interaction.completed",{methodName:n,response:f}),setTimeout(()=>{var g;((g=this.currentInteraction)==null?void 0:g.methodName)===n&&(console.log(`RpcManager: Force clearing interaction for ${n}`),this.currentInteraction=null)},0),l(f)},didTimeout:f=>{console.log(`RpcManager: User interaction timeout for method: ${n}`),this.clearInteraction(d),this.currentInteraction=null;const p={success:!0,message:`User interaction timed out after ${i} seconds, it should be considered as declined, agent don't need to retry`,timestamp:new Date,...f?{timeoutView:f}:{}};this.emit("rpc.interaction.timeout",{methodName:n,response:p}),setTimeout(()=>{var g;((g=this.currentInteraction)==null?void 0:g.methodName)===n&&(console.log(`RpcManager: Force clearing interaction for ${n}`),this.currentInteraction=null)},0),l(p)}},m=setTimeout(()=>{u.didTimeout&&u.didTimeout()},i);this.activeInteractions.set(d,{resolve:f=>l(JSON.parse(f)),reject:c,timeoutId:m}),this.currentInteraction={isVisible:!0,methodName:n,component:s,presentationMode:o,timeout:i,data:r,handler:u},this.emit("rpc.interaction.started",{methodName:n,presentationMode:o}),setTimeout(async()=>{var f;if((f=this.currentInteraction)!=null&&f.handler)try{console.log(`RpcManager: Component created for method: ${n} with data:`,r)}catch(p){console.error("RpcManager: Error loading data into component:",p),u.didFail({error:"Failed to load data into component"})}},100)})}clearInteraction(n){const s=this.activeInteractions.get(n);s&&(console.log(`RpcManager: Clearing interaction: ${n}`),clearTimeout(s.timeoutId),this.activeInteractions.delete(n))}getCurrentInteraction(){return this.currentInteraction}dismissCurrentInteraction(){var n;this.currentInteraction&&(console.log(`RpcManager: Dismissing current interaction: ${this.currentInteraction.methodName}`),(n=this.currentInteraction.handler)==null||n.dismissView(),setTimeout(()=>{this.currentInteraction&&(console.log("RpcManager: Force clearing lingering interaction"),this.currentInteraction=null)},0))}getRegisteredMethods(){return Array.from(this.registeredMethods.keys())}unregisterMethod(n){this.registeredMethods.delete(n),console.log(`RpcManager: Unregistered RPC method: ${n}`)}clear(){for(const[n,s]of this.activeInteractions)clearTimeout(s.timeoutId);this.activeInteractions.clear(),this.registeredMethods.clear(),this.currentInteraction=null,console.log("RpcManager: Cleared all registrations and interactions")}}class ee extends Error{constructor(t,n,s){super(t),this.code=n,this.details=s,this.name="VoxketError"}}class _t extends Qs{constructor(n){super();me(this,"config");me(this,"room",null);me(this,"pluginManager");me(this,"rpcManager");me(this,"isConnected",!1);me(this,"currentSession",null);me(this,"connectionState",I.ConnectionState.Disconnected);me(this,"renderedComponents",new Map);me(this,"textStreamHandlersRegistered",!1);me(this,"currentAgentInfo",null);me(this,"chatMessages",[]);this.config=n,this.pluginManager=new La(this),this.rpcManager=new qf,this.setupEventListeners(),this.initializeClient()}setupEventListeners(){this.on("connection.connected",()=>{var n,s;this.isConnected=!0,(s=(n=this.config).onConnected)==null||s.call(n)}),this.on("connection.disconnected",n=>{var s,o;this.isConnected=!1,(o=(s=this.config).onDisconnected)==null||o.call(s,n)}),this.on("connection.error",n=>{var s,o;(o=(s=this.config).onError)==null||o.call(s,n)}),this.on("chat.message.received",n=>{var s,o;this.addChatMessage(n),(o=(s=this.config).onMessageReceived)==null||o.call(s,n)}),this.on("chat.message.updated",n=>{this.updateChatMessage(n)}),this.on("chat.message.sent",n=>{this.addChatMessage(n)}),this.on("transcription.received",n=>{var s,o;(o=(s=this.config).onTranscriptionReceived)==null||o.call(s,n)}),this.on("session.state.changed",n=>{var s,o;(o=(s=this.config).onSessionStateChanged)==null||o.call(s,n)}),this.on("session.created",n=>{var s,o;(o=(s=this.config).onSessionStart)==null||o.call(s,n.id)}),this.on("session.ended",(n,s)=>{var o,r;(r=(o=this.config).onSessionEnd)==null||r.call(o,s)}),this.on("participant.joined",n=>{var s,o;(o=(s=this.config).onUserJoined)==null||o.call(s,n.id)}),this.on("participant.left",n=>{var s,o;(o=(s=this.config).onUserLeft)==null||o.call(s,n.id)}),this.setupRpcEventForwarding()}setupRpcEventForwarding(){if(!this.rpcManager){console.warn("RpcManager not initialized, skipping event forwarding setup");return}this.rpcManager.on("rpc.method.registered",n=>this.emit("rpc.method.registered",n)),this.rpcManager.on("rpc.method.called",n=>this.emit("rpc.method.called",n)),this.rpcManager.on("rpc.interaction.started",n=>this.emit("rpc.interaction.started",n)),this.rpcManager.on("rpc.interaction.completed",n=>this.emit("rpc.interaction.completed",n)),this.rpcManager.on("rpc.interaction.timeout",n=>this.emit("rpc.interaction.timeout",n)),this.rpcManager.on("rpc.interaction.dismissed",n=>this.emit("rpc.interaction.dismissed",n))}initializeClient(){this.room=new I.Room,this.setupRoomEventListeners()}setupRoomEventListeners(){this.room&&(this.room.on(I.RoomEvent.Connected,()=>{var n,s;this.connectionState=I.ConnectionState.Connected,this.emit("connection.connected"),this.rpcManager.setRoom(this.room),(s=(n=this.currentSession)==null?void 0:n.activeModalities)!=null&&s.includes("voice")&&setTimeout(async()=>{var o;try{(o=this.room)!=null&&o.localParticipant&&(this.room.localParticipant.isMicrophoneEnabled?this.emit("track.unmuted",{source:"microphone",enabled:!0}):(await this.room.localParticipant.setMicrophoneEnabled(!0),this.emit("track.unmuted",{source:"microphone",enabled:!0})))}catch(r){console.warn("VoxketClient: Failed to enable microphone after room connection:",r)}},1e3),this.textStreamHandlersRegistered||this.setupTextStreamHandlers()}),this.room.on(I.RoomEvent.Disconnected,n=>{this.connectionState=I.ConnectionState.Disconnected,this.textStreamHandlersRegistered=!1,this.emit("connection.disconnected",n==null?void 0:n.toString())}),this.room.on(I.RoomEvent.ConnectionStateChanged,n=>{this.connectionState=n,n===I.ConnectionState.Connecting&&this.emit("connection.connecting")}),this.room.on(I.RoomEvent.ParticipantConnected,n=>{const s={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.joined",s)}),this.room.on(I.RoomEvent.ParticipantDisconnected,n=>{const s={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.left",s)}))}setupTextStreamHandlers(){if(this.room){try{this.room.registerTextStreamHandler("lk.chat",async(n,s)=>{try{const o=await n.readAll(),r={id:`msg_${Date.now()}_${s.identity||"user"}_${Math.random().toString(36).substr(2,9)}`,content:o,timestamp:new Date,sender:{id:s.identity||"user",name:s.identity||"User",type:"participant"},metadata:{topic:"lk.chat"}};this.emit("chat.message.received",r)}catch(o){console.error("VoxketClient: Failed to process lk.chat message:",o)}})}catch(n){console.warn("VoxketClient: lk.chat handler already registered, skipping:",n)}try{this.room.registerTextStreamHandler("lk.transcription",async(n,s)=>{var o,r;try{const i=`msg_${Date.now()}_agent_transcription_${Math.random().toString(36).substr(2,9)}`;let l="";const c=((o=this.currentAgentInfo)==null?void 0:o.name)||s.identity||"AI Assistant",d={id:i,content:"",timestamp:new Date,sender:{id:s.identity||"agent",name:c,type:"agent"},metadata:{topic:"lk.transcription",streaming:!0}};this.emit("chat.message.received",d);for await(const f of n){l+=f;const p=this.convertMarkdownToText(l),g={...d,content:p,metadata:{...d.metadata,streaming:!0}};this.emit("chat.message.updated",g)}const u=this.convertMarkdownToText(l),m={...d,content:u,metadata:{...d.metadata,streaming:!1}};this.emit("chat.message.updated",m)}catch(i){console.error("VoxketClient: Failed to process lk.transcription message:",i);try{const l=await n.readAll(),c=((r=this.currentAgentInfo)==null?void 0:r.name)||s.identity||"AI Assistant",d={id:`msg_${Date.now()}_agent_transcription_${Math.random().toString(36).substr(2,9)}`,content:l,timestamp:new Date,sender:{id:s.identity||"agent",name:c,type:"agent"},metadata:{topic:"lk.transcription"}};this.emit("chat.message.received",d)}catch(l){console.error("VoxketClient: Fallback failed for lk.transcription:",l)}}})}catch(n){console.warn("VoxketClient: lk.transcription handler already registered, skipping:",n)}try{this.room.registerTextStreamHandler("suggested_response",async n=>{const s=await n.readAll();let o=[];try{o=["tes","hello how are you","algebra make me learn that ","what is the meaning of life"]}catch(r){console.warn("VoxketClient: Failed to parse suggested_response:",r,s)}this.emit("suggested.response",o)})}catch(n){console.warn("VoxketClient: suggested_response handler already registered, skipping:",n)}try{this.room.registerTextStreamHandler("agent_state_changed",async(n,s)=>{const o=await n.readAll();let r={};try{r=typeof o=="string"?JSON.parse(o.replace(/'/g,'"')):o}catch(i){console.warn("VoxketClient: Failed to parse agent_state_changed:",i,o)}r.new_state==="speaking"?this.emit("agent.speaking",r):r.new_state==="thinking"&&this.emit("agent.thinking",r)})}catch(n){console.warn("VoxketClient: conversation_item_added handler already registered, skipping:",n)}try{this.room.registerTextStreamHandler("images",async(n,s)=>{try{const o=await n.readAll()}catch(o){console.error("VoxketClient: Error processing images stream:",o)}})}catch(n){console.warn("VoxketClient: images handler already registered, skipping:",n)}try{this.room.registerByteStreamHandler("images",async(n,s)=>{var o,r;try{const i=n.info,l={id:`img_${Date.now()}_${s.identity||"agent"}_${Math.random().toString(36).substr(2,9)}`,content:`�️ ${i.name||"Image"}`,sender:{id:s.identity||"agent",name:s.identity||"Agent",type:s.identity===((r=(o=this.room)==null?void 0:o.localParticipant)==null?void 0:r.identity)?"participant":"agent"},timestamp:new Date,metadata:{type:"attachment",fileName:i.name,fileSize:i.size,mimeType:i.mimeType,streamId:i.id,downloading:!0}};this.emit("chat.message.received",l),n.onProgress&&(n.onProgress=f=>{const p={...l,metadata:{...l.metadata,downloadProgress:f||0}};this.emit("chat.message.updated",p)});const c=[];for await(const f of n)c.push(f);const d=new Blob(c,{type:i.mimeType||"application/octet-stream"}),u=URL.createObjectURL(d),m={...l,metadata:{...l.metadata,downloading:!1,downloadProgress:1,downloadUrl:u,blob:d}};this.emit("chat.message.updated",m)}catch(i){console.error("VoxketClient: Error processing image attachment:",i)}})}catch(n){console.warn("VoxketClient: image handler already registered, skipping:",n)}this.textStreamHandlersRegistered=!0}}async fetchConnectionDetails(n,s,o){const r=n||this.config.agentId||"default-agent",i=s||this.config.participantName||"User",l=o||this.config.modalities||["voice"];try{const c={agent_id:r,participant_name:i,participant_metadata:{user_id:""},modality:l[0]},d=await fetch(`${this.config.baseUrl}/api/live/agent/session`,{method:"POST",headers:{accept:"application/json","X-APP-ID":this.config.appId,"X-APP-SECRET":this.config.appSecret,"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok){let f=`HTTP ${d.status}: Failed to fetch connection details`;try{const p=await d.json();p&&(p.error?f=`API Error: ${p.error}`:p.detail?f=`API Error: ${p.detail}`:p.message&&(f=`API Error: ${p.message}`))}catch{try{const g=await d.text();g&&(f=`API Error: ${g}`)}catch{}}throw new Error(f)}const u=await d.json();let m;return u.agent_info&&(m={id:u.agent_info.id||r,name:u.agent_info.name||"AI Assistant",avatar:u.agent_info.avatar,capabilities:u.agent_info.capabilities||["voice_interaction","text_chat"],metadata:u.agent_info.metadata||{}},this.currentAgentInfo=m),{serverUrl:u.wss_url,participantToken:u.token,voxketSessionId:u.session_id,agentInfo:m}}catch(c){console.error("VoxketClient: fetchConnectionDetails failed:",c);const d=new ee(`Failed to fetch connection details: ${c instanceof Error?c.message:"Unknown error"}`,"CONNECTION_FAILED",c);throw this.emit("connection.error",d),d}}async connect(n,s,o){var r;try{this.emit("connection.connecting");const i=await this.fetchConnectionDetails(n,s,o);return await((r=this.room)==null?void 0:r.connect(i.serverUrl,i.participantToken)),this.isConnected=!0,i}catch(i){console.error("VoxketClient: Connection failed:",i);const l=new ee(`Failed to connect to Voxket services: ${i instanceof Error?i.message:"Unknown error"}`,"CONNECTION_FAILED",i);throw this.emit("connection.error",l),l}}async disconnect(){var n;try{await((n=this.room)==null?void 0:n.disconnect()),this.isConnected=!1,this.currentSession=null,this.currentAgentInfo=null,this.textStreamHandlersRegistered=!1,this.clearChatMessages(),this.room=new I.Room,this.setupRoomEventListeners()}catch(s){const o=new ee("Failed to disconnect properly","NETWORK_ERROR",s);throw this.emit("connection.error",o),o}}async createSession(n){var s,o;try{const r=await this.connect(n.agentId,n.participantName,n.modalities),i={id:r.voxketSessionId,agentId:n.agentId,state:"connecting",startedAt:new Date,metadata:n.metadata||{},activeModalities:n.modalities||["voice"],agentInfo:r.agentInfo||this.currentAgentInfo};if(this.currentSession=i,this.emit("session.created",i),(s=n.modalities)!=null&&s.includes("voice"))try{await new Promise(l=>setTimeout(l,500)),(o=this.room)!=null&&o.localParticipant?(await this.room.localParticipant.setMicrophoneEnabled(!0,void 0,{preConnectBuffer:!0}),this.emit("track.unmuted",{source:"microphone",enabled:!0})):console.warn("VoxketClient: No local participant found, microphone not enabled")}catch(l){console.warn("VoxketClient: Failed to enable microphone, but continuing with session:",l)}return setTimeout(()=>{this.currentSession&&(this.currentSession.state="active",this.emit("session.state.changed","active",this.currentSession.state))},1e3),i}catch(r){throw console.error("VoxketClient: Failed to create session:",r),r instanceof ee?r:r instanceof TypeError&&r.message.includes("fetch")?new ee("Network connection failed","CONNECTION_FAILED",r):r instanceof Error&&r.message.includes("Failed to fetch connection details")?new ee(`API connection failed: ${r.message}`,"CONNECTION_FAILED",r):new ee(`Failed to create session: ${r instanceof Error?r.message:"Unknown error"}`,"SESSION_NOT_FOUND",r)}}async startSession(n,s){const o={agentId:n||this.config.agentId||"default-agent",participantName:(s==null?void 0:s.participantName)||this.config.participantName||"User",modalities:(s==null?void 0:s.modalities)||this.config.modalities||["voice","chat"],metadata:s==null?void 0:s.metadata};return this.createSession(o)}async endSession(){var n,s;if(!this.currentSession)return null;try{const o={sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((s=this.room)==null?void 0:s.remoteParticipants.size)||0,audioQuality:{avgBitrate:64e3,avgLatency:150,packetLoss:.01,jitter:.05},videoQuality:{avgBitrate:5e5,avgLatency:150,packetLoss:.01,jitter:.05},networkStats:{totalBytesReceived:0,totalBytesSent:0,connectionType:"webrtc",avgRoundTripTime:150},events:[]};return this.currentSession.endedAt=new Date,this.currentSession.state="disconnected",this.emit("session.ended",this.currentSession,o),await this.disconnect(),o}catch(o){throw new ee("Failed to end session","SESSION_NOT_FOUND",o)}}getCurrentSession(){return this.currentSession}getCurrentAgentInfo(){return this.currentAgentInfo}getChatMessages(){return[...this.chatMessages]}addChatMessage(n){this.chatMessages.some(o=>o.id===n.id)||this.chatMessages.push(n)}updateChatMessage(n){const s=this.chatMessages.findIndex(o=>o.id===n.id);s!==-1&&(this.chatMessages[s]=n)}clearChatMessages(){this.chatMessages=[],this.dismissCurrentInteraction(),this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays(),this.emit("chat.history.cleared")}renderUI(n={}){var c,d,u;const s=this.resolveTarget(n.target||"body"),o=this.getTargetKey(s),r=this.renderedComponents.get(o);r&&r.target===s||this.removeUI(s);const i=(r==null?void 0:r.root)||hl.createRoot(s),l={agentId:n.agentId||this.config.agentId||"default-agent",participantName:n.participantName||this.config.participantName||"User",baseUrl:this.config.baseUrl,appSecret:this.config.appSecret,appId:this.config.appId,className:n.className,theme:typeof n.theme=="string"?n.theme:void 0,modalities:n.modality||this.config.modalities||["voice"],suportsChatInput:((c=n.modality)==null?void 0:c.includes("chat"))!==!1,suportsVideoInput:((d=n.modality)==null?void 0:d.includes("video"))===!0,suportsScreenShare:((u=n.modality)==null?void 0:u.includes("screen_share"))===!0,autoStart:n.autoStart,displayType:n.displayType||"widget",popupPosition:n.popupPosition||"bottom-right",popupTriggerText:n.popupTriggerText||"Open Chat",width:n.width,height:n.height,onDisplayTypeChange:n.onDisplayTypeChange,prompts:n.prompts,statusMessage:n.statusMessage,welcomeTitle:n.welcomeTitle,welcomeSubTitle:n.welcomeSubTitle,loadingText:n.loadingText,voxketClient:this};if(!i||typeof i.render!="function")throw new Error("Invalid React root. Make sure React 18+ is properly installed and configured.");try{i.render(y.createElement($a,{config:this.config,autoConnect:n.autoStart||!1,children:y.createElement(Oa,l)}))}catch(m){throw console.error("Error rendering Voxket widget:",m),new Error(`Failed to render Voxket widget: ${m instanceof Error?m.message:"Unknown error"}`)}this.renderedComponents.set(o,{root:i,target:s})}removeUI(n){const s=n?this.resolveTarget(n):null;if(s){const o=this.getTargetKey(s),r=this.renderedComponents.get(o);r&&(r.root.unmount(),this.renderedComponents.delete(o),s.querySelectorAll('[id*="voxket"], [class*="voxket"], .fixed.inset-0.z-50').forEach(l=>{try{l.remove()}catch(c){console.warn("Failed to remove element:",c)}}),s===document.body&&s.querySelectorAll(".fixed.z-50, .fixed.inset-0").forEach(c=>{if(c.classList.contains("bg-black")&&c.classList.contains("backdrop-blur-sm"))try{c.remove()}catch(d){console.warn("Failed to remove fixed element:",d)}}))}}removeAllUI(){for(const[n,s]of this.renderedComponents)s.root.unmount();this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays()}forceCleanupFullscreenOverlays(){document.body.querySelectorAll(".fixed.inset-0.z-50").forEach(s=>{if(s.classList.contains("bg-black")&&(s.classList.contains("backdrop-blur-sm")||s.classList.contains("bg-opacity-30")))try{s.remove()}catch(o){console.warn("Failed to remove overlay:",o)}})}resolveTarget(n){if(typeof n=="string"){const s=document.querySelector(n);if(!s)throw new Error(`Target element not found: ${n}`);return s}return n}getTargetKey(n){return n.id?n.id:n.className?n.tagName+"_"+n.className.replace(/\s+/g,"_"):n.tagName+"_"+n.outerHTML.length%1e3}async sendMessage(n,s){var o;if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new ee("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new ee("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new ee("No local participant","CONNECTION_FAILED");this.dismissCurrentInteraction();try{const r={id:`msg_${Date.now()}`,content:n,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:s||{}},i=await((o=this.room)==null?void 0:o.localParticipant.sendText(n,{topic:"lk.chat",destinationIdentities:[]}));this.emit("chat.message.sent",r)}catch(r){throw console.error("VoxketClient: Failed to send chat message:",r),new ee("Failed to send message","NETWORK_ERROR",r)}}async sendChatMessage(n,s){return this.sendMessage(n,s)}async sendAttachments(n,s){if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new ee("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new ee("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new ee("No local participant","CONNECTION_FAILED");if(!n||n.length===0)throw new ee("No files provided","INVALID_PARAMETER");this.dismissCurrentInteraction();const o=n.filter(r=>r.type.startsWith("image/"));if(o.length===0)throw new ee("Only image files are allowed","INVALID_PARAMETER");o.length!==n.length&&console.warn("VoxketClient: Some non-image files were filtered out");try{const r=o.map(async(i,l)=>{const d={id:`att_${Date.now()}_${l}`,content:`📎 ${i.name}`,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:{...s,type:"attachment",fileName:i.name,fileSize:i.size,mimeType:i.type,uploading:!0}};this.emit("chat.message.sent",d);const u=await this.room.localParticipant.sendFile(i,{mimeType:i.type,topic:"images",onProgress:f=>{const p={...d,metadata:{...d.metadata,uploadProgress:f}};this.emit("chat.message.updated",p)}});try{const f=new FileReader,p=new Promise((v,E)=>{f.onload=()=>{typeof f.result=="string"?v(f.result):E(new Error("Failed to convert to base64"))},f.onerror=E});f.readAsDataURL(i);const x={type:"image",data:await p,filename:i.name,mimeType:i.type,size:i.size};await this.room.localParticipant.sendText(JSON.stringify(x),{topic:"images",destinationIdentities:[]})}catch(f){console.warn("VoxketClient: Failed to send image data to agent:",f);try{const p=`I've shared an image: ${i.name}`;await this.room.localParticipant.sendText(p,{topic:"lk.chat",destinationIdentities:[]})}catch(p){console.warn("VoxketClient: Failed to send image notification to agent:",p)}}const m={...d,metadata:{...d.metadata,uploading:!1,uploadProgress:1,streamId:u.id}};return this.emit("chat.message.updated",m),u});await Promise.all(r)}catch(r){throw console.error("VoxketClient: Failed to send attachments:",r),new ee("Failed to send attachments","NETWORK_ERROR",r)}}async sendAttachment(n,s){return this.sendAttachments([n],s)}toggleMicrophone(n){return this.setMicrophoneEnabled(n!==!1)}async setMicrophoneEnabled(n){var s,o;try{const r=(s=this.room)==null?void 0:s.localParticipant.isMicrophoneEnabled,i=n??!r;await((o=this.room)==null?void 0:o.localParticipant.setMicrophoneEnabled(i)),i?this.emit("track.unmuted",{source:"microphone",enabled:!0}):this.emit("track.muted",{source:"microphone",enabled:!1})}catch(r){throw console.error("VoxketClient: Failed to toggle microphone:",r),new ee("Failed to toggle microphone","PERMISSION_DENIED",r)}}toggleCamera(n){return this.setCameraEnabled(n!==!1)}async setCameraEnabled(n){var s,o;try{const r=(s=this.room)==null?void 0:s.localParticipant.isCameraEnabled,i=n??!r;await((o=this.room)==null?void 0:o.localParticipant.setCameraEnabled(i)),i?this.emit("track.unmuted",{source:"camera",enabled:!0}):this.emit("track.muted",{source:"camera",enabled:!1})}catch(r){throw console.error("VoxketClient: Failed to toggle camera:",r),new ee("Failed to toggle camera","PERMISSION_DENIED",r)}}async enableCamera(){return this.setCameraEnabled(!0)}async disableCamera(){return this.setCameraEnabled(!1)}async startScreenShare(){var n;try{await((n=this.room)==null?void 0:n.localParticipant.setScreenShareEnabled(!0))}catch(s){throw new ee("Failed to start screen share","PERMISSION_DENIED",s)}}async stopScreenShare(){var n;try{await((n=this.room)==null?void 0:n.localParticipant.setScreenShareEnabled(!1))}catch(s){throw new ee("Failed to stop screen share","PERMISSION_DENIED",s)}}async getAudioInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(s=>s.kind==="audioinput")}catch(n){throw new ee("Failed to get audio input devices","DEVICE_ERROR",n)}}async getVideoInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(s=>s.kind==="videoinput")}catch(n){throw new ee("Failed to get video input devices","DEVICE_ERROR",n)}}async setAudioInputDevice(n){var s;try{if(!((s=this.room)!=null&&s.localParticipant))throw new Error("Not connected to room")}catch(o){throw new ee("Failed to set audio input device","DEVICE_ERROR",o)}}async setVideoInputDevice(n){var s;try{if(!((s=this.room)!=null&&s.localParticipant))throw new Error("Not connected to room")}catch(o){throw new ee("Failed to set video input device","DEVICE_ERROR",o)}}getLocalParticipant(){var n;return((n=this.room)==null?void 0:n.localParticipant)??null}getRemoteParticipants(){var n;return Array.from(((n=this.room)==null?void 0:n.remoteParticipants.values())??[])}getPublishPermissions(){const n=this.getLocalParticipant();if(!n)return{camera:!1,microphone:!1,screenShare:!1,data:!1};const s=n.permissions;if(!s)return{camera:!0,microphone:!0,screenShare:!0,data:!0};const o=r=>!!s.canPublish&&(s.canPublishSources.length===0||s.canPublishSources.includes(r));return{camera:o(1),microphone:o(2),screenShare:o(3),data:s.canPublishData??!1}}canPublishSource(n){return this.getPublishPermissions()[n]}getRoom(){return this.room}getConnectionState(){return this.connectionState}get connected(){return this.isConnected&&this.connectionState===I.ConnectionState.Connected}getMicrophoneTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,s]of n.trackPublications)if(s.source===I.Track.Source.Microphone)return s.track;return null}getCameraTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,s]of n.trackPublications)if(s.source===I.Track.Source.Camera)return s.track;return null}getScreenShareTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,s]of n.trackPublications)if(s.source===I.Track.Source.ScreenShare)return s.track;return null}get isMicrophoneEnabled(){const n=this.getMicrophoneTrack();return n?!n.isMuted:!1}get isCameraEnabled(){const n=this.getCameraTrack();return n?!n.isMuted:!1}get isScreenShareEnabled(){const n=this.getScreenShareTrack();return n?!n.isMuted:!1}registerPlugin(n){this.pluginManager.register(n)}getPluginManager(){return this.pluginManager}getParticipants(){if(!this.room)return[];const n=[];return this.room.localParticipant&&n.push({id:this.room.localParticipant.identity,name:this.room.localParticipant.name||this.room.localParticipant.identity,isLocal:!0}),this.room.remoteParticipants.forEach(s=>{n.push({id:s.identity,name:s.name||s.identity,isLocal:!1})}),n}getSessionMetrics(){var n,s;return this.currentSession?{sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((s=this.room)==null?void 0:s.remoteParticipants.size)||0,audioQuality:{avgBitrate:64e3,avgLatency:150,packetLoss:.01,jitter:.05},videoQuality:{avgBitrate:5e5,avgLatency:150,packetLoss:.01,jitter:.05},networkStats:{totalBytesReceived:0,totalBytesSent:0,connectionType:"webrtc",avgRoundTripTime:150},events:[]}:null}updateConfig(n){this.config={...this.config,...n}}async startRecording(){var n;try{this.emit("recording.started",{sessionId:(n=this.currentSession)==null?void 0:n.id,timestamp:new Date})}catch(s){throw new ee("Failed to start recording","RECORDING_ERROR",s)}}async stopRecording(){var n;try{this.emit("recording.stopped",{sessionId:(n=this.currentSession)==null?void 0:n.id,timestamp:new Date})}catch(s){throw new ee("Failed to stop recording","RECORDING_ERROR",s)}}async registerFrontendRPC(n,s,o="embedded"){return this.rpcManager.registerFrontendRPC(n,s,o)}getCurrentInteraction(){return this.rpcManager.getCurrentInteraction()}dismissCurrentInteraction(){this.rpcManager.dismissCurrentInteraction()}getRegisteredRpcMethods(){return this.rpcManager.getRegisteredMethods()}unregisterRpcMethod(n){this.rpcManager.unregisterMethod(n)}registerEventListener(n,s){return this.on(n,s)}registerEventEmitter(n,s){if(!this.room)throw new Error("Room not available");try{this.room.registerTextStreamHandler(n,async o=>{try{const r=await o.readAll();s(r)}catch(r){console.error(`Error processing event for topic '${n}':`,r)}})}catch(o){console.warn(`VoxketClient: Handler for topic '${n}' may already be registered:`,o)}}convertMarkdownToText(n){if(!n)return"";let s=n;return s=s.replace(/\*\*(.*?)\*\*/g,"$1"),s=s.replace(/__(.*?)__/g,"$1"),s=s.replace(/\*(.*?)\*/g,"$1"),s=s.replace(/_(.*?)_/g,"$1"),s=s.replace(/~~(.*?)~~/g,"$1"),s=s.replace(/`([^`]+)`/g,"$1"),s=s.replace(/```[\s\S]*?```/g,""),s=s.replace(/^#{1,6}\s+/gm,""),s=s.replace(/\[([^\]]+)\]\([^)]+\)/g,"$1"),s.trim()}}const Xf=Q.create(Tf),Jf=Q.create($f),Qf=Q.create(Hf),e0=Q.create(zf);function t0({onClick:e,text:t="Open Chat",position:n="bottom-right",theme:s}){const o={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"},r=ye(s);return a.jsx(Q.button,{onClick:e,className:`fixed ${o[n]} z-50 px-4 py-2 rounded-full shadow-lg ${r.popupTrigger} transition-all duration-200 hover:scale-105`,initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},whileHover:{scale:1.05},whileTap:{scale:.95},children:t})}function Li({children:e,theme:t,displayType:n="widget",onClose:s,popupPosition:o="bottom-right",onExpand:r}){const i=ye(t);if(n==="fullscreen")return a.jsx("div",{className:"fixed inset-0 z-50 bg-black bg-opacity-30 backdrop-blur-sm flex items-center justify-center p-8",children:a.jsxs("div",{className:"w-full h-full max-w-6xl max-h-[90vh] rounded-2xl relative bg-transparent",children:[s&&a.jsx("button",{onClick:l=>{l.preventDefault(),l.stopPropagation(),s()},className:"absolute top-4 cursor-pointer right-4 z-[100] w-12 h-12 rounded-full bg-gray-900 bg-opacity-90 text-white flex items-center justify-center hover:bg-gray-800 transition-all duration-200 shadow-lg border border-gray-700 backdrop-blur-sm",title:"Exit Fullscreen",type:"button",children:a.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:a.jsx("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"})})}),a.jsxs("div",{id:"voice-card",className:`${i.card} w-full h-full flex flex-col rounded-xl shadow-2xl`,style:{minHeight:"600px"},children:[a.jsx("div",{className:i.cardTopGradient}),a.jsx("div",{className:i.cardPurpleBlur}),a.jsx("div",{className:i.cardPinkBlur}),a.jsx("div",{className:" flex flex-col h-full",children:e}),a.jsx("div",{className:i.cardPulse1}),a.jsx("div",{className:i.cardPulse2,style:{animationDelay:"1s"}})]})]})});if(n==="popup"){const l={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"};return a.jsx("div",{className:"fixed rounded-2xl inset-0 z-50 pointer-events-none",children:a.jsxs("div",{className:`fixed rounded-2xl ${l[o]} pointer-events-auto`,children:[s&&a.jsx("button",{onClick:s,className:"absolute -top-2 -right-2 z-10 w-8 h-8 rounded-full bg-gray-900 bg-opacity-90 text-white flex items-center justify-center hover:bg-gray-800 transition-all duration-200 text-sm shadow-lg border border-gray-700",children:"×"}),a.jsxs("div",{id:"voice-card",className:`${i.card} rounded-2xl flex flex-col`,style:{width:"300px",height:"450px"},children:[a.jsx("div",{className:i.cardPurpleBlur}),a.jsx("div",{className:i.cardPinkBlur}),a.jsx("div",{className:" flex flex-col h-full",children:e}),a.jsx("div",{className:i.cardPulse1}),a.jsx("div",{className:i.cardPulse2,style:{animationDelay:"1s"}})]})]})})}return a.jsxs("div",{id:"voice-card",className:`${i.card}`,children:[r&&a.jsx("button",{onClick:r,className:"absolute top-4 right-4 z-20 w-10 h-10 rounded-full bg-gray-900 bg-opacity-90 text-white flex items-center justify-center hover:bg-gray-800 transition-all duration-200 shadow-lg border border-gray-700 backdrop-blur-sm",title:"Enter Fullscreen",children:a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:a.jsx("path",{d:"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7"})})}),a.jsx("div",{className:i.cardTopGradient}),a.jsx("div",{className:i.cardPurpleBlur}),a.jsx("div",{className:i.cardPinkBlur}),e,a.jsx("div",{className:i.cardPulse1}),a.jsx("div",{className:i.cardPulse2,style:{animationDelay:"1s"}})]})}function Oa(e){if(typeof window>"u")return null;console.log("🎯 Widget component rendering with props:",{displayType:e.displayType,popupPosition:e.popupPosition,theme:e.theme});const{agentId:t,participantName:n,baseUrl:s,appSecret:o,appId:r,prompts:i,statusMessage:l,welcomeTitle:c,welcomeSubTitle:d,className:u,width:m,height:f,loadingText:p,suportsChatInput:g=!0,suportsVideoInput:x=!0,suportsScreenShare:v=!0,theme:E="vox",onSessionStart:b,onSessionEnd:S,enableSessionLogging:w=!0,onSessionLogsUpdate:C,onSessionMetricsUpdate:A,modalities:j=["voice"],displayType:k="widget",popupPosition:D="bottom-right",popupTriggerText:L="Open Chat",onPopupToggle:W,voxketClient:H,onDisplayTypeChange:Ce}=e,[ne,te]=h.useState(()=>H?!!H.getCurrentSession():!1),[se,z]=h.useState(!1),[M,G]=h.useState(t||""),[Y,V]=h.useState(n||"User"),[q,T]=h.useState(()=>H?H.getCurrentSession():null),[F,Z]=h.useState(()=>{var J,He,Me;if(H){const ce=H.getCurrentSession();if((J=ce==null?void 0:ce.activeModalities)!=null&&J.includes("chat"))return"chat";if((He=ce==null?void 0:ce.activeModalities)!=null&&He.includes("voice"))return"voice";if((Me=ce==null?void 0:ce.activeModalities)!=null&&Me.includes("video"))return"video"}return"welcome"}),[B,R]=h.useState(!1);h.useEffect(()=>{console.log("🎯 Widget displayType prop changed to:",k)},[k]),h.useEffect(()=>{console.log("📊 Session state changed:",{currentMode:F,sessionStarted:ne,loading:se,currentSession:q==null?void 0:q.id,isPopupOpen:B})},[F,ne,se,q,B]);const _=h.useMemo(()=>{if(H)return console.log("🔄 Using passed VoxketClient to preserve session state"),H;console.log("🆕 Creating new VoxketClient instance");const J={appId:r,appSecret:o,baseUrl:s,agentId:M,participantName:Y||"User",modalities:j};return new _t(J)},[H,r,o,s,M,Y,j]),K=j,O=h.useMemo(()=>_.getRoom()||new I.Room,[_]),re={suportsChatInput:g,suportsVideoInput:x,suportsScreenShare:v},{sessionMetrics:oe,sessionLogs:he,logEvent:ve}=Fa({room:O,onSessionStart:b,onSessionEnd:S,enableConsoleLogging:w,enableLocalStorage:w,voxketSessionId:q==null?void 0:q.id});h.useEffect(()=>{C&&C(he)},[he,C]),h.useEffect(()=>{A&&oe&&A(oe)},[oe,A]),h.useEffect(()=>{const J=Me=>{console.log("🔴 Room disconnected:",Me),z(!1),te(!1),T(null),Z("welcome")},He=Me=>{console.log("📹 Media devices error:",Me),Xt({title:"Allow access to your microphone/camera",description:`${Me.name}: ${Me.message}`})};return O.on(I.RoomEvent.MediaDevicesError,He),O.on(I.RoomEvent.Disconnected,J),()=>{O.off(I.RoomEvent.Disconnected,J),O.off(I.RoomEvent.MediaDevicesError,He)}},[O]);const De=async()=>{try{console.log("🎤 Starting voice session...",{agentId:M,participantName:Y}),console.log("🎤 Pre-start state:",{currentMode:F,sessionStarted:ne,loading:se}),z(!0),te(!0),Z("voice"),console.log("🎤 State after mode change:",{currentMode:"voice",sessionStarted:!0,loading:!0}),ve("USER_STARTED_VOICE_SESSION",{agentId:M,participantName:Y});const J=await _.startSession(M,{participantName:Y||"User",modalities:["voice",...x?["video"]:[]]});console.log("✅ Voice session started successfully:",J.id),T(J),z(!1),b&&b(J.id)}catch(J){console.error("❌ Failed to start voice session:",J),Xt({title:"Failed to start voice session",description:J instanceof Error?J.message:"Unknown error occurred"}),z(!1),te(!1),Z("welcome")}},Zt=async()=>{try{z(!0),te(!0),Z("chat"),ve("USER_STARTED_CHAT_SESSION",{agentId:M,participantName:Y});const J=await _.startSession(M,{participantName:Y||"User",modalities:["chat"]});T(J),z(!1),b&&b(J.id)}catch(J){console.error("Failed to start chat session:",J),Xt({title:"Failed to start chat session",description:J instanceof Error?J.message:"Unknown error occurred"}),z(!1),te(!1),Z("welcome")}},nl=async()=>{try{console.log("📺 Starting video session...",{agentId:M,participantName:Y}),console.log("📺 Pre-start state:",{currentMode:F,sessionStarted:ne,loading:se}),z(!0),te(!0),Z("video"),console.log("📺 State after mode change:",{currentMode:"video",sessionStarted:!0,loading:!0}),ve("USER_STARTED_VIDEO_SESSION",{agentId:M,participantName:Y});const J=await _.startSession(M,{participantName:Y||"User",modalities:["video","voice"]});console.log("✅ Video session started successfully:",J.id),T(J),z(!1),b&&b(J.id)}catch(J){console.error("❌ Failed to start video session:",J),Xt({title:"Failed to start video session",description:J instanceof Error?J.message:"Unknown error occurred"}),z(!1),te(!1),Z("welcome")}},St=()=>{Z("welcome"),Ce&&Ce(e.displayType||"widget"),q&&ne&&(te(!1),T(null),_.disconnect()),k==="popup"&&!B&&R(!0)},Ct=()=>{const J=!B;R(J),W&&W(J),!J&&!(q&&ne)&&(Z("welcome"),te(!1),T(null))},sl=()=>{console.log("🔄 Closing fullscreen, switching to widget display type"),e.onDisplayTypeChange?e.onDisplayTypeChange("widget"):console.warn("⚠️ No onDisplayTypeChange callback provided")},ol=()=>{e.onDisplayTypeChange&&e.onDisplayTypeChange("fullscreen")};h.useEffect(()=>{var J,He,Me;if(H&&_){console.log("🔄 Syncing widget state with existing client session state");const ce=_.getCurrentSession(),il=_.connected;console.log("🔍 Existing session state:",{hasSession:!!ce,sessionId:ce==null?void 0:ce.id,isConnected:il,activeModalities:ce==null?void 0:ce.activeModalities}),ce&&(console.log("✅ Restoring session state from existing client"),T(ce),te(!0),z(!1),(J=ce.activeModalities)!=null&&J.includes("chat")?Z("chat"):(He=ce.activeModalities)!=null&&He.includes("voice")?Z("voice"):(Me=ce.activeModalities)!=null&&Me.includes("video")&&Z("video"))}},[H,_]),h.useEffect(()=>()=>{console.log("🧹 Cleaning up widget component"),H?console.log("🔄 Widget cleanup: preserving passed client instance"):(console.log("🧹 Widget cleanup: disconnecting self-created client"),_.disconnect())},[_,H]);let xn="w-96",yn="h-[25rem]",bn={};if(m&&(m.startsWith("w-")?xn=m:(bn.width=m,xn="")),f&&(f.startsWith("h-")?yn=f:(bn.height=f,yn="")),k==="popup"&&!B)return console.log("🟡 Showing popup trigger button"),a.jsx(t0,{onClick:Ct,text:L,position:D,theme:E});console.log("🟢 Rendering widget content, displayType:",k,"isPopupOpen:",B,"currentMode:",F,"sessionStarted:",ne,"loading:",se);let vn=`voxket-widget-root theme-${E}`,Ut={scrollMargin:0,scrollPadding:0,contain:"layout style paint"};k==="widget"?(vn+=` flex items-center justify-center min-h-fit ${xn} ${yn} ${u}`,Ut={...Ut,...bn}):(vn=`${u||""}`,Ut={});const io=a.jsx(a.Fragment,{children:a.jsxs(ut,{mode:"wait",children:[F==="welcome"&&!se&&a.jsx(e0,{agentId:M,participantName:Y||"",onAgentIdChange:G,onParticipantNameChange:V,onStartCall:De,onStartChat:Zt,onStartVideo:nl,disabled:ne||se,prompts:i,statusMessage:l,title:c,subTitle:d,theme:E,modalities:K,initial:{opacity:0,y:0},animate:{opacity:1,y:0},exit:{opacity:0,y:40},transition:{duration:.3,ease:"easeInOut"}},"welcome"),F==="voice"&&a.jsxs(ue.RoomContext.Provider,{value:O,children:[a.jsx(ue.RoomAudioRenderer,{}),a.jsx(ue.StartAudio,{label:"Start Audio"}),a.jsx(Xf,{loadingText:p,participantName:Y||"User",capabilities:re,sessionStarted:ne,disabled:!ne,theme:E,client:_,displayType:k,onBack:k==="popup"?Ct:St,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"session-view")]}),F==="chat"&&a.jsx(Jf,{client:_,theme:E,displayType:k,onBack:k==="popup"?Ct:St,onEndChat:St,disabled:!ne,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"chat-view"),F==="video"&&a.jsxs(ue.RoomContext.Provider,{value:O,children:[a.jsx(ue.RoomAudioRenderer,{}),a.jsx(ue.StartAudio,{label:"Start Audio"}),a.jsx(Qf,{client:_,theme:E,displayType:k,onBack:k==="popup"?Ct:St,onEndCall:St,disabled:!ne,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"video-view")]})]})});return k==="fullscreen"||k==="popup"?(console.log("📱 Rendering fullscreen/popup mode, displayType:",k),a.jsx(Li,{theme:E,displayType:k,popupPosition:D,onClose:k==="fullscreen"?sl:Ct,children:io})):(console.log("📦 Rendering widget mode"),a.jsx("div",{className:vn,style:Ut,children:a.jsx(Li,{theme:E,displayType:k,popupPosition:D,onExpand:ol,children:io})}))}class _a extends h.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){console.error("VoxketWidget Error:",t,n)}render(){if(this.state.hasError){if(this.props.fallback){const t=this.props.fallback;return h.createElement(t,{error:this.state.error})}return h.createElement("div",{style:{padding:"20px",border:"1px solid #ff4444",borderRadius:"8px",background:"#fff5f5",color:"#cc0000"}},"VoxketWidget encountered an error. Please check the console for details.")}return this.props.children}}function n0({logs:e,onClear:t,onExport:n}){const[s,o]=y.useState(!1),[r,i]=y.useState(""),l=e.filter(c=>!r||c.event.toLowerCase().includes(r.toLowerCase()));return s?a.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:a.jsxs("div",{className:"bg-white rounded-lg shadow-xl max-w-4xl w-full max-h-[80vh] flex flex-col m-4",children:[a.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[a.jsxs("h2",{className:"text-lg font-semibold",children:["Session Logs (",e.length,")"]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("input",{type:"text",placeholder:"Filter events...",value:r,onChange:c=>i(c.target.value),className:"px-3 py-1 border rounded text-sm"}),a.jsx("button",{onClick:t,className:"px-3 py-1 bg-red-600 text-white rounded text-sm hover:bg-red-700",children:"Clear"}),a.jsx("button",{onClick:n,className:"px-3 py-1 bg-green-600 text-white rounded text-sm hover:bg-green-700",children:"Export"}),a.jsx("button",{onClick:()=>o(!1),className:"px-3 py-1 bg-gray-600 text-white rounded text-sm hover:bg-gray-700",children:"Close"})]})]}),a.jsx("div",{className:"flex-1 overflow-auto p-4",children:l.length===0?a.jsx("p",{className:"text-gray-500 text-center py-8",children:"No logs found"}):a.jsx("div",{className:"space-y-2",children:l.map((c,d)=>a.jsxs("div",{className:"border rounded p-3 text-sm",children:[a.jsxs("div",{className:"flex items-center justify-between mb-1",children:[a.jsx("span",{className:"font-semibold text-blue-600",children:c.event}),a.jsx("span",{className:"text-gray-500 text-xs",children:new Date(c.timestamp).toLocaleTimeString()})]}),c.sessionId&&a.jsxs("div",{className:"text-xs text-gray-600 mb-1",children:["Session: ",c.sessionId]}),c.data&&a.jsx("div",{className:"bg-gray-50 p-2 rounded text-xs",children:a.jsx("pre",{className:"whitespace-pre-wrap overflow-auto",children:JSON.stringify(c.data,null,2)})})]},d))})})]})}):a.jsxs("button",{onClick:()=>o(!0),className:"fixed bottom-4 right-4 bg-blue-600 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-blue-700 transition-colors text-sm z-50",children:["Session Logs (",e.length,")"]})}function s0({metrics:e}){return e?a.jsxs("div",{className:"bg-gray-100 p-4 rounded-lg",children:[a.jsx("h3",{className:"font-semibold mb-2",children:"Current Session"}),a.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-gray-600",children:"Session ID:"}),a.jsx("div",{className:"font-mono text-xs",children:e.sessionId})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-gray-600",children:"Start Time:"}),a.jsx("div",{children:new Date(e.startTime).toLocaleString()})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-gray-600",children:"Messages:"}),a.jsx("div",{children:e.totalMessages})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-gray-600",children:"Participants:"}),a.jsx("div",{children:e.participantCount})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-gray-600",children:"Connection Issues:"}),a.jsx("div",{children:e.connectionIssues})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-gray-600",children:"Duration:"}),a.jsxs("div",{children:[Math.round((Date.now()-new Date(e.startTime).getTime())/1e3),"s"]})]})]})]}):null}function nt(){const{currentSession:e,sessionState:t,sessionMetrics:n,createSession:s,endSession:o}=Ie(),r=y.useCallback(async(l,c)=>await s(l,c),[s]),i=y.useCallback(async()=>await o(),[o]);return{session:e,state:t,metrics:n,isActive:e!==null&&t!=="disconnected",isConnecting:t==="connecting",isConnected:t==="connected"||t==="active",start:r,stop:i}}function Ha(){const{sessionMetrics:e,currentSession:t}=Ie();return{metrics:e,sessionId:t==null?void 0:t.id,duration:e==null?void 0:e.duration,participantCount:e==null?void 0:e.participantCount,messageCount:e==null?void 0:e.messageCount,audioQuality:e==null?void 0:e.audioQuality,networkStats:e==null?void 0:e.networkStats}}function Za(){const{setMicrophoneEnabled:e,client:t}=Ie(),[n,s]=y.useState(!1),[o,r]=y.useState(!1),i=y.useCallback(async()=>{if(!o){r(!0);try{const d=!n;await e(d),s(d)}catch(d){console.error("Failed to toggle microphone:",d)}finally{r(!1)}}},[n,o,e]),l=y.useCallback(async()=>{if(!(n||o)){r(!0);try{await e(!0),s(!0)}catch(d){console.error("Failed to enable microphone:",d)}finally{r(!1)}}},[n,o,e]),c=y.useCallback(async()=>{if(!(!n||o)){r(!0);try{await e(!1),s(!1)}catch(d){console.error("Failed to disable microphone:",d)}finally{r(!1)}}},[n,o,e]);return{isEnabled:n,isLoading:o,toggle:i,enable:l,disable:c}}function Ua(){const{setCameraEnabled:e}=Ie(),[t,n]=y.useState(!1),[s,o]=y.useState(!1),r=y.useCallback(async()=>{if(!s){o(!0);try{const c=!t;await e(c),n(c)}catch(c){console.error("Failed to toggle camera:",c)}finally{o(!1)}}},[t,s,e]),i=y.useCallback(async()=>{if(!(t||s)){o(!0);try{await e(!0),n(!0)}catch(c){console.error("Failed to enable camera:",c)}finally{o(!1)}}},[t,s,e]),l=y.useCallback(async()=>{if(!(!t||s)){o(!0);try{await e(!1),n(!1)}catch(c){console.error("Failed to disable camera:",c)}finally{o(!1)}}},[t,s,e]);return{isEnabled:t,isLoading:s,toggle:r,enable:i,disable:l}}function za(){const{startScreenShare:e,stopScreenShare:t}=Ie(),[n,s]=y.useState(!1),[o,r]=y.useState(!1),i=y.useCallback(async()=>{if(!(n||o)){r(!0);try{await e(),s(!0)}catch(d){console.error("Failed to start screen share:",d)}finally{r(!1)}}},[n,o,e]),l=y.useCallback(async()=>{if(!(!n||o)){r(!0);try{await t(),s(!1)}catch(d){console.error("Failed to stop screen share:",d)}finally{r(!1)}}},[n,o,t]),c=y.useCallback(async()=>{n?await l():await i()},[n,i,l]);return{isSharing:n,isLoading:o,start:i,stop:l,toggle:c}}function o0(){const{client:e}=Ie(),[t,n]=y.useState({tracks:[],layout:{type:"grid",showLocalVideo:!0,aspectRatio:"16:9"},isRecording:!1}),s=y.useMemo(()=>t.tracks.find(x=>x.isLocal),[t.tracks]),o=y.useMemo(()=>t.tracks.filter(x=>!x.isLocal),[t.tracks]),r=y.useCallback(async()=>{try{s!=null&&s.isEnabled?await(e==null?void 0:e.disableCamera()):await(e==null?void 0:e.enableCamera())}catch(x){throw console.error("Failed to toggle camera:",x),x}},[e,s]),i=y.useCallback(async()=>{try{t.tracks.find(v=>v.isScreenShare)?await(e==null?void 0:e.stopScreenShare()):await(e==null?void 0:e.startScreenShare())}catch(x){throw console.error("Failed to toggle screen share:",x),x}},[e,t.tracks]),l=y.useCallback(x=>{n(v=>({...v,layout:x}))},[]),c=y.useCallback(x=>{n(v=>({...v,pinnedTrack:x}))},[]),d=y.useCallback(()=>{n(x=>({...x,pinnedTrack:void 0}))},[]),u=y.useCallback(async()=>{try{await(e==null?void 0:e.startRecording()),n(x=>({...x,isRecording:!0}))}catch(x){throw console.error("Failed to start recording:",x),x}},[e]),m=y.useCallback(async()=>{try{await(e==null?void 0:e.stopRecording()),n(x=>({...x,isRecording:!1}))}catch(x){throw console.error("Failed to stop recording:",x),x}},[e]),f=y.useCallback(x=>t.tracks.find(v=>v.id===x),[t.tracks]),p=y.useCallback(x=>t.tracks.filter(v=>v.participantId===x),[t.tracks]),g=y.useCallback(x=>x.isEnabled&&t.tracks.includes(x),[t.tracks]);return y.useEffect(()=>{if(!e)return;const x=b=>{n(S=>({...S,tracks:[...S.tracks.filter(w=>w.id!==b.id),b]}))},v=b=>{n(S=>{var w;return{...S,tracks:S.tracks.filter(C=>C.id!==b),pinnedTrack:((w=S.pinnedTrack)==null?void 0:w.id)===b?void 0:S.pinnedTrack}})},E=b=>{n(S=>({...S,tracks:S.tracks.map(w=>w.id===b.id?b:w)}))};return e.on("videoTrackAdded",x),e.on("videoTrackRemoved",v),e.on("videoTrackUpdated",E),()=>{e.off("videoTrackAdded",x),e.off("videoTrackRemoved",v),e.off("videoTrackUpdated",E)}},[e]),{tracks:t.tracks,localTrack:s,remoteTraracks:o,pinnedTrack:t.pinnedTrack,layout:t.layout,isRecording:t.isRecording,toggleCamera:r,toggleScreenShare:i,setLayout:l,pinTrack:c,unpinTrack:d,startRecording:u,stopRecording:m,getTrackById:f,getTracksByParticipant:p,isTrackActive:g}}function gn(){const{chatMessages:e,sendChatMessage:t,currentSession:n}=Ie(),[s,o]=y.useState(!1),r=y.useCallback(async d=>{if(!(!d.trim()||s||!n)){o(!0);try{await t(d.trim())}catch(u){throw console.error("Failed to send chat message:",u),u}finally{o(!1)}}},[t,s,n]),{userMessages:i,agentMessages:l,allMessages:c}=y.useMemo(()=>{const d=e.filter(m=>m.sender.type==="participant"),u=e.filter(m=>m.sender.type==="agent");return{userMessages:d,agentMessages:u,allMessages:e}},[e]);return{messages:c,userMessages:i,agentMessages:l,messageCount:c.length,isSending:s,canSend:!!n&&!s,send:r}}function i0(){const{send:e,isSending:t,canSend:n}=gn(),[s,o]=y.useState(""),r=y.useCallback(async()=>{if(!(!s.trim()||!n))try{await e(s),o("")}catch(l){throw l}},[s,e,n]),i=y.useCallback(l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),r())},[r]);return{value:s,setValue:o,send:r,handleKeyPress:i,isSending:t,canSend:n&&s.trim().length>0}}function to(){const{isConnected:e,isConnecting:t,connectionError:n,connect:s,disconnect:o}=Ie(),r=y.useCallback(async()=>{if(!(e||t))try{await s()}catch(l){throw console.error("Failed to connect:",l),l}},[s,e,t]),i=y.useCallback(async()=>{if(e)try{await o()}catch(l){throw console.error("Failed to disconnect:",l),l}},[o,e]);return{isConnected:e,isConnecting:t,isDisconnected:!e&&!t,error:n,hasError:!!n,connect:r,disconnect:i}}function Wa(){const{participants:e}=Ie();return{participants:e,count:e.length,localParticipant:e.find(t=>t.isLocal),remoteParticipants:e.filter(t=>!t.isLocal)}}const Ka=y.createContext({}),Ht=()=>y.useContext(Ka);function Ga({children:e,...t}){return a.jsx(Ka.Provider,{value:t,children:e})}function sn({name:e,children:t,fallback:n,className:s}){return a.jsx("div",{className:`voxket-slot voxket-slot--${e} ${s||""}`,children:t||n})}function Ya(e,t={}){return Object.assign(e,t)}function qa({showMicrophoneControl:e=!0,showCameraControl:t=!0,showScreenShareControl:n=!0,showSessionActions:s=!0,customControls:o,className:r=""}){const i=nt(),l=Za(),c=Ua(),d=za(),u=Ht(),m=["voxket-session-controls",`voxket-session-controls--${u.variant||"default"}`,`voxket-session-controls--${u.size||"md"}`,i.isActive?"voxket-session-controls--active":"voxket-session-controls--inactive",r].filter(Boolean).join(" ");return!i.isActive&&!s?a.jsx("div",{className:m,children:a.jsx("div",{className:"voxket-controls-inactive",children:a.jsx("p",{children:"Controls available during active session"})})}):a.jsxs("div",{className:m,children:[s&&a.jsx("div",{className:"voxket-session-actions",children:i.isActive?a.jsx("button",{onClick:i.stop,className:"voxket-button voxket-button--danger",children:"End Session"}):a.jsx(r0,{})}),i.isActive&&a.jsxs("div",{className:"voxket-media-controls",children:[e&&a.jsxs("button",{onClick:l.toggle,disabled:l.isLoading,className:`voxket-button voxket-button--media ${l.isEnabled?"voxket-button--active":""}`,title:l.isEnabled?"Mute microphone":"Unmute microphone",children:[a.jsx("span",{className:"voxket-icon",children:"🎤"}),l.isLoading?"Loading...":l.isEnabled?"Mute":"Unmute"]}),t&&a.jsxs("button",{onClick:c.toggle,disabled:c.isLoading,className:`voxket-button voxket-button--media ${c.isEnabled?"voxket-button--active":""}`,title:c.isEnabled?"Stop camera":"Start camera",children:[a.jsx("span",{className:"voxket-icon",children:"📹"}),c.isLoading?"Loading...":c.isEnabled?"Stop Video":"Start Video"]}),n&&a.jsxs("button",{onClick:d.toggle,disabled:d.isLoading,className:`voxket-button voxket-button--media ${d.isSharing?"voxket-button--active":""}`,title:d.isSharing?"Stop screen share":"Start screen share",children:[a.jsx("span",{className:"voxket-icon",children:"🖥️"}),d.isLoading?"Loading...":d.isSharing?"Stop Share":"Share Screen"]})]}),o&&a.jsx("div",{className:"voxket-custom-controls",children:o})]})}function r0(){nt();const[e,t]=y.useState(!1),n=async()=>{t(!0);try{console.log("Start session - agentId needed")}catch(s){console.error("Failed to start session:",s)}finally{t(!1)}};return a.jsx("button",{onClick:n,disabled:e,className:"voxket-button voxket-button--primary",children:e?"Starting...":"Start Session"})}function no({showConnectionStatus:e=!0,showSessionInfo:t=!0,showAgentInfo:n=!0,className:s=""}){const o=nt(),r=to(),i=Ht(),l=["voxket-session-header",`voxket-session-header--${i.variant||"default"}`,`voxket-session-header--${i.size||"md"}`,s].filter(Boolean).join(" ");return a.jsxs("div",{className:l,children:[e&&a.jsxs("div",{className:"voxket-connection-status",children:[a.jsx("div",{className:`voxket-status-indicator ${r.isConnected?"connected":"disconnected"}`}),a.jsx("span",{className:"voxket-status-text",children:r.isConnecting?"Connecting...":r.isConnected?"Connected":"Disconnected"})]}),t&&o.session&&a.jsxs("div",{className:"voxket-session-info",children:[a.jsxs("div",{className:"voxket-session-id",children:["Session: ",o.session.id.slice(-8)]}),a.jsxs("div",{className:"voxket-session-state",children:["State: ",o.state]})]}),n&&o.session&&a.jsxs("div",{className:"voxket-agent-info",children:[a.jsxs("div",{className:"voxket-agent-id",children:["Agent: ",o.session.agentId]}),a.jsxs("div",{className:"voxket-modalities",children:["Modalities: ",o.session.activeModalities.join(", ")]})]}),r.error&&a.jsxs("div",{className:"voxket-error-message",children:["Error: ",r.error.message]})]})}function so({showChat:e=!0,showTranscriptions:t=!1,customContent:n,className:s=""}){const o=nt(),r=gn(),i=Ht(),l=["voxket-session-content",`voxket-session-content--${i.variant||"default"}`,`voxket-session-content--${i.size||"md"}`,s].filter(Boolean).join(" ");return o.isActive?a.jsx("div",{className:l,children:n||a.jsxs(a.Fragment,{children:[e&&a.jsxs("div",{className:"voxket-chat-container",children:[a.jsxs("div",{className:"voxket-chat-messages",children:[r.messages.map(c=>a.jsxs("div",{className:`voxket-message voxket-message--${c.sender.type}`,children:[a.jsxs("div",{className:"voxket-message-header",children:[a.jsx("span",{className:"voxket-message-sender",children:c.sender.name}),a.jsx("span",{className:"voxket-message-time",children:c.timestamp.toLocaleTimeString()})]}),a.jsx("div",{className:"voxket-message-content",children:c.content})]},c.id)),r.messages.length===0&&a.jsx("div",{className:"voxket-empty-messages",children:a.jsx("p",{children:"No messages yet. Start the conversation!"})})]}),a.jsx(a0,{})]}),t&&a.jsx("div",{className:"voxket-transcriptions",children:a.jsx("div",{className:"voxket-transcription-placeholder",children:a.jsx("p",{children:"Voice transcriptions will appear here"})})})]})}):a.jsx("div",{className:l,children:a.jsx("div",{className:"voxket-inactive-state",children:a.jsxs("div",{className:"voxket-inactive-message",children:[a.jsx("h3",{children:"Start a conversation"}),a.jsx("p",{children:"Begin a session to start chatting with the AI agent"})]})})})}function a0(){const e=gn(),[t,n]=y.useState(""),s=async()=>{if(!(!t.trim()||!e.canSend))try{await e.send(t),n("")}catch(r){console.error("Failed to send message:",r)}},o=r=>{r.key==="Enter"&&!r.shiftKey&&(r.preventDefault(),s())};return a.jsxs("div",{className:"voxket-chat-input",children:[a.jsx("input",{type:"text",value:t,onChange:r=>n(r.target.value),onKeyPress:o,placeholder:"Type your message...",disabled:!e.canSend,className:"voxket-input"}),a.jsx("button",{onClick:s,disabled:!e.canSend||!t.trim(),className:"voxket-send-button",children:e.isSending?"Sending...":"Send"})]})}function oo({showMetrics:e=!0,showParticipants:t=!0,showStatus:n=!0,customFooter:s,className:o=""}){const r=nt(),i=Ha(),l=Wa(),c=Ht(),d=["voxket-session-footer",`voxket-session-footer--${c.variant||"default"}`,`voxket-session-footer--${c.size||"md"}`,o].filter(Boolean).join(" ");return r.isActive?a.jsx("div",{className:d,children:s||a.jsxs(a.Fragment,{children:[n&&a.jsxs("div",{className:"voxket-session-status",children:[a.jsx("div",{className:"voxket-status-indicator voxket-status-indicator--active"}),a.jsx("span",{className:"voxket-status-text",children:"Session Active"})]}),e&&i.metrics&&a.jsxs("div",{className:"voxket-session-metrics",children:[a.jsxs("div",{className:"voxket-metric",children:[a.jsx("span",{className:"voxket-metric-label",children:"Duration:"}),a.jsx("span",{className:"voxket-metric-value",children:l0(i.duration||0)})]}),a.jsxs("div",{className:"voxket-metric",children:[a.jsx("span",{className:"voxket-metric-label",children:"Messages:"}),a.jsx("span",{className:"voxket-metric-value",children:i.metrics.messageCount})]})]}),t&&a.jsxs("div",{className:"voxket-participants-info",children:[a.jsxs("span",{className:"voxket-participants-count",children:[l.count," participant",l.count!==1?"s":""]}),l.remoteParticipants.length>0&&a.jsx("div",{className:"voxket-participant-list",children:l.remoteParticipants.map(u=>a.jsx("span",{className:"voxket-participant-name",children:u.name},u.id))})]})]})}):a.jsx("div",{className:d,children:a.jsx("div",{className:"voxket-footer-inactive",children:a.jsx("span",{className:"voxket-status-text",children:"Ready to start session"})})})}function l0(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),s=Math.floor(n/60);return s>0?`${s}:${(n%60).toString().padStart(2,"0")}:${(t%60).toString().padStart(2,"0")}`:`${n}:${(t%60).toString().padStart(2,"0")}`}function c0({agentId:e,sessionConfig:t,autoStart:n=!1,onSessionStart:s,onSessionEnd:o,variant:r="default",size:i="md",theme:l,className:c="",children:d}){var p;const u=nt(),m=to();y.useEffect(()=>{n&&e&&m.isConnected&&!u.isActive&&u.start(e,t).catch(console.error)},[n,e,m.isConnected,u.isActive]),y.useEffect(()=>{var g;(g=u.session)!=null&&g.id&&s&&s(u.session.id)},[(p=u.session)==null?void 0:p.id,s]),y.useEffect(()=>()=>{u.isActive&&o&&u.stop().then(o).catch(console.error)},[]);const f=["voxket-session",`voxket-session--${r}`,`voxket-session--${i}`,u.isActive?"voxket-session--active":"voxket-session--inactive",c].filter(Boolean).join(" ");return a.jsx(Ga,{variant:r,size:i,theme:l,className:c,children:a.jsx("div",{className:f,children:d||a.jsxs(a.Fragment,{children:[a.jsx(sn,{name:"header",fallback:a.jsx(no,{})}),a.jsx(sn,{name:"content",fallback:a.jsx(so,{})}),a.jsx(sn,{name:"footer",fallback:a.jsx(oo,{})})]})})})}const Xa=Ya(c0,{Header:no,Content:so,Footer:oo,Controls:qa}),tt={name:"default",colors:{primary:"#3B82F6",secondary:"#6B7280",accent:"#8B5CF6",background:"#FFFFFF",surface:"#F9FAFB",text:{primary:"#111827",secondary:"#6B7280",muted:"#9CA3AF",inverse:"#FFFFFF"},status:{success:"#10B981",warning:"#F59E0B",error:"#EF4444",info:"#3B82F6"},border:"#E5E7EB",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)"},typography:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},fontWeight:{normal:400,medium:500,semibold:600,bold:700},lineHeight:{tight:1.25,normal:1.5,relaxed:1.75}},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem"},borderRadius:{none:"0",sm:"0.25rem",md:"0.5rem",lg:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1)"}},ms={...tt,name:"dark",colors:{primary:"#60A5FA",secondary:"#9CA3AF",accent:"#A78BFA",background:"#111827",surface:"#1F2937",text:{primary:"#F9FAFB",secondary:"#D1D5DB",muted:"#9CA3AF",inverse:"#111827"},status:{success:"#34D399",warning:"#FBBF24",error:"#F87171",info:"#60A5FA"},border:"#374151",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.3)"}},fs={...tt,name:"enterprise",colors:{primary:"#1E40AF",secondary:"#64748B",accent:"#7C3AED",background:"#FFFFFF",surface:"#F8FAFC",text:{primary:"#0F172A",secondary:"#475569",muted:"#94A3B8",inverse:"#FFFFFF"},status:{success:"#059669",warning:"#D97706",error:"#DC2626",info:"#1E40AF"},border:"#CBD5E1",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)"},borderRadius:{none:"0",sm:"0.125rem",md:"0.25rem",lg:"0.375rem",full:"9999px"}},Ja=y.createContext(null),Qa=()=>{const e=y.useContext(Ja);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e};function d0({theme:e="default",themes:t={},children:n,cssVariables:s=!0,className:o=""}){const[r,i]=y.useState(()=>{const f={default:tt,dark:ms,enterprise:fs,...t};return typeof e=="string"?f[e]||tt:e}),[l,c]=y.useState(()=>({default:tt,dark:ms,enterprise:fs,...t})),d=f=>{if(typeof f=="string"){const p=l[f];p&&i(p)}else i(f)},u=f=>{c(p=>({...p,[f.name]:f}))};y.useEffect(()=>{if(s&&typeof document<"u"){const f=document.documentElement;Object.entries(el(r)).forEach(([p,g])=>{f.style.setProperty(`--voxket-${p}`,g)})}},[r,s]);const m={theme:r,setTheme:d,themes:l,registerTheme:u};return a.jsx(Ja.Provider,{value:m,children:a.jsx("div",{className:`voxket-theme voxket-theme--${r.name} ${o}`,children:n})})}function el(e){const t={},n=(s,o="")=>{for(const[r,i]of Object.entries(s)){const l=o?`${o}-${r}`:r;typeof i=="object"&&i!==null&&!Array.isArray(i)?n(i,l):t[l]=String(i)}};return n(e),t}function u0(e=tt,t){return{...e,...t,colors:{...e.colors,...t.colors},typography:{...e.typography,...t.typography},spacing:{...e.spacing,...t.spacing},borderRadius:{...e.borderRadius,...t.borderRadius},shadows:{...e.shadows,...t.shadows}}}function h0(e){var n;const{theme:t}=Qa();return((n=t.components)==null?void 0:n[e])||{}}const m0=eo("voice-modality","voice",{onActivate:async e=>{const t=e.config;t.enableTranscription&&f0(e),t.enableVoiceActivation&&p0(e,t),console.log("Voice modality activated",t)},onDeactivate:async e=>{console.log("Voice modality deactivated")},onMessage:async(e,t)=>{t.type==="audio"&&g0(e,t)}});function f0(e,t){e.on("participant.speaking.started",n=>{console.log("Transcription: Started for",n.name)}),e.on("participant.speaking.stopped",n=>{console.log("Transcription: Stopped for",n.name)})}function p0(e,t){const n=t.silenceThreshold||-50;console.log("Voice activation setup with threshold:",n)}function g0(e,t){console.log("Playing audio response:",t.content)}const x0=eo("chat-modality","chat",{onActivate:async e=>{const t=e.config;t.enableRichText&&y0(),t.enableFileUpload&&b0(e),t.enableCustomComponents&&v0(),console.log("Chat modality activated",t)},onDeactivate:async e=>{console.log("Chat modality deactivated")},onMessage:async(e,t)=>{const n=e.config;t.type==="ui_component"?w0(e,t):t.type==="text"&&n.enableRichText&&S0(e,t)}});function y0(e){console.log("Rich text support enabled")}function b0(e){console.log("File upload enabled"),e.on("chat.file.uploaded",t=>{console.log("File uploaded:",t.name)})}function v0(e){console.log("Custom components enabled");const t=new Map;t.set("quick-actions",C0),t.set("form",k0),t.set("card",j0),t.set("chart",E0)}function w0(e,t){const{componentType:n,props:s}=t.metadata;console.log("Rendering custom component:",n,s),e.emit("chat.component.render",{type:n,props:s,timestamp:new Date})}function S0(e,t){console.log("Processing rich text message:",t.content)}function C0(e){return{type:"quick-actions",actions:e.actions||[],layout:e.layout||"horizontal"}}function k0(e){return{type:"form",fields:e.fields||[],submitAction:e.submitAction,validation:e.validation}}function j0(e){return{type:"card",title:e.title,content:e.content,actions:e.actions,variant:e.variant||"default"}}function E0(e){return{type:"chart",chartType:e.chartType||"line",data:e.data,options:e.options}}function on({track:e,participantName:t,showControls:n=!0,showName:s=!0,showMuteIndicator:o=!0,isPinned:r=!1,className:i="",onClick:l,onPin:c,onUnpin:d}){const u=y.useRef(null),[m,f]=y.useState(!1);y.useEffect(()=>{if(!u.current||!e.isEnabled)return;const v=u.current;return v.srcObject=null,()=>{v.srcObject&&(v.srcObject=null)}},[e]);const p=()=>{l==null||l(e)},g=v=>{v.stopPropagation(),r?d==null||d(e):c==null||c(e)},x=["voxket-video-tile",e.isLocal?"voxket-video-tile--local":"voxket-video-tile--remote",e.isScreenShare?"voxket-video-tile--screen-share":"voxket-video-tile--camera",r?"voxket-video-tile--pinned":"",e.isEnabled?"":"voxket-video-tile--disabled",m?"voxket-video-tile--hovered":"",i].filter(Boolean).join(" ");return a.jsxs("div",{className:x,onClick:p,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),style:{aspectRatio:e.dimensions?`${e.dimensions.width} / ${e.dimensions.height}`:"16 / 9"},children:[a.jsx("video",{ref:u,className:"voxket-video-element",autoPlay:!0,playsInline:!0,muted:e.isLocal}),!e.isEnabled&&a.jsxs("div",{className:"voxket-video-placeholder",children:[a.jsx("div",{className:"voxket-video-placeholder-icon",children:e.isScreenShare?"🖥️":"📹"}),a.jsx("p",{className:"voxket-video-placeholder-text",children:e.isScreenShare?"Screen sharing paused":"Camera off"})]}),a.jsxs("div",{className:"voxket-video-overlay",children:[s&&t&&a.jsxs("div",{className:"voxket-video-name",children:[t,e.isLocal&&" (You)"]}),o&&!e.isEnabled&&a.jsx("div",{className:"voxket-video-mute-indicator",children:"🔇"}),n&&(m||r)&&a.jsxs("div",{className:"voxket-video-controls",children:[a.jsx("button",{className:`voxket-video-control-btn ${r?"voxket-video-control-btn--active":""}`,onClick:g,title:r?"Unpin video":"Pin video",children:"📌"}),e.isScreenShare&&a.jsx("div",{className:"voxket-video-indicator",children:"🖥️"}),e.source&&a.jsx("div",{className:"voxket-video-source",children:e.source})]})]}),!e.isEnabled&&a.jsx("div",{className:"voxket-video-loading",children:a.jsx("div",{className:"voxket-spinner"})})]})}function A0({tracks:e,layout:t,className:n="",onLayoutChange:s,onTrackClick:o,maxVisibleTracks:r=9,showPagination:i=!0}){const[l,c]=y.useState(0),[d,u]=y.useState(null),m=y.useMemo(()=>{let b=[...e];t.type==="speaker"&&d&&(b=[d,...e.filter(C=>C.id!==d.id)]);const S=l*r,w=S+r;return b.slice(S,w)},[e,t,d,l,r]),f=Math.ceil(e.length/r),p=y.useMemo(()=>{const b=m.length;switch(t.type){case"grid":const S=Math.ceil(Math.sqrt(b)),w=Math.ceil(b/S);return{display:"grid",gridTemplateColumns:`repeat(${S}, 1fr)`,gridTemplateRows:`repeat(${w}, 1fr)`,gap:"8px"};case"speaker":return{display:"flex",flexDirection:"column",gap:"8px"};case"sidebar":return{display:"flex",gap:"8px"};case"gallery":return{display:"flex",flexWrap:"wrap",gap:"8px",justifyContent:"center"};default:return{}}},[t.type,m.length]),g=b=>{u(b)},x=()=>{u(null)},v=b=>{s==null||s({...t,type:b})},E=["voxket-video-grid",`voxket-video-grid--${t.type}`,`voxket-video-grid--${m.length}-tracks`,n].filter(Boolean).join(" ");return e.length===0?a.jsx("div",{className:"voxket-video-grid-empty",children:a.jsxs("div",{className:"voxket-video-grid-empty-content",children:[a.jsx("div",{className:"voxket-video-grid-empty-icon",children:"📹"}),a.jsx("p",{children:"No video tracks available"})]})}):a.jsxs("div",{className:E,children:[a.jsxs("div",{className:"voxket-video-grid-controls",children:[a.jsx("div",{className:"voxket-video-layout-controls",children:["grid","speaker","sidebar","gallery"].map(b=>a.jsx("button",{className:`voxket-layout-btn ${t.type===b?"voxket-layout-btn--active":""}`,onClick:()=>v(b),title:`Switch to ${b} layout`,children:M0(b)},b))}),a.jsxs("div",{className:"voxket-video-count",children:[e.length," participant",e.length!==1?"s":""]})]}),a.jsx("div",{className:"voxket-video-grid-content",style:p,children:t.type==="speaker"&&d?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"voxket-video-speaker-main",children:a.jsx(on,{track:d,participantName:`Participant ${d.participantId}`,isPinned:!0,onClick:o,onUnpin:x})}),a.jsx("div",{className:"voxket-video-speaker-sidebar",children:m.filter(b=>b.id!==d.id).map(b=>a.jsx(on,{track:b,participantName:`Participant ${b.participantId}`,showControls:!1,onClick:o,onPin:g},b.id))})]}):m.map(b=>a.jsx(on,{track:b,participantName:`Participant ${b.participantId}`,isPinned:(d==null?void 0:d.id)===b.id,onClick:o,onPin:g,onUnpin:x},b.id))}),i&&f>1&&a.jsxs("div",{className:"voxket-video-pagination",children:[a.jsx("button",{className:"voxket-pagination-btn",onClick:()=>c(Math.max(0,l-1)),disabled:l===0,children:"←"}),a.jsxs("span",{className:"voxket-pagination-info",children:["Page ",l+1," of ",f]}),a.jsx("button",{className:"voxket-pagination-btn",onClick:()=>c(Math.min(f-1,l+1)),disabled:l===f-1,children:"→"})]})]})}function M0(e){switch(e){case"grid":return"⊞";case"speaker":return"🎤";case"sidebar":return"⫸";case"gallery":return"⊡";case"picture-in-picture":return"⧉";default:return"⊞"}}function T0({localTrack:e,onToggleCamera:t,onToggleScreenShare:n,onLayoutChange:s,showLayoutControls:o=!0,showCameraControls:r=!0,showScreenShareControls:i=!0,className:l=""}){const c=["voxket-video-controls",l].filter(Boolean).join(" "),d=u=>{s==null||s({type:u,showLocalVideo:!0,aspectRatio:"16:9"})};return a.jsxs("div",{className:c,children:[r&&a.jsxs("div",{className:"voxket-video-controls-section",children:[a.jsx("h4",{className:"voxket-video-controls-title",children:"Camera"}),a.jsxs("button",{className:`voxket-control-btn ${e!=null&&e.isEnabled?"voxket-control-btn--active":""}`,onClick:t,title:e!=null&&e.isEnabled?"Turn off camera":"Turn on camera",children:[a.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isEnabled?"📹":"📷"}),a.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isEnabled?"Camera On":"Camera Off"})]}),(e==null?void 0:e.dimensions)&&a.jsxs("div",{className:"voxket-video-info",children:[e.dimensions.width," × ",e.dimensions.height]})]}),i&&a.jsxs("div",{className:"voxket-video-controls-section",children:[a.jsx("h4",{className:"voxket-video-controls-title",children:"Screen Share"}),a.jsxs("button",{className:`voxket-control-btn ${e!=null&&e.isScreenShare?"voxket-control-btn--active":""}`,onClick:n,title:e!=null&&e.isScreenShare?"Stop screen sharing":"Start screen sharing",children:[a.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isScreenShare?"🛑":"🖥️"}),a.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isScreenShare?"Stop Sharing":"Share Screen"})]})]}),o&&a.jsxs("div",{className:"voxket-video-controls-section",children:[a.jsx("h4",{className:"voxket-video-controls-title",children:"Layout"}),a.jsx("div",{className:"voxket-layout-buttons",children:[{type:"grid",icon:"⊞",label:"Grid"},{type:"speaker",icon:"🎤",label:"Speaker"},{type:"sidebar",icon:"⫸",label:"Sidebar"},{type:"gallery",icon:"⊡",label:"Gallery"}].map(({type:u,icon:m,label:f})=>a.jsxs("button",{className:"voxket-layout-control-btn",onClick:()=>d(u),title:`Switch to ${f} layout`,children:[a.jsx("span",{className:"voxket-control-icon",children:m}),a.jsx("span",{className:"voxket-control-label",children:f})]},u))})]}),a.jsxs("div",{className:"voxket-video-controls-section",children:[a.jsx("h4",{className:"voxket-video-controls-title",children:"Video Settings"}),a.jsxs("div",{className:"voxket-video-settings",children:[a.jsxs("div",{className:"voxket-setting-group",children:[a.jsx("label",{className:"voxket-setting-label",children:"Quality"}),a.jsxs("select",{className:"voxket-setting-select",children:[a.jsx("option",{value:"high",children:"High (720p)"}),a.jsx("option",{value:"medium",children:"Medium (480p)"}),a.jsx("option",{value:"low",children:"Low (240p)"})]})]}),a.jsxs("div",{className:"voxket-setting-group",children:[a.jsx("label",{className:"voxket-setting-label",children:"Frame Rate"}),a.jsxs("select",{className:"voxket-setting-select",children:[a.jsx("option",{value:"30",children:"30 fps"}),a.jsx("option",{value:"15",children:"15 fps"}),a.jsx("option",{value:"10",children:"10 fps"})]})]}),a.jsxs("div",{className:"voxket-setting-group",children:[a.jsx("label",{className:"voxket-setting-label",children:"Bandwidth"}),a.jsxs("select",{className:"voxket-setting-select",children:[a.jsx("option",{value:"unlimited",children:"Unlimited"}),a.jsx("option",{value:"1000",children:"1 Mbps"}),a.jsx("option",{value:"500",children:"500 Kbps"}),a.jsx("option",{value:"250",children:"250 Kbps"})]})]})]})]}),a.jsxs("div",{className:"voxket-video-controls-section",children:[a.jsx("h4",{className:"voxket-video-controls-title",children:"Statistics"}),a.jsxs("div",{className:"voxket-video-stats",children:[a.jsxs("div",{className:"voxket-stat-item",children:[a.jsx("span",{className:"voxket-stat-label",children:"Resolution:"}),a.jsx("span",{className:"voxket-stat-value",children:e!=null&&e.dimensions?`${e.dimensions.width}×${e.dimensions.height}`:"N/A"})]}),a.jsxs("div",{className:"voxket-stat-item",children:[a.jsx("span",{className:"voxket-stat-label",children:"Source:"}),a.jsx("span",{className:"voxket-stat-value",children:(e==null?void 0:e.source)||"None"})]}),a.jsxs("div",{className:"voxket-stat-item",children:[a.jsx("span",{className:"voxket-stat-label",children:"Status:"}),a.jsx("span",{className:`voxket-stat-value ${e!=null&&e.isEnabled?"voxket-stat-value--active":"voxket-stat-value--inactive"}`,children:e!=null&&e.isEnabled?"Active":"Inactive"})]})]})]})]})}const tl=({handler:e,loadData:t,data:n,client:s,addLocalMessage:o})=>{const[r,i]=h.useState(null),[l,c]=h.useState(!0),[d,u]=h.useState(!1),[m]=h.useState(Date.now());h.useEffect(()=>{(async()=>{try{if(c(!0),console.log("📋 AssignmentView: Loading assignment data..."),console.log("📋 AssignmentView: Received data from RPC:",n),n&&typeof n=="object"){const v={title:n.title||"Untitled Assignment",description:n.description||"No description provided",estimated_time_of_completion:n.estimated_time_of_completion||"Unknown"};i(v),console.log("📋 AssignmentView: Assignment loaded from RPC data:",v)}}catch(v){console.error("📋 AssignmentView: Error loading assignment:",v),i({title:"Assignment Loading Error",description:"There was an error loading the assignment details. Please try again.",estimated_time_of_completion:"Unknown"})}finally{c(!1)}})()},[n,t]);const f=({message:x,assignment:v})=>{const E=x.toLowerCase().includes("declined"),b=E?"bg-red-50 border-red-200":"bg-green-50 border-green-200",S=E?"text-red-700":"text-green-700",w=E?"❌":"🎉";return a.jsxs("div",{className:`max-w-sm mx-auto ${b} border rounded-lg shadow p-3 flex flex-col items-center`,children:[a.jsx("div",{className:"text-2xl mb-2",children:w}),a.jsx("div",{className:`${S} font-semibold text-sm mb-1`,children:x}),a.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:v.title}),a.jsx("div",{className:"text-xs text-gray-500",children:"Thank you for your response!"})]})},p=async()=>{if(!(!r||!e)){u(!0);try{const x={message:"accepted"};console.log("📋 AssignmentView: Assignment accepted:",x),e.didSuccess(x,a.jsx(f,{message:"Assignment accepted!",assignment:r}))}catch(x){console.error("📋 AssignmentView: Error accepting assignment:",x),e.didFail({error:"Failed to accept assignment"})}finally{u(!1)}}},g=async()=>{if(!(!r||!e)){u(!0);try{const x={message:"declined"};console.log("📋 AssignmentView: Assignment declined:",x),e.didSuccess(x,a.jsx(f,{message:"Assignment declined",assignment:r}))}catch(x){console.error("📋 AssignmentView: Error declining assignment:",x),e.didFail({error:"Failed to decline assignment"})}finally{u(!1)}}};return l?a.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:a.jsxs("div",{className:"flex items-center justify-center py-4",children:[a.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-blue-600"}),a.jsx("span",{className:"ml-2 text-xs text-gray-600",children:"Loading assignment..."})]})}):r?a.jsxs("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg overflow-hidden",children:[a.jsx("div",{className:"bg-gradient-to-r from-blue-600 to-purple-600 text-white p-3",children:a.jsx("div",{className:"flex items-center justify-between",children:a.jsx("h3",{className:"text-xs font-semibold text-white truncate",children:r.title})})}),a.jsxs("div",{className:"p-3",children:[a.jsx("div",{className:"bg-gray-50 rounded p-2 mb-3",children:a.jsx("p",{className:"text-xs text-gray-700 leading-snug",children:r.description})}),a.jsx("div",{className:"mb-3",children:a.jsxs("div",{className:"flex items-center text-xs text-gray-600",children:[a.jsx("span",{className:"text-xs mr-1",children:"📅"}),a.jsxs("span",{children:["Est: ",r.estimated_time_of_completion]})]})}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx("button",{onClick:p,disabled:d,className:"flex-1 bg-green-600 text-white py-2 px-3 rounded text-xs font-medium hover:bg-green-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:d?a.jsxs("span",{className:"flex items-center justify-center",children:[a.jsx("div",{className:"animate-spin rounded-full h-2 w-2 border-b-2 border-white mr-1"}),a.jsx("span",{className:"text-xs",children:"Processing..."})]}):"Accept"}),a.jsx("button",{onClick:g,disabled:d,className:"flex-1 bg-red-600 text-white py-2 px-3 rounded text-xs font-medium hover:bg-red-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:"Decline"})]})]})]}):a.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:a.jsxs("div",{className:"text-center py-4",children:[a.jsx("div",{className:"text-red-600 text-sm font-semibold mb-2",children:"⚠️ Assignment Error"}),a.jsx("p",{className:"text-xs text-gray-600 mb-3",children:"Failed to load assignment details."})]})})};function V0(){const[e,t]=h.useState(null),[n,s]=h.useState([]);h.useEffect(()=>{const l=new _t({appId:"your-app-id",appSecret:"your-app-secret",baseUrl:"https://your-voxket-api.com",agentId:"your-agent-id",participantName:"User",modalities:["chat"]});return t(l),l.on("rpc.method.called",c=>{console.log("RPC Method Called:",c)}),l.on("rpc.interaction.completed",c=>{console.log("RPC Interaction Completed:",c)}),()=>{l.disconnect()}},[]);const o=async()=>{if(e)try{await e.registerFrontendRPC("give_assignment",tl,"embedded");const l=e.getRegisteredRpcMethods();s(l),console.log("✅ Assignment RPC registered successfully")}catch(l){console.error("❌ Failed to register assignment RPC:",l)}},r=async()=>{if(!e)return;const l=({handler:c,timeout:d})=>{const[u,m]=h.useState(""),f=[{id:"pro",name:"Pro Plan",price:"$29/month"},{id:"enterprise",name:"Enterprise Plan",price:"$99/month"},{id:"basic",name:"Basic Plan",price:"$9/month"}],p=x=>{m(x)},g=()=>{const x=f.find(v=>v.id===u);c==null||c.didSuccess({selectedProduct:u,productName:x==null?void 0:x.name,price:x==null?void 0:x.price,timestamp:new Date().toISOString()})};return a.jsxs("div",{className:"p-6 bg-white rounded-lg",children:[a.jsx("h3",{className:"text-xl font-bold mb-4",children:"Choose Your Plan"}),a.jsx("p",{className:"text-gray-600 mb-4",children:"Select the plan that best fits your needs:"}),a.jsx("div",{className:"space-y-3 mb-6",children:f.map(x=>a.jsx("div",{onClick:()=>p(x.id),className:`p-4 border rounded-lg cursor-pointer transition-all ${u===x.id?"border-blue-500 bg-blue-50":"border-gray-200 hover:border-gray-300"}`,children:a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"font-medium",children:x.name}),a.jsx("p",{className:"text-gray-600 text-sm",children:x.price})]}),a.jsx("div",{className:`w-4 h-4 rounded-full ${u===x.id?"bg-blue-500":"border-2 border-gray-300"}`})]})},x.id))}),a.jsxs("div",{className:"flex justify-end space-x-3",children:[a.jsx("button",{onClick:()=>c==null?void 0:c.dismissView(),className:"px-4 py-2 border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Cancel"}),a.jsx("button",{onClick:g,disabled:!u,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50",children:"Select Plan"})]}),d&&a.jsxs("p",{className:"text-xs text-gray-500 mt-2",children:["Time remaining: ",d," seconds"]})]})};try{await e.registerFrontendRPC("recommend_product",l,"modal");const c=e.getRegisteredRpcMethods();s(c),console.log("✅ Product Recommendation RPC registered successfully")}catch(c){console.error("❌ Failed to register product recommendation RPC:",c)}},i=async()=>{if(!e)return;const l=({handler:c})=>{const[d,u]=h.useState(0),[m,f]=h.useState(""),p=()=>{c==null||c.didSuccess({rating:d,comment:m,timestamp:new Date().toISOString()})};return a.jsxs("div",{className:"p-4 bg-white rounded-lg",children:[a.jsx("h3",{className:"text-lg font-semibold mb-3",children:"How was your experience?"}),a.jsxs("div",{className:"mb-4",children:[a.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Rate your experience:"}),a.jsx("div",{className:"flex space-x-1",children:[1,2,3,4,5].map(g=>a.jsx("button",{onClick:()=>u(g),className:`text-2xl ${g<=d?"text-yellow-400":"text-gray-300"}`,children:"⭐"},g))})]}),a.jsxs("div",{className:"mb-4",children:[a.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Additional comments:"}),a.jsx("textarea",{value:m,onChange:g=>f(g.target.value),className:"w-full p-2 border border-gray-300 rounded text-sm",rows:3,placeholder:"Tell us more about your experience..."})]}),a.jsxs("div",{className:"flex justify-end space-x-2",children:[a.jsx("button",{onClick:()=>c==null?void 0:c.dismissView(),className:"px-3 py-1 text-sm border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Skip"}),a.jsx("button",{onClick:p,disabled:d===0,className:"px-3 py-1 text-sm bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50",children:"Submit"})]})]})};try{await e.registerFrontendRPC("collect_feedback",l,"embedded");const c=e.getRegisteredRpcMethods();s(c),console.log("✅ Feedback RPC registered successfully")}catch(c){console.error("❌ Failed to register feedback RPC:",c)}};return a.jsxs("div",{className:"p-6",children:[a.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frontend RPC Examples"}),a.jsxs("div",{className:"space-y-4 mb-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Register RPC Methods"}),a.jsxs("div",{className:"space-x-2",children:[a.jsx("button",{onClick:o,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Register Assignment RPC"}),a.jsx("button",{onClick:r,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Register Product Recommendation RPC"}),a.jsx("button",{onClick:i,className:"px-4 py-2 bg-purple-500 text-white rounded hover:bg-purple-600",children:"Register Feedback RPC"})]})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Registered Methods"}),n.length>0?a.jsx("ul",{className:"list-disc list-inside space-y-1",children:n.map(l=>a.jsx("li",{className:"text-gray-700",children:a.jsx("code",{className:"bg-gray-100 px-2 py-1 rounded",children:l})},l))}):a.jsx("p",{className:"text-gray-500",children:"No methods registered yet"})]})]}),a.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg",children:[a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"How it works"}),a.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-sm text-gray-700",children:[a.jsxs("li",{children:["Register RPC methods with React components using ",a.jsx("code",{children:"client.registerFrontendRPC()"})]}),a.jsx("li",{children:"When the agent calls an RPC method, the corresponding component will be displayed"}),a.jsx("li",{children:"Users interact with the component, and the response is sent back to the agent"}),a.jsx("li",{children:"Components can be displayed in different modes: embedded, modal, or fullscreen"}),a.jsx("li",{children:"Each component has a timeout and can handle success/failure scenarios"})]})]}),a.jsxs("div",{className:"mt-6 bg-blue-50 p-4 rounded-lg",children:[a.jsx("h3",{className:"text-lg font-semibold mb-2 text-blue-800",children:"Agent Side"}),a.jsx("p",{className:"text-sm text-blue-700 mb-2",children:"On the agent side, you can call these RPC methods like this:"}),a.jsx("pre",{className:"bg-white p-3 rounded text-xs text-gray-800 overflow-x-auto",children:`// Agent calls RPC method
|
|
105
|
+
`,style:{minHeight:"2.5rem",display:i===s?"block":"none"},children:o},i))})}function rx({statusMessage:e,theme:t}){const n=Ve(t);return l.jsxs("div",{className:"z-10 flex items-center space-x-2 mt-2 pb-2",children:[l.jsx("div",{className:n.statusIndicator}),l.jsx("span",{className:`text-xs ${n.text.muted}`,children:e})]})}const ox=({disabled:e,onStartCall:t,onStartChat:n,onStartVideo:s,prompts:r=['"Book a meeting with the marketing team"',`"What's the status of project Alpha?"`,`"Summarize yesterday's sales report"`,'"Find a good Italian restaurant nearby"','"Remind me to call John tomorrow at 10 AM"'],statusMessage:o="Agent is ready",title:i="Choose how to interact",subTitle:a="Ask me anything or give me a task to complete",theme:c="vox",modalities:d=["voice","chat","video"]})=>{const u=Ve(c),f=d.includes("voice"),h=d.includes("chat"),g=d.includes("video"),x=[f,h,g].filter(Boolean).length;return console.log("🎯 Welcome component debug:",{modalities:d,hasVoice:f,hasChat:h,hasVideo:g,totalButtons:x,onStartVideo:!!s}),l.jsxs("div",{inert:e,className:"flex p-8 flex-col items-center h-full justify-center w-full",children:[l.jsxs("div",{className:"mt-1 relative flex items-center justify-center mb-8 w-full",style:{minHeight:"120px"},children:[l.jsxs("div",{className:"absolute inset-0 flex items-center justify-center",children:[l.jsx("div",{className:u.pulseRings.ring1}),l.jsx("div",{className:u.pulseRings.ring2,style:{animationDelay:"0.5s"}}),l.jsx("div",{className:u.pulseRings.ring3,style:{animationDelay:"1s"}})]}),l.jsx("div",{className:"relative z-10 flex items-center justify-center",children:f&&h&&g?l.jsxs("div",{className:"flex gap-4 items-center justify-center",children:[l.jsx(Wn,{onClick:t,disabled:e,theme:c}),l.jsx(rr,{onClick:n,disabled:e,theme:c}),l.jsx(or,{onClick:s||t,disabled:e,theme:c})]}):x>1?l.jsxs("div",{className:"flex gap-6 items-center justify-center",children:[f&&l.jsx(Wn,{onClick:t,disabled:e,theme:c}),h&&l.jsx(rr,{onClick:n,disabled:e,theme:c}),g&&s&&l.jsx(or,{onClick:s,disabled:e,theme:c})]}):l.jsx("div",{className:"flex items-center justify-center",children:f?l.jsx(Wn,{onClick:t,disabled:e,theme:c}):h?l.jsx(rr,{onClick:n,disabled:e,theme:c}):g&&s?l.jsx(or,{onClick:s,disabled:e,theme:c}):l.jsx(Wn,{onClick:t,disabled:e,theme:c})})})]}),l.jsxs("div",{className:"text-center flex flex-col items-center gap-y-2 mb-6 w-full",children:[l.jsx("h3",{className:`text-xl font-semibold mb-2 ${u.text.accent}`,children:i}),l.jsx("p",{className:`text-sm leading-relaxed px-4 ${u.text.secondary}`,children:a}),x>1&&l.jsxs("div",{className:"flex gap-6 mt-4 text-xs justify-center",children:[f&&l.jsxs("div",{className:"flex flex-col items-center gap-1",children:[l.jsx(hd,{className:"w-4 h-4"}),l.jsx("span",{className:u.text.muted,children:"Voice"})]}),h&&l.jsxs("div",{className:"flex flex-col items-center gap-1",children:[l.jsx(fd,{className:"w-4 h-4"}),l.jsx("span",{className:u.text.muted,children:"Chat"})]}),g&&l.jsxs("div",{className:"flex flex-col items-center gap-1",children:[l.jsx(md,{className:"w-4 h-4"}),l.jsx("span",{className:u.text.muted,children:"Video"})]})]})]}),l.jsx(sx,{prompts:r,theme:c}),l.jsx(rx,{statusMessage:o,theme:c})]})};function pd({room:e,onSessionEnd:t,onSessionStart:n,enableConsoleLogging:s=!0,enableLocalStorage:r=!0,voxketSessionId:o}={}){const[i,a]=p.useState(null),[c,d]=p.useState([]),[u,f]=p.useState(null),[h,g]=p.useState([]),x=p.useCallback((v,T)=>{const w={timestamp:new Date,event:v,data:T,sessionId:i==null?void 0:i.sessionId,participantId:u==null?void 0:u.identity};if(d(S=>[...S,w]),r){const S=JSON.parse(localStorage.getItem("voxket-session-logs")||"[]");S.push(w),localStorage.setItem("voxket-session-logs",JSON.stringify(S))}return w},[i==null?void 0:i.sessionId,u==null?void 0:u.identity,s,r]);p.useEffect(()=>{if(!e)return;const v=()=>{const y=o||`session-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,D=new Date,_={sessionId:y,startTime:D,totalMessages:0,connectionIssues:0,participantCount:h.length,events:[]};a(_),x("SESSION_STARTED",{sessionId:y,startTime:D}),n==null||n(y)},T=()=>{if(i){const y=new Date,D=y.getTime()-i.startTime.getTime(),_={...i,endTime:y,duration:D,events:c};x("SESSION_ENDED",{sessionId:i.sessionId,duration:`${Math.round(D/1e3)}s`,totalMessages:i.totalMessages,connectionIssues:i.connectionIssues}),t==null||t(_),a(null),d([])}},w=y=>{x("CONNECTION_STATE_CHANGED",{state:y}),y===Z.ConnectionState.Reconnecting&&i&&(a(D=>D?{...D,connectionIssues:D.connectionIssues+1}:null),x("CONNECTION_ISSUE",{type:"reconnecting"}))},S=y=>{x("TRACK_PUBLISHED",{trackKind:y.kind,trackSource:y.source})},A=y=>{x("TRACK_UNPUBLISHED",{trackKind:y.kind,trackSource:y.source})},M=(y,D)=>{i&&a(_=>_?{..._,totalMessages:_.totalMessages+1}:null),x("DATA_RECEIVED",{participantId:D==null?void 0:D.identity,dataSize:y.length})},j=y=>{x("PARTICIPANT_CONNECTED",{participantId:y.identity,participantName:y.name}),g(D=>[...D,y]),i&&a(D=>D?{...D,participantCount:D.participantCount+1}:null)},z=y=>{x("PARTICIPANT_DISCONNECTED",{participantId:y.identity,participantName:y.name}),g(D=>D.filter(_=>_.identity!==y.identity))};return e.localParticipant&&f(e.localParticipant),e.on(Z.RoomEvent.Connected,v),e.on(Z.RoomEvent.Disconnected,T),e.on(Z.RoomEvent.ConnectionStateChanged,w),e.on(Z.RoomEvent.TrackPublished,S),e.on(Z.RoomEvent.TrackUnpublished,A),e.on(Z.RoomEvent.DataReceived,M),e.on(Z.RoomEvent.ParticipantConnected,j),e.on(Z.RoomEvent.ParticipantDisconnected,z),()=>{e.off(Z.RoomEvent.Connected,v),e.off(Z.RoomEvent.Disconnected,T),e.off(Z.RoomEvent.ConnectionStateChanged,w),e.off(Z.RoomEvent.TrackPublished,S),e.off(Z.RoomEvent.TrackUnpublished,A),e.off(Z.RoomEvent.DataReceived,M),e.off(Z.RoomEvent.ParticipantConnected,j),e.off(Z.RoomEvent.ParticipantDisconnected,z)}},[e,i,c,h.length,x,t,n]);const m=p.useCallback(()=>r?JSON.parse(localStorage.getItem("voxket-session-logs")||"[]"):c,[c,r]),b=p.useCallback(()=>{r&&localStorage.removeItem("voxket-session-logs"),d([])},[r]),k=p.useCallback(()=>{const v=m(),T=JSON.stringify(v,null,2),w="data:application/json;charset=utf-8,"+encodeURIComponent(T),S=`voxket-session-logs-${new Date().toISOString().split("T")[0]}.json`,A=document.createElement("a");A.setAttribute("href",w),A.setAttribute("download",S),A.click()},[m]);return{sessionMetrics:i,sessionLogs:c,logEvent:x,getSessionLogs:m,clearSessionLogs:b,exportSessionLogs:k}}class Po{constructor(){Se(this,"listeners",{})}on(t,n){return this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(n),()=>this.off(t,n)}once(t,n){const s=(...r)=>{this.off(t,s),n(...r)};return this.on(t,s)}off(t,n){const s=this.listeners[t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}removeAllListeners(t){t?delete this.listeners[t]:this.listeners={}}emit(t,...n){const s=this.listeners[t];if(!s)return;const r=[...s];for(const o of r)try{o(...n)}catch(i){console.error(`Error in event listener for ${String(t)}:`,i)}}listenerCount(t){var n;return((n=this.listeners[t])==null?void 0:n.length)??0}eventNames(){return Object.keys(this.listeners)}}class gd{constructor(t){Se(this,"plugins",new Map);Se(this,"installedPlugins",new Set);Se(this,"context");this.context={client:t,emit:t.emit.bind(t),on:t.on.bind(t),config:{}}}register(t){if(this.plugins.has(t.name))throw new Error(`Plugin '${t.name}' is already registered`);if(t.dependencies){for(const n of t.dependencies)if(!this.plugins.has(n))throw new Error(`Plugin '${t.name}' depends on '${n}' which is not registered`)}this.plugins.set(t.name,t)}async install(t,n){const s=this.plugins.get(t);if(!s)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t))throw new Error(`Plugin '${t}' is already installed`);if(s.dependencies)for(const o of s.dependencies)this.installedPlugins.has(o)||await this.install(o);const r={...this.context,config:{...s.config,...n}};s.install&&await s.install(r),this.installedPlugins.add(t),this.setupPluginEvents(s,r)}async uninstall(t){var s;const n=this.plugins.get(t);if(!n)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t)){for(const[r,o]of this.plugins)if(this.installedPlugins.has(r)&&((s=o.dependencies)!=null&&s.includes(t)))throw new Error(`Cannot uninstall '${t}' because '${r}' depends on it`);n.uninstall&&await n.uninstall(this.context),this.installedPlugins.delete(t)}}isInstalled(t){return this.installedPlugins.has(t)}getInstalledPlugins(){return Array.from(this.installedPlugins)}getAvailablePlugins(){return Array.from(this.plugins.keys())}getPluginInfo(t){return this.plugins.get(t)}setupPluginEvents(t,n){t.onSessionStart&&n.on("session.started",s=>{t.onSessionStart(n,s.id)}),t.onSessionEnd&&n.on("session.ended",s=>{t.onSessionEnd(n,s.id)}),t.onAgentResponse&&n.on("agent.response",s=>{t.onAgentResponse(n,s)})}}function ix(e){return e}function Vo(e,t,n){return{name:e,version:"1.0.0",description:`${t} modality plugin`,install:async s=>{n.onActivate&&await n.onActivate(s)},uninstall:async s=>{n.onDeactivate&&await n.onDeactivate(s)},onAgentResponse:n.onMessage}}const ax={name:"analytics",version:"1.0.0",description:"Built-in analytics tracking",install:async e=>{console.log("Analytics plugin installed"),e.on("session.started",t=>{console.log("Analytics: Session started",t.id)}),e.on("session.ended",(t,n)=>{console.log("Analytics: Session ended",t.id,n)}),e.on("chat.message.sent",t=>{console.log("Analytics: User message sent",t.content.length)})}},cx={name:"debug",version:"1.0.0",description:"Debug logging and development tools",install:async e=>{console.log("Debug plugin installed");const t=e.emit;e.emit=(n,...s)=>(console.log(`[Debug] Event: ${String(n)}`,s),t(n,...s))}},lx={name:"metrics",version:"1.0.0",description:"Advanced metrics collection",install:async e=>{console.log("Metrics plugin installed");const t=new Map;e.on("session.started",n=>{t.set(n.id,{startTime:Date.now(),events:[]})}),e.on("agent.response",n=>{console.log("Metrics: Agent response analyzed",{type:n.type,length:n.content.length,timestamp:n.timestamp})})}},yd=C.createContext(null);function xd({config:e,children:t,autoConnect:n=!1}){const[s,r]=C.useState(null),[o,i]=C.useState(!1),[a,c]=C.useState(!1),[d,u]=C.useState(null),[f,h]=C.useState(null),[g,x]=C.useState("idle"),[m,b]=C.useState(null),[k,v]=C.useState([]),[T,w]=C.useState([]),[S,A]=C.useState([]);C.useEffect(()=>{const R=new Vn(e);return r(R),M(R),n&&j(R),()=>{R.disconnect().catch(console.error)}},[e,n]);const M=R=>{R.on("connection.connecting",()=>{c(!0),u(null)}),R.on("connection.connected",()=>{i(!0),c(!1),u(null)}),R.on("connection.disconnected",()=>{i(!1),c(!1),h(null),x("idle"),v([]),w([]),A([])}),R.on("connection.error",X=>{u(X),c(!1)}),R.on("session.created",X=>{h(X),x(X.state)}),R.on("session.state.changed",X=>{x(X),f&&h({...f,state:X})}),R.on("session.ended",(X,V)=>{h(null),x("idle"),b(V),v([]),w([]),A([])}),R.on("participant.joined",X=>{v(V=>[...V,X])}),R.on("participant.left",X=>{v(V=>V.filter(U=>U.id!==X.id))}),R.on("chat.message.received",X=>{w(V=>[...V,X])}),R.on("chat.message.sent",X=>{w(V=>[...V,X])}),R.on("transcription.received",X=>{A(V=>[...V,X])})},j=async R=>{const X=R||s;if(X)try{await X.connect()}catch(V){console.error("Failed to connect:",V)}},Y={client:s,isConnected:o,isConnecting:a,connectionError:d,currentSession:f,sessionState:g,sessionMetrics:m,participants:k,chatMessages:T,transcriptions:S,connect:()=>j(),disconnect:async()=>{if(s)try{await s.disconnect()}catch(R){console.error("Failed to disconnect:",R)}},createSession:async(R,X={})=>{if(!s)throw new Error("Client not initialized");const V={agentId:R,participantName:X.participantName||"User",metadata:X.metadata,modalities:X.modalities||["voice"]};return await s.createSession(V)},endSession:async()=>s?await s.endSession():null,sendChatMessage:async R=>{if(!s)throw new Error("Client not initialized");await s.sendChatMessage(R)},setMicrophoneEnabled:async R=>{if(!s)throw new Error("Client not initialized");await s.setMicrophoneEnabled(R)},setCameraEnabled:async R=>{if(!s)throw new Error("Client not initialized");await s.setCameraEnabled(R)},startScreenShare:async()=>{if(!s)throw new Error("Client not initialized");await s.startScreenShare()},stopScreenShare:async()=>{if(!s)throw new Error("Client not initialized");await s.stopScreenShare()}};return l.jsx(yd.Provider,{value:Y,children:t})}function Qe(){const e=C.useContext(yd);if(!e)throw new Error("useVoxket must be used within a VoxketProvider");return e}class dx extends Po{constructor(n){super();Se(this,"room",null);Se(this,"registeredMethods",new Map);Se(this,"activeInteractions",new Map);Se(this,"currentInteraction",null);n&&this.setRoom(n)}setRoom(n){this.room=n}async registerFrontendRPC(n,s,r="embedded"){if(console.log(`RpcManager: Starting registration for method '${n}'`),!this.room)throw console.error(`RpcManager: Cannot register '${n}' - no room instance`),new Error("Room not initialized. Cannot register RPC method.");if(!this.room.localParticipant)throw console.error(`RpcManager: Cannot register '${n}' - no local participant`),new Error("Local participant not available for RPC registration");console.log(`RpcManager: Room state: ${this.room.state}`),console.log(`RpcManager: Local participant: ${this.room.localParticipant.identity}`),console.log(`RpcManager: Registering frontend RPC method: ${n}`);const o={methodName:n,component:s,presentationMode:r};this.registeredMethods.set(n,o);try{this.room.registerRpcMethod(n,async i=>{console.log(`RpcManager: RPC method '${n}' called by ${i.callerIdentity}`),console.log("RpcManager: Payload:",i.payload),this.emit("rpc.method.called",{methodName:n,data:i});let a;console.log(`RpcManager: Current registration for '${n}':`,o);let c=i.responseTimeout||30;try{a=JSON.parse(i.payload)}catch{a=i.payload}try{const d=await this.awaitUserInteraction(n,s,r,a,c);return JSON.stringify(d)}catch(d){throw console.error(`RpcManager: Error in RPC method '${n}':`,d),d}}),this.emit("rpc.method.registered",{methodName:n}),console.log(`RpcManager: Successfully registered RPC method: ${n}`)}catch(i){throw console.error(`RpcManager: Failed to register RPC method '${n}':`,i),i}}async awaitUserInteraction(n,s,r,o,i){return new Promise((a,c)=>{const d=`${n}_${Date.now()}`;console.log(`RpcManager: Starting user interaction for method: ${n}, timeout: ${i} seconds`);const u={didSuccess:(h,g)=>{console.log(`RpcManager: User interaction successful for method: ${n}`,h),this.clearInteraction(d),this.currentInteraction=null;const x={success:!0,message:"User interaction completed successfully",data:h,timestamp:new Date,...g?{successView:g}:{}};this.emit("rpc.interaction.completed",{methodName:n,response:x}),a(x)},didFail:h=>{console.log(`RpcManager: User interaction failed for method: ${n}`,h),this.clearInteraction(d);const g={success:!1,message:"User interaction failed",error:h,timestamp:new Date};this.emit("rpc.interaction.completed",{methodName:n,response:g}),a(g)},dismissView:()=>{var g;console.log(`RpcManager: User dismissed interaction for method: ${n}`),console.log("RpcManager: Current interaction before dismiss:",(g=this.currentInteraction)==null?void 0:g.methodName),this.clearInteraction(d),this.currentInteraction=null,console.log("RpcManager: Current interaction after dismiss:",this.currentInteraction);const h={success:!0,data:{dismissed:!0,reason:"User dismissed the interaction"},message:"User interaction dismissed",timestamp:new Date};this.emit("rpc.interaction.dismissed",{methodName:n,response:h}),this.emit("rpc.interaction.completed",{methodName:n,response:h}),setTimeout(()=>{var x;((x=this.currentInteraction)==null?void 0:x.methodName)===n&&(console.log(`RpcManager: Force clearing interaction for ${n}`),this.currentInteraction=null)},0),a(h)},didTimeout:h=>{console.log(`RpcManager: User interaction timeout for method: ${n}`),this.clearInteraction(d),this.currentInteraction=null;const g={success:!0,message:`User interaction timed out after ${i} seconds, it should be considered as declined, agent don't need to retry`,timestamp:new Date,...h?{timeoutView:h}:{}};this.emit("rpc.interaction.timeout",{methodName:n,response:g}),setTimeout(()=>{var x;((x=this.currentInteraction)==null?void 0:x.methodName)===n&&(console.log(`RpcManager: Force clearing interaction for ${n}`),this.currentInteraction=null)},0),a(g)}},f=setTimeout(()=>{u.didTimeout&&u.didTimeout()},i);this.activeInteractions.set(d,{resolve:h=>a(JSON.parse(h)),reject:c,timeoutId:f}),this.currentInteraction={isVisible:!0,methodName:n,component:s,presentationMode:r,timeout:i,data:o,handler:u},this.emit("rpc.interaction.started",{methodName:n,presentationMode:r}),setTimeout(async()=>{var h;if((h=this.currentInteraction)!=null&&h.handler)try{console.log(`RpcManager: Component created for method: ${n} with data:`,o)}catch(g){console.error("RpcManager: Error loading data into component:",g),u.didFail({error:"Failed to load data into component"})}},100)})}clearInteraction(n){const s=this.activeInteractions.get(n);s&&(console.log(`RpcManager: Clearing interaction: ${n}`),clearTimeout(s.timeoutId),this.activeInteractions.delete(n))}getCurrentInteraction(){return this.currentInteraction}dismissCurrentInteraction(){var n;this.currentInteraction&&(console.log(`RpcManager: Dismissing current interaction: ${this.currentInteraction.methodName}`),(n=this.currentInteraction.handler)==null||n.dismissView(),setTimeout(()=>{this.currentInteraction&&(console.log("RpcManager: Force clearing lingering interaction"),this.currentInteraction=null)},0))}getRegisteredMethods(){return Array.from(this.registeredMethods.keys())}unregisterMethod(n){this.registeredMethods.delete(n),console.log(`RpcManager: Unregistered RPC method: ${n}`)}clear(){for(const[n,s]of this.activeInteractions)clearTimeout(s.timeoutId);this.activeInteractions.clear(),this.registeredMethods.clear(),this.currentInteraction=null,console.log("RpcManager: Cleared all registrations and interactions")}}let Wa=!1;const ux=`
|
|
106
|
+
/* Voxket Widget Scoped Styles */
|
|
107
|
+
.voxket-widget-root {
|
|
108
|
+
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
|
|
109
|
+
line-height: 1.5;
|
|
110
|
+
font-weight: 400;
|
|
111
|
+
color-scheme: light dark;
|
|
112
|
+
background-color: transparent;
|
|
113
|
+
color: rgba(255, 255, 255, 0.87);
|
|
114
|
+
border-radius: 1rem;
|
|
115
|
+
font-synthesis: none;
|
|
116
|
+
text-rendering: optimizeLegibility;
|
|
117
|
+
-webkit-font-smoothing: antialiased;
|
|
118
|
+
-moz-osx-font-smoothing: grayscale;
|
|
119
|
+
position: relative;
|
|
120
|
+
isolation: isolate;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.voxket-widget-root.theme-light {
|
|
124
|
+
color: rgba(0, 0, 0, 0.87);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.voxket-widget-root.theme-dark {
|
|
128
|
+
color: rgba(255, 255, 255, 0.87);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.voxket-widget-root.theme-vox {
|
|
132
|
+
color: rgba(255, 255, 255, 0.87);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Scoped Tailwind-like utilities - only apply within widget */
|
|
136
|
+
.voxket-widget-root .flex { display: flex; }
|
|
137
|
+
.voxket-widget-root .flex-col { flex-direction: column; }
|
|
138
|
+
.voxket-widget-root .flex-row { flex-direction: row; }
|
|
139
|
+
.voxket-widget-root .items-center { align-items: center; }
|
|
140
|
+
.voxket-widget-root .justify-center { justify-content: center; }
|
|
141
|
+
.voxket-widget-root .justify-between { justify-content: space-between; }
|
|
142
|
+
.voxket-widget-root .w-full { width: 100%; }
|
|
143
|
+
.voxket-widget-root .h-full { height: 100%; }
|
|
144
|
+
.voxket-widget-root .relative { position: relative; }
|
|
145
|
+
.voxket-widget-root .absolute { position: absolute; }
|
|
146
|
+
.voxket-widget-root .rounded { border-radius: 0.25rem; }
|
|
147
|
+
.voxket-widget-root .rounded-lg { border-radius: 0.5rem; }
|
|
148
|
+
.voxket-widget-root .rounded-full { border-radius: 9999px; }
|
|
149
|
+
.voxket-widget-root .p-2 { padding: 0.5rem; }
|
|
150
|
+
.voxket-widget-root .p-4 { padding: 1rem; }
|
|
151
|
+
.voxket-widget-root .m-2 { margin: 0.5rem; }
|
|
152
|
+
.voxket-widget-root .m-4 { margin: 1rem; }
|
|
153
|
+
.voxket-widget-root .text-center { text-align: center; }
|
|
154
|
+
.voxket-widget-root .text-sm { font-size: 0.875rem; }
|
|
155
|
+
.voxket-widget-root .text-base { font-size: 1rem; }
|
|
156
|
+
.voxket-widget-root .text-lg { font-size: 1.125rem; }
|
|
157
|
+
.voxket-widget-root .font-medium { font-weight: 500; }
|
|
158
|
+
.voxket-widget-root .font-semibold { font-weight: 600; }
|
|
159
|
+
.voxket-widget-root .cursor-pointer { cursor: pointer; }
|
|
160
|
+
.voxket-widget-root .bg-blue-500 { background-color: rgb(59 130 246); }
|
|
161
|
+
.voxket-widget-root .bg-gray-100 { background-color: rgb(243 244 246); }
|
|
162
|
+
.voxket-widget-root .bg-gray-800 { background-color: rgb(31 41 55); }
|
|
163
|
+
.voxket-widget-root .text-white { color: rgb(255 255 255); }
|
|
164
|
+
.voxket-widget-root .text-gray-700 { color: rgb(55 65 81); }
|
|
165
|
+
.voxket-widget-root .border { border-width: 1px; }
|
|
166
|
+
.voxket-widget-root .border-gray-300 { border-color: rgb(209 213 219); }
|
|
167
|
+
.voxket-widget-root .shadow { box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); }
|
|
168
|
+
.voxket-widget-root .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
|
|
169
|
+
|
|
170
|
+
/* Custom scrollbar for widget */
|
|
171
|
+
.voxket-widget-root ::-webkit-scrollbar {
|
|
172
|
+
display: none;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.voxket-widget-root .scrollbar-hide {
|
|
176
|
+
scrollbar-width: none;
|
|
177
|
+
-ms-overflow-style: none;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.voxket-widget-root .scrollbar-hide::-webkit-scrollbar {
|
|
181
|
+
display: none;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Chat specific styles */
|
|
185
|
+
.voxket-widget-root .chat-scrollable {
|
|
186
|
+
scrollbar-width: thin;
|
|
187
|
+
scrollbar-color: rgba(155, 155, 155, 0.3) transparent;
|
|
188
|
+
display: flex;
|
|
189
|
+
flex-direction: column;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.voxket-widget-root .chat-scrollable::-webkit-scrollbar {
|
|
193
|
+
width: 6px;
|
|
194
|
+
display: block;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.voxket-widget-root .chat-scrollable::-webkit-scrollbar-track {
|
|
198
|
+
background: transparent;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.voxket-widget-root .chat-scrollable::-webkit-scrollbar-thumb {
|
|
202
|
+
background-color: rgba(155, 155, 155, 0.3);
|
|
203
|
+
border-radius: 3px;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.voxket-widget-root .chat-scrollable::-webkit-scrollbar-thumb:hover {
|
|
207
|
+
background-color: rgba(155, 155, 155, 0.5);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.voxket-widget-root .chat-messages-container {
|
|
211
|
+
display: flex;
|
|
212
|
+
flex-direction: column;
|
|
213
|
+
justify-content: flex-end;
|
|
214
|
+
min-height: 100%;
|
|
215
|
+
width: 100%;
|
|
216
|
+
max-width: none;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/* Animation keyframes */
|
|
220
|
+
@keyframes pulse-ring {
|
|
221
|
+
0% { transform: scale(1); opacity: 1; }
|
|
222
|
+
50% { transform: scale(1.2); opacity: 0.6; }
|
|
223
|
+
100% { transform: scale(1.4); opacity: 0; }
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
@keyframes glow {
|
|
227
|
+
0%, 100% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.5); }
|
|
228
|
+
50% { box-shadow: 0 0 30px rgba(59, 130, 246, 0.8); }
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.voxket-widget-root .pulse-ring {
|
|
232
|
+
animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.voxket-widget-root .mic-glow {
|
|
236
|
+
animation: glow 2s ease-in-out infinite;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.voxket-widget-root .animate-spin {
|
|
240
|
+
animation: spin 1s linear infinite;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
@keyframes spin {
|
|
244
|
+
to {
|
|
245
|
+
transform: rotate(360deg);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.voxket-widget-root button {
|
|
250
|
+
cursor: pointer;
|
|
251
|
+
}
|
|
252
|
+
`;function No(){if(Wa||typeof document>"u")return;const e=document.createElement("style");e.type="text/css",e.id="voxket-widget-styles",e.textContent=ux,document.head.appendChild(e),Wa=!0}No();class he extends Error{constructor(t,n,s){super(t),this.code=n,this.details=s,this.name="VoxketError"}}class Vn extends Po{constructor(n){super();Se(this,"config");Se(this,"room",null);Se(this,"pluginManager");Se(this,"rpcManager");Se(this,"isConnected",!1);Se(this,"currentSession",null);Se(this,"connectionState",Z.ConnectionState.Disconnected);Se(this,"renderedComponents",new Map);Se(this,"textStreamHandlersRegistered",!1);Se(this,"currentAgentInfo",null);Se(this,"chatMessages",[]);Se(this,"isAgentConnected",!1);Se(this,"agentState","idle");No(),this.config=n,this.pluginManager=new gd(this),this.rpcManager=new dx,this.setupEventListeners(),this.initializeClient()}setupEventListeners(){this.on("connection.connected",()=>{var n,s;this.isConnected=!0,(s=(n=this.config).onConnected)==null||s.call(n)}),this.on("connection.disconnected",n=>{var s,r;this.isConnected=!1,(r=(s=this.config).onDisconnected)==null||r.call(s,n)}),this.on("connection.error",n=>{var s,r;(r=(s=this.config).onError)==null||r.call(s,n)}),this.on("chat.message.received",n=>{var s,r;this.addChatMessage(n),(r=(s=this.config).onMessageReceived)==null||r.call(s,n)}),this.on("chat.message.updated",n=>{this.updateChatMessage(n)}),this.on("chat.message.sent",n=>{this.addChatMessage(n)}),this.on("transcription.received",n=>{var s,r;(r=(s=this.config).onTranscriptionReceived)==null||r.call(s,n)}),this.on("session.state.changed",n=>{var s,r;(r=(s=this.config).onSessionStateChanged)==null||r.call(s,n)}),this.on("session.created",n=>{var s,r;(r=(s=this.config).onSessionStart)==null||r.call(s,n.id)}),this.on("session.ended",(n,s)=>{var r,o;(o=(r=this.config).onSessionEnd)==null||o.call(r,s)}),this.on("participant.joined",n=>{var s,r;(r=(s=this.config).onUserJoined)==null||r.call(s,n.id)}),this.on("participant.left",n=>{var s,r;(r=(s=this.config).onUserLeft)==null||r.call(s,n.id)}),this.setupRpcEventForwarding()}setupRpcEventForwarding(){if(!this.rpcManager){console.warn("RpcManager not initialized, skipping event forwarding setup");return}this.rpcManager.on("rpc.method.registered",n=>this.emit("rpc.method.registered",n)),this.rpcManager.on("rpc.method.called",n=>this.emit("rpc.method.called",n)),this.rpcManager.on("rpc.interaction.started",n=>this.emit("rpc.interaction.started",n)),this.rpcManager.on("rpc.interaction.completed",n=>this.emit("rpc.interaction.completed",n)),this.rpcManager.on("rpc.interaction.timeout",n=>this.emit("rpc.interaction.timeout",n)),this.rpcManager.on("rpc.interaction.dismissed",n=>this.emit("rpc.interaction.dismissed",n))}initializeClient(){this.room=new Z.Room,this.setupRoomEventListeners()}setupRoomEventListeners(){this.room&&(this.room.on(Z.RoomEvent.Connected,()=>{var n,s;this.connectionState=Z.ConnectionState.Connected,this.emit("connection.connected"),this.rpcManager.setRoom(this.room),(s=(n=this.currentSession)==null?void 0:n.activeModalities)!=null&&s.includes("voice")&&setTimeout(async()=>{var r;try{(r=this.room)!=null&&r.localParticipant&&(this.room.localParticipant.isMicrophoneEnabled?this.emit("track.unmuted",{source:"microphone",enabled:!0}):(await this.room.localParticipant.setMicrophoneEnabled(!0),this.emit("track.unmuted",{source:"microphone",enabled:!0})))}catch(o){console.warn("VoxketClient: Failed to enable microphone after room connection:",o)}},1e3),this.textStreamHandlersRegistered||this.setupTextStreamHandlers()}),this.room.on(Z.RoomEvent.Disconnected,n=>{var s;console.log("🔴 VoxketClient: Room disconnected, reason:",n),this.connectionState=Z.ConnectionState.Disconnected,this.textStreamHandlersRegistered=!1,this.isAgentConnected=!1,console.log("🤖 VoxketClient: Agent marked as disconnected"),n&&console.log("🔍 VoxketClient: Disconnect reason details:",{reason:n.toString(),currentSession:(s=this.currentSession)==null?void 0:s.id,agentConnected:this.isAgentConnected,connectionState:this.connectionState}),this.emit("connection.disconnected",n==null?void 0:n.toString())}),this.room.on(Z.RoomEvent.ConnectionStateChanged,n=>{this.connectionState=n,n===Z.ConnectionState.Connecting&&this.emit("connection.connecting")}),this.room.on(Z.RoomEvent.ParticipantConnected,n=>{const s={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.joined",s)}),this.room.on(Z.RoomEvent.ParticipantDisconnected,n=>{const s={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.left",s)}))}setupTextStreamHandlers(){if(!this.room)return;try{this.room.registerTextStreamHandler("lk.chat",async(s,r)=>{try{const o=await s.readAll(),i={id:`msg_${Date.now()}_${r.identity||"user"}_${Math.random().toString(36).substr(2,9)}`,content:o,timestamp:new Date,sender:{id:r.identity||"user",name:r.identity||"User",type:"participant"},metadata:{topic:"lk.chat"}};this.emit("chat.message.received",i)}catch(o){console.error("VoxketClient: Failed to process lk.chat message:",o)}})}catch(s){console.warn("VoxketClient: lk.chat handler already registered, skipping:",s)}try{this.room.registerTextStreamHandler("lk.transcription",async(s,r)=>{var o,i;try{const a=`msg_${Date.now()}_agent_transcription_${Math.random().toString(36).substr(2,9)}`;let c="";const d=((o=this.currentAgentInfo)==null?void 0:o.name)||r.identity||"AI Assistant",u={id:a,content:"",timestamp:new Date,sender:{id:r.identity||"agent",name:d,type:"agent"},metadata:{topic:"lk.transcription",streaming:!0}};this.emit("chat.message.received",u);for await(const g of s){c+=g;const x=this.convertMarkdownToText(c),m={...u,content:x,metadata:{...u.metadata,streaming:!0}};this.emit("chat.message.updated",m)}const f=this.convertMarkdownToText(c),h={...u,content:f,metadata:{...u.metadata,streaming:!1}};this.emit("chat.message.updated",h)}catch(a){console.error("VoxketClient: Failed to process lk.transcription message:",a);try{const c=await s.readAll(),d=((i=this.currentAgentInfo)==null?void 0:i.name)||r.identity||"AI Assistant",u={id:`msg_${Date.now()}_agent_transcription_${Math.random().toString(36).substr(2,9)}`,content:c,timestamp:new Date,sender:{id:r.identity||"agent",name:d,type:"agent"},metadata:{topic:"lk.transcription"}};this.emit("chat.message.received",u)}catch(c){console.error("VoxketClient: Fallback failed for lk.transcription:",c)}}})}catch(s){console.warn("VoxketClient: lk.transcription handler already registered, skipping:",s)}try{this.room.registerTextStreamHandler("suggested_response",async s=>{const r=await s.readAll();let o=[];try{o=["tes","hello how are you","algebra make me learn that ","what is the meaning of life"]}catch(i){console.warn("VoxketClient: Failed to parse suggested_response:",i,r)}this.emit("suggested.response",o)})}catch(s){console.warn("VoxketClient: suggested_response handler already registered, skipping:",s)}try{this.room.registerTextStreamHandler("agent_state_changed",async(s,r)=>{const o=await s.readAll();console.log("🤖 VoxketClient: agent_state_changed stream received:",o);let i={};try{i=typeof o=="string"?JSON.parse(o.replace(/'/g,'"')):o}catch(a){console.warn("VoxketClient: Failed to parse agent_state_changed:",a,o)}this.isAgentConnected||(this.isAgentConnected=!0,console.log("🤖 VoxketClient: Agent marked as connected (first state change received)"),this.emit("agent.connected",i)),i.new_state==="speaking"?(this.setAgentState("speaking"),this.emit("agent.speaking",i)):i.new_state==="thinking"?(this.setAgentState("thinking"),this.emit("agent.thinking",i)):(i.new_state==="idle"||i.new_state==="listening")&&this.setAgentState("idle")})}catch(s){console.warn("VoxketClient: conversation_item_added handler already registered, skipping:",s)}try{this.room.registerTextStreamHandler("images",async(s,r)=>{try{const o=await s.readAll()}catch(o){console.error("VoxketClient: Error processing images stream:",o)}})}catch(s){console.warn("VoxketClient: images handler already registered, skipping:",s)}try{this.room.registerByteStreamHandler("images",async(s,r)=>{var o,i;try{const a=s.info,c={id:`img_${Date.now()}_${r.identity||"agent"}_${Math.random().toString(36).substr(2,9)}`,content:`�️ ${a.name||"Image"}`,sender:{id:r.identity||"agent",name:r.identity||"Agent",type:r.identity===((i=(o=this.room)==null?void 0:o.localParticipant)==null?void 0:i.identity)?"participant":"agent"},timestamp:new Date,metadata:{type:"attachment",fileName:a.name,fileSize:a.size,mimeType:a.mimeType,streamId:a.id,downloading:!0}};this.emit("chat.message.received",c),s.onProgress&&(s.onProgress=g=>{const x={...c,metadata:{...c.metadata,downloadProgress:g||0}};this.emit("chat.message.updated",x)});const d=[];for await(const g of s)d.push(g);const u=new Blob(d,{type:a.mimeType||"application/octet-stream"}),f=URL.createObjectURL(u),h={...c,metadata:{...c.metadata,downloading:!1,downloadProgress:1,downloadUrl:f,blob:u}};this.emit("chat.message.updated",h)}catch(a){console.error("VoxketClient: Error processing image attachment:",a)}})}catch(s){console.warn("VoxketClient: image handler already registered, skipping:",s)}["error","warning","status","system","debug","info"].forEach(s=>{try{this.room.registerTextStreamHandler(s,async(r,o)=>{try{const i=await r.readAll();if(console.log(`📝 VoxketClient: Received '${s}' stream:`,i),s==="error"){let a={};try{a=typeof i=="string"?JSON.parse(i):i}catch{a={message:i}}console.warn("� VoxketClient: Agent error:",a),this.emit("agent.error",a)}else this.emit("text.stream.received",{topic:s,data:i,participantInfo:o})}catch(i){console.error(`VoxketClient: Failed to process '${s}' stream:`,i)}})}catch(r){console.warn(`VoxketClient: Handler for '${s}' already registered, skipping:`,r)}});try{this.room.registerTextStreamHandler("*",async(s,r)=>{var o;try{const i=await s.readAll(),a=((o=s.info)==null?void 0:o.topic)||"unknown";console.log(`📝 VoxketClient: Received unhandled text stream for topic '${a}':`,i),this.emit("text.stream.unhandled",{topic:a,data:i,participantInfo:r})}catch(i){console.error("VoxketClient: Failed to process unhandled text stream:",i)}})}catch(s){console.warn("VoxketClient: Generic text stream handler already registered, skipping:",s)}this.textStreamHandlersRegistered=!0}async fetchConnectionDetails(n,s,r){const o=n||this.config.agentId||"default-agent",i=s||this.config.participantName||"User",a=r||this.config.modalities||["voice"];try{const c={agent_id:o,participant_name:i,participant_metadata:{user_id:""},modality:a[0],modalities:a};console.log("🔗 VoxketClient: Creating session with modalities:",a);const d=await fetch(`${this.config.baseUrl}/api/live/agent/session`,{method:"POST",headers:{accept:"application/json","X-APP-ID":this.config.appId,"X-APP-SECRET":this.config.appSecret,"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok){let h=`HTTP ${d.status}: Failed to fetch connection details`;try{const g=await d.json();g&&(g.error?h=`API Error: ${g.error}`:g.detail?h=`API Error: ${g.detail}`:g.message&&(h=`API Error: ${g.message}`))}catch{try{const x=await d.text();x&&(h=`API Error: ${x}`)}catch{}}throw new Error(h)}const u=await d.json();let f;return u.agent_info&&(f={id:u.agent_info.id||o,name:u.agent_info.name||"AI Assistant",avatar:u.agent_info.avatar,capabilities:u.agent_info.capabilities||["voice_interaction","text_chat"],metadata:u.agent_info.metadata||{}},this.currentAgentInfo=f),{serverUrl:u.wss_url,participantToken:u.token,voxketSessionId:u.session_id,agentInfo:f}}catch(c){console.error("VoxketClient: fetchConnectionDetails failed:",c);const d=new he(`Failed to fetch connection details: ${c instanceof Error?c.message:"Unknown error"}`,"CONNECTION_FAILED",c);throw this.emit("connection.error",d),d}}async connect(n,s,r){var o;try{this.emit("connection.connecting");const i=await this.fetchConnectionDetails(n,s,r);return await((o=this.room)==null?void 0:o.connect(i.serverUrl,i.participantToken)),this.isConnected=!0,i}catch(i){console.error("VoxketClient: Connection failed:",i);const a=new he(`Failed to connect to Voxket services: ${i instanceof Error?i.message:"Unknown error"}`,"CONNECTION_FAILED",i);throw this.emit("connection.error",a),a}}async disconnect(){var n;try{await((n=this.room)==null?void 0:n.disconnect()),this.isConnected=!1,this.currentSession=null,this.currentAgentInfo=null,this.textStreamHandlersRegistered=!1,this.clearChatMessages(),this.room=new Z.Room,this.setupRoomEventListeners()}catch(s){const r=new he("Failed to disconnect properly","NETWORK_ERROR",s);throw this.emit("connection.error",r),r}}async createSession(n){var s,r,o,i;try{const a=await this.connect(n.agentId,n.participantName,n.modalities),c={id:a.voxketSessionId,agentId:n.agentId,state:"connecting",startedAt:new Date,metadata:n.metadata||{},activeModalities:n.modalities||["voice"],agentInfo:a.agentInfo||this.currentAgentInfo};if(this.currentSession=c,this.emit("session.created",c),(s=n.modalities)!=null&&s.includes("voice"))try{await new Promise(d=>setTimeout(d,500)),(r=this.room)!=null&&r.localParticipant?(await this.room.localParticipant.setMicrophoneEnabled(!0,void 0,{preConnectBuffer:!0}),this.emit("track.unmuted",{source:"microphone",enabled:!0})):console.warn("VoxketClient: No local participant found, microphone not enabled")}catch(d){console.warn("VoxketClient: Failed to enable microphone, but continuing with session:",d)}if((o=n.modalities)!=null&&o.includes("video"))try{await new Promise(d=>setTimeout(d,200)),(i=this.room)!=null&&i.localParticipant&&(console.log("🎥 VoxketClient: Attempting to enable camera for video session"),await this.room.localParticipant.setCameraEnabled(!0),this.emit("track.unmuted",{source:"camera",enabled:!0}),console.log("🎥 VoxketClient: Camera enabled successfully"))}catch(d){console.warn("VoxketClient: Failed to enable camera, but continuing with session:",d)}return setTimeout(()=>{var d;this.currentSession&&(this.currentSession.state="active",this.emit("session.state.changed","active",this.currentSession.state),this.forceAgentConnected(),console.log("🤖 VoxketClient: Session marked as active:",{sessionId:this.currentSession.id,modalities:this.currentSession.activeModalities,agentConnected:this.isAgentConnected,hasRoom:!!this.room,remoteParticipants:((d=this.room)==null?void 0:d.remoteParticipants.size)||0}))},1e3),c}catch(a){throw console.error("VoxketClient: Failed to create session:",a),a instanceof he?a:a instanceof TypeError&&a.message.includes("fetch")?new he("Network connection failed","CONNECTION_FAILED",a):a instanceof Error&&a.message.includes("Failed to fetch connection details")?new he(`API connection failed: ${a.message}`,"CONNECTION_FAILED",a):new he(`Failed to create session: ${a instanceof Error?a.message:"Unknown error"}`,"SESSION_NOT_FOUND",a)}}async startSession(n,s){const r={agentId:n||this.config.agentId||"default-agent",participantName:(s==null?void 0:s.participantName)||this.config.participantName||"User",modalities:(s==null?void 0:s.modalities)||this.config.modalities||["voice","chat"],metadata:s==null?void 0:s.metadata};return this.createSession(r)}async endSession(){var n,s;if(!this.currentSession)return null;try{const r={sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((s=this.room)==null?void 0:s.remoteParticipants.size)||0,audioQuality:{avgBitrate:64e3,avgLatency:150,packetLoss:.01,jitter:.05},videoQuality:{avgBitrate:5e5,avgLatency:150,packetLoss:.01,jitter:.05},networkStats:{totalBytesReceived:0,totalBytesSent:0,connectionType:"webrtc",avgRoundTripTime:150},events:[]};return this.currentSession.endedAt=new Date,this.currentSession.state="disconnected",this.emit("session.ended",this.currentSession,r),await this.disconnect(),r}catch(r){throw new he("Failed to end session","SESSION_NOT_FOUND",r)}}getCurrentSession(){return this.currentSession}getCurrentAgentInfo(){return this.currentAgentInfo}getIsAgentConnected(){return this.isAgentConnected}forceAgentConnected(){this.isAgentConnected||(this.isAgentConnected=!0,console.log("🤖 VoxketClient: Agent manually marked as connected"),this.emit("agent.connected",{forced:!0}))}getAgentState(){return this.agentState}setAgentState(n){this.agentState!==n&&(this.agentState=n,this.emit("agent.state.changed",{state:n}))}getAgentAudioTrack(){const n=this.getRemoteParticipants();for(const s of n){const r=s.getTrackPublication(Z.Track.Source.Microphone);if(r!=null&&r.track)return{source:Z.Track.Source.Microphone,participant:s,publication:r}}return null}getAgentVideoTrack(){const n=this.getRemoteParticipants();for(const s of n){const r=s.getTrackPublication(Z.Track.Source.Camera);if(r!=null&&r.track)return{source:Z.Track.Source.Camera,participant:s,publication:r}}return null}getVideoTrackRefs(){const n=[],s=this.getLocalParticipant();if(s){const o=s.getTrackPublication(Z.Track.Source.Camera);o!=null&&o.track&&n.push({source:Z.Track.Source.Camera,participant:s,publication:o});const i=s.getTrackPublication(Z.Track.Source.ScreenShare);i!=null&&i.track&&n.push({source:Z.Track.Source.ScreenShare,participant:s,publication:i})}const r=this.getRemoteParticipants();for(const o of r){const i=o.getTrackPublication(Z.Track.Source.Camera);i!=null&&i.track&&n.push({source:Z.Track.Source.Camera,participant:o,publication:i});const a=o.getTrackPublication(Z.Track.Source.ScreenShare);a!=null&&a.track&&n.push({source:Z.Track.Source.ScreenShare,participant:o,publication:a})}return n}getCameraTrackRefs(){return this.getVideoTrackRefs().filter(n=>n.source===Z.Track.Source.Camera)}getScreenShareTrackRefs(){return this.getVideoTrackRefs().filter(n=>n.source===Z.Track.Source.ScreenShare)}getChatMessages(){return[...this.chatMessages]}addChatMessage(n){this.chatMessages.some(r=>r.id===n.id)||this.chatMessages.push(n)}updateChatMessage(n){const s=this.chatMessages.findIndex(r=>r.id===n.id);s!==-1&&(this.chatMessages[s]=n)}clearChatMessages(){this.chatMessages=[],this.dismissCurrentInteraction(),this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays(),this.emit("chat.history.cleared")}renderUI(n={}){var c,d,u;const s=this.resolveTarget(n.target||"body"),r=this.getTargetKey(s),o=this.renderedComponents.get(r);o&&o.target===s||this.removeUI(s);const i=(o==null?void 0:o.root)||Zd.createRoot(s),a={agentId:n.agentId||this.config.agentId||"default-agent",participantName:n.participantName||this.config.participantName||"User",baseUrl:this.config.baseUrl,appSecret:this.config.appSecret,appId:this.config.appId,className:n.className,theme:typeof n.theme=="string"?n.theme:void 0,modalities:n.modality||this.config.modalities||["voice"],suportsChatInput:((c=n.modality)==null?void 0:c.includes("chat"))!==!1,suportsVideoInput:((d=n.modality)==null?void 0:d.includes("video"))===!0,suportsScreenShare:((u=n.modality)==null?void 0:u.includes("screen_share"))===!0,autoStart:n.autoStart,displayType:n.displayType||"widget",popupPosition:n.popupPosition||"bottom-right",popupTriggerText:n.popupTriggerText||"Open Chat",width:n.width,height:n.height,onDisplayTypeChange:n.onDisplayTypeChange,prompts:n.prompts,statusMessage:n.statusMessage,welcomeTitle:n.welcomeTitle,welcomeSubTitle:n.welcomeSubTitle,loadingText:n.loadingText,voxketClient:this};if(!i||typeof i.render!="function")throw new Error("Invalid React root. Make sure React 18+ is properly installed and configured.");try{i.render(C.createElement(xd,{config:this.config,autoConnect:n.autoStart||!1,children:C.createElement(bd,a)}))}catch(f){throw console.error("Error rendering Voxket widget:",f),new Error(`Failed to render Voxket widget: ${f instanceof Error?f.message:"Unknown error"}`)}this.renderedComponents.set(r,{root:i,target:s})}removeUI(n){const s=n?this.resolveTarget(n):null;if(s){const r=this.getTargetKey(s),o=this.renderedComponents.get(r);o&&(o.root.unmount(),this.renderedComponents.delete(r),s.querySelectorAll('[id*="voxket"], [class*="voxket"], .fixed.inset-0.z-50').forEach(a=>{try{a.remove()}catch(c){console.warn("Failed to remove element:",c)}}),s===document.body&&s.querySelectorAll(".fixed.z-50, .fixed.inset-0").forEach(c=>{if(c.classList.contains("bg-black")&&c.classList.contains("backdrop-blur-sm"))try{c.remove()}catch(d){console.warn("Failed to remove fixed element:",d)}}))}}removeAllUI(){for(const[n,s]of this.renderedComponents)s.root.unmount();this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays()}forceCleanupFullscreenOverlays(){document.body.querySelectorAll(".fixed.inset-0.z-50").forEach(s=>{if(s.classList.contains("bg-black")&&(s.classList.contains("backdrop-blur-sm")||s.classList.contains("bg-opacity-30")))try{s.remove()}catch(r){console.warn("Failed to remove overlay:",r)}})}resolveTarget(n){if(typeof n=="string"){const s=document.querySelector(n);if(!s)throw new Error(`Target element not found: ${n}`);return s}return n}getTargetKey(n){return n.id?n.id:n.className?n.tagName+"_"+n.className.replace(/\s+/g,"_"):n.tagName+"_"+n.outerHTML.length%1e3}async sendMessage(n,s){var r;if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new he("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new he("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new he("No local participant","CONNECTION_FAILED");this.dismissCurrentInteraction();try{const o={id:`msg_${Date.now()}`,content:n,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:s||{}},i=await((r=this.room)==null?void 0:r.localParticipant.sendText(n,{topic:"lk.chat",destinationIdentities:[]}));this.emit("chat.message.sent",o)}catch(o){throw console.error("VoxketClient: Failed to send chat message:",o),new he("Failed to send message","NETWORK_ERROR",o)}}async sendChatMessage(n,s){return this.sendMessage(n,s)}async sendAttachments(n,s){if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new he("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new he("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new he("No local participant","CONNECTION_FAILED");if(!n||n.length===0)throw new he("No files provided","INVALID_PARAMETER");this.dismissCurrentInteraction();const r=n.filter(o=>o.type.startsWith("image/"));if(r.length===0)throw new he("Only image files are allowed","INVALID_PARAMETER");r.length!==n.length&&console.warn("VoxketClient: Some non-image files were filtered out");try{const o=r.map(async(i,a)=>{const d={id:`att_${Date.now()}_${a}`,content:`📎 ${i.name}`,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:{...s,type:"attachment",fileName:i.name,fileSize:i.size,mimeType:i.type,uploading:!0}};this.emit("chat.message.sent",d);const u=await this.room.localParticipant.sendFile(i,{mimeType:i.type,topic:"images",onProgress:h=>{const g={...d,metadata:{...d.metadata,uploadProgress:h}};this.emit("chat.message.updated",g)}});try{const h=new FileReader,g=new Promise((b,k)=>{h.onload=()=>{typeof h.result=="string"?b(h.result):k(new Error("Failed to convert to base64"))},h.onerror=k});h.readAsDataURL(i);const m={type:"image",data:await g,filename:i.name,mimeType:i.type,size:i.size};await this.room.localParticipant.sendText(JSON.stringify(m),{topic:"images",destinationIdentities:[]})}catch(h){console.warn("VoxketClient: Failed to send image data to agent:",h);try{const g=`I've shared an image: ${i.name}`;await this.room.localParticipant.sendText(g,{topic:"lk.chat",destinationIdentities:[]})}catch(g){console.warn("VoxketClient: Failed to send image notification to agent:",g)}}const f={...d,metadata:{...d.metadata,uploading:!1,uploadProgress:1,streamId:u.id}};return this.emit("chat.message.updated",f),u});await Promise.all(o)}catch(o){throw console.error("VoxketClient: Failed to send attachments:",o),new he("Failed to send attachments","NETWORK_ERROR",o)}}async sendAttachment(n,s){return this.sendAttachments([n],s)}toggleMicrophone(n){return this.setMicrophoneEnabled(n!==!1)}async setMicrophoneEnabled(n){var s,r;try{const o=(s=this.room)==null?void 0:s.localParticipant.isMicrophoneEnabled,i=n??!o;await((r=this.room)==null?void 0:r.localParticipant.setMicrophoneEnabled(i)),i?this.emit("track.unmuted",{source:"microphone",enabled:!0}):this.emit("track.muted",{source:"microphone",enabled:!1})}catch(o){throw console.error("VoxketClient: Failed to toggle microphone:",o),new he("Failed to toggle microphone","PERMISSION_DENIED",o)}}toggleCamera(n){return this.setCameraEnabled(n!==!1)}async setCameraEnabled(n){var s,r;try{const o=(s=this.room)==null?void 0:s.localParticipant.isCameraEnabled,i=n??!o;await((r=this.room)==null?void 0:r.localParticipant.setCameraEnabled(i)),i?this.emit("track.unmuted",{source:"camera",enabled:!0}):this.emit("track.muted",{source:"camera",enabled:!1})}catch(o){throw console.error("VoxketClient: Failed to toggle camera:",o),new he("Failed to toggle camera","PERMISSION_DENIED",o)}}async enableCamera(){return this.setCameraEnabled(!0)}async disableCamera(){return this.setCameraEnabled(!1)}async startScreenShare(){var n;try{await((n=this.room)==null?void 0:n.localParticipant.setScreenShareEnabled(!0))}catch(s){throw new he("Failed to start screen share","PERMISSION_DENIED",s)}}async stopScreenShare(){var n;try{await((n=this.room)==null?void 0:n.localParticipant.setScreenShareEnabled(!1))}catch(s){throw new he("Failed to stop screen share","PERMISSION_DENIED",s)}}async getAudioInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(s=>s.kind==="audioinput")}catch(n){throw new he("Failed to get audio input devices","DEVICE_ERROR",n)}}async getVideoInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(s=>s.kind==="videoinput")}catch(n){throw new he("Failed to get video input devices","DEVICE_ERROR",n)}}async setAudioInputDevice(n){var s;try{if(!((s=this.room)!=null&&s.localParticipant))throw new Error("Not connected to room")}catch(r){throw new he("Failed to set audio input device","DEVICE_ERROR",r)}}async setVideoInputDevice(n){var s;try{if(!((s=this.room)!=null&&s.localParticipant))throw new Error("Not connected to room")}catch(r){throw new he("Failed to set video input device","DEVICE_ERROR",r)}}getLocalParticipant(){var n;return((n=this.room)==null?void 0:n.localParticipant)??null}getRemoteParticipants(){var n;return Array.from(((n=this.room)==null?void 0:n.remoteParticipants.values())??[])}getPublishPermissions(){const n=this.getLocalParticipant();if(!n)return{camera:!1,microphone:!1,screenShare:!1,data:!1};const s=n.permissions;if(!s)return{camera:!0,microphone:!0,screenShare:!0,data:!0};const r=o=>!!s.canPublish&&(s.canPublishSources.length===0||s.canPublishSources.includes(o));return{camera:r(1),microphone:r(2),screenShare:r(3),data:s.canPublishData??!1}}canPublishSource(n){return this.getPublishPermissions()[n]}getRoom(){return this.room}getConnectionState(){return this.connectionState}get connected(){return this.isConnected&&this.connectionState===Z.ConnectionState.Connected}getMicrophoneTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,s]of n.trackPublications)if(s.source===Z.Track.Source.Microphone)return s.track;return null}getCameraTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,s]of n.trackPublications)if(s.source===Z.Track.Source.Camera)return s.track;return null}getScreenShareTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,s]of n.trackPublications)if(s.source===Z.Track.Source.ScreenShare)return s.track;return null}get isMicrophoneEnabled(){const n=this.getMicrophoneTrack();return n?!n.isMuted:!1}get isCameraEnabled(){const n=this.getCameraTrack();return n?!n.isMuted:!1}get isScreenShareEnabled(){const n=this.getScreenShareTrack();return n?!n.isMuted:!1}registerPlugin(n){this.pluginManager.register(n)}getPluginManager(){return this.pluginManager}getParticipants(){if(!this.room)return[];const n=[];return this.room.localParticipant&&n.push({id:this.room.localParticipant.identity,name:this.room.localParticipant.name||this.room.localParticipant.identity,isLocal:!0}),this.room.remoteParticipants.forEach(s=>{n.push({id:s.identity,name:s.name||s.identity,isLocal:!1})}),n}getSessionMetrics(){var n,s;return this.currentSession?{sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((s=this.room)==null?void 0:s.remoteParticipants.size)||0,audioQuality:{avgBitrate:64e3,avgLatency:150,packetLoss:.01,jitter:.05},videoQuality:{avgBitrate:5e5,avgLatency:150,packetLoss:.01,jitter:.05},networkStats:{totalBytesReceived:0,totalBytesSent:0,connectionType:"webrtc",avgRoundTripTime:150},events:[]}:null}updateConfig(n){this.config={...this.config,...n}}async startRecording(){var n;try{this.emit("recording.started",{sessionId:(n=this.currentSession)==null?void 0:n.id,timestamp:new Date})}catch(s){throw new he("Failed to start recording","RECORDING_ERROR",s)}}async stopRecording(){var n;try{this.emit("recording.stopped",{sessionId:(n=this.currentSession)==null?void 0:n.id,timestamp:new Date})}catch(s){throw new he("Failed to stop recording","RECORDING_ERROR",s)}}async registerFrontendRPC(n,s,r="embedded"){return this.rpcManager.registerFrontendRPC(n,s,r)}getCurrentInteraction(){return this.rpcManager.getCurrentInteraction()}dismissCurrentInteraction(){this.rpcManager.dismissCurrentInteraction()}getRegisteredRpcMethods(){return this.rpcManager.getRegisteredMethods()}unregisterRpcMethod(n){this.rpcManager.unregisterMethod(n)}registerEventListener(n,s){return this.on(n,s)}registerEventEmitter(n,s){if(!this.room)throw new Error("Room not available");try{this.room.registerTextStreamHandler(n,async r=>{try{const o=await r.readAll();s(o)}catch(o){console.error(`Error processing event for topic '${n}':`,o)}})}catch(r){console.warn(`VoxketClient: Handler for topic '${n}' may already be registered:`,r)}}convertMarkdownToText(n){if(!n)return"";let s=n;return s=s.replace(/\*\*(.*?)\*\*/g,"$1"),s=s.replace(/__(.*?)__/g,"$1"),s=s.replace(/\*(.*?)\*/g,"$1"),s=s.replace(/_(.*?)_/g,"$1"),s=s.replace(/~~(.*?)~~/g,"$1"),s=s.replace(/`([^`]+)`/g,"$1"),s=s.replace(/```[\s\S]*?```/g,""),s=s.replace(/^#{1,6}\s+/gm,""),s=s.replace(/\[([^\]]+)\]\([^)]+\)/g,"$1"),s.trim()}}const fx=ie.create(H1),hx=ie.create(Q1),mx=ie.create(nx),px=ie.create(ox);function gx({onClick:e,text:t="Open Chat",position:n="bottom-right",theme:s}){const r={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"},o=Ve(s);return l.jsx(ie.button,{onClick:e,className:`fixed ${r[n]} z-50 px-4 py-2 rounded-full shadow-lg ${o.popupTrigger} transition-all duration-200 hover:scale-105`,initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},whileHover:{scale:1.05},whileTap:{scale:.95},children:t})}function Ga({children:e,theme:t,displayType:n="widget",onClose:s,popupPosition:r="bottom-right",onExpand:o}){const i=Ve(t);if(n==="fullscreen")return l.jsx("div",{className:"fixed inset-0 z-[9999] bg-black/40 bg-opacity-30 backdrop-blur-sm flex items-center justify-center p-8",onClick:a=>{a.target===a.currentTarget&&s&&s()},children:l.jsxs("div",{className:"w-full h-full max-w-6xl max-h-[90vh] rounded-2xl relative bg-transparent",onClick:a=>{a.stopPropagation()},children:[s&&l.jsx("button",{onClick:a=>{a.preventDefault(),a.stopPropagation(),s()},className:"absolute top-4 cursor-pointer right-4 z-[10000] w-12 h-12 rounded-full bg-gray-900 bg-opacity-90 text-white flex items-center justify-center hover:bg-gray-800 transition-all duration-200 shadow-lg border border-gray-700 backdrop-blur-sm",title:"Exit Fullscreen",type:"button",children:l.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:l.jsx("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"})})}),l.jsxs("div",{id:"voice-card",className:`${i.card} w-full h-full flex flex-col rounded-xl shadow-2xl`,style:{minHeight:"600px"},children:[l.jsx("div",{className:i.cardTopGradient}),l.jsx("div",{className:i.cardPurpleBlur}),l.jsx("div",{className:i.cardPinkBlur}),l.jsx("div",{className:" flex flex-col h-full",children:e}),l.jsx("div",{className:i.cardPulse1}),l.jsx("div",{className:i.cardPulse2,style:{animationDelay:"1s"}})]})]})});if(n==="popup"){const a={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"};return l.jsx("div",{className:"fixed rounded-2xl inset-0 z-[9999] pointer-events-none",children:l.jsxs("div",{className:`fixed rounded-2xl ${a[r]} pointer-events-auto`,children:[s&&l.jsx("button",{onClick:s,className:"absolute -top-2 -right-2 z-10 w-8 h-8 rounded-full bg-gray-900 bg-opacity-90 text-white flex items-center justify-center hover:bg-gray-800 transition-all duration-200 text-sm shadow-lg border border-gray-700",children:"×"}),l.jsxs("div",{id:"voice-card",className:`${i.card} rounded-2xl flex flex-col`,style:{width:"300px",height:"450px"},children:[l.jsx("div",{className:i.cardPurpleBlur}),l.jsx("div",{className:i.cardPinkBlur}),l.jsx("div",{className:" flex flex-col h-full",children:e}),l.jsx("div",{className:i.cardPulse1}),l.jsx("div",{className:i.cardPulse2,style:{animationDelay:"1s"}})]})]})})}return l.jsxs("div",{id:"voice-card",className:`${i.card}`,style:{height:"100%",maxHeight:"100%"},children:[o&&l.jsx("button",{onClick:o,className:"absolute top-4 right-4 z-20 w-10 h-10 rounded-full bg-gray-900 bg-opacity-90 text-white flex items-center justify-center hover:bg-gray-800 transition-all duration-200 shadow-lg border border-gray-700 backdrop-blur-sm",title:"Enter Fullscreen",children:l.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:l.jsx("path",{d:"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7"})})}),l.jsx("div",{className:i.cardTopGradient}),l.jsx("div",{className:i.cardPurpleBlur}),l.jsx("div",{className:i.cardPinkBlur}),e,l.jsx("div",{className:i.cardPulse1}),l.jsx("div",{className:i.cardPulse2,style:{animationDelay:"1s"}})]})}function bd(e){if(typeof window>"u")return null;console.log("🎯 Widget component rendering with props:",{displayType:e.displayType,popupPosition:e.popupPosition,theme:e.theme});const{agentId:t,participantName:n,baseUrl:s,appSecret:r,appId:o,prompts:i,statusMessage:a,welcomeTitle:c,welcomeSubTitle:d,className:u,width:f,height:h,loadingText:g,suportsChatInput:x=!0,suportsVideoInput:m=!0,suportsScreenShare:b=!0,theme:k="vox",onSessionStart:v,onSessionEnd:T,enableSessionLogging:w=!0,onSessionLogsUpdate:S,onSessionMetricsUpdate:A,modalities:M=["voice"],displayType:j="widget",popupPosition:z="bottom-right",popupTriggerText:y="Open Chat",onPopupToggle:D,voxketClient:_,onDisplayTypeChange:J}=e,[te,ee]=p.useState(()=>_?!!_.getCurrentSession():!1),[se,Y]=p.useState(!1),[R,X]=p.useState(t||""),[V,U]=p.useState(n||"User"),[q,P]=p.useState(()=>_?_.getCurrentSession():null),[E,O]=p.useState(()=>{var ne,Ye,Ze;if(_){const we=_.getCurrentSession();if((ne=we==null?void 0:we.activeModalities)!=null&&ne.includes("chat"))return"chat";if((Ye=we==null?void 0:we.activeModalities)!=null&&Ye.includes("voice"))return"voice";if((Ze=we==null?void 0:we.activeModalities)!=null&&Ze.includes("video"))return"video"}return"welcome"}),[F,$]=p.useState(!1);p.useEffect(()=>{console.log("🎯 Widget displayType prop changed to:",j)},[j]),p.useEffect(()=>{console.log("📊 Session state changed:",{currentMode:E,sessionStarted:te,loading:se,currentSession:q==null?void 0:q.id,isPopupOpen:F})},[E,te,se,q,F]);const I=p.useMemo(()=>{if(_)return console.log("🔄 Using passed VoxketClient to preserve session state"),_;console.log("🆕 Creating new VoxketClient instance");const ne={appId:o,appSecret:r,baseUrl:s,agentId:R,participantName:V||"User",modalities:M};return new Vn(ne)},[_,o,r,s,R,V,M]),H=M,B=p.useMemo(()=>I.getRoom()||new Z.Room,[I]),oe={suportsChatInput:x,suportsVideoInput:m,suportsScreenShare:b},{sessionMetrics:L,sessionLogs:ae,logEvent:xe}=pd({room:B,onSessionStart:v,onSessionEnd:T,enableConsoleLogging:w,enableLocalStorage:w,voxketSessionId:q==null?void 0:q.id});p.useEffect(()=>{S&&S(ae)},[ae,S]),p.useEffect(()=>{A&&L&&A(L)},[L,A]),p.useEffect(()=>{const ne=Ze=>{console.log("🔴 Room disconnected:",Ze),Y(!1),ee(!1),P(null),O("welcome")},Ye=Ze=>{console.log("📹 Media devices error:",Ze),Pt({title:"Allow access to your microphone/camera",description:`${Ze.name}: ${Ze.message}`})};return B.on(Z.RoomEvent.MediaDevicesError,Ye),B.on(Z.RoomEvent.Disconnected,ne),()=>{B.off(Z.RoomEvent.Disconnected,ne),B.off(Z.RoomEvent.MediaDevicesError,Ye)}},[B]);const Ie=async()=>{try{console.log("🎤 Starting voice session...",{agentId:R,participantName:V}),console.log("🎤 Pre-start state:",{currentMode:E,sessionStarted:te,loading:se}),Y(!0),ee(!0),O("voice"),console.log("🎤 State after mode change:",{currentMode:"voice",sessionStarted:!0,loading:!0}),xe("USER_STARTED_VOICE_SESSION",{agentId:R,participantName:V});const ne=await I.startSession(R,{participantName:V||"User",modalities:["voice",...m?["video"]:[]]});console.log("✅ Voice session started successfully:",ne.id),P(ne),Y(!1),v&&v(ne.id)}catch(ne){console.error("❌ Failed to start voice session:",ne),Pt({title:"Failed to start voice session",description:ne instanceof Error?ne.message:"Unknown error occurred"}),Y(!1),ee(!1),O("welcome")}},Rn=async()=>{try{Y(!0),ee(!0),O("chat"),xe("USER_STARTED_CHAT_SESSION",{agentId:R,participantName:V});const ne=await I.startSession(R,{participantName:V||"User",modalities:["chat"]});P(ne),Y(!1),v&&v(ne.id)}catch(ne){console.error("Failed to start chat session:",ne),Pt({title:"Failed to start chat session",description:ne instanceof Error?ne.message:"Unknown error occurred"}),Y(!1),ee(!1),O("welcome")}},Dd=async()=>{try{console.log("📺 Starting video session...",{agentId:R,participantName:V}),console.log("📺 Pre-start state:",{currentMode:E,sessionStarted:te,loading:se}),Y(!0),ee(!0),O("video"),console.log("📺 State after mode change:",{currentMode:"video",sessionStarted:!0,loading:!0}),xe("USER_STARTED_VIDEO_SESSION",{agentId:R,participantName:V});const ne=await I.startSession(R,{participantName:V||"User",modalities:["video","voice"]});console.log("✅ Video session started successfully:",ne.id),P(ne),Y(!1),v&&v(ne.id)}catch(ne){console.error("❌ Failed to start video session:",ne),Pt({title:"Failed to start video session",description:ne instanceof Error?ne.message:"Unknown error occurred"}),Y(!1),ee(!1),O("welcome")}},sn=()=>{O("welcome"),J&&J(e.displayType||"widget"),q&&te&&(ee(!1),P(null),I.disconnect()),j==="popup"&&!F&&$(!0)},rn=()=>{const ne=!F;$(ne),D&&D(ne),!ne&&!(q&&te)&&(O("welcome"),ee(!1),P(null))},$d=()=>{console.log("🔄 Closing fullscreen, switching to widget display type"),e.onDisplayTypeChange?e.onDisplayTypeChange("widget"):console.warn("⚠️ No onDisplayTypeChange callback provided")},Fd=()=>{if(console.log("🔄 Expand to fullscreen requested"),e.onDisplayTypeChange)e.onDisplayTypeChange("fullscreen");else{console.warn("⚠️ No onDisplayTypeChange callback provided for expand functionality");const ne=document.getElementById("voice-card")||document.querySelector(".voxket-widget-container");ne&&ne.requestFullscreen?ne.requestFullscreen().catch(Ye=>{console.warn("⚠️ Fullscreen API not supported or failed:",Ye),Pt({title:"Expand functionality unavailable",description:"Please implement onDisplayTypeChange callback for expand functionality"})}):Pt({title:"Expand functionality unavailable",description:"Please implement onDisplayTypeChange callback for expand functionality"})}};p.useEffect(()=>{var ne,Ye,Ze;if(_&&I){console.log("🔄 Syncing widget state with existing client session state");const we=I.getCurrentSession(),Od=I.connected;console.log("🔍 Existing session state:",{hasSession:!!we,sessionId:we==null?void 0:we.id,isConnected:Od,activeModalities:we==null?void 0:we.activeModalities}),we&&(console.log("✅ Restoring session state from existing client"),P(we),ee(!0),Y(!1),(ne=we.activeModalities)!=null&&ne.includes("chat")?O("chat"):(Ye=we.activeModalities)!=null&&Ye.includes("voice")?O("voice"):(Ze=we.activeModalities)!=null&&Ze.includes("video")&&O("video"))}},[_,I]),p.useEffect(()=>()=>{console.log("🧹 Cleaning up widget component"),_?console.log("🔄 Widget cleanup: preserving passed client instance"):(console.log("🧹 Widget cleanup: disconnecting self-created client"),I.disconnect())},[I,_]);let Es="w-96",As="h-[25rem]",js={};if(f&&(f.startsWith("w-")?Es=f:(js.width=f,Es="")),h&&(h.startsWith("h-")?As=h:(js.height=h,As="")),j==="popup"&&!F)return console.log("🟡 Showing popup trigger button"),l.jsx(gx,{onClick:rn,text:y,position:z,theme:k});console.log("🟢 Rendering widget content, displayType:",j,"isPopupOpen:",F,"currentMode:",E,"sessionStarted:",te,"loading:",se);let Ms=`voxket-widget-root theme-${k}`,In={scrollMargin:0,scrollPadding:0,contain:"layout style paint"};j==="widget"?(Ms+=` flex items-center justify-center min-h-fit ${Es} ${As} ${u}`,In={...In,...js}):(Ms=`${u||""}`,In={});const Fo=l.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:l.jsxs(Ht,{mode:"wait",children:[E==="welcome"&&!se&&l.jsx(px,{agentId:R,participantName:V||"",onAgentIdChange:X,onParticipantNameChange:U,onStartCall:Ie,onStartChat:Rn,onStartVideo:Dd,disabled:te||se,prompts:i,statusMessage:a,title:c,subTitle:d,theme:k,modalities:H,initial:{opacity:0,y:0},animate:{opacity:1,y:0},exit:{opacity:0,y:40},transition:{duration:.3,ease:"easeInOut"}},"welcome"),E==="voice"&&l.jsxs(Ne.RoomContext.Provider,{value:B,children:[l.jsx(Ne.RoomAudioRenderer,{}),l.jsx(Ne.StartAudio,{label:"Start Audio"}),l.jsx(fx,{loadingText:g,participantName:V||"User",capabilities:oe,sessionStarted:te,disabled:!te,theme:k,client:I,displayType:j,onBack:j==="popup"?rn:sn,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"session-view")]}),E==="chat"&&l.jsx(hx,{client:I,theme:k,displayType:j,onBack:j==="popup"?rn:sn,onEndChat:sn,disabled:!te,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"chat-view"),E==="video"&&l.jsxs(Ne.RoomContext.Provider,{value:B,children:[l.jsx(Ne.RoomAudioRenderer,{}),l.jsx(Ne.StartAudio,{label:"Start Audio"}),l.jsx(mx,{client:I,theme:k,displayType:j,onBack:j==="popup"?rn:sn,onEndCall:sn,disabled:!te,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"video-view")]})]})});return j==="fullscreen"||j==="popup"?(console.log("📱 Rendering fullscreen/popup mode, displayType:",j),l.jsx(Ga,{theme:k,displayType:j,popupPosition:z,onClose:j==="fullscreen"?$d:rn,children:Fo})):(console.log("📦 Rendering widget mode"),l.jsx("div",{className:Ms,style:In,children:l.jsx(Ga,{theme:k,displayType:j,popupPosition:z,onExpand:Fd,children:Fo})}))}class vd extends p.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){console.error("VoxketWidget Error:",t,n)}render(){if(this.state.hasError){if(this.props.fallback){const t=this.props.fallback;return p.createElement(t,{error:this.state.error})}return p.createElement("div",{style:{padding:"20px",border:"1px solid #ff4444",borderRadius:"8px",background:"#fff5f5",color:"#cc0000"}},"VoxketWidget encountered an error. Please check the console for details.")}return this.props.children}}function yx({logs:e,onClear:t,onExport:n}){const[s,r]=C.useState(!1),[o,i]=C.useState(""),a=e.filter(c=>!o||c.event.toLowerCase().includes(o.toLowerCase()));return s?l.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:l.jsxs("div",{className:"bg-white rounded-lg shadow-xl max-w-4xl w-full max-h-[80vh] flex flex-col m-4",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[l.jsxs("h2",{className:"text-lg font-semibold",children:["Session Logs (",e.length,")"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"text",placeholder:"Filter events...",value:o,onChange:c=>i(c.target.value),className:"px-3 py-1 border rounded text-sm"}),l.jsx("button",{onClick:t,className:"px-3 py-1 bg-red-600 text-white rounded text-sm hover:bg-red-700",children:"Clear"}),l.jsx("button",{onClick:n,className:"px-3 py-1 bg-green-600 text-white rounded text-sm hover:bg-green-700",children:"Export"}),l.jsx("button",{onClick:()=>r(!1),className:"px-3 py-1 bg-gray-600 text-white rounded text-sm hover:bg-gray-700",children:"Close"})]})]}),l.jsx("div",{className:"flex-1 overflow-auto p-4",children:a.length===0?l.jsx("p",{className:"text-gray-500 text-center py-8",children:"No logs found"}):l.jsx("div",{className:"space-y-2",children:a.map((c,d)=>l.jsxs("div",{className:"border rounded p-3 text-sm",children:[l.jsxs("div",{className:"flex items-center justify-between mb-1",children:[l.jsx("span",{className:"font-semibold text-blue-600",children:c.event}),l.jsx("span",{className:"text-gray-500 text-xs",children:new Date(c.timestamp).toLocaleTimeString()})]}),c.sessionId&&l.jsxs("div",{className:"text-xs text-gray-600 mb-1",children:["Session: ",c.sessionId]}),c.data&&l.jsx("div",{className:"bg-gray-50 p-2 rounded text-xs",children:l.jsx("pre",{className:"whitespace-pre-wrap overflow-auto",children:JSON.stringify(c.data,null,2)})})]},d))})})]})}):l.jsxs("button",{onClick:()=>r(!0),className:"fixed bottom-4 right-4 bg-blue-600 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-blue-700 transition-colors text-sm z-50",children:["Session Logs (",e.length,")"]})}function xx({metrics:e}){return e?l.jsxs("div",{className:"bg-gray-100 p-4 rounded-lg",children:[l.jsx("h3",{className:"font-semibold mb-2",children:"Current Session"}),l.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-gray-600",children:"Session ID:"}),l.jsx("div",{className:"font-mono text-xs",children:e.sessionId})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-gray-600",children:"Start Time:"}),l.jsx("div",{children:new Date(e.startTime).toLocaleString()})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-gray-600",children:"Messages:"}),l.jsx("div",{children:e.totalMessages})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-gray-600",children:"Participants:"}),l.jsx("div",{children:e.participantCount})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-gray-600",children:"Connection Issues:"}),l.jsx("div",{children:e.connectionIssues})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-gray-600",children:"Duration:"}),l.jsxs("div",{children:[Math.round((Date.now()-new Date(e.startTime).getTime())/1e3),"s"]})]})]})]}):null}function jt(){const{currentSession:e,sessionState:t,sessionMetrics:n,createSession:s,endSession:r}=Qe(),o=C.useCallback(async(a,c)=>await s(a,c),[s]),i=C.useCallback(async()=>await r(),[r]);return{session:e,state:t,metrics:n,isActive:e!==null&&t!=="disconnected",isConnecting:t==="connecting",isConnected:t==="connected"||t==="active",start:o,stop:i}}function wd(){const{sessionMetrics:e,currentSession:t}=Qe();return{metrics:e,sessionId:t==null?void 0:t.id,duration:e==null?void 0:e.duration,participantCount:e==null?void 0:e.participantCount,messageCount:e==null?void 0:e.messageCount,audioQuality:e==null?void 0:e.audioQuality,networkStats:e==null?void 0:e.networkStats}}function Sd(){const{setMicrophoneEnabled:e,client:t}=Qe(),[n,s]=C.useState(!1),[r,o]=C.useState(!1),i=C.useCallback(async()=>{if(!r){o(!0);try{const d=!n;await e(d),s(d)}catch(d){console.error("Failed to toggle microphone:",d)}finally{o(!1)}}},[n,r,e]),a=C.useCallback(async()=>{if(!(n||r)){o(!0);try{await e(!0),s(!0)}catch(d){console.error("Failed to enable microphone:",d)}finally{o(!1)}}},[n,r,e]),c=C.useCallback(async()=>{if(!(!n||r)){o(!0);try{await e(!1),s(!1)}catch(d){console.error("Failed to disable microphone:",d)}finally{o(!1)}}},[n,r,e]);return{isEnabled:n,isLoading:r,toggle:i,enable:a,disable:c}}function Cd(){const{setCameraEnabled:e}=Qe(),[t,n]=C.useState(!1),[s,r]=C.useState(!1),o=C.useCallback(async()=>{if(!s){r(!0);try{const c=!t;await e(c),n(c)}catch(c){console.error("Failed to toggle camera:",c)}finally{r(!1)}}},[t,s,e]),i=C.useCallback(async()=>{if(!(t||s)){r(!0);try{await e(!0),n(!0)}catch(c){console.error("Failed to enable camera:",c)}finally{r(!1)}}},[t,s,e]),a=C.useCallback(async()=>{if(!(!t||s)){r(!0);try{await e(!1),n(!1)}catch(c){console.error("Failed to disable camera:",c)}finally{r(!1)}}},[t,s,e]);return{isEnabled:t,isLoading:s,toggle:o,enable:i,disable:a}}function kd(){const{startScreenShare:e,stopScreenShare:t}=Qe(),[n,s]=C.useState(!1),[r,o]=C.useState(!1),i=C.useCallback(async()=>{if(!(n||r)){o(!0);try{await e(),s(!0)}catch(d){console.error("Failed to start screen share:",d)}finally{o(!1)}}},[n,r,e]),a=C.useCallback(async()=>{if(!(!n||r)){o(!0);try{await t(),s(!1)}catch(d){console.error("Failed to stop screen share:",d)}finally{o(!1)}}},[n,r,t]),c=C.useCallback(async()=>{n?await a():await i()},[n,i,a]);return{isSharing:n,isLoading:r,start:i,stop:a,toggle:c}}function bx(){const{client:e}=Qe(),[t,n]=C.useState({tracks:[],layout:{type:"grid",showLocalVideo:!0,aspectRatio:"16:9"},isRecording:!1}),s=C.useMemo(()=>t.tracks.find(m=>m.isLocal),[t.tracks]),r=C.useMemo(()=>t.tracks.filter(m=>!m.isLocal),[t.tracks]),o=C.useCallback(async()=>{try{s!=null&&s.isEnabled?await(e==null?void 0:e.disableCamera()):await(e==null?void 0:e.enableCamera())}catch(m){throw console.error("Failed to toggle camera:",m),m}},[e,s]),i=C.useCallback(async()=>{try{t.tracks.find(b=>b.isScreenShare)?await(e==null?void 0:e.stopScreenShare()):await(e==null?void 0:e.startScreenShare())}catch(m){throw console.error("Failed to toggle screen share:",m),m}},[e,t.tracks]),a=C.useCallback(m=>{n(b=>({...b,layout:m}))},[]),c=C.useCallback(m=>{n(b=>({...b,pinnedTrack:m}))},[]),d=C.useCallback(()=>{n(m=>({...m,pinnedTrack:void 0}))},[]),u=C.useCallback(async()=>{try{await(e==null?void 0:e.startRecording()),n(m=>({...m,isRecording:!0}))}catch(m){throw console.error("Failed to start recording:",m),m}},[e]),f=C.useCallback(async()=>{try{await(e==null?void 0:e.stopRecording()),n(m=>({...m,isRecording:!1}))}catch(m){throw console.error("Failed to stop recording:",m),m}},[e]),h=C.useCallback(m=>t.tracks.find(b=>b.id===m),[t.tracks]),g=C.useCallback(m=>t.tracks.filter(b=>b.participantId===m),[t.tracks]),x=C.useCallback(m=>m.isEnabled&&t.tracks.includes(m),[t.tracks]);return C.useEffect(()=>{if(!e)return;const m=v=>{n(T=>({...T,tracks:[...T.tracks.filter(w=>w.id!==v.id),v]}))},b=v=>{n(T=>{var w;return{...T,tracks:T.tracks.filter(S=>S.id!==v),pinnedTrack:((w=T.pinnedTrack)==null?void 0:w.id)===v?void 0:T.pinnedTrack}})},k=v=>{n(T=>({...T,tracks:T.tracks.map(w=>w.id===v.id?v:w)}))};return e.on("videoTrackAdded",m),e.on("videoTrackRemoved",b),e.on("videoTrackUpdated",k),()=>{e.off("videoTrackAdded",m),e.off("videoTrackRemoved",b),e.off("videoTrackUpdated",k)}},[e]),{tracks:t.tracks,localTrack:s,remoteTraracks:r,pinnedTrack:t.pinnedTrack,layout:t.layout,isRecording:t.isRecording,toggleCamera:o,toggleScreenShare:i,setLayout:a,pinTrack:c,unpinTrack:d,startRecording:u,stopRecording:f,getTrackById:h,getTracksByParticipant:g,isTrackActive:x}}function Ts(){const{chatMessages:e,sendChatMessage:t,currentSession:n}=Qe(),[s,r]=C.useState(!1),o=C.useCallback(async d=>{if(!(!d.trim()||s||!n)){r(!0);try{await t(d.trim())}catch(u){throw console.error("Failed to send chat message:",u),u}finally{r(!1)}}},[t,s,n]),{userMessages:i,agentMessages:a,allMessages:c}=C.useMemo(()=>{const d=e.filter(f=>f.sender.type==="participant"),u=e.filter(f=>f.sender.type==="agent");return{userMessages:d,agentMessages:u,allMessages:e}},[e]);return{messages:c,userMessages:i,agentMessages:a,messageCount:c.length,isSending:s,canSend:!!n&&!s,send:o}}function vx(){const{send:e,isSending:t,canSend:n}=Ts(),[s,r]=C.useState(""),o=C.useCallback(async()=>{if(!(!s.trim()||!n))try{await e(s),r("")}catch(a){throw a}},[s,e,n]),i=C.useCallback(a=>{a.key==="Enter"&&!a.shiftKey&&(a.preventDefault(),o())},[o]);return{value:s,setValue:r,send:o,handleKeyPress:i,isSending:t,canSend:n&&s.trim().length>0}}function Ro(){const{isConnected:e,isConnecting:t,connectionError:n,connect:s,disconnect:r}=Qe(),o=C.useCallback(async()=>{if(!(e||t))try{await s()}catch(a){throw console.error("Failed to connect:",a),a}},[s,e,t]),i=C.useCallback(async()=>{if(e)try{await r()}catch(a){throw console.error("Failed to disconnect:",a),a}},[r,e]);return{isConnected:e,isConnecting:t,isDisconnected:!e&&!t,error:n,hasError:!!n,connect:o,disconnect:i}}function Td(){const{participants:e}=Qe();return{participants:e,count:e.length,localParticipant:e.find(t=>t.isLocal),remoteParticipants:e.filter(t=>!t.isLocal)}}const Ed=C.createContext({}),Nn=()=>C.useContext(Ed);function Ad({children:e,...t}){return l.jsx(Ed.Provider,{value:t,children:e})}function Jn({name:e,children:t,fallback:n,className:s}){return l.jsx("div",{className:`voxket-slot voxket-slot--${e} ${s||""}`,children:t||n})}function jd(e,t={}){return Object.assign(e,t)}function Md({showMicrophoneControl:e=!0,showCameraControl:t=!0,showScreenShareControl:n=!0,showSessionActions:s=!0,customControls:r,className:o=""}){const i=jt(),a=Sd(),c=Cd(),d=kd(),u=Nn(),f=["voxket-session-controls",`voxket-session-controls--${u.variant||"default"}`,`voxket-session-controls--${u.size||"md"}`,i.isActive?"voxket-session-controls--active":"voxket-session-controls--inactive",o].filter(Boolean).join(" ");return!i.isActive&&!s?l.jsx("div",{className:f,children:l.jsx("div",{className:"voxket-controls-inactive",children:l.jsx("p",{children:"Controls available during active session"})})}):l.jsxs("div",{className:f,children:[s&&l.jsx("div",{className:"voxket-session-actions",children:i.isActive?l.jsx("button",{onClick:i.stop,className:"voxket-button voxket-button--danger",children:"End Session"}):l.jsx(wx,{})}),i.isActive&&l.jsxs("div",{className:"voxket-media-controls",children:[e&&l.jsxs("button",{onClick:a.toggle,disabled:a.isLoading,className:`voxket-button voxket-button--media ${a.isEnabled?"voxket-button--active":""}`,title:a.isEnabled?"Mute microphone":"Unmute microphone",children:[l.jsx("span",{className:"voxket-icon",children:"🎤"}),a.isLoading?"Loading...":a.isEnabled?"Mute":"Unmute"]}),t&&l.jsxs("button",{onClick:c.toggle,disabled:c.isLoading,className:`voxket-button voxket-button--media ${c.isEnabled?"voxket-button--active":""}`,title:c.isEnabled?"Stop camera":"Start camera",children:[l.jsx("span",{className:"voxket-icon",children:"📹"}),c.isLoading?"Loading...":c.isEnabled?"Stop Video":"Start Video"]}),n&&l.jsxs("button",{onClick:d.toggle,disabled:d.isLoading,className:`voxket-button voxket-button--media ${d.isSharing?"voxket-button--active":""}`,title:d.isSharing?"Stop screen share":"Start screen share",children:[l.jsx("span",{className:"voxket-icon",children:"🖥️"}),d.isLoading?"Loading...":d.isSharing?"Stop Share":"Share Screen"]})]}),r&&l.jsx("div",{className:"voxket-custom-controls",children:r})]})}function wx(){jt();const[e,t]=C.useState(!1),n=async()=>{t(!0);try{console.log("Start session - agentId needed")}catch(s){console.error("Failed to start session:",s)}finally{t(!1)}};return l.jsx("button",{onClick:n,disabled:e,className:"voxket-button voxket-button--primary",children:e?"Starting...":"Start Session"})}function Io({showConnectionStatus:e=!0,showSessionInfo:t=!0,showAgentInfo:n=!0,className:s=""}){const r=jt(),o=Ro(),i=Nn(),a=["voxket-session-header",`voxket-session-header--${i.variant||"default"}`,`voxket-session-header--${i.size||"md"}`,s].filter(Boolean).join(" ");return l.jsxs("div",{className:a,children:[e&&l.jsxs("div",{className:"voxket-connection-status",children:[l.jsx("div",{className:`voxket-status-indicator ${o.isConnected?"connected":"disconnected"}`}),l.jsx("span",{className:"voxket-status-text",children:o.isConnecting?"Connecting...":o.isConnected?"Connected":"Disconnected"})]}),t&&r.session&&l.jsxs("div",{className:"voxket-session-info",children:[l.jsxs("div",{className:"voxket-session-id",children:["Session: ",r.session.id.slice(-8)]}),l.jsxs("div",{className:"voxket-session-state",children:["State: ",r.state]})]}),n&&r.session&&l.jsxs("div",{className:"voxket-agent-info",children:[l.jsxs("div",{className:"voxket-agent-id",children:["Agent: ",r.session.agentId]}),l.jsxs("div",{className:"voxket-modalities",children:["Modalities: ",r.session.activeModalities.join(", ")]})]}),o.error&&l.jsxs("div",{className:"voxket-error-message",children:["Error: ",o.error.message]})]})}function Do({showChat:e=!0,showTranscriptions:t=!1,customContent:n,className:s=""}){const r=jt(),o=Ts(),i=Nn(),a=["voxket-session-content",`voxket-session-content--${i.variant||"default"}`,`voxket-session-content--${i.size||"md"}`,s].filter(Boolean).join(" ");return r.isActive?l.jsx("div",{className:a,children:n||l.jsxs(l.Fragment,{children:[e&&l.jsxs("div",{className:"voxket-chat-container",children:[l.jsxs("div",{className:"voxket-chat-messages",children:[o.messages.map(c=>l.jsxs("div",{className:`voxket-message voxket-message--${c.sender.type}`,children:[l.jsxs("div",{className:"voxket-message-header",children:[l.jsx("span",{className:"voxket-message-sender",children:c.sender.name}),l.jsx("span",{className:"voxket-message-time",children:c.timestamp.toLocaleTimeString()})]}),l.jsx("div",{className:"voxket-message-content",children:c.content})]},c.id)),o.messages.length===0&&l.jsx("div",{className:"voxket-empty-messages",children:l.jsx("p",{children:"No messages yet. Start the conversation!"})})]}),l.jsx(Sx,{})]}),t&&l.jsx("div",{className:"voxket-transcriptions",children:l.jsx("div",{className:"voxket-transcription-placeholder",children:l.jsx("p",{children:"Voice transcriptions will appear here"})})})]})}):l.jsx("div",{className:a,children:l.jsx("div",{className:"voxket-inactive-state",children:l.jsxs("div",{className:"voxket-inactive-message",children:[l.jsx("h3",{children:"Start a conversation"}),l.jsx("p",{children:"Begin a session to start chatting with the AI agent"})]})})})}function Sx(){const e=Ts(),[t,n]=C.useState(""),s=async()=>{if(!(!t.trim()||!e.canSend))try{await e.send(t),n("")}catch(o){console.error("Failed to send message:",o)}},r=o=>{o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),s())};return l.jsxs("div",{className:"voxket-chat-input",children:[l.jsx("input",{type:"text",value:t,onChange:o=>n(o.target.value),onKeyPress:r,placeholder:"Type your message...",disabled:!e.canSend,className:"voxket-input"}),l.jsx("button",{onClick:s,disabled:!e.canSend||!t.trim(),className:"voxket-send-button",children:e.isSending?"Sending...":"Send"})]})}function $o({showMetrics:e=!0,showParticipants:t=!0,showStatus:n=!0,customFooter:s,className:r=""}){const o=jt(),i=wd(),a=Td(),c=Nn(),d=["voxket-session-footer",`voxket-session-footer--${c.variant||"default"}`,`voxket-session-footer--${c.size||"md"}`,r].filter(Boolean).join(" ");return o.isActive?l.jsx("div",{className:d,children:s||l.jsxs(l.Fragment,{children:[n&&l.jsxs("div",{className:"voxket-session-status",children:[l.jsx("div",{className:"voxket-status-indicator voxket-status-indicator--active"}),l.jsx("span",{className:"voxket-status-text",children:"Session Active"})]}),e&&i.metrics&&l.jsxs("div",{className:"voxket-session-metrics",children:[l.jsxs("div",{className:"voxket-metric",children:[l.jsx("span",{className:"voxket-metric-label",children:"Duration:"}),l.jsx("span",{className:"voxket-metric-value",children:Cx(i.duration||0)})]}),l.jsxs("div",{className:"voxket-metric",children:[l.jsx("span",{className:"voxket-metric-label",children:"Messages:"}),l.jsx("span",{className:"voxket-metric-value",children:i.metrics.messageCount})]})]}),t&&l.jsxs("div",{className:"voxket-participants-info",children:[l.jsxs("span",{className:"voxket-participants-count",children:[a.count," participant",a.count!==1?"s":""]}),a.remoteParticipants.length>0&&l.jsx("div",{className:"voxket-participant-list",children:a.remoteParticipants.map(u=>l.jsx("span",{className:"voxket-participant-name",children:u.name},u.id))})]})]})}):l.jsx("div",{className:d,children:l.jsx("div",{className:"voxket-footer-inactive",children:l.jsx("span",{className:"voxket-status-text",children:"Ready to start session"})})})}function Cx(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),s=Math.floor(n/60);return s>0?`${s}:${(n%60).toString().padStart(2,"0")}:${(t%60).toString().padStart(2,"0")}`:`${n}:${(t%60).toString().padStart(2,"0")}`}function kx({agentId:e,sessionConfig:t,autoStart:n=!1,onSessionStart:s,onSessionEnd:r,variant:o="default",size:i="md",theme:a,className:c="",children:d}){var g;const u=jt(),f=Ro();C.useEffect(()=>{n&&e&&f.isConnected&&!u.isActive&&u.start(e,t).catch(console.error)},[n,e,f.isConnected,u.isActive]),C.useEffect(()=>{var x;(x=u.session)!=null&&x.id&&s&&s(u.session.id)},[(g=u.session)==null?void 0:g.id,s]),C.useEffect(()=>()=>{u.isActive&&r&&u.stop().then(r).catch(console.error)},[]);const h=["voxket-session",`voxket-session--${o}`,`voxket-session--${i}`,u.isActive?"voxket-session--active":"voxket-session--inactive",c].filter(Boolean).join(" ");return l.jsx(Ad,{variant:o,size:i,theme:a,className:c,children:l.jsx("div",{className:h,children:d||l.jsxs(l.Fragment,{children:[l.jsx(Jn,{name:"header",fallback:l.jsx(Io,{})}),l.jsx(Jn,{name:"content",fallback:l.jsx(Do,{})}),l.jsx(Jn,{name:"footer",fallback:l.jsx($o,{})})]})})})}const Pd=jd(kx,{Header:Io,Content:Do,Footer:$o,Controls:Md}),Et={name:"default",colors:{primary:"#3B82F6",secondary:"#6B7280",accent:"#8B5CF6",background:"#FFFFFF",surface:"#F9FAFB",text:{primary:"#111827",secondary:"#6B7280",muted:"#9CA3AF",inverse:"#FFFFFF"},status:{success:"#10B981",warning:"#F59E0B",error:"#EF4444",info:"#3B82F6"},border:"#E5E7EB",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)"},typography:{fontFamily:"system-ui, -apple-system, sans-serif",fontSize:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},fontWeight:{normal:400,medium:500,semibold:600,bold:700},lineHeight:{tight:1.25,normal:1.5,relaxed:1.75}},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem"},borderRadius:{none:"0",sm:"0.25rem",md:"0.5rem",lg:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1)"}},Ir={...Et,name:"dark",colors:{primary:"#60A5FA",secondary:"#9CA3AF",accent:"#A78BFA",background:"#111827",surface:"#1F2937",text:{primary:"#F9FAFB",secondary:"#D1D5DB",muted:"#9CA3AF",inverse:"#111827"},status:{success:"#34D399",warning:"#FBBF24",error:"#F87171",info:"#60A5FA"},border:"#374151",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.3)"}},Dr={...Et,name:"enterprise",colors:{primary:"#1E40AF",secondary:"#64748B",accent:"#7C3AED",background:"#FFFFFF",surface:"#F8FAFC",text:{primary:"#0F172A",secondary:"#475569",muted:"#94A3B8",inverse:"#FFFFFF"},status:{success:"#059669",warning:"#D97706",error:"#DC2626",info:"#1E40AF"},border:"#CBD5E1",shadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1)"},borderRadius:{none:"0",sm:"0.125rem",md:"0.25rem",lg:"0.375rem",full:"9999px"}},Vd=C.createContext(null),Nd=()=>{const e=C.useContext(Vd);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e};function Tx({theme:e="default",themes:t={},children:n,cssVariables:s=!0,className:r=""}){const[o,i]=C.useState(()=>{const h={default:Et,dark:Ir,enterprise:Dr,...t};return typeof e=="string"?h[e]||Et:e}),[a,c]=C.useState(()=>({default:Et,dark:Ir,enterprise:Dr,...t})),d=h=>{if(typeof h=="string"){const g=a[h];g&&i(g)}else i(h)},u=h=>{c(g=>({...g,[h.name]:h}))};C.useEffect(()=>{if(s&&typeof document<"u"){const h=document.documentElement;Object.entries(Rd(o)).forEach(([g,x])=>{h.style.setProperty(`--voxket-${g}`,x)})}},[o,s]);const f={theme:o,setTheme:d,themes:a,registerTheme:u};return l.jsx(Vd.Provider,{value:f,children:l.jsx("div",{className:`voxket-theme voxket-theme--${o.name} ${r}`,children:n})})}function Rd(e){const t={},n=(s,r="")=>{for(const[o,i]of Object.entries(s)){const a=r?`${r}-${o}`:o;typeof i=="object"&&i!==null&&!Array.isArray(i)?n(i,a):t[a]=String(i)}};return n(e),t}function Ex(e=Et,t){return{...e,...t,colors:{...e.colors,...t.colors},typography:{...e.typography,...t.typography},spacing:{...e.spacing,...t.spacing},borderRadius:{...e.borderRadius,...t.borderRadius},shadows:{...e.shadows,...t.shadows}}}function Ax(e){var n;const{theme:t}=Nd();return((n=t.components)==null?void 0:n[e])||{}}const jx=Vo("voice-modality","voice",{onActivate:async e=>{const t=e.config;t.enableTranscription&&Mx(e),t.enableVoiceActivation&&Px(e,t),console.log("Voice modality activated",t)},onDeactivate:async e=>{console.log("Voice modality deactivated")},onMessage:async(e,t)=>{t.type==="audio"&&Vx(e,t)}});function Mx(e,t){e.on("participant.speaking.started",n=>{console.log("Transcription: Started for",n.name)}),e.on("participant.speaking.stopped",n=>{console.log("Transcription: Stopped for",n.name)})}function Px(e,t){const n=t.silenceThreshold||-50;console.log("Voice activation setup with threshold:",n)}function Vx(e,t){console.log("Playing audio response:",t.content)}const Nx=Vo("chat-modality","chat",{onActivate:async e=>{const t=e.config;t.enableRichText&&Rx(),t.enableFileUpload&&Ix(e),t.enableCustomComponents&&Dx(),console.log("Chat modality activated",t)},onDeactivate:async e=>{console.log("Chat modality deactivated")},onMessage:async(e,t)=>{const n=e.config;t.type==="ui_component"?$x(e,t):t.type==="text"&&n.enableRichText&&Fx(e,t)}});function Rx(e){console.log("Rich text support enabled")}function Ix(e){console.log("File upload enabled"),e.on("chat.file.uploaded",t=>{console.log("File uploaded:",t.name)})}function Dx(e){console.log("Custom components enabled");const t=new Map;t.set("quick-actions",Ox),t.set("form",Lx),t.set("card",_x),t.set("chart",Bx)}function $x(e,t){const{componentType:n,props:s}=t.metadata;console.log("Rendering custom component:",n,s),e.emit("chat.component.render",{type:n,props:s,timestamp:new Date})}function Fx(e,t){console.log("Processing rich text message:",t.content)}function Ox(e){return{type:"quick-actions",actions:e.actions||[],layout:e.layout||"horizontal"}}function Lx(e){return{type:"form",fields:e.fields||[],submitAction:e.submitAction,validation:e.validation}}function _x(e){return{type:"card",title:e.title,content:e.content,actions:e.actions,variant:e.variant||"default"}}function Bx(e){return{type:"chart",chartType:e.chartType||"line",data:e.data,options:e.options}}function Qn({track:e,participantName:t,showControls:n=!0,showName:s=!0,showMuteIndicator:r=!0,isPinned:o=!1,className:i="",onClick:a,onPin:c,onUnpin:d}){const u=C.useRef(null),[f,h]=C.useState(!1);C.useEffect(()=>{if(!u.current||!e.isEnabled)return;const b=u.current;return b.srcObject=null,()=>{b.srcObject&&(b.srcObject=null)}},[e]);const g=()=>{a==null||a(e)},x=b=>{b.stopPropagation(),o?d==null||d(e):c==null||c(e)},m=["voxket-video-tile",e.isLocal?"voxket-video-tile--local":"voxket-video-tile--remote",e.isScreenShare?"voxket-video-tile--screen-share":"voxket-video-tile--camera",o?"voxket-video-tile--pinned":"",e.isEnabled?"":"voxket-video-tile--disabled",f?"voxket-video-tile--hovered":"",i].filter(Boolean).join(" ");return l.jsxs("div",{className:m,onClick:g,onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),style:{aspectRatio:e.dimensions?`${e.dimensions.width} / ${e.dimensions.height}`:"16 / 9"},children:[l.jsx("video",{ref:u,className:"voxket-video-element",autoPlay:!0,playsInline:!0,muted:e.isLocal}),!e.isEnabled&&l.jsxs("div",{className:"voxket-video-placeholder",children:[l.jsx("div",{className:"voxket-video-placeholder-icon",children:e.isScreenShare?"🖥️":"📹"}),l.jsx("p",{className:"voxket-video-placeholder-text",children:e.isScreenShare?"Screen sharing paused":"Camera off"})]}),l.jsxs("div",{className:"voxket-video-overlay",children:[s&&t&&l.jsxs("div",{className:"voxket-video-name",children:[t,e.isLocal&&" (You)"]}),r&&!e.isEnabled&&l.jsx("div",{className:"voxket-video-mute-indicator",children:"🔇"}),n&&(f||o)&&l.jsxs("div",{className:"voxket-video-controls",children:[l.jsx("button",{className:`voxket-video-control-btn ${o?"voxket-video-control-btn--active":""}`,onClick:x,title:o?"Unpin video":"Pin video",children:"📌"}),e.isScreenShare&&l.jsx("div",{className:"voxket-video-indicator",children:"🖥️"}),e.source&&l.jsx("div",{className:"voxket-video-source",children:e.source})]})]}),!e.isEnabled&&l.jsx("div",{className:"voxket-video-loading",children:l.jsx("div",{className:"voxket-spinner"})})]})}function zx({tracks:e,layout:t,className:n="",onLayoutChange:s,onTrackClick:r,maxVisibleTracks:o=9,showPagination:i=!0}){const[a,c]=C.useState(0),[d,u]=C.useState(null),f=C.useMemo(()=>{let v=[...e];t.type==="speaker"&&d&&(v=[d,...e.filter(S=>S.id!==d.id)]);const T=a*o,w=T+o;return v.slice(T,w)},[e,t,d,a,o]),h=Math.ceil(e.length/o),g=C.useMemo(()=>{const v=f.length;switch(t.type){case"grid":const T=Math.ceil(Math.sqrt(v)),w=Math.ceil(v/T);return{display:"grid",gridTemplateColumns:`repeat(${T}, 1fr)`,gridTemplateRows:`repeat(${w}, 1fr)`,gap:"8px"};case"speaker":return{display:"flex",flexDirection:"column",gap:"8px"};case"sidebar":return{display:"flex",gap:"8px"};case"gallery":return{display:"flex",flexWrap:"wrap",gap:"8px",justifyContent:"center"};default:return{}}},[t.type,f.length]),x=v=>{u(v)},m=()=>{u(null)},b=v=>{s==null||s({...t,type:v})},k=["voxket-video-grid",`voxket-video-grid--${t.type}`,`voxket-video-grid--${f.length}-tracks`,n].filter(Boolean).join(" ");return e.length===0?l.jsx("div",{className:"voxket-video-grid-empty",children:l.jsxs("div",{className:"voxket-video-grid-empty-content",children:[l.jsx("div",{className:"voxket-video-grid-empty-icon",children:"📹"}),l.jsx("p",{children:"No video tracks available"})]})}):l.jsxs("div",{className:k,children:[l.jsxs("div",{className:"voxket-video-grid-controls",children:[l.jsx("div",{className:"voxket-video-layout-controls",children:["grid","speaker","sidebar","gallery"].map(v=>l.jsx("button",{className:`voxket-layout-btn ${t.type===v?"voxket-layout-btn--active":""}`,onClick:()=>b(v),title:`Switch to ${v} layout`,children:Hx(v)},v))}),l.jsxs("div",{className:"voxket-video-count",children:[e.length," participant",e.length!==1?"s":""]})]}),l.jsx("div",{className:"voxket-video-grid-content",style:g,children:t.type==="speaker"&&d?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"voxket-video-speaker-main",children:l.jsx(Qn,{track:d,participantName:`Participant ${d.participantId}`,isPinned:!0,onClick:r,onUnpin:m})}),l.jsx("div",{className:"voxket-video-speaker-sidebar",children:f.filter(v=>v.id!==d.id).map(v=>l.jsx(Qn,{track:v,participantName:`Participant ${v.participantId}`,showControls:!1,onClick:r,onPin:x},v.id))})]}):f.map(v=>l.jsx(Qn,{track:v,participantName:`Participant ${v.participantId}`,isPinned:(d==null?void 0:d.id)===v.id,onClick:r,onPin:x,onUnpin:m},v.id))}),i&&h>1&&l.jsxs("div",{className:"voxket-video-pagination",children:[l.jsx("button",{className:"voxket-pagination-btn",onClick:()=>c(Math.max(0,a-1)),disabled:a===0,children:"←"}),l.jsxs("span",{className:"voxket-pagination-info",children:["Page ",a+1," of ",h]}),l.jsx("button",{className:"voxket-pagination-btn",onClick:()=>c(Math.min(h-1,a+1)),disabled:a===h-1,children:"→"})]})]})}function Hx(e){switch(e){case"grid":return"⊞";case"speaker":return"🎤";case"sidebar":return"⫸";case"gallery":return"⊡";case"picture-in-picture":return"⧉";default:return"⊞"}}function Ux({localTrack:e,onToggleCamera:t,onToggleScreenShare:n,onLayoutChange:s,showLayoutControls:r=!0,showCameraControls:o=!0,showScreenShareControls:i=!0,className:a=""}){const c=["voxket-video-controls",a].filter(Boolean).join(" "),d=u=>{s==null||s({type:u,showLocalVideo:!0,aspectRatio:"16:9"})};return l.jsxs("div",{className:c,children:[o&&l.jsxs("div",{className:"voxket-video-controls-section",children:[l.jsx("h4",{className:"voxket-video-controls-title",children:"Camera"}),l.jsxs("button",{className:`voxket-control-btn ${e!=null&&e.isEnabled?"voxket-control-btn--active":""}`,onClick:t,title:e!=null&&e.isEnabled?"Turn off camera":"Turn on camera",children:[l.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isEnabled?"📹":"📷"}),l.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isEnabled?"Camera On":"Camera Off"})]}),(e==null?void 0:e.dimensions)&&l.jsxs("div",{className:"voxket-video-info",children:[e.dimensions.width," × ",e.dimensions.height]})]}),i&&l.jsxs("div",{className:"voxket-video-controls-section",children:[l.jsx("h4",{className:"voxket-video-controls-title",children:"Screen Share"}),l.jsxs("button",{className:`voxket-control-btn ${e!=null&&e.isScreenShare?"voxket-control-btn--active":""}`,onClick:n,title:e!=null&&e.isScreenShare?"Stop screen sharing":"Start screen sharing",children:[l.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isScreenShare?"🛑":"🖥️"}),l.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isScreenShare?"Stop Sharing":"Share Screen"})]})]}),r&&l.jsxs("div",{className:"voxket-video-controls-section",children:[l.jsx("h4",{className:"voxket-video-controls-title",children:"Layout"}),l.jsx("div",{className:"voxket-layout-buttons",children:[{type:"grid",icon:"⊞",label:"Grid"},{type:"speaker",icon:"🎤",label:"Speaker"},{type:"sidebar",icon:"⫸",label:"Sidebar"},{type:"gallery",icon:"⊡",label:"Gallery"}].map(({type:u,icon:f,label:h})=>l.jsxs("button",{className:"voxket-layout-control-btn",onClick:()=>d(u),title:`Switch to ${h} layout`,children:[l.jsx("span",{className:"voxket-control-icon",children:f}),l.jsx("span",{className:"voxket-control-label",children:h})]},u))})]}),l.jsxs("div",{className:"voxket-video-controls-section",children:[l.jsx("h4",{className:"voxket-video-controls-title",children:"Video Settings"}),l.jsxs("div",{className:"voxket-video-settings",children:[l.jsxs("div",{className:"voxket-setting-group",children:[l.jsx("label",{className:"voxket-setting-label",children:"Quality"}),l.jsxs("select",{className:"voxket-setting-select",children:[l.jsx("option",{value:"high",children:"High (720p)"}),l.jsx("option",{value:"medium",children:"Medium (480p)"}),l.jsx("option",{value:"low",children:"Low (240p)"})]})]}),l.jsxs("div",{className:"voxket-setting-group",children:[l.jsx("label",{className:"voxket-setting-label",children:"Frame Rate"}),l.jsxs("select",{className:"voxket-setting-select",children:[l.jsx("option",{value:"30",children:"30 fps"}),l.jsx("option",{value:"15",children:"15 fps"}),l.jsx("option",{value:"10",children:"10 fps"})]})]}),l.jsxs("div",{className:"voxket-setting-group",children:[l.jsx("label",{className:"voxket-setting-label",children:"Bandwidth"}),l.jsxs("select",{className:"voxket-setting-select",children:[l.jsx("option",{value:"unlimited",children:"Unlimited"}),l.jsx("option",{value:"1000",children:"1 Mbps"}),l.jsx("option",{value:"500",children:"500 Kbps"}),l.jsx("option",{value:"250",children:"250 Kbps"})]})]})]})]}),l.jsxs("div",{className:"voxket-video-controls-section",children:[l.jsx("h4",{className:"voxket-video-controls-title",children:"Statistics"}),l.jsxs("div",{className:"voxket-video-stats",children:[l.jsxs("div",{className:"voxket-stat-item",children:[l.jsx("span",{className:"voxket-stat-label",children:"Resolution:"}),l.jsx("span",{className:"voxket-stat-value",children:e!=null&&e.dimensions?`${e.dimensions.width}×${e.dimensions.height}`:"N/A"})]}),l.jsxs("div",{className:"voxket-stat-item",children:[l.jsx("span",{className:"voxket-stat-label",children:"Source:"}),l.jsx("span",{className:"voxket-stat-value",children:(e==null?void 0:e.source)||"None"})]}),l.jsxs("div",{className:"voxket-stat-item",children:[l.jsx("span",{className:"voxket-stat-label",children:"Status:"}),l.jsx("span",{className:`voxket-stat-value ${e!=null&&e.isEnabled?"voxket-stat-value--active":"voxket-stat-value--inactive"}`,children:e!=null&&e.isEnabled?"Active":"Inactive"})]})]})]})]})}const Id=({handler:e,loadData:t,data:n,client:s,addLocalMessage:r})=>{const[o,i]=p.useState(null),[a,c]=p.useState(!0),[d,u]=p.useState(!1),[f]=p.useState(Date.now());p.useEffect(()=>{(async()=>{try{if(c(!0),console.log("📋 AssignmentView: Loading assignment data..."),console.log("📋 AssignmentView: Received data from RPC:",n),n&&typeof n=="object"){const b={title:n.title||"Untitled Assignment",description:n.description||"No description provided",estimated_time_of_completion:n.estimated_time_of_completion||"Unknown"};i(b),console.log("📋 AssignmentView: Assignment loaded from RPC data:",b)}}catch(b){console.error("📋 AssignmentView: Error loading assignment:",b),i({title:"Assignment Loading Error",description:"There was an error loading the assignment details. Please try again.",estimated_time_of_completion:"Unknown"})}finally{c(!1)}})()},[n,t]);const h=({message:m,assignment:b})=>{const k=m.toLowerCase().includes("declined"),v=k?"bg-red-50 border-red-200":"bg-green-50 border-green-200",T=k?"text-red-700":"text-green-700",w=k?"❌":"🎉";return l.jsxs("div",{className:`max-w-sm mx-auto ${v} border rounded-lg shadow p-3 flex flex-col items-center`,children:[l.jsx("div",{className:"text-2xl mb-2",children:w}),l.jsx("div",{className:`${T} font-semibold text-sm mb-1`,children:m}),l.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:b.title}),l.jsx("div",{className:"text-xs text-gray-500",children:"Thank you for your response!"})]})},g=async()=>{if(!(!o||!e)){u(!0);try{const m={message:"accepted"};console.log("📋 AssignmentView: Assignment accepted:",m),e.didSuccess(m,l.jsx(h,{message:"Assignment accepted!",assignment:o}))}catch(m){console.error("📋 AssignmentView: Error accepting assignment:",m),e.didFail({error:"Failed to accept assignment"})}finally{u(!1)}}},x=async()=>{if(!(!o||!e)){u(!0);try{const m={message:"declined"};console.log("📋 AssignmentView: Assignment declined:",m),e.didSuccess(m,l.jsx(h,{message:"Assignment declined",assignment:o}))}catch(m){console.error("📋 AssignmentView: Error declining assignment:",m),e.didFail({error:"Failed to decline assignment"})}finally{u(!1)}}};return a?l.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:l.jsxs("div",{className:"flex items-center justify-center py-4",children:[l.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-blue-600"}),l.jsx("span",{className:"ml-2 text-xs text-gray-600",children:"Loading assignment..."})]})}):o?l.jsxs("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg overflow-hidden",children:[l.jsx("div",{className:"bg-gradient-to-r from-blue-600 to-purple-600 text-white p-3",children:l.jsx("div",{className:"flex items-center justify-between",children:l.jsx("h3",{className:"text-xs font-semibold text-white truncate",children:o.title})})}),l.jsxs("div",{className:"p-3",children:[l.jsx("div",{className:"bg-gray-50 rounded p-2 mb-3",children:l.jsx("p",{className:"text-xs text-gray-700 leading-snug",children:o.description})}),l.jsx("div",{className:"mb-3",children:l.jsxs("div",{className:"flex items-center text-xs text-gray-600",children:[l.jsx("span",{className:"text-xs mr-1",children:"📅"}),l.jsxs("span",{children:["Est: ",o.estimated_time_of_completion]})]})}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("button",{onClick:g,disabled:d,className:"flex-1 bg-green-600 text-white py-2 px-3 rounded text-xs font-medium hover:bg-green-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:d?l.jsxs("span",{className:"flex items-center justify-center",children:[l.jsx("div",{className:"animate-spin rounded-full h-2 w-2 border-b-2 border-white mr-1"}),l.jsx("span",{className:"text-xs",children:"Processing..."})]}):"Accept"}),l.jsx("button",{onClick:x,disabled:d,className:"flex-1 bg-red-600 text-white py-2 px-3 rounded text-xs font-medium hover:bg-red-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:"Decline"})]})]})]}):l.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:l.jsxs("div",{className:"text-center py-4",children:[l.jsx("div",{className:"text-red-600 text-sm font-semibold mb-2",children:"⚠️ Assignment Error"}),l.jsx("p",{className:"text-xs text-gray-600 mb-3",children:"Failed to load assignment details."})]})})};function Zx(){const[e,t]=p.useState(null),[n,s]=p.useState([]);p.useEffect(()=>{const a=new Vn({appId:"your-app-id",appSecret:"your-app-secret",baseUrl:"https://your-voxket-api.com",agentId:"your-agent-id",participantName:"User",modalities:["chat"]});return t(a),a.on("rpc.method.called",c=>{console.log("RPC Method Called:",c)}),a.on("rpc.interaction.completed",c=>{console.log("RPC Interaction Completed:",c)}),()=>{a.disconnect()}},[]);const r=async()=>{if(e)try{await e.registerFrontendRPC("give_assignment",Id,"embedded");const a=e.getRegisteredRpcMethods();s(a),console.log("✅ Assignment RPC registered successfully")}catch(a){console.error("❌ Failed to register assignment RPC:",a)}},o=async()=>{if(!e)return;const a=({handler:c,timeout:d})=>{const[u,f]=p.useState(""),h=[{id:"pro",name:"Pro Plan",price:"$29/month"},{id:"enterprise",name:"Enterprise Plan",price:"$99/month"},{id:"basic",name:"Basic Plan",price:"$9/month"}],g=m=>{f(m)},x=()=>{const m=h.find(b=>b.id===u);c==null||c.didSuccess({selectedProduct:u,productName:m==null?void 0:m.name,price:m==null?void 0:m.price,timestamp:new Date().toISOString()})};return l.jsxs("div",{className:"p-6 bg-white rounded-lg",children:[l.jsx("h3",{className:"text-xl font-bold mb-4",children:"Choose Your Plan"}),l.jsx("p",{className:"text-gray-600 mb-4",children:"Select the plan that best fits your needs:"}),l.jsx("div",{className:"space-y-3 mb-6",children:h.map(m=>l.jsx("div",{onClick:()=>g(m.id),className:`p-4 border rounded-lg cursor-pointer transition-all ${u===m.id?"border-blue-500 bg-blue-50":"border-gray-200 hover:border-gray-300"}`,children:l.jsxs("div",{className:"flex justify-between items-center",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"font-medium",children:m.name}),l.jsx("p",{className:"text-gray-600 text-sm",children:m.price})]}),l.jsx("div",{className:`w-4 h-4 rounded-full ${u===m.id?"bg-blue-500":"border-2 border-gray-300"}`})]})},m.id))}),l.jsxs("div",{className:"flex justify-end space-x-3",children:[l.jsx("button",{onClick:()=>c==null?void 0:c.dismissView(),className:"px-4 py-2 border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Cancel"}),l.jsx("button",{onClick:x,disabled:!u,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50",children:"Select Plan"})]}),d&&l.jsxs("p",{className:"text-xs text-gray-500 mt-2",children:["Time remaining: ",d," seconds"]})]})};try{await e.registerFrontendRPC("recommend_product",a,"modal");const c=e.getRegisteredRpcMethods();s(c),console.log("✅ Product Recommendation RPC registered successfully")}catch(c){console.error("❌ Failed to register product recommendation RPC:",c)}},i=async()=>{if(!e)return;const a=({handler:c})=>{const[d,u]=p.useState(0),[f,h]=p.useState(""),g=()=>{c==null||c.didSuccess({rating:d,comment:f,timestamp:new Date().toISOString()})};return l.jsxs("div",{className:"p-4 bg-white rounded-lg",children:[l.jsx("h3",{className:"text-lg font-semibold mb-3",children:"How was your experience?"}),l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Rate your experience:"}),l.jsx("div",{className:"flex space-x-1",children:[1,2,3,4,5].map(x=>l.jsx("button",{onClick:()=>u(x),className:`text-2xl ${x<=d?"text-yellow-400":"text-gray-300"}`,children:"⭐"},x))})]}),l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Additional comments:"}),l.jsx("textarea",{value:f,onChange:x=>h(x.target.value),className:"w-full p-2 border border-gray-300 rounded text-sm",rows:3,placeholder:"Tell us more about your experience..."})]}),l.jsxs("div",{className:"flex justify-end space-x-2",children:[l.jsx("button",{onClick:()=>c==null?void 0:c.dismissView(),className:"px-3 py-1 text-sm border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Skip"}),l.jsx("button",{onClick:g,disabled:d===0,className:"px-3 py-1 text-sm bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50",children:"Submit"})]})]})};try{await e.registerFrontendRPC("collect_feedback",a,"embedded");const c=e.getRegisteredRpcMethods();s(c),console.log("✅ Feedback RPC registered successfully")}catch(c){console.error("❌ Failed to register feedback RPC:",c)}};return l.jsxs("div",{className:"p-6",children:[l.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frontend RPC Examples"}),l.jsxs("div",{className:"space-y-4 mb-6",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Register RPC Methods"}),l.jsxs("div",{className:"space-x-2",children:[l.jsx("button",{onClick:r,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Register Assignment RPC"}),l.jsx("button",{onClick:o,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Register Product Recommendation RPC"}),l.jsx("button",{onClick:i,className:"px-4 py-2 bg-purple-500 text-white rounded hover:bg-purple-600",children:"Register Feedback RPC"})]})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Registered Methods"}),n.length>0?l.jsx("ul",{className:"list-disc list-inside space-y-1",children:n.map(a=>l.jsx("li",{className:"text-gray-700",children:l.jsx("code",{className:"bg-gray-100 px-2 py-1 rounded",children:a})},a))}):l.jsx("p",{className:"text-gray-500",children:"No methods registered yet"})]})]}),l.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg",children:[l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"How it works"}),l.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-sm text-gray-700",children:[l.jsxs("li",{children:["Register RPC methods with React components using ",l.jsx("code",{children:"client.registerFrontendRPC()"})]}),l.jsx("li",{children:"When the agent calls an RPC method, the corresponding component will be displayed"}),l.jsx("li",{children:"Users interact with the component, and the response is sent back to the agent"}),l.jsx("li",{children:"Components can be displayed in different modes: embedded, modal, or fullscreen"}),l.jsx("li",{children:"Each component has a timeout and can handle success/failure scenarios"})]})]}),l.jsxs("div",{className:"mt-6 bg-blue-50 p-4 rounded-lg",children:[l.jsx("h3",{className:"text-lg font-semibold mb-2 text-blue-800",children:"Agent Side"}),l.jsx("p",{className:"text-sm text-blue-700 mb-2",children:"On the agent side, you can call these RPC methods like this:"}),l.jsx("pre",{className:"bg-white p-3 rounded text-xs text-gray-800 overflow-x-auto",children:`// Agent calls RPC method
|
|
33
253
|
const response = await participant.performRpc({
|
|
34
254
|
method: 'give_assignment',
|
|
35
255
|
data: JSON.stringify({
|
|
@@ -40,4 +260,4 @@ const response = await participant.performRpc({
|
|
|
40
260
|
})
|
|
41
261
|
});
|
|
42
262
|
|
|
43
|
-
console.log('User response:', response);`})]})]})}const
|
|
263
|
+
console.log('User response:', response);`})]})]})}const Wx={async checkAvailableRpcs(e){const t=e.getRegisteredRpcMethods();return console.log("🔍 Agent: Available RPC methods:",t),t},async triggerAssignment(e,t){const n={title:"Complete Q4 Sales Analysis Report",description:"Please analyze the Q4 sales data and create a comprehensive report with insights, trends, and recommendations for the upcoming quarter. Include visualizations and executive summary.",estimated_time_of_completion:"2-3 hours"};try{console.log("🤖 Agent: Triggering give_assignment RPC with data:",n);const s=await e.localParticipant.performRpc(t,"give_assignment",JSON.stringify(n),{responseTimeout:12e4}),r=JSON.parse(s);return console.log("✅ Agent: Received user response:",r),await this.processAssignmentResponse(r),r}catch(s){throw console.error("❌ Agent: RPC failed:",s),s}},async processAssignmentResponse(e){console.log("🧠 Agent: Processing assignment response...");const t=e.status,n=e.assignmentId,s=e.timeSpent;return t==="accepted"?(console.log("🎉 Agent: User accepted the assignment!"),console.log(`� Assignment ID: ${n}`),console.log(`⏱️ Time to respond: ${s}ms`),console.log("💬 Agent: Sending follow-up:","Great! I've recorded that you've accepted the assignment. You'll receive the detailed requirements and access to the data shortly. Let me know if you need any clarification!")):t==="declined"?(console.log("❌ Agent: User declined the assignment"),console.log("💬 Agent: Sending follow-up:","No problem! Is there anything specific about this assignment that doesn't work for you? I can suggest alternatives or modify the requirements.")):t==="completed"&&(console.log("✅ Agent: User completed the assignment"),console.log("💬 Agent: Sending follow-up:","Excellent work! Could you please share the completed report? I'm excited to review your analysis and insights.")),{status:t,assignmentId:n,timeSpent:s,processed:!0,followupAction:t==="accepted"?"send_requirements":t==="declined"?"offer_alternatives":"request_deliverables"}},getAssignmentExamples(){return{marketing:{title:"Create Social Media Campaign",description:"Design and plan a social media campaign for our new product launch. Include content calendar, post designs, and engagement strategy.",estimated_time_of_completion:"4-5 hours"},technical:{title:"API Integration Documentation",description:"Create comprehensive documentation for our new API endpoints, including examples, error codes, and best practices for developers.",estimated_time_of_completion:"6-8 hours"},research:{title:"Market Research Analysis",description:"Research and analyze competitor pricing strategies in our target market. Provide recommendations for our pricing model.",estimated_time_of_completion:"3-4 hours"},quick:{title:"Customer Feedback Summary",description:"Review this week's customer feedback and create a summary of key themes and actionable insights.",estimated_time_of_completion:"30-45 minutes"}}}};No();const Gx=e=>typeof window>"u"?null:p.createElement(vd,{children:p.createElement(bd,e)});exports.AssignmentView=Id;exports.CompoundProvider=Ad;exports.InteractiveComponent=Kt;exports.PluginManager=gd;exports.RpcExamples=Zx;exports.SessionContainer=Pd;exports.SessionContent=Do;exports.SessionControls=Md;exports.SessionFooter=$o;exports.SessionHeader=Io;exports.SessionLogViewer=yx;exports.SessionMetricsComponent=xx;exports.Slot=Jn;exports.ThemeProvider=Tx;exports.VideoControls=Ux;exports.VideoGrid=zx;exports.VideoTile=Qn;exports.VoxketClient=Vn;exports.VoxketErrorBoundary=vd;exports.VoxketEventEmitter=Po;exports.VoxketProvider=xd;exports.VoxketSDK=Vn;exports.VoxketSessionComponent=Pd;exports.agentRpcExample=Wx;exports.analyticsPlugin=ax;exports.chatModalityPlugin=Nx;exports.createCustomTheme=Ex;exports.createModalityPlugin=Vo;exports.createPlugin=ix;exports.darkTheme=Ir;exports.debugPlugin=cx;exports.default=Gx;exports.defaultTheme=Et;exports.enterpriseTheme=Dr;exports.flattenTheme=Rd;exports.metricsPlugin=lx;exports.useComponentTheme=Ax;exports.useCompoundContext=Nn;exports.useSessionLogging=pd;exports.useTheme=Nd;exports.useVoxket=Qe;exports.useVoxketCamera=Cd;exports.useVoxketChat=Ts;exports.useVoxketChatInput=vx;exports.useVoxketConnection=Ro;exports.useVoxketMetrics=wd;exports.useVoxketMicrophone=Sd;exports.useVoxketParticipants=Td;exports.useVoxketScreenShare=kd;exports.useVoxketSession=jt;exports.useVoxketVideo=bx;exports.voiceModalityPlugin=jx;exports.withCompoundComponent=jd;
|