@voxket-ai/voxket-live 1.0.143 โ 1.0.144
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/core/client.d.ts +1 -0
- package/dist/index.cjs +5 -5
- package/dist/index.js +962 -928
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
const style = document.createElement('style');
|
|
9
9
|
style.type = 'text/css';
|
|
10
10
|
style.setAttribute('data-voxket-widget-styles', 'true');
|
|
11
|
-
style.textContent = "/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/.voxket-widget-root .hljs{color:#24292e;background:#fff}.voxket-widget-root .hljs-doctag,.voxket-widget-root .hljs-keyword,.voxket-widget-root .hljs-meta .hljs-keyword,.voxket-widget-root .hljs-template-tag,.voxket-widget-root .hljs-template-variable,.voxket-widget-root .hljs-type,.voxket-widget-root .hljs-variable.language_{color:#d73a49}.voxket-widget-root .hljs-title,.voxket-widget-root .hljs-title.class_,.voxket-widget-root .hljs-title.class_.inherited__,.voxket-widget-root .hljs-title.function_{color:#6f42c1}.voxket-widget-root .hljs-attr,.voxket-widget-root .hljs-attribute,.voxket-widget-root .hljs-literal,.voxket-widget-root .hljs-meta,.voxket-widget-root .hljs-number,.voxket-widget-root .hljs-operator,.voxket-widget-root .hljs-variable,.voxket-widget-root .hljs-selector-attr,.voxket-widget-root .hljs-selector-class,.voxket-widget-root .hljs-selector-id{color:#005cc5}.voxket-widget-root .hljs-regexp,.voxket-widget-root .hljs-string,.voxket-widget-root .hljs-meta .hljs-string{color:#032f62}.voxket-widget-root .hljs-built_in,.voxket-widget-root .hljs-symbol{color:#e36209}.voxket-widget-root .hljs-comment,.voxket-widget-root .hljs-code,.voxket-widget-root .hljs-formula{color:#6a737d}.voxket-widget-root .hljs-name,.voxket-widget-root .hljs-quote,.voxket-widget-root .hljs-selector-tag,.voxket-widget-root .hljs-selector-pseudo{color:#22863a}.voxket-widget-root .hljs-subst{color:#24292e}.voxket-widget-root .hljs-section{color:#005cc5;font-weight:700}.voxket-widget-root .hljs-bullet{color:#735c0f}.voxket-widget-root .hljs-emphasis{color:#24292e;font-style:italic}.voxket-widget-root .hljs-strong{color:#24292e;font-weight:700}.voxket-widget-root .hljs-addition{color:#22863a;background-color:#f0fff4}.voxket-widget-root .hljs-deletion{color:#b31d28;background-color:#ffeef0}.voxket-widget-root pre code.hljs{display:block;overflow-x:auto;padding:1em}.voxket-widget-root code.hljs{padding:3px 5px}/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/.voxket-widget-root .hljs{color:#c9d1d9;background:#0d1117}.voxket-widget-root .hljs-doctag,.voxket-widget-root .hljs-keyword,.voxket-widget-root .hljs-meta .hljs-keyword,.voxket-widget-root .hljs-template-tag,.voxket-widget-root .hljs-template-variable,.voxket-widget-root .hljs-type,.voxket-widget-root .hljs-variable.language_{color:#ff7b72}.voxket-widget-root .hljs-title,.voxket-widget-root .hljs-title.class_,.voxket-widget-root .hljs-title.class_.inherited__,.voxket-widget-root .hljs-title.function_{color:#d2a8ff}.voxket-widget-root .hljs-attr,.voxket-widget-root .hljs-attribute,.voxket-widget-root .hljs-literal,.voxket-widget-root .hljs-meta,.voxket-widget-root .hljs-number,.voxket-widget-root .hljs-operator,.voxket-widget-root .hljs-variable,.voxket-widget-root .hljs-selector-attr,.voxket-widget-root .hljs-selector-class,.voxket-widget-root .hljs-selector-id{color:#79c0ff}.voxket-widget-root .hljs-regexp,.voxket-widget-root .hljs-string,.voxket-widget-root .hljs-meta .hljs-string{color:#a5d6ff}.voxket-widget-root .hljs-built_in,.voxket-widget-root .hljs-symbol{color:#ffa657}.voxket-widget-root .hljs-comment,.voxket-widget-root .hljs-code,.voxket-widget-root .hljs-formula{color:#8b949e}.voxket-widget-root .hljs-name,.voxket-widget-root .hljs-quote,.voxket-widget-root .hljs-selector-tag,.voxket-widget-root .hljs-selector-pseudo{color:#7ee787}.voxket-widget-root .hljs-subst{color:#c9d1d9}.voxket-widget-root .hljs-section{color:#1f6feb;font-weight:700}.voxket-widget-root .hljs-bullet{color:#f2cc60}.voxket-widget-root .hljs-emphasis{color:#c9d1d9;font-style:italic}.voxket-widget-root .hljs-strong{color:#c9d1d9;font-weight:700}.voxket-widget-root .hljs-addition{color:#aff5b4;background-color:#033a16}.voxket-widget-root .hljs-deletion{color:#ffdcd7;background-color:#67060c}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,.voxket-widget-root :before,.voxket-widget-root :after,.voxket-widget-root ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.voxket-widget-root .pointer-events-auto{pointer-events:auto}.voxket-widget-root .pointer-events-none{pointer-events:none}.voxket-widget-root .visible{visibility:visible}.voxket-widget-root .absolute{position:absolute}.voxket-widget-root .fixed{position:fixed}.voxket-widget-root .relative{position:relative}.voxket-widget-root .static{position:static}.voxket-widget-root .sticky{position:sticky}.voxket-widget-root .inset-0{inset:calc(var(--spacing)*0)}.voxket-widget-root .-top-2{top:calc(var(--spacing)*-2)}.voxket-widget-root .top-0{top:calc(var(--spacing)*0)}.voxket-widget-root .top-1{top:calc(var(--spacing)*1)}.voxket-widget-root .top-2{top:calc(var(--spacing)*2)}.voxket-widget-root .top-4{top:calc(var(--spacing)*4)}.voxket-widget-root .-right-2{right:calc(var(--spacing)*-2)}.voxket-widget-root .right-0{right:calc(var(--spacing)*0)}.voxket-widget-root .right-2{right:calc(var(--spacing)*2)}.voxket-widget-root .right-4{right:calc(var(--spacing)*4)}.voxket-widget-root .right-6{right:calc(var(--spacing)*6)}.voxket-widget-root .-bottom-2{bottom:calc(var(--spacing)*-2)}.voxket-widget-root .bottom-0{bottom:calc(var(--spacing)*0)}.voxket-widget-root .bottom-2{bottom:calc(var(--spacing)*2)}.voxket-widget-root .bottom-4{bottom:calc(var(--spacing)*4)}.voxket-widget-root .bottom-20{bottom:calc(var(--spacing)*20)}.voxket-widget-root .-left-2{left:calc(var(--spacing)*-2)}.voxket-widget-root .left-0{left:calc(var(--spacing)*0)}.voxket-widget-root .left-1{left:calc(var(--spacing)*1)}.voxket-widget-root .left-2{left:calc(var(--spacing)*2)}.voxket-widget-root .left-4{left:calc(var(--spacing)*4)}.voxket-widget-root .isolate{isolation:isolate}.voxket-widget-root .z-10{z-index:10}.voxket-widget-root .z-20{z-index:20}.voxket-widget-root .z-30{z-index:30}.voxket-widget-root .z-50{z-index:50}.voxket-widget-root .z-\\[9999\\]{z-index:9999}.voxket-widget-root .z-\\[10000\\]{z-index:10000}.voxket-widget-root .order-1{order:1}.voxket-widget-root .order-2{order:2}.voxket-widget-root .col-span-2{grid-column:span 2/span 2}.voxket-widget-root .col-start-1{grid-column-start:1}.voxket-widget-root .col-start-2{grid-column-start:2}.voxket-widget-root .row-span-3{grid-row:span 3/span 3}.voxket-widget-root .row-start-1{grid-row-start:1}.voxket-widget-root .row-start-3{grid-row-start:3}.voxket-widget-root .container{width:100%}@media (min-width:40rem){.voxket-widget-root .container{max-width:40rem}}@media (min-width:48rem){.voxket-widget-root .container{max-width:48rem}}@media (min-width:64rem){.voxket-widget-root .container{max-width:64rem}}@media (min-width:80rem){.voxket-widget-root .container{max-width:80rem}}@media (min-width:96rem){.voxket-widget-root .container{max-width:96rem}}.voxket-widget-root .m-4{margin:calc(var(--spacing)*4)}.voxket-widget-root .-mx-1{margin-inline:calc(var(--spacing)*-1)}.voxket-widget-root .mx-0{margin-inline:calc(var(--spacing)*0)}.voxket-widget-root .mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.voxket-widget-root .mx-3{margin-inline:calc(var(--spacing)*3)}.voxket-widget-root .mx-4{margin-inline:calc(var(--spacing)*4)}.voxket-widget-root .mx-8{margin-inline:calc(var(--spacing)*8)}.voxket-widget-root .mx-auto{margin-inline:auto}.voxket-widget-root .my-1{margin-block:calc(var(--spacing)*1)}.voxket-widget-root .my-2{margin-block:calc(var(--spacing)*2)}.voxket-widget-root .my-3{margin-block:calc(var(--spacing)*3)}.voxket-widget-root .my-4{margin-block:calc(var(--spacing)*4)}.voxket-widget-root .mt-1{margin-top:calc(var(--spacing)*1)}.voxket-widget-root .mt-2{margin-top:calc(var(--spacing)*2)}.voxket-widget-root .mt-3{margin-top:calc(var(--spacing)*3)}.voxket-widget-root .mt-4{margin-top:calc(var(--spacing)*4)}.voxket-widget-root .mt-6{margin-top:calc(var(--spacing)*6)}.voxket-widget-root .mt-8{margin-top:calc(var(--spacing)*8)}.voxket-widget-root .mt-auto{margin-top:auto}.voxket-widget-root .mr-1{margin-right:calc(var(--spacing)*1)}.voxket-widget-root .mr-2{margin-right:calc(var(--spacing)*2)}.voxket-widget-root .mr-3{margin-right:calc(var(--spacing)*3)}.voxket-widget-root .mb-1{margin-bottom:calc(var(--spacing)*1)}.voxket-widget-root .mb-2{margin-bottom:calc(var(--spacing)*2)}.voxket-widget-root .mb-3{margin-bottom:calc(var(--spacing)*3)}.voxket-widget-root .mb-4{margin-bottom:calc(var(--spacing)*4)}.voxket-widget-root .mb-6{margin-bottom:calc(var(--spacing)*6)}.voxket-widget-root .mb-8{margin-bottom:calc(var(--spacing)*8)}.voxket-widget-root .ml-1{margin-left:calc(var(--spacing)*1)}.voxket-widget-root .ml-2{margin-left:calc(var(--spacing)*2)}.voxket-widget-root .ml-auto{margin-left:auto}.voxket-widget-root .line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.voxket-widget-root .block{display:block}.voxket-widget-root .flex{display:flex}.voxket-widget-root .grid{display:grid}.voxket-widget-root .hidden{display:none}.voxket-widget-root .inline{display:inline}.voxket-widget-root .inline-block{display:inline-block}.voxket-widget-root .inline-flex{display:inline-flex}.voxket-widget-root .table{display:table}.voxket-widget-root .aspect-square{aspect-ratio:1}.voxket-widget-root .aspect-video{aspect-ratio:var(--aspect-video)}.voxket-widget-root .size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.voxket-widget-root .size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.voxket-widget-root .size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.voxket-widget-root .h-0{height:calc(var(--spacing)*0)}.voxket-widget-root .h-1{height:calc(var(--spacing)*1)}.voxket-widget-root .h-1\\.5{height:calc(var(--spacing)*1.5)}.voxket-widget-root .h-2{height:calc(var(--spacing)*2)}.voxket-widget-root .h-2\\.5{height:calc(var(--spacing)*2.5)}.voxket-widget-root .h-3{height:calc(var(--spacing)*3)}.voxket-widget-root .h-4{height:calc(var(--spacing)*4)}.voxket-widget-root .h-5{height:calc(var(--spacing)*5)}.voxket-widget-root .h-6{height:calc(var(--spacing)*6)}.voxket-widget-root .h-8{height:calc(var(--spacing)*8)}.voxket-widget-root .h-9{height:calc(var(--spacing)*9)}.voxket-widget-root .h-10{height:calc(var(--spacing)*10)}.voxket-widget-root .h-11{height:calc(var(--spacing)*11)}.voxket-widget-root .h-12{height:calc(var(--spacing)*12)}.voxket-widget-root .h-16{height:calc(var(--spacing)*16)}.voxket-widget-root .h-20{height:calc(var(--spacing)*20)}.voxket-widget-root .h-24{height:calc(var(--spacing)*24)}.voxket-widget-root .h-28{height:calc(var(--spacing)*28)}.voxket-widget-root .h-32{height:calc(var(--spacing)*32)}.voxket-widget-root .h-96{height:calc(var(--spacing)*96)}.voxket-widget-root .h-\\[25rem\\]{height:25rem}.voxket-widget-root .h-\\[30rem\\]{height:30rem}.voxket-widget-root .h-\\[56px\\]{height:56px}.voxket-widget-root .h-\\[60px\\]{height:60px}.voxket-widget-root .h-\\[70px\\]{height:70px}.voxket-widget-root .h-\\[90px\\]{height:90px}.voxket-widget-root .h-\\[calc\\(100vh-64px\\)\\]{height:calc(100vh - 64px)}.voxket-widget-root .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.voxket-widget-root .h-auto{height:auto}.voxket-widget-root .h-fit{height:-moz-fit-content;height:fit-content}.voxket-widget-root .h-full{height:100%}.voxket-widget-root .h-px{height:1px}.voxket-widget-root .h-screen{height:100vh}.voxket-widget-root .max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.voxket-widget-root .max-h-20{max-height:calc(var(--spacing)*20)}.voxket-widget-root .max-h-32{max-height:calc(var(--spacing)*32)}.voxket-widget-root .max-h-40{max-height:calc(var(--spacing)*40)}.voxket-widget-root .max-h-48{max-height:calc(var(--spacing)*48)}.voxket-widget-root .max-h-\\[80vh\\]{max-height:80vh}.voxket-widget-root .max-h-\\[85vh\\]{max-height:85vh}.voxket-widget-root .max-h-\\[95vh\\]{max-height:95vh}.voxket-widget-root .max-h-full{max-height:100%}.voxket-widget-root .min-h-0{min-height:calc(var(--spacing)*0)}.voxket-widget-root .min-h-2{min-height:calc(var(--spacing)*2)}.voxket-widget-root .min-h-4{min-height:calc(var(--spacing)*4)}.voxket-widget-root .min-h-\\[3rem\\]{min-height:3rem}.voxket-widget-root .min-h-\\[32px\\]{min-height:32px}.voxket-widget-root .min-h-\\[180px\\]{min-height:180px}.voxket-widget-root .min-h-\\[300px\\]{min-height:300px}.voxket-widget-root .min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.voxket-widget-root .min-h-screen{min-height:100vh}.voxket-widget-root .\\!w-full{width:100%!important}.voxket-widget-root .w-0\\.5{width:calc(var(--spacing)*.5)}.voxket-widget-root .w-1{width:calc(var(--spacing)*1)}.voxket-widget-root .w-1\\.5{width:calc(var(--spacing)*1.5)}.voxket-widget-root .w-2{width:calc(var(--spacing)*2)}.voxket-widget-root .w-2\\.5{width:calc(var(--spacing)*2.5)}.voxket-widget-root .w-3{width:calc(var(--spacing)*3)}.voxket-widget-root .w-4{width:calc(var(--spacing)*4)}.voxket-widget-root .w-5{width:calc(var(--spacing)*5)}.voxket-widget-root .w-6{width:calc(var(--spacing)*6)}.voxket-widget-root .w-8{width:calc(var(--spacing)*8)}.voxket-widget-root .w-10{width:calc(var(--spacing)*10)}.voxket-widget-root .w-12{width:calc(var(--spacing)*12)}.voxket-widget-root .w-16{width:calc(var(--spacing)*16)}.voxket-widget-root .w-20{width:calc(var(--spacing)*20)}.voxket-widget-root .w-24{width:calc(var(--spacing)*24)}.voxket-widget-root .w-28{width:calc(var(--spacing)*28)}.voxket-widget-root .w-32{width:calc(var(--spacing)*32)}.voxket-widget-root .w-40{width:calc(var(--spacing)*40)}.voxket-widget-root .w-80{width:calc(var(--spacing)*80)}.voxket-widget-root .w-96{width:calc(var(--spacing)*96)}.voxket-widget-root .w-\\[32rem\\]{width:32rem}.voxket-widget-root .w-\\[180px\\]{width:180px}.voxket-widget-root .w-auto{width:auto}.voxket-widget-root .w-fit{width:-moz-fit-content;width:fit-content}.voxket-widget-root .w-full{width:100%}.voxket-widget-root .w-screen{width:100vw}.voxket-widget-root .max-w-2xl{max-width:var(--container-2xl)}.voxket-widget-root .max-w-3xl{max-width:var(--container-3xl)}.voxket-widget-root .max-w-4xl{max-width:var(--container-4xl)}.voxket-widget-root .max-w-6xl{max-width:var(--container-6xl)}.voxket-widget-root .max-w-7xl{max-width:var(--container-7xl)}.voxket-widget-root .max-w-\\[85\\%\\]{max-width:85%}.voxket-widget-root .max-w-full{max-width:100%}.voxket-widget-root .max-w-lg{max-width:var(--container-lg)}.voxket-widget-root .max-w-md{max-width:var(--container-md)}.voxket-widget-root .max-w-none{max-width:none}.voxket-widget-root .max-w-sm{max-width:var(--container-sm)}.voxket-widget-root .max-w-xs{max-width:var(--container-xs)}.voxket-widget-root .min-w-0{min-width:calc(var(--spacing)*0)}.voxket-widget-root .min-w-8{min-width:calc(var(--spacing)*8)}.voxket-widget-root .min-w-9{min-width:calc(var(--spacing)*9)}.voxket-widget-root .min-w-10{min-width:calc(var(--spacing)*10)}.voxket-widget-root .min-w-\\[2\\.5rem\\]{min-width:2.5rem}.voxket-widget-root .min-w-\\[8rem\\]{min-width:8rem}.voxket-widget-root .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.voxket-widget-root .min-w-full{min-width:100%}.voxket-widget-root .flex-1{flex:1}.voxket-widget-root .flex-shrink-0,.voxket-widget-root .shrink-0{flex-shrink:0}.voxket-widget-root .border-collapse{border-collapse:collapse}.voxket-widget-root .origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.voxket-widget-root .origin-center{transform-origin:50%}.voxket-widget-root .translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .animate-bounce{animation:var(--animate-bounce)}.voxket-widget-root .animate-pulse{animation:var(--animate-pulse)}.voxket-widget-root .cursor-default{cursor:default}.voxket-widget-root .cursor-not-allowed{cursor:not-allowed}.voxket-widget-root .cursor-pointer{cursor:pointer}.voxket-widget-root .resize{resize:both}.voxket-widget-root .resize-none{resize:none}.voxket-widget-root .scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.voxket-widget-root .list-inside{list-style-position:inside}.voxket-widget-root .list-decimal{list-style-type:decimal}.voxket-widget-root .list-disc{list-style-type:disc}.voxket-widget-root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.voxket-widget-root .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.voxket-widget-root .grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.voxket-widget-root .grid-cols-\\[1fr_1fr\\]{grid-template-columns:1fr 1fr}.voxket-widget-root .grid-rows-\\[90px_1fr_90px\\]{grid-template-rows:90px 1fr 90px}.voxket-widget-root .flex-col{flex-direction:column}.voxket-widget-root .flex-row{flex-direction:row}.voxket-widget-root .flex-row-reverse{flex-direction:row-reverse}.voxket-widget-root .flex-wrap{flex-wrap:wrap}.voxket-widget-root .place-content-center{place-content:center}.voxket-widget-root .place-content-end{place-content:end}.voxket-widget-root .items-center{align-items:center}.voxket-widget-root .items-end{align-items:flex-end}.voxket-widget-root .items-start{align-items:flex-start}.voxket-widget-root .justify-between{justify-content:space-between}.voxket-widget-root .justify-center{justify-content:center}.voxket-widget-root .justify-end{justify-content:flex-end}.voxket-widget-root .justify-start{justify-content:flex-start}.voxket-widget-root .justify-items-start{justify-items:start}.voxket-widget-root .gap-1{gap:calc(var(--spacing)*1)}.voxket-widget-root .gap-1\\.5{gap:calc(var(--spacing)*1.5)}.voxket-widget-root .gap-2{gap:calc(var(--spacing)*2)}.voxket-widget-root .gap-3{gap:calc(var(--spacing)*3)}.voxket-widget-root .gap-4{gap:calc(var(--spacing)*4)}.voxket-widget-root .gap-6{gap:calc(var(--spacing)*6)}.voxket-widget-root .gap-8{gap:calc(var(--spacing)*8)}.voxket-widget-root :where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root .gap-x-0\\.5{-moz-column-gap:calc(var(--spacing)*.5);column-gap:calc(var(--spacing)*.5)}.voxket-widget-root .gap-x-2{-moz-column-gap:calc(var(--spacing)*2);column-gap:calc(var(--spacing)*2)}.voxket-widget-root :where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root .gap-y-0\\.5{row-gap:calc(var(--spacing)*.5)}.voxket-widget-root .gap-y-2{row-gap:calc(var(--spacing)*2)}.voxket-widget-root :where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.voxket-widget-root :where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.voxket-widget-root .self-center{align-self:center}.voxket-widget-root .justify-self-end{justify-self:flex-end}.voxket-widget-root .justify-self-start{justify-self:flex-start}.voxket-widget-root .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.voxket-widget-root .overflow-auto{overflow:auto}.voxket-widget-root .overflow-hidden{overflow:hidden}.voxket-widget-root .overflow-x-auto{overflow-x:auto}.voxket-widget-root .overflow-x-hidden{overflow-x:hidden}.voxket-widget-root .overflow-y-auto{overflow-y:auto}.voxket-widget-root .rounded{border-radius:.25rem}.voxket-widget-root .rounded-2xl{border-radius:var(--radius-2xl)}.voxket-widget-root .rounded-3xl{border-radius:var(--radius-3xl)}.voxket-widget-root .rounded-full{border-radius:3.40282e38px}.voxket-widget-root .rounded-lg{border-radius:var(--radius-lg)}.voxket-widget-root .rounded-md{border-radius:var(--radius-md)}.voxket-widget-root .rounded-none{border-radius:0}.voxket-widget-root .rounded-sm{border-radius:var(--radius-sm)}.voxket-widget-root .rounded-xl{border-radius:var(--radius-xl)}.voxket-widget-root .rounded-t-4xl{border-top-left-radius:var(--radius-4xl);border-top-right-radius:var(--radius-4xl)}.voxket-widget-root .rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.voxket-widget-root .rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.voxket-widget-root .rounded-tl-xl{border-top-left-radius:var(--radius-xl)}.voxket-widget-root .rounded-tr-xl{border-top-right-radius:var(--radius-xl)}.voxket-widget-root .rounded-br-md{border-bottom-right-radius:var(--radius-md)}.voxket-widget-root .rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.voxket-widget-root .border{border-style:var(--tw-border-style);border-width:1px}.voxket-widget-root .border-0{border-style:var(--tw-border-style);border-width:0}.voxket-widget-root .border-2{border-style:var(--tw-border-style);border-width:2px}.voxket-widget-root .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.voxket-widget-root .border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.voxket-widget-root .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.voxket-widget-root .border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.voxket-widget-root .border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.voxket-widget-root .\\!border-none{--tw-border-style:none!important;border-style:none!important}.voxket-widget-root .border-none{--tw-border-style:none;border-style:none}.voxket-widget-root .border-\\[\\#3B82F6\\]\\/40{border-color:#3b82f666}.voxket-widget-root .border-\\[\\#8B5CF6\\]\\/30{border-color:#8b5cf64d}.voxket-widget-root .border-\\[\\#813aa7\\]\\/30{border-color:#813aa74d}.voxket-widget-root .border-\\[\\#5078F2\\]\\/30{border-color:#5078f24d}.voxket-widget-root .border-\\[\\#23233a\\]{border-color:#23233a}.voxket-widget-root .border-\\[\\#232336\\]{border-color:#232336}.voxket-widget-root .border-\\[\\#EC4899\\]\\/20{border-color:#ec489933}.voxket-widget-root .border-amber-200{border-color:var(--color-amber-200)}.voxket-widget-root .border-blue-100{border-color:var(--color-blue-100)}.voxket-widget-root .border-blue-200{border-color:var(--color-blue-200)}.voxket-widget-root .border-blue-400{border-color:var(--color-blue-400)}.voxket-widget-root .border-blue-500{border-color:var(--color-blue-500)}.voxket-widget-root .border-blue-500\\/20{border-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-blue-500\\/20{border-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.voxket-widget-root .border-blue-600{border-color:var(--color-blue-600)}.voxket-widget-root .border-current{border-color:currentColor}.voxket-widget-root .border-gray-100\\/80{border-color:#f3f4f6cc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-100\\/80{border-color:color-mix(in oklab,var(--color-gray-100)80%,transparent)}}.voxket-widget-root .border-gray-200{border-color:var(--color-gray-200)}.voxket-widget-root .border-gray-200\\/50{border-color:#e5e7eb80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-200\\/50{border-color:color-mix(in oklab,var(--color-gray-200)50%,transparent)}}.voxket-widget-root .border-gray-200\\/60{border-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-200\\/60{border-color:color-mix(in oklab,var(--color-gray-200)60%,transparent)}}.voxket-widget-root .border-gray-300{border-color:var(--color-gray-300)}.voxket-widget-root .border-gray-400\\/15{border-color:#99a1af26}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-400\\/15{border-color:color-mix(in oklab,var(--color-gray-400)15%,transparent)}}.voxket-widget-root .border-gray-500\\/20{border-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-500\\/20{border-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.voxket-widget-root .border-gray-600{border-color:var(--color-gray-600)}.voxket-widget-root .border-gray-600\\/30{border-color:#4a55654d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-600\\/30{border-color:color-mix(in oklab,var(--color-gray-600)30%,transparent)}}.voxket-widget-root .border-gray-700{border-color:var(--color-gray-700)}.voxket-widget-root .border-gray-800{border-color:var(--color-gray-800)}.voxket-widget-root .border-gray-900{border-color:var(--color-gray-900)}.voxket-widget-root .border-green-200{border-color:var(--color-green-200)}.voxket-widget-root .border-green-800{border-color:var(--color-green-800)}.voxket-widget-root .border-orange-400{border-color:var(--color-orange-400)}.voxket-widget-root .border-orange-500{border-color:var(--color-orange-500)}.voxket-widget-root .border-pink-500\\/10{border-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-pink-500\\/10{border-color:color-mix(in oklab,var(--color-pink-500)10%,transparent)}}.voxket-widget-root .border-purple-500\\/15{border-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-purple-500\\/15{border-color:color-mix(in oklab,var(--color-purple-500)15%,transparent)}}.voxket-widget-root .border-red-200{border-color:var(--color-red-200)}.voxket-widget-root .border-red-800{border-color:var(--color-red-800)}.voxket-widget-root .border-transparent{border-color:#0000}.voxket-widget-root .border-white{border-color:var(--color-white)}.voxket-widget-root .border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.voxket-widget-root .border-t-transparent{border-top-color:#0000}.voxket-widget-root .bg-\\[\\#1E1E2E\\]{background-color:#1e1e2e}.voxket-widget-root .bg-\\[\\#1E1E2E\\]\\/80{background-color:#1e1e2ecc}.voxket-widget-root .bg-\\[\\#1E1E2E\\]\\/90{background-color:#1e1e2ee6}.voxket-widget-root .bg-\\[\\#3B82F6\\]{background-color:#3b82f6}.voxket-widget-root .bg-\\[\\#5c64f6\\]{background-color:#5c64f6}.voxket-widget-root .bg-\\[\\#10B981\\]{background-color:#10b981}.voxket-widget-root .bg-\\[\\#221f3f\\]{background-color:#221f3f}.voxket-widget-root .bg-\\[\\#813aa7\\]{background-color:#813aa7}.voxket-widget-root .bg-\\[\\#5078F2\\]{background-color:#5078f2}.voxket-widget-root .bg-\\[\\#6721a4\\]{background-color:#6721a4}.voxket-widget-root .bg-\\[\\#18182a\\]\\/80{background-color:#18182acc}.voxket-widget-root .bg-\\[\\#18182a\\]\\/90{background-color:#18182ae6}.voxket-widget-root .bg-amber-500{background-color:var(--color-amber-500)}.voxket-widget-root .bg-black{background-color:var(--color-black)}.voxket-widget-root .bg-black\\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/0{background-color:color-mix(in oklab,var(--color-black)0%,transparent)}}.voxket-widget-root .bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.voxket-widget-root .bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.voxket-widget-root .bg-black\\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.voxket-widget-root .bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.voxket-widget-root .bg-blue-50{background-color:var(--color-blue-50)}.voxket-widget-root .bg-blue-100{background-color:var(--color-blue-100)}.voxket-widget-root .bg-blue-200{background-color:var(--color-blue-200)}.voxket-widget-root .bg-blue-400{background-color:var(--color-blue-400)}.voxket-widget-root .bg-blue-500{background-color:var(--color-blue-500)}.voxket-widget-root .bg-blue-600{background-color:var(--color-blue-600)}.voxket-widget-root .bg-blue-900\\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-blue-900\\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.voxket-widget-root .bg-blue-900\\/50{background-color:#1c398e80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-blue-900\\/50{background-color:color-mix(in oklab,var(--color-blue-900)50%,transparent)}}.voxket-widget-root .bg-current{background-color:currentColor}.voxket-widget-root .bg-emerald-400{background-color:var(--color-emerald-400)}.voxket-widget-root .bg-gray-50{background-color:var(--color-gray-50)}.voxket-widget-root .bg-gray-50\\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-50\\/50{background-color:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.voxket-widget-root .bg-gray-100{background-color:var(--color-gray-100)}.voxket-widget-root .bg-gray-200{background-color:var(--color-gray-200)}.voxket-widget-root .bg-gray-300{background-color:var(--color-gray-300)}.voxket-widget-root .bg-gray-400{background-color:var(--color-gray-400)}.voxket-widget-root .bg-gray-500{background-color:var(--color-gray-500)}.voxket-widget-root .bg-gray-600{background-color:var(--color-gray-600)}.voxket-widget-root .bg-gray-600\\/50{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-600\\/50{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.voxket-widget-root .bg-gray-700{background-color:var(--color-gray-700)}.voxket-widget-root .bg-gray-700\\/60{background-color:#36415399}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-700\\/60{background-color:color-mix(in oklab,var(--color-gray-700)60%,transparent)}}.voxket-widget-root .bg-gray-800{background-color:var(--color-gray-800)}.voxket-widget-root .bg-gray-800\\/30{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-800\\/30{background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}}.voxket-widget-root .bg-gray-800\\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-800\\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.voxket-widget-root .bg-gray-800\\/90{background-color:#1e2939e6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-800\\/90{background-color:color-mix(in oklab,var(--color-gray-800)90%,transparent)}}.voxket-widget-root .bg-gray-900{background-color:var(--color-gray-900)}.voxket-widget-root .bg-gray-900\\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.voxket-widget-root .bg-gray-900\\/80{background-color:#101828cc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/80{background-color:color-mix(in oklab,var(--color-gray-900)80%,transparent)}}.voxket-widget-root .bg-gray-900\\/90{background-color:#101828e6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/90{background-color:color-mix(in oklab,var(--color-gray-900)90%,transparent)}}.voxket-widget-root .bg-gray-900\\/95{background-color:#101828f2}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/95{background-color:color-mix(in oklab,var(--color-gray-900)95%,transparent)}}.voxket-widget-root .bg-green-50{background-color:var(--color-green-50)}.voxket-widget-root .bg-green-400{background-color:var(--color-green-400)}.voxket-widget-root .bg-green-500{background-color:var(--color-green-500)}.voxket-widget-root .bg-green-600{background-color:var(--color-green-600)}.voxket-widget-root .bg-green-900\\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-green-900\\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.voxket-widget-root .bg-indigo-600{background-color:var(--color-indigo-600)}.voxket-widget-root .bg-orange-50{background-color:var(--color-orange-50)}.voxket-widget-root .bg-orange-900\\/20{background-color:#7e2a0c33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-orange-900\\/20{background-color:color-mix(in oklab,var(--color-orange-900)20%,transparent)}}.voxket-widget-root .bg-purple-500{background-color:var(--color-purple-500)}.voxket-widget-root .bg-purple-600{background-color:var(--color-purple-600)}.voxket-widget-root .bg-red-50{background-color:var(--color-red-50)}.voxket-widget-root .bg-red-100\\/50{background-color:#ffe2e280}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-red-100\\/50{background-color:color-mix(in oklab,var(--color-red-100)50%,transparent)}}.voxket-widget-root .bg-red-500{background-color:var(--color-red-500)}.voxket-widget-root .bg-red-600{background-color:var(--color-red-600)}.voxket-widget-root .bg-red-600\\/80{background-color:#e40014cc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-red-600\\/80{background-color:color-mix(in oklab,var(--color-red-600)80%,transparent)}}.voxket-widget-root .bg-red-900\\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-red-900\\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.voxket-widget-root .bg-transparent{background-color:#0000}.voxket-widget-root .bg-white{background-color:var(--color-white)}.voxket-widget-root .bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.voxket-widget-root .bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.voxket-widget-root .bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.voxket-widget-root .bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.voxket-widget-root .bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.voxket-widget-root .bg-yellow-500{background-color:var(--color-yellow-500)}.voxket-widget-root .bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-\\[radial-gradient\\(ellipse_at_center\\, .voxket-widget-root _var\\(--tw-gradient-stops\\)\\)\\]{background-image:radial-gradient(ellipse at center,var(--tw-gradient-stops))}.voxket-widget-root .from-\\[\\#3B82F6\\]{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#3B82F6\\]\\/15{--tw-gradient-from:oklab(62.3083% -.0332476 -.185052/.15);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#8B5CF6\\]{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#8B5CF6\\]\\/25{--tw-gradient-from:oklab(60.5631% .0845415 -.201932/.25);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#10B981\\]{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#6721a4\\]{--tw-gradient-from:#6721a4;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#171727\\]{--tw-gradient-from:#171727;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#171727\\]\\/90{--tw-gradient-from:oklab(21.3014% .00727232 -.0304822/.9);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#181825\\]{--tw-gradient-from:#181825;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#EC4899\\]{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#EC4899\\]\\/20{--tw-gradient-from:oklab(65.592% .210729 -.0210022/.2);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-amber-500{--tw-gradient-from:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-black\\/90{--tw-gradient-from:#000000e6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-black\\/90{--tw-gradient-from:color-mix(in oklab,var(--color-black)90%,transparent)}}.voxket-widget-root .from-black\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-blue-500\\/5{--tw-gradient-from:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-blue-500\\/5{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.voxket-widget-root .from-blue-500\\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-50\\/50{--tw-gradient-from:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-50\\/50{--tw-gradient-from:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.voxket-widget-root .from-gray-50\\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-500{--tw-gradient-from:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-500\\/8{--tw-gradient-from:#6a728214}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-500\\/8{--tw-gradient-from:color-mix(in oklab,var(--color-gray-500)8%,transparent)}}.voxket-widget-root .from-gray-500\\/8{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-600{--tw-gradient-from:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-600\\/10{--tw-gradient-from:#4a55651a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-600\\/10{--tw-gradient-from:color-mix(in oklab,var(--color-gray-600)10%,transparent)}}.voxket-widget-root .from-gray-600\\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-800{--tw-gradient-from:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-800\\/20{--tw-gradient-from:#1e293933}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-800\\/20{--tw-gradient-from:color-mix(in oklab,var(--color-gray-800)20%,transparent)}}.voxket-widget-root .from-gray-800\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-pink-500\\/8{--tw-gradient-from:#f6339a14}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-pink-500\\/8{--tw-gradient-from:color-mix(in oklab,var(--color-pink-500)8%,transparent)}}.voxket-widget-root .from-pink-500\\/8{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-purple-500\\/10{--tw-gradient-from:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-purple-500\\/10{--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.voxket-widget-root .from-purple-500\\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-red-50{--tw-gradient-from:var(--color-red-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-white\\/90{--tw-gradient-from:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-white\\/90{--tw-gradient-from:color-mix(in oklab,var(--color-white)90%,transparent)}}.voxket-widget-root .from-white\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .via-\\[\\#8B5CF6\\]{--tw-gradient-via:#8b5cf6;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-blue-900{--tw-gradient-via:var(--color-blue-900);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-gray-50\\/30{--tw-gradient-via:#f9fafb4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .via-gray-50\\/30{--tw-gradient-via:color-mix(in oklab,var(--color-gray-50)30%,transparent)}}.voxket-widget-root .via-gray-50\\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-gray-200{--tw-gradient-via:var(--color-gray-200);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-gray-800{--tw-gradient-via:var(--color-gray-800);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-purple-600{--tw-gradient-via:var(--color-purple-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-white\\/5{--tw-gradient-via:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .via-white\\/5{--tw-gradient-via:color-mix(in oklab,var(--color-white)5%,transparent)}}.voxket-widget-root .via-white\\/5{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .to-\\[\\#5c64f6\\]{--tw-gradient-to:#5c64f6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#8B5CF6\\]{--tw-gradient-to:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#12121F\\]{--tw-gradient-to:#12121f;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#059669\\]{--tw-gradient-to:#059669;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#232336\\]{--tw-gradient-to:#232336;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#EC4899\\]{--tw-gradient-to:#ec4899;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-amber-100{--tw-gradient-to:var(--color-amber-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-amber-600{--tw-gradient-to:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-blue-50\\/30{--tw-gradient-to:#eff6ff4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .to-blue-50\\/30{--tw-gradient-to:color-mix(in oklab,var(--color-blue-50)30%,transparent)}}.voxket-widget-root .to-blue-50\\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-50{--tw-gradient-to:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-300{--tw-gradient-to:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-600{--tw-gradient-to:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-700{--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-900{--tw-gradient-to:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-pink-600{--tw-gradient-to:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-red-100{--tw-gradient-to:var(--color-red-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-slate-900{--tw-gradient-to:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .bg-clip-text{-webkit-background-clip:text;background-clip:text}.voxket-widget-root .object-contain{-o-object-fit:contain;object-fit:contain}.voxket-widget-root .object-cover{-o-object-fit:cover;object-fit:cover}.voxket-widget-root .p-0{padding:calc(var(--spacing)*0)}.voxket-widget-root .p-1{padding:calc(var(--spacing)*1)}.voxket-widget-root .p-2{padding:calc(var(--spacing)*2)}.voxket-widget-root .p-3{padding:calc(var(--spacing)*3)}.voxket-widget-root .p-4{padding:calc(var(--spacing)*4)}.voxket-widget-root .p-6{padding:calc(var(--spacing)*6)}.voxket-widget-root .p-8{padding:calc(var(--spacing)*8)}.voxket-widget-root .px-0{padding-inline:calc(var(--spacing)*0)}.voxket-widget-root .px-1{padding-inline:calc(var(--spacing)*1)}.voxket-widget-root .px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.voxket-widget-root .px-2{padding-inline:calc(var(--spacing)*2)}.voxket-widget-root .px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.voxket-widget-root .px-3{padding-inline:calc(var(--spacing)*3)}.voxket-widget-root .px-4{padding-inline:calc(var(--spacing)*4)}.voxket-widget-root .px-5{padding-inline:calc(var(--spacing)*5)}.voxket-widget-root .px-6{padding-inline:calc(var(--spacing)*6)}.voxket-widget-root .px-8{padding-inline:calc(var(--spacing)*8)}.voxket-widget-root .px-10{padding-inline:calc(var(--spacing)*10)}.voxket-widget-root .py-0\\.5{padding-block:calc(var(--spacing)*.5)}.voxket-widget-root .py-1{padding-block:calc(var(--spacing)*1)}.voxket-widget-root .py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.voxket-widget-root .py-2{padding-block:calc(var(--spacing)*2)}.voxket-widget-root .py-3{padding-block:calc(var(--spacing)*3)}.voxket-widget-root .py-4{padding-block:calc(var(--spacing)*4)}.voxket-widget-root .py-6{padding-block:calc(var(--spacing)*6)}.voxket-widget-root .py-8{padding-block:calc(var(--spacing)*8)}.voxket-widget-root .py-12{padding-block:calc(var(--spacing)*12)}.voxket-widget-root .pt-2{padding-top:calc(var(--spacing)*2)}.voxket-widget-root .pt-6{padding-top:calc(var(--spacing)*6)}.voxket-widget-root .pr-8{padding-right:calc(var(--spacing)*8)}.voxket-widget-root .pb-1{padding-bottom:calc(var(--spacing)*1)}.voxket-widget-root .pb-2{padding-bottom:calc(var(--spacing)*2)}.voxket-widget-root .pl-1{padding-left:calc(var(--spacing)*1)}.voxket-widget-root .pl-2{padding-left:calc(var(--spacing)*2)}.voxket-widget-root .pl-4{padding-left:calc(var(--spacing)*4)}.voxket-widget-root .pl-5{padding-left:calc(var(--spacing)*5)}.voxket-widget-root .text-center{text-align:center}.voxket-widget-root .text-end{text-align:end}.voxket-widget-root .text-left{text-align:left}.voxket-widget-root .text-right{text-align:right}.voxket-widget-root .font-mono{font-family:var(--font-mono)}.voxket-widget-root .text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.voxket-widget-root .text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.voxket-widget-root .text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.voxket-widget-root .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.voxket-widget-root .text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.voxket-widget-root .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.voxket-widget-root .text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.voxket-widget-root .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.voxket-widget-root .text-\\[0\\.85em\\]{font-size:.85em}.voxket-widget-root .leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.voxket-widget-root .leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.voxket-widget-root .leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.voxket-widget-root .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.voxket-widget-root .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.voxket-widget-root .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.voxket-widget-root .tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.voxket-widget-root .tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.voxket-widget-root .tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.voxket-widget-root .break-words{overflow-wrap:break-word}.voxket-widget-root .whitespace-nowrap{white-space:nowrap}.voxket-widget-root .whitespace-pre-line{white-space:pre-line}.voxket-widget-root .whitespace-pre-wrap{white-space:pre-wrap}.voxket-widget-root .text-amber-700{color:var(--color-amber-700)}.voxket-widget-root .text-amber-800{color:var(--color-amber-800)}.voxket-widget-root .text-black{color:var(--color-black)}.voxket-widget-root .text-blue-200{color:var(--color-blue-200)}.voxket-widget-root .text-blue-300{color:var(--color-blue-300)}.voxket-widget-root .text-blue-400{color:var(--color-blue-400)}.voxket-widget-root .text-blue-500{color:var(--color-blue-500)}.voxket-widget-root .text-blue-600{color:var(--color-blue-600)}.voxket-widget-root .text-blue-700{color:var(--color-blue-700)}.voxket-widget-root .text-blue-800{color:var(--color-blue-800)}.voxket-widget-root .text-gray-100{color:var(--color-gray-100)}.voxket-widget-root .text-gray-200{color:var(--color-gray-200)}.voxket-widget-root .text-gray-300{color:var(--color-gray-300)}.voxket-widget-root .text-gray-400{color:var(--color-gray-400)}.voxket-widget-root .text-gray-500{color:var(--color-gray-500)}.voxket-widget-root .text-gray-600{color:var(--color-gray-600)}.voxket-widget-root .text-gray-700{color:var(--color-gray-700)}.voxket-widget-root .text-gray-800{color:var(--color-gray-800)}.voxket-widget-root .text-gray-900{color:var(--color-gray-900)}.voxket-widget-root .text-green-400{color:var(--color-green-400)}.voxket-widget-root .text-green-700{color:var(--color-green-700)}.voxket-widget-root .text-inherit{color:inherit}.voxket-widget-root .text-orange-300{color:var(--color-orange-300)}.voxket-widget-root .text-orange-500{color:var(--color-orange-500)}.voxket-widget-root .text-orange-600{color:var(--color-orange-600)}.voxket-widget-root .text-orange-800{color:var(--color-orange-800)}.voxket-widget-root .text-red-400{color:var(--color-red-400)}.voxket-widget-root .text-red-500{color:var(--color-red-500)}.voxket-widget-root .text-red-600{color:var(--color-red-600)}.voxket-widget-root .text-red-700{color:var(--color-red-700)}.voxket-widget-root .text-transparent{color:#0000}.voxket-widget-root .text-white{color:var(--color-white)}.voxket-widget-root .text-yellow-400{color:var(--color-yellow-400)}.voxket-widget-root .text-yellow-500{color:var(--color-yellow-500)}.voxket-widget-root .uppercase{text-transform:uppercase}.voxket-widget-root .italic{font-style:italic}.voxket-widget-root .underline{text-decoration-line:underline}.voxket-widget-root .underline-offset-4{text-underline-offset:4px}.voxket-widget-root .placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.voxket-widget-root .placeholder-gray-400::placeholder{color:var(--color-gray-400)}.voxket-widget-root .placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.voxket-widget-root .placeholder-gray-500::placeholder{color:var(--color-gray-500)}.voxket-widget-root .opacity-0{opacity:0}.voxket-widget-root .opacity-15{opacity:.15}.voxket-widget-root .opacity-20{opacity:.2}.voxket-widget-root .opacity-30{opacity:.3}.voxket-widget-root .opacity-40{opacity:.4}.voxket-widget-root .opacity-50{opacity:.5}.voxket-widget-root .opacity-60{opacity:.6}.voxket-widget-root .opacity-70{opacity:.7}.voxket-widget-root .opacity-75{opacity:.75}.voxket-widget-root .opacity-80{opacity:.8}.voxket-widget-root .opacity-90{opacity:.9}.voxket-widget-root .opacity-100{opacity:1}.voxket-widget-root .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .\\!ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.voxket-widget-root .shadow-black\\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .shadow-black\\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)40%,transparent)var(--tw-shadow-alpha),transparent)}}.voxket-widget-root .shadow-emerald-400\\/50{--tw-shadow-color:#00d29480}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .shadow-emerald-400\\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-emerald-400)50%,transparent)var(--tw-shadow-alpha),transparent)}}.voxket-widget-root .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.voxket-widget-root .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.voxket-widget-root .outline{outline-style:var(--tw-outline-style);outline-width:1px}.voxket-widget-root .blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .blur-sm{--tw-blur:blur(var(--blur-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .\\!filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.voxket-widget-root .filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-\\[color\\, .voxket-widget-root border\\, .voxket-widget-root background-color\\]{transition-property:color,border,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-\\[opacity\\, .voxket-widget-root translate\\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .delay-200{transition-delay:.2s}.voxket-widget-root .duration-150{--tw-duration:.15s;transition-duration:.15s}.voxket-widget-root .duration-200{--tw-duration:.2s;transition-duration:.2s}.voxket-widget-root .duration-250{--tw-duration:.25s;transition-duration:.25s}.voxket-widget-root .duration-300{--tw-duration:.3s;transition-duration:.3s}.voxket-widget-root .duration-700{--tw-duration:.7s;transition-duration:.7s}.voxket-widget-root .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.voxket-widget-root .ease-linear{--tw-ease:linear;transition-timing-function:linear}.voxket-widget-root .ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.voxket-widget-root .contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.voxket-widget-root .\\!outline-none{--tw-outline-style:none!important;outline-style:none!important}.voxket-widget-root .outline-none{--tw-outline-style:none;outline-style:none}.voxket-widget-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover:hover){.voxket-widget-root .group-hover\\:scale-\\[1\\.02\\]:is(:where(.group):hover *){scale:1.02}.voxket-widget-root .group-hover\\:text-gray-800:is(:where(.group):hover *){color:var(--color-gray-800)}.voxket-widget-root .group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.voxket-widget-root .group-data-\\[state\\=off\\]\\/track\\:bg-white:is(:where(.group\\/track)[data-state=off] *),.voxket-widget-root .group-data-\\[state\\=on\\]\\/track\\:bg-white:is(:where(.group\\/track)[data-state=on] *){background-color:var(--color-white)}.voxket-widget-root .focus-within\\:border-blue-500\\/50:focus-within{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .focus-within\\:border-blue-500\\/50:focus-within{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.voxket-widget-root .focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus-within\\:ring-blue-500\\/30:focus-within{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .focus-within\\:ring-blue-500\\/30:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}@media (hover:hover){.voxket-widget-root .hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.voxket-widget-root .hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.voxket-widget-root .hover\\:bg-\\[\\#2563EB\\]:hover{background-color:#2563eb}.voxket-widget-root .hover\\:bg-black\\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-black\\/10:hover{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.voxket-widget-root .hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.voxket-widget-root .hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.voxket-widget-root .hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.voxket-widget-root .hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.voxket-widget-root .hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.voxket-widget-root .hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.voxket-widget-root .hover\\:bg-gray-300:hover{background-color:var(--color-gray-300)}.voxket-widget-root .hover\\:bg-gray-600:hover{background-color:var(--color-gray-600)}.voxket-widget-root .hover\\:bg-gray-600\\/60:hover{background-color:#4a556599}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-gray-600\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-600)60%,transparent)}}.voxket-widget-root .hover\\:bg-gray-700:hover{background-color:var(--color-gray-700)}.voxket-widget-root .hover\\:bg-gray-700\\/50:hover{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-gray-700\\/50:hover{background-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.voxket-widget-root .hover\\:bg-gray-800:hover{background-color:var(--color-gray-800)}.voxket-widget-root .hover\\:bg-green-600:hover{background-color:var(--color-green-600)}.voxket-widget-root .hover\\:bg-green-700:hover{background-color:var(--color-green-700)}.voxket-widget-root .hover\\:bg-purple-600:hover{background-color:var(--color-purple-600)}.voxket-widget-root .hover\\:bg-red-100:hover{background-color:var(--color-red-100)}.voxket-widget-root .hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.voxket-widget-root .hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.voxket-widget-root .hover\\:bg-red-800\\/30:hover{background-color:#9f07124d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-red-800\\/30:hover{background-color:color-mix(in oklab,var(--color-red-800)30%,transparent)}}.voxket-widget-root .hover\\:bg-white:hover{background-color:var(--color-white)}.voxket-widget-root .hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.voxket-widget-root .hover\\:bg-gradient-to-r:hover{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .hover\\:from-\\[\\#2563EB\\]:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:from-gray-50:hover{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:to-\\[\\#7C3AED\\]:hover{--tw-gradient-to:#7c3aed;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:to-blue-50:hover{--tw-gradient-to:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:to-purple-700:hover{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:text-blue-300:hover{color:var(--color-blue-300)}.voxket-widget-root .hover\\:text-blue-800:hover{color:var(--color-blue-800)}.voxket-widget-root .hover\\:text-blue-900:hover{color:var(--color-blue-900)}.voxket-widget-root .hover\\:text-gray-200:hover{color:var(--color-gray-200)}.voxket-widget-root .hover\\:text-gray-300:hover{color:var(--color-gray-300)}.voxket-widget-root .hover\\:text-gray-700:hover{color:var(--color-gray-700)}.voxket-widget-root .hover\\:text-gray-800:hover{color:var(--color-gray-800)}.voxket-widget-root .hover\\:text-white:hover{color:var(--color-white)}.voxket-widget-root .hover\\:underline:hover{text-decoration-line:underline}.voxket-widget-root .hover\\:opacity-80:hover{opacity:.8}.voxket-widget-root .hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.voxket-widget-root .focus\\:border-blue-500:focus{border-color:var(--color-blue-500)}.voxket-widget-root .focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus\\:ring-blue-400\\/40:focus{--tw-ring-color:#54a2ff66}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .focus\\:ring-blue-400\\/40:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-400)40%,transparent)}}.voxket-widget-root .focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.voxket-widget-root .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.voxket-widget-root .focus\\:ring-offset-gray-900:focus{--tw-ring-offset-color:var(--color-gray-900)}.voxket-widget-root .focus\\:ring-offset-white:focus{--tw-ring-offset-color:var(--color-white)}.voxket-widget-root .focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.voxket-widget-root .focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .disabled\\:pointer-events-none:disabled{pointer-events:none}.voxket-widget-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.voxket-widget-root .disabled\\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.voxket-widget-root .disabled\\:bg-gray-600:disabled{background-color:var(--color-gray-600)}.voxket-widget-root .disabled\\:opacity-50:disabled{opacity:.5}.voxket-widget-root .disabled\\:opacity-70:disabled{opacity:.7}.voxket-widget-root .has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.voxket-widget-root .has-\\[\\>svg\\]\\:gap-x-3:has(>svg){-moz-column-gap:calc(var(--spacing)*3);column-gap:calc(var(--spacing)*3)}.voxket-widget-root .has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.voxket-widget-root .has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.voxket-widget-root .has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.voxket-widget-root .aria-invalid\\:border-0[aria-invalid=true]{border-style:var(--tw-border-style);border-width:0}.voxket-widget-root .aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.voxket-widget-root .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.voxket-widget-root .data-\\[lk-highlighted\\=true\\]\\:bg-\\[\\#5c64f6\\][data-lk-highlighted=true]{background-color:#5c64f6}.voxket-widget-root .data-\\[lk-muted\\=true\\]\\:bg-\\[\\#222222\\][data-lk-muted=true]{background-color:#222}.voxket-widget-root .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[size\\=default\\]\\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.voxket-widget-root .data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}@media (min-width:40rem){.voxket-widget-root .sm\\:left-0{left:calc(var(--spacing)*0)}.voxket-widget-root .sm\\:h-24{height:calc(var(--spacing)*24)}.voxket-widget-root .sm\\:w-36{width:calc(var(--spacing)*36)}.voxket-widget-root .sm\\:max-w-sm{max-width:var(--container-sm)}}@media (min-width:48rem){.voxket-widget-root .md\\:px-0{padding-inline:calc(var(--spacing)*0)}}@media (min-width:64rem){.voxket-widget-root .lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.voxket-widget-root .dark\\:border-gray-600{border-color:var(--color-gray-600)}.voxket-widget-root .dark\\:border-gray-700{border-color:var(--color-gray-700)}.voxket-widget-root .dark\\:bg-gray-900{background-color:var(--color-gray-900)}.voxket-widget-root .dark\\:bg-red-900\\/10{background-color:#82181a1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .dark\\:bg-red-900\\/10{background-color:color-mix(in oklab,var(--color-red-900)10%,transparent)}}.voxket-widget-root .dark\\:bg-white{background-color:var(--color-white)}.voxket-widget-root .dark\\:text-blue-400{color:var(--color-blue-400)}.voxket-widget-root .dark\\:text-orange-400{color:var(--color-orange-400)}.voxket-widget-root .dark\\:text-red-400{color:var(--color-red-400)}.voxket-widget-root .dark\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.voxket-widget-root .\\[\\&_p\\]\\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.voxket-widget-root .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.voxket-widget-root .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.voxket-widget-root .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.voxket-widget-root :is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}.voxket-widget-root :is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}.voxket-widget-root :is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.voxket-widget-root .\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.voxket-widget-root .\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}.voxket-widget-root .\\[\\&\\>video\\]\\:h-\\[90px\\]>video{height:90px}.voxket-widget-root .\\[\\&\\>video\\]\\:w-auto>video{width:auto}@layer theme{:root,.voxket-widget-root :host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,.voxket-widget-root :after,.voxket-widget-root :before,.voxket-widget-root ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.voxket-widget-root ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,.voxket-widget-root :host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.voxket-widget-root hr{height:0;color:inherit;border-top-width:1px}.voxket-widget-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.voxket-widget-root h1,.voxket-widget-root h2,.voxket-widget-root h3,.voxket-widget-root h4,.voxket-widget-root h5,.voxket-widget-root h6{font-size:inherit;font-weight:inherit}.voxket-widget-root a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.voxket-widget-root b,.voxket-widget-root strong{font-weight:bolder}.voxket-widget-root code,.voxket-widget-root kbd,.voxket-widget-root samp,.voxket-widget-root pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}.voxket-widget-root small{font-size:80%}.voxket-widget-root sub,.voxket-widget-root sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.voxket-widget-root sub{bottom:-.25em}.voxket-widget-root sup{top:-.5em}.voxket-widget-root table{text-indent:0;border-color:inherit;border-collapse:collapse}.voxket-widget-root :-moz-focusring{outline:auto}.voxket-widget-root progress{vertical-align:baseline}.voxket-widget-root summary{display:list-item}.voxket-widget-root ol,.voxket-widget-root ul,.voxket-widget-root menu{list-style:none}.voxket-widget-root img,.voxket-widget-root svg,.voxket-widget-root video,.voxket-widget-root canvas,.voxket-widget-root audio,.voxket-widget-root iframe,.voxket-widget-root embed,.voxket-widget-root object{vertical-align:middle;display:block}.voxket-widget-root img,.voxket-widget-root video{max-width:100%;height:auto}.voxket-widget-root button,.voxket-widget-root input,.voxket-widget-root select,.voxket-widget-root optgroup,.voxket-widget-root textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.voxket-widget-root ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.voxket-widget-root :where(select:is([multiple],.voxket-widget-root [size])) optgroup{font-weight:bolder}.voxket-widget-root :where(select:is([multiple],.voxket-widget-root [size])) optgroup option{padding-inline-start:20px}.voxket-widget-root ::file-selector-button{margin-inline-end:4px}.voxket-widget-root ::-moz-placeholder{opacity:1}.voxket-widget-root ::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){.voxket-widget-root ::-moz-placeholder{color:currentColor}.voxket-widget-root ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root ::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}.voxket-widget-root ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}.voxket-widget-root textarea{resize:vertical}.voxket-widget-root ::-webkit-search-decoration{-webkit-appearance:none}.voxket-widget-root ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.voxket-widget-root ::-webkit-datetime-edit{display:inline-flex}.voxket-widget-root ::-webkit-datetime-edit-fields-wrapper{padding:0}.voxket-widget-root ::-webkit-datetime-edit{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-year-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-month-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-day-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-hour-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-minute-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-second-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-millisecond-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-meridiem-field{padding-block:0}.voxket-widget-root :-moz-ui-invalid{box-shadow:none}.voxket-widget-root button,.voxket-widget-root input:where([type=button],.voxket-widget-root [type=reset],.voxket-widget-root [type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}.voxket-widget-root ::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}.voxket-widget-root ::-webkit-inner-spin-button{height:auto}.voxket-widget-root ::-webkit-outer-spin-button{height:auto}.voxket-widget-root [hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;.voxket-widget-root ::-webkit-scrollbar{display:none}.voxket-widget-root .scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.voxket-widget-root .scrollbar-hide::-webkit-scrollbar{display:none}.voxket-widget-root .chat-scrollable{scrollbar-width:thin;scrollbar-color:#9b9b9b4d transparent;flex-direction:column;display:flex}.voxket-widget-root .chat-scrollable::-webkit-scrollbar{width:6px;display:block}.voxket-widget-root .chat-scrollable::-webkit-scrollbar-track{background:0 0}.voxket-widget-root .chat-scrollable::-webkit-scrollbar-thumb{background-color:#9b9b9b4d;border-radius:3px}.voxket-widget-root .chat-scrollable::-webkit-scrollbar-thumb:hover{background-color:#9b9b9b80}.voxket-widget-root .chat-messages-container{flex-direction:column;justify-content:flex-end;width:100%;max-width:none;min-height:100%;display:flex}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}to{opacity:0;transform:scale(1.4)}}@keyframes glow{0%,to{box-shadow:0 0 20px #3b82f680}50%{box-shadow:0 0 30px #3b82f6cc}}.voxket-widget-root .pulse-ring{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-ring}.voxket-widget-root .mic-glow{animation:2s ease-in-out infinite glow}.voxket-widget-root{color-scheme:light dark;color:#ffffffde;border-radius:\"2xl\";font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0000;border-radius:1rem;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}.voxket-widget-root.theme-light{color:#000000de}.voxket-widget-root.theme-dark,.voxket-widget-root.theme-vox{color:#ffffffde}.voxket-widget-root .animate-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.voxket-widget-root button{cursor:pointer}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}\n";
|
|
11
|
+
style.textContent = "/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/.voxket-widget-root .hljs{color:#24292e;background:#fff}.voxket-widget-root .hljs-doctag,.voxket-widget-root .hljs-keyword,.voxket-widget-root .hljs-meta .hljs-keyword,.voxket-widget-root .hljs-template-tag,.voxket-widget-root .hljs-template-variable,.voxket-widget-root .hljs-type,.voxket-widget-root .hljs-variable.language_{color:#d73a49}.voxket-widget-root .hljs-title,.voxket-widget-root .hljs-title.class_,.voxket-widget-root .hljs-title.class_.inherited__,.voxket-widget-root .hljs-title.function_{color:#6f42c1}.voxket-widget-root .hljs-attr,.voxket-widget-root .hljs-attribute,.voxket-widget-root .hljs-literal,.voxket-widget-root .hljs-meta,.voxket-widget-root .hljs-number,.voxket-widget-root .hljs-operator,.voxket-widget-root .hljs-variable,.voxket-widget-root .hljs-selector-attr,.voxket-widget-root .hljs-selector-class,.voxket-widget-root .hljs-selector-id{color:#005cc5}.voxket-widget-root .hljs-regexp,.voxket-widget-root .hljs-string,.voxket-widget-root .hljs-meta .hljs-string{color:#032f62}.voxket-widget-root .hljs-built_in,.voxket-widget-root .hljs-symbol{color:#e36209}.voxket-widget-root .hljs-comment,.voxket-widget-root .hljs-code,.voxket-widget-root .hljs-formula{color:#6a737d}.voxket-widget-root .hljs-name,.voxket-widget-root .hljs-quote,.voxket-widget-root .hljs-selector-tag,.voxket-widget-root .hljs-selector-pseudo{color:#22863a}.voxket-widget-root .hljs-subst{color:#24292e}.voxket-widget-root .hljs-section{color:#005cc5;font-weight:700}.voxket-widget-root .hljs-bullet{color:#735c0f}.voxket-widget-root .hljs-emphasis{color:#24292e;font-style:italic}.voxket-widget-root .hljs-strong{color:#24292e;font-weight:700}.voxket-widget-root .hljs-addition{color:#22863a;background-color:#f0fff4}.voxket-widget-root .hljs-deletion{color:#b31d28;background-color:#ffeef0}.voxket-widget-root pre code.hljs{display:block;overflow-x:auto;padding:1em}.voxket-widget-root code.hljs{padding:3px 5px}/*!\n Theme: GitHub Dark\n Description: Dark theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-dark\n Current colors taken from GitHub's CSS\n*/.voxket-widget-root .hljs{color:#c9d1d9;background:#0d1117}.voxket-widget-root .hljs-doctag,.voxket-widget-root .hljs-keyword,.voxket-widget-root .hljs-meta .hljs-keyword,.voxket-widget-root .hljs-template-tag,.voxket-widget-root .hljs-template-variable,.voxket-widget-root .hljs-type,.voxket-widget-root .hljs-variable.language_{color:#ff7b72}.voxket-widget-root .hljs-title,.voxket-widget-root .hljs-title.class_,.voxket-widget-root .hljs-title.class_.inherited__,.voxket-widget-root .hljs-title.function_{color:#d2a8ff}.voxket-widget-root .hljs-attr,.voxket-widget-root .hljs-attribute,.voxket-widget-root .hljs-literal,.voxket-widget-root .hljs-meta,.voxket-widget-root .hljs-number,.voxket-widget-root .hljs-operator,.voxket-widget-root .hljs-variable,.voxket-widget-root .hljs-selector-attr,.voxket-widget-root .hljs-selector-class,.voxket-widget-root .hljs-selector-id{color:#79c0ff}.voxket-widget-root .hljs-regexp,.voxket-widget-root .hljs-string,.voxket-widget-root .hljs-meta .hljs-string{color:#a5d6ff}.voxket-widget-root .hljs-built_in,.voxket-widget-root .hljs-symbol{color:#ffa657}.voxket-widget-root .hljs-comment,.voxket-widget-root .hljs-code,.voxket-widget-root .hljs-formula{color:#8b949e}.voxket-widget-root .hljs-name,.voxket-widget-root .hljs-quote,.voxket-widget-root .hljs-selector-tag,.voxket-widget-root .hljs-selector-pseudo{color:#7ee787}.voxket-widget-root .hljs-subst{color:#c9d1d9}.voxket-widget-root .hljs-section{color:#1f6feb;font-weight:700}.voxket-widget-root .hljs-bullet{color:#f2cc60}.voxket-widget-root .hljs-emphasis{color:#c9d1d9;font-style:italic}.voxket-widget-root .hljs-strong{color:#c9d1d9;font-weight:700}.voxket-widget-root .hljs-addition{color:#aff5b4;background-color:#033a16}.voxket-widget-root .hljs-deletion{color:#ffdcd7;background-color:#67060c}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,.voxket-widget-root :before,.voxket-widget-root :after,.voxket-widget-root ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.voxket-widget-root .pointer-events-auto{pointer-events:auto}.voxket-widget-root .pointer-events-none{pointer-events:none}.voxket-widget-root .visible{visibility:visible}.voxket-widget-root .absolute{position:absolute}.voxket-widget-root .fixed{position:fixed}.voxket-widget-root .relative{position:relative}.voxket-widget-root .static{position:static}.voxket-widget-root .sticky{position:sticky}.voxket-widget-root .inset-0{inset:calc(var(--spacing)*0)}.voxket-widget-root .-top-2{top:calc(var(--spacing)*-2)}.voxket-widget-root .top-0{top:calc(var(--spacing)*0)}.voxket-widget-root .top-1{top:calc(var(--spacing)*1)}.voxket-widget-root .top-2{top:calc(var(--spacing)*2)}.voxket-widget-root .top-4{top:calc(var(--spacing)*4)}.voxket-widget-root .-right-2{right:calc(var(--spacing)*-2)}.voxket-widget-root .right-0{right:calc(var(--spacing)*0)}.voxket-widget-root .right-2{right:calc(var(--spacing)*2)}.voxket-widget-root .right-4{right:calc(var(--spacing)*4)}.voxket-widget-root .right-6{right:calc(var(--spacing)*6)}.voxket-widget-root .-bottom-2{bottom:calc(var(--spacing)*-2)}.voxket-widget-root .bottom-0{bottom:calc(var(--spacing)*0)}.voxket-widget-root .bottom-2{bottom:calc(var(--spacing)*2)}.voxket-widget-root .bottom-4{bottom:calc(var(--spacing)*4)}.voxket-widget-root .bottom-20{bottom:calc(var(--spacing)*20)}.voxket-widget-root .-left-2{left:calc(var(--spacing)*-2)}.voxket-widget-root .left-0{left:calc(var(--spacing)*0)}.voxket-widget-root .left-1{left:calc(var(--spacing)*1)}.voxket-widget-root .left-2{left:calc(var(--spacing)*2)}.voxket-widget-root .left-4{left:calc(var(--spacing)*4)}.voxket-widget-root .isolate{isolation:isolate}.voxket-widget-root .z-10{z-index:10}.voxket-widget-root .z-20{z-index:20}.voxket-widget-root .z-30{z-index:30}.voxket-widget-root .z-50{z-index:50}.voxket-widget-root .z-\\[9999\\]{z-index:9999}.voxket-widget-root .z-\\[10000\\]{z-index:10000}.voxket-widget-root .order-1{order:1}.voxket-widget-root .order-2{order:2}.voxket-widget-root .col-span-2{grid-column:span 2/span 2}.voxket-widget-root .col-start-1{grid-column-start:1}.voxket-widget-root .col-start-2{grid-column-start:2}.voxket-widget-root .row-span-3{grid-row:span 3/span 3}.voxket-widget-root .row-start-1{grid-row-start:1}.voxket-widget-root .row-start-3{grid-row-start:3}.voxket-widget-root .container{width:100%}@media (min-width:40rem){.voxket-widget-root .container{max-width:40rem}}@media (min-width:48rem){.voxket-widget-root .container{max-width:48rem}}@media (min-width:64rem){.voxket-widget-root .container{max-width:64rem}}@media (min-width:80rem){.voxket-widget-root .container{max-width:80rem}}@media (min-width:96rem){.voxket-widget-root .container{max-width:96rem}}.voxket-widget-root .m-4{margin:calc(var(--spacing)*4)}.voxket-widget-root .-mx-1{margin-inline:calc(var(--spacing)*-1)}.voxket-widget-root .mx-0{margin-inline:calc(var(--spacing)*0)}.voxket-widget-root .mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.voxket-widget-root .mx-3{margin-inline:calc(var(--spacing)*3)}.voxket-widget-root .mx-4{margin-inline:calc(var(--spacing)*4)}.voxket-widget-root .mx-8{margin-inline:calc(var(--spacing)*8)}.voxket-widget-root .mx-auto{margin-inline:auto}.voxket-widget-root .my-1{margin-block:calc(var(--spacing)*1)}.voxket-widget-root .my-2{margin-block:calc(var(--spacing)*2)}.voxket-widget-root .my-3{margin-block:calc(var(--spacing)*3)}.voxket-widget-root .my-4{margin-block:calc(var(--spacing)*4)}.voxket-widget-root .mt-1{margin-top:calc(var(--spacing)*1)}.voxket-widget-root .mt-2{margin-top:calc(var(--spacing)*2)}.voxket-widget-root .mt-3{margin-top:calc(var(--spacing)*3)}.voxket-widget-root .mt-4{margin-top:calc(var(--spacing)*4)}.voxket-widget-root .mt-6{margin-top:calc(var(--spacing)*6)}.voxket-widget-root .mt-8{margin-top:calc(var(--spacing)*8)}.voxket-widget-root .mt-auto{margin-top:auto}.voxket-widget-root .mr-1{margin-right:calc(var(--spacing)*1)}.voxket-widget-root .mr-2{margin-right:calc(var(--spacing)*2)}.voxket-widget-root .mr-3{margin-right:calc(var(--spacing)*3)}.voxket-widget-root .mb-1{margin-bottom:calc(var(--spacing)*1)}.voxket-widget-root .mb-2{margin-bottom:calc(var(--spacing)*2)}.voxket-widget-root .mb-3{margin-bottom:calc(var(--spacing)*3)}.voxket-widget-root .mb-4{margin-bottom:calc(var(--spacing)*4)}.voxket-widget-root .mb-6{margin-bottom:calc(var(--spacing)*6)}.voxket-widget-root .mb-8{margin-bottom:calc(var(--spacing)*8)}.voxket-widget-root .ml-1{margin-left:calc(var(--spacing)*1)}.voxket-widget-root .ml-2{margin-left:calc(var(--spacing)*2)}.voxket-widget-root .ml-auto{margin-left:auto}.voxket-widget-root .line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.voxket-widget-root .block{display:block}.voxket-widget-root .flex{display:flex}.voxket-widget-root .grid{display:grid}.voxket-widget-root .hidden{display:none}.voxket-widget-root .inline{display:inline}.voxket-widget-root .inline-block{display:inline-block}.voxket-widget-root .inline-flex{display:inline-flex}.voxket-widget-root .table{display:table}.voxket-widget-root .aspect-square{aspect-ratio:1}.voxket-widget-root .aspect-video{aspect-ratio:var(--aspect-video)}.voxket-widget-root .size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.voxket-widget-root .size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.voxket-widget-root .size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.voxket-widget-root .h-0{height:calc(var(--spacing)*0)}.voxket-widget-root .h-1{height:calc(var(--spacing)*1)}.voxket-widget-root .h-1\\.5{height:calc(var(--spacing)*1.5)}.voxket-widget-root .h-2{height:calc(var(--spacing)*2)}.voxket-widget-root .h-3{height:calc(var(--spacing)*3)}.voxket-widget-root .h-4{height:calc(var(--spacing)*4)}.voxket-widget-root .h-5{height:calc(var(--spacing)*5)}.voxket-widget-root .h-6{height:calc(var(--spacing)*6)}.voxket-widget-root .h-8{height:calc(var(--spacing)*8)}.voxket-widget-root .h-9{height:calc(var(--spacing)*9)}.voxket-widget-root .h-10{height:calc(var(--spacing)*10)}.voxket-widget-root .h-11{height:calc(var(--spacing)*11)}.voxket-widget-root .h-12{height:calc(var(--spacing)*12)}.voxket-widget-root .h-16{height:calc(var(--spacing)*16)}.voxket-widget-root .h-20{height:calc(var(--spacing)*20)}.voxket-widget-root .h-24{height:calc(var(--spacing)*24)}.voxket-widget-root .h-28{height:calc(var(--spacing)*28)}.voxket-widget-root .h-32{height:calc(var(--spacing)*32)}.voxket-widget-root .h-64{height:calc(var(--spacing)*64)}.voxket-widget-root .h-96{height:calc(var(--spacing)*96)}.voxket-widget-root .h-\\[25rem\\]{height:25rem}.voxket-widget-root .h-\\[30rem\\]{height:30rem}.voxket-widget-root .h-\\[56px\\]{height:56px}.voxket-widget-root .h-\\[60px\\]{height:60px}.voxket-widget-root .h-\\[70px\\]{height:70px}.voxket-widget-root .h-\\[90px\\]{height:90px}.voxket-widget-root .h-\\[calc\\(100vh-64px\\)\\]{height:calc(100vh - 64px)}.voxket-widget-root .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.voxket-widget-root .h-auto{height:auto}.voxket-widget-root .h-fit{height:-moz-fit-content;height:fit-content}.voxket-widget-root .h-full{height:100%}.voxket-widget-root .h-px{height:1px}.voxket-widget-root .h-screen{height:100vh}.voxket-widget-root .max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.voxket-widget-root .max-h-20{max-height:calc(var(--spacing)*20)}.voxket-widget-root .max-h-32{max-height:calc(var(--spacing)*32)}.voxket-widget-root .max-h-40{max-height:calc(var(--spacing)*40)}.voxket-widget-root .max-h-48{max-height:calc(var(--spacing)*48)}.voxket-widget-root .max-h-\\[80vh\\]{max-height:80vh}.voxket-widget-root .max-h-\\[85vh\\]{max-height:85vh}.voxket-widget-root .max-h-\\[95vh\\]{max-height:95vh}.voxket-widget-root .max-h-full{max-height:100%}.voxket-widget-root .min-h-0{min-height:calc(var(--spacing)*0)}.voxket-widget-root .min-h-2{min-height:calc(var(--spacing)*2)}.voxket-widget-root .min-h-4{min-height:calc(var(--spacing)*4)}.voxket-widget-root .min-h-\\[3rem\\]{min-height:3rem}.voxket-widget-root .min-h-\\[32px\\]{min-height:32px}.voxket-widget-root .min-h-\\[180px\\]{min-height:180px}.voxket-widget-root .min-h-\\[280px\\]{min-height:280px}.voxket-widget-root .min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.voxket-widget-root .min-h-screen{min-height:100vh}.voxket-widget-root .\\!w-full{width:100%!important}.voxket-widget-root .w-0\\.5{width:calc(var(--spacing)*.5)}.voxket-widget-root .w-1{width:calc(var(--spacing)*1)}.voxket-widget-root .w-1\\.5{width:calc(var(--spacing)*1.5)}.voxket-widget-root .w-2{width:calc(var(--spacing)*2)}.voxket-widget-root .w-3{width:calc(var(--spacing)*3)}.voxket-widget-root .w-4{width:calc(var(--spacing)*4)}.voxket-widget-root .w-5{width:calc(var(--spacing)*5)}.voxket-widget-root .w-6{width:calc(var(--spacing)*6)}.voxket-widget-root .w-8{width:calc(var(--spacing)*8)}.voxket-widget-root .w-10{width:calc(var(--spacing)*10)}.voxket-widget-root .w-12{width:calc(var(--spacing)*12)}.voxket-widget-root .w-16{width:calc(var(--spacing)*16)}.voxket-widget-root .w-20{width:calc(var(--spacing)*20)}.voxket-widget-root .w-24{width:calc(var(--spacing)*24)}.voxket-widget-root .w-28{width:calc(var(--spacing)*28)}.voxket-widget-root .w-32{width:calc(var(--spacing)*32)}.voxket-widget-root .w-40{width:calc(var(--spacing)*40)}.voxket-widget-root .w-80{width:calc(var(--spacing)*80)}.voxket-widget-root .w-96{width:calc(var(--spacing)*96)}.voxket-widget-root .w-\\[32rem\\]{width:32rem}.voxket-widget-root .w-\\[180px\\]{width:180px}.voxket-widget-root .w-auto{width:auto}.voxket-widget-root .w-fit{width:-moz-fit-content;width:fit-content}.voxket-widget-root .w-full{width:100%}.voxket-widget-root .w-screen{width:100vw}.voxket-widget-root .max-w-2xl{max-width:var(--container-2xl)}.voxket-widget-root .max-w-3xl{max-width:var(--container-3xl)}.voxket-widget-root .max-w-4xl{max-width:var(--container-4xl)}.voxket-widget-root .max-w-6xl{max-width:var(--container-6xl)}.voxket-widget-root .max-w-7xl{max-width:var(--container-7xl)}.voxket-widget-root .max-w-\\[85\\%\\]{max-width:85%}.voxket-widget-root .max-w-full{max-width:100%}.voxket-widget-root .max-w-lg{max-width:var(--container-lg)}.voxket-widget-root .max-w-md{max-width:var(--container-md)}.voxket-widget-root .max-w-none{max-width:none}.voxket-widget-root .max-w-sm{max-width:var(--container-sm)}.voxket-widget-root .max-w-xs{max-width:var(--container-xs)}.voxket-widget-root .min-w-0{min-width:calc(var(--spacing)*0)}.voxket-widget-root .min-w-8{min-width:calc(var(--spacing)*8)}.voxket-widget-root .min-w-9{min-width:calc(var(--spacing)*9)}.voxket-widget-root .min-w-10{min-width:calc(var(--spacing)*10)}.voxket-widget-root .min-w-\\[2\\.5rem\\]{min-width:2.5rem}.voxket-widget-root .min-w-\\[8rem\\]{min-width:8rem}.voxket-widget-root .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.voxket-widget-root .min-w-full{min-width:100%}.voxket-widget-root .flex-1{flex:1}.voxket-widget-root .flex-shrink-0,.voxket-widget-root .shrink-0{flex-shrink:0}.voxket-widget-root .border-collapse{border-collapse:collapse}.voxket-widget-root .origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.voxket-widget-root .origin-center{transform-origin:50%}.voxket-widget-root .translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.voxket-widget-root .animate-bounce{animation:var(--animate-bounce)}.voxket-widget-root .animate-pulse{animation:var(--animate-pulse)}.voxket-widget-root .cursor-default{cursor:default}.voxket-widget-root .cursor-not-allowed{cursor:not-allowed}.voxket-widget-root .cursor-pointer{cursor:pointer}.voxket-widget-root .resize{resize:both}.voxket-widget-root .resize-none{resize:none}.voxket-widget-root .scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.voxket-widget-root .list-inside{list-style-position:inside}.voxket-widget-root .list-decimal{list-style-type:decimal}.voxket-widget-root .list-disc{list-style-type:disc}.voxket-widget-root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.voxket-widget-root .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.voxket-widget-root .grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.voxket-widget-root .grid-cols-\\[1fr_1fr\\]{grid-template-columns:1fr 1fr}.voxket-widget-root .grid-rows-\\[90px_1fr_90px\\]{grid-template-rows:90px 1fr 90px}.voxket-widget-root .flex-col{flex-direction:column}.voxket-widget-root .flex-row{flex-direction:row}.voxket-widget-root .flex-row-reverse{flex-direction:row-reverse}.voxket-widget-root .flex-wrap{flex-wrap:wrap}.voxket-widget-root .place-content-center{place-content:center}.voxket-widget-root .place-content-end{place-content:end}.voxket-widget-root .items-center{align-items:center}.voxket-widget-root .items-end{align-items:flex-end}.voxket-widget-root .items-start{align-items:flex-start}.voxket-widget-root .justify-between{justify-content:space-between}.voxket-widget-root .justify-center{justify-content:center}.voxket-widget-root .justify-end{justify-content:flex-end}.voxket-widget-root .justify-start{justify-content:flex-start}.voxket-widget-root .justify-items-start{justify-items:start}.voxket-widget-root .gap-1{gap:calc(var(--spacing)*1)}.voxket-widget-root .gap-1\\.5{gap:calc(var(--spacing)*1.5)}.voxket-widget-root .gap-2{gap:calc(var(--spacing)*2)}.voxket-widget-root .gap-3{gap:calc(var(--spacing)*3)}.voxket-widget-root .gap-4{gap:calc(var(--spacing)*4)}.voxket-widget-root .gap-6{gap:calc(var(--spacing)*6)}.voxket-widget-root .gap-8{gap:calc(var(--spacing)*8)}.voxket-widget-root :where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root :where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.voxket-widget-root .gap-x-0\\.5{-moz-column-gap:calc(var(--spacing)*.5);column-gap:calc(var(--spacing)*.5)}.voxket-widget-root .gap-x-2{-moz-column-gap:calc(var(--spacing)*2);column-gap:calc(var(--spacing)*2)}.voxket-widget-root :where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root :where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.voxket-widget-root .gap-y-0\\.5{row-gap:calc(var(--spacing)*.5)}.voxket-widget-root .gap-y-2{row-gap:calc(var(--spacing)*2)}.voxket-widget-root .self-center{align-self:center}.voxket-widget-root .justify-self-end{justify-self:flex-end}.voxket-widget-root .justify-self-start{justify-self:flex-start}.voxket-widget-root .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.voxket-widget-root .overflow-auto{overflow:auto}.voxket-widget-root .overflow-hidden{overflow:hidden}.voxket-widget-root .overflow-x-auto{overflow-x:auto}.voxket-widget-root .overflow-x-hidden{overflow-x:hidden}.voxket-widget-root .overflow-y-auto{overflow-y:auto}.voxket-widget-root .rounded{border-radius:.25rem}.voxket-widget-root .rounded-2xl{border-radius:var(--radius-2xl)}.voxket-widget-root .rounded-3xl{border-radius:var(--radius-3xl)}.voxket-widget-root .rounded-full{border-radius:3.40282e38px}.voxket-widget-root .rounded-lg{border-radius:var(--radius-lg)}.voxket-widget-root .rounded-md{border-radius:var(--radius-md)}.voxket-widget-root .rounded-none{border-radius:0}.voxket-widget-root .rounded-sm{border-radius:var(--radius-sm)}.voxket-widget-root .rounded-xl{border-radius:var(--radius-xl)}.voxket-widget-root .rounded-t-4xl{border-top-left-radius:var(--radius-4xl);border-top-right-radius:var(--radius-4xl)}.voxket-widget-root .rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.voxket-widget-root .rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.voxket-widget-root .rounded-br-md{border-bottom-right-radius:var(--radius-md)}.voxket-widget-root .rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.voxket-widget-root .border{border-style:var(--tw-border-style);border-width:1px}.voxket-widget-root .border-0{border-style:var(--tw-border-style);border-width:0}.voxket-widget-root .border-2{border-style:var(--tw-border-style);border-width:2px}.voxket-widget-root .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.voxket-widget-root .border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.voxket-widget-root .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.voxket-widget-root .border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.voxket-widget-root .border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.voxket-widget-root .\\!border-none{--tw-border-style:none!important;border-style:none!important}.voxket-widget-root .border-none{--tw-border-style:none;border-style:none}.voxket-widget-root .border-\\[\\#3B82F6\\]\\/40{border-color:#3b82f666}.voxket-widget-root .border-\\[\\#8B5CF6\\]\\/30{border-color:#8b5cf64d}.voxket-widget-root .border-\\[\\#813aa7\\]\\/30{border-color:#813aa74d}.voxket-widget-root .border-\\[\\#5078F2\\]\\/30{border-color:#5078f24d}.voxket-widget-root .border-\\[\\#23233a\\]{border-color:#23233a}.voxket-widget-root .border-\\[\\#232336\\]{border-color:#232336}.voxket-widget-root .border-\\[\\#EC4899\\]\\/20{border-color:#ec489933}.voxket-widget-root .border-blue-100{border-color:var(--color-blue-100)}.voxket-widget-root .border-blue-200{border-color:var(--color-blue-200)}.voxket-widget-root .border-blue-400{border-color:var(--color-blue-400)}.voxket-widget-root .border-blue-500{border-color:var(--color-blue-500)}.voxket-widget-root .border-blue-500\\/20{border-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-blue-500\\/20{border-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.voxket-widget-root .border-blue-600{border-color:var(--color-blue-600)}.voxket-widget-root .border-current{border-color:currentColor}.voxket-widget-root .border-gray-200{border-color:var(--color-gray-200)}.voxket-widget-root .border-gray-300{border-color:var(--color-gray-300)}.voxket-widget-root .border-gray-400\\/15{border-color:#99a1af26}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-400\\/15{border-color:color-mix(in oklab,var(--color-gray-400)15%,transparent)}}.voxket-widget-root .border-gray-500\\/20{border-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-500\\/20{border-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.voxket-widget-root .border-gray-600{border-color:var(--color-gray-600)}.voxket-widget-root .border-gray-600\\/30{border-color:#4a55654d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-gray-600\\/30{border-color:color-mix(in oklab,var(--color-gray-600)30%,transparent)}}.voxket-widget-root .border-gray-700{border-color:var(--color-gray-700)}.voxket-widget-root .border-gray-800{border-color:var(--color-gray-800)}.voxket-widget-root .border-gray-900{border-color:var(--color-gray-900)}.voxket-widget-root .border-green-200{border-color:var(--color-green-200)}.voxket-widget-root .border-green-800{border-color:var(--color-green-800)}.voxket-widget-root .border-orange-400{border-color:var(--color-orange-400)}.voxket-widget-root .border-orange-500{border-color:var(--color-orange-500)}.voxket-widget-root .border-pink-500\\/10{border-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-pink-500\\/10{border-color:color-mix(in oklab,var(--color-pink-500)10%,transparent)}}.voxket-widget-root .border-purple-500\\/15{border-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-purple-500\\/15{border-color:color-mix(in oklab,var(--color-purple-500)15%,transparent)}}.voxket-widget-root .border-red-200{border-color:var(--color-red-200)}.voxket-widget-root .border-red-800{border-color:var(--color-red-800)}.voxket-widget-root .border-transparent{border-color:#0000}.voxket-widget-root .border-white{border-color:var(--color-white)}.voxket-widget-root .border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.voxket-widget-root .border-t-current{border-top-color:currentColor}.voxket-widget-root .border-t-transparent{border-top-color:#0000}.voxket-widget-root .bg-\\[\\#1E1E2E\\]{background-color:#1e1e2e}.voxket-widget-root .bg-\\[\\#1E1E2E\\]\\/80{background-color:#1e1e2ecc}.voxket-widget-root .bg-\\[\\#1E1E2E\\]\\/90{background-color:#1e1e2ee6}.voxket-widget-root .bg-\\[\\#3B82F6\\]{background-color:#3b82f6}.voxket-widget-root .bg-\\[\\#5c64f6\\]{background-color:#5c64f6}.voxket-widget-root .bg-\\[\\#10B981\\]{background-color:#10b981}.voxket-widget-root .bg-\\[\\#221f3f\\]{background-color:#221f3f}.voxket-widget-root .bg-\\[\\#813aa7\\]{background-color:#813aa7}.voxket-widget-root .bg-\\[\\#5078F2\\]{background-color:#5078f2}.voxket-widget-root .bg-\\[\\#6721a4\\]{background-color:#6721a4}.voxket-widget-root .bg-\\[\\#18182a\\]\\/80{background-color:#18182acc}.voxket-widget-root .bg-\\[\\#18182a\\]\\/90{background-color:#18182ae6}.voxket-widget-root .bg-black{background-color:var(--color-black)}.voxket-widget-root .bg-black\\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/0{background-color:color-mix(in oklab,var(--color-black)0%,transparent)}}.voxket-widget-root .bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.voxket-widget-root .bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.voxket-widget-root .bg-black\\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.voxket-widget-root .bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.voxket-widget-root .bg-blue-50{background-color:var(--color-blue-50)}.voxket-widget-root .bg-blue-100{background-color:var(--color-blue-100)}.voxket-widget-root .bg-blue-200{background-color:var(--color-blue-200)}.voxket-widget-root .bg-blue-400{background-color:var(--color-blue-400)}.voxket-widget-root .bg-blue-500{background-color:var(--color-blue-500)}.voxket-widget-root .bg-blue-600{background-color:var(--color-blue-600)}.voxket-widget-root .bg-blue-900\\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-blue-900\\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.voxket-widget-root .bg-blue-900\\/50{background-color:#1c398e80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-blue-900\\/50{background-color:color-mix(in oklab,var(--color-blue-900)50%,transparent)}}.voxket-widget-root .bg-current{background-color:currentColor}.voxket-widget-root .bg-gray-50{background-color:var(--color-gray-50)}.voxket-widget-root .bg-gray-50\\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-50\\/50{background-color:color-mix(in oklab,var(--color-gray-50)50%,transparent)}}.voxket-widget-root .bg-gray-100{background-color:var(--color-gray-100)}.voxket-widget-root .bg-gray-200{background-color:var(--color-gray-200)}.voxket-widget-root .bg-gray-300{background-color:var(--color-gray-300)}.voxket-widget-root .bg-gray-400{background-color:var(--color-gray-400)}.voxket-widget-root .bg-gray-500{background-color:var(--color-gray-500)}.voxket-widget-root .bg-gray-600{background-color:var(--color-gray-600)}.voxket-widget-root .bg-gray-600\\/50{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-600\\/50{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.voxket-widget-root .bg-gray-700{background-color:var(--color-gray-700)}.voxket-widget-root .bg-gray-700\\/60{background-color:#36415399}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-700\\/60{background-color:color-mix(in oklab,var(--color-gray-700)60%,transparent)}}.voxket-widget-root .bg-gray-800{background-color:var(--color-gray-800)}.voxket-widget-root .bg-gray-800\\/30{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-800\\/30{background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}}.voxket-widget-root .bg-gray-800\\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-800\\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.voxket-widget-root .bg-gray-800\\/90{background-color:#1e2939e6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-800\\/90{background-color:color-mix(in oklab,var(--color-gray-800)90%,transparent)}}.voxket-widget-root .bg-gray-900{background-color:var(--color-gray-900)}.voxket-widget-root .bg-gray-900\\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.voxket-widget-root .bg-gray-900\\/80{background-color:#101828cc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/80{background-color:color-mix(in oklab,var(--color-gray-900)80%,transparent)}}.voxket-widget-root .bg-gray-900\\/90{background-color:#101828e6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/90{background-color:color-mix(in oklab,var(--color-gray-900)90%,transparent)}}.voxket-widget-root .bg-gray-900\\/95{background-color:#101828f2}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-gray-900\\/95{background-color:color-mix(in oklab,var(--color-gray-900)95%,transparent)}}.voxket-widget-root .bg-green-50{background-color:var(--color-green-50)}.voxket-widget-root .bg-green-500{background-color:var(--color-green-500)}.voxket-widget-root .bg-green-600{background-color:var(--color-green-600)}.voxket-widget-root .bg-green-900\\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-green-900\\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.voxket-widget-root .bg-indigo-600{background-color:var(--color-indigo-600)}.voxket-widget-root .bg-orange-50{background-color:var(--color-orange-50)}.voxket-widget-root .bg-orange-900\\/20{background-color:#7e2a0c33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-orange-900\\/20{background-color:color-mix(in oklab,var(--color-orange-900)20%,transparent)}}.voxket-widget-root .bg-purple-500{background-color:var(--color-purple-500)}.voxket-widget-root .bg-purple-600{background-color:var(--color-purple-600)}.voxket-widget-root .bg-red-50{background-color:var(--color-red-50)}.voxket-widget-root .bg-red-100\\/50{background-color:#ffe2e280}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-red-100\\/50{background-color:color-mix(in oklab,var(--color-red-100)50%,transparent)}}.voxket-widget-root .bg-red-500{background-color:var(--color-red-500)}.voxket-widget-root .bg-red-600{background-color:var(--color-red-600)}.voxket-widget-root .bg-red-600\\/80{background-color:#e40014cc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-red-600\\/80{background-color:color-mix(in oklab,var(--color-red-600)80%,transparent)}}.voxket-widget-root .bg-red-900\\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-red-900\\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.voxket-widget-root .bg-transparent{background-color:#0000}.voxket-widget-root .bg-white{background-color:var(--color-white)}.voxket-widget-root .bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.voxket-widget-root .bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.voxket-widget-root .bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.voxket-widget-root .bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.voxket-widget-root .bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.voxket-widget-root .bg-yellow-500{background-color:var(--color-yellow-500)}.voxket-widget-root .bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.voxket-widget-root .bg-\\[radial-gradient\\(ellipse_at_center\\, .voxket-widget-root _var\\(--tw-gradient-stops\\)\\)\\]{background-image:radial-gradient(ellipse at center,var(--tw-gradient-stops))}.voxket-widget-root .from-\\[\\#3B82F6\\]{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#3B82F6\\]\\/15{--tw-gradient-from:oklab(62.3083% -.0332476 -.185052/.15);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#8B5CF6\\]{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#8B5CF6\\]\\/25{--tw-gradient-from:oklab(60.5631% .0845415 -.201932/.25);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#10B981\\]{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#6721a4\\]{--tw-gradient-from:#6721a4;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#171727\\]{--tw-gradient-from:#171727;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#171727\\]\\/90{--tw-gradient-from:oklab(21.3014% .00727232 -.0304822/.9);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#181825\\]{--tw-gradient-from:#181825;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#EC4899\\]{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-\\[\\#EC4899\\]\\/20{--tw-gradient-from:oklab(65.592% .210729 -.0210022/.2);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-black\\/90{--tw-gradient-from:#000000e6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-black\\/90{--tw-gradient-from:color-mix(in oklab,var(--color-black)90%,transparent)}}.voxket-widget-root .from-black\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-blue-500\\/5{--tw-gradient-from:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-blue-500\\/5{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.voxket-widget-root .from-blue-500\\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-500{--tw-gradient-from:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-500\\/8{--tw-gradient-from:#6a728214}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-500\\/8{--tw-gradient-from:color-mix(in oklab,var(--color-gray-500)8%,transparent)}}.voxket-widget-root .from-gray-500\\/8{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-600{--tw-gradient-from:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-600\\/10{--tw-gradient-from:#4a55651a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-600\\/10{--tw-gradient-from:color-mix(in oklab,var(--color-gray-600)10%,transparent)}}.voxket-widget-root .from-gray-600\\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-gray-800\\/20{--tw-gradient-from:#1e293933}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-gray-800\\/20{--tw-gradient-from:color-mix(in oklab,var(--color-gray-800)20%,transparent)}}.voxket-widget-root .from-gray-800\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-pink-500\\/8{--tw-gradient-from:#f6339a14}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-pink-500\\/8{--tw-gradient-from:color-mix(in oklab,var(--color-pink-500)8%,transparent)}}.voxket-widget-root .from-pink-500\\/8{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-purple-500\\/10{--tw-gradient-from:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-purple-500\\/10{--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.voxket-widget-root .from-purple-500\\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .from-white\\/90{--tw-gradient-from:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .from-white\\/90{--tw-gradient-from:color-mix(in oklab,var(--color-white)90%,transparent)}}.voxket-widget-root .from-white\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .via-\\[\\#8B5CF6\\]{--tw-gradient-via:#8b5cf6;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-gray-200{--tw-gradient-via:var(--color-gray-200);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-purple-600{--tw-gradient-via:var(--color-purple-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.voxket-widget-root .to-\\[\\#5c64f6\\]{--tw-gradient-to:#5c64f6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#8B5CF6\\]{--tw-gradient-to:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#12121F\\]{--tw-gradient-to:#12121f;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#059669\\]{--tw-gradient-to:#059669;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#232336\\]{--tw-gradient-to:#232336;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-\\[\\#EC4899\\]{--tw-gradient-to:#ec4899;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-50{--tw-gradient-to:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-300{--tw-gradient-to:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-600{--tw-gradient-to:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-700{--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-gray-900{--tw-gradient-to:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-pink-600{--tw-gradient-to:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .bg-clip-text{-webkit-background-clip:text;background-clip:text}.voxket-widget-root .object-contain{-o-object-fit:contain;object-fit:contain}.voxket-widget-root .object-cover{-o-object-fit:cover;object-fit:cover}.voxket-widget-root .p-0{padding:calc(var(--spacing)*0)}.voxket-widget-root .p-1{padding:calc(var(--spacing)*1)}.voxket-widget-root .p-2{padding:calc(var(--spacing)*2)}.voxket-widget-root .p-3{padding:calc(var(--spacing)*3)}.voxket-widget-root .p-4{padding:calc(var(--spacing)*4)}.voxket-widget-root .p-6{padding:calc(var(--spacing)*6)}.voxket-widget-root .p-8{padding:calc(var(--spacing)*8)}.voxket-widget-root .px-0{padding-inline:calc(var(--spacing)*0)}.voxket-widget-root .px-1{padding-inline:calc(var(--spacing)*1)}.voxket-widget-root .px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.voxket-widget-root .px-2{padding-inline:calc(var(--spacing)*2)}.voxket-widget-root .px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.voxket-widget-root .px-3{padding-inline:calc(var(--spacing)*3)}.voxket-widget-root .px-4{padding-inline:calc(var(--spacing)*4)}.voxket-widget-root .px-5{padding-inline:calc(var(--spacing)*5)}.voxket-widget-root .px-6{padding-inline:calc(var(--spacing)*6)}.voxket-widget-root .px-10{padding-inline:calc(var(--spacing)*10)}.voxket-widget-root .py-0\\.5{padding-block:calc(var(--spacing)*.5)}.voxket-widget-root .py-1{padding-block:calc(var(--spacing)*1)}.voxket-widget-root .py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.voxket-widget-root .py-2{padding-block:calc(var(--spacing)*2)}.voxket-widget-root .py-3{padding-block:calc(var(--spacing)*3)}.voxket-widget-root .py-4{padding-block:calc(var(--spacing)*4)}.voxket-widget-root .py-8{padding-block:calc(var(--spacing)*8)}.voxket-widget-root .py-12{padding-block:calc(var(--spacing)*12)}.voxket-widget-root .pt-2{padding-top:calc(var(--spacing)*2)}.voxket-widget-root .pr-8{padding-right:calc(var(--spacing)*8)}.voxket-widget-root .pb-1{padding-bottom:calc(var(--spacing)*1)}.voxket-widget-root .pb-2{padding-bottom:calc(var(--spacing)*2)}.voxket-widget-root .pl-1{padding-left:calc(var(--spacing)*1)}.voxket-widget-root .pl-2{padding-left:calc(var(--spacing)*2)}.voxket-widget-root .pl-4{padding-left:calc(var(--spacing)*4)}.voxket-widget-root .pl-5{padding-left:calc(var(--spacing)*5)}.voxket-widget-root .text-center{text-align:center}.voxket-widget-root .text-end{text-align:end}.voxket-widget-root .text-left{text-align:left}.voxket-widget-root .text-right{text-align:right}.voxket-widget-root .font-mono{font-family:var(--font-mono)}.voxket-widget-root .text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.voxket-widget-root .text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.voxket-widget-root .text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.voxket-widget-root .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.voxket-widget-root .text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.voxket-widget-root .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.voxket-widget-root .text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.voxket-widget-root .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.voxket-widget-root .text-\\[0\\.85em\\]{font-size:.85em}.voxket-widget-root .leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.voxket-widget-root .leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.voxket-widget-root .leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.voxket-widget-root .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.voxket-widget-root .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.voxket-widget-root .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.voxket-widget-root .tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.voxket-widget-root .tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.voxket-widget-root .break-words{overflow-wrap:break-word}.voxket-widget-root .whitespace-nowrap{white-space:nowrap}.voxket-widget-root .whitespace-pre-line{white-space:pre-line}.voxket-widget-root .whitespace-pre-wrap{white-space:pre-wrap}.voxket-widget-root .text-black{color:var(--color-black)}.voxket-widget-root .text-blue-300{color:var(--color-blue-300)}.voxket-widget-root .text-blue-400{color:var(--color-blue-400)}.voxket-widget-root .text-blue-500{color:var(--color-blue-500)}.voxket-widget-root .text-blue-600{color:var(--color-blue-600)}.voxket-widget-root .text-blue-700{color:var(--color-blue-700)}.voxket-widget-root .text-blue-800{color:var(--color-blue-800)}.voxket-widget-root .text-gray-100{color:var(--color-gray-100)}.voxket-widget-root .text-gray-200{color:var(--color-gray-200)}.voxket-widget-root .text-gray-300{color:var(--color-gray-300)}.voxket-widget-root .text-gray-400{color:var(--color-gray-400)}.voxket-widget-root .text-gray-500{color:var(--color-gray-500)}.voxket-widget-root .text-gray-600{color:var(--color-gray-600)}.voxket-widget-root .text-gray-700{color:var(--color-gray-700)}.voxket-widget-root .text-gray-800{color:var(--color-gray-800)}.voxket-widget-root .text-gray-900{color:var(--color-gray-900)}.voxket-widget-root .text-green-400{color:var(--color-green-400)}.voxket-widget-root .text-green-700{color:var(--color-green-700)}.voxket-widget-root .text-inherit{color:inherit}.voxket-widget-root .text-orange-300{color:var(--color-orange-300)}.voxket-widget-root .text-orange-500{color:var(--color-orange-500)}.voxket-widget-root .text-orange-600{color:var(--color-orange-600)}.voxket-widget-root .text-orange-800{color:var(--color-orange-800)}.voxket-widget-root .text-red-400{color:var(--color-red-400)}.voxket-widget-root .text-red-500{color:var(--color-red-500)}.voxket-widget-root .text-red-600{color:var(--color-red-600)}.voxket-widget-root .text-red-700{color:var(--color-red-700)}.voxket-widget-root .text-transparent{color:#0000}.voxket-widget-root .text-white{color:var(--color-white)}.voxket-widget-root .text-yellow-400{color:var(--color-yellow-400)}.voxket-widget-root .text-yellow-500{color:var(--color-yellow-500)}.voxket-widget-root .uppercase{text-transform:uppercase}.voxket-widget-root .italic{font-style:italic}.voxket-widget-root .underline{text-decoration-line:underline}.voxket-widget-root .underline-offset-4{text-underline-offset:4px}.voxket-widget-root .placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.voxket-widget-root .placeholder-gray-400::placeholder{color:var(--color-gray-400)}.voxket-widget-root .placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.voxket-widget-root .placeholder-gray-500::placeholder{color:var(--color-gray-500)}.voxket-widget-root .opacity-0{opacity:0}.voxket-widget-root .opacity-15{opacity:.15}.voxket-widget-root .opacity-20{opacity:.2}.voxket-widget-root .opacity-30{opacity:.3}.voxket-widget-root .opacity-40{opacity:.4}.voxket-widget-root .opacity-50{opacity:.5}.voxket-widget-root .opacity-60{opacity:.6}.voxket-widget-root .opacity-70{opacity:.7}.voxket-widget-root .opacity-75{opacity:.75}.voxket-widget-root .opacity-80{opacity:.8}.voxket-widget-root .opacity-100{opacity:1}.voxket-widget-root .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .\\!ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.voxket-widget-root .shadow-black\\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .shadow-black\\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)40%,transparent)var(--tw-shadow-alpha),transparent)}}.voxket-widget-root .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.voxket-widget-root .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.voxket-widget-root .outline{outline-style:var(--tw-outline-style);outline-width:1px}.voxket-widget-root .blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .blur-sm{--tw-blur:blur(var(--blur-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.voxket-widget-root .\\!filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.voxket-widget-root .backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.voxket-widget-root .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-\\[color\\, .voxket-widget-root border\\, .voxket-widget-root background-color\\]{transition-property:color,border,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-\\[opacity\\, .voxket-widget-root translate\\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.voxket-widget-root .delay-200{transition-delay:.2s}.voxket-widget-root .duration-150{--tw-duration:.15s;transition-duration:.15s}.voxket-widget-root .duration-200{--tw-duration:.2s;transition-duration:.2s}.voxket-widget-root .duration-250{--tw-duration:.25s;transition-duration:.25s}.voxket-widget-root .duration-300{--tw-duration:.3s;transition-duration:.3s}.voxket-widget-root .duration-700{--tw-duration:.7s;transition-duration:.7s}.voxket-widget-root .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.voxket-widget-root .ease-linear{--tw-ease:linear;transition-timing-function:linear}.voxket-widget-root .ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.voxket-widget-root .contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.voxket-widget-root .\\!outline-none{--tw-outline-style:none!important;outline-style:none!important}.voxket-widget-root .outline-none{--tw-outline-style:none;outline-style:none}.voxket-widget-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover:hover){.voxket-widget-root .group-hover\\:scale-\\[1\\.02\\]:is(:where(.group):hover *){scale:1.02}.voxket-widget-root .group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.voxket-widget-root .group-data-\\[state\\=off\\]\\/track\\:bg-white:is(:where(.group\\/track)[data-state=off] *),.voxket-widget-root .group-data-\\[state\\=on\\]\\/track\\:bg-white:is(:where(.group\\/track)[data-state=on] *){background-color:var(--color-white)}.voxket-widget-root .focus-within\\:border-blue-500\\/50:focus-within{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .focus-within\\:border-blue-500\\/50:focus-within{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.voxket-widget-root .focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus-within\\:ring-blue-500\\/30:focus-within{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .focus-within\\:ring-blue-500\\/30:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}@media (hover:hover){.voxket-widget-root .hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.voxket-widget-root .hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.voxket-widget-root .hover\\:bg-\\[\\#2563EB\\]:hover{background-color:#2563eb}.voxket-widget-root .hover\\:bg-black\\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-black\\/10:hover{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.voxket-widget-root .hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.voxket-widget-root .hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.voxket-widget-root .hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.voxket-widget-root .hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.voxket-widget-root .hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.voxket-widget-root .hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.voxket-widget-root .hover\\:bg-gray-300:hover{background-color:var(--color-gray-300)}.voxket-widget-root .hover\\:bg-gray-600:hover{background-color:var(--color-gray-600)}.voxket-widget-root .hover\\:bg-gray-600\\/60:hover{background-color:#4a556599}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-gray-600\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-600)60%,transparent)}}.voxket-widget-root .hover\\:bg-gray-700:hover{background-color:var(--color-gray-700)}.voxket-widget-root .hover\\:bg-gray-700\\/50:hover{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-gray-700\\/50:hover{background-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.voxket-widget-root .hover\\:bg-gray-800:hover{background-color:var(--color-gray-800)}.voxket-widget-root .hover\\:bg-green-600:hover{background-color:var(--color-green-600)}.voxket-widget-root .hover\\:bg-green-700:hover{background-color:var(--color-green-700)}.voxket-widget-root .hover\\:bg-purple-600:hover{background-color:var(--color-purple-600)}.voxket-widget-root .hover\\:bg-red-100:hover{background-color:var(--color-red-100)}.voxket-widget-root .hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.voxket-widget-root .hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.voxket-widget-root .hover\\:bg-red-800\\/30:hover{background-color:#9f07124d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-red-800\\/30:hover{background-color:color-mix(in oklab,var(--color-red-800)30%,transparent)}}.voxket-widget-root .hover\\:bg-white:hover{background-color:var(--color-white)}.voxket-widget-root .hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.voxket-widget-root .hover\\:from-\\[\\#2563EB\\]:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:to-\\[\\#7C3AED\\]:hover{--tw-gradient-to:#7c3aed;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:to-purple-700:hover{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.voxket-widget-root .hover\\:text-blue-300:hover{color:var(--color-blue-300)}.voxket-widget-root .hover\\:text-blue-800:hover{color:var(--color-blue-800)}.voxket-widget-root .hover\\:text-blue-900:hover{color:var(--color-blue-900)}.voxket-widget-root .hover\\:text-gray-200:hover{color:var(--color-gray-200)}.voxket-widget-root .hover\\:text-gray-300:hover{color:var(--color-gray-300)}.voxket-widget-root .hover\\:text-gray-700:hover{color:var(--color-gray-700)}.voxket-widget-root .hover\\:text-gray-800:hover{color:var(--color-gray-800)}.voxket-widget-root .hover\\:text-white:hover{color:var(--color-white)}.voxket-widget-root .hover\\:underline:hover{text-decoration-line:underline}.voxket-widget-root .hover\\:opacity-80:hover{opacity:.8}.voxket-widget-root .hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.voxket-widget-root .focus\\:border-blue-500:focus{border-color:var(--color-blue-500)}.voxket-widget-root .focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .focus\\:ring-blue-400\\/40:focus{--tw-ring-color:#54a2ff66}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .focus\\:ring-blue-400\\/40:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-400)40%,transparent)}}.voxket-widget-root .focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.voxket-widget-root .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.voxket-widget-root .focus\\:ring-offset-gray-900:focus{--tw-ring-offset-color:var(--color-gray-900)}.voxket-widget-root .focus\\:ring-offset-white:focus{--tw-ring-offset-color:var(--color-white)}.voxket-widget-root .focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.voxket-widget-root .focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .disabled\\:pointer-events-none:disabled{pointer-events:none}.voxket-widget-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.voxket-widget-root .disabled\\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.voxket-widget-root .disabled\\:bg-gray-600:disabled{background-color:var(--color-gray-600)}.voxket-widget-root .disabled\\:opacity-50:disabled{opacity:.5}.voxket-widget-root .disabled\\:opacity-70:disabled{opacity:.7}.voxket-widget-root .has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.voxket-widget-root .has-\\[\\>svg\\]\\:gap-x-3:has(>svg){-moz-column-gap:calc(var(--spacing)*3);column-gap:calc(var(--spacing)*3)}.voxket-widget-root .has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.voxket-widget-root .has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.voxket-widget-root .has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.voxket-widget-root .aria-invalid\\:border-0[aria-invalid=true]{border-style:var(--tw-border-style);border-width:0}.voxket-widget-root .aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.voxket-widget-root .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.voxket-widget-root .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.voxket-widget-root .data-\\[lk-highlighted\\=true\\]\\:bg-\\[\\#5c64f6\\][data-lk-highlighted=true]{background-color:#5c64f6}.voxket-widget-root .data-\\[lk-muted\\=true\\]\\:bg-\\[\\#222222\\][data-lk-muted=true]{background-color:#222}.voxket-widget-root .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .data-\\[size\\=default\\]\\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.voxket-widget-root .data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}.voxket-widget-root :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}@media (min-width:40rem){.voxket-widget-root .sm\\:left-0{left:calc(var(--spacing)*0)}.voxket-widget-root .sm\\:h-24{height:calc(var(--spacing)*24)}.voxket-widget-root .sm\\:w-36{width:calc(var(--spacing)*36)}.voxket-widget-root .sm\\:max-w-sm{max-width:var(--container-sm)}}@media (min-width:48rem){.voxket-widget-root .md\\:px-0{padding-inline:calc(var(--spacing)*0)}}@media (min-width:64rem){.voxket-widget-root .lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.voxket-widget-root .dark\\:border-gray-600{border-color:var(--color-gray-600)}.voxket-widget-root .dark\\:border-gray-700{border-color:var(--color-gray-700)}.voxket-widget-root .dark\\:bg-gray-900{background-color:var(--color-gray-900)}.voxket-widget-root .dark\\:bg-red-900\\/10{background-color:#82181a1a}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root .dark\\:bg-red-900\\/10{background-color:color-mix(in oklab,var(--color-red-900)10%,transparent)}}.voxket-widget-root .dark\\:bg-white{background-color:var(--color-white)}.voxket-widget-root .dark\\:text-blue-400{color:var(--color-blue-400)}.voxket-widget-root .dark\\:text-orange-400{color:var(--color-orange-400)}.voxket-widget-root .dark\\:text-red-400{color:var(--color-red-400)}.voxket-widget-root .dark\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.voxket-widget-root .\\[\\&_p\\]\\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.voxket-widget-root .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.voxket-widget-root .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.voxket-widget-root .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.voxket-widget-root :is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}.voxket-widget-root :is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}.voxket-widget-root :is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.voxket-widget-root .\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.voxket-widget-root .\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.voxket-widget-root .\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}.voxket-widget-root .\\[\\&\\>video\\]\\:h-\\[90px\\]>video{height:90px}.voxket-widget-root .\\[\\&\\>video\\]\\:w-auto>video{width:auto}@layer theme{:root,.voxket-widget-root :host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,.voxket-widget-root :after,.voxket-widget-root :before,.voxket-widget-root ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.voxket-widget-root ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,.voxket-widget-root :host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.voxket-widget-root hr{height:0;color:inherit;border-top-width:1px}.voxket-widget-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.voxket-widget-root h1,.voxket-widget-root h2,.voxket-widget-root h3,.voxket-widget-root h4,.voxket-widget-root h5,.voxket-widget-root h6{font-size:inherit;font-weight:inherit}.voxket-widget-root a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.voxket-widget-root b,.voxket-widget-root strong{font-weight:bolder}.voxket-widget-root code,.voxket-widget-root kbd,.voxket-widget-root samp,.voxket-widget-root pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}.voxket-widget-root small{font-size:80%}.voxket-widget-root sub,.voxket-widget-root sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.voxket-widget-root sub{bottom:-.25em}.voxket-widget-root sup{top:-.5em}.voxket-widget-root table{text-indent:0;border-color:inherit;border-collapse:collapse}.voxket-widget-root :-moz-focusring{outline:auto}.voxket-widget-root progress{vertical-align:baseline}.voxket-widget-root summary{display:list-item}.voxket-widget-root ol,.voxket-widget-root ul,.voxket-widget-root menu{list-style:none}.voxket-widget-root img,.voxket-widget-root svg,.voxket-widget-root video,.voxket-widget-root canvas,.voxket-widget-root audio,.voxket-widget-root iframe,.voxket-widget-root embed,.voxket-widget-root object{vertical-align:middle;display:block}.voxket-widget-root img,.voxket-widget-root video{max-width:100%;height:auto}.voxket-widget-root button,.voxket-widget-root input,.voxket-widget-root select,.voxket-widget-root optgroup,.voxket-widget-root textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.voxket-widget-root ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.voxket-widget-root :where(select:is([multiple],.voxket-widget-root [size])) optgroup{font-weight:bolder}.voxket-widget-root :where(select:is([multiple],.voxket-widget-root [size])) optgroup option{padding-inline-start:20px}.voxket-widget-root ::file-selector-button{margin-inline-end:4px}.voxket-widget-root ::-moz-placeholder{opacity:1}.voxket-widget-root ::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){.voxket-widget-root ::-moz-placeholder{color:currentColor}.voxket-widget-root ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){.voxket-widget-root ::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}.voxket-widget-root ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}.voxket-widget-root textarea{resize:vertical}.voxket-widget-root ::-webkit-search-decoration{-webkit-appearance:none}.voxket-widget-root ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.voxket-widget-root ::-webkit-datetime-edit{display:inline-flex}.voxket-widget-root ::-webkit-datetime-edit-fields-wrapper{padding:0}.voxket-widget-root ::-webkit-datetime-edit{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-year-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-month-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-day-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-hour-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-minute-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-second-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-millisecond-field{padding-block:0}.voxket-widget-root ::-webkit-datetime-edit-meridiem-field{padding-block:0}.voxket-widget-root :-moz-ui-invalid{box-shadow:none}.voxket-widget-root button,.voxket-widget-root input:where([type=button],.voxket-widget-root [type=reset],.voxket-widget-root [type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}.voxket-widget-root ::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}.voxket-widget-root ::-webkit-inner-spin-button{height:auto}.voxket-widget-root ::-webkit-outer-spin-button{height:auto}.voxket-widget-root [hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;.voxket-widget-root ::-webkit-scrollbar{display:none}.voxket-widget-root .scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.voxket-widget-root .scrollbar-hide::-webkit-scrollbar{display:none}.voxket-widget-root .chat-scrollable{scrollbar-width:thin;scrollbar-color:#9b9b9b4d transparent;flex-direction:column;display:flex}.voxket-widget-root .chat-scrollable::-webkit-scrollbar{width:6px;display:block}.voxket-widget-root .chat-scrollable::-webkit-scrollbar-track{background:0 0}.voxket-widget-root .chat-scrollable::-webkit-scrollbar-thumb{background-color:#9b9b9b4d;border-radius:3px}.voxket-widget-root .chat-scrollable::-webkit-scrollbar-thumb:hover{background-color:#9b9b9b80}.voxket-widget-root .chat-messages-container{flex-direction:column;justify-content:flex-end;width:100%;max-width:none;min-height:100%;display:flex}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}to{opacity:0;transform:scale(1.4)}}@keyframes glow{0%,to{box-shadow:0 0 20px #3b82f680}50%{box-shadow:0 0 30px #3b82f6cc}}.voxket-widget-root .pulse-ring{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-ring}.voxket-widget-root .mic-glow{animation:2s ease-in-out infinite glow}.voxket-widget-root{color-scheme:light dark;color:#ffffffde;border-radius:\"2xl\";font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0000;border-radius:1rem;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}.voxket-widget-root.theme-light{color:#000000de}.voxket-widget-root.theme-dark,.voxket-widget-root.theme-vox{color:#ffffffde}.voxket-widget-root .animate-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.voxket-widget-root button{cursor:pointer}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}\n";
|
|
12
12
|
|
|
13
13
|
const head = document.head || document.getElementsByTagName('head')[0];
|
|
14
14
|
if (head.firstChild) {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
}
|
|
19
19
|
})();
|
|
20
20
|
|
|
21
|
-
"use strict";var Vg=Object.defineProperty;var zg=(e,t,n)=>t in e?Vg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var st=(e,t,n)=>zg(e,typeof t!="symbol"?t+"":t,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("react"),h=require("react/jsx-runtime"),ce=require("livekit-client"),Ft=require("@livekit/components-react"),ze=require("lucide-react"),ja=require("clsx"),Ug=require("@emotion/styled");require("@emotion/react");const Hg=require("react-dom/client");function Wg(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const P=Wg(A),Ba=A.createContext({});function $a(e){const t=A.useRef(null);return t.current===null&&(t.current=e()),t.current}const Va=typeof window<"u",yf=Va?A.useLayoutEffect:A.useEffect,ks=A.createContext(null);function za(e,t){e.indexOf(t)===-1&&e.push(t)}function Ua(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const yn=(e,t,n)=>n>t?t:n<e?e:n;function Zo(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}let Nr=()=>{},xn=()=>{};process.env.NODE_ENV!=="production"&&(Nr=(e,t,n)=>{!e&&typeof console<"u"&&console.warn(Zo(t,n))},xn=(e,t,n)=>{if(!e)throw new Error(Zo(t,n))});const wn={},xf=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function wf(e){return typeof e=="object"&&e!==null}const vf=e=>/^0[^.\s]+$/u.test(e);function Ha(e){let t;return()=>(t===void 0&&(t=e()),t)}const Zt=e=>e,Gg=(e,t)=>n=>t(e(n)),hi=(...e)=>e.reduce(Gg),ni=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class Wa{constructor(){this.subscriptions=[]}add(t){return za(this.subscriptions,t),()=>Ua(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let s=0;s<i;s++){const o=this.subscriptions[s];o&&o(t,n,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const en=e=>e*1e3,ln=e=>e/1e3;function Ef(e,t){return t?e*(1e3/t):0}const mc=new Set;function Ga(e,t,n){e||mc.has(t)||(console.warn(Zo(t,n)),mc.add(t))}const kf=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Kg=1e-7,qg=12;function Yg(e,t,n,r,i){let s,o,a=0;do o=t+(n-t)/2,s=kf(o,r,i)-e,s>0?n=o:t=o;while(Math.abs(s)>Kg&&++a<qg);return o}function pi(e,t,n,r){if(e===t&&n===r)return Zt;const i=s=>Yg(s,0,1,e,n);return s=>s===0||s===1?s:kf(i(s),t,r)}const Sf=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Cf=e=>t=>1-e(1-t),_f=pi(.33,1.53,.69,.99),Ka=Cf(_f),Tf=Sf(Ka),Nf=e=>(e*=2)<1?.5*Ka(e):.5*(2-Math.pow(2,-10*(e-1))),qa=e=>1-Math.sin(Math.acos(e)),Af=Cf(qa),Rf=Sf(qa),Zg=pi(.42,0,1,1),Xg=pi(0,0,.58,1),Mf=pi(.42,0,.58,1),Qg=e=>Array.isArray(e)&&typeof e[0]!="number",If=e=>Array.isArray(e)&&typeof e[0]=="number",gc={linear:Zt,easeIn:Zg,easeInOut:Mf,easeOut:Xg,circIn:qa,circInOut:Rf,circOut:Af,backIn:Ka,backInOut:Tf,backOut:_f,anticipate:Nf},Jg=e=>typeof e=="string",bc=e=>{if(If(e)){xn(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,r,i]=e;return pi(t,n,r,i)}else if(Jg(e))return xn(gc[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),gc[e];return e},Ri=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function eb(e,t){let n=new Set,r=new Set,i=!1,s=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(u){o.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,f=!1)=>{const g=f&&i?n:r;return d&&o.add(u),g.has(u)||g.add(u),u},cancel:u=>{r.delete(u),o.delete(u)},process:u=>{if(a=u,i){s=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),n.clear(),i=!1,s&&(s=!1,c.process(u))}};return c}const tb=40;function Of(e,t){let n=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,o=Ri.reduce((E,_)=>(E[_]=eb(s),E),{}),{setup:a,read:l,resolveKeyframes:c,preUpdate:u,update:d,preRender:f,render:p,postRender:g}=o,m=()=>{const E=wn.useManualTiming?i.timestamp:performance.now();n=!1,wn.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(E-i.timestamp,tb),1)),i.timestamp=E,i.isProcessing=!0,a.process(i),l.process(i),c.process(i),u.process(i),d.process(i),f.process(i),p.process(i),g.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(m))},x=()=>{n=!0,r=!0,i.isProcessing||e(m)};return{schedule:Ri.reduce((E,_)=>{const v=o[_];return E[_]=(C,M=!1,N=!1)=>(n||x(),v.schedule(C,M,N)),E},{}),cancel:E=>{for(let _=0;_<Ri.length;_++)o[Ri[_]].cancel(E)},state:i,steps:o}}const{schedule:it,cancel:Mn,state:Tt,steps:Js}=Of(typeof requestAnimationFrame<"u"?requestAnimationFrame:Zt,!0);let Xi;function nb(){Xi=void 0}const jt={now:()=>(Xi===void 0&&jt.set(Tt.isProcessing||wn.useManualTiming?Tt.timestamp:performance.now()),Xi),set:e=>{Xi=e,queueMicrotask(nb)}},Pf=e=>t=>typeof t=="string"&&t.startsWith(e),Ya=Pf("--"),rb=Pf("var(--"),Za=e=>rb(e)?ib.test(e.split("/*")[0].trim()):!1,ib=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Ar={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},ri={...Ar,transform:e=>yn(0,1,e)},Mi={...Ar,default:1},qr=e=>Math.round(e*1e5)/1e5,Xa=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function sb(e){return e==null}const ob=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Qa=(e,t)=>n=>!!(typeof n=="string"&&ob.test(n)&&n.startsWith(e)||t&&!sb(n)&&Object.prototype.hasOwnProperty.call(n,t)),Df=(e,t,n)=>r=>{if(typeof r!="string")return r;const[i,s,o,a]=r.match(Xa);return{[e]:parseFloat(i),[t]:parseFloat(s),[n]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},ab=e=>yn(0,255,e),eo={...Ar,transform:e=>Math.round(ab(e))},Un={test:Qa("rgb","red"),parse:Df("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eo.transform(e)+", "+eo.transform(t)+", "+eo.transform(n)+", "+qr(ri.transform(r))+")"};function lb(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const Xo={test:Qa("#"),parse:lb,transform:Un.transform},mi=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),An=mi("deg"),cn=mi("%"),we=mi("px"),cb=mi("vh"),ub=mi("vw"),yc={...cn,parse:e=>cn.parse(e)/100,transform:e=>cn.transform(e*100)},pr={test:Qa("hsl","hue"),parse:Df("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+cn.transform(qr(t))+", "+cn.transform(qr(n))+", "+qr(ri.transform(r))+")"},yt={test:e=>Un.test(e)||Xo.test(e)||pr.test(e),parse:e=>Un.test(e)?Un.parse(e):pr.test(e)?pr.parse(e):Xo.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Un.transform(e):pr.transform(e),getAnimatableNone:e=>{const t=yt.parse(e);return t.alpha=0,yt.transform(t)}},db=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function fb(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(Xa))==null?void 0:t.length)||0)+(((n=e.match(db))==null?void 0:n.length)||0)>0}const Lf="number",Ff="color",hb="var",pb="var(",xc="${}",mb=/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 ii(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[];let s=0;const a=t.replace(mb,l=>(yt.test(l)?(r.color.push(s),i.push(Ff),n.push(yt.parse(l))):l.startsWith(pb)?(r.var.push(s),i.push(hb),n.push(l)):(r.number.push(s),i.push(Lf),n.push(parseFloat(l))),++s,xc)).split(xc);return{values:n,split:a,indexes:r,types:i}}function jf(e){return ii(e).values}function Bf(e){const{split:t,types:n}=ii(e),r=t.length;return i=>{let s="";for(let o=0;o<r;o++)if(s+=t[o],i[o]!==void 0){const a=n[o];a===Lf?s+=qr(i[o]):a===Ff?s+=yt.transform(i[o]):s+=i[o]}return s}}const gb=e=>typeof e=="number"?0:yt.test(e)?yt.getAnimatableNone(e):e;function bb(e){const t=jf(e);return Bf(e)(t.map(gb))}const In={test:fb,parse:jf,createTransformer:Bf,getAnimatableNone:bb};function to(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 yb({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,s=0,o=0;if(!t)i=s=o=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=to(l,a,e+1/3),s=to(l,a,e),o=to(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(s*255),blue:Math.round(o*255),alpha:r}}function ls(e,t){return n=>n>0?t:e}const at=(e,t,n)=>e+(t-e)*n,no=(e,t,n)=>{const r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},xb=[Xo,Un,pr],wb=e=>xb.find(t=>t.test(e));function wc(e){const t=wb(e);if(Nr(!!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===pr&&(n=yb(n)),n}const vc=(e,t)=>{const n=wc(e),r=wc(t);if(!n||!r)return ls(e,t);const i={...n};return s=>(i.red=no(n.red,r.red,s),i.green=no(n.green,r.green,s),i.blue=no(n.blue,r.blue,s),i.alpha=at(n.alpha,r.alpha,s),Un.transform(i))},Qo=new Set(["none","hidden"]);function vb(e,t){return Qo.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Eb(e,t){return n=>at(e,t,n)}function Ja(e){return typeof e=="number"?Eb:typeof e=="string"?Za(e)?ls:yt.test(e)?vc:Cb:Array.isArray(e)?$f:typeof e=="object"?yt.test(e)?vc:kb:ls}function $f(e,t){const n=[...e],r=n.length,i=e.map((s,o)=>Ja(s)(s,t[o]));return s=>{for(let o=0;o<r;o++)n[o]=i[o](s);return n}}function kb(e,t){const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Ja(e[i])(e[i],t[i]));return i=>{for(const s in r)n[s]=r[s](i);return n}}function Sb(e,t){const n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){const s=t.types[i],o=e.indexes[s][r[s]],a=e.values[o]??0;n[i]=a,r[s]++}return n}const Cb=(e,t)=>{const n=In.createTransformer(t),r=ii(e),i=ii(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Qo.has(e)&&!i.values.length||Qo.has(t)&&!r.values.length?vb(e,t):hi($f(Sb(r,i),i.values),n):(Nr(!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"),ls(e,t))};function Vf(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?at(e,t,n):Ja(e)(e,t)}const _b=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>it.update(t,n),stop:()=>Mn(t),now:()=>Tt.isProcessing?Tt.timestamp:jt.now()}},zf=(e,t,n=10)=>{let r="";const i=Math.max(Math.round(t/n),2);for(let s=0;s<i;s++)r+=Math.round(e(s/(i-1))*1e4)/1e4+", ";return`linear(${r.substring(0,r.length-2)})`},cs=2e4;function el(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t<cs;)t+=n,r=e.next(t);return t>=cs?1/0:t}function Tb(e,t=100,n){const r=n({...e,keyframes:[0,t]}),i=Math.min(el(r),cs);return{type:"keyframes",ease:s=>r.next(i*s).value/t,duration:ln(i)}}const Nb=5;function Uf(e,t,n){const r=Math.max(t-Nb,0);return Ef(n-e(r),t-r)}const ot={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},ro=.001;function Ab({duration:e=ot.duration,bounce:t=ot.bounce,velocity:n=ot.velocity,mass:r=ot.mass}){let i,s;Nr(e<=en(ot.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let o=1-t;o=yn(ot.minDamping,ot.maxDamping,o),e=yn(ot.minDuration,ot.maxDuration,ln(e)),o<1?(i=c=>{const u=c*o,d=u*e,f=u-n,p=Jo(c,o),g=Math.exp(-d);return ro-f/p*g},s=c=>{const d=c*o*e,f=d*n+n,p=Math.pow(o,2)*Math.pow(c,2)*e,g=Math.exp(-d),m=Jo(Math.pow(c,2),o);return(-i(c)+ro>0?-1:1)*((f-p)*g)/m}):(i=c=>{const u=Math.exp(-c*e),d=(c-n)*e+1;return-ro+u*d},s=c=>{const u=Math.exp(-c*e),d=(n-c)*(e*e);return u*d});const a=5/e,l=Mb(i,s,a);if(e=en(e),isNaN(l))return{stiffness:ot.stiffness,damping:ot.damping,duration:e};{const c=Math.pow(l,2)*r;return{stiffness:c,damping:o*2*Math.sqrt(r*c),duration:e}}}const Rb=12;function Mb(e,t,n){let r=n;for(let i=1;i<Rb;i++)r=r-e(r)/t(r);return r}function Jo(e,t){return e*Math.sqrt(1-t*t)}const Ib=["duration","bounce"],Ob=["stiffness","damping","mass"];function Ec(e,t){return t.some(n=>e[n]!==void 0)}function Pb(e){let t={velocity:ot.velocity,stiffness:ot.stiffness,damping:ot.damping,mass:ot.mass,isResolvedFromDuration:!1,...e};if(!Ec(e,Ob)&&Ec(e,Ib))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,s=2*yn(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:ot.mass,stiffness:i,damping:s}}else{const n=Ab(e);t={...t,...n,mass:ot.mass},t.isResolvedFromDuration=!0}return t}function us(e=ot.visualDuration,t=ot.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:i}=n;const s=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:s},{stiffness:l,damping:c,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Pb({...n,velocity:-ln(n.velocity||0)}),g=f||0,m=c/(2*Math.sqrt(l*u)),x=o-s,y=ln(Math.sqrt(l/u)),k=Math.abs(x)<5;r||(r=k?ot.restSpeed.granular:ot.restSpeed.default),i||(i=k?ot.restDelta.granular:ot.restDelta.default);let E;if(m<1){const v=Jo(y,m);E=C=>{const M=Math.exp(-m*y*C);return o-M*((g+m*y*x)/v*Math.sin(v*C)+x*Math.cos(v*C))}}else if(m===1)E=v=>o-Math.exp(-y*v)*(x+(g+y*x)*v);else{const v=y*Math.sqrt(m*m-1);E=C=>{const M=Math.exp(-m*y*C),N=Math.min(v*C,300);return o-M*((g+m*y*x)*Math.sinh(N)+v*x*Math.cosh(N))/v}}const _={calculatedDuration:p&&d||null,next:v=>{const C=E(v);if(p)a.done=v>=d;else{let M=v===0?g:0;m<1&&(M=v===0?en(g):Uf(E,v,C));const N=Math.abs(M)<=r,O=Math.abs(o-C)<=i;a.done=N&&O}return a.value=a.done?o:C,a},toString:()=>{const v=Math.min(el(_),cs),C=zf(M=>_.next(v*M).value,v,30);return v+"ms "+C},toTransition:()=>{}};return _}us.applyToOptions=e=>{const t=Tb(e,100,us);return e.ease=t.ease,e.duration=en(t.duration),e.type="keyframes",e};function ea({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:s=500,modifyTarget:o,min:a,max:l,restDelta:c=.5,restSpeed:u}){const d=e[0],f={done:!1,value:d},p=N=>a!==void 0&&N<a||l!==void 0&&N>l,g=N=>a===void 0?l:l===void 0||Math.abs(a-N)<Math.abs(l-N)?a:l;let m=n*t;const x=d+m,y=o===void 0?x:o(x);y!==x&&(m=y-d);const k=N=>-m*Math.exp(-N/r),E=N=>y+k(N),_=N=>{const O=k(N),b=E(N);f.done=Math.abs(O)<=c,f.value=f.done?y:b};let v,C;const M=N=>{p(f.value)&&(v=N,C=us({keyframes:[f.value,g(f.value)],velocity:Uf(E,N,f.value),damping:i,stiffness:s,restDelta:c,restSpeed:u}))};return M(0),{calculatedDuration:null,next:N=>{let O=!1;return!C&&v===void 0&&(O=!0,_(N),M(N)),v!==void 0&&N>=v?C.next(N-v):(!O&&_(N),f)}}}function Db(e,t,n){const r=[],i=n||wn.mix||Vf,s=e.length-1;for(let o=0;o<s;o++){let a=i(e[o],e[o+1]);if(t){const l=Array.isArray(t)?t[o]||Zt:t;a=hi(l,a)}r.push(a)}return r}function Lb(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const s=e.length;if(xn(s===t.length,"Both input and output ranges must be the same length","range-length"),s===1)return()=>t[0];if(s===2&&t[0]===t[1])return()=>t[1];const o=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=Db(t,r,i),l=a.length,c=u=>{if(o&&u<e[0])return t[0];let d=0;if(l>1)for(;d<e.length-2&&!(u<e[d+1]);d++);const f=ni(e[d],e[d+1],u);return a[d](f)};return n?u=>c(yn(e[0],e[s-1],u)):c}function Fb(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=ni(0,t,r);e.push(at(n,1,i))}}function jb(e){const t=[0];return Fb(t,e.length-1),t}function Bb(e,t){return e.map(n=>n*t)}function $b(e,t){return e.map(()=>t||Mf).splice(0,e.length-1)}function mr({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=Qg(r)?r.map(bc):bc(r),s={done:!1,value:t[0]},o=Bb(n&&n.length===t.length?n:jb(t),e),a=Lb(o,t,{ease:Array.isArray(i)?i:$b(t,i)});return{calculatedDuration:e,next:l=>(s.value=a(l),s.done=l>=e,s)}}const Vb=e=>e!==null;function tl(e,{repeat:t,repeatType:n="loop"},r,i=1){const s=e.filter(Vb),a=i<0||t&&n!=="loop"&&t%2===1?0:s.length-1;return!a||r===void 0?s[a]:r}const zb={decay:ea,inertia:ea,tween:mr,keyframes:mr,spring:us};function Hf(e){typeof e.type=="string"&&(e.type=zb[e.type])}class nl{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 Ub=e=>e/100;class rl extends nl{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{var r,i;const{motionValue:n}=this.options;n&&n.updatedAt!==jt.now()&&this.tick(jt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(i=(r=this.options).onStop)==null||i.call(r))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Hf(t);const{type:n=mr,repeat:r=0,repeatDelay:i=0,repeatType:s,velocity:o=0}=t;let{keyframes:a}=t;const l=n||mr;process.env.NODE_ENV!=="production"&&l!==mr&&xn(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),l!==mr&&typeof a[0]!="number"&&(this.mixKeyframes=hi(Ub,Vf(a[0],a[1])),a=[0,100]);const c=l({...t,keyframes:a});s==="mirror"&&(this.mirroredGenerator=l({...t,keyframes:[...a].reverse(),velocity:-o})),c.calculatedDuration===null&&(c.calculatedDuration=el(c));const{calculatedDuration:u}=c;this.calculatedDuration=u,this.resolvedDuration=u+i,this.totalDuration=this.resolvedDuration*(r+1)-i,this.generator=c}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:r,totalDuration:i,mixKeyframes:s,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return r.next(0);const{delay:c=0,keyframes:u,repeat:d,repeatType:f,repeatDelay:p,type:g,onUpdate:m,finalKeyframe:x}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const y=this.currentTime-c*(this.playbackSpeed>=0?1:-1),k=this.playbackSpeed>=0?y<0:y>i;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let E=this.currentTime,_=r;if(d){const N=Math.min(this.currentTime,i)/a;let O=Math.floor(N),b=N%1;!b&&N>=1&&(b=1),b===1&&O--,O=Math.min(O,d+1),!!(O%2)&&(f==="reverse"?(b=1-b,p&&(b-=p/a)):f==="mirror"&&(_=o)),E=yn(0,1,b)*a}const v=k?{done:!1,value:u[0]}:_.next(E);s&&(v.value=s(v.value));let{done:C}=v;!k&&l!==null&&(C=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const M=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&C);return M&&g!==ea&&(v.value=tl(u,this.options,x,this.speed)),m&&m(v.value),M&&this.finish(),v}then(t,n){return this.finished.then(t,n)}get duration(){return ln(this.calculatedDuration)}get time(){return ln(this.currentTime)}set time(t){var n;t=en(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(jt.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=ln(this.currentTime))}play(){var i,s;if(this.isStopped)return;const{driver:t=_b,startTime:n}=this.options;this.driver||(this.driver=t(o=>this.tick(o))),(s=(i=this.options).onPlay)==null||s.call(i);const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=n??r),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(jt.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 Hb(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const Hn=e=>e*180/Math.PI,ta=e=>{const t=Hn(Math.atan2(e[1],e[0]));return na(t)},Wb={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:ta,rotateZ:ta,skewX:e=>Hn(Math.atan(e[1])),skewY:e=>Hn(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},na=e=>(e=e%360,e<0&&(e+=360),e),kc=ta,Sc=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Cc=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Gb={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Sc,scaleY:Cc,scale:e=>(Sc(e)+Cc(e))/2,rotateX:e=>na(Hn(Math.atan2(e[6],e[5]))),rotateY:e=>na(Hn(Math.atan2(-e[2],e[0]))),rotateZ:kc,rotate:kc,skewX:e=>Hn(Math.atan(e[4])),skewY:e=>Hn(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ra(e){return e.includes("scale")?1:0}function ia(e,t){if(!e||e==="none")return ra(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,i;if(n)r=Gb,i=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Wb,i=a}if(!i)return ra(t);const s=r[t],o=i[1].split(",").map(qb);return typeof s=="function"?s(o):o[s]}const Kb=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return ia(n,t)};function qb(e){return parseFloat(e.trim())}const Rr=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Mr=new Set(Rr),_c=e=>e===Ar||e===we,Yb=new Set(["x","y","z"]),Zb=Rr.filter(e=>!Yb.has(e));function Xb(e){const t=[];return Zb.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const Gn={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})=>ia(t,"x"),y:(e,{transform:t})=>ia(t,"y")};Gn.translateX=Gn.x;Gn.translateY=Gn.y;const Kn=new Set;let sa=!1,oa=!1,aa=!1;function Wf(){if(oa){const e=Array.from(Kn).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const i=Xb(r);i.length&&(n.set(r,i),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const i=n.get(r);i&&i.forEach(([s,o])=>{var a;(a=r.getValue(s))==null||a.set(o)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}oa=!1,sa=!1,Kn.forEach(e=>e.complete(aa)),Kn.clear()}function Gf(){Kn.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(oa=!0)})}function Qb(){aa=!0,Gf(),Wf(),aa=!1}class il{constructor(t,n,r,i,s,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=i,this.element=s,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(Kn.add(this),sa||(sa=!0,it.read(Gf),it.resolveKeyframes(Wf))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:i}=this;if(t[0]===null){const s=i==null?void 0:i.get(),o=t[t.length-1];if(s!==void 0)t[0]=s;else if(r&&n){const a=r.readValue(n,o);a!=null&&(t[0]=a)}t[0]===void 0&&(t[0]=o),i&&s===void 0&&i.set(t[0])}Hb(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Kn.delete(this)}cancel(){this.state==="scheduled"&&(Kn.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Jb=e=>e.startsWith("--");function ey(e,t,n){Jb(t)?e.style.setProperty(t,n):e.style[t]=n}const ty=Ha(()=>window.ScrollTimeline!==void 0),ny={};function ry(e,t){const n=Ha(e);return()=>ny[t]??n()}const Kf=ry(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Wr=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Tc={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Wr([0,.65,.55,1]),circOut:Wr([.55,0,1,.45]),backIn:Wr([.31,.01,.66,-.59]),backOut:Wr([.33,1.53,.69,.99])};function qf(e,t){if(e)return typeof e=="function"?Kf()?zf(e,t):"ease-out":If(e)?Wr(e):Array.isArray(e)?e.map(n=>qf(n,t)||Tc.easeOut):Tc[e]}function iy(e,t,n,{delay:r=0,duration:i=300,repeat:s=0,repeatType:o="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[t]:n};l&&(u.offset=l);const d=qf(a,i);Array.isArray(d)&&(u.easing=d);const f={delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:o==="reverse"?"alternate":"normal"};return c&&(f.pseudoElement=c),e.animate(u,f)}function Yf(e){return typeof e=="function"&&"applyToOptions"in e}function sy({type:e,...t}){return Yf(e)&&Kf()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class oy extends nl{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:r,keyframes:i,pseudoElement:s,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=t;this.isPseudoElement=!!s,this.allowFlatten=o,this.options=t,xn(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const c=sy(t);this.animation=iy(n,r,i,c,s),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){const u=tl(i,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(u):ey(n,r,u),this.animation.cancel()}l==null||l(),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,r;const t=((r=(n=this.animation.effect)==null?void 0:n.getComputedTiming)==null?void 0:r.call(n).duration)||0;return ln(Number(t))}get time(){return ln(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=en(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 r;return this.allowFlatten&&((r=this.animation.effect)==null||r.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&ty()?(this.animation.timeline=t,Zt):n(this)}}const Zf={anticipate:Nf,backInOut:Tf,circInOut:Rf};function ay(e){return e in Zf}function ly(e){typeof e.ease=="string"&&ay(e.ease)&&(e.ease=Zf[e.ease])}const Nc=10;class cy extends oy{constructor(t){ly(t),Hf(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:i,element:s,...o}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const a=new rl({...o,autoplay:!1}),l=en(this.finishedTime??this.time);n.setWithVelocity(a.sample(l-Nc).value,a.sample(l).value,Nc),a.stop()}}const Ac=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(In.test(e)||e==="0")&&!e.startsWith("url("));function uy(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 dy(e,t,n,r){const i=e[0];if(i===null)return!1;if(t==="display"||t==="visibility")return!0;const s=e[e.length-1],o=Ac(i,t),a=Ac(s,t);return Nr(o===a,`You are trying to animate ${t} from "${i}" to "${s}". "${o?s:i}" is not an animatable value.`,"value-not-animatable"),!o||!a?!1:uy(e)||(n==="spring"||Yf(n))&&r}function la(e){e.duration=0,e.type}const fy=new Set(["opacity","clipPath","filter","transform"]),hy=Ha(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function py(e){var u;const{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:s,type:o}=e;if(!(((u=t==null?void 0:t.owner)==null?void 0:u.current)instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:c}=t.owner.getProps();return hy()&&n&&fy.has(n)&&(n!=="transform"||!c)&&!l&&!r&&i!=="mirror"&&s!==0&&o!=="inertia"}const my=40;class gy extends nl{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:o="loop",keyframes:a,name:l,motionValue:c,element:u,...d}){var g;super(),this.stop=()=>{var m,x;this._animation&&(this._animation.stop(),(m=this.stopTimeline)==null||m.call(this)),(x=this.keyframeResolver)==null||x.cancel()},this.createdAt=jt.now();const f={autoplay:t,delay:n,type:r,repeat:i,repeatDelay:s,repeatType:o,name:l,motionValue:c,element:u,...d},p=(u==null?void 0:u.KeyframeResolver)||il;this.keyframeResolver=new p(a,(m,x,y)=>this.onKeyframesResolved(m,x,f,!y),l,c,u),(g=this.keyframeResolver)==null||g.scheduleResolve()}onKeyframesResolved(t,n,r,i){this.keyframeResolver=void 0;const{name:s,type:o,velocity:a,delay:l,isHandoff:c,onUpdate:u}=r;this.resolvedAt=jt.now(),dy(t,s,o,a)||((wn.instantAnimations||!l)&&(u==null||u(tl(t,r,n))),t[0]=t[t.length-1],la(r),r.repeat=0);const f={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>my?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},p=!c&&py(f)?new cy({...f,element:f.motionValue.owner.current}):new rl(f);p.finished.then(()=>this.notifyFinished()).catch(Zt),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(),Qb()),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 by=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function yy(e){const t=by.exec(e);if(!t)return[,];const[,n,r,i]=t;return[`--${n??r}`,i]}const xy=4;function Xf(e,t,n=1){xn(n<=xy,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[r,i]=yy(e);if(!r)return;const s=window.getComputedStyle(t).getPropertyValue(r);if(s){const o=s.trim();return xf(o)?parseFloat(o):o}return Za(i)?Xf(i,t,n+1):i}function sl(e,t){return(e==null?void 0:e[t])??(e==null?void 0:e.default)??e}const Qf=new Set(["width","height","top","left","right","bottom",...Rr]),wy={test:e=>e==="auto",parse:e=>e},Jf=e=>t=>t.test(e),eh=[Ar,we,cn,An,ub,cb,wy],Rc=e=>eh.find(Jf(e));function vy(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||vf(e):!0}const Ey=new Set(["brightness","contrast","saturate","opacity"]);function ky(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Xa)||[];if(!r)return e;const i=n.replace(r,"");let s=Ey.has(t)?1:0;return r!==n&&(s*=100),t+"("+s+i+")"}const Sy=/\b([a-z-]*)\(.*?\)/gu,ca={...In,getAnimatableNone:e=>{const t=e.match(Sy);return t?t.map(ky).join(" "):e}},Mc={...Ar,transform:Math.round},Cy={rotate:An,rotateX:An,rotateY:An,rotateZ:An,scale:Mi,scaleX:Mi,scaleY:Mi,scaleZ:Mi,skew:An,skewX:An,skewY:An,distance:we,translateX:we,translateY:we,translateZ:we,x:we,y:we,z:we,perspective:we,transformPerspective:we,opacity:ri,originX:yc,originY:yc,originZ:we},ol={borderWidth:we,borderTopWidth:we,borderRightWidth:we,borderBottomWidth:we,borderLeftWidth:we,borderRadius:we,radius:we,borderTopLeftRadius:we,borderTopRightRadius:we,borderBottomRightRadius:we,borderBottomLeftRadius:we,width:we,maxWidth:we,height:we,maxHeight:we,top:we,right:we,bottom:we,left:we,padding:we,paddingTop:we,paddingRight:we,paddingBottom:we,paddingLeft:we,margin:we,marginTop:we,marginRight:we,marginBottom:we,marginLeft:we,backgroundPositionX:we,backgroundPositionY:we,...Cy,zIndex:Mc,fillOpacity:ri,strokeOpacity:ri,numOctaves:Mc},_y={...ol,color:yt,backgroundColor:yt,outlineColor:yt,fill:yt,stroke:yt,borderColor:yt,borderTopColor:yt,borderRightColor:yt,borderBottomColor:yt,borderLeftColor:yt,filter:ca,WebkitFilter:ca},th=e=>_y[e];function nh(e,t){let n=th(e);return n!==ca&&(n=In),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Ty=new Set(["auto","none","0"]);function Ny(e,t,n){let r=0,i;for(;r<e.length&&!i;){const s=e[r];typeof s=="string"&&!Ty.has(s)&&ii(s).values.length&&(i=e[r]),r++}if(i&&n)for(const s of t)e[s]=nh(n,i)}class Ay extends il{constructor(t,n,r,i,s){super(t,n,r,i,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:r}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l<t.length;l++){let c=t[l];if(typeof c=="string"&&(c=c.trim(),Za(c))){const u=Xf(c,n.current);u!==void 0&&(t[l]=u),l===t.length-1&&(this.finalKeyframe=c)}}if(this.resolveNoneKeyframes(),!Qf.has(r)||t.length!==2)return;const[i,s]=t,o=Rc(i),a=Rc(s);if(o!==a)if(_c(o)&&_c(a))for(let l=0;l<t.length;l++){const c=t[l];typeof c=="string"&&(t[l]=parseFloat(c))}else Gn[r]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,r=[];for(let i=0;i<t.length;i++)(t[i]===null||vy(t[i]))&&r.push(i);r.length&&Ny(t,r,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:r}=this;if(!t||!t.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Gn[r](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const i=n[n.length-1];i!==void 0&&t.getValue(r,i).jump(i,!1)}measureEndState(){var a;const{element:t,name:n,unresolvedKeyframes:r}=this;if(!t||!t.current)return;const i=t.getValue(n);i&&i.jump(this.measuredOrigin,!1);const s=r.length-1,o=r[s];r[s]=Gn[n](t.measureViewportBox(),window.getComputedStyle(t.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),(a=this.removedTransforms)!=null&&a.length&&this.removedTransforms.forEach(([l,c])=>{t.getValue(l).set(c)}),this.resolveNoneKeyframes()}}function Ry(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let r=document;const i=(n==null?void 0:n[e])??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}const rh=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function ih(e){return wf(e)&&"offsetHeight"in e}const Ic=30,My=e=>!isNaN(parseFloat(e));class Iy{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=r=>{var s;const i=jt.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&((s=this.events.change)==null||s.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=jt.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=My(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return process.env.NODE_ENV!=="production"&&Ga(!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 Wa);const r=this.events[t].add(n);return t==="change"?()=>{r(),it.read(()=>{this.events.change.getSize()||this.stop()})}:r}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,r){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}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=jt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>Ic)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,Ic);return Ef(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 kr(e,t){return new Iy(e,t)}const{schedule:al}=Of(queueMicrotask,!1),Jt={x:!1,y:!1};function sh(){return Jt.x||Jt.y}function Oy(e){return e==="x"||e==="y"?Jt[e]?null:(Jt[e]=!0,()=>{Jt[e]=!1}):Jt.x||Jt.y?null:(Jt.x=Jt.y=!0,()=>{Jt.x=Jt.y=!1})}function oh(e,t){const n=Ry(e),r=new AbortController,i={passive:!0,...t,signal:r.signal};return[n,i,()=>r.abort()]}function Oc(e){return!(e.pointerType==="touch"||sh())}function Py(e,t,n={}){const[r,i,s]=oh(e,n),o=a=>{if(!Oc(a))return;const{target:l}=a,c=t(l,a);if(typeof c!="function"||!l)return;const u=d=>{Oc(d)&&(c(d),l.removeEventListener("pointerleave",u))};l.addEventListener("pointerleave",u,i)};return r.forEach(a=>{a.addEventListener("pointerenter",o,i)}),s}const ah=(e,t)=>t?e===t?!0:ah(e,t.parentElement):!1,ll=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Dy=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Ly(e){return Dy.has(e.tagName)||e.tabIndex!==-1}const Qi=new WeakSet;function Pc(e){return t=>{t.key==="Enter"&&e(t)}}function io(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Fy=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=Pc(()=>{if(Qi.has(n))return;io(n,"down");const i=Pc(()=>{io(n,"up")}),s=()=>io(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function Dc(e){return ll(e)&&!sh()}function jy(e,t,n={}){const[r,i,s]=oh(e,n),o=a=>{const l=a.currentTarget;if(!Dc(a))return;Qi.add(l);const c=t(l,a),u=(p,g)=>{window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",f),Qi.has(l)&&Qi.delete(l),Dc(p)&&typeof c=="function"&&c(p,{success:g})},d=p=>{u(p,l===window||l===document||n.useGlobalTarget||ah(l,p.target))},f=p=>{u(p,!1)};window.addEventListener("pointerup",d,i),window.addEventListener("pointercancel",f,i)};return r.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",o,i),ih(a)&&(a.addEventListener("focus",c=>Fy(c,i)),!Ly(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),s}function lh(e){return wf(e)&&"ownerSVGElement"in e}function By(e){return lh(e)&&e.tagName==="svg"}const Rt=e=>!!(e&&e.getVelocity),$y=[...eh,yt,In],Vy=e=>$y.find(Jf(e)),cl=A.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class zy extends P.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=n.offsetParent,i=ih(r)&&r.offsetWidth||0,s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft,s.right=i-s.width-s.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Uy({children:e,isPresent:t,anchorX:n,root:r}){const i=A.useId(),s=A.useRef(null),o=A.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=A.useContext(cl);return A.useInsertionEffect(()=>{const{width:l,height:c,top:u,left:d,right:f}=o.current;if(t||!s.current||!l||!c)return;const p=n==="left"?`left: ${d}`:`right: ${f}`;s.current.dataset.motionPopId=i;const g=document.createElement("style");a&&(g.nonce=a);const m=r??document.head;return m.appendChild(g),g.sheet&&g.sheet.insertRule(`
|
|
21
|
+
"use strict";var Vg=Object.defineProperty;var zg=(e,t,n)=>t in e?Vg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var rt=(e,t,n)=>zg(e,typeof t!="symbol"?t+"":t,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("react"),h=require("react/jsx-runtime"),ce=require("livekit-client"),Ft=require("@livekit/components-react"),ze=require("lucide-react"),ja=require("clsx"),Ug=require("@emotion/styled");require("@emotion/react");const Hg=require("react-dom/client");function Wg(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const P=Wg(A),Ba=A.createContext({});function $a(e){const t=A.useRef(null);return t.current===null&&(t.current=e()),t.current}const Va=typeof window<"u",yf=Va?A.useLayoutEffect:A.useEffect,ks=A.createContext(null);function za(e,t){e.indexOf(t)===-1&&e.push(t)}function Ua(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const yn=(e,t,n)=>n>t?t:n<e?e:n;function Zo(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}let Nr=()=>{},xn=()=>{};process.env.NODE_ENV!=="production"&&(Nr=(e,t,n)=>{!e&&typeof console<"u"&&console.warn(Zo(t,n))},xn=(e,t,n)=>{if(!e)throw new Error(Zo(t,n))});const wn={},xf=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function wf(e){return typeof e=="object"&&e!==null}const vf=e=>/^0[^.\s]+$/u.test(e);function Ha(e){let t;return()=>(t===void 0&&(t=e()),t)}const Zt=e=>e,Gg=(e,t)=>n=>t(e(n)),hi=(...e)=>e.reduce(Gg),ni=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class Wa{constructor(){this.subscriptions=[]}add(t){return za(this.subscriptions,t),()=>Ua(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let s=0;s<i;s++){const o=this.subscriptions[s];o&&o(t,n,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const en=e=>e*1e3,ln=e=>e/1e3;function Ef(e,t){return t?e*(1e3/t):0}const mc=new Set;function Ga(e,t,n){e||mc.has(t)||(console.warn(Zo(t,n)),mc.add(t))}const kf=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Kg=1e-7,qg=12;function Yg(e,t,n,r,i){let s,o,a=0;do o=t+(n-t)/2,s=kf(o,r,i)-e,s>0?n=o:t=o;while(Math.abs(s)>Kg&&++a<qg);return o}function pi(e,t,n,r){if(e===t&&n===r)return Zt;const i=s=>Yg(s,0,1,e,n);return s=>s===0||s===1?s:kf(i(s),t,r)}const Sf=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Cf=e=>t=>1-e(1-t),_f=pi(.33,1.53,.69,.99),Ka=Cf(_f),Tf=Sf(Ka),Nf=e=>(e*=2)<1?.5*Ka(e):.5*(2-Math.pow(2,-10*(e-1))),qa=e=>1-Math.sin(Math.acos(e)),Af=Cf(qa),Rf=Sf(qa),Zg=pi(.42,0,1,1),Xg=pi(0,0,.58,1),Mf=pi(.42,0,.58,1),Qg=e=>Array.isArray(e)&&typeof e[0]!="number",If=e=>Array.isArray(e)&&typeof e[0]=="number",gc={linear:Zt,easeIn:Zg,easeInOut:Mf,easeOut:Xg,circIn:qa,circInOut:Rf,circOut:Af,backIn:Ka,backInOut:Tf,backOut:_f,anticipate:Nf},Jg=e=>typeof e=="string",bc=e=>{if(If(e)){xn(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,r,i]=e;return pi(t,n,r,i)}else if(Jg(e))return xn(gc[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),gc[e];return e},Ri=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function eb(e,t){let n=new Set,r=new Set,i=!1,s=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(u){o.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,f=!1)=>{const g=f&&i?n:r;return d&&o.add(u),g.has(u)||g.add(u),u},cancel:u=>{r.delete(u),o.delete(u)},process:u=>{if(a=u,i){s=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),n.clear(),i=!1,s&&(s=!1,c.process(u))}};return c}const tb=40;function Of(e,t){let n=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,o=Ri.reduce((E,_)=>(E[_]=eb(s),E),{}),{setup:a,read:l,resolveKeyframes:c,preUpdate:u,update:d,preRender:f,render:p,postRender:g}=o,m=()=>{const E=wn.useManualTiming?i.timestamp:performance.now();n=!1,wn.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(E-i.timestamp,tb),1)),i.timestamp=E,i.isProcessing=!0,a.process(i),l.process(i),c.process(i),u.process(i),d.process(i),f.process(i),p.process(i),g.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(m))},x=()=>{n=!0,r=!0,i.isProcessing||e(m)};return{schedule:Ri.reduce((E,_)=>{const v=o[_];return E[_]=(C,M=!1,N=!1)=>(n||x(),v.schedule(C,M,N)),E},{}),cancel:E=>{for(let _=0;_<Ri.length;_++)o[Ri[_]].cancel(E)},state:i,steps:o}}const{schedule:st,cancel:Mn,state:Tt,steps:Js}=Of(typeof requestAnimationFrame<"u"?requestAnimationFrame:Zt,!0);let Xi;function nb(){Xi=void 0}const jt={now:()=>(Xi===void 0&&jt.set(Tt.isProcessing||wn.useManualTiming?Tt.timestamp:performance.now()),Xi),set:e=>{Xi=e,queueMicrotask(nb)}},Pf=e=>t=>typeof t=="string"&&t.startsWith(e),Ya=Pf("--"),rb=Pf("var(--"),Za=e=>rb(e)?ib.test(e.split("/*")[0].trim()):!1,ib=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Ar={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},ri={...Ar,transform:e=>yn(0,1,e)},Mi={...Ar,default:1},qr=e=>Math.round(e*1e5)/1e5,Xa=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function sb(e){return e==null}const ob=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Qa=(e,t)=>n=>!!(typeof n=="string"&&ob.test(n)&&n.startsWith(e)||t&&!sb(n)&&Object.prototype.hasOwnProperty.call(n,t)),Df=(e,t,n)=>r=>{if(typeof r!="string")return r;const[i,s,o,a]=r.match(Xa);return{[e]:parseFloat(i),[t]:parseFloat(s),[n]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},ab=e=>yn(0,255,e),eo={...Ar,transform:e=>Math.round(ab(e))},Un={test:Qa("rgb","red"),parse:Df("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eo.transform(e)+", "+eo.transform(t)+", "+eo.transform(n)+", "+qr(ri.transform(r))+")"};function lb(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const Xo={test:Qa("#"),parse:lb,transform:Un.transform},mi=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),An=mi("deg"),cn=mi("%"),we=mi("px"),cb=mi("vh"),ub=mi("vw"),yc={...cn,parse:e=>cn.parse(e)/100,transform:e=>cn.transform(e*100)},pr={test:Qa("hsl","hue"),parse:Df("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+cn.transform(qr(t))+", "+cn.transform(qr(n))+", "+qr(ri.transform(r))+")"},yt={test:e=>Un.test(e)||Xo.test(e)||pr.test(e),parse:e=>Un.test(e)?Un.parse(e):pr.test(e)?pr.parse(e):Xo.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Un.transform(e):pr.transform(e),getAnimatableNone:e=>{const t=yt.parse(e);return t.alpha=0,yt.transform(t)}},db=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function fb(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(Xa))==null?void 0:t.length)||0)+(((n=e.match(db))==null?void 0:n.length)||0)>0}const Lf="number",Ff="color",hb="var",pb="var(",xc="${}",mb=/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 ii(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[];let s=0;const a=t.replace(mb,l=>(yt.test(l)?(r.color.push(s),i.push(Ff),n.push(yt.parse(l))):l.startsWith(pb)?(r.var.push(s),i.push(hb),n.push(l)):(r.number.push(s),i.push(Lf),n.push(parseFloat(l))),++s,xc)).split(xc);return{values:n,split:a,indexes:r,types:i}}function jf(e){return ii(e).values}function Bf(e){const{split:t,types:n}=ii(e),r=t.length;return i=>{let s="";for(let o=0;o<r;o++)if(s+=t[o],i[o]!==void 0){const a=n[o];a===Lf?s+=qr(i[o]):a===Ff?s+=yt.transform(i[o]):s+=i[o]}return s}}const gb=e=>typeof e=="number"?0:yt.test(e)?yt.getAnimatableNone(e):e;function bb(e){const t=jf(e);return Bf(e)(t.map(gb))}const In={test:fb,parse:jf,createTransformer:Bf,getAnimatableNone:bb};function to(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 yb({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,s=0,o=0;if(!t)i=s=o=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=to(l,a,e+1/3),s=to(l,a,e),o=to(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(s*255),blue:Math.round(o*255),alpha:r}}function ls(e,t){return n=>n>0?t:e}const at=(e,t,n)=>e+(t-e)*n,no=(e,t,n)=>{const r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},xb=[Xo,Un,pr],wb=e=>xb.find(t=>t.test(e));function wc(e){const t=wb(e);if(Nr(!!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===pr&&(n=yb(n)),n}const vc=(e,t)=>{const n=wc(e),r=wc(t);if(!n||!r)return ls(e,t);const i={...n};return s=>(i.red=no(n.red,r.red,s),i.green=no(n.green,r.green,s),i.blue=no(n.blue,r.blue,s),i.alpha=at(n.alpha,r.alpha,s),Un.transform(i))},Qo=new Set(["none","hidden"]);function vb(e,t){return Qo.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Eb(e,t){return n=>at(e,t,n)}function Ja(e){return typeof e=="number"?Eb:typeof e=="string"?Za(e)?ls:yt.test(e)?vc:Cb:Array.isArray(e)?$f:typeof e=="object"?yt.test(e)?vc:kb:ls}function $f(e,t){const n=[...e],r=n.length,i=e.map((s,o)=>Ja(s)(s,t[o]));return s=>{for(let o=0;o<r;o++)n[o]=i[o](s);return n}}function kb(e,t){const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Ja(e[i])(e[i],t[i]));return i=>{for(const s in r)n[s]=r[s](i);return n}}function Sb(e,t){const n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){const s=t.types[i],o=e.indexes[s][r[s]],a=e.values[o]??0;n[i]=a,r[s]++}return n}const Cb=(e,t)=>{const n=In.createTransformer(t),r=ii(e),i=ii(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Qo.has(e)&&!i.values.length||Qo.has(t)&&!r.values.length?vb(e,t):hi($f(Sb(r,i),i.values),n):(Nr(!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"),ls(e,t))};function Vf(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?at(e,t,n):Ja(e)(e,t)}const _b=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>st.update(t,n),stop:()=>Mn(t),now:()=>Tt.isProcessing?Tt.timestamp:jt.now()}},zf=(e,t,n=10)=>{let r="";const i=Math.max(Math.round(t/n),2);for(let s=0;s<i;s++)r+=Math.round(e(s/(i-1))*1e4)/1e4+", ";return`linear(${r.substring(0,r.length-2)})`},cs=2e4;function el(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t<cs;)t+=n,r=e.next(t);return t>=cs?1/0:t}function Tb(e,t=100,n){const r=n({...e,keyframes:[0,t]}),i=Math.min(el(r),cs);return{type:"keyframes",ease:s=>r.next(i*s).value/t,duration:ln(i)}}const Nb=5;function Uf(e,t,n){const r=Math.max(t-Nb,0);return Ef(n-e(r),t-r)}const ot={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},ro=.001;function Ab({duration:e=ot.duration,bounce:t=ot.bounce,velocity:n=ot.velocity,mass:r=ot.mass}){let i,s;Nr(e<=en(ot.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let o=1-t;o=yn(ot.minDamping,ot.maxDamping,o),e=yn(ot.minDuration,ot.maxDuration,ln(e)),o<1?(i=c=>{const u=c*o,d=u*e,f=u-n,p=Jo(c,o),g=Math.exp(-d);return ro-f/p*g},s=c=>{const d=c*o*e,f=d*n+n,p=Math.pow(o,2)*Math.pow(c,2)*e,g=Math.exp(-d),m=Jo(Math.pow(c,2),o);return(-i(c)+ro>0?-1:1)*((f-p)*g)/m}):(i=c=>{const u=Math.exp(-c*e),d=(c-n)*e+1;return-ro+u*d},s=c=>{const u=Math.exp(-c*e),d=(n-c)*(e*e);return u*d});const a=5/e,l=Mb(i,s,a);if(e=en(e),isNaN(l))return{stiffness:ot.stiffness,damping:ot.damping,duration:e};{const c=Math.pow(l,2)*r;return{stiffness:c,damping:o*2*Math.sqrt(r*c),duration:e}}}const Rb=12;function Mb(e,t,n){let r=n;for(let i=1;i<Rb;i++)r=r-e(r)/t(r);return r}function Jo(e,t){return e*Math.sqrt(1-t*t)}const Ib=["duration","bounce"],Ob=["stiffness","damping","mass"];function Ec(e,t){return t.some(n=>e[n]!==void 0)}function Pb(e){let t={velocity:ot.velocity,stiffness:ot.stiffness,damping:ot.damping,mass:ot.mass,isResolvedFromDuration:!1,...e};if(!Ec(e,Ob)&&Ec(e,Ib))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,s=2*yn(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:ot.mass,stiffness:i,damping:s}}else{const n=Ab(e);t={...t,...n,mass:ot.mass},t.isResolvedFromDuration=!0}return t}function us(e=ot.visualDuration,t=ot.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:i}=n;const s=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:s},{stiffness:l,damping:c,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Pb({...n,velocity:-ln(n.velocity||0)}),g=f||0,m=c/(2*Math.sqrt(l*u)),x=o-s,y=ln(Math.sqrt(l/u)),k=Math.abs(x)<5;r||(r=k?ot.restSpeed.granular:ot.restSpeed.default),i||(i=k?ot.restDelta.granular:ot.restDelta.default);let E;if(m<1){const v=Jo(y,m);E=C=>{const M=Math.exp(-m*y*C);return o-M*((g+m*y*x)/v*Math.sin(v*C)+x*Math.cos(v*C))}}else if(m===1)E=v=>o-Math.exp(-y*v)*(x+(g+y*x)*v);else{const v=y*Math.sqrt(m*m-1);E=C=>{const M=Math.exp(-m*y*C),N=Math.min(v*C,300);return o-M*((g+m*y*x)*Math.sinh(N)+v*x*Math.cosh(N))/v}}const _={calculatedDuration:p&&d||null,next:v=>{const C=E(v);if(p)a.done=v>=d;else{let M=v===0?g:0;m<1&&(M=v===0?en(g):Uf(E,v,C));const N=Math.abs(M)<=r,O=Math.abs(o-C)<=i;a.done=N&&O}return a.value=a.done?o:C,a},toString:()=>{const v=Math.min(el(_),cs),C=zf(M=>_.next(v*M).value,v,30);return v+"ms "+C},toTransition:()=>{}};return _}us.applyToOptions=e=>{const t=Tb(e,100,us);return e.ease=t.ease,e.duration=en(t.duration),e.type="keyframes",e};function ea({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:s=500,modifyTarget:o,min:a,max:l,restDelta:c=.5,restSpeed:u}){const d=e[0],f={done:!1,value:d},p=N=>a!==void 0&&N<a||l!==void 0&&N>l,g=N=>a===void 0?l:l===void 0||Math.abs(a-N)<Math.abs(l-N)?a:l;let m=n*t;const x=d+m,y=o===void 0?x:o(x);y!==x&&(m=y-d);const k=N=>-m*Math.exp(-N/r),E=N=>y+k(N),_=N=>{const O=k(N),b=E(N);f.done=Math.abs(O)<=c,f.value=f.done?y:b};let v,C;const M=N=>{p(f.value)&&(v=N,C=us({keyframes:[f.value,g(f.value)],velocity:Uf(E,N,f.value),damping:i,stiffness:s,restDelta:c,restSpeed:u}))};return M(0),{calculatedDuration:null,next:N=>{let O=!1;return!C&&v===void 0&&(O=!0,_(N),M(N)),v!==void 0&&N>=v?C.next(N-v):(!O&&_(N),f)}}}function Db(e,t,n){const r=[],i=n||wn.mix||Vf,s=e.length-1;for(let o=0;o<s;o++){let a=i(e[o],e[o+1]);if(t){const l=Array.isArray(t)?t[o]||Zt:t;a=hi(l,a)}r.push(a)}return r}function Lb(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const s=e.length;if(xn(s===t.length,"Both input and output ranges must be the same length","range-length"),s===1)return()=>t[0];if(s===2&&t[0]===t[1])return()=>t[1];const o=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=Db(t,r,i),l=a.length,c=u=>{if(o&&u<e[0])return t[0];let d=0;if(l>1)for(;d<e.length-2&&!(u<e[d+1]);d++);const f=ni(e[d],e[d+1],u);return a[d](f)};return n?u=>c(yn(e[0],e[s-1],u)):c}function Fb(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=ni(0,t,r);e.push(at(n,1,i))}}function jb(e){const t=[0];return Fb(t,e.length-1),t}function Bb(e,t){return e.map(n=>n*t)}function $b(e,t){return e.map(()=>t||Mf).splice(0,e.length-1)}function mr({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=Qg(r)?r.map(bc):bc(r),s={done:!1,value:t[0]},o=Bb(n&&n.length===t.length?n:jb(t),e),a=Lb(o,t,{ease:Array.isArray(i)?i:$b(t,i)});return{calculatedDuration:e,next:l=>(s.value=a(l),s.done=l>=e,s)}}const Vb=e=>e!==null;function tl(e,{repeat:t,repeatType:n="loop"},r,i=1){const s=e.filter(Vb),a=i<0||t&&n!=="loop"&&t%2===1?0:s.length-1;return!a||r===void 0?s[a]:r}const zb={decay:ea,inertia:ea,tween:mr,keyframes:mr,spring:us};function Hf(e){typeof e.type=="string"&&(e.type=zb[e.type])}class nl{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 Ub=e=>e/100;class rl extends nl{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{var r,i;const{motionValue:n}=this.options;n&&n.updatedAt!==jt.now()&&this.tick(jt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(i=(r=this.options).onStop)==null||i.call(r))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Hf(t);const{type:n=mr,repeat:r=0,repeatDelay:i=0,repeatType:s,velocity:o=0}=t;let{keyframes:a}=t;const l=n||mr;process.env.NODE_ENV!=="production"&&l!==mr&&xn(a.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`,"spring-two-frames"),l!==mr&&typeof a[0]!="number"&&(this.mixKeyframes=hi(Ub,Vf(a[0],a[1])),a=[0,100]);const c=l({...t,keyframes:a});s==="mirror"&&(this.mirroredGenerator=l({...t,keyframes:[...a].reverse(),velocity:-o})),c.calculatedDuration===null&&(c.calculatedDuration=el(c));const{calculatedDuration:u}=c;this.calculatedDuration=u,this.resolvedDuration=u+i,this.totalDuration=this.resolvedDuration*(r+1)-i,this.generator=c}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:r,totalDuration:i,mixKeyframes:s,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return r.next(0);const{delay:c=0,keyframes:u,repeat:d,repeatType:f,repeatDelay:p,type:g,onUpdate:m,finalKeyframe:x}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const y=this.currentTime-c*(this.playbackSpeed>=0?1:-1),k=this.playbackSpeed>=0?y<0:y>i;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let E=this.currentTime,_=r;if(d){const N=Math.min(this.currentTime,i)/a;let O=Math.floor(N),b=N%1;!b&&N>=1&&(b=1),b===1&&O--,O=Math.min(O,d+1),!!(O%2)&&(f==="reverse"?(b=1-b,p&&(b-=p/a)):f==="mirror"&&(_=o)),E=yn(0,1,b)*a}const v=k?{done:!1,value:u[0]}:_.next(E);s&&(v.value=s(v.value));let{done:C}=v;!k&&l!==null&&(C=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const M=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&C);return M&&g!==ea&&(v.value=tl(u,this.options,x,this.speed)),m&&m(v.value),M&&this.finish(),v}then(t,n){return this.finished.then(t,n)}get duration(){return ln(this.calculatedDuration)}get time(){return ln(this.currentTime)}set time(t){var n;t=en(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(jt.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=ln(this.currentTime))}play(){var i,s;if(this.isStopped)return;const{driver:t=_b,startTime:n}=this.options;this.driver||(this.driver=t(o=>this.tick(o))),(s=(i=this.options).onPlay)==null||s.call(i);const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=n??r),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(jt.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 Hb(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const Hn=e=>e*180/Math.PI,ta=e=>{const t=Hn(Math.atan2(e[1],e[0]));return na(t)},Wb={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:ta,rotateZ:ta,skewX:e=>Hn(Math.atan(e[1])),skewY:e=>Hn(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},na=e=>(e=e%360,e<0&&(e+=360),e),kc=ta,Sc=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Cc=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Gb={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Sc,scaleY:Cc,scale:e=>(Sc(e)+Cc(e))/2,rotateX:e=>na(Hn(Math.atan2(e[6],e[5]))),rotateY:e=>na(Hn(Math.atan2(-e[2],e[0]))),rotateZ:kc,rotate:kc,skewX:e=>Hn(Math.atan(e[4])),skewY:e=>Hn(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ra(e){return e.includes("scale")?1:0}function ia(e,t){if(!e||e==="none")return ra(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,i;if(n)r=Gb,i=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Wb,i=a}if(!i)return ra(t);const s=r[t],o=i[1].split(",").map(qb);return typeof s=="function"?s(o):o[s]}const Kb=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return ia(n,t)};function qb(e){return parseFloat(e.trim())}const Rr=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Mr=new Set(Rr),_c=e=>e===Ar||e===we,Yb=new Set(["x","y","z"]),Zb=Rr.filter(e=>!Yb.has(e));function Xb(e){const t=[];return Zb.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const Gn={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})=>ia(t,"x"),y:(e,{transform:t})=>ia(t,"y")};Gn.translateX=Gn.x;Gn.translateY=Gn.y;const Kn=new Set;let sa=!1,oa=!1,aa=!1;function Wf(){if(oa){const e=Array.from(Kn).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const i=Xb(r);i.length&&(n.set(r,i),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const i=n.get(r);i&&i.forEach(([s,o])=>{var a;(a=r.getValue(s))==null||a.set(o)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}oa=!1,sa=!1,Kn.forEach(e=>e.complete(aa)),Kn.clear()}function Gf(){Kn.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(oa=!0)})}function Qb(){aa=!0,Gf(),Wf(),aa=!1}class il{constructor(t,n,r,i,s,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=i,this.element=s,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(Kn.add(this),sa||(sa=!0,st.read(Gf),st.resolveKeyframes(Wf))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:i}=this;if(t[0]===null){const s=i==null?void 0:i.get(),o=t[t.length-1];if(s!==void 0)t[0]=s;else if(r&&n){const a=r.readValue(n,o);a!=null&&(t[0]=a)}t[0]===void 0&&(t[0]=o),i&&s===void 0&&i.set(t[0])}Hb(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Kn.delete(this)}cancel(){this.state==="scheduled"&&(Kn.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Jb=e=>e.startsWith("--");function ey(e,t,n){Jb(t)?e.style.setProperty(t,n):e.style[t]=n}const ty=Ha(()=>window.ScrollTimeline!==void 0),ny={};function ry(e,t){const n=Ha(e);return()=>ny[t]??n()}const Kf=ry(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Wr=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Tc={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Wr([0,.65,.55,1]),circOut:Wr([.55,0,1,.45]),backIn:Wr([.31,.01,.66,-.59]),backOut:Wr([.33,1.53,.69,.99])};function qf(e,t){if(e)return typeof e=="function"?Kf()?zf(e,t):"ease-out":If(e)?Wr(e):Array.isArray(e)?e.map(n=>qf(n,t)||Tc.easeOut):Tc[e]}function iy(e,t,n,{delay:r=0,duration:i=300,repeat:s=0,repeatType:o="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[t]:n};l&&(u.offset=l);const d=qf(a,i);Array.isArray(d)&&(u.easing=d);const f={delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:o==="reverse"?"alternate":"normal"};return c&&(f.pseudoElement=c),e.animate(u,f)}function Yf(e){return typeof e=="function"&&"applyToOptions"in e}function sy({type:e,...t}){return Yf(e)&&Kf()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class oy extends nl{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:r,keyframes:i,pseudoElement:s,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=t;this.isPseudoElement=!!s,this.allowFlatten=o,this.options=t,xn(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const c=sy(t);this.animation=iy(n,r,i,c,s),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){const u=tl(i,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(u):ey(n,r,u),this.animation.cancel()}l==null||l(),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,r;const t=((r=(n=this.animation.effect)==null?void 0:n.getComputedTiming)==null?void 0:r.call(n).duration)||0;return ln(Number(t))}get time(){return ln(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=en(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 r;return this.allowFlatten&&((r=this.animation.effect)==null||r.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&ty()?(this.animation.timeline=t,Zt):n(this)}}const Zf={anticipate:Nf,backInOut:Tf,circInOut:Rf};function ay(e){return e in Zf}function ly(e){typeof e.ease=="string"&&ay(e.ease)&&(e.ease=Zf[e.ease])}const Nc=10;class cy extends oy{constructor(t){ly(t),Hf(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:i,element:s,...o}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const a=new rl({...o,autoplay:!1}),l=en(this.finishedTime??this.time);n.setWithVelocity(a.sample(l-Nc).value,a.sample(l).value,Nc),a.stop()}}const Ac=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(In.test(e)||e==="0")&&!e.startsWith("url("));function uy(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 dy(e,t,n,r){const i=e[0];if(i===null)return!1;if(t==="display"||t==="visibility")return!0;const s=e[e.length-1],o=Ac(i,t),a=Ac(s,t);return Nr(o===a,`You are trying to animate ${t} from "${i}" to "${s}". "${o?s:i}" is not an animatable value.`,"value-not-animatable"),!o||!a?!1:uy(e)||(n==="spring"||Yf(n))&&r}function la(e){e.duration=0,e.type}const fy=new Set(["opacity","clipPath","filter","transform"]),hy=Ha(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function py(e){var u;const{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:s,type:o}=e;if(!(((u=t==null?void 0:t.owner)==null?void 0:u.current)instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:c}=t.owner.getProps();return hy()&&n&&fy.has(n)&&(n!=="transform"||!c)&&!l&&!r&&i!=="mirror"&&s!==0&&o!=="inertia"}const my=40;class gy extends nl{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:o="loop",keyframes:a,name:l,motionValue:c,element:u,...d}){var g;super(),this.stop=()=>{var m,x;this._animation&&(this._animation.stop(),(m=this.stopTimeline)==null||m.call(this)),(x=this.keyframeResolver)==null||x.cancel()},this.createdAt=jt.now();const f={autoplay:t,delay:n,type:r,repeat:i,repeatDelay:s,repeatType:o,name:l,motionValue:c,element:u,...d},p=(u==null?void 0:u.KeyframeResolver)||il;this.keyframeResolver=new p(a,(m,x,y)=>this.onKeyframesResolved(m,x,f,!y),l,c,u),(g=this.keyframeResolver)==null||g.scheduleResolve()}onKeyframesResolved(t,n,r,i){this.keyframeResolver=void 0;const{name:s,type:o,velocity:a,delay:l,isHandoff:c,onUpdate:u}=r;this.resolvedAt=jt.now(),dy(t,s,o,a)||((wn.instantAnimations||!l)&&(u==null||u(tl(t,r,n))),t[0]=t[t.length-1],la(r),r.repeat=0);const f={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>my?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},p=!c&&py(f)?new cy({...f,element:f.motionValue.owner.current}):new rl(f);p.finished.then(()=>this.notifyFinished()).catch(Zt),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(),Qb()),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 by=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function yy(e){const t=by.exec(e);if(!t)return[,];const[,n,r,i]=t;return[`--${n??r}`,i]}const xy=4;function Xf(e,t,n=1){xn(n<=xy,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[r,i]=yy(e);if(!r)return;const s=window.getComputedStyle(t).getPropertyValue(r);if(s){const o=s.trim();return xf(o)?parseFloat(o):o}return Za(i)?Xf(i,t,n+1):i}function sl(e,t){return(e==null?void 0:e[t])??(e==null?void 0:e.default)??e}const Qf=new Set(["width","height","top","left","right","bottom",...Rr]),wy={test:e=>e==="auto",parse:e=>e},Jf=e=>t=>t.test(e),eh=[Ar,we,cn,An,ub,cb,wy],Rc=e=>eh.find(Jf(e));function vy(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||vf(e):!0}const Ey=new Set(["brightness","contrast","saturate","opacity"]);function ky(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Xa)||[];if(!r)return e;const i=n.replace(r,"");let s=Ey.has(t)?1:0;return r!==n&&(s*=100),t+"("+s+i+")"}const Sy=/\b([a-z-]*)\(.*?\)/gu,ca={...In,getAnimatableNone:e=>{const t=e.match(Sy);return t?t.map(ky).join(" "):e}},Mc={...Ar,transform:Math.round},Cy={rotate:An,rotateX:An,rotateY:An,rotateZ:An,scale:Mi,scaleX:Mi,scaleY:Mi,scaleZ:Mi,skew:An,skewX:An,skewY:An,distance:we,translateX:we,translateY:we,translateZ:we,x:we,y:we,z:we,perspective:we,transformPerspective:we,opacity:ri,originX:yc,originY:yc,originZ:we},ol={borderWidth:we,borderTopWidth:we,borderRightWidth:we,borderBottomWidth:we,borderLeftWidth:we,borderRadius:we,radius:we,borderTopLeftRadius:we,borderTopRightRadius:we,borderBottomRightRadius:we,borderBottomLeftRadius:we,width:we,maxWidth:we,height:we,maxHeight:we,top:we,right:we,bottom:we,left:we,padding:we,paddingTop:we,paddingRight:we,paddingBottom:we,paddingLeft:we,margin:we,marginTop:we,marginRight:we,marginBottom:we,marginLeft:we,backgroundPositionX:we,backgroundPositionY:we,...Cy,zIndex:Mc,fillOpacity:ri,strokeOpacity:ri,numOctaves:Mc},_y={...ol,color:yt,backgroundColor:yt,outlineColor:yt,fill:yt,stroke:yt,borderColor:yt,borderTopColor:yt,borderRightColor:yt,borderBottomColor:yt,borderLeftColor:yt,filter:ca,WebkitFilter:ca},th=e=>_y[e];function nh(e,t){let n=th(e);return n!==ca&&(n=In),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Ty=new Set(["auto","none","0"]);function Ny(e,t,n){let r=0,i;for(;r<e.length&&!i;){const s=e[r];typeof s=="string"&&!Ty.has(s)&&ii(s).values.length&&(i=e[r]),r++}if(i&&n)for(const s of t)e[s]=nh(n,i)}class Ay extends il{constructor(t,n,r,i,s){super(t,n,r,i,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:r}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l<t.length;l++){let c=t[l];if(typeof c=="string"&&(c=c.trim(),Za(c))){const u=Xf(c,n.current);u!==void 0&&(t[l]=u),l===t.length-1&&(this.finalKeyframe=c)}}if(this.resolveNoneKeyframes(),!Qf.has(r)||t.length!==2)return;const[i,s]=t,o=Rc(i),a=Rc(s);if(o!==a)if(_c(o)&&_c(a))for(let l=0;l<t.length;l++){const c=t[l];typeof c=="string"&&(t[l]=parseFloat(c))}else Gn[r]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,r=[];for(let i=0;i<t.length;i++)(t[i]===null||vy(t[i]))&&r.push(i);r.length&&Ny(t,r,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:r}=this;if(!t||!t.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Gn[r](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const i=n[n.length-1];i!==void 0&&t.getValue(r,i).jump(i,!1)}measureEndState(){var a;const{element:t,name:n,unresolvedKeyframes:r}=this;if(!t||!t.current)return;const i=t.getValue(n);i&&i.jump(this.measuredOrigin,!1);const s=r.length-1,o=r[s];r[s]=Gn[n](t.measureViewportBox(),window.getComputedStyle(t.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),(a=this.removedTransforms)!=null&&a.length&&this.removedTransforms.forEach(([l,c])=>{t.getValue(l).set(c)}),this.resolveNoneKeyframes()}}function Ry(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let r=document;const i=(n==null?void 0:n[e])??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}const rh=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function ih(e){return wf(e)&&"offsetHeight"in e}const Ic=30,My=e=>!isNaN(parseFloat(e));class Iy{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=r=>{var s;const i=jt.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&((s=this.events.change)==null||s.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=jt.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=My(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return process.env.NODE_ENV!=="production"&&Ga(!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 Wa);const r=this.events[t].add(n);return t==="change"?()=>{r(),st.read(()=>{this.events.change.getSize()||this.stop()})}:r}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,r){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}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=jt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>Ic)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,Ic);return Ef(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 kr(e,t){return new Iy(e,t)}const{schedule:al}=Of(queueMicrotask,!1),Jt={x:!1,y:!1};function sh(){return Jt.x||Jt.y}function Oy(e){return e==="x"||e==="y"?Jt[e]?null:(Jt[e]=!0,()=>{Jt[e]=!1}):Jt.x||Jt.y?null:(Jt.x=Jt.y=!0,()=>{Jt.x=Jt.y=!1})}function oh(e,t){const n=Ry(e),r=new AbortController,i={passive:!0,...t,signal:r.signal};return[n,i,()=>r.abort()]}function Oc(e){return!(e.pointerType==="touch"||sh())}function Py(e,t,n={}){const[r,i,s]=oh(e,n),o=a=>{if(!Oc(a))return;const{target:l}=a,c=t(l,a);if(typeof c!="function"||!l)return;const u=d=>{Oc(d)&&(c(d),l.removeEventListener("pointerleave",u))};l.addEventListener("pointerleave",u,i)};return r.forEach(a=>{a.addEventListener("pointerenter",o,i)}),s}const ah=(e,t)=>t?e===t?!0:ah(e,t.parentElement):!1,ll=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Dy=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Ly(e){return Dy.has(e.tagName)||e.tabIndex!==-1}const Qi=new WeakSet;function Pc(e){return t=>{t.key==="Enter"&&e(t)}}function io(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Fy=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=Pc(()=>{if(Qi.has(n))return;io(n,"down");const i=Pc(()=>{io(n,"up")}),s=()=>io(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function Dc(e){return ll(e)&&!sh()}function jy(e,t,n={}){const[r,i,s]=oh(e,n),o=a=>{const l=a.currentTarget;if(!Dc(a))return;Qi.add(l);const c=t(l,a),u=(p,g)=>{window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",f),Qi.has(l)&&Qi.delete(l),Dc(p)&&typeof c=="function"&&c(p,{success:g})},d=p=>{u(p,l===window||l===document||n.useGlobalTarget||ah(l,p.target))},f=p=>{u(p,!1)};window.addEventListener("pointerup",d,i),window.addEventListener("pointercancel",f,i)};return r.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",o,i),ih(a)&&(a.addEventListener("focus",c=>Fy(c,i)),!Ly(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),s}function lh(e){return wf(e)&&"ownerSVGElement"in e}function By(e){return lh(e)&&e.tagName==="svg"}const Rt=e=>!!(e&&e.getVelocity),$y=[...eh,yt,In],Vy=e=>$y.find(Jf(e)),cl=A.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class zy extends P.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=n.offsetParent,i=ih(r)&&r.offsetWidth||0,s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft,s.right=i-s.width-s.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Uy({children:e,isPresent:t,anchorX:n,root:r}){const i=A.useId(),s=A.useRef(null),o=A.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=A.useContext(cl);return A.useInsertionEffect(()=>{const{width:l,height:c,top:u,left:d,right:f}=o.current;if(t||!s.current||!l||!c)return;const p=n==="left"?`left: ${d}`:`right: ${f}`;s.current.dataset.motionPopId=i;const g=document.createElement("style");a&&(g.nonce=a);const m=r??document.head;return m.appendChild(g),g.sheet&&g.sheet.insertRule(`
|
|
22
22
|
[data-motion-pop-id="${i}"] {
|
|
23
23
|
position: absolute !important;
|
|
24
24
|
width: ${l}px !important;
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
${p}px !important;
|
|
27
27
|
top: ${u}px !important;
|
|
28
28
|
}
|
|
29
|
-
`),()=>{m.contains(g)&&m.removeChild(g)}},[t]),h.jsx(zy,{isPresent:t,childRef:s,sizeRef:o,children:P.cloneElement(e,{ref:s})})}const Hy=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:s,mode:o,anchorX:a,root:l})=>{const c=$a(Wy),u=A.useId();let d=!0,f=A.useMemo(()=>(d=!1,{id:u,initial:t,isPresent:n,custom:i,onExitComplete:p=>{c.set(p,!0);for(const g of c.values())if(!g)return;r&&r()},register:p=>(c.set(p,!1),()=>c.delete(p))}),[n,c,r]);return s&&d&&(f={...f}),A.useMemo(()=>{c.forEach((p,g)=>c.set(g,!1))},[n]),P.useEffect(()=>{!n&&!c.size&&r&&r()},[n]),o==="popLayout"&&(e=h.jsx(Uy,{isPresent:n,anchorX:a,root:l,children:e})),h.jsx(ks.Provider,{value:f,children:e})};function Wy(){return new Map}function ch(e=!0){const t=A.useContext(ks);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:r,register:i}=t,s=A.useId();A.useEffect(()=>{if(e)return i(s)},[e]);const o=A.useCallback(()=>e&&r&&r(s),[s,r,e]);return!n&&r?[!1,o]:[!0]}const Ii=e=>e.key||"";function Lc(e){const t=[];return A.Children.forEach(e,n=>{A.isValidElement(n)&&t.push(n)}),t}const Sr=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:s="sync",propagate:o=!1,anchorX:a="left",root:l})=>{const[c,u]=ch(o),d=A.useMemo(()=>Lc(e),[e]),f=o&&!c?[]:d.map(Ii),p=A.useRef(!0),g=A.useRef(d),m=$a(()=>new Map),[x,y]=A.useState(d),[k,E]=A.useState(d);yf(()=>{p.current=!1,g.current=d;for(let C=0;C<k.length;C++){const M=Ii(k[C]);f.includes(M)?m.delete(M):m.get(M)!==!0&&m.set(M,!1)}},[k,f.length,f.join("-")]);const _=[];if(d!==x){let C=[...d];for(let M=0;M<k.length;M++){const N=k[M],O=Ii(N);f.includes(O)||(C.splice(M,0,N),_.push(N))}return s==="wait"&&_.length&&(C=_),E(Lc(C)),y(d),null}process.env.NODE_ENV!=="production"&&s==="wait"&&k.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:v}=A.useContext(Ba);return h.jsx(h.Fragment,{children:k.map(C=>{const M=Ii(C),N=o&&!c?!1:d===k||f.includes(M),O=()=>{if(m.has(M))m.set(M,!0);else return;let b=!0;m.forEach(R=>{R||(b=!1)}),b&&(v==null||v(),E(g.current),o&&(u==null||u()),r&&r())};return h.jsx(Hy,{isPresent:N,initial:!p.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:s,root:l,onExitComplete:N?void 0:O,anchorX:a,children:C},M)})})},uh=A.createContext({strict:!1}),Fc={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"]},Cr={};for(const e in Fc)Cr[e]={isEnabled:t=>Fc[e].some(n=>!!t[n])};function Gy(e){for(const t in e)Cr[t]={...Cr[t],...e[t]}}const Ky=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 ds(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Ky.has(e)}let dh=e=>!ds(e);function qy(e){typeof e=="function"&&(dh=t=>t.startsWith("on")?!ds(t):e(t))}try{qy(require("@emotion/is-prop-valid").default)}catch{}function Yy(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(dh(i)||n===!0&&ds(i)||!t&&!ds(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}const Ss=A.createContext({});function Cs(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function si(e){return typeof e=="string"||Array.isArray(e)}const ul=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],dl=["initial",...ul];function _s(e){return Cs(e.animate)||dl.some(t=>si(e[t]))}function fh(e){return!!(_s(e)||e.variants)}function Zy(e,t){if(_s(e)){const{initial:n,animate:r}=e;return{initial:n===!1||si(n)?n:void 0,animate:si(r)?r:void 0}}return e.inherit!==!1?t:{}}function Xy(e){const{initial:t,animate:n}=Zy(e,A.useContext(Ss));return A.useMemo(()=>({initial:t,animate:n}),[jc(t),jc(n)])}function jc(e){return Array.isArray(e)?e.join(" "):e}const oi={};function Qy(e){for(const t in e)oi[t]=e[t],Ya(t)&&(oi[t].isCSSVariable=!0)}function hh(e,{layout:t,layoutId:n}){return Mr.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oi[e]||e==="opacity")}const Jy={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ex=Rr.length;function tx(e,t,n){let r="",i=!0;for(let s=0;s<ex;s++){const o=Rr[s],a=e[o];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(o.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const c=rh(a,ol[o]);if(!l){i=!1;const u=Jy[o]||o;r+=`${u}(${c}) `}n&&(t[o]=c)}}return r=r.trim(),n?r=n(t,i?"":r):i&&(r="none"),r}function fl(e,t,n){const{style:r,vars:i,transformOrigin:s}=e;let o=!1,a=!1;for(const l in t){const c=t[l];if(Mr.has(l)){o=!0;continue}else if(Ya(l)){i[l]=c;continue}else{const u=rh(c,ol[l]);l.startsWith("origin")?(a=!0,s[l]=u):r[l]=u}}if(t.transform||(o||n?r.transform=tx(t,e.transform,n):r.transform&&(r.transform="none")),a){const{originX:l="50%",originY:c="50%",originZ:u=0}=s;r.transformOrigin=`${l} ${c} ${u}`}}const hl=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ph(e,t,n){for(const r in t)!Rt(t[r])&&!hh(r,n)&&(e[r]=t[r])}function nx({transformTemplate:e},t){return A.useMemo(()=>{const n=hl();return fl(n,t,e),Object.assign({},n.vars,n.style)},[t])}function rx(e,t){const n=e.style||{},r={};return ph(r,n,e),Object.assign(r,nx(e,t)),r}function ix(e,t){const n={},r=rx(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.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=r,n}const sx={offset:"stroke-dashoffset",array:"stroke-dasharray"},ox={offset:"strokeDashoffset",array:"strokeDasharray"};function ax(e,t,n=1,r=0,i=!0){e.pathLength=1;const s=i?sx:ox;e[s.offset]=we.transform(-r);const o=we.transform(t),a=we.transform(n);e[s.array]=`${o} ${a}`}function mh(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:s=1,pathOffset:o=0,...a},l,c,u){if(fl(e,a,c),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin),f.transform&&(f.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete d.transformBox),t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&ax(d,i,s,o,!1)}const gh=()=>({...hl(),attrs:{}}),bh=e=>typeof e=="string"&&e.toLowerCase()==="svg";function lx(e,t,n,r){const i=A.useMemo(()=>{const s=gh();return mh(s,t,bh(r),e.transformTemplate,e.style),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};ph(s,e.style,e),i.style={...s,...i.style}}return i}const cx=["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 pl(e){return typeof e!="string"||e.includes("-")?!1:!!(cx.indexOf(e)>-1||/[A-Z]/u.test(e))}function ux(e,t,n,{latestValues:r},i,s=!1){const a=(pl(e)?lx:ix)(t,r,i,e),l=Yy(t,typeof e=="string",s),c=e!==A.Fragment?{...l,...a,ref:n}:{},{children:u}=t,d=A.useMemo(()=>Rt(u)?u.get():u,[u]);return A.createElement(e,{...c,children:d})}function Bc(e){const t=[{},{}];return e==null||e.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function ml(e,t,n,r){if(typeof t=="function"){const[i,s]=Bc(r);t=t(n!==void 0?n:e.custom,i,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,s]=Bc(r);t=t(n!==void 0?n:e.custom,i,s)}return t}function Ji(e){return Rt(e)?e.get():e}function dx({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:fx(n,r,i,e),renderState:t()}}function fx(e,t,n,r){const i={},s=r(e,{});for(const f in s)i[f]=Ji(s[f]);let{initial:o,animate:a}=e;const l=_s(e),c=fh(e);t&&c&&!l&&e.inherit!==!1&&(o===void 0&&(o=t.initial),a===void 0&&(a=t.animate));let u=n?n.initial===!1:!1;u=u||o===!1;const d=u?a:o;if(d&&typeof d!="boolean"&&!Cs(d)){const f=Array.isArray(d)?d:[d];for(let p=0;p<f.length;p++){const g=ml(e,f[p]);if(g){const{transitionEnd:m,transition:x,...y}=g;for(const k in y){let E=y[k];if(Array.isArray(E)){const _=u?E.length-1:0;E=E[_]}E!==null&&(i[k]=E)}for(const k in m)i[k]=m[k]}}}return i}const yh=e=>(t,n)=>{const r=A.useContext(Ss),i=A.useContext(ks),s=()=>dx(e,t,r,i);return n?s():$a(s)};function gl(e,t,n){var s;const{style:r}=e,i={};for(const o in r)(Rt(r[o])||t.style&&Rt(t.style[o])||hh(o,e)||((s=n==null?void 0:n.getValue(o))==null?void 0:s.liveStyle)!==void 0)&&(i[o]=r[o]);return i}const hx=yh({scrapeMotionValuesFromProps:gl,createRenderState:hl});function xh(e,t,n){const r=gl(e,t,n);for(const i in e)if(Rt(e[i])||Rt(t[i])){const s=Rr.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;r[s]=e[i]}return r}const px=yh({scrapeMotionValuesFromProps:xh,createRenderState:gh}),mx=Symbol.for("motionComponentSymbol");function gr(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function gx(e,t,n){return A.useCallback(r=>{r&&e.onMount&&e.onMount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):gr(n)&&(n.current=r))},[t])}const bl=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),bx="framerAppearId",wh="data-"+bl(bx),vh=A.createContext({});function yx(e,t,n,r,i){var m,x;const{visualElement:s}=A.useContext(Ss),o=A.useContext(uh),a=A.useContext(ks),l=A.useContext(cl).reducedMotion,c=A.useRef(null);r=r||o.renderer,!c.current&&r&&(c.current=r(e,{visualState:t,parent:s,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const u=c.current,d=A.useContext(vh);u&&!u.projection&&i&&(u.type==="html"||u.type==="svg")&&xx(c.current,n,i,d);const f=A.useRef(!1);A.useInsertionEffect(()=>{u&&f.current&&u.update(n,a)});const p=n[wh],g=A.useRef(!!p&&!((m=window.MotionHandoffIsComplete)!=null&&m.call(window,p))&&((x=window.MotionHasOptimisedAnimation)==null?void 0:x.call(window,p)));return yf(()=>{u&&(f.current=!0,window.MotionIsMounted=!0,u.updateFeatures(),u.scheduleRenderMicrotask(),g.current&&u.animationState&&u.animationState.animateChanges())}),A.useEffect(()=>{u&&(!g.current&&u.animationState&&u.animationState.animateChanges(),g.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)==null||y.call(window,p)}),g.current=!1),u.enteringChildren=void 0)}),u}function xx(e,t,n,r){const{layoutId:i,layout:s,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:c,layoutCrossfade:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Eh(e.parent)),e.projection.setOptions({layoutId:i,layout:s,alwaysMeasureLayout:!!o||a&&gr(a),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:r,crossfade:u,layoutScroll:l,layoutRoot:c})}function Eh(e){if(e)return e.options.allowProjection!==!1?e.projection:Eh(e.parent)}function so(e,{forwardMotionProps:t=!1}={},n,r){n&&Gy(n);const i=pl(e)?px:hx;function s(a,l){let c;const u={...A.useContext(cl),...a,layoutId:wx(a)},{isStatic:d}=u,f=Xy(a),p=i(a,d);if(!d&&Va){vx(u,n);const g=Ex(u);c=g.MeasureLayout,f.visualElement=yx(e,p,u,r,g.ProjectionNode)}return h.jsxs(Ss.Provider,{value:f,children:[c&&f.visualElement?h.jsx(c,{visualElement:f.visualElement,...u}):null,ux(e,a,gx(p,f.visualElement,l),p,d,t)]})}s.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const o=A.forwardRef(s);return o[mx]=e,o}function wx({layoutId:e}){const t=A.useContext(Ba).id;return t&&e!==void 0?t+"-"+e:e}function vx(e,t){const n=A.useContext(uh).strict;if(process.env.NODE_ENV!=="production"&&t&&n){const r="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";e.ignoreStrict?Nr(!1,r,"lazy-strict-mode"):xn(!1,r,"lazy-strict-mode")}}function Ex(e){const{drag:t,layout:n}=Cr;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function kx(e,t){if(typeof Proxy>"u")return so;const n=new Map,r=(s,o)=>so(s,o,e,t),i=(s,o)=>(process.env.NODE_ENV!=="production"&&Ga(!1,"motion() is deprecated. Use motion.create() instead."),r(s,o));return new Proxy(i,{get:(s,o)=>o==="create"?r:(n.has(o)||n.set(o,so(o,void 0,e,t)),n.get(o))})}function kh({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Sx({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Cx(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function oo(e){return e===void 0||e===1}function ua({scale:e,scaleX:t,scaleY:n}){return!oo(e)||!oo(t)||!oo(n)}function zn(e){return ua(e)||Sh(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Sh(e){return $c(e.x)||$c(e.y)}function $c(e){return e&&e!=="0%"}function fs(e,t,n){const r=e-n,i=t*r;return n+i}function Vc(e,t,n,r,i){return i!==void 0&&(e=fs(e,i,r)),fs(e,n,r)+t}function da(e,t=0,n=1,r,i){e.min=Vc(e.min,t,n,r,i),e.max=Vc(e.max,t,n,r,i)}function Ch(e,{x:t,y:n}){da(e.x,t.translate,t.scale,t.originPoint),da(e.y,n.translate,n.scale,n.originPoint)}const zc=.999999999999,Uc=1.0000000000001;function _x(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let s,o;for(let a=0;a<i;a++){s=n[a],o=s.projectionDelta;const{visualElement:l}=s.options;l&&l.props.style&&l.props.style.display==="contents"||(r&&s.options.layoutScroll&&s.scroll&&s!==s.root&&yr(e,{x:-s.scroll.offset.x,y:-s.scroll.offset.y}),o&&(t.x*=o.x.scale,t.y*=o.y.scale,Ch(e,o)),r&&zn(s.latestValues)&&yr(e,s.latestValues))}t.x<Uc&&t.x>zc&&(t.x=1),t.y<Uc&&t.y>zc&&(t.y=1)}function br(e,t){e.min=e.min+t,e.max=e.max+t}function Hc(e,t,n,r,i=.5){const s=at(e.min,e.max,i);da(e,t,n,s,r)}function yr(e,t){Hc(e.x,t.x,t.scaleX,t.scale,t.originX),Hc(e.y,t.y,t.scaleY,t.scale,t.originY)}function _h(e,t){return kh(Cx(e.getBoundingClientRect(),t))}function Tx(e,t,n){const r=_h(e,n),{scroll:i}=t;return i&&(br(r.x,i.offset.x),br(r.y,i.offset.y)),r}const Wc=()=>({translate:0,scale:1,origin:0,originPoint:0}),xr=()=>({x:Wc(),y:Wc()}),Gc=()=>({min:0,max:0}),pt=()=>({x:Gc(),y:Gc()}),fa={current:null},Th={current:!1};function Nx(){if(Th.current=!0,!!Va)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>fa.current=e.matches;e.addEventListener("change",t),t()}else fa.current=!1}const Ax=new WeakMap;function Rx(e,t,n){for(const r in t){const i=t[r],s=n[r];if(Rt(i))e.addValue(r,i);else if(Rt(s))e.addValue(r,kr(i,{owner:e}));else if(s!==i)if(e.hasValue(r)){const o=e.getValue(r);o.liveStyle===!0?o.jump(i):o.hasAnimated||o.set(i)}else{const o=e.getStaticValue(r);e.addValue(r,kr(o!==void 0?o:i,{owner:e}))}}for(const r in n)t[r]===void 0&&e.removeValue(r);return t}const Kc=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Mx{scrapeMotionValuesFromProps(t,n,r){return{}}constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,blockInitialAnimation:s,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=il,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=jt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,it.render(this.render,!1,!0))};const{latestValues:l,renderState:c}=o;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=c,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.blockInitialAnimation=!!s,this.isControllingVariants=_s(n),this.isVariantNode=fh(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in d){const p=d[f];l[f]!==void 0&&Rt(p)&&p.set(l[f])}}mount(t){var n;this.current=t,Ax.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((r,i)=>this.bindToMotionValue(i,r)),Th.current||Nx(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:fa.current,process.env.NODE_ENV!=="production"&&Ga(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(),Mn(this.notifyUpdate),Mn(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 r=this.features[n];r&&(r.unmount(),r.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 r=Mr.has(t);r&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&it.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let s;window.MotionCheckAppearSync&&(s=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),s&&s(),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 Cr){const n=Cr[t];if(!n)continue;const{isEnabled:r,Feature:i}=n;if(!this.features[t]&&i&&r(this.props)&&(this.features[t]=new i(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):pt()}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 r=0;r<Kc.length;r++){const i=Kc[r];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const s="on"+i,o=t[s];o&&(this.propEventSubscriptions[i]=this.on(i,o))}this.prevMotionValues=Rx(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 r=this.values.get(t);n!==r&&(r&&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 r=this.values.get(t);return r===void 0&&n!==void 0&&(r=kr(n===null?void 0:n,{owner:this}),this.addValue(t,r)),r}readValue(t,n){let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(xf(r)||vf(r))?r=parseFloat(r):!Vy(r)&&In.test(n)&&(r=nh(t,n)),this.setBaseTarget(t,Rt(r)?r.get():r)),Rt(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var s;const{initial:n}=this.props;let r;if(typeof n=="string"||typeof n=="object"){const o=ml(this.props,n,(s=this.presenceContext)==null?void 0:s.custom);o&&(r=o[t])}if(n&&r!==void 0)return r;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!Rt(i)?i:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new Wa),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){al.render(this.render)}}class Nh extends Mx{constructor(){super(...arguments),this.KeyframeResolver=Ay}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:r}){delete n[t],delete r[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Rt(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function Ah(e,{style:t,vars:n},r,i){const s=e.style;let o;for(o in t)s[o]=t[o];i==null||i.applyProjectionStyles(s,r);for(o in n)s.setProperty(o,n[o])}function Ix(e){return window.getComputedStyle(e)}class Ox extends Nh{constructor(){super(...arguments),this.type="html",this.renderInstance=Ah}readValueFromInstance(t,n){var r;if(Mr.has(n))return(r=this.projection)!=null&&r.isProjecting?ra(n):Kb(t,n);{const i=Ix(t),s=(Ya(n)?i.getPropertyValue(n):i[n])||0;return typeof s=="string"?s.trim():s}}measureInstanceViewportBox(t,{transformPagePoint:n}){return _h(t,n)}build(t,n,r){fl(t,n,r.transformTemplate)}scrapeMotionValuesFromProps(t,n,r){return gl(t,n,r)}}const Rh=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 Px(e,t,n,r){Ah(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(Rh.has(i)?i:bl(i),t.attrs[i])}class Dx extends Nh{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=pt}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Mr.has(n)){const r=th(n);return r&&r.default||0}return n=Rh.has(n)?n:bl(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,r){return xh(t,n,r)}build(t,n,r){mh(t,n,this.isSVGTag,r.transformTemplate,r.style)}renderInstance(t,n,r,i){Px(t,n,r,i)}mount(t){this.isSVGTag=bh(t.tagName),super.mount(t)}}const Lx=(e,t)=>pl(e)?new Dx(t):new Ox(t,{allowProjection:e!==A.Fragment});function wr(e,t,n){const r=e.getProps();return ml(r,t,n!==void 0?n:r.custom,e)}const ha=e=>Array.isArray(e);function Fx(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,kr(n))}function jx(e){return ha(e)?e[e.length-1]||0:e}function Bx(e,t){const n=wr(e,t);let{transitionEnd:r={},transition:i={},...s}=n||{};s={...s,...r};for(const o in s){const a=jx(s[o]);Fx(e,o,a)}}function $x(e){return!!(Rt(e)&&e.add)}function pa(e,t){const n=e.getValue("willChange");if($x(n))return n.add(t);if(!n&&wn.WillChange){const r=new wn.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function Mh(e){return e.props[wh]}const Vx=e=>e!==null;function zx(e,{repeat:t,repeatType:n="loop"},r){const i=e.filter(Vx),s=t&&n!=="loop"&&t%2===1?0:i.length-1;return i[s]}const Ux={type:"spring",stiffness:500,damping:25,restSpeed:10},Hx=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Wx={type:"keyframes",duration:.8},Gx={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Kx=(e,{keyframes:t})=>t.length>2?Wx:Mr.has(e)?e.startsWith("scale")?Hx(t[1]):Ux:Gx;function qx({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:s,repeatType:o,repeatDelay:a,from:l,elapsed:c,...u}){return!!Object.keys(u).length}const yl=(e,t,n,r={},i,s)=>o=>{const a=sl(r,e)||{},l=a.delay||r.delay||0;let{elapsed:c=0}=r;c=c-en(l);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-c,onUpdate:f=>{t.set(f),a.onUpdate&&a.onUpdate(f)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:s?void 0:i};qx(a)||Object.assign(u,Kx(e,u)),u.duration&&(u.duration=en(u.duration)),u.repeatDelay&&(u.repeatDelay=en(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(la(u),u.delay===0&&(d=!0)),(wn.instantAnimations||wn.skipAnimations)&&(d=!0,la(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,d&&!s&&t.get()!==void 0){const f=zx(u.keyframes,a);if(f!==void 0){it.update(()=>{u.onUpdate(f),u.onComplete()});return}}return a.isSync?new rl(u):new gy(u)};function Yx({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Ih(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:s=e.getDefaultTransition(),transitionEnd:o,...a}=t;r&&(s=r);const l=[],c=i&&e.animationState&&e.animationState.getState()[i];for(const u in a){const d=e.getValue(u,e.latestValues[u]??null),f=a[u];if(f===void 0||c&&Yx(c,u))continue;const p={delay:n,...sl(s||{},u)},g=d.get();if(g!==void 0&&!d.isAnimating&&!Array.isArray(f)&&f===g&&!p.velocity)continue;let m=!1;if(window.MotionHandoffAnimation){const y=Mh(e);if(y){const k=window.MotionHandoffAnimation(y,u,it);k!==null&&(p.startTime=k,m=!0)}}pa(e,u),d.start(yl(u,d,f,e.shouldReduceMotion&&Qf.has(u)?{type:!1}:p,e,m));const x=d.animation;x&&l.push(x)}return o&&Promise.all(l).then(()=>{it.update(()=>{o&&Bx(e,o)})}),l}function Oh(e,t,n,r=0,i=1){const s=Array.from(e).sort((c,u)=>c.sortNodePosition(u)).indexOf(t),o=e.size,a=(o-1)*r;return typeof n=="function"?n(s,o):i===1?s*r:a-s*r}function ma(e,t,n={}){var l;const r=wr(e,t,n.type==="exit"?(l=e.presenceContext)==null?void 0:l.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const s=r?()=>Promise.all(Ih(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(c=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return Zx(e,t,c,u,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[c,u]=a==="beforeChildren"?[s,o]:[o,s];return c().then(()=>u())}else return Promise.all([s(),o(n.delay)])}function Zx(e,t,n=0,r=0,i=0,s=1,o){const a=[];for(const l of e.variantChildren)l.notify("AnimationStart",t),a.push(ma(l,t,{...o,delay:n+(typeof r=="function"?0:r)+Oh(e.variantChildren,l,r,i,s)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(a)}function Xx(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(s=>ma(e,s,n));r=Promise.all(i)}else if(typeof t=="string")r=ma(e,t,n);else{const i=typeof t=="function"?wr(e,t,n.custom):t;r=Promise.all(Ih(e,i,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}function Ph(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}const Qx=dl.length;function Dh(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Dh(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<Qx;n++){const r=dl[n],i=e.props[r];(si(i)||i===!1)&&(t[r]=i)}return t}const Jx=[...ul].reverse(),e0=ul.length;function t0(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Xx(e,n,r)))}function n0(e){let t=t0(e),n=qc(),r=!0;const i=l=>(c,u)=>{var f;const d=wr(e,u,l==="exit"?(f=e.presenceContext)==null?void 0:f.custom:void 0);if(d){const{transition:p,transitionEnd:g,...m}=d;c={...c,...m,...g}}return c};function s(l){t=l(e)}function o(l){const{props:c}=e,u=Dh(e.parent)||{},d=[],f=new Set;let p={},g=1/0;for(let x=0;x<e0;x++){const y=Jx[x],k=n[y],E=c[y]!==void 0?c[y]:u[y],_=si(E),v=y===l?k.isActive:null;v===!1&&(g=x);let C=E===u[y]&&E!==c[y]&&_;if(C&&r&&e.manuallyAnimateOnMount&&(C=!1),k.protectedKeys={...p},!k.isActive&&v===null||!E&&!k.prevProp||Cs(E)||typeof E=="boolean")continue;const M=r0(k.prevProp,E);let N=M||y===l&&k.isActive&&!C&&_||x>g&&_,O=!1;const b=Array.isArray(E)?E:[E];let R=b.reduce(i(y),{});v===!1&&(R={});const{prevResolvedValues:I={}}=k,B={...I,...R},F=ee=>{N=!0,f.has(ee)&&(O=!0,f.delete(ee)),k.needsAnimating[ee]=!0;const $=e.getValue(ee);$&&($.liveStyle=!1)};for(const ee in B){const $=R[ee],D=I[ee];if(p.hasOwnProperty(ee))continue;let w=!1;ha($)&&ha(D)?w=!Ph($,D):w=$!==D,w?$!=null?F(ee):f.add(ee):$!==void 0&&f.has(ee)?F(ee):k.protectedKeys[ee]=!0}k.prevProp=E,k.prevResolvedValues=R,k.isActive&&(p={...p,...R}),r&&e.blockInitialAnimation&&(N=!1);const q=C&&M;N&&(!q||O)&&d.push(...b.map(ee=>{const $={type:y};if(typeof ee=="string"&&r&&!q&&e.manuallyAnimateOnMount&&e.parent){const{parent:D}=e,w=wr(D,ee);if(D.enteringChildren&&w){const{delayChildren:j}=w.transition||{};$.delay=Oh(D.enteringChildren,e,j)}}return{animation:ee,options:$}}))}if(f.size){const x={};if(typeof c.initial!="boolean"){const y=wr(e,Array.isArray(c.initial)?c.initial[0]:c.initial);y&&y.transition&&(x.transition=y.transition)}f.forEach(y=>{const k=e.getBaseTarget(y),E=e.getValue(y);E&&(E.liveStyle=!0),x[y]=k??null}),d.push({animation:x})}let m=!!d.length;return r&&(c.initial===!1||c.initial===c.animate)&&!e.manuallyAnimateOnMount&&(m=!1),r=!1,m?t(d):Promise.resolve()}function a(l,c){var d;if(n[l].isActive===c)return Promise.resolve();(d=e.variantChildren)==null||d.forEach(f=>{var p;return(p=f.animationState)==null?void 0:p.setActive(l,c)}),n[l].isActive=c;const u=o(l);for(const f in n)n[f].protectedKeys={};return u}return{animateChanges:o,setActive:a,setAnimateFunction:s,getState:()=>n,reset:()=>{n=qc(),r=!0}}}function r0(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Ph(t,e):!1}function Bn(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function qc(){return{animate:Bn(!0),whileInView:Bn(),whileHover:Bn(),whileTap:Bn(),whileDrag:Bn(),whileFocus:Bn(),exit:Bn()}}class Dn{constructor(t){this.isMounted=!1,this.node=t}update(){}}class i0 extends Dn{constructor(t){super(t),t.animationState||(t.animationState=n0(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Cs(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 s0=0;class o0 extends Dn{constructor(){super(...arguments),this.id=s0++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===r)return;const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.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 a0={animation:{Feature:i0},exit:{Feature:o0}};function ai(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function gi(e){return{point:{x:e.pageX,y:e.pageY}}}const l0=e=>t=>ll(t)&&e(t,gi(t));function Yr(e,t,n,r){return ai(e,t,l0(n),r)}const Lh=1e-4,c0=1-Lh,u0=1+Lh,Fh=.01,d0=0-Fh,f0=0+Fh;function Dt(e){return e.max-e.min}function h0(e,t,n){return Math.abs(e-t)<=n}function Yc(e,t,n,r=.5){e.origin=r,e.originPoint=at(t.min,t.max,e.origin),e.scale=Dt(n)/Dt(t),e.translate=at(n.min,n.max,e.origin)-e.originPoint,(e.scale>=c0&&e.scale<=u0||isNaN(e.scale))&&(e.scale=1),(e.translate>=d0&&e.translate<=f0||isNaN(e.translate))&&(e.translate=0)}function Zr(e,t,n,r){Yc(e.x,t.x,n.x,r?r.originX:void 0),Yc(e.y,t.y,n.y,r?r.originY:void 0)}function Zc(e,t,n){e.min=n.min+t.min,e.max=e.min+Dt(t)}function p0(e,t,n){Zc(e.x,t.x,n.x),Zc(e.y,t.y,n.y)}function Xc(e,t,n){e.min=t.min-n.min,e.max=e.min+Dt(t)}function Xr(e,t,n){Xc(e.x,t.x,n.x),Xc(e.y,t.y,n.y)}function Kt(e){return[e("x"),e("y")]}const jh=({current:e})=>e?e.ownerDocument.defaultView:null,Qc=(e,t)=>Math.abs(e-t);function m0(e,t){const n=Qc(e.x,t.x),r=Qc(e.y,t.y);return Math.sqrt(n**2+r**2)}class Bh{constructor(t,n,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:s=!1,distanceThreshold:o=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=lo(this.lastMoveEventInfo,this.history),p=this.startEvent!==null,g=m0(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!p&&!g)return;const{point:m}=f,{timestamp:x}=Tt;this.history.push({...m,timestamp:x});const{onStart:y,onMove:k}=this.handlers;p||(y&&y(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),k&&k(this.lastMoveEvent,f)},this.handlePointerMove=(f,p)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=ao(p,this.transformPagePoint),it.update(this.updatePoint,!0)},this.handlePointerUp=(f,p)=>{this.end();const{onEnd:g,onSessionEnd:m,resumeAnimation:x}=this.handlers;if(this.dragSnapToOrigin&&x&&x(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const y=lo(f.type==="pointercancel"?this.lastMoveEventInfo:ao(p,this.transformPagePoint),this.history);this.startEvent&&g&&g(f,y),m&&m(f,y)},!ll(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=o,this.contextWindow=i||window;const a=gi(t),l=ao(a,this.transformPagePoint),{point:c}=l,{timestamp:u}=Tt;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,lo(l,this.history)),this.removeListeners=hi(Yr(this.contextWindow,"pointermove",this.handlePointerMove),Yr(this.contextWindow,"pointerup",this.handlePointerUp),Yr(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Mn(this.updatePoint)}}function ao(e,t){return t?{point:t(e.point)}:e}function Jc(e,t){return{x:e.x-t.x,y:e.y-t.y}}function lo({point:e},t){return{point:e,delta:Jc(e,$h(t)),offset:Jc(e,g0(t)),velocity:b0(t,.1)}}function g0(e){return e[0]}function $h(e){return e[e.length-1]}function b0(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=$h(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>en(t)));)n--;if(!r)return{x:0,y:0};const s=ln(i.timestamp-r.timestamp);if(s===0)return{x:0,y:0};const o={x:(i.x-r.x)/s,y:(i.y-r.y)/s};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function y0(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?at(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?at(n,e,r.max):Math.min(e,n)),e}function eu(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 x0(e,{top:t,left:n,bottom:r,right:i}){return{x:eu(e.x,n,i),y:eu(e.y,t,r)}}function tu(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function w0(e,t){return{x:tu(e.x,t.x),y:tu(e.y,t.y)}}function v0(e,t){let n=.5;const r=Dt(e),i=Dt(t);return i>r?n=ni(t.min,t.max-r,e.min):r>i&&(n=ni(e.min,e.max-i,t.min)),yn(0,1,n)}function E0(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 ga=.35;function k0(e=ga){return e===!1?e=0:e===!0&&(e=ga),{x:nu(e,"left","right"),y:nu(e,"top","bottom")}}function nu(e,t,n){return{min:ru(e,t),max:ru(e,n)}}function ru(e,t){return typeof e=="number"?e:e[t]||0}const S0=new WeakMap;class C0{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=pt(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:r}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const s=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(gi(d).point)},o=(d,f)=>{const{drag:p,dragPropagation:g,onDragStart:m}=this.getProps();if(p&&!g&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Oy(p),!this.openDragLock))return;this.latestPointerEvent=d,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Kt(y=>{let k=this.getAxisMotionValue(y).get()||0;if(cn.test(k)){const{projection:E}=this.visualElement;if(E&&E.layout){const _=E.layout.layoutBox[y];_&&(k=Dt(_)*(parseFloat(k)/100))}}this.originPoint[y]=k}),m&&it.postRender(()=>m(d,f)),pa(this.visualElement,"transform");const{animationState:x}=this.visualElement;x&&x.setActive("whileDrag",!0)},a=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f;const{dragPropagation:p,dragDirectionLock:g,onDirectionLock:m,onDrag:x}=this.getProps();if(!p&&!this.openDragLock)return;const{offset:y}=f;if(g&&this.currentDirection===null){this.currentDirection=_0(y),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),x&&x(d,f)},l=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f,this.stop(d,f),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>Kt(d=>{var f;return this.getAnimationState(d)==="paused"&&((f=this.getAxisMotionValue(d).animation)==null?void 0:f.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new Bh(t,{onSessionStart:s,onStart:o,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:r,contextWindow:jh(this.visualElement)})}stop(t,n){const r=t||this.latestPointerEvent,i=n||this.latestPanInfo,s=this.isDragging;if(this.cancel(),!s||!i||!r)return;const{velocity:o}=i;this.startAnimation(o);const{onDragEnd:a}=this.getProps();a&&it.postRender(()=>a(r,i))}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:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Oi(t,i,this.currentDirection))return;const s=this.getAxisMotionValue(t);let o=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(o=y0(o,this.constraints[t],this.elastic[t])),s.set(o)}resolveConstraints(){var s;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(s=this.visualElement.projection)==null?void 0:s.layout,i=this.constraints;t&&gr(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=x0(r.layoutBox,t):this.constraints=!1,this.elastic=k0(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Kt(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=E0(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!gr(t))return!1;const r=t.current;xn(r!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");const{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const s=Tx(r,i.root,this.visualElement.getTransformPagePoint());let o=w0(i.layout.layoutBox,s);if(n){const a=n(Sx(o));this.hasMutatedConstraints=!!a,a&&(o=kh(a))}return o}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:s,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},c=Kt(u=>{if(!Oi(u,n,this.currentDirection))return;let d=l&&l[u]||{};o&&(d={min:0,max:0});const f=i?200:1e6,p=i?40:1e7,g={type:"inertia",velocity:r?t[u]:0,bounceStiffness:f,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...s,...d};return this.startAxisValueAnimation(u,g)});return Promise.all(c).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return pa(this.visualElement,t),r.start(yl(t,r,0,n,this.visualElement,!1))}stopAnimation(){Kt(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Kt(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()}`,r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Kt(n=>{const{drag:r}=this.getProps();if(!Oi(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,s=this.getAxisMotionValue(n);if(i&&i.layout){const{min:o,max:a}=i.layout.layoutBox[n];s.set(t[n]-at(o,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!gr(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Kt(o=>{const a=this.getAxisMotionValue(o);if(a&&this.constraints!==!1){const l=a.get();i[o]=v0({min:l,max:l},this.constraints[o])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Kt(o=>{if(!Oi(o,t,null))return;const a=this.getAxisMotionValue(o),{min:l,max:c}=this.constraints[o];a.set(at(l,c,i[o]))})}addListeners(){if(!this.visualElement.current)return;S0.set(this.visualElement,this);const t=this.visualElement.current,n=Yr(t,"pointerdown",l=>{const{drag:c,dragListener:u=!0}=this.getProps();c&&u&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();gr(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,s=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),it.read(r);const o=ai(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:c})=>{this.isDragging&&c&&(Kt(u=>{const d=this.getAxisMotionValue(u);d&&(this.originPoint[u]+=l[u].translate,d.set(d.get()+l[u].translate))}),this.visualElement.render())});return()=>{o(),n(),s(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:s=!1,dragElastic:o=ga,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:s,dragElastic:o,dragMomentum:a}}}function Oi(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function _0(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class T0 extends Dn{constructor(t){super(t),this.removeGroupControls=Zt,this.removeListeners=Zt,this.controls=new C0(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Zt}unmount(){this.removeGroupControls(),this.removeListeners()}}const iu=e=>(t,n)=>{e&&it.postRender(()=>e(t,n))};class N0 extends Dn{constructor(){super(...arguments),this.removePointerDownListener=Zt}onPointerDown(t){this.session=new Bh(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:jh(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:iu(t),onStart:iu(n),onMove:r,onEnd:(s,o)=>{delete this.session,i&&it.postRender(()=>i(s,o))}}}mount(){this.removePointerDownListener=Yr(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 es={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function su(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Fr={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(we.test(e))e=parseFloat(e);else return e;const n=su(e,t.target.x),r=su(e,t.target.y);return`${n}% ${r}%`}},A0={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=In.parse(e);if(i.length>5)return r;const s=In.createTransformer(e),o=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+o]/=a,i[1+o]/=l;const c=at(a,l,.5);return typeof i[2+o]=="number"&&(i[2+o]/=c),typeof i[3+o]=="number"&&(i[3+o]/=c),s(i)}};let co=!1;class R0 extends A.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:s}=t;Qy(M0),s&&(n.group&&n.group.add(s),r&&r.register&&i&&r.register(s),co&&s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),es.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:s}=this.props,{projection:o}=r;return o&&(o.isPresent=s,co=!0,i||t.layoutDependency!==n||n===void 0||t.isPresent!==s?o.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?o.promote():o.relegate()||it.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),al.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;co=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Vh(e){const[t,n]=ch(),r=A.useContext(Ba);return h.jsx(R0,{...e,layoutGroup:r,switchLayoutGroup:A.useContext(vh),isPresent:t,safeToRemove:n})}const M0={borderRadius:{...Fr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Fr,borderTopRightRadius:Fr,borderBottomLeftRadius:Fr,borderBottomRightRadius:Fr,boxShadow:A0};function I0(e,t,n){const r=Rt(e)?e:kr(e);return r.start(yl("",r,t,n)),r.animation}const O0=(e,t)=>e.depth-t.depth;class P0{constructor(){this.children=[],this.isDirty=!1}add(t){za(this.children,t),this.isDirty=!0}remove(t){Ua(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(O0),this.isDirty=!1,this.children.forEach(t)}}function D0(e,t){const n=jt.now(),r=({timestamp:i})=>{const s=i-n;s>=t&&(Mn(r),e(s-t))};return it.setup(r,!0),()=>Mn(r)}const zh=["TopLeft","TopRight","BottomLeft","BottomRight"],L0=zh.length,ou=e=>typeof e=="string"?parseFloat(e):e,au=e=>typeof e=="number"||we.test(e);function F0(e,t,n,r,i,s){i?(e.opacity=at(0,n.opacity??1,j0(r)),e.opacityExit=at(t.opacity??1,0,B0(r))):s&&(e.opacity=at(t.opacity??1,n.opacity??1,r));for(let o=0;o<L0;o++){const a=`border${zh[o]}Radius`;let l=lu(t,a),c=lu(n,a);if(l===void 0&&c===void 0)continue;l||(l=0),c||(c=0),l===0||c===0||au(l)===au(c)?(e[a]=Math.max(at(ou(l),ou(c),r),0),(cn.test(c)||cn.test(l))&&(e[a]+="%")):e[a]=c}(t.rotate||n.rotate)&&(e.rotate=at(t.rotate||0,n.rotate||0,r))}function lu(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const j0=Uh(0,.5,Af),B0=Uh(.5,.95,Zt);function Uh(e,t,n){return r=>r<e?0:r>t?1:n(ni(e,t,r))}function cu(e,t){e.min=t.min,e.max=t.max}function Gt(e,t){cu(e.x,t.x),cu(e.y,t.y)}function uu(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function du(e,t,n,r,i){return e-=t,e=fs(e,1/n,r),i!==void 0&&(e=fs(e,1/i,r)),e}function $0(e,t=0,n=1,r=.5,i,s=e,o=e){if(cn.test(t)&&(t=parseFloat(t),t=at(o.min,o.max,t/100)-o.min),typeof t!="number")return;let a=at(s.min,s.max,r);e===s&&(a-=t),e.min=du(e.min,t,n,a,i),e.max=du(e.max,t,n,a,i)}function fu(e,t,[n,r,i],s,o){$0(e,t[n],t[r],t[i],t.scale,s,o)}const V0=["x","scaleX","originX"],z0=["y","scaleY","originY"];function hu(e,t,n,r){fu(e.x,t,V0,n?n.x:void 0,r?r.x:void 0),fu(e.y,t,z0,n?n.y:void 0,r?r.y:void 0)}function pu(e){return e.translate===0&&e.scale===1}function Hh(e){return pu(e.x)&&pu(e.y)}function mu(e,t){return e.min===t.min&&e.max===t.max}function U0(e,t){return mu(e.x,t.x)&&mu(e.y,t.y)}function gu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Wh(e,t){return gu(e.x,t.x)&&gu(e.y,t.y)}function bu(e){return Dt(e.x)/Dt(e.y)}function yu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class H0{constructor(){this.members=[]}add(t){za(this.members,t),t.scheduleRender()}remove(t){if(Ua(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(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const s=this.members[i];if(s.isPresent!==!1){r=s;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function W0(e,t,n){let r="";const i=e.x.translate/t.x,s=e.y.translate/t.y,o=(n==null?void 0:n.z)||0;if((i||s||o)&&(r=`translate3d(${i}px, ${s}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:c,rotate:u,rotateX:d,rotateY:f,skewX:p,skewY:g}=n;c&&(r=`perspective(${c}px) ${r}`),u&&(r+=`rotate(${u}deg) `),d&&(r+=`rotateX(${d}deg) `),f&&(r+=`rotateY(${f}deg) `),p&&(r+=`skewX(${p}deg) `),g&&(r+=`skewY(${g}deg) `)}const a=e.x.scale*t.x,l=e.y.scale*t.y;return(a!==1||l!==1)&&(r+=`scale(${a}, ${l})`),r||"none"}const uo=["","X","Y","Z"],G0=1e3;let K0=0;function fo(e,t,n,r){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Gh(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Mh(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",it,!(i||s))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Gh(r)}function Kh({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(o={},a=t==null?void 0:t()){this.id=K0++,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(Z0),this.nodes.forEach(ew),this.nodes.forEach(tw),this.nodes.forEach(X0)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new P0)}addEventListener(o,a){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new Wa),this.eventHandlers.get(o).add(a)}notifyListeners(o,...a){const l=this.eventHandlers.get(o);l&&l.notify(...a)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=lh(o)&&!By(o),this.instance=o;const{layoutId:a,layout:l,visualElement:c}=this.options;if(c&&!c.current&&c.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),e){let u,d=0;const f=()=>this.root.updateBlockedByResize=!1;it.read(()=>{d=window.innerWidth}),e(o,()=>{const p=window.innerWidth;p!==d&&(d=p,this.root.updateBlockedByResize=!0,u&&u(),u=D0(f,250),es.hasAnimatedSinceResize&&(es.hasAnimatedSinceResize=!1,this.nodes.forEach(vu)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&c&&(a||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:d,hasRelativeLayoutChanged:f,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||c.getDefaultTransition()||ow,{onLayoutAnimationStart:m,onLayoutAnimationComplete:x}=c.getProps(),y=!this.targetLayout||!Wh(this.targetLayout,p),k=!d&&f;if(this.options.layoutRoot||this.resumeFrom||k||d&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const E={...sl(g,"layout"),onPlay:m,onComplete:x};(c.shouldReduceMotion||this.options.layoutRoot)&&(E.delay=0,E.type=!1),this.startAnimation(E),this.setAnimationOrigin(u,k)}else d||vu(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Mn(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(nw),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Gh(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const d=this.path[u];d.shouldResetTransform=!0,d.updateScroll("snapshot"),d.options.layoutRoot&&d.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(xu);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(wu);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(J0),this.nodes.forEach(q0),this.nodes.forEach(Y0)):this.nodes.forEach(wu),this.clearAllSnapshots();const a=jt.now();Tt.delta=yn(0,1e3/60,a-Tt.timestamp),Tt.timestamp=a,Tt.isProcessing=!0,Js.update.process(Tt),Js.preRender.process(Tt),Js.render.process(Tt),Tt.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,al.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Q0),this.sharedNodes.forEach(rw)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,it.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){it.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Dt(this.snapshot.measuredBox.x)&&!Dt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=pt(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(a=!1),a&&this.instance){const l=r(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!Hh(this.projectionDelta),l=this.getTransformTemplate(),c=l?l(this.latestValues,""):void 0,u=c!==this.prevTransformTemplateValue;o&&this.instance&&(a||zn(this.latestValues)||u)&&(i(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return o&&(l=this.removeTransform(l)),aw(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){var c;const{visualElement:o}=this.options;if(!o)return pt();const a=o.measureViewportBox();if(!(((c=this.scroll)==null?void 0:c.wasRoot)||this.path.some(lw))){const{scroll:u}=this.root;u&&(br(a.x,u.offset.x),br(a.y,u.offset.y))}return a}removeElementScroll(o){var l;const a=pt();if(Gt(a,o),(l=this.scroll)!=null&&l.wasRoot)return a;for(let c=0;c<this.path.length;c++){const u=this.path[c],{scroll:d,options:f}=u;u!==this.root&&d&&f.layoutScroll&&(d.wasRoot&&Gt(a,o),br(a.x,d.offset.x),br(a.y,d.offset.y))}return a}applyTransform(o,a=!1){const l=pt();Gt(l,o);for(let c=0;c<this.path.length;c++){const u=this.path[c];!a&&u.options.layoutScroll&&u.scroll&&u!==u.root&&yr(l,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),zn(u.latestValues)&&yr(l,u.latestValues)}return zn(this.latestValues)&&yr(l,this.latestValues),l}removeTransform(o){const a=pt();Gt(a,o);for(let l=0;l<this.path.length;l++){const c=this.path[l];if(!c.instance||!zn(c.latestValues))continue;ua(c.latestValues)&&c.updateSnapshot();const u=pt(),d=c.measurePageBox();Gt(u,d),hu(a,c.latestValues,c.snapshot?c.snapshot.layoutBox:void 0,u)}return zn(this.latestValues)&&hu(a,this.latestValues),a}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Tt.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var f;const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(o||l&&this.isSharedProjectionDirty||this.isProjectionDirty||(f=this.parent)!=null&&f.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:d}=this.options;if(!(!this.layout||!(u||d))){if(this.resolvedRelativeTargetAt=Tt.timestamp,!this.targetDelta&&!this.relativeTarget){const p=this.getClosestProjectingParent();p&&p.layout&&this.animationProgress!==1?(this.relativeParent=p,this.forceRelativeParentToResolveTarget(),this.relativeTarget=pt(),this.relativeTargetOrigin=pt(),Xr(this.relativeTargetOrigin,this.layout.layoutBox,p.layout.layoutBox),Gt(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=pt(),this.targetWithTransforms=pt()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),p0(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Gt(this.target,this.layout.layoutBox),Ch(this.target,this.targetDelta)):Gt(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=pt(),this.relativeTargetOrigin=pt(),Xr(this.relativeTargetOrigin,this.target,p.target),Gt(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||ua(this.parent.latestValues)||Sh(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 o=this.getLead(),a=!!this.resumingFrom||this!==o;let l=!0;if((this.isProjectionDirty||(g=this.parent)!=null&&g.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===Tt.timestamp&&(l=!1),l)return;const{layout:c,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||!(c||u))return;Gt(this.layoutCorrected,this.layout.layoutBox);const d=this.treeScale.x,f=this.treeScale.y;_x(this.layoutCorrected,this.treeScale,this.path,a),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=pt());const{target:p}=o;if(!p){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(uu(this.prevProjectionDelta.x,this.projectionDelta.x),uu(this.prevProjectionDelta.y,this.projectionDelta.y)),Zr(this.projectionDelta,this.layoutCorrected,p,this.latestValues),(this.treeScale.x!==d||this.treeScale.y!==f||!yu(this.projectionDelta.x,this.prevProjectionDelta.x)||!yu(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",p))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var a;if((a=this.options.visualElement)==null||a.scheduleRender(),o){const l=this.getStack();l&&l.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=xr(),this.projectionDelta=xr(),this.projectionDeltaWithTransform=xr()}setAnimationOrigin(o,a=!1){const l=this.snapshot,c=l?l.latestValues:{},u={...this.latestValues},d=xr();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const f=pt(),p=l?l.source:void 0,g=this.layout?this.layout.source:void 0,m=p!==g,x=this.getStack(),y=!x||x.members.length<=1,k=!!(m&&!y&&this.options.crossfade===!0&&!this.path.some(sw));this.animationProgress=0;let E;this.mixTargetDelta=_=>{const v=_/1e3;Eu(d.x,o.x,v),Eu(d.y,o.y,v),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Xr(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),iw(this.relativeTarget,this.relativeTargetOrigin,f,v),E&&U0(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=pt()),Gt(E,this.relativeTarget)),m&&(this.animationValues=u,F0(u,c,this.latestValues,v,k,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=v},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){var a,l,c;this.notifyListeners("animationStart"),(a=this.currentAnimation)==null||a.stop(),(c=(l=this.resumingFrom)==null?void 0:l.currentAnimation)==null||c.stop(),this.pendingAnimation&&(Mn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=it.update(()=>{es.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=kr(0)),this.currentAnimation=I0(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),o.onUpdate&&o.onUpdate(u)},onStop:()=>{},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(G0),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:c,latestValues:u}=o;if(!(!a||!l||!c)){if(this!==o&&this.layout&&c&&qh(this.options.animationType,this.layout.layoutBox,c.layoutBox)){l=this.target||pt();const d=Dt(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const f=Dt(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+f}Gt(a,l),yr(a,u),Zr(this.projectionDeltaWithTransform,this.layoutCorrected,a,u)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new H0),this.sharedNodes.get(o).add(a);const c=a.options.initialPromotionConfig;a.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())==null?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())==null?void 0:a.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const c=this.getStack();c&&c.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const c={};l.z&&fo("z",o,c,this.animationValues);for(let u=0;u<uo.length;u++)fo(`rotate${uo[u]}`,o,c,this.animationValues),fo(`skew${uo[u]}`,o,c,this.animationValues);o.render();for(const u in c)o.setStaticValue(u,c[u]),this.animationValues&&(this.animationValues[u]=c[u]);o.scheduleRender()}applyProjectionStyles(o,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=Ji(a==null?void 0:a.pointerEvents)||"",o.transform=l?l(this.latestValues,""):"none";return}const c=this.getLead();if(!this.projectionDelta||!this.layout||!c.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=Ji(a==null?void 0:a.pointerEvents)||""),this.hasProjected&&!zn(this.latestValues)&&(o.transform=l?l({},""):"none",this.hasProjected=!1);return}o.visibility="";const u=c.animationValues||c.latestValues;this.applyTransformsToTarget();let d=W0(this.projectionDeltaWithTransform,this.treeScale,u);l&&(d=l(u,d)),o.transform=d;const{x:f,y:p}=this.projectionDelta;o.transformOrigin=`${f.origin*100}% ${p.origin*100}% 0`,c.animationValues?o.opacity=c===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:o.opacity=c===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const g in oi){if(u[g]===void 0)continue;const{correct:m,applyTo:x,isCSSVariable:y}=oi[g],k=d==="none"?u[g]:m(u[g],c);if(x){const E=x.length;for(let _=0;_<E;_++)o[x[_]]=k}else y?this.options.visualElement.renderState.vars[g]=k:o[g]=k}this.options.layoutId&&(o.pointerEvents=c===this?Ji(a==null?void 0:a.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var a;return(a=o.currentAnimation)==null?void 0:a.stop()}),this.root.nodes.forEach(xu),this.root.sharedNodes.clear()}}}function q0(e){e.updateLayout()}function Y0(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:r,measuredBox:i}=e.layout,{animationType:s}=e.options,o=t.source!==e.layout.source;s==="size"?Kt(d=>{const f=o?t.measuredBox[d]:t.layoutBox[d],p=Dt(f);f.min=r[d].min,f.max=f.min+p}):qh(s,t.layoutBox,r)&&Kt(d=>{const f=o?t.measuredBox[d]:t.layoutBox[d],p=Dt(r[d]);f.max=f.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+p)});const a=xr();Zr(a,r,t.layoutBox);const l=xr();o?Zr(l,e.applyTransform(i,!0),t.measuredBox):Zr(l,r,t.layoutBox);const c=!Hh(a);let u=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:p}=d;if(f&&p){const g=pt();Xr(g,t.layoutBox,f.layoutBox);const m=pt();Xr(m,r,p.layoutBox),Wh(g,m)||(u=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=g,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:t,delta:l,layoutDelta:a,hasLayoutChanged:c,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Z0(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 X0(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Q0(e){e.clearSnapshot()}function xu(e){e.clearMeasurements()}function wu(e){e.isLayoutDirty=!1}function J0(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function vu(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ew(e){e.resolveTargetDelta()}function tw(e){e.calcProjection()}function nw(e){e.resetSkewAndRotation()}function rw(e){e.removeLeadSnapshot()}function Eu(e,t,n){e.translate=at(t.translate,0,n),e.scale=at(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function ku(e,t,n,r){e.min=at(t.min,n.min,r),e.max=at(t.max,n.max,r)}function iw(e,t,n,r){ku(e.x,t.x,n.x,r),ku(e.y,t.y,n.y,r)}function sw(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ow={duration:.45,ease:[.4,0,.1,1]},Su=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Cu=Su("applewebkit/")&&!Su("chrome/")?Math.round:Zt;function _u(e){e.min=Cu(e.min),e.max=Cu(e.max)}function aw(e){_u(e.x),_u(e.y)}function qh(e,t,n){return e==="position"||e==="preserve-aspect"&&!h0(bu(t),bu(n),.2)}function lw(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const cw=Kh({attachResizeListener:(e,t)=>ai(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ho={current:void 0},Yh=Kh({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!ho.current){const e=new cw({});e.mount(window),e.setOptions({layoutScroll:!0}),ho.current=e}return ho.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),uw={pan:{Feature:N0},drag:{Feature:T0,ProjectionNode:Yh,MeasureLayout:Vh}};function Tu(e,t,n){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,s=r[i];s&&it.postRender(()=>s(t,gi(t)))}class dw extends Dn{mount(){const{current:t}=this.node;t&&(this.unmount=Py(t,(n,r)=>(Tu(this.node,r,"Start"),i=>Tu(this.node,i,"End"))))}unmount(){}}class fw extends Dn{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=hi(ai(this.node.current,"focus",()=>this.onFocus()),ai(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Nu(e,t,n){const{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),s=r[i];s&&it.postRender(()=>s(t,gi(t)))}class hw extends Dn{mount(){const{current:t}=this.node;t&&(this.unmount=jy(t,(n,r)=>(Nu(this.node,r,"Start"),(i,{success:s})=>Nu(this.node,i,s?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const ba=new WeakMap,po=new WeakMap,pw=e=>{const t=ba.get(e.target);t&&t(e)},mw=e=>{e.forEach(pw)};function gw({root:e,...t}){const n=e||document;po.has(n)||po.set(n,{});const r=po.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(mw,{root:e,...t})),r[i]}function bw(e,t,n){const r=gw(t);return ba.set(e,n),r.observe(e),()=>{ba.delete(e),r.unobserve(e)}}const yw={some:0,all:1};class xw extends Dn{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:s}=t,o={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:yw[i]},a=l=>{const{isIntersecting:c}=l;if(this.isInView===c||(this.isInView=c,s&&!c&&this.hasEnteredView))return;c&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",c);const{onViewportEnter:u,onViewportLeave:d}=this.node.getProps(),f=c?u:d;f&&f(l)};return bw(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(ww(t,n))&&this.startObserver()}unmount(){}}function ww({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const vw={inView:{Feature:xw},tap:{Feature:hw},focus:{Feature:fw},hover:{Feature:dw}},Ew={layout:{ProjectionNode:Yh,MeasureLayout:Vh}},kw={...a0,...vw,...uw,...Ew},Ae=kx(kw,Lx);function Sw(e){const[t,n]=A.useState(()=>e.getLocalParticipant()),[r,i]=A.useState(()=>e.getMicrophoneTrack());return A.useEffect(()=>{const s=()=>{const a=e.getLocalParticipant(),l=e.getMicrophoneTrack();console.log("๐ค useVoxketLocalParticipant: Updating state:",{hasParticipant:!!a,hasMicTrack:!!l,isMicEnabled:e.isMicrophoneEnabled,trackPublications:a?a.trackPublications.size:0}),n(a),i(l)};s(),e.on("connection.connected",s),e.on("connection.disconnected",s),e.on("track.muted",s),e.on("track.unmuted",s);const o=e.getRoom();if(o){const a=()=>{console.log("๐ค Track published, updating participant state"),s()},l=()=>{console.log("๐ค Track unpublished, updating participant state"),s()};return o.on("localTrackPublished",a),o.on("localTrackUnpublished",l),()=>{e.off("connection.connected",s),e.off("connection.disconnected",s),e.off("track.muted",s),e.off("track.unmuted",s),o.off("localTrackPublished",a),o.off("localTrackUnpublished",l)}}else return()=>{e.off("connection.connected",s),e.off("connection.disconnected",s),e.off("track.muted",s),e.off("track.unmuted",s)}},[e]),{localParticipant:t,microphoneTrack:r}}function ts(e,t,n){const[r,i]=A.useState(!1),[s,o]=A.useState(!1);return A.useEffect(()=>{const l=()=>{let c=!1;switch(t){case"microphone":c=e.isMicrophoneEnabled;break;case"camera":c=e.isCameraEnabled;break;case"screenShare":c=e.isScreenShareEnabled;break}console.log(`๐ฌ useVoxketTrackToggle: ${t} enabled state updated:`,{oldEnabled:r,newEnabled:c,changed:r!==c}),i(c)};return l(),e.on("track.muted",l),e.on("track.unmuted",l),e.on("connection.connected",l),()=>{e.off("track.muted",l),e.off("track.unmuted",l),e.off("connection.connected",l)}},[e,t]),{enabled:r,pending:s,toggle:async l=>{try{o(!0);const c=l!==void 0?l:!r;switch(console.log(`๐ฌ useVoxketTrackToggle: ${t} toggle called`,{currentEnabled:r,targetEnabled:c,forceEnabled:l}),t){case"microphone":await e.toggleMicrophone(c);break;case"camera":await e.toggleCamera(c);break;case"screenShare":c?(console.log("๐ฌ useVoxketTrackToggle: Starting screen share"),await e.startScreenShare()):(console.log("๐ฌ useVoxketTrackToggle: Stopping screen share"),await e.stopScreenShare());break}console.log(`๐ฌ useVoxketTrackToggle: ${t} toggle completed`)}catch(c){console.error(`๐ฌ useVoxketTrackToggle: ${t} toggle failed:`,c)}finally{o(!1)}}}}function Cw(e){const[t,n]=A.useState(()=>e.getRoom()),[r,i]=A.useState(()=>e.getConnectionState());return A.useEffect(()=>{const s=()=>{n(e.getRoom()),i(e.getConnectionState())};return e.on("connection.connected",s),e.on("connection.disconnected",s),e.on("connection.connecting",s),()=>{e.off("connection.connected",s),e.off("connection.disconnected",s),e.off("connection.connecting",s)}},[e]),t}function xl(e){const[t,n]=A.useState(()=>e.getIsAgentConnected()),[r,i]=A.useState(()=>e.getCurrentSession()),[s,o]=A.useState(()=>e.getCurrentAgentInfo()),[a,l]=A.useState(()=>e.getAgentState()),[c,u]=A.useState(()=>e.getAgentAudioTrack()),[d,f]=A.useState(()=>e.getAgentVideoTrack());return A.useEffect(()=>{const p=()=>{const E=e.getIsAgentConnected(),_=e.getCurrentSession(),v=e.getCurrentAgentInfo(),C=e.getAgentState(),M=e.getAgentAudioTrack(),N=e.getAgentVideoTrack();console.log("๐ค useVoxketVoiceAssistant: Updating state:",{isAgentConnected:E,hasSession:!!_,sessionId:_==null?void 0:_.id,hasAgentInfo:!!v,agentState:C,hasAudioTrack:!!M,hasVideoTrack:!!N}),n(E),i(_),o(v),l(C),u(M),f(N)};p();const g=()=>{console.log("๐ค useVoxketVoiceAssistant: Agent connected event"),p()},m=()=>{console.log("๐ค useVoxketVoiceAssistant: Agent disconnected event"),p()},x=()=>{console.log("๐ค useVoxketVoiceAssistant: Session changed event"),p()},y=()=>{console.log("๐ค useVoxketVoiceAssistant: Connection changed event"),p()},k=()=>{console.log("๐ค useVoxketVoiceAssistant: Agent state changed event"),p()};return e.on("agent.connected",g),e.on("agent.speaking",g),e.on("agent.thinking",g),e.on("agent.state.changed",k),e.on("connection.disconnected",m),e.on("session.created",x),e.on("session.ended",x),e.on("session.state.changed",x),e.on("connection.connected",y),()=>{e.off("agent.connected",g),e.off("agent.speaking",g),e.off("agent.thinking",g),e.off("agent.state.changed",k),e.off("connection.disconnected",m),e.off("session.created",x),e.off("session.ended",x),e.off("session.state.changed",x),e.off("connection.connected",y)}},[e]),{agent:{isActive:t,info:s},session:r,state:a,audioTrack:c,videoTrack:d}}function _w(e){const[t,n]=A.useState(()=>e.getVideoTrackRefs()),[r,i]=A.useState(()=>e.getCameraTrackRefs()),[s,o]=A.useState(()=>e.getScreenShareTrackRefs());return A.useEffect(()=>{const a=()=>{const c=e.getVideoTrackRefs(),u=e.getCameraTrackRefs(),d=e.getScreenShareTrackRefs();console.log("๐น useVoxketVideoTracks: Updating tracks:",{videoCount:c.length,cameraCount:u.length,screenShareCount:d.length}),n(c),i(u),o(d)};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 l=e.getRoom();if(l){const c=()=>{console.log("๐น Track event, updating video tracks"),a()};return l.on("localTrackPublished",c),l.on("localTrackUnpublished",c),l.on("trackPublished",c),l.on("trackUnpublished",c),l.on("trackSubscribed",c),l.on("trackUnsubscribed",c),()=>{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),l.off("localTrackPublished",c),l.off("localTrackUnpublished",c),l.off("trackPublished",c),l.off("trackUnpublished",c),l.off("trackSubscribed",c),l.off("trackUnsubscribed",c)}}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:r,screenShareTrackRefs:s}}const wl="-",Tw=e=>{const t=Aw(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{const a=o.split(wl);return a[0]===""&&a.length!==1&&a.shift(),Zh(a,t)||Nw(o)},getConflictingClassGroupIds:(o,a)=>{const l=n[o]||[];return a&&r[o]?[...l,...r[o]]:l}}},Zh=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),i=r?Zh(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;const s=e.join(wl);return(o=t.validators.find(({validator:a})=>a(s)))==null?void 0:o.classGroupId},Au=/^\[(.+)\]$/,Nw=e=>{if(Au.test(e)){const t=Au.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},Aw=e=>{const{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(const i in n)ya(n[i],r,i,t);return r},ya=(e,t,n,r)=>{e.forEach(i=>{if(typeof i=="string"){const s=i===""?t:Ru(t,i);s.classGroupId=n;return}if(typeof i=="function"){if(Rw(i)){ya(i(r),t,n,r);return}t.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,o])=>{ya(o,Ru(t,s),n,r)})})},Ru=(e,t)=>{let n=e;return t.split(wl).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Rw=e=>e.isThemeGetter,Mw=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const i=(s,o)=>{n.set(s,o),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let o=n.get(s);if(o!==void 0)return o;if((o=r.get(s))!==void 0)return i(s,o),o},set(s,o){n.has(s)?n.set(s,o):i(s,o)}}},xa="!",wa=":",Iw=wa.length,Ow=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=i=>{const s=[];let o=0,a=0,l=0,c;for(let g=0;g<i.length;g++){let m=i[g];if(o===0&&a===0){if(m===wa){s.push(i.slice(l,g)),l=g+Iw;continue}if(m==="/"){c=g;continue}}m==="["?o++:m==="]"?o--:m==="("?a++:m===")"&&a--}const u=s.length===0?i:i.substring(l),d=Pw(u),f=d!==u,p=c&&c>l?c-l:void 0;return{modifiers:s,hasImportantModifier:f,baseClassName:d,maybePostfixModifierPosition:p}};if(t){const i=t+wa,s=r;r=o=>o.startsWith(i)?s(o.substring(i.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:o,maybePostfixModifierPosition:void 0}}if(n){const i=r;r=s=>n({className:s,parseClassName:i})}return r},Pw=e=>e.endsWith(xa)?e.substring(0,e.length-1):e.startsWith(xa)?e.substring(1):e,Dw=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const i=[];let s=[];return r.forEach(o=>{o[0]==="["||t[o]?(i.push(...s.sort(),o),s=[]):s.push(o)}),i.push(...s.sort()),i}},Lw=e=>({cache:Mw(e.cacheSize),parseClassName:Ow(e),sortModifiers:Dw(e),...Tw(e)}),Fw=/\s+/,jw=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:s}=t,o=[],a=e.trim().split(Fw);let l="";for(let c=a.length-1;c>=0;c-=1){const u=a[c],{isExternal:d,modifiers:f,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:m}=n(u);if(d){l=u+(l.length>0?" "+l:l);continue}let x=!!m,y=r(x?g.substring(0,m):g);if(!y){if(!x){l=u+(l.length>0?" "+l:l);continue}if(y=r(g),!y){l=u+(l.length>0?" "+l:l);continue}x=!1}const k=s(f).join(":"),E=p?k+xa:k,_=E+y;if(o.includes(_))continue;o.push(_);const v=i(y,x);for(let C=0;C<v.length;++C){const M=v[C];o.push(E+M)}l=u+(l.length>0?" "+l:l)}return l};function Bw(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=Xh(t))&&(r&&(r+=" "),r+=n);return r}const Xh=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Xh(e[r]))&&(n&&(n+=" "),n+=t);return n};function $w(e,...t){let n,r,i,s=o;function o(l){const c=t.reduce((u,d)=>d(u),e());return n=Lw(c),r=n.cache.get,i=n.cache.set,s=a,a(l)}function a(l){const c=r(l);if(c)return c;const u=jw(l,n);return i(l,u),u}return function(){return s(Bw.apply(null,arguments))}}const vt=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Qh=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jh=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Vw=/^\d+\/\d+$/,zw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Uw=/\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$/,Hw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ww=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Gw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nr=e=>Vw.test(e),Me=e=>!!e&&!Number.isNaN(Number(e)),_n=e=>!!e&&Number.isInteger(Number(e)),mo=e=>e.endsWith("%")&&Me(e.slice(0,-1)),pn=e=>zw.test(e),Kw=()=>!0,qw=e=>Uw.test(e)&&!Hw.test(e),ep=()=>!1,Yw=e=>Ww.test(e),Zw=e=>Gw.test(e),Xw=e=>!fe(e)&&!he(e),Qw=e=>Ir(e,rp,ep),fe=e=>Qh.test(e),$n=e=>Ir(e,ip,qw),go=e=>Ir(e,rv,Me),Mu=e=>Ir(e,tp,ep),Jw=e=>Ir(e,np,Zw),Pi=e=>Ir(e,sp,Yw),he=e=>Jh.test(e),jr=e=>Or(e,ip),ev=e=>Or(e,iv),Iu=e=>Or(e,tp),tv=e=>Or(e,rp),nv=e=>Or(e,np),Di=e=>Or(e,sp,!0),Ir=(e,t,n)=>{const r=Qh.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Or=(e,t,n=!1)=>{const r=Jh.exec(e);return r?r[1]?t(r[1]):n:!1},tp=e=>e==="position"||e==="percentage",np=e=>e==="image"||e==="url",rp=e=>e==="length"||e==="size"||e==="bg-size",ip=e=>e==="length",rv=e=>e==="number",iv=e=>e==="family-name",sp=e=>e==="shadow",sv=()=>{const e=vt("color"),t=vt("font"),n=vt("text"),r=vt("font-weight"),i=vt("tracking"),s=vt("leading"),o=vt("breakpoint"),a=vt("container"),l=vt("spacing"),c=vt("radius"),u=vt("shadow"),d=vt("inset-shadow"),f=vt("text-shadow"),p=vt("drop-shadow"),g=vt("blur"),m=vt("perspective"),x=vt("aspect"),y=vt("ease"),k=vt("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[..._(),he,fe],C=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],N=()=>[he,fe,l],O=()=>[nr,"full","auto",...N()],b=()=>[_n,"none","subgrid",he,fe],R=()=>["auto",{span:["full",_n,he,fe]},_n,he,fe],I=()=>[_n,"auto",he,fe],B=()=>["auto","min","max","fr",he,fe],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],q=()=>["start","end","center","stretch","center-safe","end-safe"],ne=()=>["auto",...N()],ee=()=>[nr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...N()],$=()=>[e,he,fe],D=()=>[..._(),Iu,Mu,{position:[he,fe]}],w=()=>["no-repeat",{repeat:["","x","y","space","round"]}],j=()=>["auto","cover","contain",tv,Qw,{size:[he,fe]}],Y=()=>[mo,jr,$n],S=()=>["","none","full",c,he,fe],H=()=>["",Me,jr,$n],U=()=>["solid","dashed","dotted","double"],Z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[Me,mo,Iu,Mu],ue=()=>["","none",g,he,fe],te=()=>["none",Me,he,fe],ae=()=>["none",Me,he,fe],Oe=()=>[Me,he,fe],L=()=>[nr,"full",...N()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[pn],breakpoint:[pn],color:[Kw],container:[pn],"drop-shadow":[pn],ease:["in","out","in-out"],font:[Xw],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[pn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[pn],shadow:[pn],spacing:["px",Me],text:[pn],"text-shadow":[pn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",nr,fe,he,x]}],container:["container"],columns:[{columns:[Me,fe,he,a]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"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:v()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{start:O()}],end:[{end:O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[_n,"auto",he,fe]}],basis:[{basis:[nr,"full","auto",a,...N()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Me,nr,"auto","initial","none",fe]}],grow:[{grow:["",Me,he,fe]}],shrink:[{shrink:["",Me,he,fe]}],order:[{order:[_n,"first","last","none",he,fe]}],"grid-cols":[{"grid-cols":b()}],"col-start-end":[{col:R()}],"col-start":[{"col-start":I()}],"col-end":[{"col-end":I()}],"grid-rows":[{"grid-rows":b()}],"row-start-end":[{row:R()}],"row-start":[{"row-start":I()}],"row-end":[{"row-end":I()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:N()}],"gap-x":[{"gap-x":N()}],"gap-y":[{"gap-y":N()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...q(),"normal"]}],"justify-self":[{"justify-self":["auto",...q()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...q(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...q(),"baseline"]}],"place-self":[{"place-self":["auto",...q()]}],p:[{p:N()}],px:[{px:N()}],py:[{py:N()}],ps:[{ps:N()}],pe:[{pe:N()}],pt:[{pt:N()}],pr:[{pr:N()}],pb:[{pb:N()}],pl:[{pl:N()}],m:[{m:ne()}],mx:[{mx:ne()}],my:[{my:ne()}],ms:[{ms:ne()}],me:[{me:ne()}],mt:[{mt:ne()}],mr:[{mr:ne()}],mb:[{mb:ne()}],ml:[{ml:ne()}],"space-x":[{"space-x":N()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":N()}],"space-y-reverse":["space-y-reverse"],size:[{size:ee()}],w:[{w:[a,"screen",...ee()]}],"min-w":[{"min-w":[a,"screen","none",...ee()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[o]},...ee()]}],h:[{h:["screen","lh",...ee()]}],"min-h":[{"min-h":["screen","lh","none",...ee()]}],"max-h":[{"max-h":["screen","lh",...ee()]}],"font-size":[{text:["base",n,jr,$n]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,he,go]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",mo,fe]}],"font-family":[{font:[ev,fe,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:[i,he,fe]}],"line-clamp":[{"line-clamp":[Me,"none",he,go]}],leading:[{leading:[s,...N()]}],"list-image":[{"list-image":["none",he,fe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",he,fe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:$()}],"text-color":[{text:$()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[Me,"from-font","auto",he,$n]}],"text-decoration-color":[{decoration:$()}],"underline-offset":[{"underline-offset":[Me,"auto",he,fe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:N()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",he,fe]}],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",he,fe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:w()}],"bg-size":[{bg:j()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_n,he,fe],radial:["",he,fe],conic:[_n,he,fe]},nv,Jw]}],"bg-color":[{bg:$()}],"gradient-from-pos":[{from:Y()}],"gradient-via-pos":[{via:Y()}],"gradient-to-pos":[{to:Y()}],"gradient-from":[{from:$()}],"gradient-via":[{via:$()}],"gradient-to":[{to:$()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:H()}],"border-w-x":[{"border-x":H()}],"border-w-y":[{"border-y":H()}],"border-w-s":[{"border-s":H()}],"border-w-e":[{"border-e":H()}],"border-w-t":[{"border-t":H()}],"border-w-r":[{"border-r":H()}],"border-w-b":[{"border-b":H()}],"border-w-l":[{"border-l":H()}],"divide-x":[{"divide-x":H()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":H()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:$()}],"border-color-x":[{"border-x":$()}],"border-color-y":[{"border-y":$()}],"border-color-s":[{"border-s":$()}],"border-color-e":[{"border-e":$()}],"border-color-t":[{"border-t":$()}],"border-color-r":[{"border-r":$()}],"border-color-b":[{"border-b":$()}],"border-color-l":[{"border-l":$()}],"divide-color":[{divide:$()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Me,he,fe]}],"outline-w":[{outline:["",Me,jr,$n]}],"outline-color":[{outline:$()}],shadow:[{shadow:["","none",u,Di,Pi]}],"shadow-color":[{shadow:$()}],"inset-shadow":[{"inset-shadow":["none",d,Di,Pi]}],"inset-shadow-color":[{"inset-shadow":$()}],"ring-w":[{ring:H()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:$()}],"ring-offset-w":[{"ring-offset":[Me,$n]}],"ring-offset-color":[{"ring-offset":$()}],"inset-ring-w":[{"inset-ring":H()}],"inset-ring-color":[{"inset-ring":$()}],"text-shadow":[{"text-shadow":["none",f,Di,Pi]}],"text-shadow-color":[{"text-shadow":$()}],opacity:[{opacity:[Me,he,fe]}],"mix-blend":[{"mix-blend":[...Z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Z()}],"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":[Me]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":$()}],"mask-image-linear-to-color":[{"mask-linear-to":$()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":$()}],"mask-image-t-to-color":[{"mask-t-to":$()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":$()}],"mask-image-r-to-color":[{"mask-r-to":$()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":$()}],"mask-image-b-to-color":[{"mask-b-to":$()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":$()}],"mask-image-l-to-color":[{"mask-l-to":$()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":$()}],"mask-image-x-to-color":[{"mask-x-to":$()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":$()}],"mask-image-y-to-color":[{"mask-y-to":$()}],"mask-image-radial":[{"mask-radial":[he,fe]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":$()}],"mask-image-radial-to-color":[{"mask-radial-to":$()}],"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":_()}],"mask-image-conic-pos":[{"mask-conic":[Me]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":$()}],"mask-image-conic-to-color":[{"mask-conic-to":$()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:w()}],"mask-size":[{mask:j()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",he,fe]}],filter:[{filter:["","none",he,fe]}],blur:[{blur:ue()}],brightness:[{brightness:[Me,he,fe]}],contrast:[{contrast:[Me,he,fe]}],"drop-shadow":[{"drop-shadow":["","none",p,Di,Pi]}],"drop-shadow-color":[{"drop-shadow":$()}],grayscale:[{grayscale:["",Me,he,fe]}],"hue-rotate":[{"hue-rotate":[Me,he,fe]}],invert:[{invert:["",Me,he,fe]}],saturate:[{saturate:[Me,he,fe]}],sepia:[{sepia:["",Me,he,fe]}],"backdrop-filter":[{"backdrop-filter":["","none",he,fe]}],"backdrop-blur":[{"backdrop-blur":ue()}],"backdrop-brightness":[{"backdrop-brightness":[Me,he,fe]}],"backdrop-contrast":[{"backdrop-contrast":[Me,he,fe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Me,he,fe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Me,he,fe]}],"backdrop-invert":[{"backdrop-invert":["",Me,he,fe]}],"backdrop-opacity":[{"backdrop-opacity":[Me,he,fe]}],"backdrop-saturate":[{"backdrop-saturate":[Me,he,fe]}],"backdrop-sepia":[{"backdrop-sepia":["",Me,he,fe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":N()}],"border-spacing-x":[{"border-spacing-x":N()}],"border-spacing-y":[{"border-spacing-y":N()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",he,fe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Me,"initial",he,fe]}],ease:[{ease:["linear","initial",y,he,fe]}],delay:[{delay:[Me,he,fe]}],animate:[{animate:["none",k,he,fe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,he,fe]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:te()}],"rotate-x":[{"rotate-x":te()}],"rotate-y":[{"rotate-y":te()}],"rotate-z":[{"rotate-z":te()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:Oe()}],"skew-x":[{"skew-x":Oe()}],"skew-y":[{"skew-y":Oe()}],transform:[{transform:[he,fe,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"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:$()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:$()}],"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",he,fe]}],"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":N()}],"scroll-mx":[{"scroll-mx":N()}],"scroll-my":[{"scroll-my":N()}],"scroll-ms":[{"scroll-ms":N()}],"scroll-me":[{"scroll-me":N()}],"scroll-mt":[{"scroll-mt":N()}],"scroll-mr":[{"scroll-mr":N()}],"scroll-mb":[{"scroll-mb":N()}],"scroll-ml":[{"scroll-ml":N()}],"scroll-p":[{"scroll-p":N()}],"scroll-px":[{"scroll-px":N()}],"scroll-py":[{"scroll-py":N()}],"scroll-ps":[{"scroll-ps":N()}],"scroll-pe":[{"scroll-pe":N()}],"scroll-pt":[{"scroll-pt":N()}],"scroll-pr":[{"scroll-pr":N()}],"scroll-pb":[{"scroll-pb":N()}],"scroll-pl":[{"scroll-pl":N()}],"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",he,fe]}],fill:[{fill:["none",...$()]}],"stroke-w":[{stroke:[Me,jr,$n,go]}],stroke:[{stroke:["none",...$()]}],"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"]}},ov=$w(sv);function Qe(...e){return ov(ja.clsx(e))}function Ts(e){var i;if(!e)return{sessionSettings:{},capabilities:{},modality:"voice"};const t={session_timer:((i=e.session_settings)==null?void 0:i.session_timer)||null},n=e.capabilities||{},r=e.modality||"voice";return{sessionSettings:t,capabilities:n,modality:r}}function av(e,t){return e.capabilities[t]===!0}function Ns(e){return e.sessionSettings.session_timer||null}function op(e){const t=e.capabilities;return{userVideoEnabled:t.user_video_enabled!==!1,agentAvatarEnabled:t.agent_avatar_enabled!==!1,screenshareEnabled:t.screenshare_session_enabled!==!1}}function ap(e){const t=e.capabilities;return{suggestedReplyEnabled:t.suggested_reply_enabled!==!1,attachmentsEnabled:t.support_in_chat_attachments!==!1}}function lp(e){return{...e.capabilities}}function cp(e){const t=Math.floor(e/60),n=e%60;return`${t}:${n.toString().padStart(2,"0")}`}const up=A.forwardRef(({state:e,audioTrack:t,className:n},r)=>h.jsx("div",{ref:r,className:Qe("",n),children:t?h.jsx(Ft.BarVisualizer,{barCount:5,state:e,options:{minHeight:5},trackRef:t,className:Qe("flex aspect-video w-40 items-center justify-center gap-1"),children:h.jsx("span",{className:Qe(["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]"])})}):h.jsx("div",{className:Qe("flex aspect-video w-40 items-center justify-center"),children:h.jsx("div",{className:"flex flex-col items-center justify-center",children:h.jsx("div",{className:"flex gap-1",children:Array.from({length:5}).map((i,s)=>h.jsx("span",{className:Qe(["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"])},s))})})})}));up.displayName="AgentTile";const lv=({videoTrack:e,className:t,ref:n})=>{var r,i;return!e||!e.publication||!e.participant?h.jsx("div",{ref:n,className:Qe(t),children:h.jsx("div",{className:"w-full h-full bg-gray-200 rounded-md flex items-center justify-center",children:h.jsx("span",{className:"text-gray-500",children:"No video available"})})}):h.jsx("div",{ref:n,className:Qe(t),children:h.jsx(Ft.VideoTrack,{trackRef:e,width:((r=e.publication.dimensions)==null?void 0:r.width)??0,height:((i=e.publication.dimensions)==null?void 0:i.height)??0,className:"rounded-md"})})},cv=Ae.create(Ft.VideoTrack),uv=({trackRef:e,className:t,ref:n})=>{var r,i;return h.jsx("div",{className:Qe("bg-muted overflow-hidden rounded-md",t),children:h.jsx(cv,{ref:n,trackRef:e,width:((r=e==null?void 0:e.publication.dimensions)==null?void 0:r.width)??0,height:((i=e==null?void 0:e.publication.dimensions)==null?void 0:i.height)??0,className:Qe("h-full w-auto")})})},Ou=Ae.create(uv),dv=Ae.create(up),fv=Ae.create(lv),mn={initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},exit:{opacity:0,scale:0},transition:{type:"spring",stiffness:675,damping:75,mass:1}},rr={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 hv(e,t){const{localParticipant:n}=Sw(t),r=n==null?void 0:n.getTrackPublication(e);return A.useMemo(()=>r&&n?{source:e,participant:n,publication:r}:void 0,[e,r,n])}function pv({chatOpen:e,client:t}){const{agent:{isActive:n=!1}={},session:r,state:i="idle",audioTrack:s,videoTrack:o}=t?xl(t):{agent:{isActive:!1},session:null,state:"idle",audioTrack:null,videoTrack:null},[a]=Ft.useTracks([ce.Track.Source.ScreenShare]),l=hv(ce.Track.Source.Camera,t),c=l&&!l.publication.isMuted,u=a&&!a.publication.isMuted,d=c||u,f=n||r&&r.state==="active",p={...mn.transition,delay:e?0:.15},g={...mn.animate,scale:e?1:3,transition:p},m={...mn.animate,transition:p},x=p,y=p,k=o&&o.publication&&o.participant;return h.jsx("div",{className:"relative w-full h-full z-10 flex items-center justify-center",children:h.jsx("div",{className:"relative w-full h-full max-w-2xl px-4 md:px-0",children:h.jsxs("div",{className:Qe(rr.grid),children:[f&&h.jsx("div",{className:Qe(["grid",!e&&rr.agentChatClosed,e&&d&&rr.agentChatOpenWithSecondTile,e&&!d&&rr.agentChatOpenWithoutSecondTile]),children:h.jsxs("div",{className:"h-full flex items-center justify-center",children:[!k&&h.jsx(dv,{layoutId:"agent",...mn,animate:g,transition:x,state:i,audioTrack:s||void 0,className:Qe(e?"h-[90px]":"h-auto w-full")},"agent"),k&&o&&h.jsx(fv,{layoutId:"avatar",...mn,animate:m,transition:y,videoTrack:o,className:Qe(e?"h-[90px] [&>video]:h-[90px] [&>video]:w-auto":"h-auto w-full")},"avatar")]})}),h.jsx("div",{className:Qe(["grid",e&&rr.secondTileChatOpen,!e&&rr.secondTileChatClosed]),children:h.jsxs("div",{className:"w-full px-10 flex items-center shadow-2xl justify-between",children:[l&&c&&h.jsx(Ou,{layout:"position",layoutId:"camera",...mn,trackRef:l,transition:{...mn.transition,delay:e?0:.15},className:"h-[60px] order-1"},"camera"),u&&h.jsx(Ou,{layout:"position",layoutId:"screen",...mn,trackRef:a,transition:{...mn.transition,delay:e?0:.15},className:"h-[70px] order-2"},"screen")]})})]})})})}const mv={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 relative 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"}},gv={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 relative 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"}},bv={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 relative",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"}},Pu={dark:mv,light:gv,vox:bv};function Et(e){return Pu[e]||Pu.vox}function Du({timeout:e}){const[t,n]=A.useState(100),r=A.useRef(null),i=A.useRef(null);return A.useEffect(()=>{if(!e||e<=0)return;n(100),i.current=Date.now();const s=()=>{if(!e||i.current===null)return;const o=Date.now()-i.current,a=Math.max(0,100-o/e*100);n(a),a>0&&(r.current=requestAnimationFrame(s))};return r.current=requestAnimationFrame(s),()=>{r.current&&cancelAnimationFrame(r.current)}},[e]),!e||e<=0?null:h.jsx("div",{className:"w-full h-1 relative top-1 rounded-t-4xl bg-gray-700 overflow-hidden",children:h.jsx(Ae.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 li({interaction:e,theme:t,onDismiss:n,client:r,addLocalMessage:i}){var a;if(!e||!e.isVisible||!e.component)return null;const[s]=P.useState(()=>Date.now()),o=()=>e.component?P.createElement(e.component,{handler:e.handler||void 0,timeout:e.timeout,loadData:async c=>{console.log("InteractiveComponent: Loading data:",c)},presentationMode:e.presentationMode,data:e.data,client:r,addLocalMessage:i}):h.jsx("div",{className:"p-4 text-red-500",children:"Component not found"});switch(e.presentationMode){case"fullscreen":return h.jsx(Sr,{children:h.jsxs(Ae.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[9999] bg-black",children:[h.jsxs("div",{className:"flex flex-col",children:[h.jsx(Du,{timeout:e.timeout}),h.jsxs("div",{className:"flex items-center justify-between p-4 bg-black/80 text-white border-b border-gray-700",children:[h.jsx("h3",{className:"text-lg font-semibold",children:e.methodName.replace(/_/g," ").replace(/\b\w/g,l=>l.toUpperCase())}),h.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:h.jsx(ze.X,{className:"w-5 h-5"})})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:o()})]})});case"embedded":default:return h.jsx(Sr,{children:h.jsx(Ae.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"w-fit rounded-lg ",children:h.jsxs("div",{children:[h.jsx(Du,{timeout:e.timeout}),o()]})})})}}function ci({duration:e,theme:t="vox",onTimerExpired:n,className:r="",showIcon:i=!0}){const[s,o]=A.useState(e),[a,l]=A.useState(!1);A.useEffect(()=>{if(s<=0){l(!0),n==null||n();return}const u=setInterval(()=>{o(d=>{const f=d-1;return f<=0?(l(!0),n==null||n(),0):f})},1e3);return()=>clearInterval(u)},[s,n]),A.useEffect(()=>{o(e),l(!1)},[e]);const c=()=>a?"text-red-500":s<=60?"text-orange-500":s<=300?"text-yellow-500":t==="dark"?"text-gray-300":"text-gray-600";return h.jsxs("div",{className:`flex items-center gap-1 text-sm ${c()} ${r}`,children:[i&&h.jsx(ze.Clock,{className:"w-4 h-4"}),h.jsx("span",{className:"font-mono",children:cp(s)}),a&&h.jsx("span",{className:"text-xs ml-1 text-red-500",children:"(Expired)"})]})}const yv=({logLevel:e}={})=>{const t=Ft.useRoomContext();P.useEffect(()=>(ce.setLogLevel(e??"debug"),window.__lk_room=t,()=>{window.__lk_room=void 0}),[t,e])},dp=P.forwardRef((e,t)=>{const{alt:n,color:r="currentColor",size:i="1em",weight:s="regular",mirrored:o=!1,children:a,weights:l,...c}=e;return P.createElement("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,fill:r,viewBox:"0 0 256 256",transform:o?"scale(-1, 1)":void 0,...c},!!n&&P.createElement("title",null,n),a,l.get(s))});dp.displayName="SSRBase";const xv=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"}))]]),vl=P.forwardRef((e,t)=>P.createElement(dp,{ref:t,...e,weights:xv}));vl.displayName="SpinnerIcon";function wv({onSendMessage:e,onSendAttachments:t,disabled:n,theme:r,onEndChat:i,attachmentsEnabled:s=!0}){const[o,a]=P.useState(""),[l,c]=P.useState(!1),u=P.useRef(null),d=P.useRef(null),[f,p]=P.useState(!1),g=Et(r);P.useEffect(()=>{const v=()=>{const C=navigator.userAgent.toLowerCase(),N=["android","iphone","ipad","mobile","tablet"].some(R=>C.includes(R)),O="ontouchstart"in window||navigator.maxTouchPoints>0,b=window.innerWidth<=768;p(N||O&&b)};return v(),window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)},[]);const m=v=>{v.preventDefault(),o.trim()&&!n&&(e(o.trim()),a(""))},x=v=>{v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),m(v))},y=v=>{const C=v.target.files;if(C&&C.length>0){const M=Array.from(C),N=M.filter(O=>O.type.startsWith("image/"));if(N.length===0){console.warn("No valid image files selected");return}N.length!==M.length&&console.warn("Some non-image files were filtered out"),t(N),u.current&&(u.current.value="")}},k=()=>{!n&&u.current&&u.current.click()},E=()=>{!n&&f&&d.current&&d.current.click()},_=v=>{const C=v.target.files;if(C&&C.length>0){const M=C[0];M.type.startsWith("image/")?t([M]):console.warn("Selected file is not an image"),d.current&&(d.current.value="")}};return h.jsx("div",{className:"px-4 py-3 !w-full backdrop-blur-xl border-0 shadow-lg ",children:h.jsx("form",{onSubmit:m,className:"flex items-center !w-full",children:h.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 ${r==="light"?"bg-white/90 border-gray-200":g.chatInput.container}`,children:[s&&h.jsx(Ae.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:h.jsx(ze.Paperclip,{className:"w-4 h-4"})}),s&&f&&h.jsx(Ae.button,{type:"button",onClick:E,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:h.jsx(ze.Camera,{className:"w-4 h-4"})}),s&&h.jsx("input",{ref:u,type:"file",multiple:!0,onChange:y,className:"hidden",accept:"image/*"}),s&&h.jsx("input",{ref:d,type:"file",onChange:_,className:"hidden",accept:"image/*",capture:"environment"}),h.jsx("textarea",{value:o,onChange:v=>a(v.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 ${g.chatInput.textarea}`,rows:1,style:{height:"auto",minHeight:"32px"},onInput:v=>{const C=v.target;C.style.height="auto",C.style.height=`${Math.min(C.scrollHeight,80)}px`}}),h.jsx(Ae.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:r==="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:h.jsx(ze.SendHorizontal,{className:"w-4 h-4"})}),i&&h.jsx(Ae.button,{type:"button",onClick:i,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:h.jsx(ze.PhoneOff,{className:"w-4 h-4"})})]})})})}function vv({text:e,isComplete:t,isRealTimeStream:n=!1,speed:r=50}){const[i,s]=P.useState(""),[o,a]=P.useState(0);return P.useEffect(()=>{if(n){s(e);return}if(t){s(e);return}if(o<e.length){const l=setTimeout(()=>{s(e.slice(0,o+1)),a(o+1)},r);return()=>clearTimeout(l)}},[e,o,t,r,n]),P.useEffect(()=>{n||(a(0),s(""))},[e,n]),h.jsxs("span",{className:"relative",children:[h.jsx("span",{className:"inline-block",children:i}),!t&&h.jsx("span",{className:"inline-flex items-center ml-1",children:[0,1,2].map(l=>h.jsx(Ae.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:l*.2,ease:"easeInOut"}},l))})]})}function Ev(e,t){return e.startsWith("image/")?ze.Image:e.startsWith("video/")?ze.Video:e.startsWith("audio/")?ze.Music:e.includes("zip")||e.includes("rar")||e.includes("archive")?ze.Archive:ze.FileText}function kv(e){if(e===0)return"0 Bytes";const t=1024,n=["Bytes","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,r)).toFixed(2))+" "+n[r]}function Sv({message:e,theme:t,isOwn:n}){const r=Et(t),i=e.metadata,s=(i==null?void 0:i.fileName)||"Unknown file",o=(i==null?void 0:i.fileSize)||0,a=(i==null?void 0:i.mimeType)||"application/octet-stream",l=i==null?void 0:i.downloading,c=i==null?void 0:i.uploading,u=(i==null?void 0:i.downloadProgress)||0,d=(i==null?void 0:i.uploadProgress)||0,f=i==null?void 0:i.downloadUrl,p=i==null?void 0:i.file,g=Ev(a),m=l||c,x=l?u:d,y=l?"Downloading...":c?"Uploading...":"Complete",[k,E]=P.useState(null);P.useEffect(()=>{if(f)E(f);else if(p&&a.startsWith("image/")){const M=URL.createObjectURL(p);return E(M),()=>URL.revokeObjectURL(M)}else E(null)},[f,p,a]);const _=()=>{if(f){const M=document.createElement("a");M.href=f,M.download=s,M.click()}},C=a.startsWith("image/")&&k;return h.jsxs("div",{className:"flex flex-col gap-2 max-w-full sm:max-w-sm",children:[C&&h.jsxs("div",{className:"relative rounded-lg overflow-hidden",children:[h.jsx("img",{src:k,alt:s,className:"max-w-full h-auto max-h-48 object-cover rounded-lg cursor-pointer",onClick:_}),h.jsx("div",{className:"absolute inset-0 bg-black/0 hover:bg-black/10 transition-colors duration-200 cursor-pointer"})]}),h.jsxs("div",{className:`
|
|
29
|
+
`),()=>{m.contains(g)&&m.removeChild(g)}},[t]),h.jsx(zy,{isPresent:t,childRef:s,sizeRef:o,children:P.cloneElement(e,{ref:s})})}const Hy=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:s,mode:o,anchorX:a,root:l})=>{const c=$a(Wy),u=A.useId();let d=!0,f=A.useMemo(()=>(d=!1,{id:u,initial:t,isPresent:n,custom:i,onExitComplete:p=>{c.set(p,!0);for(const g of c.values())if(!g)return;r&&r()},register:p=>(c.set(p,!1),()=>c.delete(p))}),[n,c,r]);return s&&d&&(f={...f}),A.useMemo(()=>{c.forEach((p,g)=>c.set(g,!1))},[n]),P.useEffect(()=>{!n&&!c.size&&r&&r()},[n]),o==="popLayout"&&(e=h.jsx(Uy,{isPresent:n,anchorX:a,root:l,children:e})),h.jsx(ks.Provider,{value:f,children:e})};function Wy(){return new Map}function ch(e=!0){const t=A.useContext(ks);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:r,register:i}=t,s=A.useId();A.useEffect(()=>{if(e)return i(s)},[e]);const o=A.useCallback(()=>e&&r&&r(s),[s,r,e]);return!n&&r?[!1,o]:[!0]}const Ii=e=>e.key||"";function Lc(e){const t=[];return A.Children.forEach(e,n=>{A.isValidElement(n)&&t.push(n)}),t}const Sr=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:s="sync",propagate:o=!1,anchorX:a="left",root:l})=>{const[c,u]=ch(o),d=A.useMemo(()=>Lc(e),[e]),f=o&&!c?[]:d.map(Ii),p=A.useRef(!0),g=A.useRef(d),m=$a(()=>new Map),[x,y]=A.useState(d),[k,E]=A.useState(d);yf(()=>{p.current=!1,g.current=d;for(let C=0;C<k.length;C++){const M=Ii(k[C]);f.includes(M)?m.delete(M):m.get(M)!==!0&&m.set(M,!1)}},[k,f.length,f.join("-")]);const _=[];if(d!==x){let C=[...d];for(let M=0;M<k.length;M++){const N=k[M],O=Ii(N);f.includes(O)||(C.splice(M,0,N),_.push(N))}return s==="wait"&&_.length&&(C=_),E(Lc(C)),y(d),null}process.env.NODE_ENV!=="production"&&s==="wait"&&k.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:v}=A.useContext(Ba);return h.jsx(h.Fragment,{children:k.map(C=>{const M=Ii(C),N=o&&!c?!1:d===k||f.includes(M),O=()=>{if(m.has(M))m.set(M,!0);else return;let b=!0;m.forEach(R=>{R||(b=!1)}),b&&(v==null||v(),E(g.current),o&&(u==null||u()),r&&r())};return h.jsx(Hy,{isPresent:N,initial:!p.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:s,root:l,onExitComplete:N?void 0:O,anchorX:a,children:C},M)})})},uh=A.createContext({strict:!1}),Fc={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"]},Cr={};for(const e in Fc)Cr[e]={isEnabled:t=>Fc[e].some(n=>!!t[n])};function Gy(e){for(const t in e)Cr[t]={...Cr[t],...e[t]}}const Ky=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 ds(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Ky.has(e)}let dh=e=>!ds(e);function qy(e){typeof e=="function"&&(dh=t=>t.startsWith("on")?!ds(t):e(t))}try{qy(require("@emotion/is-prop-valid").default)}catch{}function Yy(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(dh(i)||n===!0&&ds(i)||!t&&!ds(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}const Ss=A.createContext({});function Cs(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function si(e){return typeof e=="string"||Array.isArray(e)}const ul=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],dl=["initial",...ul];function _s(e){return Cs(e.animate)||dl.some(t=>si(e[t]))}function fh(e){return!!(_s(e)||e.variants)}function Zy(e,t){if(_s(e)){const{initial:n,animate:r}=e;return{initial:n===!1||si(n)?n:void 0,animate:si(r)?r:void 0}}return e.inherit!==!1?t:{}}function Xy(e){const{initial:t,animate:n}=Zy(e,A.useContext(Ss));return A.useMemo(()=>({initial:t,animate:n}),[jc(t),jc(n)])}function jc(e){return Array.isArray(e)?e.join(" "):e}const oi={};function Qy(e){for(const t in e)oi[t]=e[t],Ya(t)&&(oi[t].isCSSVariable=!0)}function hh(e,{layout:t,layoutId:n}){return Mr.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!oi[e]||e==="opacity")}const Jy={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ex=Rr.length;function tx(e,t,n){let r="",i=!0;for(let s=0;s<ex;s++){const o=Rr[s],a=e[o];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(o.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const c=rh(a,ol[o]);if(!l){i=!1;const u=Jy[o]||o;r+=`${u}(${c}) `}n&&(t[o]=c)}}return r=r.trim(),n?r=n(t,i?"":r):i&&(r="none"),r}function fl(e,t,n){const{style:r,vars:i,transformOrigin:s}=e;let o=!1,a=!1;for(const l in t){const c=t[l];if(Mr.has(l)){o=!0;continue}else if(Ya(l)){i[l]=c;continue}else{const u=rh(c,ol[l]);l.startsWith("origin")?(a=!0,s[l]=u):r[l]=u}}if(t.transform||(o||n?r.transform=tx(t,e.transform,n):r.transform&&(r.transform="none")),a){const{originX:l="50%",originY:c="50%",originZ:u=0}=s;r.transformOrigin=`${l} ${c} ${u}`}}const hl=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ph(e,t,n){for(const r in t)!Rt(t[r])&&!hh(r,n)&&(e[r]=t[r])}function nx({transformTemplate:e},t){return A.useMemo(()=>{const n=hl();return fl(n,t,e),Object.assign({},n.vars,n.style)},[t])}function rx(e,t){const n=e.style||{},r={};return ph(r,n,e),Object.assign(r,nx(e,t)),r}function ix(e,t){const n={},r=rx(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.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=r,n}const sx={offset:"stroke-dashoffset",array:"stroke-dasharray"},ox={offset:"strokeDashoffset",array:"strokeDasharray"};function ax(e,t,n=1,r=0,i=!0){e.pathLength=1;const s=i?sx:ox;e[s.offset]=we.transform(-r);const o=we.transform(t),a=we.transform(n);e[s.array]=`${o} ${a}`}function mh(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:s=1,pathOffset:o=0,...a},l,c,u){if(fl(e,a,c),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin),f.transform&&(f.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete d.transformBox),t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&ax(d,i,s,o,!1)}const gh=()=>({...hl(),attrs:{}}),bh=e=>typeof e=="string"&&e.toLowerCase()==="svg";function lx(e,t,n,r){const i=A.useMemo(()=>{const s=gh();return mh(s,t,bh(r),e.transformTemplate,e.style),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};ph(s,e.style,e),i.style={...s,...i.style}}return i}const cx=["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 pl(e){return typeof e!="string"||e.includes("-")?!1:!!(cx.indexOf(e)>-1||/[A-Z]/u.test(e))}function ux(e,t,n,{latestValues:r},i,s=!1){const a=(pl(e)?lx:ix)(t,r,i,e),l=Yy(t,typeof e=="string",s),c=e!==A.Fragment?{...l,...a,ref:n}:{},{children:u}=t,d=A.useMemo(()=>Rt(u)?u.get():u,[u]);return A.createElement(e,{...c,children:d})}function Bc(e){const t=[{},{}];return e==null||e.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function ml(e,t,n,r){if(typeof t=="function"){const[i,s]=Bc(r);t=t(n!==void 0?n:e.custom,i,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,s]=Bc(r);t=t(n!==void 0?n:e.custom,i,s)}return t}function Ji(e){return Rt(e)?e.get():e}function dx({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:fx(n,r,i,e),renderState:t()}}function fx(e,t,n,r){const i={},s=r(e,{});for(const f in s)i[f]=Ji(s[f]);let{initial:o,animate:a}=e;const l=_s(e),c=fh(e);t&&c&&!l&&e.inherit!==!1&&(o===void 0&&(o=t.initial),a===void 0&&(a=t.animate));let u=n?n.initial===!1:!1;u=u||o===!1;const d=u?a:o;if(d&&typeof d!="boolean"&&!Cs(d)){const f=Array.isArray(d)?d:[d];for(let p=0;p<f.length;p++){const g=ml(e,f[p]);if(g){const{transitionEnd:m,transition:x,...y}=g;for(const k in y){let E=y[k];if(Array.isArray(E)){const _=u?E.length-1:0;E=E[_]}E!==null&&(i[k]=E)}for(const k in m)i[k]=m[k]}}}return i}const yh=e=>(t,n)=>{const r=A.useContext(Ss),i=A.useContext(ks),s=()=>dx(e,t,r,i);return n?s():$a(s)};function gl(e,t,n){var s;const{style:r}=e,i={};for(const o in r)(Rt(r[o])||t.style&&Rt(t.style[o])||hh(o,e)||((s=n==null?void 0:n.getValue(o))==null?void 0:s.liveStyle)!==void 0)&&(i[o]=r[o]);return i}const hx=yh({scrapeMotionValuesFromProps:gl,createRenderState:hl});function xh(e,t,n){const r=gl(e,t,n);for(const i in e)if(Rt(e[i])||Rt(t[i])){const s=Rr.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;r[s]=e[i]}return r}const px=yh({scrapeMotionValuesFromProps:xh,createRenderState:gh}),mx=Symbol.for("motionComponentSymbol");function gr(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function gx(e,t,n){return A.useCallback(r=>{r&&e.onMount&&e.onMount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):gr(n)&&(n.current=r))},[t])}const bl=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),bx="framerAppearId",wh="data-"+bl(bx),vh=A.createContext({});function yx(e,t,n,r,i){var m,x;const{visualElement:s}=A.useContext(Ss),o=A.useContext(uh),a=A.useContext(ks),l=A.useContext(cl).reducedMotion,c=A.useRef(null);r=r||o.renderer,!c.current&&r&&(c.current=r(e,{visualState:t,parent:s,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const u=c.current,d=A.useContext(vh);u&&!u.projection&&i&&(u.type==="html"||u.type==="svg")&&xx(c.current,n,i,d);const f=A.useRef(!1);A.useInsertionEffect(()=>{u&&f.current&&u.update(n,a)});const p=n[wh],g=A.useRef(!!p&&!((m=window.MotionHandoffIsComplete)!=null&&m.call(window,p))&&((x=window.MotionHasOptimisedAnimation)==null?void 0:x.call(window,p)));return yf(()=>{u&&(f.current=!0,window.MotionIsMounted=!0,u.updateFeatures(),u.scheduleRenderMicrotask(),g.current&&u.animationState&&u.animationState.animateChanges())}),A.useEffect(()=>{u&&(!g.current&&u.animationState&&u.animationState.animateChanges(),g.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)==null||y.call(window,p)}),g.current=!1),u.enteringChildren=void 0)}),u}function xx(e,t,n,r){const{layoutId:i,layout:s,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:c,layoutCrossfade:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Eh(e.parent)),e.projection.setOptions({layoutId:i,layout:s,alwaysMeasureLayout:!!o||a&&gr(a),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:r,crossfade:u,layoutScroll:l,layoutRoot:c})}function Eh(e){if(e)return e.options.allowProjection!==!1?e.projection:Eh(e.parent)}function so(e,{forwardMotionProps:t=!1}={},n,r){n&&Gy(n);const i=pl(e)?px:hx;function s(a,l){let c;const u={...A.useContext(cl),...a,layoutId:wx(a)},{isStatic:d}=u,f=Xy(a),p=i(a,d);if(!d&&Va){vx(u,n);const g=Ex(u);c=g.MeasureLayout,f.visualElement=yx(e,p,u,r,g.ProjectionNode)}return h.jsxs(Ss.Provider,{value:f,children:[c&&f.visualElement?h.jsx(c,{visualElement:f.visualElement,...u}):null,ux(e,a,gx(p,f.visualElement,l),p,d,t)]})}s.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const o=A.forwardRef(s);return o[mx]=e,o}function wx({layoutId:e}){const t=A.useContext(Ba).id;return t&&e!==void 0?t+"-"+e:e}function vx(e,t){const n=A.useContext(uh).strict;if(process.env.NODE_ENV!=="production"&&t&&n){const r="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";e.ignoreStrict?Nr(!1,r,"lazy-strict-mode"):xn(!1,r,"lazy-strict-mode")}}function Ex(e){const{drag:t,layout:n}=Cr;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function kx(e,t){if(typeof Proxy>"u")return so;const n=new Map,r=(s,o)=>so(s,o,e,t),i=(s,o)=>(process.env.NODE_ENV!=="production"&&Ga(!1,"motion() is deprecated. Use motion.create() instead."),r(s,o));return new Proxy(i,{get:(s,o)=>o==="create"?r:(n.has(o)||n.set(o,so(o,void 0,e,t)),n.get(o))})}function kh({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Sx({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Cx(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function oo(e){return e===void 0||e===1}function ua({scale:e,scaleX:t,scaleY:n}){return!oo(e)||!oo(t)||!oo(n)}function zn(e){return ua(e)||Sh(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Sh(e){return $c(e.x)||$c(e.y)}function $c(e){return e&&e!=="0%"}function fs(e,t,n){const r=e-n,i=t*r;return n+i}function Vc(e,t,n,r,i){return i!==void 0&&(e=fs(e,i,r)),fs(e,n,r)+t}function da(e,t=0,n=1,r,i){e.min=Vc(e.min,t,n,r,i),e.max=Vc(e.max,t,n,r,i)}function Ch(e,{x:t,y:n}){da(e.x,t.translate,t.scale,t.originPoint),da(e.y,n.translate,n.scale,n.originPoint)}const zc=.999999999999,Uc=1.0000000000001;function _x(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let s,o;for(let a=0;a<i;a++){s=n[a],o=s.projectionDelta;const{visualElement:l}=s.options;l&&l.props.style&&l.props.style.display==="contents"||(r&&s.options.layoutScroll&&s.scroll&&s!==s.root&&yr(e,{x:-s.scroll.offset.x,y:-s.scroll.offset.y}),o&&(t.x*=o.x.scale,t.y*=o.y.scale,Ch(e,o)),r&&zn(s.latestValues)&&yr(e,s.latestValues))}t.x<Uc&&t.x>zc&&(t.x=1),t.y<Uc&&t.y>zc&&(t.y=1)}function br(e,t){e.min=e.min+t,e.max=e.max+t}function Hc(e,t,n,r,i=.5){const s=at(e.min,e.max,i);da(e,t,n,s,r)}function yr(e,t){Hc(e.x,t.x,t.scaleX,t.scale,t.originX),Hc(e.y,t.y,t.scaleY,t.scale,t.originY)}function _h(e,t){return kh(Cx(e.getBoundingClientRect(),t))}function Tx(e,t,n){const r=_h(e,n),{scroll:i}=t;return i&&(br(r.x,i.offset.x),br(r.y,i.offset.y)),r}const Wc=()=>({translate:0,scale:1,origin:0,originPoint:0}),xr=()=>({x:Wc(),y:Wc()}),Gc=()=>({min:0,max:0}),pt=()=>({x:Gc(),y:Gc()}),fa={current:null},Th={current:!1};function Nx(){if(Th.current=!0,!!Va)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>fa.current=e.matches;e.addEventListener("change",t),t()}else fa.current=!1}const Ax=new WeakMap;function Rx(e,t,n){for(const r in t){const i=t[r],s=n[r];if(Rt(i))e.addValue(r,i);else if(Rt(s))e.addValue(r,kr(i,{owner:e}));else if(s!==i)if(e.hasValue(r)){const o=e.getValue(r);o.liveStyle===!0?o.jump(i):o.hasAnimated||o.set(i)}else{const o=e.getStaticValue(r);e.addValue(r,kr(o!==void 0?o:i,{owner:e}))}}for(const r in n)t[r]===void 0&&e.removeValue(r);return t}const Kc=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Mx{scrapeMotionValuesFromProps(t,n,r){return{}}constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,blockInitialAnimation:s,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=il,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=jt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,st.render(this.render,!1,!0))};const{latestValues:l,renderState:c}=o;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=c,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.blockInitialAnimation=!!s,this.isControllingVariants=_s(n),this.isVariantNode=fh(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in d){const p=d[f];l[f]!==void 0&&Rt(p)&&p.set(l[f])}}mount(t){var n;this.current=t,Ax.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((r,i)=>this.bindToMotionValue(i,r)),Th.current||Nx(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:fa.current,process.env.NODE_ENV!=="production"&&Ga(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(),Mn(this.notifyUpdate),Mn(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 r=this.features[n];r&&(r.unmount(),r.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 r=Mr.has(t);r&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&st.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let s;window.MotionCheckAppearSync&&(s=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),s&&s(),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 Cr){const n=Cr[t];if(!n)continue;const{isEnabled:r,Feature:i}=n;if(!this.features[t]&&i&&r(this.props)&&(this.features[t]=new i(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):pt()}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 r=0;r<Kc.length;r++){const i=Kc[r];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const s="on"+i,o=t[s];o&&(this.propEventSubscriptions[i]=this.on(i,o))}this.prevMotionValues=Rx(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 r=this.values.get(t);n!==r&&(r&&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 r=this.values.get(t);return r===void 0&&n!==void 0&&(r=kr(n===null?void 0:n,{owner:this}),this.addValue(t,r)),r}readValue(t,n){let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(xf(r)||vf(r))?r=parseFloat(r):!Vy(r)&&In.test(n)&&(r=nh(t,n)),this.setBaseTarget(t,Rt(r)?r.get():r)),Rt(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var s;const{initial:n}=this.props;let r;if(typeof n=="string"||typeof n=="object"){const o=ml(this.props,n,(s=this.presenceContext)==null?void 0:s.custom);o&&(r=o[t])}if(n&&r!==void 0)return r;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!Rt(i)?i:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new Wa),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){al.render(this.render)}}class Nh extends Mx{constructor(){super(...arguments),this.KeyframeResolver=Ay}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:r}){delete n[t],delete r[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Rt(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function Ah(e,{style:t,vars:n},r,i){const s=e.style;let o;for(o in t)s[o]=t[o];i==null||i.applyProjectionStyles(s,r);for(o in n)s.setProperty(o,n[o])}function Ix(e){return window.getComputedStyle(e)}class Ox extends Nh{constructor(){super(...arguments),this.type="html",this.renderInstance=Ah}readValueFromInstance(t,n){var r;if(Mr.has(n))return(r=this.projection)!=null&&r.isProjecting?ra(n):Kb(t,n);{const i=Ix(t),s=(Ya(n)?i.getPropertyValue(n):i[n])||0;return typeof s=="string"?s.trim():s}}measureInstanceViewportBox(t,{transformPagePoint:n}){return _h(t,n)}build(t,n,r){fl(t,n,r.transformTemplate)}scrapeMotionValuesFromProps(t,n,r){return gl(t,n,r)}}const Rh=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 Px(e,t,n,r){Ah(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(Rh.has(i)?i:bl(i),t.attrs[i])}class Dx extends Nh{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=pt}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Mr.has(n)){const r=th(n);return r&&r.default||0}return n=Rh.has(n)?n:bl(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,r){return xh(t,n,r)}build(t,n,r){mh(t,n,this.isSVGTag,r.transformTemplate,r.style)}renderInstance(t,n,r,i){Px(t,n,r,i)}mount(t){this.isSVGTag=bh(t.tagName),super.mount(t)}}const Lx=(e,t)=>pl(e)?new Dx(t):new Ox(t,{allowProjection:e!==A.Fragment});function wr(e,t,n){const r=e.getProps();return ml(r,t,n!==void 0?n:r.custom,e)}const ha=e=>Array.isArray(e);function Fx(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,kr(n))}function jx(e){return ha(e)?e[e.length-1]||0:e}function Bx(e,t){const n=wr(e,t);let{transitionEnd:r={},transition:i={},...s}=n||{};s={...s,...r};for(const o in s){const a=jx(s[o]);Fx(e,o,a)}}function $x(e){return!!(Rt(e)&&e.add)}function pa(e,t){const n=e.getValue("willChange");if($x(n))return n.add(t);if(!n&&wn.WillChange){const r=new wn.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function Mh(e){return e.props[wh]}const Vx=e=>e!==null;function zx(e,{repeat:t,repeatType:n="loop"},r){const i=e.filter(Vx),s=t&&n!=="loop"&&t%2===1?0:i.length-1;return i[s]}const Ux={type:"spring",stiffness:500,damping:25,restSpeed:10},Hx=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Wx={type:"keyframes",duration:.8},Gx={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Kx=(e,{keyframes:t})=>t.length>2?Wx:Mr.has(e)?e.startsWith("scale")?Hx(t[1]):Ux:Gx;function qx({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:s,repeatType:o,repeatDelay:a,from:l,elapsed:c,...u}){return!!Object.keys(u).length}const yl=(e,t,n,r={},i,s)=>o=>{const a=sl(r,e)||{},l=a.delay||r.delay||0;let{elapsed:c=0}=r;c=c-en(l);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-c,onUpdate:f=>{t.set(f),a.onUpdate&&a.onUpdate(f)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:s?void 0:i};qx(a)||Object.assign(u,Kx(e,u)),u.duration&&(u.duration=en(u.duration)),u.repeatDelay&&(u.repeatDelay=en(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(la(u),u.delay===0&&(d=!0)),(wn.instantAnimations||wn.skipAnimations)&&(d=!0,la(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,d&&!s&&t.get()!==void 0){const f=zx(u.keyframes,a);if(f!==void 0){st.update(()=>{u.onUpdate(f),u.onComplete()});return}}return a.isSync?new rl(u):new gy(u)};function Yx({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Ih(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:s=e.getDefaultTransition(),transitionEnd:o,...a}=t;r&&(s=r);const l=[],c=i&&e.animationState&&e.animationState.getState()[i];for(const u in a){const d=e.getValue(u,e.latestValues[u]??null),f=a[u];if(f===void 0||c&&Yx(c,u))continue;const p={delay:n,...sl(s||{},u)},g=d.get();if(g!==void 0&&!d.isAnimating&&!Array.isArray(f)&&f===g&&!p.velocity)continue;let m=!1;if(window.MotionHandoffAnimation){const y=Mh(e);if(y){const k=window.MotionHandoffAnimation(y,u,st);k!==null&&(p.startTime=k,m=!0)}}pa(e,u),d.start(yl(u,d,f,e.shouldReduceMotion&&Qf.has(u)?{type:!1}:p,e,m));const x=d.animation;x&&l.push(x)}return o&&Promise.all(l).then(()=>{st.update(()=>{o&&Bx(e,o)})}),l}function Oh(e,t,n,r=0,i=1){const s=Array.from(e).sort((c,u)=>c.sortNodePosition(u)).indexOf(t),o=e.size,a=(o-1)*r;return typeof n=="function"?n(s,o):i===1?s*r:a-s*r}function ma(e,t,n={}){var l;const r=wr(e,t,n.type==="exit"?(l=e.presenceContext)==null?void 0:l.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const s=r?()=>Promise.all(Ih(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(c=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return Zx(e,t,c,u,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[c,u]=a==="beforeChildren"?[s,o]:[o,s];return c().then(()=>u())}else return Promise.all([s(),o(n.delay)])}function Zx(e,t,n=0,r=0,i=0,s=1,o){const a=[];for(const l of e.variantChildren)l.notify("AnimationStart",t),a.push(ma(l,t,{...o,delay:n+(typeof r=="function"?0:r)+Oh(e.variantChildren,l,r,i,s)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(a)}function Xx(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(s=>ma(e,s,n));r=Promise.all(i)}else if(typeof t=="string")r=ma(e,t,n);else{const i=typeof t=="function"?wr(e,t,n.custom):t;r=Promise.all(Ih(e,i,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}function Ph(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}const Qx=dl.length;function Dh(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Dh(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<Qx;n++){const r=dl[n],i=e.props[r];(si(i)||i===!1)&&(t[r]=i)}return t}const Jx=[...ul].reverse(),e0=ul.length;function t0(e){return t=>Promise.all(t.map(({animation:n,options:r})=>Xx(e,n,r)))}function n0(e){let t=t0(e),n=qc(),r=!0;const i=l=>(c,u)=>{var f;const d=wr(e,u,l==="exit"?(f=e.presenceContext)==null?void 0:f.custom:void 0);if(d){const{transition:p,transitionEnd:g,...m}=d;c={...c,...m,...g}}return c};function s(l){t=l(e)}function o(l){const{props:c}=e,u=Dh(e.parent)||{},d=[],f=new Set;let p={},g=1/0;for(let x=0;x<e0;x++){const y=Jx[x],k=n[y],E=c[y]!==void 0?c[y]:u[y],_=si(E),v=y===l?k.isActive:null;v===!1&&(g=x);let C=E===u[y]&&E!==c[y]&&_;if(C&&r&&e.manuallyAnimateOnMount&&(C=!1),k.protectedKeys={...p},!k.isActive&&v===null||!E&&!k.prevProp||Cs(E)||typeof E=="boolean")continue;const M=r0(k.prevProp,E);let N=M||y===l&&k.isActive&&!C&&_||x>g&&_,O=!1;const b=Array.isArray(E)?E:[E];let R=b.reduce(i(y),{});v===!1&&(R={});const{prevResolvedValues:I={}}=k,B={...I,...R},F=ee=>{N=!0,f.has(ee)&&(O=!0,f.delete(ee)),k.needsAnimating[ee]=!0;const $=e.getValue(ee);$&&($.liveStyle=!1)};for(const ee in B){const $=R[ee],D=I[ee];if(p.hasOwnProperty(ee))continue;let w=!1;ha($)&&ha(D)?w=!Ph($,D):w=$!==D,w?$!=null?F(ee):f.add(ee):$!==void 0&&f.has(ee)?F(ee):k.protectedKeys[ee]=!0}k.prevProp=E,k.prevResolvedValues=R,k.isActive&&(p={...p,...R}),r&&e.blockInitialAnimation&&(N=!1);const q=C&&M;N&&(!q||O)&&d.push(...b.map(ee=>{const $={type:y};if(typeof ee=="string"&&r&&!q&&e.manuallyAnimateOnMount&&e.parent){const{parent:D}=e,w=wr(D,ee);if(D.enteringChildren&&w){const{delayChildren:j}=w.transition||{};$.delay=Oh(D.enteringChildren,e,j)}}return{animation:ee,options:$}}))}if(f.size){const x={};if(typeof c.initial!="boolean"){const y=wr(e,Array.isArray(c.initial)?c.initial[0]:c.initial);y&&y.transition&&(x.transition=y.transition)}f.forEach(y=>{const k=e.getBaseTarget(y),E=e.getValue(y);E&&(E.liveStyle=!0),x[y]=k??null}),d.push({animation:x})}let m=!!d.length;return r&&(c.initial===!1||c.initial===c.animate)&&!e.manuallyAnimateOnMount&&(m=!1),r=!1,m?t(d):Promise.resolve()}function a(l,c){var d;if(n[l].isActive===c)return Promise.resolve();(d=e.variantChildren)==null||d.forEach(f=>{var p;return(p=f.animationState)==null?void 0:p.setActive(l,c)}),n[l].isActive=c;const u=o(l);for(const f in n)n[f].protectedKeys={};return u}return{animateChanges:o,setActive:a,setAnimateFunction:s,getState:()=>n,reset:()=>{n=qc(),r=!0}}}function r0(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Ph(t,e):!1}function Bn(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function qc(){return{animate:Bn(!0),whileInView:Bn(),whileHover:Bn(),whileTap:Bn(),whileDrag:Bn(),whileFocus:Bn(),exit:Bn()}}class Dn{constructor(t){this.isMounted=!1,this.node=t}update(){}}class i0 extends Dn{constructor(t){super(t),t.animationState||(t.animationState=n0(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Cs(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 s0=0;class o0 extends Dn{constructor(){super(...arguments),this.id=s0++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===r)return;const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.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 a0={animation:{Feature:i0},exit:{Feature:o0}};function ai(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function gi(e){return{point:{x:e.pageX,y:e.pageY}}}const l0=e=>t=>ll(t)&&e(t,gi(t));function Yr(e,t,n,r){return ai(e,t,l0(n),r)}const Lh=1e-4,c0=1-Lh,u0=1+Lh,Fh=.01,d0=0-Fh,f0=0+Fh;function Dt(e){return e.max-e.min}function h0(e,t,n){return Math.abs(e-t)<=n}function Yc(e,t,n,r=.5){e.origin=r,e.originPoint=at(t.min,t.max,e.origin),e.scale=Dt(n)/Dt(t),e.translate=at(n.min,n.max,e.origin)-e.originPoint,(e.scale>=c0&&e.scale<=u0||isNaN(e.scale))&&(e.scale=1),(e.translate>=d0&&e.translate<=f0||isNaN(e.translate))&&(e.translate=0)}function Zr(e,t,n,r){Yc(e.x,t.x,n.x,r?r.originX:void 0),Yc(e.y,t.y,n.y,r?r.originY:void 0)}function Zc(e,t,n){e.min=n.min+t.min,e.max=e.min+Dt(t)}function p0(e,t,n){Zc(e.x,t.x,n.x),Zc(e.y,t.y,n.y)}function Xc(e,t,n){e.min=t.min-n.min,e.max=e.min+Dt(t)}function Xr(e,t,n){Xc(e.x,t.x,n.x),Xc(e.y,t.y,n.y)}function Kt(e){return[e("x"),e("y")]}const jh=({current:e})=>e?e.ownerDocument.defaultView:null,Qc=(e,t)=>Math.abs(e-t);function m0(e,t){const n=Qc(e.x,t.x),r=Qc(e.y,t.y);return Math.sqrt(n**2+r**2)}class Bh{constructor(t,n,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:s=!1,distanceThreshold:o=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=lo(this.lastMoveEventInfo,this.history),p=this.startEvent!==null,g=m0(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!p&&!g)return;const{point:m}=f,{timestamp:x}=Tt;this.history.push({...m,timestamp:x});const{onStart:y,onMove:k}=this.handlers;p||(y&&y(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),k&&k(this.lastMoveEvent,f)},this.handlePointerMove=(f,p)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=ao(p,this.transformPagePoint),st.update(this.updatePoint,!0)},this.handlePointerUp=(f,p)=>{this.end();const{onEnd:g,onSessionEnd:m,resumeAnimation:x}=this.handlers;if(this.dragSnapToOrigin&&x&&x(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const y=lo(f.type==="pointercancel"?this.lastMoveEventInfo:ao(p,this.transformPagePoint),this.history);this.startEvent&&g&&g(f,y),m&&m(f,y)},!ll(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=o,this.contextWindow=i||window;const a=gi(t),l=ao(a,this.transformPagePoint),{point:c}=l,{timestamp:u}=Tt;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,lo(l,this.history)),this.removeListeners=hi(Yr(this.contextWindow,"pointermove",this.handlePointerMove),Yr(this.contextWindow,"pointerup",this.handlePointerUp),Yr(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Mn(this.updatePoint)}}function ao(e,t){return t?{point:t(e.point)}:e}function Jc(e,t){return{x:e.x-t.x,y:e.y-t.y}}function lo({point:e},t){return{point:e,delta:Jc(e,$h(t)),offset:Jc(e,g0(t)),velocity:b0(t,.1)}}function g0(e){return e[0]}function $h(e){return e[e.length-1]}function b0(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=$h(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>en(t)));)n--;if(!r)return{x:0,y:0};const s=ln(i.timestamp-r.timestamp);if(s===0)return{x:0,y:0};const o={x:(i.x-r.x)/s,y:(i.y-r.y)/s};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function y0(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?at(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?at(n,e,r.max):Math.min(e,n)),e}function eu(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 x0(e,{top:t,left:n,bottom:r,right:i}){return{x:eu(e.x,n,i),y:eu(e.y,t,r)}}function tu(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function w0(e,t){return{x:tu(e.x,t.x),y:tu(e.y,t.y)}}function v0(e,t){let n=.5;const r=Dt(e),i=Dt(t);return i>r?n=ni(t.min,t.max-r,e.min):r>i&&(n=ni(e.min,e.max-i,t.min)),yn(0,1,n)}function E0(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 ga=.35;function k0(e=ga){return e===!1?e=0:e===!0&&(e=ga),{x:nu(e,"left","right"),y:nu(e,"top","bottom")}}function nu(e,t,n){return{min:ru(e,t),max:ru(e,n)}}function ru(e,t){return typeof e=="number"?e:e[t]||0}const S0=new WeakMap;class C0{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=pt(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:r}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const s=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(gi(d).point)},o=(d,f)=>{const{drag:p,dragPropagation:g,onDragStart:m}=this.getProps();if(p&&!g&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Oy(p),!this.openDragLock))return;this.latestPointerEvent=d,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Kt(y=>{let k=this.getAxisMotionValue(y).get()||0;if(cn.test(k)){const{projection:E}=this.visualElement;if(E&&E.layout){const _=E.layout.layoutBox[y];_&&(k=Dt(_)*(parseFloat(k)/100))}}this.originPoint[y]=k}),m&&st.postRender(()=>m(d,f)),pa(this.visualElement,"transform");const{animationState:x}=this.visualElement;x&&x.setActive("whileDrag",!0)},a=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f;const{dragPropagation:p,dragDirectionLock:g,onDirectionLock:m,onDrag:x}=this.getProps();if(!p&&!this.openDragLock)return;const{offset:y}=f;if(g&&this.currentDirection===null){this.currentDirection=_0(y),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),x&&x(d,f)},l=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f,this.stop(d,f),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>Kt(d=>{var f;return this.getAnimationState(d)==="paused"&&((f=this.getAxisMotionValue(d).animation)==null?void 0:f.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new Bh(t,{onSessionStart:s,onStart:o,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:r,contextWindow:jh(this.visualElement)})}stop(t,n){const r=t||this.latestPointerEvent,i=n||this.latestPanInfo,s=this.isDragging;if(this.cancel(),!s||!i||!r)return;const{velocity:o}=i;this.startAnimation(o);const{onDragEnd:a}=this.getProps();a&&st.postRender(()=>a(r,i))}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:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Oi(t,i,this.currentDirection))return;const s=this.getAxisMotionValue(t);let o=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(o=y0(o,this.constraints[t],this.elastic[t])),s.set(o)}resolveConstraints(){var s;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(s=this.visualElement.projection)==null?void 0:s.layout,i=this.constraints;t&&gr(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=x0(r.layoutBox,t):this.constraints=!1,this.elastic=k0(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Kt(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=E0(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!gr(t))return!1;const r=t.current;xn(r!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");const{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const s=Tx(r,i.root,this.visualElement.getTransformPagePoint());let o=w0(i.layout.layoutBox,s);if(n){const a=n(Sx(o));this.hasMutatedConstraints=!!a,a&&(o=kh(a))}return o}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:s,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},c=Kt(u=>{if(!Oi(u,n,this.currentDirection))return;let d=l&&l[u]||{};o&&(d={min:0,max:0});const f=i?200:1e6,p=i?40:1e7,g={type:"inertia",velocity:r?t[u]:0,bounceStiffness:f,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...s,...d};return this.startAxisValueAnimation(u,g)});return Promise.all(c).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return pa(this.visualElement,t),r.start(yl(t,r,0,n,this.visualElement,!1))}stopAnimation(){Kt(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Kt(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()}`,r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Kt(n=>{const{drag:r}=this.getProps();if(!Oi(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,s=this.getAxisMotionValue(n);if(i&&i.layout){const{min:o,max:a}=i.layout.layoutBox[n];s.set(t[n]-at(o,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!gr(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Kt(o=>{const a=this.getAxisMotionValue(o);if(a&&this.constraints!==!1){const l=a.get();i[o]=v0({min:l,max:l},this.constraints[o])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Kt(o=>{if(!Oi(o,t,null))return;const a=this.getAxisMotionValue(o),{min:l,max:c}=this.constraints[o];a.set(at(l,c,i[o]))})}addListeners(){if(!this.visualElement.current)return;S0.set(this.visualElement,this);const t=this.visualElement.current,n=Yr(t,"pointerdown",l=>{const{drag:c,dragListener:u=!0}=this.getProps();c&&u&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();gr(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,s=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),st.read(r);const o=ai(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:c})=>{this.isDragging&&c&&(Kt(u=>{const d=this.getAxisMotionValue(u);d&&(this.originPoint[u]+=l[u].translate,d.set(d.get()+l[u].translate))}),this.visualElement.render())});return()=>{o(),n(),s(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:s=!1,dragElastic:o=ga,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:s,dragElastic:o,dragMomentum:a}}}function Oi(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function _0(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class T0 extends Dn{constructor(t){super(t),this.removeGroupControls=Zt,this.removeListeners=Zt,this.controls=new C0(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Zt}unmount(){this.removeGroupControls(),this.removeListeners()}}const iu=e=>(t,n)=>{e&&st.postRender(()=>e(t,n))};class N0 extends Dn{constructor(){super(...arguments),this.removePointerDownListener=Zt}onPointerDown(t){this.session=new Bh(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:jh(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:iu(t),onStart:iu(n),onMove:r,onEnd:(s,o)=>{delete this.session,i&&st.postRender(()=>i(s,o))}}}mount(){this.removePointerDownListener=Yr(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 es={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function su(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Fr={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(we.test(e))e=parseFloat(e);else return e;const n=su(e,t.target.x),r=su(e,t.target.y);return`${n}% ${r}%`}},A0={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=In.parse(e);if(i.length>5)return r;const s=In.createTransformer(e),o=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+o]/=a,i[1+o]/=l;const c=at(a,l,.5);return typeof i[2+o]=="number"&&(i[2+o]/=c),typeof i[3+o]=="number"&&(i[3+o]/=c),s(i)}};let co=!1;class R0 extends A.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:s}=t;Qy(M0),s&&(n.group&&n.group.add(s),r&&r.register&&i&&r.register(s),co&&s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),es.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:s}=this.props,{projection:o}=r;return o&&(o.isPresent=s,co=!0,i||t.layoutDependency!==n||n===void 0||t.isPresent!==s?o.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?o.promote():o.relegate()||st.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),al.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;co=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Vh(e){const[t,n]=ch(),r=A.useContext(Ba);return h.jsx(R0,{...e,layoutGroup:r,switchLayoutGroup:A.useContext(vh),isPresent:t,safeToRemove:n})}const M0={borderRadius:{...Fr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Fr,borderTopRightRadius:Fr,borderBottomLeftRadius:Fr,borderBottomRightRadius:Fr,boxShadow:A0};function I0(e,t,n){const r=Rt(e)?e:kr(e);return r.start(yl("",r,t,n)),r.animation}const O0=(e,t)=>e.depth-t.depth;class P0{constructor(){this.children=[],this.isDirty=!1}add(t){za(this.children,t),this.isDirty=!0}remove(t){Ua(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(O0),this.isDirty=!1,this.children.forEach(t)}}function D0(e,t){const n=jt.now(),r=({timestamp:i})=>{const s=i-n;s>=t&&(Mn(r),e(s-t))};return st.setup(r,!0),()=>Mn(r)}const zh=["TopLeft","TopRight","BottomLeft","BottomRight"],L0=zh.length,ou=e=>typeof e=="string"?parseFloat(e):e,au=e=>typeof e=="number"||we.test(e);function F0(e,t,n,r,i,s){i?(e.opacity=at(0,n.opacity??1,j0(r)),e.opacityExit=at(t.opacity??1,0,B0(r))):s&&(e.opacity=at(t.opacity??1,n.opacity??1,r));for(let o=0;o<L0;o++){const a=`border${zh[o]}Radius`;let l=lu(t,a),c=lu(n,a);if(l===void 0&&c===void 0)continue;l||(l=0),c||(c=0),l===0||c===0||au(l)===au(c)?(e[a]=Math.max(at(ou(l),ou(c),r),0),(cn.test(c)||cn.test(l))&&(e[a]+="%")):e[a]=c}(t.rotate||n.rotate)&&(e.rotate=at(t.rotate||0,n.rotate||0,r))}function lu(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const j0=Uh(0,.5,Af),B0=Uh(.5,.95,Zt);function Uh(e,t,n){return r=>r<e?0:r>t?1:n(ni(e,t,r))}function cu(e,t){e.min=t.min,e.max=t.max}function Gt(e,t){cu(e.x,t.x),cu(e.y,t.y)}function uu(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function du(e,t,n,r,i){return e-=t,e=fs(e,1/n,r),i!==void 0&&(e=fs(e,1/i,r)),e}function $0(e,t=0,n=1,r=.5,i,s=e,o=e){if(cn.test(t)&&(t=parseFloat(t),t=at(o.min,o.max,t/100)-o.min),typeof t!="number")return;let a=at(s.min,s.max,r);e===s&&(a-=t),e.min=du(e.min,t,n,a,i),e.max=du(e.max,t,n,a,i)}function fu(e,t,[n,r,i],s,o){$0(e,t[n],t[r],t[i],t.scale,s,o)}const V0=["x","scaleX","originX"],z0=["y","scaleY","originY"];function hu(e,t,n,r){fu(e.x,t,V0,n?n.x:void 0,r?r.x:void 0),fu(e.y,t,z0,n?n.y:void 0,r?r.y:void 0)}function pu(e){return e.translate===0&&e.scale===1}function Hh(e){return pu(e.x)&&pu(e.y)}function mu(e,t){return e.min===t.min&&e.max===t.max}function U0(e,t){return mu(e.x,t.x)&&mu(e.y,t.y)}function gu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Wh(e,t){return gu(e.x,t.x)&&gu(e.y,t.y)}function bu(e){return Dt(e.x)/Dt(e.y)}function yu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class H0{constructor(){this.members=[]}add(t){za(this.members,t),t.scheduleRender()}remove(t){if(Ua(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(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const s=this.members[i];if(s.isPresent!==!1){r=s;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function W0(e,t,n){let r="";const i=e.x.translate/t.x,s=e.y.translate/t.y,o=(n==null?void 0:n.z)||0;if((i||s||o)&&(r=`translate3d(${i}px, ${s}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:c,rotate:u,rotateX:d,rotateY:f,skewX:p,skewY:g}=n;c&&(r=`perspective(${c}px) ${r}`),u&&(r+=`rotate(${u}deg) `),d&&(r+=`rotateX(${d}deg) `),f&&(r+=`rotateY(${f}deg) `),p&&(r+=`skewX(${p}deg) `),g&&(r+=`skewY(${g}deg) `)}const a=e.x.scale*t.x,l=e.y.scale*t.y;return(a!==1||l!==1)&&(r+=`scale(${a}, ${l})`),r||"none"}const uo=["","X","Y","Z"],G0=1e3;let K0=0;function fo(e,t,n,r){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Gh(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Mh(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",st,!(i||s))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Gh(r)}function Kh({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(o={},a=t==null?void 0:t()){this.id=K0++,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(Z0),this.nodes.forEach(ew),this.nodes.forEach(tw),this.nodes.forEach(X0)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new P0)}addEventListener(o,a){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new Wa),this.eventHandlers.get(o).add(a)}notifyListeners(o,...a){const l=this.eventHandlers.get(o);l&&l.notify(...a)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=lh(o)&&!By(o),this.instance=o;const{layoutId:a,layout:l,visualElement:c}=this.options;if(c&&!c.current&&c.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),e){let u,d=0;const f=()=>this.root.updateBlockedByResize=!1;st.read(()=>{d=window.innerWidth}),e(o,()=>{const p=window.innerWidth;p!==d&&(d=p,this.root.updateBlockedByResize=!0,u&&u(),u=D0(f,250),es.hasAnimatedSinceResize&&(es.hasAnimatedSinceResize=!1,this.nodes.forEach(vu)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&c&&(a||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:d,hasRelativeLayoutChanged:f,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||c.getDefaultTransition()||ow,{onLayoutAnimationStart:m,onLayoutAnimationComplete:x}=c.getProps(),y=!this.targetLayout||!Wh(this.targetLayout,p),k=!d&&f;if(this.options.layoutRoot||this.resumeFrom||k||d&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const E={...sl(g,"layout"),onPlay:m,onComplete:x};(c.shouldReduceMotion||this.options.layoutRoot)&&(E.delay=0,E.type=!1),this.startAnimation(E),this.setAnimationOrigin(u,k)}else d||vu(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Mn(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(nw),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Gh(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const d=this.path[u];d.shouldResetTransform=!0,d.updateScroll("snapshot"),d.options.layoutRoot&&d.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(xu);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(wu);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(J0),this.nodes.forEach(q0),this.nodes.forEach(Y0)):this.nodes.forEach(wu),this.clearAllSnapshots();const a=jt.now();Tt.delta=yn(0,1e3/60,a-Tt.timestamp),Tt.timestamp=a,Tt.isProcessing=!0,Js.update.process(Tt),Js.preRender.process(Tt),Js.render.process(Tt),Tt.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,al.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Q0),this.sharedNodes.forEach(rw)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,st.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){st.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Dt(this.snapshot.measuredBox.x)&&!Dt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=pt(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(a=!1),a&&this.instance){const l=r(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!Hh(this.projectionDelta),l=this.getTransformTemplate(),c=l?l(this.latestValues,""):void 0,u=c!==this.prevTransformTemplateValue;o&&this.instance&&(a||zn(this.latestValues)||u)&&(i(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return o&&(l=this.removeTransform(l)),aw(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){var c;const{visualElement:o}=this.options;if(!o)return pt();const a=o.measureViewportBox();if(!(((c=this.scroll)==null?void 0:c.wasRoot)||this.path.some(lw))){const{scroll:u}=this.root;u&&(br(a.x,u.offset.x),br(a.y,u.offset.y))}return a}removeElementScroll(o){var l;const a=pt();if(Gt(a,o),(l=this.scroll)!=null&&l.wasRoot)return a;for(let c=0;c<this.path.length;c++){const u=this.path[c],{scroll:d,options:f}=u;u!==this.root&&d&&f.layoutScroll&&(d.wasRoot&&Gt(a,o),br(a.x,d.offset.x),br(a.y,d.offset.y))}return a}applyTransform(o,a=!1){const l=pt();Gt(l,o);for(let c=0;c<this.path.length;c++){const u=this.path[c];!a&&u.options.layoutScroll&&u.scroll&&u!==u.root&&yr(l,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),zn(u.latestValues)&&yr(l,u.latestValues)}return zn(this.latestValues)&&yr(l,this.latestValues),l}removeTransform(o){const a=pt();Gt(a,o);for(let l=0;l<this.path.length;l++){const c=this.path[l];if(!c.instance||!zn(c.latestValues))continue;ua(c.latestValues)&&c.updateSnapshot();const u=pt(),d=c.measurePageBox();Gt(u,d),hu(a,c.latestValues,c.snapshot?c.snapshot.layoutBox:void 0,u)}return zn(this.latestValues)&&hu(a,this.latestValues),a}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Tt.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var f;const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(o||l&&this.isSharedProjectionDirty||this.isProjectionDirty||(f=this.parent)!=null&&f.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:d}=this.options;if(!(!this.layout||!(u||d))){if(this.resolvedRelativeTargetAt=Tt.timestamp,!this.targetDelta&&!this.relativeTarget){const p=this.getClosestProjectingParent();p&&p.layout&&this.animationProgress!==1?(this.relativeParent=p,this.forceRelativeParentToResolveTarget(),this.relativeTarget=pt(),this.relativeTargetOrigin=pt(),Xr(this.relativeTargetOrigin,this.layout.layoutBox,p.layout.layoutBox),Gt(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=pt(),this.targetWithTransforms=pt()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),p0(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Gt(this.target,this.layout.layoutBox),Ch(this.target,this.targetDelta)):Gt(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=pt(),this.relativeTargetOrigin=pt(),Xr(this.relativeTargetOrigin,this.target,p.target),Gt(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||ua(this.parent.latestValues)||Sh(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 o=this.getLead(),a=!!this.resumingFrom||this!==o;let l=!0;if((this.isProjectionDirty||(g=this.parent)!=null&&g.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===Tt.timestamp&&(l=!1),l)return;const{layout:c,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||!(c||u))return;Gt(this.layoutCorrected,this.layout.layoutBox);const d=this.treeScale.x,f=this.treeScale.y;_x(this.layoutCorrected,this.treeScale,this.path,a),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=pt());const{target:p}=o;if(!p){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(uu(this.prevProjectionDelta.x,this.projectionDelta.x),uu(this.prevProjectionDelta.y,this.projectionDelta.y)),Zr(this.projectionDelta,this.layoutCorrected,p,this.latestValues),(this.treeScale.x!==d||this.treeScale.y!==f||!yu(this.projectionDelta.x,this.prevProjectionDelta.x)||!yu(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",p))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var a;if((a=this.options.visualElement)==null||a.scheduleRender(),o){const l=this.getStack();l&&l.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=xr(),this.projectionDelta=xr(),this.projectionDeltaWithTransform=xr()}setAnimationOrigin(o,a=!1){const l=this.snapshot,c=l?l.latestValues:{},u={...this.latestValues},d=xr();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const f=pt(),p=l?l.source:void 0,g=this.layout?this.layout.source:void 0,m=p!==g,x=this.getStack(),y=!x||x.members.length<=1,k=!!(m&&!y&&this.options.crossfade===!0&&!this.path.some(sw));this.animationProgress=0;let E;this.mixTargetDelta=_=>{const v=_/1e3;Eu(d.x,o.x,v),Eu(d.y,o.y,v),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Xr(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),iw(this.relativeTarget,this.relativeTargetOrigin,f,v),E&&U0(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=pt()),Gt(E,this.relativeTarget)),m&&(this.animationValues=u,F0(u,c,this.latestValues,v,k,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=v},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){var a,l,c;this.notifyListeners("animationStart"),(a=this.currentAnimation)==null||a.stop(),(c=(l=this.resumingFrom)==null?void 0:l.currentAnimation)==null||c.stop(),this.pendingAnimation&&(Mn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=st.update(()=>{es.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=kr(0)),this.currentAnimation=I0(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),o.onUpdate&&o.onUpdate(u)},onStop:()=>{},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(G0),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:c,latestValues:u}=o;if(!(!a||!l||!c)){if(this!==o&&this.layout&&c&&qh(this.options.animationType,this.layout.layoutBox,c.layoutBox)){l=this.target||pt();const d=Dt(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const f=Dt(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+f}Gt(a,l),yr(a,u),Zr(this.projectionDeltaWithTransform,this.layoutCorrected,a,u)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new H0),this.sharedNodes.get(o).add(a);const c=a.options.initialPromotionConfig;a.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())==null?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())==null?void 0:a.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const c=this.getStack();c&&c.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const c={};l.z&&fo("z",o,c,this.animationValues);for(let u=0;u<uo.length;u++)fo(`rotate${uo[u]}`,o,c,this.animationValues),fo(`skew${uo[u]}`,o,c,this.animationValues);o.render();for(const u in c)o.setStaticValue(u,c[u]),this.animationValues&&(this.animationValues[u]=c[u]);o.scheduleRender()}applyProjectionStyles(o,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=Ji(a==null?void 0:a.pointerEvents)||"",o.transform=l?l(this.latestValues,""):"none";return}const c=this.getLead();if(!this.projectionDelta||!this.layout||!c.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=Ji(a==null?void 0:a.pointerEvents)||""),this.hasProjected&&!zn(this.latestValues)&&(o.transform=l?l({},""):"none",this.hasProjected=!1);return}o.visibility="";const u=c.animationValues||c.latestValues;this.applyTransformsToTarget();let d=W0(this.projectionDeltaWithTransform,this.treeScale,u);l&&(d=l(u,d)),o.transform=d;const{x:f,y:p}=this.projectionDelta;o.transformOrigin=`${f.origin*100}% ${p.origin*100}% 0`,c.animationValues?o.opacity=c===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:o.opacity=c===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const g in oi){if(u[g]===void 0)continue;const{correct:m,applyTo:x,isCSSVariable:y}=oi[g],k=d==="none"?u[g]:m(u[g],c);if(x){const E=x.length;for(let _=0;_<E;_++)o[x[_]]=k}else y?this.options.visualElement.renderState.vars[g]=k:o[g]=k}this.options.layoutId&&(o.pointerEvents=c===this?Ji(a==null?void 0:a.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var a;return(a=o.currentAnimation)==null?void 0:a.stop()}),this.root.nodes.forEach(xu),this.root.sharedNodes.clear()}}}function q0(e){e.updateLayout()}function Y0(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:r,measuredBox:i}=e.layout,{animationType:s}=e.options,o=t.source!==e.layout.source;s==="size"?Kt(d=>{const f=o?t.measuredBox[d]:t.layoutBox[d],p=Dt(f);f.min=r[d].min,f.max=f.min+p}):qh(s,t.layoutBox,r)&&Kt(d=>{const f=o?t.measuredBox[d]:t.layoutBox[d],p=Dt(r[d]);f.max=f.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+p)});const a=xr();Zr(a,r,t.layoutBox);const l=xr();o?Zr(l,e.applyTransform(i,!0),t.measuredBox):Zr(l,r,t.layoutBox);const c=!Hh(a);let u=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:p}=d;if(f&&p){const g=pt();Xr(g,t.layoutBox,f.layoutBox);const m=pt();Xr(m,r,p.layoutBox),Wh(g,m)||(u=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=g,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:t,delta:l,layoutDelta:a,hasLayoutChanged:c,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Z0(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 X0(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Q0(e){e.clearSnapshot()}function xu(e){e.clearMeasurements()}function wu(e){e.isLayoutDirty=!1}function J0(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function vu(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function ew(e){e.resolveTargetDelta()}function tw(e){e.calcProjection()}function nw(e){e.resetSkewAndRotation()}function rw(e){e.removeLeadSnapshot()}function Eu(e,t,n){e.translate=at(t.translate,0,n),e.scale=at(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function ku(e,t,n,r){e.min=at(t.min,n.min,r),e.max=at(t.max,n.max,r)}function iw(e,t,n,r){ku(e.x,t.x,n.x,r),ku(e.y,t.y,n.y,r)}function sw(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ow={duration:.45,ease:[.4,0,.1,1]},Su=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Cu=Su("applewebkit/")&&!Su("chrome/")?Math.round:Zt;function _u(e){e.min=Cu(e.min),e.max=Cu(e.max)}function aw(e){_u(e.x),_u(e.y)}function qh(e,t,n){return e==="position"||e==="preserve-aspect"&&!h0(bu(t),bu(n),.2)}function lw(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const cw=Kh({attachResizeListener:(e,t)=>ai(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ho={current:void 0},Yh=Kh({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!ho.current){const e=new cw({});e.mount(window),e.setOptions({layoutScroll:!0}),ho.current=e}return ho.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),uw={pan:{Feature:N0},drag:{Feature:T0,ProjectionNode:Yh,MeasureLayout:Vh}};function Tu(e,t,n){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,s=r[i];s&&st.postRender(()=>s(t,gi(t)))}class dw extends Dn{mount(){const{current:t}=this.node;t&&(this.unmount=Py(t,(n,r)=>(Tu(this.node,r,"Start"),i=>Tu(this.node,i,"End"))))}unmount(){}}class fw extends Dn{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=hi(ai(this.node.current,"focus",()=>this.onFocus()),ai(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Nu(e,t,n){const{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),s=r[i];s&&st.postRender(()=>s(t,gi(t)))}class hw extends Dn{mount(){const{current:t}=this.node;t&&(this.unmount=jy(t,(n,r)=>(Nu(this.node,r,"Start"),(i,{success:s})=>Nu(this.node,i,s?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const ba=new WeakMap,po=new WeakMap,pw=e=>{const t=ba.get(e.target);t&&t(e)},mw=e=>{e.forEach(pw)};function gw({root:e,...t}){const n=e||document;po.has(n)||po.set(n,{});const r=po.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(mw,{root:e,...t})),r[i]}function bw(e,t,n){const r=gw(t);return ba.set(e,n),r.observe(e),()=>{ba.delete(e),r.unobserve(e)}}const yw={some:0,all:1};class xw extends Dn{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:s}=t,o={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:yw[i]},a=l=>{const{isIntersecting:c}=l;if(this.isInView===c||(this.isInView=c,s&&!c&&this.hasEnteredView))return;c&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",c);const{onViewportEnter:u,onViewportLeave:d}=this.node.getProps(),f=c?u:d;f&&f(l)};return bw(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(ww(t,n))&&this.startObserver()}unmount(){}}function ww({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const vw={inView:{Feature:xw},tap:{Feature:hw},focus:{Feature:fw},hover:{Feature:dw}},Ew={layout:{ProjectionNode:Yh,MeasureLayout:Vh}},kw={...a0,...vw,...uw,...Ew},Ae=kx(kw,Lx);function Sw(e){const[t,n]=A.useState(()=>e.getLocalParticipant()),[r,i]=A.useState(()=>e.getMicrophoneTrack());return A.useEffect(()=>{const s=()=>{const a=e.getLocalParticipant(),l=e.getMicrophoneTrack();console.log("๐ค useVoxketLocalParticipant: Updating state:",{hasParticipant:!!a,hasMicTrack:!!l,isMicEnabled:e.isMicrophoneEnabled,trackPublications:a?a.trackPublications.size:0}),n(a),i(l)};s(),e.on("connection.connected",s),e.on("connection.disconnected",s),e.on("track.muted",s),e.on("track.unmuted",s);const o=e.getRoom();if(o){const a=()=>{console.log("๐ค Track published, updating participant state"),s()},l=()=>{console.log("๐ค Track unpublished, updating participant state"),s()};return o.on("localTrackPublished",a),o.on("localTrackUnpublished",l),()=>{e.off("connection.connected",s),e.off("connection.disconnected",s),e.off("track.muted",s),e.off("track.unmuted",s),o.off("localTrackPublished",a),o.off("localTrackUnpublished",l)}}else return()=>{e.off("connection.connected",s),e.off("connection.disconnected",s),e.off("track.muted",s),e.off("track.unmuted",s)}},[e]),{localParticipant:t,microphoneTrack:r}}function ts(e,t,n){const[r,i]=A.useState(!1),[s,o]=A.useState(!1);return A.useEffect(()=>{const l=()=>{let c=!1;switch(t){case"microphone":c=e.isMicrophoneEnabled;break;case"camera":c=e.isCameraEnabled;break;case"screenShare":c=e.isScreenShareEnabled;break}console.log(`๐ฌ useVoxketTrackToggle: ${t} enabled state updated:`,{oldEnabled:r,newEnabled:c,changed:r!==c}),i(c)};return l(),e.on("track.muted",l),e.on("track.unmuted",l),e.on("connection.connected",l),()=>{e.off("track.muted",l),e.off("track.unmuted",l),e.off("connection.connected",l)}},[e,t]),{enabled:r,pending:s,toggle:async l=>{try{o(!0);const c=l!==void 0?l:!r;switch(console.log(`๐ฌ useVoxketTrackToggle: ${t} toggle called`,{currentEnabled:r,targetEnabled:c,forceEnabled:l}),t){case"microphone":await e.toggleMicrophone(c);break;case"camera":await e.toggleCamera(c);break;case"screenShare":c?(console.log("๐ฌ useVoxketTrackToggle: Starting screen share"),await e.startScreenShare()):(console.log("๐ฌ useVoxketTrackToggle: Stopping screen share"),await e.stopScreenShare());break}console.log(`๐ฌ useVoxketTrackToggle: ${t} toggle completed`)}catch(c){console.error(`๐ฌ useVoxketTrackToggle: ${t} toggle failed:`,c)}finally{o(!1)}}}}function Cw(e){const[t,n]=A.useState(()=>e.getRoom()),[r,i]=A.useState(()=>e.getConnectionState());return A.useEffect(()=>{const s=()=>{n(e.getRoom()),i(e.getConnectionState())};return e.on("connection.connected",s),e.on("connection.disconnected",s),e.on("connection.connecting",s),()=>{e.off("connection.connected",s),e.off("connection.disconnected",s),e.off("connection.connecting",s)}},[e]),t}function xl(e){const[t,n]=A.useState(()=>e.getIsAgentConnected()),[r,i]=A.useState(()=>e.getCurrentSession()),[s,o]=A.useState(()=>e.getCurrentAgentInfo()),[a,l]=A.useState(()=>e.getAgentState()),[c,u]=A.useState(()=>e.getAgentAudioTrack()),[d,f]=A.useState(()=>e.getAgentVideoTrack());return A.useEffect(()=>{const p=()=>{const E=e.getIsAgentConnected(),_=e.getCurrentSession(),v=e.getCurrentAgentInfo(),C=e.getAgentState(),M=e.getAgentAudioTrack(),N=e.getAgentVideoTrack();console.log("๐ค useVoxketVoiceAssistant: Updating state:",{isAgentConnected:E,hasSession:!!_,sessionId:_==null?void 0:_.id,hasAgentInfo:!!v,agentState:C,hasAudioTrack:!!M,hasVideoTrack:!!N}),n(E),i(_),o(v),l(C),u(M),f(N)};p();const g=()=>{console.log("๐ค useVoxketVoiceAssistant: Agent connected event"),p()},m=()=>{console.log("๐ค useVoxketVoiceAssistant: Agent disconnected event"),p()},x=()=>{console.log("๐ค useVoxketVoiceAssistant: Session changed event"),p()},y=()=>{console.log("๐ค useVoxketVoiceAssistant: Connection changed event"),p()},k=()=>{console.log("๐ค useVoxketVoiceAssistant: Agent state changed event"),p()};return e.on("agent.connected",g),e.on("agent.speaking",g),e.on("agent.thinking",g),e.on("agent.state.changed",k),e.on("connection.disconnected",m),e.on("session.created",x),e.on("session.ended",x),e.on("session.state.changed",x),e.on("connection.connected",y),()=>{e.off("agent.connected",g),e.off("agent.speaking",g),e.off("agent.thinking",g),e.off("agent.state.changed",k),e.off("connection.disconnected",m),e.off("session.created",x),e.off("session.ended",x),e.off("session.state.changed",x),e.off("connection.connected",y)}},[e]),{agent:{isActive:t,info:s},session:r,state:a,audioTrack:c,videoTrack:d}}function _w(e){const[t,n]=A.useState(()=>e.getVideoTrackRefs()),[r,i]=A.useState(()=>e.getCameraTrackRefs()),[s,o]=A.useState(()=>e.getScreenShareTrackRefs());return A.useEffect(()=>{const a=()=>{const c=e.getVideoTrackRefs(),u=e.getCameraTrackRefs(),d=e.getScreenShareTrackRefs();console.log("๐น useVoxketVideoTracks: Updating tracks:",{videoCount:c.length,cameraCount:u.length,screenShareCount:d.length}),n(c),i(u),o(d)};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 l=e.getRoom();if(l){const c=()=>{console.log("๐น Track event, updating video tracks"),a()};return l.on("localTrackPublished",c),l.on("localTrackUnpublished",c),l.on("trackPublished",c),l.on("trackUnpublished",c),l.on("trackSubscribed",c),l.on("trackUnsubscribed",c),()=>{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),l.off("localTrackPublished",c),l.off("localTrackUnpublished",c),l.off("trackPublished",c),l.off("trackUnpublished",c),l.off("trackSubscribed",c),l.off("trackUnsubscribed",c)}}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:r,screenShareTrackRefs:s}}const wl="-",Tw=e=>{const t=Aw(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{const a=o.split(wl);return a[0]===""&&a.length!==1&&a.shift(),Zh(a,t)||Nw(o)},getConflictingClassGroupIds:(o,a)=>{const l=n[o]||[];return a&&r[o]?[...l,...r[o]]:l}}},Zh=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),i=r?Zh(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;const s=e.join(wl);return(o=t.validators.find(({validator:a})=>a(s)))==null?void 0:o.classGroupId},Au=/^\[(.+)\]$/,Nw=e=>{if(Au.test(e)){const t=Au.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},Aw=e=>{const{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(const i in n)ya(n[i],r,i,t);return r},ya=(e,t,n,r)=>{e.forEach(i=>{if(typeof i=="string"){const s=i===""?t:Ru(t,i);s.classGroupId=n;return}if(typeof i=="function"){if(Rw(i)){ya(i(r),t,n,r);return}t.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,o])=>{ya(o,Ru(t,s),n,r)})})},Ru=(e,t)=>{let n=e;return t.split(wl).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Rw=e=>e.isThemeGetter,Mw=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const i=(s,o)=>{n.set(s,o),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let o=n.get(s);if(o!==void 0)return o;if((o=r.get(s))!==void 0)return i(s,o),o},set(s,o){n.has(s)?n.set(s,o):i(s,o)}}},xa="!",wa=":",Iw=wa.length,Ow=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=i=>{const s=[];let o=0,a=0,l=0,c;for(let g=0;g<i.length;g++){let m=i[g];if(o===0&&a===0){if(m===wa){s.push(i.slice(l,g)),l=g+Iw;continue}if(m==="/"){c=g;continue}}m==="["?o++:m==="]"?o--:m==="("?a++:m===")"&&a--}const u=s.length===0?i:i.substring(l),d=Pw(u),f=d!==u,p=c&&c>l?c-l:void 0;return{modifiers:s,hasImportantModifier:f,baseClassName:d,maybePostfixModifierPosition:p}};if(t){const i=t+wa,s=r;r=o=>o.startsWith(i)?s(o.substring(i.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:o,maybePostfixModifierPosition:void 0}}if(n){const i=r;r=s=>n({className:s,parseClassName:i})}return r},Pw=e=>e.endsWith(xa)?e.substring(0,e.length-1):e.startsWith(xa)?e.substring(1):e,Dw=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const i=[];let s=[];return r.forEach(o=>{o[0]==="["||t[o]?(i.push(...s.sort(),o),s=[]):s.push(o)}),i.push(...s.sort()),i}},Lw=e=>({cache:Mw(e.cacheSize),parseClassName:Ow(e),sortModifiers:Dw(e),...Tw(e)}),Fw=/\s+/,jw=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:s}=t,o=[],a=e.trim().split(Fw);let l="";for(let c=a.length-1;c>=0;c-=1){const u=a[c],{isExternal:d,modifiers:f,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:m}=n(u);if(d){l=u+(l.length>0?" "+l:l);continue}let x=!!m,y=r(x?g.substring(0,m):g);if(!y){if(!x){l=u+(l.length>0?" "+l:l);continue}if(y=r(g),!y){l=u+(l.length>0?" "+l:l);continue}x=!1}const k=s(f).join(":"),E=p?k+xa:k,_=E+y;if(o.includes(_))continue;o.push(_);const v=i(y,x);for(let C=0;C<v.length;++C){const M=v[C];o.push(E+M)}l=u+(l.length>0?" "+l:l)}return l};function Bw(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=Xh(t))&&(r&&(r+=" "),r+=n);return r}const Xh=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Xh(e[r]))&&(n&&(n+=" "),n+=t);return n};function $w(e,...t){let n,r,i,s=o;function o(l){const c=t.reduce((u,d)=>d(u),e());return n=Lw(c),r=n.cache.get,i=n.cache.set,s=a,a(l)}function a(l){const c=r(l);if(c)return c;const u=jw(l,n);return i(l,u),u}return function(){return s(Bw.apply(null,arguments))}}const vt=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Qh=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jh=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Vw=/^\d+\/\d+$/,zw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Uw=/\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$/,Hw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ww=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Gw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nr=e=>Vw.test(e),Me=e=>!!e&&!Number.isNaN(Number(e)),_n=e=>!!e&&Number.isInteger(Number(e)),mo=e=>e.endsWith("%")&&Me(e.slice(0,-1)),pn=e=>zw.test(e),Kw=()=>!0,qw=e=>Uw.test(e)&&!Hw.test(e),ep=()=>!1,Yw=e=>Ww.test(e),Zw=e=>Gw.test(e),Xw=e=>!fe(e)&&!he(e),Qw=e=>Ir(e,rp,ep),fe=e=>Qh.test(e),$n=e=>Ir(e,ip,qw),go=e=>Ir(e,rv,Me),Mu=e=>Ir(e,tp,ep),Jw=e=>Ir(e,np,Zw),Pi=e=>Ir(e,sp,Yw),he=e=>Jh.test(e),jr=e=>Or(e,ip),ev=e=>Or(e,iv),Iu=e=>Or(e,tp),tv=e=>Or(e,rp),nv=e=>Or(e,np),Di=e=>Or(e,sp,!0),Ir=(e,t,n)=>{const r=Qh.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Or=(e,t,n=!1)=>{const r=Jh.exec(e);return r?r[1]?t(r[1]):n:!1},tp=e=>e==="position"||e==="percentage",np=e=>e==="image"||e==="url",rp=e=>e==="length"||e==="size"||e==="bg-size",ip=e=>e==="length",rv=e=>e==="number",iv=e=>e==="family-name",sp=e=>e==="shadow",sv=()=>{const e=vt("color"),t=vt("font"),n=vt("text"),r=vt("font-weight"),i=vt("tracking"),s=vt("leading"),o=vt("breakpoint"),a=vt("container"),l=vt("spacing"),c=vt("radius"),u=vt("shadow"),d=vt("inset-shadow"),f=vt("text-shadow"),p=vt("drop-shadow"),g=vt("blur"),m=vt("perspective"),x=vt("aspect"),y=vt("ease"),k=vt("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[..._(),he,fe],C=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],N=()=>[he,fe,l],O=()=>[nr,"full","auto",...N()],b=()=>[_n,"none","subgrid",he,fe],R=()=>["auto",{span:["full",_n,he,fe]},_n,he,fe],I=()=>[_n,"auto",he,fe],B=()=>["auto","min","max","fr",he,fe],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],q=()=>["start","end","center","stretch","center-safe","end-safe"],ne=()=>["auto",...N()],ee=()=>[nr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...N()],$=()=>[e,he,fe],D=()=>[..._(),Iu,Mu,{position:[he,fe]}],w=()=>["no-repeat",{repeat:["","x","y","space","round"]}],j=()=>["auto","cover","contain",tv,Qw,{size:[he,fe]}],Y=()=>[mo,jr,$n],S=()=>["","none","full",c,he,fe],H=()=>["",Me,jr,$n],U=()=>["solid","dashed","dotted","double"],Z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[Me,mo,Iu,Mu],ue=()=>["","none",g,he,fe],te=()=>["none",Me,he,fe],ae=()=>["none",Me,he,fe],Oe=()=>[Me,he,fe],L=()=>[nr,"full",...N()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[pn],breakpoint:[pn],color:[Kw],container:[pn],"drop-shadow":[pn],ease:["in","out","in-out"],font:[Xw],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[pn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[pn],shadow:[pn],spacing:["px",Me],text:[pn],"text-shadow":[pn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",nr,fe,he,x]}],container:["container"],columns:[{columns:[Me,fe,he,a]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"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:v()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{start:O()}],end:[{end:O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[_n,"auto",he,fe]}],basis:[{basis:[nr,"full","auto",a,...N()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Me,nr,"auto","initial","none",fe]}],grow:[{grow:["",Me,he,fe]}],shrink:[{shrink:["",Me,he,fe]}],order:[{order:[_n,"first","last","none",he,fe]}],"grid-cols":[{"grid-cols":b()}],"col-start-end":[{col:R()}],"col-start":[{"col-start":I()}],"col-end":[{"col-end":I()}],"grid-rows":[{"grid-rows":b()}],"row-start-end":[{row:R()}],"row-start":[{"row-start":I()}],"row-end":[{"row-end":I()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:N()}],"gap-x":[{"gap-x":N()}],"gap-y":[{"gap-y":N()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...q(),"normal"]}],"justify-self":[{"justify-self":["auto",...q()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...q(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...q(),"baseline"]}],"place-self":[{"place-self":["auto",...q()]}],p:[{p:N()}],px:[{px:N()}],py:[{py:N()}],ps:[{ps:N()}],pe:[{pe:N()}],pt:[{pt:N()}],pr:[{pr:N()}],pb:[{pb:N()}],pl:[{pl:N()}],m:[{m:ne()}],mx:[{mx:ne()}],my:[{my:ne()}],ms:[{ms:ne()}],me:[{me:ne()}],mt:[{mt:ne()}],mr:[{mr:ne()}],mb:[{mb:ne()}],ml:[{ml:ne()}],"space-x":[{"space-x":N()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":N()}],"space-y-reverse":["space-y-reverse"],size:[{size:ee()}],w:[{w:[a,"screen",...ee()]}],"min-w":[{"min-w":[a,"screen","none",...ee()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[o]},...ee()]}],h:[{h:["screen","lh",...ee()]}],"min-h":[{"min-h":["screen","lh","none",...ee()]}],"max-h":[{"max-h":["screen","lh",...ee()]}],"font-size":[{text:["base",n,jr,$n]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,he,go]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",mo,fe]}],"font-family":[{font:[ev,fe,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:[i,he,fe]}],"line-clamp":[{"line-clamp":[Me,"none",he,go]}],leading:[{leading:[s,...N()]}],"list-image":[{"list-image":["none",he,fe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",he,fe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:$()}],"text-color":[{text:$()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[Me,"from-font","auto",he,$n]}],"text-decoration-color":[{decoration:$()}],"underline-offset":[{"underline-offset":[Me,"auto",he,fe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:N()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",he,fe]}],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",he,fe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:D()}],"bg-repeat":[{bg:w()}],"bg-size":[{bg:j()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_n,he,fe],radial:["",he,fe],conic:[_n,he,fe]},nv,Jw]}],"bg-color":[{bg:$()}],"gradient-from-pos":[{from:Y()}],"gradient-via-pos":[{via:Y()}],"gradient-to-pos":[{to:Y()}],"gradient-from":[{from:$()}],"gradient-via":[{via:$()}],"gradient-to":[{to:$()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:H()}],"border-w-x":[{"border-x":H()}],"border-w-y":[{"border-y":H()}],"border-w-s":[{"border-s":H()}],"border-w-e":[{"border-e":H()}],"border-w-t":[{"border-t":H()}],"border-w-r":[{"border-r":H()}],"border-w-b":[{"border-b":H()}],"border-w-l":[{"border-l":H()}],"divide-x":[{"divide-x":H()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":H()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:$()}],"border-color-x":[{"border-x":$()}],"border-color-y":[{"border-y":$()}],"border-color-s":[{"border-s":$()}],"border-color-e":[{"border-e":$()}],"border-color-t":[{"border-t":$()}],"border-color-r":[{"border-r":$()}],"border-color-b":[{"border-b":$()}],"border-color-l":[{"border-l":$()}],"divide-color":[{divide:$()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Me,he,fe]}],"outline-w":[{outline:["",Me,jr,$n]}],"outline-color":[{outline:$()}],shadow:[{shadow:["","none",u,Di,Pi]}],"shadow-color":[{shadow:$()}],"inset-shadow":[{"inset-shadow":["none",d,Di,Pi]}],"inset-shadow-color":[{"inset-shadow":$()}],"ring-w":[{ring:H()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:$()}],"ring-offset-w":[{"ring-offset":[Me,$n]}],"ring-offset-color":[{"ring-offset":$()}],"inset-ring-w":[{"inset-ring":H()}],"inset-ring-color":[{"inset-ring":$()}],"text-shadow":[{"text-shadow":["none",f,Di,Pi]}],"text-shadow-color":[{"text-shadow":$()}],opacity:[{opacity:[Me,he,fe]}],"mix-blend":[{"mix-blend":[...Z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Z()}],"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":[Me]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":$()}],"mask-image-linear-to-color":[{"mask-linear-to":$()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":$()}],"mask-image-t-to-color":[{"mask-t-to":$()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":$()}],"mask-image-r-to-color":[{"mask-r-to":$()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":$()}],"mask-image-b-to-color":[{"mask-b-to":$()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":$()}],"mask-image-l-to-color":[{"mask-l-to":$()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":$()}],"mask-image-x-to-color":[{"mask-x-to":$()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":$()}],"mask-image-y-to-color":[{"mask-y-to":$()}],"mask-image-radial":[{"mask-radial":[he,fe]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":$()}],"mask-image-radial-to-color":[{"mask-radial-to":$()}],"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":_()}],"mask-image-conic-pos":[{"mask-conic":[Me]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":$()}],"mask-image-conic-to-color":[{"mask-conic-to":$()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:D()}],"mask-repeat":[{mask:w()}],"mask-size":[{mask:j()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",he,fe]}],filter:[{filter:["","none",he,fe]}],blur:[{blur:ue()}],brightness:[{brightness:[Me,he,fe]}],contrast:[{contrast:[Me,he,fe]}],"drop-shadow":[{"drop-shadow":["","none",p,Di,Pi]}],"drop-shadow-color":[{"drop-shadow":$()}],grayscale:[{grayscale:["",Me,he,fe]}],"hue-rotate":[{"hue-rotate":[Me,he,fe]}],invert:[{invert:["",Me,he,fe]}],saturate:[{saturate:[Me,he,fe]}],sepia:[{sepia:["",Me,he,fe]}],"backdrop-filter":[{"backdrop-filter":["","none",he,fe]}],"backdrop-blur":[{"backdrop-blur":ue()}],"backdrop-brightness":[{"backdrop-brightness":[Me,he,fe]}],"backdrop-contrast":[{"backdrop-contrast":[Me,he,fe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Me,he,fe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Me,he,fe]}],"backdrop-invert":[{"backdrop-invert":["",Me,he,fe]}],"backdrop-opacity":[{"backdrop-opacity":[Me,he,fe]}],"backdrop-saturate":[{"backdrop-saturate":[Me,he,fe]}],"backdrop-sepia":[{"backdrop-sepia":["",Me,he,fe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":N()}],"border-spacing-x":[{"border-spacing-x":N()}],"border-spacing-y":[{"border-spacing-y":N()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",he,fe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Me,"initial",he,fe]}],ease:[{ease:["linear","initial",y,he,fe]}],delay:[{delay:[Me,he,fe]}],animate:[{animate:["none",k,he,fe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,he,fe]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:te()}],"rotate-x":[{"rotate-x":te()}],"rotate-y":[{"rotate-y":te()}],"rotate-z":[{"rotate-z":te()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:Oe()}],"skew-x":[{"skew-x":Oe()}],"skew-y":[{"skew-y":Oe()}],transform:[{transform:[he,fe,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"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:$()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:$()}],"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",he,fe]}],"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":N()}],"scroll-mx":[{"scroll-mx":N()}],"scroll-my":[{"scroll-my":N()}],"scroll-ms":[{"scroll-ms":N()}],"scroll-me":[{"scroll-me":N()}],"scroll-mt":[{"scroll-mt":N()}],"scroll-mr":[{"scroll-mr":N()}],"scroll-mb":[{"scroll-mb":N()}],"scroll-ml":[{"scroll-ml":N()}],"scroll-p":[{"scroll-p":N()}],"scroll-px":[{"scroll-px":N()}],"scroll-py":[{"scroll-py":N()}],"scroll-ps":[{"scroll-ps":N()}],"scroll-pe":[{"scroll-pe":N()}],"scroll-pt":[{"scroll-pt":N()}],"scroll-pr":[{"scroll-pr":N()}],"scroll-pb":[{"scroll-pb":N()}],"scroll-pl":[{"scroll-pl":N()}],"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",he,fe]}],fill:[{fill:["none",...$()]}],"stroke-w":[{stroke:[Me,jr,$n,go]}],stroke:[{stroke:["none",...$()]}],"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"]}},ov=$w(sv);function Qe(...e){return ov(ja.clsx(e))}function Ts(e){var i;if(!e)return{sessionSettings:{},capabilities:{},modality:"voice"};const t={session_timer:((i=e.session_settings)==null?void 0:i.session_timer)||null},n=e.capabilities||{},r=e.modality||"voice";return{sessionSettings:t,capabilities:n,modality:r}}function av(e,t){return e.capabilities[t]===!0}function Ns(e){return e.sessionSettings.session_timer||null}function op(e){const t=e.capabilities;return{userVideoEnabled:t.user_video_enabled!==!1,agentAvatarEnabled:t.agent_avatar_enabled!==!1,screenshareEnabled:t.screenshare_session_enabled!==!1}}function ap(e){const t=e.capabilities;return{suggestedReplyEnabled:t.suggested_reply_enabled!==!1,attachmentsEnabled:t.support_in_chat_attachments!==!1}}function lp(e){return{...e.capabilities}}function cp(e){const t=Math.floor(e/60),n=e%60;return`${t}:${n.toString().padStart(2,"0")}`}const up=A.forwardRef(({state:e,audioTrack:t,className:n},r)=>h.jsx("div",{ref:r,className:Qe("",n),children:t?h.jsx(Ft.BarVisualizer,{barCount:5,state:e,options:{minHeight:5},trackRef:t,className:Qe("flex aspect-video w-40 items-center justify-center gap-1"),children:h.jsx("span",{className:Qe(["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]"])})}):h.jsx("div",{className:Qe("flex aspect-video w-40 items-center justify-center"),children:h.jsx("div",{className:"flex flex-col items-center justify-center",children:h.jsx("div",{className:"flex gap-1",children:Array.from({length:5}).map((i,s)=>h.jsx("span",{className:Qe(["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"])},s))})})})}));up.displayName="AgentTile";const lv=({videoTrack:e,className:t,ref:n})=>{var r,i;return!e||!e.publication||!e.participant?h.jsx("div",{ref:n,className:Qe(t),children:h.jsx("div",{className:"w-full h-full bg-gray-200 rounded-md flex items-center justify-center",children:h.jsx("span",{className:"text-gray-500",children:"No video available"})})}):h.jsx("div",{ref:n,className:Qe(t),children:h.jsx(Ft.VideoTrack,{trackRef:e,width:((r=e.publication.dimensions)==null?void 0:r.width)??0,height:((i=e.publication.dimensions)==null?void 0:i.height)??0,className:"rounded-md"})})},cv=Ae.create(Ft.VideoTrack),uv=({trackRef:e,className:t,ref:n})=>{var r,i;return h.jsx("div",{className:Qe("bg-muted overflow-hidden rounded-md",t),children:h.jsx(cv,{ref:n,trackRef:e,width:((r=e==null?void 0:e.publication.dimensions)==null?void 0:r.width)??0,height:((i=e==null?void 0:e.publication.dimensions)==null?void 0:i.height)??0,className:Qe("h-full w-auto")})})},Ou=Ae.create(uv),dv=Ae.create(up),fv=Ae.create(lv),mn={initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},exit:{opacity:0,scale:0},transition:{type:"spring",stiffness:675,damping:75,mass:1}},rr={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 hv(e,t){const{localParticipant:n}=Sw(t),r=n==null?void 0:n.getTrackPublication(e);return A.useMemo(()=>r&&n?{source:e,participant:n,publication:r}:void 0,[e,r,n])}function pv({chatOpen:e,client:t}){const{agent:{isActive:n=!1}={},session:r,state:i="idle",audioTrack:s,videoTrack:o}=t?xl(t):{agent:{isActive:!1},session:null,state:"idle",audioTrack:null,videoTrack:null},[a]=Ft.useTracks([ce.Track.Source.ScreenShare]),l=hv(ce.Track.Source.Camera,t),c=l&&!l.publication.isMuted,u=a&&!a.publication.isMuted,d=c||u,f=n||r&&r.state==="active",p={...mn.transition,delay:e?0:.15},g={...mn.animate,scale:e?1:3,transition:p},m={...mn.animate,transition:p},x=p,y=p,k=o&&o.publication&&o.participant;return h.jsx("div",{className:"relative w-full h-full z-10 flex items-center justify-center",children:h.jsx("div",{className:"relative w-full h-full max-w-2xl px-4 md:px-0",children:h.jsxs("div",{className:Qe(rr.grid),children:[f&&h.jsx("div",{className:Qe(["grid",!e&&rr.agentChatClosed,e&&d&&rr.agentChatOpenWithSecondTile,e&&!d&&rr.agentChatOpenWithoutSecondTile]),children:h.jsxs("div",{className:"h-full flex items-center justify-center",children:[!k&&h.jsx(dv,{layoutId:"agent",...mn,animate:g,transition:x,state:i,audioTrack:s||void 0,className:Qe(e?"h-[90px]":"h-auto w-full")},"agent"),k&&o&&h.jsx(fv,{layoutId:"avatar",...mn,animate:m,transition:y,videoTrack:o,className:Qe(e?"h-[90px] [&>video]:h-[90px] [&>video]:w-auto":"h-auto w-full")},"avatar")]})}),h.jsx("div",{className:Qe(["grid",e&&rr.secondTileChatOpen,!e&&rr.secondTileChatClosed]),children:h.jsxs("div",{className:"w-full px-10 flex items-center shadow-2xl justify-between",children:[l&&c&&h.jsx(Ou,{layout:"position",layoutId:"camera",...mn,trackRef:l,transition:{...mn.transition,delay:e?0:.15},className:"h-[60px] order-1"},"camera"),u&&h.jsx(Ou,{layout:"position",layoutId:"screen",...mn,trackRef:a,transition:{...mn.transition,delay:e?0:.15},className:"h-[70px] order-2"},"screen")]})})]})})})}const mv={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 relative 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"}},gv={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 relative 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"}},bv={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 relative",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"}},Pu={dark:mv,light:gv,vox:bv};function Et(e){return Pu[e]||Pu.vox}function Du({timeout:e}){const[t,n]=A.useState(100),r=A.useRef(null),i=A.useRef(null);return A.useEffect(()=>{if(!e||e<=0)return;n(100),i.current=Date.now();const s=()=>{if(!e||i.current===null)return;const o=Date.now()-i.current,a=Math.max(0,100-o/e*100);n(a),a>0&&(r.current=requestAnimationFrame(s))};return r.current=requestAnimationFrame(s),()=>{r.current&&cancelAnimationFrame(r.current)}},[e]),!e||e<=0?null:h.jsx("div",{className:"w-full h-1 relative top-1 rounded-t-4xl bg-gray-700 overflow-hidden",children:h.jsx(Ae.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 li({interaction:e,theme:t,onDismiss:n,client:r,addLocalMessage:i}){var a;if(!e||!e.isVisible||!e.component)return null;const[s]=P.useState(()=>Date.now()),o=()=>e.component?P.createElement(e.component,{handler:e.handler||void 0,timeout:e.timeout,loadData:async c=>{console.log("InteractiveComponent: Loading data:",c)},presentationMode:e.presentationMode,data:e.data,client:r,addLocalMessage:i}):h.jsx("div",{className:"p-4 text-red-500",children:"Component not found"});switch(e.presentationMode){case"fullscreen":return h.jsx(Sr,{children:h.jsxs(Ae.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[9999] bg-black",children:[h.jsxs("div",{className:"flex flex-col",children:[h.jsx(Du,{timeout:e.timeout}),h.jsxs("div",{className:"flex items-center justify-between p-4 bg-black/80 text-white border-b border-gray-700",children:[h.jsx("h3",{className:"text-lg font-semibold",children:e.methodName.replace(/_/g," ").replace(/\b\w/g,l=>l.toUpperCase())}),h.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:h.jsx(ze.X,{className:"w-5 h-5"})})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:o()})]})});case"embedded":default:return h.jsx(Sr,{children:h.jsx(Ae.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"w-fit rounded-lg ",children:h.jsxs("div",{children:[h.jsx(Du,{timeout:e.timeout}),o()]})})})}}function ci({duration:e,theme:t="vox",onTimerExpired:n,className:r="",showIcon:i=!0}){const[s,o]=A.useState(e),[a,l]=A.useState(!1);A.useEffect(()=>{if(s<=0){l(!0),n==null||n();return}const u=setInterval(()=>{o(d=>{const f=d-1;return f<=0?(l(!0),n==null||n(),0):f})},1e3);return()=>clearInterval(u)},[s,n]),A.useEffect(()=>{o(e),l(!1)},[e]);const c=()=>a?"text-red-500":s<=60?"text-orange-500":s<=300?"text-yellow-500":t==="dark"?"text-gray-300":"text-gray-600";return h.jsxs("div",{className:`flex items-center gap-1 text-sm ${c()} ${r}`,children:[i&&h.jsx(ze.Clock,{className:"w-4 h-4"}),h.jsx("span",{className:"font-mono",children:cp(s)}),a&&h.jsx("span",{className:"text-xs ml-1 text-red-500",children:"(Expired)"})]})}const yv=({logLevel:e}={})=>{const t=Ft.useRoomContext();P.useEffect(()=>(ce.setLogLevel(e??"debug"),window.__lk_room=t,()=>{window.__lk_room=void 0}),[t,e])},dp=P.forwardRef((e,t)=>{const{alt:n,color:r="currentColor",size:i="1em",weight:s="regular",mirrored:o=!1,children:a,weights:l,...c}=e;return P.createElement("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,fill:r,viewBox:"0 0 256 256",transform:o?"scale(-1, 1)":void 0,...c},!!n&&P.createElement("title",null,n),a,l.get(s))});dp.displayName="SSRBase";const xv=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"}))]]),vl=P.forwardRef((e,t)=>P.createElement(dp,{ref:t,...e,weights:xv}));vl.displayName="SpinnerIcon";function wv({onSendMessage:e,onSendAttachments:t,disabled:n,theme:r,onEndChat:i,attachmentsEnabled:s=!0}){const[o,a]=P.useState(""),[l,c]=P.useState(!1),u=P.useRef(null),d=P.useRef(null),[f,p]=P.useState(!1),g=Et(r);P.useEffect(()=>{const v=()=>{const C=navigator.userAgent.toLowerCase(),N=["android","iphone","ipad","mobile","tablet"].some(R=>C.includes(R)),O="ontouchstart"in window||navigator.maxTouchPoints>0,b=window.innerWidth<=768;p(N||O&&b)};return v(),window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)},[]);const m=v=>{v.preventDefault(),o.trim()&&!n&&(e(o.trim()),a(""))},x=v=>{v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),m(v))},y=v=>{const C=v.target.files;if(C&&C.length>0){const M=Array.from(C),N=M.filter(O=>O.type.startsWith("image/"));if(N.length===0){console.warn("No valid image files selected");return}N.length!==M.length&&console.warn("Some non-image files were filtered out"),t(N),u.current&&(u.current.value="")}},k=()=>{!n&&u.current&&u.current.click()},E=()=>{!n&&f&&d.current&&d.current.click()},_=v=>{const C=v.target.files;if(C&&C.length>0){const M=C[0];M.type.startsWith("image/")?t([M]):console.warn("Selected file is not an image"),d.current&&(d.current.value="")}};return h.jsx("div",{className:"px-4 py-3 !w-full backdrop-blur-xl border-0 shadow-lg ",children:h.jsx("form",{onSubmit:m,className:"flex items-center !w-full",children:h.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 ${r==="light"?"bg-white/90 border-gray-200":g.chatInput.container}`,children:[s&&h.jsx(Ae.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:h.jsx(ze.Paperclip,{className:"w-4 h-4"})}),s&&f&&h.jsx(Ae.button,{type:"button",onClick:E,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:h.jsx(ze.Camera,{className:"w-4 h-4"})}),s&&h.jsx("input",{ref:u,type:"file",multiple:!0,onChange:y,className:"hidden",accept:"image/*"}),s&&h.jsx("input",{ref:d,type:"file",onChange:_,className:"hidden",accept:"image/*",capture:"environment"}),h.jsx("textarea",{value:o,onChange:v=>a(v.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 ${g.chatInput.textarea}`,rows:1,style:{height:"auto",minHeight:"32px"},onInput:v=>{const C=v.target;C.style.height="auto",C.style.height=`${Math.min(C.scrollHeight,80)}px`}}),h.jsx(Ae.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:r==="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:h.jsx(ze.SendHorizontal,{className:"w-4 h-4"})}),i&&h.jsx(Ae.button,{type:"button",onClick:i,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:h.jsx(ze.PhoneOff,{className:"w-4 h-4"})})]})})})}function vv({text:e,isComplete:t,isRealTimeStream:n=!1,speed:r=50}){const[i,s]=P.useState(""),[o,a]=P.useState(0);return P.useEffect(()=>{if(n){s(e);return}if(t){s(e);return}if(o<e.length){const l=setTimeout(()=>{s(e.slice(0,o+1)),a(o+1)},r);return()=>clearTimeout(l)}},[e,o,t,r,n]),P.useEffect(()=>{n||(a(0),s(""))},[e,n]),h.jsxs("span",{className:"relative",children:[h.jsx("span",{className:"inline-block",children:i}),!t&&h.jsx("span",{className:"inline-flex items-center ml-1",children:[0,1,2].map(l=>h.jsx(Ae.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:l*.2,ease:"easeInOut"}},l))})]})}function Ev(e,t){return e.startsWith("image/")?ze.Image:e.startsWith("video/")?ze.Video:e.startsWith("audio/")?ze.Music:e.includes("zip")||e.includes("rar")||e.includes("archive")?ze.Archive:ze.FileText}function kv(e){if(e===0)return"0 Bytes";const t=1024,n=["Bytes","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,r)).toFixed(2))+" "+n[r]}function Sv({message:e,theme:t,isOwn:n}){const r=Et(t),i=e.metadata,s=(i==null?void 0:i.fileName)||"Unknown file",o=(i==null?void 0:i.fileSize)||0,a=(i==null?void 0:i.mimeType)||"application/octet-stream",l=i==null?void 0:i.downloading,c=i==null?void 0:i.uploading,u=(i==null?void 0:i.downloadProgress)||0,d=(i==null?void 0:i.uploadProgress)||0,f=i==null?void 0:i.downloadUrl,p=i==null?void 0:i.file,g=Ev(a),m=l||c,x=l?u:d,y=l?"Downloading...":c?"Uploading...":"Complete",[k,E]=P.useState(null);P.useEffect(()=>{if(f)E(f);else if(p&&a.startsWith("image/")){const M=URL.createObjectURL(p);return E(M),()=>URL.revokeObjectURL(M)}else E(null)},[f,p,a]);const _=()=>{if(f){const M=document.createElement("a");M.href=f,M.download=s,M.click()}},C=a.startsWith("image/")&&k;return h.jsxs("div",{className:"flex flex-col gap-2 max-w-full sm:max-w-sm",children:[C&&h.jsxs("div",{className:"relative rounded-lg overflow-hidden",children:[h.jsx("img",{src:k,alt:s,className:"max-w-full h-auto max-h-48 object-cover rounded-lg cursor-pointer",onClick:_}),h.jsx("div",{className:"absolute inset-0 bg-black/0 hover:bg-black/10 transition-colors duration-200 cursor-pointer"})]}),h.jsxs("div",{className:`
|
|
30
30
|
flex items-center gap-3 p-3 rounded-lg border transition-all duration-200
|
|
31
31
|
${t==="light"?"bg-gray-50 border-gray-200 hover:bg-gray-100":"bg-gray-800/50 border-gray-700 hover:bg-gray-700/50"}
|
|
32
32
|
`,children:[h.jsx("div",{className:`
|
|
@@ -146,7 +146,7 @@ const theme1 = createTheme({ palette: {
|
|
|
146
146
|
|
|
147
147
|
const theme2 = createTheme({ palette: {
|
|
148
148
|
primary: { main: green[500] },
|
|
149
|
-
} });`:On(12,x?` (${x})`:"",JSON.stringify(m.main)));return ff(m,"light",k,r),ff(m,"dark",E,r),m.contrastText||(m.contrastText=d(m.main)),m};let p;return t==="light"?p=Zm():t==="dark"&&(p=Xm()),process.env.NODE_ENV!=="production"&&(p||console.error(`MUI: The palette mode \`${t}\` is not supported.`)),Wt({common:{...fi},mode:t,primary:f({color:s,name:"primary"}),secondary:f({color:o,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:a,name:"error"}),warning:f({color:u,name:"warning"}),info:f({color:l,name:"info"}),success:f({color:c,name:"success"}),grey:HR,contrastThreshold:n,getContrastText:d,augmentColor:f,tonalOffset:r,...p},i)}function QR(e){const t={};return Object.entries(e).forEach(r=>{const[i,s]=r;typeof s=="object"&&(t[i]=`${s.fontStyle?`${s.fontStyle} `:""}${s.fontVariant?`${s.fontVariant} `:""}${s.fontWeight?`${s.fontWeight} `:""}${s.fontStretch?`${s.fontStretch} `:""}${s.fontSize||""}${s.lineHeight?`/${s.lineHeight} `:""}${s.fontFamily||""}`)}),t}function JR(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function eM(e){return Math.round(e*1e5)/1e5}const hf={textTransform:"uppercase"},pf='"Roboto", "Helvetica", "Arial", sans-serif';function tM(e,t){const{fontFamily:n=pf,fontSize:r=14,fontWeightLight:i=300,fontWeightRegular:s=400,fontWeightMedium:o=500,fontWeightBold:a=700,htmlFontSize:l=16,allVariants:c,pxToRem:u,...d}=typeof t=="function"?t(e):t;process.env.NODE_ENV!=="production"&&(typeof r!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof l!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const f=r/14,p=u||(x=>`${x/l*f}rem`),g=(x,y,k,E,_)=>({fontFamily:n,fontWeight:x,fontSize:p(y),lineHeight:k,...n===pf?{letterSpacing:`${eM(E/y)}em`}:{},..._,...c}),m={h1:g(i,96,1.167,-1.5),h2:g(i,60,1.2,-.5),h3:g(s,48,1.167,0),h4:g(s,34,1.235,.25),h5:g(s,24,1.334,0),h6:g(o,20,1.6,.15),subtitle1:g(s,16,1.75,.15),subtitle2:g(o,14,1.57,.1),body1:g(s,16,1.5,.15),body2:g(s,14,1.43,.15),button:g(o,14,1.75,.4,hf),caption:g(s,12,1.66,.4),overline:g(s,12,2.66,1,hf),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Wt({htmlFontSize:l,pxToRem:p,fontFamily:n,fontSize:r,fontWeightLight:i,fontWeightRegular:s,fontWeightMedium:o,fontWeightBold:a,...m},d,{clone:!1})}const nM=.2,rM=.14,iM=.12;function
|
|
149
|
+
} });`:On(12,x?` (${x})`:"",JSON.stringify(m.main)));return ff(m,"light",k,r),ff(m,"dark",E,r),m.contrastText||(m.contrastText=d(m.main)),m};let p;return t==="light"?p=Zm():t==="dark"&&(p=Xm()),process.env.NODE_ENV!=="production"&&(p||console.error(`MUI: The palette mode \`${t}\` is not supported.`)),Wt({common:{...fi},mode:t,primary:f({color:s,name:"primary"}),secondary:f({color:o,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:a,name:"error"}),warning:f({color:u,name:"warning"}),info:f({color:l,name:"info"}),success:f({color:c,name:"success"}),grey:HR,contrastThreshold:n,getContrastText:d,augmentColor:f,tonalOffset:r,...p},i)}function QR(e){const t={};return Object.entries(e).forEach(r=>{const[i,s]=r;typeof s=="object"&&(t[i]=`${s.fontStyle?`${s.fontStyle} `:""}${s.fontVariant?`${s.fontVariant} `:""}${s.fontWeight?`${s.fontWeight} `:""}${s.fontStretch?`${s.fontStretch} `:""}${s.fontSize||""}${s.lineHeight?`/${s.lineHeight} `:""}${s.fontFamily||""}`)}),t}function JR(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function eM(e){return Math.round(e*1e5)/1e5}const hf={textTransform:"uppercase"},pf='"Roboto", "Helvetica", "Arial", sans-serif';function tM(e,t){const{fontFamily:n=pf,fontSize:r=14,fontWeightLight:i=300,fontWeightRegular:s=400,fontWeightMedium:o=500,fontWeightBold:a=700,htmlFontSize:l=16,allVariants:c,pxToRem:u,...d}=typeof t=="function"?t(e):t;process.env.NODE_ENV!=="production"&&(typeof r!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof l!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const f=r/14,p=u||(x=>`${x/l*f}rem`),g=(x,y,k,E,_)=>({fontFamily:n,fontWeight:x,fontSize:p(y),lineHeight:k,...n===pf?{letterSpacing:`${eM(E/y)}em`}:{},..._,...c}),m={h1:g(i,96,1.167,-1.5),h2:g(i,60,1.2,-.5),h3:g(s,48,1.167,0),h4:g(s,34,1.235,.25),h5:g(s,24,1.334,0),h6:g(o,20,1.6,.15),subtitle1:g(s,16,1.75,.15),subtitle2:g(o,14,1.57,.1),body1:g(s,16,1.5,.15),body2:g(s,14,1.43,.15),button:g(o,14,1.75,.4,hf),caption:g(s,12,1.66,.4),overline:g(s,12,2.66,1,hf),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Wt({htmlFontSize:l,pxToRem:p,fontFamily:n,fontSize:r,fontWeightLight:i,fontWeightRegular:s,fontWeightMedium:o,fontWeightBold:a,...m},d,{clone:!1})}const nM=.2,rM=.14,iM=.12;function it(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${nM})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${rM})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${iM})`].join(",")}const sM=["none",it(0,2,1,-1,0,1,1,0,0,1,3,0),it(0,3,1,-2,0,2,2,0,0,1,5,0),it(0,3,3,-2,0,3,4,0,0,1,8,0),it(0,2,4,-1,0,4,5,0,0,1,10,0),it(0,3,5,-1,0,5,8,0,0,1,14,0),it(0,3,5,-1,0,6,10,0,0,1,18,0),it(0,4,5,-2,0,7,10,1,0,2,16,1),it(0,5,5,-3,0,8,10,1,0,3,14,2),it(0,5,6,-3,0,9,12,1,0,3,16,2),it(0,6,6,-3,0,10,14,1,0,4,18,3),it(0,6,7,-4,0,11,15,1,0,4,20,3),it(0,7,8,-4,0,12,17,2,0,5,22,4),it(0,7,8,-4,0,13,19,2,0,5,24,4),it(0,7,9,-4,0,14,21,2,0,5,26,4),it(0,8,9,-5,0,15,22,2,0,6,28,5),it(0,8,10,-5,0,16,24,2,0,6,30,5),it(0,8,11,-5,0,17,26,2,0,6,32,5),it(0,9,11,-5,0,18,28,2,0,7,34,6),it(0,9,12,-6,0,19,29,2,0,7,36,6),it(0,10,13,-6,0,20,31,3,0,8,38,7),it(0,10,13,-6,0,21,33,3,0,8,40,7),it(0,10,14,-6,0,22,35,3,0,8,42,7),it(0,11,14,-7,0,23,36,3,0,9,44,8),it(0,11,15,-7,0,24,38,3,0,9,46,8)],oM={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)"},aM={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function mf(e){return`${Math.round(e)}ms`}function lM(e){if(!e)return 0;const t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function cM(e){const t={...oM,...e.easing},n={...aM,...e.duration};return{getAutoHeightDuration:lM,create:(i=["all"],s={})=>{const{duration:o=n.standard,easing:a=t.easeInOut,delay:l=0,...c}=s;if(process.env.NODE_ENV!=="production"){const u=f=>typeof f=="string",d=f=>!Number.isNaN(parseFloat(f));!u(i)&&!Array.isArray(i)&&console.error('MUI: Argument "props" must be a string or Array.'),!d(o)&&!u(o)&&console.error(`MUI: Argument "duration" must be a number or a string but found ${o}.`),u(a)||console.error('MUI: Argument "easing" must be a string.'),!d(l)&&!u(l)&&console.error('MUI: Argument "delay" must be a number or a string.'),typeof s!="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(`
|
|
150
150
|
`)),Object.keys(c).length!==0&&console.error(`MUI: Unrecognized argument(s) [${Object.keys(c).join(",")}].`)}return(Array.isArray(i)?i:[i]).map(u=>`${u} ${typeof o=="string"?o:mf(o)} ${a} ${typeof l=="string"?l:mf(l)}`).join(",")},...e,easing:t,duration:n}}const uM={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function dM(e){return bn(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function Qm(e={}){const t={...e};function n(r){const i=Object.entries(r);for(let s=0;s<i.length;s++){const[o,a]=i[s];!dM(a)||o.startsWith("unstable_")?delete r[o]:bn(a)&&(r[o]={...a},n(r[o]))}}return n(t),`import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';
|
|
151
151
|
|
|
152
152
|
const theme = ${JSON.stringify(t,null,2)};
|
|
@@ -160,7 +160,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
|
|
|
160
160
|
${n.promptSlider}
|
|
161
161
|
${o===r?"opacity-100":"opacity-0"}
|
|
162
162
|
whitespace-pre-line break-words
|
|
163
|
-
`,style:{minHeight:"2.5rem",display:o===r?"block":"none"},children:s},o))})}function PM({statusMessage:e,theme:t}){const n=Et(t);return h.jsxs("div",{className:"z-10 flex items-center space-x-2 mt-2 pb-2",children:[h.jsx("div",{className:n.statusIndicator}),h.jsx("span",{className:`text-xs ${n.text.muted}`,children:e})]})}const ig=A.forwardRef(({disabled:e,onStartCall:t,onStartChat:n,onStartVideo:r,prompts:i=['"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:s="Agent is ready",title:o="Choose how to interact",subTitle:a="Ask me anything or give me a task to complete",theme:l="vox",modalities:c=["voice","chat","video"]},u)=>{const d=Et(l),f=c.includes("voice"),p=c.includes("chat"),g=c.includes("video"),m=[f,p,g].filter(Boolean).length;return h.jsxs("div",{className:"flex p-8 flex-col items-center h-full justify-center w-full relative","aria-disabled":e,style:{background:"transparent"},children:[h.jsxs("div",{className:"mt-1 relative flex items-center justify-center mb-8 w-full",style:{minHeight:"120px"},children:[h.jsxs("div",{className:"absolute inset-0 flex items-center justify-center",children:[h.jsx("div",{className:d.pulseRings.ring1}),h.jsx("div",{className:d.pulseRings.ring2,style:{animationDelay:"0.5s"}}),h.jsx("div",{className:d.pulseRings.ring3,style:{animationDelay:"1s"}})]}),h.jsx("div",{className:"relative z-10 flex items-center justify-center",children:f&&p&&g?h.jsxs("div",{className:"flex gap-4 items-center justify-center",children:[h.jsx(Zi,{onClick:t,disabled:e,theme:l}),h.jsx(Ko,{onClick:n,disabled:e,theme:l}),h.jsx(qo,{onClick:r||t,disabled:e,theme:l})]}):m>1?h.jsxs("div",{className:"flex gap-6 items-center justify-center",children:[f&&h.jsx(Zi,{onClick:t,disabled:e,theme:l}),p&&h.jsx(Ko,{onClick:n,disabled:e,theme:l}),g&&r&&h.jsx(qo,{onClick:r,disabled:e,theme:l})]}):h.jsx("div",{className:"flex items-center justify-center",children:f?h.jsx(Zi,{onClick:t,disabled:e,theme:l}):p?h.jsx(Ko,{onClick:n,disabled:e,theme:l}):g&&r?h.jsx(qo,{onClick:r,disabled:e,theme:l}):h.jsx(Zi,{onClick:t,disabled:e,theme:l})})})]}),h.jsxs("div",{className:"text-center flex flex-col items-center gap-y-2 mb-6 w-full",children:[h.jsx("h3",{className:`text-xl font-semibold mb-2 ${d.text.accent}`,children:o}),h.jsx("p",{className:`text-sm leading-relaxed px-4 ${d.text.secondary}`,children:a}),m>1&&h.jsxs("div",{className:"flex gap-6 mt-4 text-xs justify-center",children:[f&&h.jsxs("div",{className:"flex flex-col items-center gap-1",children:[h.jsx(ng,{className:"w-4 h-4"}),h.jsx("span",{className:d.text.muted,children:"Voice"})]}),p&&h.jsxs("div",{className:"flex flex-col items-center gap-1",children:[h.jsx(tg,{className:"w-4 h-4"}),h.jsx("span",{className:d.text.muted,children:"Chat"})]}),g&&h.jsxs("div",{className:"flex flex-col items-center gap-1",children:[h.jsx(rg,{className:"w-4 h-4"}),h.jsx("span",{className:d.text.muted,children:"Video"})]})]})]}),h.jsx(OM,{prompts:i,theme:l}),h.jsx(PM,{statusMessage:s,theme:l})]})});ig.displayName="Welcome";class Xl 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 sg({room:e,onSessionEnd:t,onSessionStart:n,enableConsoleLogging:r=!0,enableLocalStorage:i=!0,voxketSessionId:s}={}){const[o,a]=P.useState(null),[l,c]=P.useState([]),[u,d]=P.useState(null),[f,p]=P.useState([]),g=P.useCallback((k,E)=>{const _={timestamp:new Date,event:k,data:E,sessionId:o==null?void 0:o.sessionId,participantId:u==null?void 0:u.identity};if(c(v=>[...v,_]),i){const v=JSON.parse(localStorage.getItem("voxket-session-logs")||"[]");v.push(_),localStorage.setItem("voxket-session-logs",JSON.stringify(v))}return _},[o==null?void 0:o.sessionId,u==null?void 0:u.identity,r,i]);P.useEffect(()=>{if(!e)return;const k=()=>{const b=s||`session-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,R=new Date,I={sessionId:b,startTime:R,totalMessages:0,connectionIssues:0,participantCount:f.length,events:[]};a(I),g("SESSION_STARTED",{sessionId:b,startTime:R}),n==null||n(b)},E=()=>{if(o){const b=new Date,R=b.getTime()-o.startTime.getTime(),I={...o,endTime:b,duration:R,events:l};g("SESSION_ENDED",{sessionId:o.sessionId,duration:`${Math.round(R/1e3)}s`,totalMessages:o.totalMessages,connectionIssues:o.connectionIssues}),t==null||t(I),a(null),c([])}},_=b=>{g("CONNECTION_STATE_CHANGED",{state:b}),b===ce.ConnectionState.Reconnecting&&o&&(a(R=>R?{...R,connectionIssues:R.connectionIssues+1}:null),g("CONNECTION_ISSUE",{type:"reconnecting"}))},v=b=>{g("TRACK_PUBLISHED",{trackKind:b.kind,trackSource:b.source})},C=b=>{g("TRACK_UNPUBLISHED",{trackKind:b.kind,trackSource:b.source})},M=(b,R)=>{o&&a(I=>I?{...I,totalMessages:I.totalMessages+1}:null),g("DATA_RECEIVED",{participantId:R==null?void 0:R.identity,dataSize:b.length})},N=b=>{g("PARTICIPANT_CONNECTED",{participantId:b.identity,participantName:b.name}),p(R=>[...R,b]),o&&a(R=>R?{...R,participantCount:R.participantCount+1}:null)},O=b=>{g("PARTICIPANT_DISCONNECTED",{participantId:b.identity,participantName:b.name}),p(R=>R.filter(I=>I.identity!==b.identity))};return e.localParticipant&&d(e.localParticipant),e.on(ce.RoomEvent.Connected,k),e.on(ce.RoomEvent.Disconnected,E),e.on(ce.RoomEvent.ConnectionStateChanged,_),e.on(ce.RoomEvent.TrackPublished,v),e.on(ce.RoomEvent.TrackUnpublished,C),e.on(ce.RoomEvent.DataReceived,M),e.on(ce.RoomEvent.ParticipantConnected,N),e.on(ce.RoomEvent.ParticipantDisconnected,O),()=>{e.off(ce.RoomEvent.Connected,k),e.off(ce.RoomEvent.Disconnected,E),e.off(ce.RoomEvent.ConnectionStateChanged,_),e.off(ce.RoomEvent.TrackPublished,v),e.off(ce.RoomEvent.TrackUnpublished,C),e.off(ce.RoomEvent.DataReceived,M),e.off(ce.RoomEvent.ParticipantConnected,N),e.off(ce.RoomEvent.ParticipantDisconnected,O)}},[e,o,l,f.length,g,t,n]);const m=P.useCallback(()=>i?JSON.parse(localStorage.getItem("voxket-session-logs")||"[]"):l,[l,i]),x=P.useCallback(()=>{i&&localStorage.removeItem("voxket-session-logs"),c([])},[i]),y=P.useCallback(()=>{const k=m(),E=JSON.stringify(k,null,2),_="data:application/json;charset=utf-8,"+encodeURIComponent(E),v=`voxket-session-logs-${new Date().toISOString().split("T")[0]}.json`,C=document.createElement("a");C.setAttribute("href",_),C.setAttribute("download",v),C.click()},[m]);return{sessionMetrics:o,sessionLogs:l,logEvent:g,getSessionLogs:m,clearSessionLogs:x,exportSessionLogs:y}}class Ql{constructor(){st(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 r=(...i)=>{this.off(t,r),n(...i)};return this.on(t,r)}off(t,n){const r=this.listeners[t];if(!r)return;const i=r.indexOf(n);i>-1&&r.splice(i,1)}removeAllListeners(t){t?delete this.listeners[t]:this.listeners={}}emit(t,...n){const r=this.listeners[t];if(!r)return;const i=[...r];for(const s of i)try{s(...n)}catch(o){console.error(`Error in event listener for ${String(t)}:`,o)}}listenerCount(t){var n;return((n=this.listeners[t])==null?void 0:n.length)??0}eventNames(){return Object.keys(this.listeners)}}class og{constructor(t){st(this,"plugins",new Map);st(this,"installedPlugins",new Set);st(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 r=this.plugins.get(t);if(!r)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t))throw new Error(`Plugin '${t}' is already installed`);if(r.dependencies)for(const s of r.dependencies)this.installedPlugins.has(s)||await this.install(s);const i={...this.context,config:{...r.config,...n}};r.install&&await r.install(i),this.installedPlugins.add(t),this.setupPluginEvents(r,i)}async uninstall(t){var r;const n=this.plugins.get(t);if(!n)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t)){for(const[i,s]of this.plugins)if(this.installedPlugins.has(i)&&((r=s.dependencies)!=null&&r.includes(t)))throw new Error(`Cannot uninstall '${t}' because '${i}' 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",r=>{t.onSessionStart(n,r.id)}),t.onSessionEnd&&n.on("session.ended",r=>{t.onSessionEnd(n,r.id)}),t.onAgentResponse&&n.on("agent.response",r=>{t.onAgentResponse(n,r)})}}function DM(e){return e}function Jl(e,t,n){return{name:e,version:"1.0.0",description:`${t} modality plugin`,install:async r=>{n.onActivate&&await n.onActivate(r)},uninstall:async r=>{n.onDeactivate&&await n.onDeactivate(r)},onAgentResponse:n.onMessage}}const LM={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)})}},FM={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,...r)=>(console.log(`[Debug] Event: ${String(n)}`,r),t(n,...r))}},jM={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})})}},ag=A.createContext(null);function is({config:e,children:t,autoConnect:n=!1,client:r}){const[i,s]=A.useState(null),[o,a]=A.useState(!1),[l,c]=A.useState(!1),[u,d]=A.useState(null),[f,p]=A.useState(null),[g,m]=A.useState("idle"),[x,y]=A.useState(null),[k,E]=A.useState([]),[_,v]=A.useState([]),[C,M]=A.useState([]);A.useEffect(()=>{const D=r||new ki(e);s(D);const w=N(D);return n&&!r&&O(D),()=>{w(),r||D.disconnect().catch(console.error)}},[e,n,r]);const N=D=>{const w=()=>{c(!0),d(null)},j=()=>{a(!0),c(!1),d(null)},Y=()=>{a(!1),c(!1),p(null),m("idle"),E([]),v([]),M([])},S=K=>{d(K),c(!1)},H=K=>{p(K),m(K.state)},U=K=>{m(K),f&&p({...f,state:K})},Z=(K,Ee)=>{p(null),m("idle"),y(Ee),E([]),v([]),M([])},W=K=>{E(Ee=>[...Ee,K])},ue=K=>{E(Ee=>Ee.filter(le=>le.id!==K.id))},te=K=>{v(Ee=>[...Ee,K])},ae=K=>{v(Ee=>[...Ee,K])},Oe=K=>{console.log("๐ VoxketProvider: Received transcription:",K),M(Ee=>Ee.find(se=>se.id===K.id)?(console.log("๐ VoxketProvider: Duplicate transcription detected, skipping:",K.id),Ee):(console.log("๐ VoxketProvider: Adding new transcription:",K.id),[...Ee,K]))},L=()=>{console.log("๐งน VoxketProvider: Clearing chat messages and transcriptions"),v([]),M([])};return D.on("connection.connecting",w),D.on("connection.connected",j),D.on("connection.disconnected",Y),D.on("connection.error",S),D.on("session.created",H),D.on("session.state.changed",U),D.on("session.ended",Z),D.on("participant.joined",W),D.on("participant.left",ue),D.on("chat.message.received",te),D.on("chat.message.sent",ae),D.on("transcription.received",Oe),D.on("chat.history.cleared",L),()=>{console.log("๐ VoxketProvider: Cleaning up event listeners"),D.off("connection.connecting",w),D.off("connection.connected",j),D.off("connection.disconnected",Y),D.off("connection.error",S),D.off("session.created",H),D.off("session.state.changed",U),D.off("session.ended",Z),D.off("participant.joined",W),D.off("participant.left",ue),D.off("chat.message.received",te),D.off("chat.message.sent",ae),D.off("chat.history.cleared",L),D.off("transcription.received",Oe)}},O=async D=>{const w=D||i;if(w)try{await w.connect()}catch(j){console.error("Failed to connect:",j)}},$={client:i,isConnected:o,isConnecting:l,connectionError:u,currentSession:f,sessionState:g,sessionMetrics:x,participants:k,chatMessages:_,transcriptions:C,connect:()=>O(),disconnect:async()=>{if(i)try{await i.disconnect()}catch(D){console.error("Failed to disconnect:",D)}},createSession:async(D,w={})=>{if(!i)throw new Error("Client not initialized");const j={agentId:D,participantName:w.participantName||"User",metadata:w.metadata,modalities:w.modalities||["voice"]};return await i.createSession(j)},endSession:async()=>i?await i.endSession():null,sendChatMessage:async D=>{if(!i)throw new Error("Client not initialized");await i.sendChatMessage(D)},setMicrophoneEnabled:async D=>{if(!i)throw new Error("Client not initialized");await i.setMicrophoneEnabled(D)},setCameraEnabled:async D=>{if(!i)throw new Error("Client not initialized");await i.setCameraEnabled(D)},startScreenShare:async()=>{if(!i)throw new Error("Client not initialized");await i.startScreenShare()},stopScreenShare:async()=>{if(!i)throw new Error("Client not initialized");await i.stopScreenShare()}};return h.jsx(ag.Provider,{value:$,children:t})}function dn(){const e=A.useContext(ag);if(!e)throw new Error("useVoxket must be used within a VoxketProvider");return e}class BM extends Ql{constructor(n){super();st(this,"room",null);st(this,"registeredMethods",new Map);st(this,"activeInteractions",new Map);st(this,"currentInteraction",null);n&&this.setRoom(n)}setRoom(n){this.room=n}async registerFrontendRPC(n,r,i="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 s={methodName:n,component:r,presentationMode:i};this.registeredMethods.set(n,s);try{this.room.registerRpcMethod(n,async o=>{console.log(`RpcManager: RPC method '${n}' called by ${o.callerIdentity}`),console.log("RpcManager: Payload:",o.payload),this.emit("rpc.method.called",{methodName:n,data:o});let a;console.log(`RpcManager: Current registration for '${n}':`,s);let l=o.responseTimeout||30;try{a=JSON.parse(o.payload)}catch{a=o.payload}try{const c=await this.awaitUserInteraction(n,r,i,a,l);return JSON.stringify(c)}catch(c){throw console.error(`RpcManager: Error in RPC method '${n}':`,c),c}}),this.emit("rpc.method.registered",{methodName:n}),console.log(`RpcManager: Successfully registered RPC method: ${n}`)}catch(o){throw console.error(`RpcManager: Failed to register RPC method '${n}':`,o),o}}async awaitUserInteraction(n,r,i,s,o){return new Promise((a,l)=>{const c=`${n}_${Date.now()}`;console.log(`RpcManager: Starting user interaction for method: ${n}, timeout: ${o} seconds`);const u={didSuccess:(f,p)=>{console.log(`RpcManager: User interaction successful for method: ${n}`,f),this.clearInteraction(c),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}),a(g)},didFail:f=>{console.log(`RpcManager: User interaction failed for method: ${n}`,f),this.clearInteraction(c);const p={success:!1,message:"User interaction failed",error:f,timestamp:new Date};this.emit("rpc.interaction.completed",{methodName:n,response:p}),a(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(c),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),a(f)},didTimeout:f=>{console.log(`RpcManager: User interaction timeout for method: ${n}`),this.clearInteraction(c),this.currentInteraction=null;const p={success:!0,message:`User interaction timed out after ${o} 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),a(p)}},d=setTimeout(()=>{u.didTimeout&&u.didTimeout()},o);this.activeInteractions.set(c,{resolve:f=>a(JSON.parse(f)),reject:l,timeoutId:d}),this.currentInteraction={isVisible:!0,methodName:n,component:r,presentationMode:i,timeout:o,data:s,handler:u},this.emit("rpc.interaction.started",{methodName:n,presentationMode:i}),setTimeout(async()=>{var f;if((f=this.currentInteraction)!=null&&f.handler)try{console.log(`RpcManager: Component created for method: ${n} with data:`,s)}catch(p){console.error("RpcManager: Error loading data into component:",p),u.didFail({error:"Failed to load data into component"})}},100)})}clearInteraction(n){const r=this.activeInteractions.get(n);r&&(console.log(`RpcManager: Clearing interaction: ${n}`),clearTimeout(r.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,r]of this.activeInteractions)clearTimeout(r.timeoutId);this.activeInteractions.clear(),this.registeredMethods.clear(),this.currentInteraction=null,console.log("RpcManager: Cleared all registrations and interactions")}}class We extends Error{constructor(t,n,r){super(t),this.code=n,this.details=r,this.name="VoxketError"}}const Nn=new WeakSet,Yo=new WeakSet;class ki extends Ql{constructor(n){super();st(this,"config");st(this,"room",null);st(this,"pluginManager");st(this,"rpcManager");st(this,"isConnected",!1);st(this,"currentSession",null);st(this,"connectionState",ce.ConnectionState.Disconnected);st(this,"renderedComponents",new Map);st(this,"textStreamHandlersRegistered",!1);st(this,"currentAgentInfo",null);st(this,"chatMessages",[]);st(this,"activeTranscriptions",new Map);st(this,"isAgentConnected",!1);st(this,"agentState","idle");this.config=n,this.pluginManager=new og(this),this.rpcManager=new BM,this.setupEventListeners(),this.initializeClient()}setupEventListeners(){this.on("connection.connected",()=>{var n,r;this.isConnected=!0,(r=(n=this.config).onConnected)==null||r.call(n)}),this.on("connection.disconnected",n=>{var r,i;this.isConnected=!1,(i=(r=this.config).onDisconnected)==null||i.call(r,n)}),this.on("connection.error",n=>{var r,i;(i=(r=this.config).onError)==null||i.call(r,n)}),this.on("chat.message.received",n=>{var r,i;this.addChatMessage(n),(i=(r=this.config).onMessageReceived)==null||i.call(r,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 r,i;(i=(r=this.config).onTranscriptionReceived)==null||i.call(r,n)}),this.on("session.state.changed",n=>{var r,i;(i=(r=this.config).onSessionStateChanged)==null||i.call(r,n)}),this.on("session.created",n=>{var r,i;(i=(r=this.config).onSessionStart)==null||i.call(r,n.id)}),this.on("session.ended",(n,r)=>{var i,s;(s=(i=this.config).onSessionEnd)==null||s.call(i,r)}),this.on("participant.joined",n=>{var r,i;(i=(r=this.config).onUserJoined)==null||i.call(r,n.id)}),this.on("participant.left",n=>{var r,i;(i=(r=this.config).onUserLeft)==null||i.call(r,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 ce.Room,this.setupRoomEventListeners()}setupRoomEventListeners(){this.room&&(this.room.on(ce.RoomEvent.Connected,()=>{var n,r;this.connectionState=ce.ConnectionState.Connected,this.emit("connection.connected"),this.rpcManager.setRoom(this.room),(r=(n=this.currentSession)==null?void 0:n.activeModalities)!=null&&r.includes("voice")&&setTimeout(async()=>{var i;try{(i=this.room)!=null&&i.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(s){console.warn("VoxketClient: Failed to enable microphone after room connection:",s)}},1e3),this.textStreamHandlersRegistered||this.setupTextStreamHandlers()}),this.room.on(ce.RoomEvent.Disconnected,n=>{var r;console.log("๐ด VoxketClient: Room disconnected, reason:",n),this.connectionState=ce.ConnectionState.Disconnected,this.textStreamHandlersRegistered=!1,this.isAgentConnected=!1,console.log("๐ค VoxketClient: Agent marked as disconnected"),this.clearChatMessages(),n&&console.log("๐ VoxketClient: Disconnect reason details:",{reason:n.toString(),currentSession:(r=this.currentSession)==null?void 0:r.id,agentConnected:this.isAgentConnected,connectionState:this.connectionState}),this.emit("connection.disconnected",n==null?void 0:n.toString())}),this.room.on(ce.RoomEvent.ConnectionStateChanged,n=>{this.connectionState=n,n===ce.ConnectionState.Connecting&&this.emit("connection.connecting")}),this.room.on(ce.RoomEvent.ParticipantConnected,n=>{const r={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.joined",r)}),this.room.on(ce.RoomEvent.ParticipantDisconnected,n=>{const r={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.left",r)}),this.room.on(ce.RoomEvent.LocalTrackPublished,n=>{console.log("๐ฌ VoxketClient: Local track published:",n.source),n.source===ce.Track.Source.ScreenShare&&this.emit("track.unmuted",{source:"screenShare",enabled:!0})}),this.room.on(ce.RoomEvent.LocalTrackUnpublished,n=>{console.log("๐ฌ VoxketClient: Local track unpublished:",n.source),n.source===ce.Track.Source.ScreenShare&&this.emit("track.muted",{source:"screenShare",enabled:!1})}))}setupTextStreamHandlers(){if(!this.room)return;try{this.room.registerTextStreamHandler("lk.chat",async(r,i)=>{try{const s=await r.readAll(),o={id:`msg_${Date.now()}_${i.identity||"user"}_${Math.random().toString(36).substr(2,9)}`,content:s,timestamp:new Date,sender:{id:i.identity||"user",name:i.identity||"User",type:"participant"},metadata:{topic:"lk.chat"}};this.emit("chat.message.received",o)}catch(s){console.error("VoxketClient: Failed to process lk.chat message:",s)}})}catch(r){console.warn("VoxketClient: lk.chat handler already registered, skipping:",r)}try{console.log("๐ VoxketClient: Registering lk.transcription handler..."),this.room.registerTextStreamHandler("lk.transcription",async(r,i)=>{var s,o,a,l,c,u;console.log("๐ VoxketClient: Received transcription stream from:",i.identity);try{console.log("๐ VoxketClient: Processing transcription stream...");const d=i.identity===((o=(s=this.room)==null?void 0:s.localParticipant)==null?void 0:o.identity),f=Date.now(),p=i.identity,g=this.activeTranscriptions.get(p);let m,x=!0;g&&f-g.timestamp<1e3?(m=g.messageId,x=!1,console.log("๐ VoxketClient: Reusing existing transcription message ID:",m)):(m=`msg_${d?"user":"agent"}_${i.identity}_${f}`,this.activeTranscriptions.set(p,{messageId:m,timestamp:f}),console.log("๐ VoxketClient: Created new transcription message ID:",m));let y="";console.log("๐ VoxketClient: Current agent info:",this.currentAgentInfo);const k=((a=this.currentAgentInfo)==null?void 0:a.name)||i.identity||"AI Assistant";console.log("๐ VoxketClient: Using agent name:",k);const E=d?"participant":"agent",_=d?this.config.participantName||"User":k;console.log("๐ VoxketClient: Transcription sender info:",{participantIdentity:i.identity,localParticipantIdentity:(c=(l=this.room)==null?void 0:l.localParticipant)==null?void 0:c.identity,isFromUser:d,senderType:E,senderName:_});const v={id:m,content:"",timestamp:new Date,sender:{id:i.identity||"unknown",name:_,type:E},metadata:{topic:"lk.transcription",streaming:!0}};x&&this.emit("chat.message.received",v),console.log("๐ VoxketClient: Starting to read transcription stream...");for await(const O of r){console.log("๐ VoxketClient: Received chunk:",O.length,"chars"),y+=O;const b=this.convertMarkdownToText(y),R={...v,content:b,metadata:{...v.metadata,streaming:!0}};this.emit("chat.message.updated",R)}const C=this.convertMarkdownToText(y),M={...v,content:C,metadata:{...v.metadata,streaming:!1}};this.emit("chat.message.updated",M);const N={id:m,text:C,isFinal:!0,startTime:v.timestamp.getTime(),participantId:i.identity||"agent"};this.emit("transcription.received",N),console.log("๐ VoxketClient: Emitted transcription event:",N)}catch(d){console.error("VoxketClient: Failed to process lk.transcription message:",d);try{const f=await r.readAll(),p=((u=this.currentAgentInfo)==null?void 0:u.name)||i.identity||"AI Assistant",g={id:`msg_${Date.now()}_agent_transcription_${Math.random().toString(36).substr(2,9)}`,content:f,timestamp:new Date,sender:{id:i.identity||"agent",name:p,type:"agent"},metadata:{topic:"lk.transcription"}};this.emit("chat.message.received",g);const m={id:g.id,text:g.content,isFinal:!0,startTime:g.timestamp.getTime(),participantId:i.identity||"agent"};this.emit("transcription.received",m),console.log("๐ VoxketClient: Emitted fallback transcription event:",m)}catch(f){console.error("VoxketClient: Fallback failed for lk.transcription:",f)}}})}catch(r){console.warn("VoxketClient: lk.transcription handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("suggested_response",async r=>{const i=await r.readAll();let s=[];try{s=["tes","hello how are you","algebra make me learn that ","what is the meaning of life"]}catch(o){console.warn("VoxketClient: Failed to parse suggested_response:",o,i)}this.emit("suggested.response",s)})}catch(r){console.warn("VoxketClient: suggested_response handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("agent_state_changed",async(r,i)=>{const s=await r.readAll();console.log("๐ค VoxketClient: agent_state_changed stream received:",s);let o={};try{o=typeof s=="string"?JSON.parse(s.replace(/'/g,'"')):s}catch(a){console.warn("VoxketClient: Failed to parse agent_state_changed:",a,s)}this.isAgentConnected||(this.isAgentConnected=!0,console.log("๐ค VoxketClient: Agent marked as connected (first state change received)"),this.emit("agent.connected",o)),o.new_state==="speaking"?(this.setAgentState("speaking"),this.emit("agent.speaking",o)):o.new_state==="thinking"?(this.setAgentState("thinking"),this.emit("agent.thinking",o)):(o.new_state==="idle"||o.new_state==="listening")&&this.setAgentState("idle")})}catch(r){console.warn("VoxketClient: conversation_item_added handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("function_tools_executed",async(r,i)=>{const s=await r.readAll();console.log("๐ ๏ธ VoxketClient: function_tool_executed stream received:",s);let o={};try{if(typeof s=="string")try{o=JSON.parse(s)}catch{let l=s;l=l.replace(/\bTrue\b/g,"true"),l=l.replace(/\bFalse\b/g,"false"),l=l.replace(/\bNone\b/g,"null"),l=l.replace(/'([^']*?)'/g,(c,u)=>`"${u.replace(/"/g,'\\"')}"`),o=JSON.parse(l)}else o=s}catch(a){console.warn("VoxketClient: Failed to parse function_tool_executed:",a,s),o={type:"function_tools_executed",function_calls:[],function_call_outputs:[],created_at:Date.now()/1e3,parseError:!0,rawData:s}}this.emit("tool.executed",o)})}catch(r){console.warn("VoxketClient: function_tool_executed handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("images",async(r,i)=>{try{const s=await r.readAll()}catch(s){console.error("VoxketClient: Error processing images stream:",s)}})}catch(r){console.warn("VoxketClient: images handler already registered, skipping:",r)}try{this.room.registerByteStreamHandler("images",async(r,i)=>{var s,o;try{const a=r.info,l={id:`img_${Date.now()}_${i.identity||"agent"}_${Math.random().toString(36).substr(2,9)}`,content:`๏ฟฝ๏ธ ${a.name||"Image"}`,sender:{id:i.identity||"agent",name:i.identity||"Agent",type:i.identity===((o=(s=this.room)==null?void 0:s.localParticipant)==null?void 0:o.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",l),r.onProgress&&(r.onProgress=p=>{const g={...l,metadata:{...l.metadata,downloadProgress:p||0}};this.emit("chat.message.updated",g)});const c=[];for await(const p of r)c.push(p);const u=new Blob(c,{type:a.mimeType||"application/octet-stream"}),d=URL.createObjectURL(u),f={...l,metadata:{...l.metadata,downloading:!1,downloadProgress:1,downloadUrl:d,blob:u}};this.emit("chat.message.updated",f)}catch(a){console.error("VoxketClient: Error processing image attachment:",a)}})}catch(r){console.warn("VoxketClient: image handler already registered, skipping:",r)}["error","warning","status","system","debug","info"].forEach(r=>{try{this.room.registerTextStreamHandler(r,async(i,s)=>{try{const o=await i.readAll();if(console.log(`๐ VoxketClient: Received '${r}' stream:`,o),r==="error"){let a={};try{a=typeof o=="string"?JSON.parse(o):o}catch{a={message:o}}console.warn("๏ฟฝ VoxketClient: Agent error:",a),this.emit("agent.error",a)}else this.emit("text.stream.received",{topic:r,data:o,participantInfo:s})}catch(o){console.error(`VoxketClient: Failed to process '${r}' stream:`,o)}})}catch(i){console.warn(`VoxketClient: Handler for '${r}' already registered, skipping:`,i)}});try{this.room.registerTextStreamHandler("*",async(r,i)=>{var s;try{const o=await r.readAll(),a=((s=r.info)==null?void 0:s.topic)||"unknown";console.log(`๐ VoxketClient: Received unhandled text stream for topic '${a}':`,o),this.emit("text.stream.unhandled",{topic:a,data:o,participantInfo:i})}catch(o){console.error("VoxketClient: Failed to process unhandled text stream:",o)}})}catch(r){console.warn("VoxketClient: Generic text stream handler already registered, skipping:",r)}this.textStreamHandlersRegistered=!0}async fetchConnectionDetails(n,r,i,s){const o=n||this.config.agentId||"default-agent",a=r||this.config.participantName||"User",l=i||this.config.modalities||["voice"],c=s||this.config.participantMetadata||{user_id:""};try{const u={agent_id:o,participant_name:a,participant_metadata:c,modality:l[0],modalities:l};console.log("๐ VoxketClient: Creating session with modalities:",l);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(u)});if(!d.ok){let g=`HTTP ${d.status}: Failed to fetch connection details`;try{const m=await d.json();m&&(m.error?g=`API Error: ${m.error}`:m.detail?g=`API Error: ${m.detail}`:m.message&&(g=`API Error: ${m.message}`))}catch{try{const x=await d.text();x&&(g=`API Error: ${x}`)}catch{}}throw new Error(g)}const f=await d.json();let p;return f.agent_info&&(p={id:f.agent_info.agent_info.id,name:f.agent_info.agent_info.name,capabilities:f.agent_info.capabilities,modality_supported:f.agent_info.modality_supported,session_settings:f.agent_info.session_settings||{}},this.currentAgentInfo=p),{serverUrl:f.wss_url,participantToken:f.token,voxketSessionId:f.session_id,agentInfo:p}}catch(u){console.error("VoxketClient: fetchConnectionDetails failed:",u);const d=new We(`Failed to fetch connection details: ${u instanceof Error?u.message:"Unknown error"}`,"CONNECTION_FAILED",u);throw this.emit("connection.error",d),d}}async connect(n,r,i,s){var o;try{this.emit("connection.connecting");const a=await this.fetchConnectionDetails(n,r,i,s);return await((o=this.room)==null?void 0:o.connect(a.serverUrl,a.participantToken)),this.isConnected=!0,a}catch(a){console.error("VoxketClient: Connection failed:",a);const l=new We(`Failed to connect to Voxket services: ${a instanceof Error?a.message:"Unknown error"}`,"CONNECTION_FAILED",a);throw this.emit("connection.error",l),l}}async disconnect(){var n;try{console.log("๐ VoxketClient: Starting disconnect process..."),this.room&&(console.log("๐ VoxketClient: Disconnecting from room:",{roomState:this.room.state,numParticipants:this.room.numParticipants,sessionId:(n=this.currentSession)==null?void 0:n.id}),await this.room.disconnect()),this.isConnected=!1,this.currentSession=null,this.currentAgentInfo=null,this.textStreamHandlersRegistered=!1,this.clearChatMessages(),console.log("๐ VoxketClient: Creating new room instance..."),this.room=new ce.Room,this.setupRoomEventListeners(),console.log("โ
VoxketClient: Disconnect completed successfully"),this.emit("connection.disconnected")}catch(r){console.error("โ VoxketClient: Disconnect failed:",r);const i=new We("Failed to disconnect properly","NETWORK_ERROR",r);throw this.emit("connection.error",i),i}}async createSession(n){var r,i,s,o;try{const a=await this.connect(n.agentId,n.participantName,n.modalities,n.participantMetadata),l={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=l,this.emit("session.created",l),(r=n.modalities)!=null&&r.includes("voice"))try{await new Promise(c=>setTimeout(c,500)),(i=this.room)!=null&&i.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(c){console.warn("VoxketClient: Failed to enable microphone, but continuing with session:",c)}if((s=n.modalities)!=null&&s.includes("video"))try{await new Promise(c=>setTimeout(c,200)),(o=this.room)!=null&&o.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(c){console.warn("VoxketClient: Failed to enable camera, but continuing with session:",c)}return setTimeout(()=>{var c;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:((c=this.room)==null?void 0:c.remoteParticipants.size)||0}))},1e3),l}catch(a){throw console.error("VoxketClient: Failed to create session:",a),a instanceof We?a:a instanceof TypeError&&a.message.includes("fetch")?new We("Network connection failed","CONNECTION_FAILED",a):a instanceof Error&&a.message.includes("Failed to fetch connection details")?new We(`API connection failed: ${a.message}`,"CONNECTION_FAILED",a):new We(`Failed to create session: ${a instanceof Error?a.message:"Unknown error"}`,"SESSION_NOT_FOUND",a)}}async startSession(n,r){const i={agentId:n||this.config.agentId||"default-agent",participantName:(r==null?void 0:r.participantName)||this.config.participantName||"User",modalities:(r==null?void 0:r.modalities)||this.config.modalities||["voice","chat"],metadata:r==null?void 0:r.metadata,participantMetadata:r==null?void 0:r.participantMetadata};return this.createSession(i)}async endSession(){var n,r;if(!this.currentSession)return null;try{const i={sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((r=this.room)==null?void 0:r.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,i),await this.disconnect(),i}catch(i){throw new We("Failed to end session","SESSION_NOT_FOUND",i)}}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 r of n){const i=r.getTrackPublication(ce.Track.Source.Microphone);if(i!=null&&i.track)return{source:ce.Track.Source.Microphone,participant:r,publication:i}}return null}getAgentVideoTrack(){const n=this.getRemoteParticipants();for(const r of n){const i=r.getTrackPublication(ce.Track.Source.Camera);if(i!=null&&i.track)return{source:ce.Track.Source.Camera,participant:r,publication:i}}return null}getVideoTrackRefs(){const n=[],r=this.getLocalParticipant();if(r){const s=r.getTrackPublication(ce.Track.Source.Camera);s!=null&&s.track&&n.push({source:ce.Track.Source.Camera,participant:r,publication:s});const o=r.getTrackPublication(ce.Track.Source.ScreenShare);o!=null&&o.track&&n.push({source:ce.Track.Source.ScreenShare,participant:r,publication:o})}const i=this.getRemoteParticipants();for(const s of i){const o=s.getTrackPublication(ce.Track.Source.Camera);o!=null&&o.track&&n.push({source:ce.Track.Source.Camera,participant:s,publication:o});const a=s.getTrackPublication(ce.Track.Source.ScreenShare);a!=null&&a.track&&n.push({source:ce.Track.Source.ScreenShare,participant:s,publication:a})}return n}getCameraTrackRefs(){return this.getVideoTrackRefs().filter(n=>n.source===ce.Track.Source.Camera)}getScreenShareTrackRefs(){return this.getVideoTrackRefs().filter(n=>n.source===ce.Track.Source.ScreenShare)}getChatMessages(){return[...this.chatMessages]}addChatMessage(n){this.chatMessages.some(i=>i.id===n.id)||this.chatMessages.push(n)}updateChatMessage(n){const r=this.chatMessages.findIndex(i=>i.id===n.id);r!==-1&&(this.chatMessages[r]=n)}clearChatMessages(){this.chatMessages=[],this.activeTranscriptions.clear(),this.dismissCurrentInteraction(),this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays(),console.log("๐งน VoxketClient: Cleared chat messages and transcription history"),this.emit("chat.history.cleared")}renderUI(n={}){var o,a,l,c,u,d,f,p,g;const r=this.resolveTarget(n.target||"body"),i=this.getTargetKey(r);if(Yo.has(r)){console.warn("โ ๏ธ VoxketClient: Target is already being processed, skipping renderUI");return}if(Nn.has(r)){console.log("โ VoxketClient: Target already has a React root in registry, updating existing props...");const m=this.renderedComponents.get(i);if(m&&m.root){const x={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:((o=n.modality)==null?void 0:o.includes("chat"))!==!1,suportsVideoInput:((a=n.modality)==null?void 0:a.includes("video"))===!0,suportsScreenShare:((l=n.modality)==null?void 0:l.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,participantMetadata:n.participantMetadata};try{m.root.render(A.createElement(is,{config:this.config,autoConnect:n.autoStart||!1,client:this,children:A.createElement(ss,x)})),console.log("โ
VoxketClient: Successfully updated existing widget with new props");return}catch(y){throw console.error("Error re-rendering existing widget:",y),new Error(`Failed to update existing widget: ${y instanceof Error?y.message:"Unknown error"}`)}}else console.warn("โ ๏ธ Registry inconsistency detected, cleaning up"),Nn.delete(r)}let s=this.renderedComponents.get(i);if(s&&s.target===r&&Nn.has(r)){console.log("๐ VoxketClient: Reusing existing React root for target:",i);const m=s.root,x={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:((u=n.modality)==null?void 0:u.includes("video"))===!0,suportsScreenShare:((d=n.modality)==null?void 0:d.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,participantMetadata:n.participantMetadata};try{m.render(A.createElement(is,{config:this.config,autoConnect:n.autoStart||!1,client:this,children:A.createElement(ss,x)}))}catch(y){throw console.error("Error rendering Voxket widget:",y),new Error(`Failed to render Voxket widget: ${y instanceof Error?y.message:"Unknown error"}`)}return}Yo.add(r);try{if(s){console.log("๐งน VoxketClient: Cleaning up existing component for different target");try{s.root.unmount(),this.renderedComponents.delete(i),Nn.delete(s.target),r.innerHTML=""}catch(y){console.warn("Failed to cleanup existing root:",y)}}if(Nn.has(r)){console.warn("โ ๏ธ VoxketClient: Target already in registry, skipping root creation");return}console.log("๐ VoxketClient: Creating new React root for target:",i);const m=Hg.createRoot(r);this.renderedComponents.set(i,{root:m,target:r}),Nn.add(r);const x={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:((f=n.modality)==null?void 0:f.includes("chat"))!==!1,suportsVideoInput:((p=n.modality)==null?void 0:p.includes("video"))===!0,suportsScreenShare:((g=n.modality)==null?void 0:g.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,participantMetadata:n.participantMetadata};if(!m||typeof m.render!="function")throw new Error("Invalid React root. Make sure React 18+ is properly installed and configured.");try{m.render(A.createElement(is,{config:this.config,autoConnect:n.autoStart||!1,client:this,children:A.createElement(ss,x)}))}catch(y){throw console.error("Error rendering Voxket widget:",y),new Error(`Failed to render Voxket widget: ${y instanceof Error?y.message:"Unknown error"}`)}}finally{Yo.delete(r)}}removeUI(n){var i;const r=n?this.resolveTarget(n):null;if(r){const s=this.getTargetKey(r),o=this.renderedComponents.get(s);if(o){console.log("๐๏ธ VoxketClient: Removing UI for target:",s),this.renderedComponents.delete(s),Nn.delete(r);try{const l=o.target;l&&l.isConnected?(typeof((i=o.root)==null?void 0:i.unmount)=="function"&&(o.root.unmount(),console.log("โ
VoxketClient: UI unmounted for target:",s)),l.hasChildNodes()&&(l.innerHTML="")):console.log("โน๏ธ VoxketClient: Target element already disconnected, skipping unmount")}catch(l){console.warn("Failed to unmount React root:",l)}}else console.log("โน๏ธ VoxketClient: No component found for target, cleaning registry:",s),Nn.delete(r),r.isConnected&&r.hasChildNodes()&&(r.innerHTML="");r.querySelectorAll('[id*="voxket"], [class*="voxket"], .fixed.inset-0.z-50').forEach(l=>{try{l.remove()}catch(c){console.warn("Failed to remove element:",c)}}),r===document.body&&r.querySelectorAll(".fixed.z-50, .fixed.inset-0").forEach(c=>{if(c.classList.contains("bg-black")&&(c.classList.contains("backdrop-blur-sm")||c.classList.contains("bg-opacity-30")))try{c.remove()}catch(u){console.warn("Failed to remove fixed element:",u)}})}}removeAllUI(){for(const[n,r]of this.renderedComponents)r.root.unmount();this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays()}forceCleanupFullscreenOverlays(){document.body.querySelectorAll(".fixed.inset-0.z-50").forEach(r=>{if(r.classList.contains("bg-black")&&(r.classList.contains("backdrop-blur-sm")||r.classList.contains("bg-opacity-30")))try{r.remove()}catch(i){console.warn("Failed to remove overlay:",i)}})}resolveTarget(n){if(typeof n=="string"){const r=document.querySelector(n);if(!r)throw new Error(`Target element not found: ${n}`);return r}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,r){var i;if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new We("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new We("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new We("No local participant","CONNECTION_FAILED");this.dismissCurrentInteraction();try{const s={id:`msg_${Date.now()}`,content:n,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:r||{}},o=await((i=this.room)==null?void 0:i.localParticipant.sendText(n,{topic:"lk.chat",destinationIdentities:[]}));this.emit("chat.message.sent",s)}catch(s){throw console.error("VoxketClient: Failed to send chat message:",s),new We("Failed to send message","NETWORK_ERROR",s)}}async sendChatMessage(n,r){return this.sendMessage(n,r)}async sendAttachments(n,r){if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new We("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new We("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new We("No local participant","CONNECTION_FAILED");if(!n||n.length===0)throw new We("No files provided","INVALID_PARAMETER");this.dismissCurrentInteraction();const i=n.filter(s=>s.type.startsWith("image/"));if(i.length===0)throw new We("Only image files are allowed","INVALID_PARAMETER");i.length!==n.length&&console.warn("VoxketClient: Some non-image files were filtered out");try{const s=i.map(async(o,a)=>{const c={id:`att_${Date.now()}_${a}`,content:`๐ ${o.name}`,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:{...r,type:"attachment",fileName:o.name,fileSize:o.size,mimeType:o.type,uploading:!0}};this.emit("chat.message.sent",c);const u=await this.room.localParticipant.sendFile(o,{mimeType:o.type,topic:"images",onProgress:f=>{const p={...c,metadata:{...c.metadata,uploadProgress:f}};this.emit("chat.message.updated",p)}});try{const f=new FileReader,p=new Promise((x,y)=>{f.onload=()=>{typeof f.result=="string"?x(f.result):y(new Error("Failed to convert to base64"))},f.onerror=y});f.readAsDataURL(o);const m={type:"image",data:await p,filename:o.name,mimeType:o.type,size:o.size};await this.room.localParticipant.sendText(JSON.stringify(m),{topic:"images",destinationIdentities:[]})}catch(f){console.warn("VoxketClient: Failed to send image data to agent:",f);try{const p=`I've shared an image: ${o.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 d={...c,metadata:{...c.metadata,uploading:!1,uploadProgress:1,streamId:u.id}};return this.emit("chat.message.updated",d),u});await Promise.all(s)}catch(s){throw console.error("VoxketClient: Failed to send attachments:",s),new We("Failed to send attachments","NETWORK_ERROR",s)}}async sendAttachment(n,r){return this.sendAttachments([n],r)}toggleMicrophone(n){return this.setMicrophoneEnabled(n!==!1)}async setMicrophoneEnabled(n){var r,i;try{const s=(r=this.room)==null?void 0:r.localParticipant.isMicrophoneEnabled,o=n??!s;await((i=this.room)==null?void 0:i.localParticipant.setMicrophoneEnabled(o)),o?this.emit("track.unmuted",{source:"microphone",enabled:!0}):this.emit("track.muted",{source:"microphone",enabled:!1})}catch(s){throw console.error("VoxketClient: Failed to toggle microphone:",s),new We("Failed to toggle microphone","PERMISSION_DENIED",s)}}toggleCamera(n){return this.setCameraEnabled(n!==!1)}async setCameraEnabled(n){var r,i;try{const s=(r=this.room)==null?void 0:r.localParticipant.isCameraEnabled,o=n??!s;await((i=this.room)==null?void 0:i.localParticipant.setCameraEnabled(o)),o?this.emit("track.unmuted",{source:"camera",enabled:!0}):this.emit("track.muted",{source:"camera",enabled:!1})}catch(s){throw console.error("VoxketClient: Failed to toggle camera:",s),new We("Failed to toggle camera","PERMISSION_DENIED",s)}}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)),this.emit("track.unmuted",{source:"screenShare",enabled:!0})}catch(r){throw new We("Failed to start screen share","PERMISSION_DENIED",r)}}async stopScreenShare(){var n;try{await((n=this.room)==null?void 0:n.localParticipant.setScreenShareEnabled(!1)),this.emit("track.muted",{source:"screenShare",enabled:!1})}catch(r){throw new We("Failed to stop screen share","PERMISSION_DENIED",r)}}async getAudioInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(r=>r.kind==="audioinput")}catch(n){throw new We("Failed to get audio input devices","DEVICE_ERROR",n)}}async getVideoInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(r=>r.kind==="videoinput")}catch(n){throw new We("Failed to get video input devices","DEVICE_ERROR",n)}}async setAudioInputDevice(n){var r;try{if(!((r=this.room)!=null&&r.localParticipant))throw new Error("Not connected to room")}catch(i){throw new We("Failed to set audio input device","DEVICE_ERROR",i)}}async setVideoInputDevice(n){var r;try{if(!((r=this.room)!=null&&r.localParticipant))throw new Error("Not connected to room")}catch(i){throw new We("Failed to set video input device","DEVICE_ERROR",i)}}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 r=n.permissions;if(!r)return{camera:!0,microphone:!0,screenShare:!0,data:!0};const i=s=>!!r.canPublish&&(r.canPublishSources.length===0||r.canPublishSources.includes(s));return{camera:i(1),microphone:i(2),screenShare:i(3),data:r.canPublishData??!1}}canPublishSource(n){return this.getPublishPermissions()[n]}getRoom(){return this.room}getConnectionState(){return this.connectionState}get connected(){return this.isConnected&&this.connectionState===ce.ConnectionState.Connected}getMicrophoneTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,r]of n.trackPublications)if(r.source===ce.Track.Source.Microphone)return r.track;return null}getCameraTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,r]of n.trackPublications)if(r.source===ce.Track.Source.Camera)return r.track;return null}getScreenShareTrack(){const n=this.getLocalParticipant();if(!n)return console.log("๐ฌ VoxketClient: getScreenShareTrack - no local participant"),null;for(const[,r]of n.trackPublications)if(r.source===ce.Track.Source.ScreenShare)return console.log("๐ฌ VoxketClient: getScreenShareTrack - found screen share track:",{trackSid:r.trackSid,isMuted:r.isMuted,hasTrack:!!r.track}),r.track;return console.log("๐ฌ VoxketClient: getScreenShareTrack - no screen share track found"),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(),r=n?!n.isMuted:!1;return console.log("๐ฌ VoxketClient: isScreenShareEnabled check:",{hasTrack:!!n,trackMuted:n==null?void 0:n.isMuted,enabled:r}),r}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(r=>{n.push({id:r.identity,name:r.name||r.identity,isLocal:!1})}),n}getSessionMetrics(){var n,r;return this.currentSession?{sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((r=this.room)==null?void 0:r.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(r){throw new We("Failed to start recording","RECORDING_ERROR",r)}}async stopRecording(){var n;try{this.emit("recording.stopped",{sessionId:(n=this.currentSession)==null?void 0:n.id,timestamp:new Date})}catch(r){throw new We("Failed to stop recording","RECORDING_ERROR",r)}}async registerFrontendRPC(n,r,i="embedded"){return this.rpcManager.registerFrontendRPC(n,r,i)}getCurrentInteraction(){return this.rpcManager.getCurrentInteraction()}dismissCurrentInteraction(){this.rpcManager.dismissCurrentInteraction()}getRegisteredRpcMethods(){return this.rpcManager.getRegisteredMethods()}unregisterRpcMethod(n){this.rpcManager.unregisterMethod(n)}setParticipantMetadata(n){this.config.participantMetadata=n}getParticipantMetadata(){return this.config.participantMetadata}registerEventListener(n,r){return this.on(n,r)}registerEventEmitter(n,r){if(!this.room)throw new Error("Room not available");try{this.room.registerTextStreamHandler(n,async i=>{try{const s=await i.readAll();r(s)}catch(s){console.error(`Error processing event for topic '${n}':`,s)}})}catch(i){console.warn(`VoxketClient: Handler for topic '${n}' may already be registered:`,i)}}convertMarkdownToText(n){if(!n)return"";let r=n;return r=r.replace(/\*\*(.*?)\*\*/g,"$1"),r=r.replace(/__(.*?)__/g,"$1"),r=r.replace(/\*(.*?)\*/g,"$1"),r=r.replace(/_(.*?)_/g,"$1"),r=r.replace(/~~(.*?)~~/g,"$1"),r=r.replace(/`([^`]+)`/g,"$1"),r=r.replace(/```[\s\S]*?```/g,""),r=r.replace(/^#{1,6}\s+/gm,""),r=r.replace(/\[([^\]]+)\]\([^)]+\)/g,"$1"),r.trim()}}const $M=Ae.create(Fm),VM=Ae.create(Vl),zM=Ae.create(eA),UM=Ae.create(ig);function HM({theme:e,mode:t,loadingText:n}){const r=Et(e),i=()=>{switch(t){case"voice":return n||"Connecting to voice agent...";case"chat":return n||"Starting chat session...";case"video":return n||"Connecting to video call...";default:return n||"Connecting..."}};return h.jsxs("div",{className:"flex flex-col items-center justify-center h-full w-full p-8",children:[h.jsxs("div",{className:"text-center",children:[h.jsx("h3",{className:`text-lg font-semibold mb-2 ${r.text.accent}`,children:i()}),h.jsx("p",{className:`text-sm ${r.text.muted}`,children:"Please wait a moment..."})]}),h.jsxs("div",{className:"flex space-x-1 mt-4",children:[h.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce bg-blue-500",style:{animationDelay:"0ms"}}),h.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce bg-blue-500",style:{animationDelay:"150ms"}}),h.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce bg-blue-500",style:{animationDelay:"300ms"}})]})]})}const WM=Ae.create(HM);function GM({onClick:e,text:t="Open Chat",position:n="bottom-right",theme:r}){const i={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"},s=Et(r);return h.jsx(Ae.button,{onClick:e,className:`voxket-popup-trigger fixed ${i[n]} z-50 px-4 py-2 rounded-full shadow-lg ${s.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},"data-position":n,children:t})}function bf({children:e,theme:t,displayType:n="widget",onClose:r,popupPosition:i="bottom-right",onExpand:s}){const o=Et(t);if(n==="fullscreen")return h.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&&r&&r()},children:h.jsxs("div",{className:"w-full h-full max-w-7xl max-h-[95vh] rounded-2xl relative bg-transparent flex flex-col",onClick:a=>{a.stopPropagation()},children:[r&&h.jsx("button",{onClick:a=>{a.preventDefault(),a.stopPropagation(),r()},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:h.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.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"})})}),h.jsxs("div",{id:"voice-card",className:`voxket-widget-root theme-${t} ${o.card} w-full h-full flex flex-col rounded-xl shadow-2xl relative overflow-hidden`,"data-theme":t,style:{minHeight:"600px",height:"100%",contain:"layout style paint",overscrollBehavior:"contain"},children:[h.jsx("div",{className:o.cardTopGradient}),h.jsx("div",{className:o.cardPurpleBlur}),h.jsx("div",{className:o.cardPinkBlur}),h.jsx("div",{className:"relative z-10 flex flex-col h-full",children:e}),h.jsx("div",{className:o.cardPulse1}),h.jsx("div",{className:o.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 h.jsx("div",{className:"fixed rounded-2xl inset-0 z-[9999] pointer-events-none",children:h.jsxs("div",{className:`fixed rounded-2xl ${a[i]} pointer-events-auto`,children:[r&&h.jsx("button",{onClick:r,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:"ร"}),h.jsxs("div",{id:"voice-card",className:`voxket-widget-root theme-${t} ${o.card} rounded-2xl flex flex-col relative overflow-hidden`,"data-theme":t,style:{width:"350px",height:"500px",contain:"layout style paint",overscrollBehavior:"contain"},children:[h.jsx("div",{className:o.cardTopGradient}),h.jsx("div",{className:o.cardPurpleBlur}),h.jsx("div",{className:o.cardPinkBlur}),h.jsx("div",{className:"relative z-10 flex flex-col h-full w-full",children:e}),h.jsx("div",{className:o.cardPulse1}),h.jsx("div",{className:o.cardPulse2,style:{animationDelay:"1s"}})]})]})})}return h.jsxs("div",{id:"voice-card",className:`voxket-widget-root theme-${t} ${o.card} relative overflow-hidden w-full h-full`,"data-theme":t,style:{height:"100%",maxHeight:"100%",contain:"layout style paint",overscrollBehavior:"contain"},children:[h.jsx("div",{className:o.cardTopGradient}),h.jsx("div",{className:o.cardPurpleBlur}),h.jsx("div",{className:o.cardPinkBlur}),h.jsx("div",{className:"relative z-10 flex flex-col h-full w-full",children:e}),h.jsx("div",{className:o.cardPulse1}),h.jsx("div",{className:o.cardPulse2,style:{animationDelay:"1s"}})]})}function KM(e){if(typeof window>"u")return null;const{agentId:t,participantName:n,baseUrl:r,appSecret:i,appId:s,prompts:o,statusMessage:a,welcomeTitle:l,welcomeSubTitle:c,className:u,width:d,height:f,loadingText:p,suportsChatInput:g=!0,suportsVideoInput:m=!0,suportsScreenShare:x=!0,theme:y="vox",onSessionStart:k,onSessionEnd:E,enableSessionLogging:_=!0,onSessionLogsUpdate:v,onSessionMetricsUpdate:C,modalities:M=["voice"],displayType:N="widget",popupPosition:O="bottom-right",popupTriggerText:b="Open Chat",onPopupToggle:R,voxketClient:I,onDisplayTypeChange:B,participantMetadata:F}=e,[q,ne]=P.useState(!1),[ee,$]=P.useState(null),[D,w]=P.useState(()=>{try{if(I)return!!I.getCurrentSession()}catch(re){console.error("Error checking existing session:",re)}return!1}),[j,Y]=P.useState(!1),[S,H]=P.useState(t||""),[U,Z]=P.useState(n||"User"),[W,ue]=P.useState(()=>{try{if(I)return I.getCurrentSession()}catch(re){console.error("Error getting current session:",re)}return null}),[te,ae]=P.useState(()=>{var re,Fe,qe;try{if(I){const Ye=I.getCurrentSession();if((re=Ye==null?void 0:Ye.activeModalities)!=null&&re.includes("chat"))return"chat";if((Fe=Ye==null?void 0:Ye.activeModalities)!=null&&Fe.includes("voice"))return"voice";if((qe=Ye==null?void 0:Ye.activeModalities)!=null&&qe.includes("video"))return"video"}}catch(Ye){console.error("Error determining current mode:",Ye)}return"welcome"}),[Oe,L]=P.useState(!1);P.useEffect(()=>{N==="fullscreen"&&console.log("๐ฏ Widget: Switched to fullscreen mode")},[N]),P.useEffect(()=>{D&&!j?console.log("๐ Session started:",{currentMode:te,sessionId:W==null?void 0:W.id}):!D&&!j&&te==="welcome"&&console.log("๐ Returned to welcome screen")},[D,te,j]);const K=P.useMemo(()=>{try{if(I)return console.log("๐ Using existing VoxketClient to preserve session state"),I;if(!s||!i||!r){const Fe=`Missing required props: ${s?"":"appId "}${i?"":"appSecret "}${r?"":"baseUrl"}`;return console.error("โ VoxketClient creation failed:",Fe),$(new Error(Fe)),ne(!0),null}const re={appId:s,appSecret:i,baseUrl:r,agentId:S,participantName:U||"User",modalities:M,participantMetadata:F};return console.log("๐ง Creating new VoxketClient with config:",{appId:s.substring(0,8)+"...",baseUrl:r,agentId:S,participantName:U||"User",modalities:M}),new ki(re)}catch(re){return console.error("โ Failed to create VoxketClient:",re),$(re),ne(!0),null}},[I,s,i,r,S,U,M]),Ee=M,le=P.useMemo(()=>{try{if(!K)return console.warn("โ ๏ธ No VoxketClient available, creating fallback room"),new ce.Room;const re=K.getRoom();return console.log("๐ Widget: Room reference updated:",{roomExists:!!re,roomState:re==null?void 0:re.state,sessionStarted:D,currentMode:te}),re||new ce.Room}catch(re){return console.error("โ Error getting room from client:",re),new ce.Room}},[K,D,te]);P.useEffect(()=>{if(le){const re=()=>{console.log("๐ Widget: Room state changed:",{state:le.state,numParticipants:le.numParticipants,isConnected:le.state==="connected",sessionId:W==null?void 0:W.id})},Fe=(qe,Ye,St)=>{console.log("๐ต Widget: Track subscribed:",{trackKind:qe.kind,trackSource:qe.source,participantSid:St.sid,participantIdentity:St.identity,sessionId:W==null?void 0:W.id})};return le.on(ce.RoomEvent.Connected,re),le.on(ce.RoomEvent.Disconnected,re),le.on(ce.RoomEvent.TrackSubscribed,Fe),()=>{le.off(ce.RoomEvent.Connected,re),le.off(ce.RoomEvent.Disconnected,re),le.off(ce.RoomEvent.TrackSubscribed,Fe)}}},[le,W==null?void 0:W.id]),P.useEffect(()=>{!j&&te==="welcome"?console.log("๐ฌ Widget: Welcome screen ready"):D&&te!=="welcome"&&console.log("๐ฌ Widget: Session mode active:",te)},[te,j,D]),P.useEffect(()=>{(te==="voice"||te==="video"||te==="chat")&&!W&&!D&&!j&&K&&!K.connected&&(console.log("๐ Auto-correcting: Found orphaned mode without session, returning to welcome"),ae("welcome"),Y(!1))},[te,W,D,j,K]);const{sessionMetrics:se,sessionLogs:ye,logEvent:ve}=sg({room:le,onSessionStart:k,onSessionEnd:E,enableConsoleLogging:_,enableLocalStorage:_,voxketSessionId:W==null?void 0:W.id});P.useEffect(()=>{v&&v(ye)},[ye,v]),P.useEffect(()=>{C&&se&&C(se)},[se,C]),P.useEffect(()=>{if(!K)return;const re=()=>{const Fe=K.connected,qe=K.getCurrentSession();console.log("๐ Connection state changed:",{isConnected:Fe,currentSessionId:qe==null?void 0:qe.id,currentMode:te,loading:j,sessionStarted:D}),!Fe&&D&&!j&&(console.log("๐ด Connection lost during active session - returning to welcome"),Y(!1),w(!1),ue(null),ae("welcome")),Fe&&qe&&j&&(console.log("๐ข Connected with active session - removing loader"),Y(!1),w(!0),ue(qe))};return K.on("connectionStateChanged",re),K.on("sessionEnded",()=>{console.log("๐ Session ended - returning to welcome"),Y(!1),w(!1),ue(null),ae("welcome")}),()=>{K.off("connectionStateChanged",re),K.off("sessionEnded",()=>{})}},[K,te,j,D]),P.useEffect(()=>{const re=qe=>{console.log("๐ด Widget: Room disconnected:",qe),console.log("๐ Widget: Current state on disconnect:",{currentMode:te,sessionStarted:D,currentSessionId:W==null?void 0:W.id,loading:j}),Y(!1),w(!1),ue(null),ae("welcome"),console.log("๐ Widget: Automatically returning to welcome screen after disconnect")},Fe=qe=>{console.log("๐น Media devices error:",qe)};return le.on(ce.RoomEvent.MediaDevicesError,Fe),le.on(ce.RoomEvent.Disconnected,re),()=>{le.off(ce.RoomEvent.Disconnected,re),le.off(ce.RoomEvent.MediaDevicesError,Fe)}},[le,te,D,W==null?void 0:W.id,j]);const ke=async()=>{try{if(!K){console.error("โ VoxketClient not available"),$(new Error("VoxketClient not initialized")),ne(!0);return}Y(!0),ae("voice"),console.log("๐ค Starting voice session...",{agentId:S,participantName:U}),console.log("๐ค Pre-start state:",{currentMode:"voice",sessionStarted:!1,loading:!0}),ve("USER_STARTED_VOICE_SESSION",{agentId:S,participantName:U});const re=await K.startSession(S,{participantName:U||"User",modalities:["voice",...m?["video"]:[]],participantMetadata:K.getParticipantMetadata()||F});console.log("โ
Voice session started successfully:",re.id),ue(re),w(!0),Y(!1),k&&k(re.id)}catch(re){console.error("โ Failed to start voice session:",re),Y(!1),w(!1),ae("welcome")}},lt=async()=>{try{if(!K){console.error("โ VoxketClient not available"),$(new Error("VoxketClient not initialized")),ne(!0);return}Y(!0),ae("chat"),console.log("๐ฌ Starting chat session...",{agentId:S,participantName:U}),ve("USER_STARTED_CHAT_SESSION",{agentId:S,participantName:U});const re=await K.startSession(S,{participantName:U||"User",modalities:["chat"],participantMetadata:K.getParticipantMetadata()||F});console.log("โ
Chat session started successfully:",re.id),ue(re),w(!0),Y(!1),k&&k(re.id)}catch(re){console.error("โ Failed to start chat session:",re),Y(!1),w(!1),ae("welcome")}},kt=async()=>{try{if(!K){console.error("โ VoxketClient not available"),$(new Error("VoxketClient not initialized")),ne(!0);return}Y(!0),ae("video"),console.log("๐บ Starting video session...",{agentId:S,participantName:U}),console.log("๐บ Pre-start state:",{currentMode:"video",sessionStarted:!1,loading:!0}),ve("USER_STARTED_VIDEO_SESSION",{agentId:S,participantName:U});const re=await K.startSession(S,{participantName:U||"User",modalities:["video","voice"],participantMetadata:K.getParticipantMetadata()||F});console.log("โ
Video session started successfully:",re.id),ue(re),w(!0),Y(!1),k&&k(re.id)}catch(re){console.error("โ Failed to start video session:",re),Y(!1),w(!1),ae("welcome")}},Ke=()=>{ae("welcome"),Y(!1),B&&B(e.displayType||"widget"),W&&D?(console.log("๐งน Widget: Cleaning up active session"),w(!1),ue(null),K&&(console.log("๐ Widget: Disconnecting client and cleaning up room"),K.disconnect().catch(re=>{console.error("โ Widget: Error during disconnect:",re)}))):(console.log("๐ Widget: No active session to clean up"),K&&K.connected&&(console.log("๐ Widget: Force disconnecting client for fresh state"),K.disconnect().catch(re=>{console.error("โ Widget: Error during force disconnect:",re)}))),N==="popup"&&!Oe&&L(!0),console.log("โ
Widget: handleBackToWelcome completed",{newCurrentMode:"welcome",newLoading:!1,newSessionStarted:!1})},ct=()=>{const re=!Oe;L(re),R&&R(re),!re&&!(W&&D)&&(ae("welcome"),w(!1),ue(null))},xt=()=>{console.log("๐ Closing fullscreen, switching to widget display type"),e.onDisplayTypeChange?e.onDisplayTypeChange("widget"):console.warn("โ ๏ธ No onDisplayTypeChange callback provided")},fn=()=>{if(console.log("๐ Expand to fullscreen requested"),e.onDisplayTypeChange)e.onDisplayTypeChange("fullscreen");else{console.warn("โ ๏ธ No onDisplayTypeChange callback provided for expand functionality");const re=document.getElementById("voice-card")||document.querySelector(".voxket-widget-container");re&&re.requestFullscreen&&re.requestFullscreen().catch(Fe=>{console.warn("โ ๏ธ Fullscreen API not supported or failed:",Fe)})}};P.useEffect(()=>{var re,Fe,qe;if(I&&K){const Ye=K.getCurrentSession();K.connected,Ye&&(console.log("โ
Restoring session state:",Ye.id),ue(Ye),w(!0),Y(!1),(re=Ye.activeModalities)!=null&&re.includes("chat")?ae("chat"):(Fe=Ye.activeModalities)!=null&&Fe.includes("voice")?ae("voice"):(qe=Ye.activeModalities)!=null&&qe.includes("video")&&ae("video"))}},[I,K]),P.useEffect(()=>()=>{!I&&K&&K.disconnect()},[K,I]);let V=te==="video"?"w-[32rem]":"w-96",Q=te==="video"?"h-[30rem]":"h-[25rem]",xe={};if(d&&(d.startsWith("w-")?V=d:(xe.width=d,V="")),f&&(f.startsWith("h-")?Q=f:(xe.height=f,Q="")),N==="popup"&&!Oe)return console.log("๐ก Showing popup trigger button"),h.jsx(GM,{onClick:ct,text:b,position:O,theme:y});if(q||!K){const re=(ee==null?void 0:ee.message)||"VoxketWidget encountered an error. Please check your configuration.";return h.jsx("div",{className:`voxket-widget-root theme-${y} flex items-center justify-center p-8 ${u||""}`,style:{width:d||"400px",height:f||"500px",border:"1px solid #ff4444",borderRadius:"8px",background:"#fff5f5",color:"#cc0000"},children:h.jsxs("div",{className:"text-center",children:[h.jsx("div",{className:"text-4xl mb-4",children:"โ ๏ธ"}),h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Widget Error"}),h.jsx("p",{className:"text-sm mb-4",children:re}),h.jsx("button",{onClick:()=>{ne(!1),$(null),window.location.reload()},className:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors",children:"Retry"})]})})}let Te=`voxket-widget-root theme-${y}`,De={scrollMargin:0,scrollPadding:0,contain:"layout style paint"};N==="widget"?(Te+=` flex min-h-fit ${V} ${Q} ${u}`,De={...De,...xe}):(Te=`${u||""}`,De={});const Nt=h.jsx("div",{className:"h-full w-full flex flex-col overflow-hidden relative z-10",children:h.jsxs(Sr,{mode:"wait",children:[te==="welcome"&&!j&&h.jsx(UM,{agentId:S,participantName:U||"",onAgentIdChange:H,onParticipantNameChange:Z,onStartCall:ke,onStartChat:lt,onStartVideo:kt,disabled:D||j,prompts:o,statusMessage:a,title:l,subTitle:c,theme:y,modalities:Ee,initial:{opacity:0,y:0},animate:{opacity:1,y:0},exit:{opacity:0,y:40},transition:{duration:.3,ease:"easeInOut"}},"welcome"),j&&(te==="voice"||te==="chat"||te==="video")&&h.jsx(WM,{theme:y,mode:te,loadingText:p,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.3,ease:"easeInOut"}},`loading-${te}`),te==="voice"&&!j&&D&&K&&h.jsxs(Ft.RoomContext.Provider,{value:le,children:[h.jsx(Ft.RoomAudioRenderer,{},`audio-${(W==null?void 0:W.id)||"no-session"}`),h.jsx(Ft.StartAudio,{label:"Start Audio"},`start-audio-${(W==null?void 0:W.id)||"no-session"}`),h.jsx($M,{loadingText:p,participantName:U||"User",sessionStarted:D,disabled:!1,theme:y,client:K,displayType:N,onBack:N==="popup"?ct:Ke,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"voice-session")]}),te==="chat"&&!j&&D&&K&&h.jsx(VM,{client:K,theme:y,displayType:N,onBack:N==="popup"?ct:Ke,onEndChat:Ke,disabled:!1,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"chat-view"),te==="video"&&!j&&D&&K&&h.jsxs(Ft.RoomContext.Provider,{value:le,children:[h.jsx(Ft.RoomAudioRenderer,{},`audio-video-${(W==null?void 0:W.id)||"no-session"}`),h.jsx(Ft.StartAudio,{label:"Start Audio"},`start-audio-video-${(W==null?void 0:W.id)||"no-session"}`),h.jsx(zM,{client:K,theme:y,displayType:N,onBack:N==="popup"?ct:Ke,onEndCall:Ke,disabled:!1,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"video-session")]})]})});return N==="fullscreen"||N==="popup"?h.jsx(bf,{theme:y,displayType:N,popupPosition:O,onClose:N==="fullscreen"?xt:ct,children:Nt}):h.jsx("div",{className:Te,style:De,children:h.jsx(bf,{theme:y,displayType:N,popupPosition:O,onExpand:fn,children:Nt})})}function ss(e){return h.jsx(Xl,{children:h.jsx(KM,{...e})})}function qM({logs:e,onClear:t,onExport:n}){const[r,i]=A.useState(!1),[s,o]=A.useState(""),a=e.filter(l=>!s||l.event.toLowerCase().includes(s.toLowerCase()));return r?h.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:h.jsxs("div",{className:"bg-white rounded-lg shadow-xl max-w-4xl w-full max-h-[80vh] flex flex-col m-4",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[h.jsxs("h2",{className:"text-lg font-semibold",children:["Session Logs (",e.length,")"]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"text",placeholder:"Filter events...",value:s,onChange:l=>o(l.target.value),className:"px-3 py-1 border rounded text-sm"}),h.jsx("button",{onClick:t,className:"px-3 py-1 bg-red-600 text-white rounded text-sm hover:bg-red-700",children:"Clear"}),h.jsx("button",{onClick:n,className:"px-3 py-1 bg-green-600 text-white rounded text-sm hover:bg-green-700",children:"Export"}),h.jsx("button",{onClick:()=>i(!1),className:"px-3 py-1 bg-gray-600 text-white rounded text-sm hover:bg-gray-700",children:"Close"})]})]}),h.jsx("div",{className:"flex-1 overflow-auto p-4",children:a.length===0?h.jsx("p",{className:"text-gray-500 text-center py-8",children:"No logs found"}):h.jsx("div",{className:"space-y-2",children:a.map((l,c)=>h.jsxs("div",{className:"border rounded p-3 text-sm",children:[h.jsxs("div",{className:"flex items-center justify-between mb-1",children:[h.jsx("span",{className:"font-semibold text-blue-600",children:l.event}),h.jsx("span",{className:"text-gray-500 text-xs",children:new Date(l.timestamp).toLocaleTimeString()})]}),l.sessionId&&h.jsxs("div",{className:"text-xs text-gray-600 mb-1",children:["Session: ",l.sessionId]}),l.data&&h.jsx("div",{className:"bg-gray-50 p-2 rounded text-xs",children:h.jsx("pre",{className:"whitespace-pre-wrap overflow-auto",children:JSON.stringify(l.data,null,2)})})]},c))})})]})}):h.jsxs("button",{onClick:()=>i(!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 YM({metrics:e}){return e?h.jsxs("div",{className:"bg-gray-100 p-4 rounded-lg",children:[h.jsx("h3",{className:"font-semibold mb-2",children:"Current Session"}),h.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Session ID:"}),h.jsx("div",{className:"font-mono text-xs",children:e.sessionId})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Start Time:"}),h.jsx("div",{children:new Date(e.startTime).toLocaleString()})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Messages:"}),h.jsx("div",{children:e.totalMessages})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Participants:"}),h.jsx("div",{children:e.participantCount})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Connection Issues:"}),h.jsx("div",{children:e.connectionIssues})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Duration:"}),h.jsxs("div",{children:[Math.round((Date.now()-new Date(e.startTime).getTime())/1e3),"s"]})]})]})]}):null}function er(){const{currentSession:e,sessionState:t,sessionMetrics:n,createSession:r,endSession:i}=dn(),s=A.useCallback(async(a,l)=>await r(a,l),[r]),o=A.useCallback(async()=>await i(),[i]);return{session:e,state:t,metrics:n,isActive:e!==null&&t!=="disconnected",isConnecting:t==="connecting",isConnected:t==="connected"||t==="active",start:s,stop:o}}function lg(){const{sessionMetrics:e,currentSession:t}=dn();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 cg(){const{setMicrophoneEnabled:e,client:t}=dn(),[n,r]=A.useState(!1),[i,s]=A.useState(!1),o=A.useCallback(async()=>{if(!i){s(!0);try{const c=!n;await e(c),r(c)}catch(c){console.error("Failed to toggle microphone:",c)}finally{s(!1)}}},[n,i,e]),a=A.useCallback(async()=>{if(!(n||i)){s(!0);try{await e(!0),r(!0)}catch(c){console.error("Failed to enable microphone:",c)}finally{s(!1)}}},[n,i,e]),l=A.useCallback(async()=>{if(!(!n||i)){s(!0);try{await e(!1),r(!1)}catch(c){console.error("Failed to disable microphone:",c)}finally{s(!1)}}},[n,i,e]);return{isEnabled:n,isLoading:i,toggle:o,enable:a,disable:l}}function ug(){const{setCameraEnabled:e}=dn(),[t,n]=A.useState(!1),[r,i]=A.useState(!1),s=A.useCallback(async()=>{if(!r){i(!0);try{const l=!t;await e(l),n(l)}catch(l){console.error("Failed to toggle camera:",l)}finally{i(!1)}}},[t,r,e]),o=A.useCallback(async()=>{if(!(t||r)){i(!0);try{await e(!0),n(!0)}catch(l){console.error("Failed to enable camera:",l)}finally{i(!1)}}},[t,r,e]),a=A.useCallback(async()=>{if(!(!t||r)){i(!0);try{await e(!1),n(!1)}catch(l){console.error("Failed to disable camera:",l)}finally{i(!1)}}},[t,r,e]);return{isEnabled:t,isLoading:r,toggle:s,enable:o,disable:a}}function dg(){const{startScreenShare:e,stopScreenShare:t}=dn(),[n,r]=A.useState(!1),[i,s]=A.useState(!1),o=A.useCallback(async()=>{if(!(n||i)){s(!0);try{await e(),r(!0)}catch(c){console.error("Failed to start screen share:",c)}finally{s(!1)}}},[n,i,e]),a=A.useCallback(async()=>{if(!(!n||i)){s(!0);try{await t(),r(!1)}catch(c){console.error("Failed to stop screen share:",c)}finally{s(!1)}}},[n,i,t]),l=A.useCallback(async()=>{n?await a():await o()},[n,o,a]);return{isSharing:n,isLoading:i,start:o,stop:a,toggle:l}}function ZM(){const{client:e}=dn(),[t,n]=A.useState({tracks:[],layout:{type:"grid",showLocalVideo:!0,aspectRatio:"16:9"},isRecording:!1}),r=A.useMemo(()=>t.tracks.find(m=>m.isLocal),[t.tracks]),i=A.useMemo(()=>t.tracks.filter(m=>!m.isLocal),[t.tracks]),s=A.useCallback(async()=>{try{r!=null&&r.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,r]),o=A.useCallback(async()=>{try{t.tracks.find(x=>x.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=A.useCallback(m=>{n(x=>({...x,layout:m}))},[]),l=A.useCallback(m=>{n(x=>({...x,pinnedTrack:m}))},[]),c=A.useCallback(()=>{n(m=>({...m,pinnedTrack:void 0}))},[]),u=A.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]),d=A.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]),f=A.useCallback(m=>t.tracks.find(x=>x.id===m),[t.tracks]),p=A.useCallback(m=>t.tracks.filter(x=>x.participantId===m),[t.tracks]),g=A.useCallback(m=>m.isEnabled&&t.tracks.includes(m),[t.tracks]);return A.useEffect(()=>{if(!e)return;const m=k=>{n(E=>({...E,tracks:[...E.tracks.filter(_=>_.id!==k.id),k]}))},x=k=>{n(E=>{var _;return{...E,tracks:E.tracks.filter(v=>v.id!==k),pinnedTrack:((_=E.pinnedTrack)==null?void 0:_.id)===k?void 0:E.pinnedTrack}})},y=k=>{n(E=>({...E,tracks:E.tracks.map(_=>_.id===k.id?k:_)}))};return e.on("videoTrackAdded",m),e.on("videoTrackRemoved",x),e.on("videoTrackUpdated",y),()=>{e.off("videoTrackAdded",m),e.off("videoTrackRemoved",x),e.off("videoTrackUpdated",y)}},[e]),{tracks:t.tracks,localTrack:r,remoteTraracks:i,pinnedTrack:t.pinnedTrack,layout:t.layout,isRecording:t.isRecording,toggleCamera:s,toggleScreenShare:o,setLayout:a,pinTrack:l,unpinTrack:c,startRecording:u,stopRecording:d,getTrackById:f,getTracksByParticipant:p,isTrackActive:g}}function Gs(){const{chatMessages:e,sendChatMessage:t,currentSession:n}=dn(),[r,i]=A.useState(!1),s=A.useCallback(async c=>{if(!(!c.trim()||r||!n)){i(!0);try{await t(c.trim())}catch(u){throw console.error("Failed to send chat message:",u),u}finally{i(!1)}}},[t,r,n]),{userMessages:o,agentMessages:a,allMessages:l}=A.useMemo(()=>{const c=e.filter(d=>d.sender.type==="participant"),u=e.filter(d=>d.sender.type==="agent");return{userMessages:c,agentMessages:u,allMessages:e}},[e]);return{messages:l,userMessages:o,agentMessages:a,messageCount:l.length,isSending:r,canSend:!!n&&!r,send:s}}function XM(){const{send:e,isSending:t,canSend:n}=Gs(),[r,i]=A.useState(""),s=A.useCallback(async()=>{if(!(!r.trim()||!n))try{await e(r),i("")}catch(a){throw a}},[r,e,n]),o=A.useCallback(a=>{a.key==="Enter"&&!a.shiftKey&&(a.preventDefault(),s())},[s]);return{value:r,setValue:i,send:s,handleKeyPress:o,isSending:t,canSend:n&&r.trim().length>0}}function ec(){const{isConnected:e,isConnecting:t,connectionError:n,connect:r,disconnect:i}=dn(),s=A.useCallback(async()=>{if(!(e||t))try{await r()}catch(a){throw console.error("Failed to connect:",a),a}},[r,e,t]),o=A.useCallback(async()=>{if(e)try{await i()}catch(a){throw console.error("Failed to disconnect:",a),a}},[i,e]);return{isConnected:e,isConnecting:t,isDisconnected:!e&&!t,error:n,hasError:!!n,connect:s,disconnect:o}}function fg(){const{participants:e}=dn();return{participants:e,count:e.length,localParticipant:e.find(t=>t.isLocal),remoteParticipants:e.filter(t=>!t.isLocal)}}const hg=A.createContext({}),Si=()=>A.useContext(hg);function pg({children:e,...t}){return h.jsx(hg.Provider,{value:t,children:e})}function os({name:e,children:t,fallback:n,className:r}){return h.jsx("div",{className:`voxket-slot voxket-slot--${e} ${r||""}`,children:t||n})}function mg(e,t={}){return Object.assign(e,t)}function gg({showMicrophoneControl:e=!0,showCameraControl:t=!0,showScreenShareControl:n=!0,showSessionActions:r=!0,customControls:i,className:s=""}){const o=er(),a=cg(),l=ug(),c=dg(),u=Si(),d=["voxket-session-controls",`voxket-session-controls--${u.variant||"default"}`,`voxket-session-controls--${u.size||"md"}`,o.isActive?"voxket-session-controls--active":"voxket-session-controls--inactive",s].filter(Boolean).join(" ");return!o.isActive&&!r?h.jsx("div",{className:d,children:h.jsx("div",{className:"voxket-controls-inactive",children:h.jsx("p",{children:"Controls available during active session"})})}):h.jsxs("div",{className:d,children:[r&&h.jsx("div",{className:"voxket-session-actions",children:o.isActive?h.jsx("button",{onClick:o.stop,className:"voxket-button voxket-button--danger",children:"End Session"}):h.jsx(QM,{})}),o.isActive&&h.jsxs("div",{className:"voxket-media-controls",children:[e&&h.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:[h.jsx("span",{className:"voxket-icon",children:"๐ค"}),a.isLoading?"Loading...":a.isEnabled?"Mute":"Unmute"]}),t&&h.jsxs("button",{onClick:l.toggle,disabled:l.isLoading,className:`voxket-button voxket-button--media ${l.isEnabled?"voxket-button--active":""}`,title:l.isEnabled?"Stop camera":"Start camera",children:[h.jsx("span",{className:"voxket-icon",children:"๐น"}),l.isLoading?"Loading...":l.isEnabled?"Stop Video":"Start Video"]}),n&&h.jsxs("button",{onClick:c.toggle,disabled:c.isLoading,className:`voxket-button voxket-button--media ${c.isSharing?"voxket-button--active":""}`,title:c.isSharing?"Stop screen share":"Start screen share",children:[h.jsx("span",{className:"voxket-icon",children:"๐ฅ๏ธ"}),c.isLoading?"Loading...":c.isSharing?"Stop Share":"Share Screen"]})]}),i&&h.jsx("div",{className:"voxket-custom-controls",children:i})]})}function QM(){er();const[e,t]=A.useState(!1),n=async()=>{t(!0);try{console.log("Start session - agentId needed")}catch(r){console.error("Failed to start session:",r)}finally{t(!1)}};return h.jsx("button",{onClick:n,disabled:e,className:"voxket-button voxket-button--primary",children:e?"Starting...":"Start Session"})}function tc({showConnectionStatus:e=!0,showSessionInfo:t=!0,showAgentInfo:n=!0,className:r=""}){const i=er(),s=ec(),o=Si(),a=["voxket-session-header",`voxket-session-header--${o.variant||"default"}`,`voxket-session-header--${o.size||"md"}`,r].filter(Boolean).join(" ");return h.jsxs("div",{className:a,children:[e&&h.jsxs("div",{className:"voxket-connection-status",children:[h.jsx("div",{className:`voxket-status-indicator ${s.isConnected?"connected":"disconnected"}`}),h.jsx("span",{className:"voxket-status-text",children:s.isConnecting?"Connecting...":s.isConnected?"Connected":"Disconnected"})]}),t&&i.session&&h.jsxs("div",{className:"voxket-session-info",children:[h.jsxs("div",{className:"voxket-session-id",children:["Session: ",i.session.id.slice(-8)]}),h.jsxs("div",{className:"voxket-session-state",children:["State: ",i.state]})]}),n&&i.session&&h.jsxs("div",{className:"voxket-agent-info",children:[h.jsxs("div",{className:"voxket-agent-id",children:["Agent: ",i.session.agentId]}),h.jsxs("div",{className:"voxket-modalities",children:["Modalities: ",i.session.activeModalities.join(", ")]})]}),s.error&&h.jsxs("div",{className:"voxket-error-message",children:["Error: ",s.error.message]})]})}function nc({showChat:e=!0,showTranscriptions:t=!1,customContent:n,className:r=""}){const i=er(),s=Gs(),o=Si(),a=["voxket-session-content",`voxket-session-content--${o.variant||"default"}`,`voxket-session-content--${o.size||"md"}`,r].filter(Boolean).join(" ");return i.isActive?h.jsx("div",{className:a,children:n||h.jsxs(h.Fragment,{children:[e&&h.jsxs("div",{className:"voxket-chat-container",children:[h.jsxs("div",{className:"voxket-chat-messages",children:[s.messages.map(l=>h.jsxs("div",{className:`voxket-message voxket-message--${l.sender.type}`,children:[h.jsxs("div",{className:"voxket-message-header",children:[h.jsx("span",{className:"voxket-message-sender",children:l.sender.name}),h.jsx("span",{className:"voxket-message-time",children:l.timestamp.toLocaleTimeString()})]}),h.jsx("div",{className:"voxket-message-content",children:l.content})]},l.id)),s.messages.length===0&&h.jsx("div",{className:"voxket-empty-messages",children:h.jsx("p",{children:"No messages yet. Start the conversation!"})})]}),h.jsx(JM,{})]}),t&&h.jsx("div",{className:"voxket-transcriptions",children:h.jsx("div",{className:"voxket-transcription-placeholder",children:h.jsx("p",{children:"Voice transcriptions will appear here"})})})]})}):h.jsx("div",{className:a,children:h.jsx("div",{className:"voxket-inactive-state",children:h.jsxs("div",{className:"voxket-inactive-message",children:[h.jsx("h3",{children:"Start a conversation"}),h.jsx("p",{children:"Begin a session to start chatting with the AI agent"})]})})})}function JM(){const e=Gs(),[t,n]=A.useState(""),r=async()=>{if(!(!t.trim()||!e.canSend))try{await e.send(t),n("")}catch(s){console.error("Failed to send message:",s)}},i=s=>{s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),r())};return h.jsxs("div",{className:"voxket-chat-input",children:[h.jsx("input",{type:"text",value:t,onChange:s=>n(s.target.value),onKeyPress:i,placeholder:"Type your message...",disabled:!e.canSend,className:"voxket-input"}),h.jsx("button",{onClick:r,disabled:!e.canSend||!t.trim(),className:"voxket-send-button",children:e.isSending?"Sending...":"Send"})]})}function rc({showMetrics:e=!0,showParticipants:t=!0,showStatus:n=!0,customFooter:r,className:i=""}){const s=er(),o=lg(),a=fg(),l=Si(),c=["voxket-session-footer",`voxket-session-footer--${l.variant||"default"}`,`voxket-session-footer--${l.size||"md"}`,i].filter(Boolean).join(" ");return s.isActive?h.jsx("div",{className:c,children:r||h.jsxs(h.Fragment,{children:[n&&h.jsxs("div",{className:"voxket-session-status",children:[h.jsx("div",{className:"voxket-status-indicator voxket-status-indicator--active"}),h.jsx("span",{className:"voxket-status-text",children:"Session Active"})]}),e&&o.metrics&&h.jsxs("div",{className:"voxket-session-metrics",children:[h.jsxs("div",{className:"voxket-metric",children:[h.jsx("span",{className:"voxket-metric-label",children:"Duration:"}),h.jsx("span",{className:"voxket-metric-value",children:eI(o.duration||0)})]}),h.jsxs("div",{className:"voxket-metric",children:[h.jsx("span",{className:"voxket-metric-label",children:"Messages:"}),h.jsx("span",{className:"voxket-metric-value",children:o.metrics.messageCount})]})]}),t&&h.jsxs("div",{className:"voxket-participants-info",children:[h.jsxs("span",{className:"voxket-participants-count",children:[a.count," participant",a.count!==1?"s":""]}),a.remoteParticipants.length>0&&h.jsx("div",{className:"voxket-participant-list",children:a.remoteParticipants.map(u=>h.jsx("span",{className:"voxket-participant-name",children:u.name},u.id))})]})]})}):h.jsx("div",{className:c,children:h.jsx("div",{className:"voxket-footer-inactive",children:h.jsx("span",{className:"voxket-status-text",children:"Ready to start session"})})})}function eI(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}:${(n%60).toString().padStart(2,"0")}:${(t%60).toString().padStart(2,"0")}`:`${n}:${(t%60).toString().padStart(2,"0")}`}function tI({agentId:e,sessionConfig:t,autoStart:n=!1,onSessionStart:r,onSessionEnd:i,variant:s="default",size:o="md",theme:a,className:l="",children:c}){var p;const u=er(),d=ec();A.useEffect(()=>{n&&e&&d.isConnected&&!u.isActive&&u.start(e,t).catch(console.error)},[n,e,d.isConnected,u.isActive]),A.useEffect(()=>{var g;(g=u.session)!=null&&g.id&&r&&r(u.session.id)},[(p=u.session)==null?void 0:p.id,r]),A.useEffect(()=>()=>{u.isActive&&i&&u.stop().then(i).catch(console.error)},[]);const f=["voxket-session",`voxket-session--${s}`,`voxket-session--${o}`,u.isActive?"voxket-session--active":"voxket-session--inactive",l].filter(Boolean).join(" ");return h.jsx(pg,{variant:s,size:o,theme:a,className:l,children:h.jsx("div",{className:f,children:c||h.jsxs(h.Fragment,{children:[h.jsx(os,{name:"header",fallback:h.jsx(tc,{})}),h.jsx(os,{name:"content",fallback:h.jsx(nc,{})}),h.jsx(os,{name:"footer",fallback:h.jsx(rc,{})})]})})})}const bg=mg(tI,{Header:tc,Content:nc,Footer:rc,Controls:gg}),Yn={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)"}},La={...Yn,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)"}},Fa={...Yn,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"}},yg=A.createContext(null),xg=()=>{const e=A.useContext(yg);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e};function nI({theme:e="default",themes:t={},children:n,cssVariables:r=!0,className:i=""}){const[s,o]=A.useState(()=>{const f={default:Yn,dark:La,enterprise:Fa,...t};return typeof e=="string"?f[e]||Yn:e}),[a,l]=A.useState(()=>({default:Yn,dark:La,enterprise:Fa,...t})),c=f=>{if(typeof f=="string"){const p=a[f];p&&o(p)}else o(f)},u=f=>{l(p=>({...p,[f.name]:f}))};A.useEffect(()=>{if(r&&typeof document<"u"){const f=document.documentElement;Object.entries(wg(s)).forEach(([p,g])=>{f.style.setProperty(`--voxket-${p}`,g)})}},[s,r]);const d={theme:s,setTheme:c,themes:a,registerTheme:u};return h.jsx(yg.Provider,{value:d,children:h.jsx("div",{className:`voxket-theme voxket-theme--${s.name} ${i}`,children:n})})}function wg(e){const t={},n=(r,i="")=>{for(const[s,o]of Object.entries(r)){const a=i?`${i}-${s}`:s;typeof o=="object"&&o!==null&&!Array.isArray(o)?n(o,a):t[a]=String(o)}};return n(e),t}function rI(e=Yn,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 iI(e){var n;const{theme:t}=xg();return((n=t.components)==null?void 0:n[e])||{}}const sI=Jl("voice-modality","voice",{onActivate:async e=>{const t=e.config;t.enableTranscription&&oI(e),t.enableVoiceActivation&&aI(e,t),console.log("Voice modality activated",t)},onDeactivate:async e=>{console.log("Voice modality deactivated")},onMessage:async(e,t)=>{t.type==="audio"&&lI(e,t)}});function oI(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 aI(e,t){const n=t.silenceThreshold||-50;console.log("Voice activation setup with threshold:",n)}function lI(e,t){console.log("Playing audio response:",t.content)}const cI=Jl("chat-modality","chat",{onActivate:async e=>{const t=e.config;t.enableRichText&&uI(),t.enableFileUpload&&dI(e),t.enableCustomComponents&&fI(),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"?hI(e,t):t.type==="text"&&n.enableRichText&&pI(e,t)}});function uI(e){console.log("Rich text support enabled")}function dI(e){console.log("File upload enabled"),e.on("chat.file.uploaded",t=>{console.log("File uploaded:",t.name)})}function fI(e){console.log("Custom components enabled");const t=new Map;t.set("quick-actions",mI),t.set("form",gI),t.set("card",bI),t.set("chart",yI)}function hI(e,t){const{componentType:n,props:r}=t.metadata;console.log("Rendering custom component:",n,r),e.emit("chat.component.render",{type:n,props:r,timestamp:new Date})}function pI(e,t){console.log("Processing rich text message:",t.content)}function mI(e){return{type:"quick-actions",actions:e.actions||[],layout:e.layout||"horizontal"}}function gI(e){return{type:"form",fields:e.fields||[],submitAction:e.submitAction,validation:e.validation}}function bI(e){return{type:"card",title:e.title,content:e.content,actions:e.actions,variant:e.variant||"default"}}function yI(e){return{type:"chart",chartType:e.chartType||"line",data:e.data,options:e.options}}function as({track:e,participantName:t,showControls:n=!0,showName:r=!0,showMuteIndicator:i=!0,isPinned:s=!1,className:o="",onClick:a,onPin:l,onUnpin:c}){const u=A.useRef(null),[d,f]=A.useState(!1);A.useEffect(()=>{if(!u.current||!e.isEnabled)return;const x=u.current;return x.srcObject=null,()=>{x.srcObject&&(x.srcObject=null)}},[e]);const p=()=>{a==null||a(e)},g=x=>{x.stopPropagation(),s?c==null||c(e):l==null||l(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",s?"voxket-video-tile--pinned":"",e.isEnabled?"":"voxket-video-tile--disabled",d?"voxket-video-tile--hovered":"",o].filter(Boolean).join(" ");return h.jsxs("div",{className:m,onClick:p,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),style:{aspectRatio:e.dimensions?`${e.dimensions.width} / ${e.dimensions.height}`:"16 / 9"},children:[h.jsx("video",{ref:u,className:"voxket-video-element",autoPlay:!0,playsInline:!0,muted:e.isLocal}),!e.isEnabled&&h.jsxs("div",{className:"voxket-video-placeholder",children:[h.jsx("div",{className:"voxket-video-placeholder-icon",children:e.isScreenShare?"๐ฅ๏ธ":"๐น"}),h.jsx("p",{className:"voxket-video-placeholder-text",children:e.isScreenShare?"Screen sharing paused":"Camera off"})]}),h.jsxs("div",{className:"voxket-video-overlay",children:[r&&t&&h.jsxs("div",{className:"voxket-video-name",children:[t,e.isLocal&&" (You)"]}),i&&!e.isEnabled&&h.jsx("div",{className:"voxket-video-mute-indicator",children:"๐"}),n&&(d||s)&&h.jsxs("div",{className:"voxket-video-controls",children:[h.jsx("button",{className:`voxket-video-control-btn ${s?"voxket-video-control-btn--active":""}`,onClick:g,title:s?"Unpin video":"Pin video",children:"๐"}),e.isScreenShare&&h.jsx("div",{className:"voxket-video-indicator",children:"๐ฅ๏ธ"}),e.source&&h.jsx("div",{className:"voxket-video-source",children:e.source})]})]}),!e.isEnabled&&h.jsx("div",{className:"voxket-video-loading",children:h.jsx("div",{className:"voxket-spinner"})})]})}function xI({tracks:e,layout:t,className:n="",onLayoutChange:r,onTrackClick:i,maxVisibleTracks:s=9,showPagination:o=!0}){const[a,l]=A.useState(0),[c,u]=A.useState(null),d=A.useMemo(()=>{let k=[...e];t.type==="speaker"&&c&&(k=[c,...e.filter(v=>v.id!==c.id)]);const E=a*s,_=E+s;return k.slice(E,_)},[e,t,c,a,s]),f=Math.ceil(e.length/s),p=A.useMemo(()=>{const k=d.length;switch(t.type){case"grid":const E=Math.ceil(Math.sqrt(k)),_=Math.ceil(k/E);return{display:"grid",gridTemplateColumns:`repeat(${E}, 1fr)`,gridTemplateRows:`repeat(${_}, 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,d.length]),g=k=>{u(k)},m=()=>{u(null)},x=k=>{r==null||r({...t,type:k})},y=["voxket-video-grid",`voxket-video-grid--${t.type}`,`voxket-video-grid--${d.length}-tracks`,n].filter(Boolean).join(" ");return e.length===0?h.jsx("div",{className:"voxket-video-grid-empty",children:h.jsxs("div",{className:"voxket-video-grid-empty-content",children:[h.jsx("div",{className:"voxket-video-grid-empty-icon",children:"๐น"}),h.jsx("p",{children:"No video tracks available"})]})}):h.jsxs("div",{className:y,children:[h.jsxs("div",{className:"voxket-video-grid-controls",children:[h.jsx("div",{className:"voxket-video-layout-controls",children:["grid","speaker","sidebar","gallery"].map(k=>h.jsx("button",{className:`voxket-layout-btn ${t.type===k?"voxket-layout-btn--active":""}`,onClick:()=>x(k),title:`Switch to ${k} layout`,children:wI(k)},k))}),h.jsxs("div",{className:"voxket-video-count",children:[e.length," participant",e.length!==1?"s":""]})]}),h.jsx("div",{className:"voxket-video-grid-content",style:p,children:t.type==="speaker"&&c?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"voxket-video-speaker-main",children:h.jsx(as,{track:c,participantName:`Participant ${c.participantId}`,isPinned:!0,onClick:i,onUnpin:m})}),h.jsx("div",{className:"voxket-video-speaker-sidebar",children:d.filter(k=>k.id!==c.id).map(k=>h.jsx(as,{track:k,participantName:`Participant ${k.participantId}`,showControls:!1,onClick:i,onPin:g},k.id))})]}):d.map(k=>h.jsx(as,{track:k,participantName:`Participant ${k.participantId}`,isPinned:(c==null?void 0:c.id)===k.id,onClick:i,onPin:g,onUnpin:m},k.id))}),o&&f>1&&h.jsxs("div",{className:"voxket-video-pagination",children:[h.jsx("button",{className:"voxket-pagination-btn",onClick:()=>l(Math.max(0,a-1)),disabled:a===0,children:"โ"}),h.jsxs("span",{className:"voxket-pagination-info",children:["Page ",a+1," of ",f]}),h.jsx("button",{className:"voxket-pagination-btn",onClick:()=>l(Math.min(f-1,a+1)),disabled:a===f-1,children:"โ"})]})]})}function wI(e){switch(e){case"grid":return"โ";case"speaker":return"๐ค";case"sidebar":return"โซธ";case"gallery":return"โก";case"picture-in-picture":return"โง";default:return"โ"}}function vI({localTrack:e,onToggleCamera:t,onToggleScreenShare:n,onLayoutChange:r,showLayoutControls:i=!0,showCameraControls:s=!0,showScreenShareControls:o=!0,className:a=""}){const l=["voxket-video-controls",a].filter(Boolean).join(" "),c=u=>{r==null||r({type:u,showLocalVideo:!0,aspectRatio:"16:9"})};return h.jsxs("div",{className:l,children:[s&&h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Camera"}),h.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:[h.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isEnabled?"๐น":"๐ท"}),h.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isEnabled?"Camera On":"Camera Off"})]}),(e==null?void 0:e.dimensions)&&h.jsxs("div",{className:"voxket-video-info",children:[e.dimensions.width," ร ",e.dimensions.height]})]}),o&&h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Screen Share"}),h.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:[h.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isScreenShare?"๐":"๐ฅ๏ธ"}),h.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isScreenShare?"Stop Sharing":"Share Screen"})]})]}),i&&h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Layout"}),h.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:d,label:f})=>h.jsxs("button",{className:"voxket-layout-control-btn",onClick:()=>c(u),title:`Switch to ${f} layout`,children:[h.jsx("span",{className:"voxket-control-icon",children:d}),h.jsx("span",{className:"voxket-control-label",children:f})]},u))})]}),h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Video Settings"}),h.jsxs("div",{className:"voxket-video-settings",children:[h.jsxs("div",{className:"voxket-setting-group",children:[h.jsx("label",{className:"voxket-setting-label",children:"Quality"}),h.jsxs("select",{className:"voxket-setting-select",children:[h.jsx("option",{value:"high",children:"High (720p)"}),h.jsx("option",{value:"medium",children:"Medium (480p)"}),h.jsx("option",{value:"low",children:"Low (240p)"})]})]}),h.jsxs("div",{className:"voxket-setting-group",children:[h.jsx("label",{className:"voxket-setting-label",children:"Frame Rate"}),h.jsxs("select",{className:"voxket-setting-select",children:[h.jsx("option",{value:"30",children:"30 fps"}),h.jsx("option",{value:"15",children:"15 fps"}),h.jsx("option",{value:"10",children:"10 fps"})]})]}),h.jsxs("div",{className:"voxket-setting-group",children:[h.jsx("label",{className:"voxket-setting-label",children:"Bandwidth"}),h.jsxs("select",{className:"voxket-setting-select",children:[h.jsx("option",{value:"unlimited",children:"Unlimited"}),h.jsx("option",{value:"1000",children:"1 Mbps"}),h.jsx("option",{value:"500",children:"500 Kbps"}),h.jsx("option",{value:"250",children:"250 Kbps"})]})]})]})]}),h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Statistics"}),h.jsxs("div",{className:"voxket-video-stats",children:[h.jsxs("div",{className:"voxket-stat-item",children:[h.jsx("span",{className:"voxket-stat-label",children:"Resolution:"}),h.jsx("span",{className:"voxket-stat-value",children:e!=null&&e.dimensions?`${e.dimensions.width}ร${e.dimensions.height}`:"N/A"})]}),h.jsxs("div",{className:"voxket-stat-item",children:[h.jsx("span",{className:"voxket-stat-label",children:"Source:"}),h.jsx("span",{className:"voxket-stat-value",children:(e==null?void 0:e.source)||"None"})]}),h.jsxs("div",{className:"voxket-stat-item",children:[h.jsx("span",{className:"voxket-stat-label",children:"Status:"}),h.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 vg=({handler:e,loadData:t,data:n,client:r,addLocalMessage:i})=>{const[s,o]=P.useState(null),[a,l]=P.useState(!0),[c,u]=P.useState(!1),[d]=P.useState(Date.now());P.useEffect(()=>{(async()=>{try{if(l(!0),console.log("๐ AssignmentView: Loading assignment data..."),console.log("๐ AssignmentView: Received data from RPC:",n),n&&typeof n=="object"){const x={title:n.title||"Untitled Assignment",description:n.description||"No description provided",estimated_time_of_completion:n.estimated_time_of_completion||"Unknown"};o(x),console.log("๐ AssignmentView: Assignment loaded from RPC data:",x)}}catch(x){console.error("๐ AssignmentView: Error loading assignment:",x),o({title:"Assignment Loading Error",description:"There was an error loading the assignment details. Please try again.",estimated_time_of_completion:"Unknown"})}finally{l(!1)}})()},[n,t]);const f=({message:m,assignment:x})=>{const y=m.toLowerCase().includes("declined"),k=y?"bg-red-50 border-red-200":"bg-green-50 border-green-200",E=y?"text-red-700":"text-green-700",_=y?"โ":"๐";return h.jsxs("div",{className:`max-w-sm mx-auto ${k} border rounded-lg shadow p-3 flex flex-col items-center`,children:[h.jsx("div",{className:"text-2xl mb-2",children:_}),h.jsx("div",{className:`${E} font-semibold text-sm mb-1`,children:m}),h.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:x.title}),h.jsx("div",{className:"text-xs text-gray-500",children:"Thank you for your response!"})]})},p=async()=>{if(!(!s||!e)){u(!0);try{const m={message:"accepted"};console.log("๐ AssignmentView: Assignment accepted:",m),e.didSuccess(m,h.jsx(f,{message:"Assignment accepted!",assignment:s}))}catch(m){console.error("๐ AssignmentView: Error accepting assignment:",m),e.didFail({error:"Failed to accept assignment"})}finally{u(!1)}}},g=async()=>{if(!(!s||!e)){u(!0);try{const m={message:"declined"};console.log("๐ AssignmentView: Assignment declined:",m),e.didSuccess(m,h.jsx(f,{message:"Assignment declined",assignment:s}))}catch(m){console.error("๐ AssignmentView: Error declining assignment:",m),e.didFail({error:"Failed to decline assignment"})}finally{u(!1)}}};return a?h.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:h.jsxs("div",{className:"flex items-center justify-center py-4",children:[h.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-blue-600"}),h.jsx("span",{className:"ml-2 text-xs text-gray-600",children:"Loading assignment..."})]})}):s?h.jsxs("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg overflow-hidden",children:[h.jsx("div",{className:"bg-gradient-to-r from-blue-600 to-purple-600 text-white p-3",children:h.jsx("div",{className:"flex items-center justify-between",children:h.jsx("h3",{className:"text-xs font-semibold text-white truncate",children:s.title})})}),h.jsxs("div",{className:"p-3 text-black",children:[h.jsx("div",{className:"bg-gray-50 rounded p-2 mb-3",children:h.jsx("p",{className:"text-xs text-black leading-snug",children:s.description})}),h.jsx("div",{className:"mb-3 text-black",children:h.jsxs("div",{className:"flex items-center text-xs text-gray-600",children:[h.jsx("span",{className:"text-xs mr-1",children:"๐
"}),h.jsxs("span",{children:["Est: ",s.estimated_time_of_completion]})]})}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:p,disabled:c,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:c?h.jsxs("span",{className:"flex items-center justify-center",children:[h.jsx("div",{className:"animate-spin rounded-full h-2 w-2 border-b-2 border-white mr-1"}),h.jsx("span",{className:"text-xs",children:"Processing..."})]}):"Accept"}),h.jsx("button",{onClick:g,disabled:c,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"})]})]})]}):h.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:h.jsxs("div",{className:"text-center py-4",children:[h.jsx("div",{className:"text-red-600 text-sm font-semibold mb-2",children:"โ ๏ธ Assignment Error"}),h.jsx("p",{className:"text-xs text-gray-600 mb-3",children:"Failed to load assignment details."})]})})};function EI(){const[e,t]=P.useState(null),[n,r]=P.useState([]);P.useEffect(()=>{const a=new ki({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",l=>{console.log("RPC Method Called:",l)}),a.on("rpc.interaction.completed",l=>{console.log("RPC Interaction Completed:",l)}),()=>{a.disconnect()}},[]);const i=async()=>{if(e)try{await e.registerFrontendRPC("give_assignment",vg,"embedded");const a=e.getRegisteredRpcMethods();r(a),console.log("โ
Assignment RPC registered successfully")}catch(a){console.error("โ Failed to register assignment RPC:",a)}},s=async()=>{if(!e)return;const a=({handler:l,timeout:c})=>{const[u,d]=P.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=m=>{d(m)},g=()=>{const m=f.find(x=>x.id===u);l==null||l.didSuccess({selectedProduct:u,productName:m==null?void 0:m.name,price:m==null?void 0:m.price,timestamp:new Date().toISOString()})};return h.jsxs("div",{className:"p-6 bg-white rounded-lg",children:[h.jsx("h3",{className:"text-xl font-bold mb-4",children:"Choose Your Plan"}),h.jsx("p",{className:"text-gray-600 mb-4",children:"Select the plan that best fits your needs:"}),h.jsx("div",{className:"space-y-3 mb-6",children:f.map(m=>h.jsx("div",{onClick:()=>p(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:h.jsxs("div",{className:"flex justify-between items-center",children:[h.jsxs("div",{children:[h.jsx("h4",{className:"font-medium",children:m.name}),h.jsx("p",{className:"text-gray-600 text-sm",children:m.price})]}),h.jsx("div",{className:`w-4 h-4 rounded-full ${u===m.id?"bg-blue-500":"border-2 border-gray-300"}`})]})},m.id))}),h.jsxs("div",{className:"flex justify-end space-x-3",children:[h.jsx("button",{onClick:()=>l==null?void 0:l.dismissView(),className:"px-4 py-2 border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Cancel"}),h.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"})]}),c&&h.jsxs("p",{className:"text-xs text-gray-500 mt-2",children:["Time remaining: ",c," seconds"]})]})};try{await e.registerFrontendRPC("recommend_product",a,"modal");const l=e.getRegisteredRpcMethods();r(l),console.log("โ
Product Recommendation RPC registered successfully")}catch(l){console.error("โ Failed to register product recommendation RPC:",l)}},o=async()=>{if(!e)return;const a=({handler:l})=>{const[c,u]=P.useState(0),[d,f]=P.useState(""),p=()=>{l==null||l.didSuccess({rating:c,comment:d,timestamp:new Date().toISOString()})};return h.jsxs("div",{className:"p-4 bg-white rounded-lg",children:[h.jsx("h3",{className:"text-lg font-semibold mb-3",children:"How was your experience?"}),h.jsxs("div",{className:"mb-4",children:[h.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Rate your experience:"}),h.jsx("div",{className:"flex space-x-1",children:[1,2,3,4,5].map(g=>h.jsx("button",{onClick:()=>u(g),className:`text-2xl ${g<=c?"text-yellow-400":"text-gray-300"}`,children:"โญ"},g))})]}),h.jsxs("div",{className:"mb-4",children:[h.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Additional comments:"}),h.jsx("textarea",{value:d,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..."})]}),h.jsxs("div",{className:"flex justify-end space-x-2",children:[h.jsx("button",{onClick:()=>l==null?void 0:l.dismissView(),className:"px-3 py-1 text-sm border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Skip"}),h.jsx("button",{onClick:p,disabled:c===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 l=e.getRegisteredRpcMethods();r(l),console.log("โ
Feedback RPC registered successfully")}catch(l){console.error("โ Failed to register feedback RPC:",l)}};return h.jsxs("div",{className:"p-6",children:[h.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frontend RPC Examples"}),h.jsxs("div",{className:"space-y-4 mb-6",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Register RPC Methods"}),h.jsxs("div",{className:"space-x-2",children:[h.jsx("button",{onClick:i,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Register Assignment RPC"}),h.jsx("button",{onClick:s,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Register Product Recommendation RPC"}),h.jsx("button",{onClick:o,className:"px-4 py-2 bg-purple-500 text-white rounded hover:bg-purple-600",children:"Register Feedback RPC"})]})]}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Registered Methods"}),n.length>0?h.jsx("ul",{className:"list-disc list-inside space-y-1",children:n.map(a=>h.jsx("li",{className:"text-gray-700",children:h.jsx("code",{className:"bg-gray-100 px-2 py-1 rounded",children:a})},a))}):h.jsx("p",{className:"text-gray-500",children:"No methods registered yet"})]})]}),h.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg",children:[h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"How it works"}),h.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-sm text-gray-700",children:[h.jsxs("li",{children:["Register RPC methods with React components using ",h.jsx("code",{children:"client.registerFrontendRPC()"})]}),h.jsx("li",{children:"When the agent calls an RPC method, the corresponding component will be displayed"}),h.jsx("li",{children:"Users interact with the component, and the response is sent back to the agent"}),h.jsx("li",{children:"Components can be displayed in different modes: embedded, modal, or fullscreen"}),h.jsx("li",{children:"Each component has a timeout and can handle success/failure scenarios"})]})]}),h.jsxs("div",{className:"mt-6 bg-blue-50 p-4 rounded-lg",children:[h.jsx("h3",{className:"text-lg font-semibold mb-2 text-blue-800",children:"Agent Side"}),h.jsx("p",{className:"text-sm text-blue-700 mb-2",children:"On the agent side, you can call these RPC methods like this:"}),h.jsx("pre",{className:"bg-white p-3 rounded text-xs text-gray-800 overflow-x-auto",children:`// Agent calls RPC method
|
|
163
|
+
`,style:{minHeight:"2.5rem",display:o===r?"block":"none"},children:s},o))})}function PM({statusMessage:e,theme:t}){const n=Et(t);return h.jsxs("div",{className:"z-10 flex items-center space-x-2 mt-2 pb-2",children:[h.jsx("div",{className:n.statusIndicator}),h.jsx("span",{className:`text-xs ${n.text.muted}`,children:e})]})}const ig=A.forwardRef(({disabled:e,onStartCall:t,onStartChat:n,onStartVideo:r,prompts:i=['"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:s="Agent is ready",title:o="Choose how to interact",subTitle:a="Ask me anything or give me a task to complete",theme:l="vox",modalities:c=["voice","chat","video"]},u)=>{const d=Et(l),f=c.includes("voice"),p=c.includes("chat"),g=c.includes("video"),m=[f,p,g].filter(Boolean).length;return h.jsxs("div",{className:"flex p-8 flex-col items-center h-full justify-center w-full relative","aria-disabled":e,style:{background:"transparent"},children:[h.jsxs("div",{className:"mt-1 relative flex items-center justify-center mb-8 w-full",style:{minHeight:"120px"},children:[h.jsxs("div",{className:"absolute inset-0 flex items-center justify-center",children:[h.jsx("div",{className:d.pulseRings.ring1}),h.jsx("div",{className:d.pulseRings.ring2,style:{animationDelay:"0.5s"}}),h.jsx("div",{className:d.pulseRings.ring3,style:{animationDelay:"1s"}})]}),h.jsx("div",{className:"relative z-10 flex items-center justify-center",children:f&&p&&g?h.jsxs("div",{className:"flex gap-4 items-center justify-center",children:[h.jsx(Zi,{onClick:t,disabled:e,theme:l}),h.jsx(Ko,{onClick:n,disabled:e,theme:l}),h.jsx(qo,{onClick:r||t,disabled:e,theme:l})]}):m>1?h.jsxs("div",{className:"flex gap-6 items-center justify-center",children:[f&&h.jsx(Zi,{onClick:t,disabled:e,theme:l}),p&&h.jsx(Ko,{onClick:n,disabled:e,theme:l}),g&&r&&h.jsx(qo,{onClick:r,disabled:e,theme:l})]}):h.jsx("div",{className:"flex items-center justify-center",children:f?h.jsx(Zi,{onClick:t,disabled:e,theme:l}):p?h.jsx(Ko,{onClick:n,disabled:e,theme:l}):g&&r?h.jsx(qo,{onClick:r,disabled:e,theme:l}):h.jsx(Zi,{onClick:t,disabled:e,theme:l})})})]}),h.jsxs("div",{className:"text-center flex flex-col items-center gap-y-2 mb-6 w-full",children:[h.jsx("h3",{className:`text-xl font-semibold mb-2 ${d.text.accent}`,children:o}),h.jsx("p",{className:`text-sm leading-relaxed px-4 ${d.text.secondary}`,children:a}),m>1&&h.jsxs("div",{className:"flex gap-6 mt-4 text-xs justify-center",children:[f&&h.jsxs("div",{className:"flex flex-col items-center gap-1",children:[h.jsx(ng,{className:"w-4 h-4"}),h.jsx("span",{className:d.text.muted,children:"Voice"})]}),p&&h.jsxs("div",{className:"flex flex-col items-center gap-1",children:[h.jsx(tg,{className:"w-4 h-4"}),h.jsx("span",{className:d.text.muted,children:"Chat"})]}),g&&h.jsxs("div",{className:"flex flex-col items-center gap-1",children:[h.jsx(rg,{className:"w-4 h-4"}),h.jsx("span",{className:d.text.muted,children:"Video"})]})]})]}),h.jsx(OM,{prompts:i,theme:l}),h.jsx(PM,{statusMessage:s,theme:l})]})});ig.displayName="Welcome";class Xl 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 sg({room:e,onSessionEnd:t,onSessionStart:n,enableConsoleLogging:r=!0,enableLocalStorage:i=!0,voxketSessionId:s}={}){const[o,a]=P.useState(null),[l,c]=P.useState([]),[u,d]=P.useState(null),[f,p]=P.useState([]),g=P.useCallback((k,E)=>{const _={timestamp:new Date,event:k,data:E,sessionId:o==null?void 0:o.sessionId,participantId:u==null?void 0:u.identity};if(c(v=>[...v,_]),i){const v=JSON.parse(localStorage.getItem("voxket-session-logs")||"[]");v.push(_),localStorage.setItem("voxket-session-logs",JSON.stringify(v))}return _},[o==null?void 0:o.sessionId,u==null?void 0:u.identity,r,i]);P.useEffect(()=>{if(!e)return;const k=()=>{const b=s||`session-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,R=new Date,I={sessionId:b,startTime:R,totalMessages:0,connectionIssues:0,participantCount:f.length,events:[]};a(I),g("SESSION_STARTED",{sessionId:b,startTime:R}),n==null||n(b)},E=()=>{if(o){const b=new Date,R=b.getTime()-o.startTime.getTime(),I={...o,endTime:b,duration:R,events:l};g("SESSION_ENDED",{sessionId:o.sessionId,duration:`${Math.round(R/1e3)}s`,totalMessages:o.totalMessages,connectionIssues:o.connectionIssues}),t==null||t(I),a(null),c([])}},_=b=>{g("CONNECTION_STATE_CHANGED",{state:b}),b===ce.ConnectionState.Reconnecting&&o&&(a(R=>R?{...R,connectionIssues:R.connectionIssues+1}:null),g("CONNECTION_ISSUE",{type:"reconnecting"}))},v=b=>{g("TRACK_PUBLISHED",{trackKind:b.kind,trackSource:b.source})},C=b=>{g("TRACK_UNPUBLISHED",{trackKind:b.kind,trackSource:b.source})},M=(b,R)=>{o&&a(I=>I?{...I,totalMessages:I.totalMessages+1}:null),g("DATA_RECEIVED",{participantId:R==null?void 0:R.identity,dataSize:b.length})},N=b=>{g("PARTICIPANT_CONNECTED",{participantId:b.identity,participantName:b.name}),p(R=>[...R,b]),o&&a(R=>R?{...R,participantCount:R.participantCount+1}:null)},O=b=>{g("PARTICIPANT_DISCONNECTED",{participantId:b.identity,participantName:b.name}),p(R=>R.filter(I=>I.identity!==b.identity))};return e.localParticipant&&d(e.localParticipant),e.on(ce.RoomEvent.Connected,k),e.on(ce.RoomEvent.Disconnected,E),e.on(ce.RoomEvent.ConnectionStateChanged,_),e.on(ce.RoomEvent.TrackPublished,v),e.on(ce.RoomEvent.TrackUnpublished,C),e.on(ce.RoomEvent.DataReceived,M),e.on(ce.RoomEvent.ParticipantConnected,N),e.on(ce.RoomEvent.ParticipantDisconnected,O),()=>{e.off(ce.RoomEvent.Connected,k),e.off(ce.RoomEvent.Disconnected,E),e.off(ce.RoomEvent.ConnectionStateChanged,_),e.off(ce.RoomEvent.TrackPublished,v),e.off(ce.RoomEvent.TrackUnpublished,C),e.off(ce.RoomEvent.DataReceived,M),e.off(ce.RoomEvent.ParticipantConnected,N),e.off(ce.RoomEvent.ParticipantDisconnected,O)}},[e,o,l,f.length,g,t,n]);const m=P.useCallback(()=>i?JSON.parse(localStorage.getItem("voxket-session-logs")||"[]"):l,[l,i]),x=P.useCallback(()=>{i&&localStorage.removeItem("voxket-session-logs"),c([])},[i]),y=P.useCallback(()=>{const k=m(),E=JSON.stringify(k,null,2),_="data:application/json;charset=utf-8,"+encodeURIComponent(E),v=`voxket-session-logs-${new Date().toISOString().split("T")[0]}.json`,C=document.createElement("a");C.setAttribute("href",_),C.setAttribute("download",v),C.click()},[m]);return{sessionMetrics:o,sessionLogs:l,logEvent:g,getSessionLogs:m,clearSessionLogs:x,exportSessionLogs:y}}class Ql{constructor(){rt(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 r=(...i)=>{this.off(t,r),n(...i)};return this.on(t,r)}off(t,n){const r=this.listeners[t];if(!r)return;const i=r.indexOf(n);i>-1&&r.splice(i,1)}removeAllListeners(t){t?delete this.listeners[t]:this.listeners={}}emit(t,...n){const r=this.listeners[t];if(!r)return;const i=[...r];for(const s of i)try{s(...n)}catch(o){console.error(`Error in event listener for ${String(t)}:`,o)}}listenerCount(t){var n;return((n=this.listeners[t])==null?void 0:n.length)??0}eventNames(){return Object.keys(this.listeners)}}class og{constructor(t){rt(this,"plugins",new Map);rt(this,"installedPlugins",new Set);rt(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 r=this.plugins.get(t);if(!r)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t))throw new Error(`Plugin '${t}' is already installed`);if(r.dependencies)for(const s of r.dependencies)this.installedPlugins.has(s)||await this.install(s);const i={...this.context,config:{...r.config,...n}};r.install&&await r.install(i),this.installedPlugins.add(t),this.setupPluginEvents(r,i)}async uninstall(t){var r;const n=this.plugins.get(t);if(!n)throw new Error(`Plugin '${t}' is not registered`);if(this.installedPlugins.has(t)){for(const[i,s]of this.plugins)if(this.installedPlugins.has(i)&&((r=s.dependencies)!=null&&r.includes(t)))throw new Error(`Cannot uninstall '${t}' because '${i}' 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",r=>{t.onSessionStart(n,r.id)}),t.onSessionEnd&&n.on("session.ended",r=>{t.onSessionEnd(n,r.id)}),t.onAgentResponse&&n.on("agent.response",r=>{t.onAgentResponse(n,r)})}}function DM(e){return e}function Jl(e,t,n){return{name:e,version:"1.0.0",description:`${t} modality plugin`,install:async r=>{n.onActivate&&await n.onActivate(r)},uninstall:async r=>{n.onDeactivate&&await n.onDeactivate(r)},onAgentResponse:n.onMessage}}const LM={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)})}},FM={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,...r)=>(console.log(`[Debug] Event: ${String(n)}`,r),t(n,...r))}},jM={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})})}},ag=A.createContext(null);function is({config:e,children:t,autoConnect:n=!1,client:r}){const[i,s]=A.useState(null),[o,a]=A.useState(!1),[l,c]=A.useState(!1),[u,d]=A.useState(null),[f,p]=A.useState(null),[g,m]=A.useState("idle"),[x,y]=A.useState(null),[k,E]=A.useState([]),[_,v]=A.useState([]),[C,M]=A.useState([]);A.useEffect(()=>{const D=r||new ki(e);s(D);const w=N(D);return n&&!r&&O(D),()=>{w(),r||D.disconnect().catch(console.error)}},[e,n,r]);const N=D=>{const w=()=>{c(!0),d(null)},j=()=>{a(!0),c(!1),d(null)},Y=()=>{a(!1),c(!1),p(null),m("idle"),E([]),v([]),M([])},S=K=>{d(K),c(!1)},H=K=>{p(K),m(K.state)},U=K=>{m(K),f&&p({...f,state:K})},Z=(K,Ee)=>{p(null),m("idle"),y(Ee),E([]),v([]),M([])},W=K=>{E(Ee=>[...Ee,K])},ue=K=>{E(Ee=>Ee.filter(le=>le.id!==K.id))},te=K=>{v(Ee=>[...Ee,K])},ae=K=>{v(Ee=>[...Ee,K])},Oe=K=>{console.log("๐ VoxketProvider: Received transcription:",K),M(Ee=>Ee.find(se=>se.id===K.id)?(console.log("๐ VoxketProvider: Duplicate transcription detected, skipping:",K.id),Ee):(console.log("๐ VoxketProvider: Adding new transcription:",K.id),[...Ee,K]))},L=()=>{console.log("๐งน VoxketProvider: Clearing chat messages and transcriptions"),v([]),M([])};return D.on("connection.connecting",w),D.on("connection.connected",j),D.on("connection.disconnected",Y),D.on("connection.error",S),D.on("session.created",H),D.on("session.state.changed",U),D.on("session.ended",Z),D.on("participant.joined",W),D.on("participant.left",ue),D.on("chat.message.received",te),D.on("chat.message.sent",ae),D.on("transcription.received",Oe),D.on("chat.history.cleared",L),()=>{console.log("๐ VoxketProvider: Cleaning up event listeners"),D.off("connection.connecting",w),D.off("connection.connected",j),D.off("connection.disconnected",Y),D.off("connection.error",S),D.off("session.created",H),D.off("session.state.changed",U),D.off("session.ended",Z),D.off("participant.joined",W),D.off("participant.left",ue),D.off("chat.message.received",te),D.off("chat.message.sent",ae),D.off("chat.history.cleared",L),D.off("transcription.received",Oe)}},O=async D=>{const w=D||i;if(w)try{await w.connect()}catch(j){console.error("Failed to connect:",j)}},$={client:i,isConnected:o,isConnecting:l,connectionError:u,currentSession:f,sessionState:g,sessionMetrics:x,participants:k,chatMessages:_,transcriptions:C,connect:()=>O(),disconnect:async()=>{if(i)try{await i.disconnect()}catch(D){console.error("Failed to disconnect:",D)}},createSession:async(D,w={})=>{if(!i)throw new Error("Client not initialized");const j={agentId:D,participantName:w.participantName||"User",metadata:w.metadata,modalities:w.modalities||["voice"]};return await i.createSession(j)},endSession:async()=>i?await i.endSession():null,sendChatMessage:async D=>{if(!i)throw new Error("Client not initialized");await i.sendChatMessage(D)},setMicrophoneEnabled:async D=>{if(!i)throw new Error("Client not initialized");await i.setMicrophoneEnabled(D)},setCameraEnabled:async D=>{if(!i)throw new Error("Client not initialized");await i.setCameraEnabled(D)},startScreenShare:async()=>{if(!i)throw new Error("Client not initialized");await i.startScreenShare()},stopScreenShare:async()=>{if(!i)throw new Error("Client not initialized");await i.stopScreenShare()}};return h.jsx(ag.Provider,{value:$,children:t})}function dn(){const e=A.useContext(ag);if(!e)throw new Error("useVoxket must be used within a VoxketProvider");return e}class BM extends Ql{constructor(n){super();rt(this,"room",null);rt(this,"registeredMethods",new Map);rt(this,"activeInteractions",new Map);rt(this,"currentInteraction",null);n&&this.setRoom(n)}setRoom(n){this.room=n}async registerFrontendRPC(n,r,i="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 s={methodName:n,component:r,presentationMode:i};this.registeredMethods.set(n,s);try{this.room.registerRpcMethod(n,async o=>{console.log(`RpcManager: RPC method '${n}' called by ${o.callerIdentity}`),console.log("RpcManager: Payload:",o.payload),this.emit("rpc.method.called",{methodName:n,data:o});let a;console.log(`RpcManager: Current registration for '${n}':`,s);let l=o.responseTimeout||30;try{a=JSON.parse(o.payload)}catch{a=o.payload}try{const c=await this.awaitUserInteraction(n,r,i,a,l);return JSON.stringify(c)}catch(c){throw console.error(`RpcManager: Error in RPC method '${n}':`,c),c}}),this.emit("rpc.method.registered",{methodName:n}),console.log(`RpcManager: Successfully registered RPC method: ${n}`)}catch(o){throw console.error(`RpcManager: Failed to register RPC method '${n}':`,o),o}}async awaitUserInteraction(n,r,i,s,o){return new Promise((a,l)=>{const c=`${n}_${Date.now()}`;console.log(`RpcManager: Starting user interaction for method: ${n}, timeout: ${o} seconds`);const u={didSuccess:(f,p)=>{console.log(`RpcManager: User interaction successful for method: ${n}`,f),this.clearInteraction(c),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}),a(g)},didFail:f=>{console.log(`RpcManager: User interaction failed for method: ${n}`,f),this.clearInteraction(c);const p={success:!1,message:"User interaction failed",error:f,timestamp:new Date};this.emit("rpc.interaction.completed",{methodName:n,response:p}),a(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(c),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),a(f)},didTimeout:f=>{console.log(`RpcManager: User interaction timeout for method: ${n}`),this.clearInteraction(c),this.currentInteraction=null;const p={success:!0,message:`User interaction timed out after ${o} 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),a(p)}},d=setTimeout(()=>{u.didTimeout&&u.didTimeout()},o);this.activeInteractions.set(c,{resolve:f=>a(JSON.parse(f)),reject:l,timeoutId:d}),this.currentInteraction={isVisible:!0,methodName:n,component:r,presentationMode:i,timeout:o,data:s,handler:u},this.emit("rpc.interaction.started",{methodName:n,presentationMode:i}),setTimeout(async()=>{var f;if((f=this.currentInteraction)!=null&&f.handler)try{console.log(`RpcManager: Component created for method: ${n} with data:`,s)}catch(p){console.error("RpcManager: Error loading data into component:",p),u.didFail({error:"Failed to load data into component"})}},100)})}clearInteraction(n){const r=this.activeInteractions.get(n);r&&(console.log(`RpcManager: Clearing interaction: ${n}`),clearTimeout(r.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,r]of this.activeInteractions)clearTimeout(r.timeoutId);this.activeInteractions.clear(),this.registeredMethods.clear(),this.currentInteraction=null,console.log("RpcManager: Cleared all registrations and interactions")}}class We extends Error{constructor(t,n,r){super(t),this.code=n,this.details=r,this.name="VoxketError"}}const Nn=new WeakSet,Yo=new WeakSet;class ki extends Ql{constructor(n){super();rt(this,"config");rt(this,"room",null);rt(this,"pluginManager");rt(this,"rpcManager");rt(this,"isConnected",!1);rt(this,"currentSession",null);rt(this,"connectionState",ce.ConnectionState.Disconnected);rt(this,"renderedComponents",new Map);rt(this,"textStreamHandlersRegistered",!1);rt(this,"currentAgentInfo",null);rt(this,"chatMessages",[]);rt(this,"activeTranscriptions",new Map);rt(this,"isAgentConnected",!1);rt(this,"agentState","idle");rt(this,"_eventEmitters");this.config=n,this.pluginManager=new og(this),this.rpcManager=new BM,this.setupEventListeners(),this.initializeClient()}setupEventListeners(){this.on("connection.connected",()=>{var n,r;this.isConnected=!0,(r=(n=this.config).onConnected)==null||r.call(n)}),this.on("connection.disconnected",n=>{var r,i;this.isConnected=!1,(i=(r=this.config).onDisconnected)==null||i.call(r,n)}),this.on("connection.error",n=>{var r,i;(i=(r=this.config).onError)==null||i.call(r,n)}),this.on("chat.message.received",n=>{var r,i;this.addChatMessage(n),(i=(r=this.config).onMessageReceived)==null||i.call(r,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 r,i;(i=(r=this.config).onTranscriptionReceived)==null||i.call(r,n)}),this.on("session.state.changed",n=>{var r,i;(i=(r=this.config).onSessionStateChanged)==null||i.call(r,n)}),this.on("session.created",n=>{var r,i;(i=(r=this.config).onSessionStart)==null||i.call(r,n.id)}),this.on("session.ended",(n,r)=>{var i,s;(s=(i=this.config).onSessionEnd)==null||s.call(i,r)}),this.on("participant.joined",n=>{var r,i;(i=(r=this.config).onUserJoined)==null||i.call(r,n.id)}),this.on("participant.left",n=>{var r,i;(i=(r=this.config).onUserLeft)==null||i.call(r,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 ce.Room,this.setupRoomEventListeners()}setupRoomEventListeners(){this.room&&(this.room.on(ce.RoomEvent.Connected,()=>{var n,r;this.connectionState=ce.ConnectionState.Connected,this.emit("connection.connected"),this.rpcManager.setRoom(this.room),(r=(n=this.currentSession)==null?void 0:n.activeModalities)!=null&&r.includes("voice")&&setTimeout(async()=>{var i;try{(i=this.room)!=null&&i.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(s){console.warn("VoxketClient: Failed to enable microphone after room connection:",s)}},1e3),this.textStreamHandlersRegistered||this.setupTextStreamHandlers()}),this.room.on(ce.RoomEvent.Disconnected,n=>{var r;console.log("๐ด VoxketClient: Room disconnected, reason:",n),this.connectionState=ce.ConnectionState.Disconnected,this.textStreamHandlersRegistered=!1,this.isAgentConnected=!1,console.log("๐ค VoxketClient: Agent marked as disconnected"),this.clearChatMessages(),n&&console.log("๐ VoxketClient: Disconnect reason details:",{reason:n.toString(),currentSession:(r=this.currentSession)==null?void 0:r.id,agentConnected:this.isAgentConnected,connectionState:this.connectionState}),this.emit("connection.disconnected",n==null?void 0:n.toString())}),this.room.on(ce.RoomEvent.ConnectionStateChanged,n=>{this.connectionState=n,n===ce.ConnectionState.Connecting&&this.emit("connection.connecting")}),this.room.on(ce.RoomEvent.ParticipantConnected,n=>{const r={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.joined",r)}),this.room.on(ce.RoomEvent.ParticipantDisconnected,n=>{const r={id:n.identity,name:n.name||n.identity,isLocal:!1};this.emit("participant.left",r)}),this.room.on(ce.RoomEvent.LocalTrackPublished,n=>{console.log("๐ฌ VoxketClient: Local track published:",n.source),n.source===ce.Track.Source.ScreenShare&&this.emit("track.unmuted",{source:"screenShare",enabled:!0})}),this.room.on(ce.RoomEvent.LocalTrackUnpublished,n=>{console.log("๐ฌ VoxketClient: Local track unpublished:",n.source),n.source===ce.Track.Source.ScreenShare&&this.emit("track.muted",{source:"screenShare",enabled:!1})}))}setupTextStreamHandlers(){if(!this.room)return;try{this.room.registerTextStreamHandler("lk.chat",async(r,i)=>{try{const s=await r.readAll(),o={id:`msg_${Date.now()}_${i.identity||"user"}_${Math.random().toString(36).substr(2,9)}`,content:s,timestamp:new Date,sender:{id:i.identity||"user",name:i.identity||"User",type:"participant"},metadata:{topic:"lk.chat"}};this.emit("chat.message.received",o)}catch(s){console.error("VoxketClient: Failed to process lk.chat message:",s)}})}catch(r){console.warn("VoxketClient: lk.chat handler already registered, skipping:",r)}try{console.log("๐ VoxketClient: Registering lk.transcription handler..."),this.room.registerTextStreamHandler("lk.transcription",async(r,i)=>{var s,o,a,l,c,u;console.log("๐ VoxketClient: Received transcription stream from:",i.identity);try{console.log("๐ VoxketClient: Processing transcription stream...");const d=i.identity===((o=(s=this.room)==null?void 0:s.localParticipant)==null?void 0:o.identity),f=Date.now(),p=i.identity,g=this.activeTranscriptions.get(p);let m,x=!0;g&&f-g.timestamp<1e3?(m=g.messageId,x=!1,console.log("๐ VoxketClient: Reusing existing transcription message ID:",m)):(m=`msg_${d?"user":"agent"}_${i.identity}_${f}`,this.activeTranscriptions.set(p,{messageId:m,timestamp:f}),console.log("๐ VoxketClient: Created new transcription message ID:",m));let y="";console.log("๐ VoxketClient: Current agent info:",this.currentAgentInfo);const k=((a=this.currentAgentInfo)==null?void 0:a.name)||i.identity||"AI Assistant";console.log("๐ VoxketClient: Using agent name:",k);const E=d?"participant":"agent",_=d?this.config.participantName||"User":k;console.log("๐ VoxketClient: Transcription sender info:",{participantIdentity:i.identity,localParticipantIdentity:(c=(l=this.room)==null?void 0:l.localParticipant)==null?void 0:c.identity,isFromUser:d,senderType:E,senderName:_});const v={id:m,content:"",timestamp:new Date,sender:{id:i.identity||"unknown",name:_,type:E},metadata:{topic:"lk.transcription",streaming:!0}};x&&this.emit("chat.message.received",v),console.log("๐ VoxketClient: Starting to read transcription stream...");for await(const O of r){console.log("๐ VoxketClient: Received chunk:",O.length,"chars"),y+=O;const b=this.convertMarkdownToText(y),R={...v,content:b,metadata:{...v.metadata,streaming:!0}};this.emit("chat.message.updated",R)}const C=this.convertMarkdownToText(y),M={...v,content:C,metadata:{...v.metadata,streaming:!1}};this.emit("chat.message.updated",M);const N={id:m,text:C,isFinal:!0,startTime:v.timestamp.getTime(),participantId:i.identity||"agent"};this.emit("transcription.received",N),console.log("๐ VoxketClient: Emitted transcription event:",N)}catch(d){console.error("VoxketClient: Failed to process lk.transcription message:",d);try{const f=await r.readAll(),p=((u=this.currentAgentInfo)==null?void 0:u.name)||i.identity||"AI Assistant",g={id:`msg_${Date.now()}_agent_transcription_${Math.random().toString(36).substr(2,9)}`,content:f,timestamp:new Date,sender:{id:i.identity||"agent",name:p,type:"agent"},metadata:{topic:"lk.transcription"}};this.emit("chat.message.received",g);const m={id:g.id,text:g.content,isFinal:!0,startTime:g.timestamp.getTime(),participantId:i.identity||"agent"};this.emit("transcription.received",m),console.log("๐ VoxketClient: Emitted fallback transcription event:",m)}catch(f){console.error("VoxketClient: Fallback failed for lk.transcription:",f)}}})}catch(r){console.warn("VoxketClient: lk.transcription handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("suggested_response",async r=>{const i=await r.readAll();let s=[];try{s=["tes","hello how are you","algebra make me learn that ","what is the meaning of life"]}catch(o){console.warn("VoxketClient: Failed to parse suggested_response:",o,i)}this.emit("suggested.response",s)})}catch(r){console.warn("VoxketClient: suggested_response handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("agent_state_changed",async(r,i)=>{const s=await r.readAll();console.log("๐ค VoxketClient: agent_state_changed stream received:",s);let o={};try{o=typeof s=="string"?JSON.parse(s.replace(/'/g,'"')):s}catch(a){console.warn("VoxketClient: Failed to parse agent_state_changed:",a,s)}this.isAgentConnected||(this.isAgentConnected=!0,console.log("๐ค VoxketClient: Agent marked as connected (first state change received)"),this.emit("agent.connected",o)),o.new_state==="speaking"?(this.setAgentState("speaking"),this.emit("agent.speaking",o)):o.new_state==="thinking"?(this.setAgentState("thinking"),this.emit("agent.thinking",o)):(o.new_state==="idle"||o.new_state==="listening")&&this.setAgentState("idle")})}catch(r){console.warn("VoxketClient: conversation_item_added handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("function_tools_executed",async(r,i)=>{const s=await r.readAll();console.log("๐ ๏ธ VoxketClient: function_tool_executed stream received:",s);let o={};try{if(typeof s=="string")try{o=JSON.parse(s)}catch(a){let l=s;try{l=l.replace(/\bTrue\b/g,"true"),l=l.replace(/\bFalse\b/g,"false"),l=l.replace(/\bNone\b/g,"null");const c=l.replace(/\\"/g,"___ESCAPED_QUOTE___");let u="",d=!1,f=!1;for(let p=0;p<c.length;p++){const g=c[p],m=p>0?c[p-1]:"";g==='"'&&m!=="\\"?(d=!d,u+=g):g==="'"&&m!=="\\"&&!d?u+='"':u+=g}l=u.replace(/___ESCAPED_QUOTE___/g,'\\"'),o=JSON.parse(l)}catch(c){console.warn("VoxketClient: Enhanced parsing also failed, trying eval approach:",c);try{let u=s.replace(/\bTrue\b/g,"true").replace(/\bFalse\b/g,"false").replace(/\bNone\b/g,"null");o=new Function("return "+u)()}catch(u){throw console.error("VoxketClient: All parsing methods failed:",u),a}}}else o=s}catch(a){console.warn("VoxketClient: Failed to parse function_tool_executed:",a,s);let l=null;if(typeof s=="string"&&s.includes("visualization_data"))try{const c=s.match(/"arguments":\s*"({.*?})"/);if(c){const u=c[1].replace(/\\"/g,'"');if(l=JSON.parse(u),console.log("๐ ๏ธ VoxketClient: Extracted visualization data from failed parse:",l),this._eventEmitters.has("visualization_data")){const d=this._eventEmitters.get("visualization_data");d&&d(JSON.stringify(l))}}}catch(c){console.warn("VoxketClient: Failed to extract visualization data:",c)}o={type:"function_tools_executed",function_calls:[],function_call_outputs:[],created_at:Date.now()/1e3,parseError:!0,rawData:s,extractedVisualizationData:l}}this.emit("tool.executed",o)})}catch(r){console.warn("VoxketClient: function_tool_executed handler already registered, skipping:",r)}try{this.room.registerTextStreamHandler("images",async(r,i)=>{try{const s=await r.readAll()}catch(s){console.error("VoxketClient: Error processing images stream:",s)}})}catch(r){console.warn("VoxketClient: images handler already registered, skipping:",r)}try{this.room.registerByteStreamHandler("images",async(r,i)=>{var s,o;try{const a=r.info,l={id:`img_${Date.now()}_${i.identity||"agent"}_${Math.random().toString(36).substr(2,9)}`,content:`๏ฟฝ๏ธ ${a.name||"Image"}`,sender:{id:i.identity||"agent",name:i.identity||"Agent",type:i.identity===((o=(s=this.room)==null?void 0:s.localParticipant)==null?void 0:o.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",l),r.onProgress&&(r.onProgress=p=>{const g={...l,metadata:{...l.metadata,downloadProgress:p||0}};this.emit("chat.message.updated",g)});const c=[];for await(const p of r)c.push(p);const u=new Blob(c,{type:a.mimeType||"application/octet-stream"}),d=URL.createObjectURL(u),f={...l,metadata:{...l.metadata,downloading:!1,downloadProgress:1,downloadUrl:d,blob:u}};this.emit("chat.message.updated",f)}catch(a){console.error("VoxketClient: Error processing image attachment:",a)}})}catch(r){console.warn("VoxketClient: image handler already registered, skipping:",r)}["error","warning","status","system","debug","info"].forEach(r=>{try{this.room.registerTextStreamHandler(r,async(i,s)=>{try{const o=await i.readAll();if(console.log(`๐ VoxketClient: Received '${r}' stream:`,o),r==="error"){let a={};try{a=typeof o=="string"?JSON.parse(o):o}catch{a={message:o}}console.warn("๏ฟฝ VoxketClient: Agent error:",a),this.emit("agent.error",a)}else this.emit("text.stream.received",{topic:r,data:o,participantInfo:s})}catch(o){console.error(`VoxketClient: Failed to process '${r}' stream:`,o)}})}catch(i){console.warn(`VoxketClient: Handler for '${r}' already registered, skipping:`,i)}});try{this.room.registerTextStreamHandler("*",async(r,i)=>{var s;try{const o=await r.readAll(),a=((s=r.info)==null?void 0:s.topic)||"unknown";console.log(`๐ VoxketClient: Received unhandled text stream for topic '${a}':`,o),this.emit("text.stream.unhandled",{topic:a,data:o,participantInfo:i})}catch(o){console.error("VoxketClient: Failed to process unhandled text stream:",o)}})}catch(r){console.warn("VoxketClient: Generic text stream handler already registered, skipping:",r)}this.textStreamHandlersRegistered=!0}async fetchConnectionDetails(n,r,i,s){const o=n||this.config.agentId||"default-agent",a=r||this.config.participantName||"User",l=i||this.config.modalities||["voice"],c=s||this.config.participantMetadata||{user_id:""};try{const u={agent_id:o,participant_name:a,participant_metadata:c,modality:l[0],modalities:l};console.log("๐ VoxketClient: Creating session with modalities:",l);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(u)});if(!d.ok){let g=`HTTP ${d.status}: Failed to fetch connection details`;try{const m=await d.json();m&&(m.error?g=`API Error: ${m.error}`:m.detail?g=`API Error: ${m.detail}`:m.message&&(g=`API Error: ${m.message}`))}catch{try{const x=await d.text();x&&(g=`API Error: ${x}`)}catch{}}throw new Error(g)}const f=await d.json();let p;return f.agent_info&&(p={id:f.agent_info.agent_info.id,name:f.agent_info.agent_info.name,capabilities:f.agent_info.capabilities,modality_supported:f.agent_info.modality_supported,session_settings:f.agent_info.session_settings||{}},this.currentAgentInfo=p),{serverUrl:f.wss_url,participantToken:f.token,voxketSessionId:f.session_id,agentInfo:p}}catch(u){console.error("VoxketClient: fetchConnectionDetails failed:",u);const d=new We(`Failed to fetch connection details: ${u instanceof Error?u.message:"Unknown error"}`,"CONNECTION_FAILED",u);throw this.emit("connection.error",d),d}}async connect(n,r,i,s){var o;try{this.emit("connection.connecting");const a=await this.fetchConnectionDetails(n,r,i,s);return await((o=this.room)==null?void 0:o.connect(a.serverUrl,a.participantToken)),this.isConnected=!0,a}catch(a){console.error("VoxketClient: Connection failed:",a);const l=new We(`Failed to connect to Voxket services: ${a instanceof Error?a.message:"Unknown error"}`,"CONNECTION_FAILED",a);throw this.emit("connection.error",l),l}}async disconnect(){var n;try{console.log("๐ VoxketClient: Starting disconnect process..."),this.room&&(console.log("๐ VoxketClient: Disconnecting from room:",{roomState:this.room.state,numParticipants:this.room.numParticipants,sessionId:(n=this.currentSession)==null?void 0:n.id}),await this.room.disconnect()),this.isConnected=!1,this.currentSession=null,this.currentAgentInfo=null,this.textStreamHandlersRegistered=!1,this.clearChatMessages(),console.log("๐ VoxketClient: Creating new room instance..."),this.room=new ce.Room,this.setupRoomEventListeners(),console.log("โ
VoxketClient: Disconnect completed successfully"),this.emit("connection.disconnected")}catch(r){console.error("โ VoxketClient: Disconnect failed:",r);const i=new We("Failed to disconnect properly","NETWORK_ERROR",r);throw this.emit("connection.error",i),i}}async createSession(n){var r,i,s,o;try{const a=await this.connect(n.agentId,n.participantName,n.modalities,n.participantMetadata),l={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=l,this.emit("session.created",l),(r=n.modalities)!=null&&r.includes("voice"))try{await new Promise(c=>setTimeout(c,500)),(i=this.room)!=null&&i.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(c){console.warn("VoxketClient: Failed to enable microphone, but continuing with session:",c)}if((s=n.modalities)!=null&&s.includes("video"))try{await new Promise(c=>setTimeout(c,200)),(o=this.room)!=null&&o.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(c){console.warn("VoxketClient: Failed to enable camera, but continuing with session:",c)}return setTimeout(()=>{var c;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:((c=this.room)==null?void 0:c.remoteParticipants.size)||0}))},1e3),l}catch(a){throw console.error("VoxketClient: Failed to create session:",a),a instanceof We?a:a instanceof TypeError&&a.message.includes("fetch")?new We("Network connection failed","CONNECTION_FAILED",a):a instanceof Error&&a.message.includes("Failed to fetch connection details")?new We(`API connection failed: ${a.message}`,"CONNECTION_FAILED",a):new We(`Failed to create session: ${a instanceof Error?a.message:"Unknown error"}`,"SESSION_NOT_FOUND",a)}}async startSession(n,r){const i={agentId:n||this.config.agentId||"default-agent",participantName:(r==null?void 0:r.participantName)||this.config.participantName||"User",modalities:(r==null?void 0:r.modalities)||this.config.modalities||["voice","chat"],metadata:r==null?void 0:r.metadata,participantMetadata:r==null?void 0:r.participantMetadata};return this.createSession(i)}async endSession(){var n,r;if(!this.currentSession)return null;try{const i={sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((r=this.room)==null?void 0:r.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,i),await this.disconnect(),i}catch(i){throw new We("Failed to end session","SESSION_NOT_FOUND",i)}}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 r of n){const i=r.getTrackPublication(ce.Track.Source.Microphone);if(i!=null&&i.track)return{source:ce.Track.Source.Microphone,participant:r,publication:i}}return null}getAgentVideoTrack(){const n=this.getRemoteParticipants();for(const r of n){const i=r.getTrackPublication(ce.Track.Source.Camera);if(i!=null&&i.track)return{source:ce.Track.Source.Camera,participant:r,publication:i}}return null}getVideoTrackRefs(){const n=[],r=this.getLocalParticipant();if(r){const s=r.getTrackPublication(ce.Track.Source.Camera);s!=null&&s.track&&n.push({source:ce.Track.Source.Camera,participant:r,publication:s});const o=r.getTrackPublication(ce.Track.Source.ScreenShare);o!=null&&o.track&&n.push({source:ce.Track.Source.ScreenShare,participant:r,publication:o})}const i=this.getRemoteParticipants();for(const s of i){const o=s.getTrackPublication(ce.Track.Source.Camera);o!=null&&o.track&&n.push({source:ce.Track.Source.Camera,participant:s,publication:o});const a=s.getTrackPublication(ce.Track.Source.ScreenShare);a!=null&&a.track&&n.push({source:ce.Track.Source.ScreenShare,participant:s,publication:a})}return n}getCameraTrackRefs(){return this.getVideoTrackRefs().filter(n=>n.source===ce.Track.Source.Camera)}getScreenShareTrackRefs(){return this.getVideoTrackRefs().filter(n=>n.source===ce.Track.Source.ScreenShare)}getChatMessages(){return[...this.chatMessages]}addChatMessage(n){this.chatMessages.some(i=>i.id===n.id)||this.chatMessages.push(n)}updateChatMessage(n){const r=this.chatMessages.findIndex(i=>i.id===n.id);r!==-1&&(this.chatMessages[r]=n)}clearChatMessages(){this.chatMessages=[],this.activeTranscriptions.clear(),this.dismissCurrentInteraction(),this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays(),console.log("๐งน VoxketClient: Cleared chat messages and transcription history"),this.emit("chat.history.cleared")}renderUI(n={}){var o,a,l,c,u,d,f,p,g;const r=this.resolveTarget(n.target||"body"),i=this.getTargetKey(r);if(Yo.has(r)){console.warn("โ ๏ธ VoxketClient: Target is already being processed, skipping renderUI");return}if(Nn.has(r)){console.log("โ VoxketClient: Target already has a React root in registry, updating existing props...");const m=this.renderedComponents.get(i);if(m&&m.root){const x={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:((o=n.modality)==null?void 0:o.includes("chat"))!==!1,suportsVideoInput:((a=n.modality)==null?void 0:a.includes("video"))===!0,suportsScreenShare:((l=n.modality)==null?void 0:l.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,participantMetadata:n.participantMetadata};try{m.root.render(A.createElement(is,{config:this.config,autoConnect:n.autoStart||!1,client:this,children:A.createElement(ss,x)})),console.log("โ
VoxketClient: Successfully updated existing widget with new props");return}catch(y){throw console.error("Error re-rendering existing widget:",y),new Error(`Failed to update existing widget: ${y instanceof Error?y.message:"Unknown error"}`)}}else console.warn("โ ๏ธ Registry inconsistency detected, cleaning up"),Nn.delete(r)}let s=this.renderedComponents.get(i);if(s&&s.target===r&&Nn.has(r)){console.log("๐ VoxketClient: Reusing existing React root for target:",i);const m=s.root,x={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:((u=n.modality)==null?void 0:u.includes("video"))===!0,suportsScreenShare:((d=n.modality)==null?void 0:d.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,participantMetadata:n.participantMetadata};try{m.render(A.createElement(is,{config:this.config,autoConnect:n.autoStart||!1,client:this,children:A.createElement(ss,x)}))}catch(y){throw console.error("Error rendering Voxket widget:",y),new Error(`Failed to render Voxket widget: ${y instanceof Error?y.message:"Unknown error"}`)}return}Yo.add(r);try{if(s){console.log("๐งน VoxketClient: Cleaning up existing component for different target");try{s.root.unmount(),this.renderedComponents.delete(i),Nn.delete(s.target),r.innerHTML=""}catch(y){console.warn("Failed to cleanup existing root:",y)}}if(Nn.has(r)){console.warn("โ ๏ธ VoxketClient: Target already in registry, skipping root creation");return}console.log("๐ VoxketClient: Creating new React root for target:",i);const m=Hg.createRoot(r);this.renderedComponents.set(i,{root:m,target:r}),Nn.add(r);const x={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:((f=n.modality)==null?void 0:f.includes("chat"))!==!1,suportsVideoInput:((p=n.modality)==null?void 0:p.includes("video"))===!0,suportsScreenShare:((g=n.modality)==null?void 0:g.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,participantMetadata:n.participantMetadata};if(!m||typeof m.render!="function")throw new Error("Invalid React root. Make sure React 18+ is properly installed and configured.");try{m.render(A.createElement(is,{config:this.config,autoConnect:n.autoStart||!1,client:this,children:A.createElement(ss,x)}))}catch(y){throw console.error("Error rendering Voxket widget:",y),new Error(`Failed to render Voxket widget: ${y instanceof Error?y.message:"Unknown error"}`)}}finally{Yo.delete(r)}}removeUI(n){var i;const r=n?this.resolveTarget(n):null;if(r){const s=this.getTargetKey(r),o=this.renderedComponents.get(s);if(o){console.log("๐๏ธ VoxketClient: Removing UI for target:",s),this.renderedComponents.delete(s),Nn.delete(r);try{const l=o.target;l&&l.isConnected?(typeof((i=o.root)==null?void 0:i.unmount)=="function"&&(o.root.unmount(),console.log("โ
VoxketClient: UI unmounted for target:",s)),l.hasChildNodes()&&(l.innerHTML="")):console.log("โน๏ธ VoxketClient: Target element already disconnected, skipping unmount")}catch(l){console.warn("Failed to unmount React root:",l)}}else console.log("โน๏ธ VoxketClient: No component found for target, cleaning registry:",s),Nn.delete(r),r.isConnected&&r.hasChildNodes()&&(r.innerHTML="");r.querySelectorAll('[id*="voxket"], [class*="voxket"], .fixed.inset-0.z-50').forEach(l=>{try{l.remove()}catch(c){console.warn("Failed to remove element:",c)}}),r===document.body&&r.querySelectorAll(".fixed.z-50, .fixed.inset-0").forEach(c=>{if(c.classList.contains("bg-black")&&(c.classList.contains("backdrop-blur-sm")||c.classList.contains("bg-opacity-30")))try{c.remove()}catch(u){console.warn("Failed to remove fixed element:",u)}})}}removeAllUI(){for(const[n,r]of this.renderedComponents)r.root.unmount();this.renderedComponents.clear(),this.forceCleanupFullscreenOverlays()}forceCleanupFullscreenOverlays(){document.body.querySelectorAll(".fixed.inset-0.z-50").forEach(r=>{if(r.classList.contains("bg-black")&&(r.classList.contains("backdrop-blur-sm")||r.classList.contains("bg-opacity-30")))try{r.remove()}catch(i){console.warn("Failed to remove overlay:",i)}})}resolveTarget(n){if(typeof n=="string"){const r=document.querySelector(n);if(!r)throw new Error(`Target element not found: ${n}`);return r}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,r){var i;if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new We("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new We("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new We("No local participant","CONNECTION_FAILED");this.dismissCurrentInteraction();try{const s={id:`msg_${Date.now()}`,content:n,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:r||{}},o=await((i=this.room)==null?void 0:i.localParticipant.sendText(n,{topic:"lk.chat",destinationIdentities:[]}));this.emit("chat.message.sent",s)}catch(s){throw console.error("VoxketClient: Failed to send chat message:",s),new We("Failed to send message","NETWORK_ERROR",s)}}async sendChatMessage(n,r){return this.sendMessage(n,r)}async sendAttachments(n,r){if(!this.currentSession)throw console.error("VoxketClient: No active session found"),new We("No active session","SESSION_NOT_FOUND");if(!this.room)throw console.error("VoxketClient: No room instance found"),new We("No room connection","CONNECTION_FAILED");if(!this.room.localParticipant)throw console.error("VoxketClient: No local participant found"),new We("No local participant","CONNECTION_FAILED");if(!n||n.length===0)throw new We("No files provided","INVALID_PARAMETER");this.dismissCurrentInteraction();const i=n.filter(s=>s.type.startsWith("image/"));if(i.length===0)throw new We("Only image files are allowed","INVALID_PARAMETER");i.length!==n.length&&console.warn("VoxketClient: Some non-image files were filtered out");try{const s=i.map(async(o,a)=>{const c={id:`att_${Date.now()}_${a}`,content:`๐ ${o.name}`,sender:{id:"user",name:this.config.participantName||"User",type:"participant"},timestamp:new Date,metadata:{...r,type:"attachment",fileName:o.name,fileSize:o.size,mimeType:o.type,uploading:!0}};this.emit("chat.message.sent",c);const u=await this.room.localParticipant.sendFile(o,{mimeType:o.type,topic:"images",onProgress:f=>{const p={...c,metadata:{...c.metadata,uploadProgress:f}};this.emit("chat.message.updated",p)}});try{const f=new FileReader,p=new Promise((x,y)=>{f.onload=()=>{typeof f.result=="string"?x(f.result):y(new Error("Failed to convert to base64"))},f.onerror=y});f.readAsDataURL(o);const m={type:"image",data:await p,filename:o.name,mimeType:o.type,size:o.size};await this.room.localParticipant.sendText(JSON.stringify(m),{topic:"images",destinationIdentities:[]})}catch(f){console.warn("VoxketClient: Failed to send image data to agent:",f);try{const p=`I've shared an image: ${o.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 d={...c,metadata:{...c.metadata,uploading:!1,uploadProgress:1,streamId:u.id}};return this.emit("chat.message.updated",d),u});await Promise.all(s)}catch(s){throw console.error("VoxketClient: Failed to send attachments:",s),new We("Failed to send attachments","NETWORK_ERROR",s)}}async sendAttachment(n,r){return this.sendAttachments([n],r)}toggleMicrophone(n){return this.setMicrophoneEnabled(n!==!1)}async setMicrophoneEnabled(n){var r,i;try{const s=(r=this.room)==null?void 0:r.localParticipant.isMicrophoneEnabled,o=n??!s;await((i=this.room)==null?void 0:i.localParticipant.setMicrophoneEnabled(o)),o?this.emit("track.unmuted",{source:"microphone",enabled:!0}):this.emit("track.muted",{source:"microphone",enabled:!1})}catch(s){throw console.error("VoxketClient: Failed to toggle microphone:",s),new We("Failed to toggle microphone","PERMISSION_DENIED",s)}}toggleCamera(n){return this.setCameraEnabled(n!==!1)}async setCameraEnabled(n){var r,i;try{const s=(r=this.room)==null?void 0:r.localParticipant.isCameraEnabled,o=n??!s;await((i=this.room)==null?void 0:i.localParticipant.setCameraEnabled(o)),o?this.emit("track.unmuted",{source:"camera",enabled:!0}):this.emit("track.muted",{source:"camera",enabled:!1})}catch(s){throw console.error("VoxketClient: Failed to toggle camera:",s),new We("Failed to toggle camera","PERMISSION_DENIED",s)}}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)),this.emit("track.unmuted",{source:"screenShare",enabled:!0})}catch(r){throw new We("Failed to start screen share","PERMISSION_DENIED",r)}}async stopScreenShare(){var n;try{await((n=this.room)==null?void 0:n.localParticipant.setScreenShareEnabled(!1)),this.emit("track.muted",{source:"screenShare",enabled:!1})}catch(r){throw new We("Failed to stop screen share","PERMISSION_DENIED",r)}}async getAudioInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(r=>r.kind==="audioinput")}catch(n){throw new We("Failed to get audio input devices","DEVICE_ERROR",n)}}async getVideoInputDevices(){try{return(await navigator.mediaDevices.enumerateDevices()).filter(r=>r.kind==="videoinput")}catch(n){throw new We("Failed to get video input devices","DEVICE_ERROR",n)}}async setAudioInputDevice(n){var r;try{if(!((r=this.room)!=null&&r.localParticipant))throw new Error("Not connected to room")}catch(i){throw new We("Failed to set audio input device","DEVICE_ERROR",i)}}async setVideoInputDevice(n){var r;try{if(!((r=this.room)!=null&&r.localParticipant))throw new Error("Not connected to room")}catch(i){throw new We("Failed to set video input device","DEVICE_ERROR",i)}}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 r=n.permissions;if(!r)return{camera:!0,microphone:!0,screenShare:!0,data:!0};const i=s=>!!r.canPublish&&(r.canPublishSources.length===0||r.canPublishSources.includes(s));return{camera:i(1),microphone:i(2),screenShare:i(3),data:r.canPublishData??!1}}canPublishSource(n){return this.getPublishPermissions()[n]}getRoom(){return this.room}getConnectionState(){return this.connectionState}get connected(){return this.isConnected&&this.connectionState===ce.ConnectionState.Connected}getMicrophoneTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,r]of n.trackPublications)if(r.source===ce.Track.Source.Microphone)return r.track;return null}getCameraTrack(){const n=this.getLocalParticipant();if(!n)return null;for(const[,r]of n.trackPublications)if(r.source===ce.Track.Source.Camera)return r.track;return null}getScreenShareTrack(){const n=this.getLocalParticipant();if(!n)return console.log("๐ฌ VoxketClient: getScreenShareTrack - no local participant"),null;for(const[,r]of n.trackPublications)if(r.source===ce.Track.Source.ScreenShare)return console.log("๐ฌ VoxketClient: getScreenShareTrack - found screen share track:",{trackSid:r.trackSid,isMuted:r.isMuted,hasTrack:!!r.track}),r.track;return console.log("๐ฌ VoxketClient: getScreenShareTrack - no screen share track found"),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(),r=n?!n.isMuted:!1;return console.log("๐ฌ VoxketClient: isScreenShareEnabled check:",{hasTrack:!!n,trackMuted:n==null?void 0:n.isMuted,enabled:r}),r}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(r=>{n.push({id:r.identity,name:r.name||r.identity,isLocal:!1})}),n}getSessionMetrics(){var n,r;return this.currentSession?{sessionId:this.currentSession.id,duration:Date.now()-(((n=this.currentSession.startedAt)==null?void 0:n.getTime())||0),messageCount:0,participantCount:((r=this.room)==null?void 0:r.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(r){throw new We("Failed to start recording","RECORDING_ERROR",r)}}async stopRecording(){var n;try{this.emit("recording.stopped",{sessionId:(n=this.currentSession)==null?void 0:n.id,timestamp:new Date})}catch(r){throw new We("Failed to stop recording","RECORDING_ERROR",r)}}async registerFrontendRPC(n,r,i="embedded"){return this.rpcManager.registerFrontendRPC(n,r,i)}getCurrentInteraction(){return this.rpcManager.getCurrentInteraction()}dismissCurrentInteraction(){this.rpcManager.dismissCurrentInteraction()}getRegisteredRpcMethods(){return this.rpcManager.getRegisteredMethods()}unregisterRpcMethod(n){this.rpcManager.unregisterMethod(n)}setParticipantMetadata(n){this.config.participantMetadata=n}getParticipantMetadata(){return this.config.participantMetadata}registerEventListener(n,r){return this.on(n,r)}registerEventEmitter(n,r){if(!this.room)throw new Error("Room not available");try{this.room.registerTextStreamHandler(n,async i=>{try{const s=await i.readAll();r(s)}catch(s){console.error(`Error processing event for topic '${n}':`,s)}})}catch(i){console.warn(`VoxketClient: Handler for topic '${n}' may already be registered:`,i)}}convertMarkdownToText(n){if(!n)return"";let r=n;return r=r.replace(/\*\*(.*?)\*\*/g,"$1"),r=r.replace(/__(.*?)__/g,"$1"),r=r.replace(/\*(.*?)\*/g,"$1"),r=r.replace(/_(.*?)_/g,"$1"),r=r.replace(/~~(.*?)~~/g,"$1"),r=r.replace(/`([^`]+)`/g,"$1"),r=r.replace(/```[\s\S]*?```/g,""),r=r.replace(/^#{1,6}\s+/gm,""),r=r.replace(/\[([^\]]+)\]\([^)]+\)/g,"$1"),r.trim()}}const $M=Ae.create(Fm),VM=Ae.create(Vl),zM=Ae.create(eA),UM=Ae.create(ig);function HM({theme:e,mode:t,loadingText:n}){const r=Et(e),i=()=>{switch(t){case"voice":return n||"Connecting to voice agent...";case"chat":return n||"Starting chat session...";case"video":return n||"Connecting to video call...";default:return n||"Connecting..."}};return h.jsxs("div",{className:"flex flex-col items-center justify-center h-full w-full p-8",children:[h.jsxs("div",{className:"text-center",children:[h.jsx("h3",{className:`text-lg font-semibold mb-2 ${r.text.accent}`,children:i()}),h.jsx("p",{className:`text-sm ${r.text.muted}`,children:"Please wait a moment..."})]}),h.jsxs("div",{className:"flex space-x-1 mt-4",children:[h.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce bg-blue-500",style:{animationDelay:"0ms"}}),h.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce bg-blue-500",style:{animationDelay:"150ms"}}),h.jsx("div",{className:"w-2 h-2 rounded-full animate-bounce bg-blue-500",style:{animationDelay:"300ms"}})]})]})}const WM=Ae.create(HM);function GM({onClick:e,text:t="Open Chat",position:n="bottom-right",theme:r}){const i={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"},s=Et(r);return h.jsx(Ae.button,{onClick:e,className:`voxket-popup-trigger fixed ${i[n]} z-50 px-4 py-2 rounded-full shadow-lg ${s.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},"data-position":n,children:t})}function bf({children:e,theme:t,displayType:n="widget",onClose:r,popupPosition:i="bottom-right",onExpand:s}){const o=Et(t);if(n==="fullscreen")return h.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&&r&&r()},children:h.jsxs("div",{className:"w-full h-full max-w-7xl max-h-[95vh] rounded-2xl relative bg-transparent flex flex-col",onClick:a=>{a.stopPropagation()},children:[r&&h.jsx("button",{onClick:a=>{a.preventDefault(),a.stopPropagation(),r()},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:h.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.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"})})}),h.jsxs("div",{id:"voice-card",className:`voxket-widget-root theme-${t} ${o.card} w-full h-full flex flex-col rounded-xl shadow-2xl relative overflow-hidden`,"data-theme":t,style:{minHeight:"600px",height:"100%",contain:"layout style paint",overscrollBehavior:"contain"},children:[h.jsx("div",{className:o.cardTopGradient}),h.jsx("div",{className:o.cardPurpleBlur}),h.jsx("div",{className:o.cardPinkBlur}),h.jsx("div",{className:"relative z-10 flex flex-col h-full",children:e}),h.jsx("div",{className:o.cardPulse1}),h.jsx("div",{className:o.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 h.jsx("div",{className:"fixed rounded-2xl inset-0 z-[9999] pointer-events-none",children:h.jsxs("div",{className:`fixed rounded-2xl ${a[i]} pointer-events-auto`,children:[r&&h.jsx("button",{onClick:r,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:"ร"}),h.jsxs("div",{id:"voice-card",className:`voxket-widget-root theme-${t} ${o.card} rounded-2xl flex flex-col relative overflow-hidden`,"data-theme":t,style:{width:"350px",height:"500px",contain:"layout style paint",overscrollBehavior:"contain"},children:[h.jsx("div",{className:o.cardTopGradient}),h.jsx("div",{className:o.cardPurpleBlur}),h.jsx("div",{className:o.cardPinkBlur}),h.jsx("div",{className:"relative z-10 flex flex-col h-full w-full",children:e}),h.jsx("div",{className:o.cardPulse1}),h.jsx("div",{className:o.cardPulse2,style:{animationDelay:"1s"}})]})]})})}return h.jsxs("div",{id:"voice-card",className:`voxket-widget-root theme-${t} ${o.card} relative overflow-hidden w-full h-full`,"data-theme":t,style:{height:"100%",maxHeight:"100%",contain:"layout style paint",overscrollBehavior:"contain"},children:[h.jsx("div",{className:o.cardTopGradient}),h.jsx("div",{className:o.cardPurpleBlur}),h.jsx("div",{className:o.cardPinkBlur}),h.jsx("div",{className:"relative z-10 flex flex-col h-full w-full",children:e}),h.jsx("div",{className:o.cardPulse1}),h.jsx("div",{className:o.cardPulse2,style:{animationDelay:"1s"}})]})}function KM(e){if(typeof window>"u")return null;const{agentId:t,participantName:n,baseUrl:r,appSecret:i,appId:s,prompts:o,statusMessage:a,welcomeTitle:l,welcomeSubTitle:c,className:u,width:d,height:f,loadingText:p,suportsChatInput:g=!0,suportsVideoInput:m=!0,suportsScreenShare:x=!0,theme:y="vox",onSessionStart:k,onSessionEnd:E,enableSessionLogging:_=!0,onSessionLogsUpdate:v,onSessionMetricsUpdate:C,modalities:M=["voice"],displayType:N="widget",popupPosition:O="bottom-right",popupTriggerText:b="Open Chat",onPopupToggle:R,voxketClient:I,onDisplayTypeChange:B,participantMetadata:F}=e,[q,ne]=P.useState(!1),[ee,$]=P.useState(null),[D,w]=P.useState(()=>{try{if(I)return!!I.getCurrentSession()}catch(re){console.error("Error checking existing session:",re)}return!1}),[j,Y]=P.useState(!1),[S,H]=P.useState(t||""),[U,Z]=P.useState(n||"User"),[W,ue]=P.useState(()=>{try{if(I)return I.getCurrentSession()}catch(re){console.error("Error getting current session:",re)}return null}),[te,ae]=P.useState(()=>{var re,Fe,qe;try{if(I){const Ye=I.getCurrentSession();if((re=Ye==null?void 0:Ye.activeModalities)!=null&&re.includes("chat"))return"chat";if((Fe=Ye==null?void 0:Ye.activeModalities)!=null&&Fe.includes("voice"))return"voice";if((qe=Ye==null?void 0:Ye.activeModalities)!=null&&qe.includes("video"))return"video"}}catch(Ye){console.error("Error determining current mode:",Ye)}return"welcome"}),[Oe,L]=P.useState(!1);P.useEffect(()=>{N==="fullscreen"&&console.log("๐ฏ Widget: Switched to fullscreen mode")},[N]),P.useEffect(()=>{D&&!j?console.log("๐ Session started:",{currentMode:te,sessionId:W==null?void 0:W.id}):!D&&!j&&te==="welcome"&&console.log("๐ Returned to welcome screen")},[D,te,j]);const K=P.useMemo(()=>{try{if(I)return console.log("๐ Using existing VoxketClient to preserve session state"),I;if(!s||!i||!r){const Fe=`Missing required props: ${s?"":"appId "}${i?"":"appSecret "}${r?"":"baseUrl"}`;return console.error("โ VoxketClient creation failed:",Fe),$(new Error(Fe)),ne(!0),null}const re={appId:s,appSecret:i,baseUrl:r,agentId:S,participantName:U||"User",modalities:M,participantMetadata:F};return console.log("๐ง Creating new VoxketClient with config:",{appId:s.substring(0,8)+"...",baseUrl:r,agentId:S,participantName:U||"User",modalities:M}),new ki(re)}catch(re){return console.error("โ Failed to create VoxketClient:",re),$(re),ne(!0),null}},[I,s,i,r,S,U,M]),Ee=M,le=P.useMemo(()=>{try{if(!K)return console.warn("โ ๏ธ No VoxketClient available, creating fallback room"),new ce.Room;const re=K.getRoom();return console.log("๐ Widget: Room reference updated:",{roomExists:!!re,roomState:re==null?void 0:re.state,sessionStarted:D,currentMode:te}),re||new ce.Room}catch(re){return console.error("โ Error getting room from client:",re),new ce.Room}},[K,D,te]);P.useEffect(()=>{if(le){const re=()=>{console.log("๐ Widget: Room state changed:",{state:le.state,numParticipants:le.numParticipants,isConnected:le.state==="connected",sessionId:W==null?void 0:W.id})},Fe=(qe,Ye,St)=>{console.log("๐ต Widget: Track subscribed:",{trackKind:qe.kind,trackSource:qe.source,participantSid:St.sid,participantIdentity:St.identity,sessionId:W==null?void 0:W.id})};return le.on(ce.RoomEvent.Connected,re),le.on(ce.RoomEvent.Disconnected,re),le.on(ce.RoomEvent.TrackSubscribed,Fe),()=>{le.off(ce.RoomEvent.Connected,re),le.off(ce.RoomEvent.Disconnected,re),le.off(ce.RoomEvent.TrackSubscribed,Fe)}}},[le,W==null?void 0:W.id]),P.useEffect(()=>{!j&&te==="welcome"?console.log("๐ฌ Widget: Welcome screen ready"):D&&te!=="welcome"&&console.log("๐ฌ Widget: Session mode active:",te)},[te,j,D]),P.useEffect(()=>{(te==="voice"||te==="video"||te==="chat")&&!W&&!D&&!j&&K&&!K.connected&&(console.log("๐ Auto-correcting: Found orphaned mode without session, returning to welcome"),ae("welcome"),Y(!1))},[te,W,D,j,K]);const{sessionMetrics:se,sessionLogs:ye,logEvent:ve}=sg({room:le,onSessionStart:k,onSessionEnd:E,enableConsoleLogging:_,enableLocalStorage:_,voxketSessionId:W==null?void 0:W.id});P.useEffect(()=>{v&&v(ye)},[ye,v]),P.useEffect(()=>{C&&se&&C(se)},[se,C]),P.useEffect(()=>{if(!K)return;const re=()=>{const Fe=K.connected,qe=K.getCurrentSession();console.log("๐ Connection state changed:",{isConnected:Fe,currentSessionId:qe==null?void 0:qe.id,currentMode:te,loading:j,sessionStarted:D}),!Fe&&D&&!j&&(console.log("๐ด Connection lost during active session - returning to welcome"),Y(!1),w(!1),ue(null),ae("welcome")),Fe&&qe&&j&&(console.log("๐ข Connected with active session - removing loader"),Y(!1),w(!0),ue(qe))};return K.on("connectionStateChanged",re),K.on("sessionEnded",()=>{console.log("๐ Session ended - returning to welcome"),Y(!1),w(!1),ue(null),ae("welcome")}),()=>{K.off("connectionStateChanged",re),K.off("sessionEnded",()=>{})}},[K,te,j,D]),P.useEffect(()=>{const re=qe=>{console.log("๐ด Widget: Room disconnected:",qe),console.log("๐ Widget: Current state on disconnect:",{currentMode:te,sessionStarted:D,currentSessionId:W==null?void 0:W.id,loading:j}),Y(!1),w(!1),ue(null),ae("welcome"),console.log("๐ Widget: Automatically returning to welcome screen after disconnect")},Fe=qe=>{console.log("๐น Media devices error:",qe)};return le.on(ce.RoomEvent.MediaDevicesError,Fe),le.on(ce.RoomEvent.Disconnected,re),()=>{le.off(ce.RoomEvent.Disconnected,re),le.off(ce.RoomEvent.MediaDevicesError,Fe)}},[le,te,D,W==null?void 0:W.id,j]);const ke=async()=>{try{if(!K){console.error("โ VoxketClient not available"),$(new Error("VoxketClient not initialized")),ne(!0);return}Y(!0),ae("voice"),console.log("๐ค Starting voice session...",{agentId:S,participantName:U}),console.log("๐ค Pre-start state:",{currentMode:"voice",sessionStarted:!1,loading:!0}),ve("USER_STARTED_VOICE_SESSION",{agentId:S,participantName:U});const re=await K.startSession(S,{participantName:U||"User",modalities:["voice",...m?["video"]:[]],participantMetadata:K.getParticipantMetadata()||F});console.log("โ
Voice session started successfully:",re.id),ue(re),w(!0),Y(!1),k&&k(re.id)}catch(re){console.error("โ Failed to start voice session:",re),Y(!1),w(!1),ae("welcome")}},lt=async()=>{try{if(!K){console.error("โ VoxketClient not available"),$(new Error("VoxketClient not initialized")),ne(!0);return}Y(!0),ae("chat"),console.log("๐ฌ Starting chat session...",{agentId:S,participantName:U}),ve("USER_STARTED_CHAT_SESSION",{agentId:S,participantName:U});const re=await K.startSession(S,{participantName:U||"User",modalities:["chat"],participantMetadata:K.getParticipantMetadata()||F});console.log("โ
Chat session started successfully:",re.id),ue(re),w(!0),Y(!1),k&&k(re.id)}catch(re){console.error("โ Failed to start chat session:",re),Y(!1),w(!1),ae("welcome")}},kt=async()=>{try{if(!K){console.error("โ VoxketClient not available"),$(new Error("VoxketClient not initialized")),ne(!0);return}Y(!0),ae("video"),console.log("๐บ Starting video session...",{agentId:S,participantName:U}),console.log("๐บ Pre-start state:",{currentMode:"video",sessionStarted:!1,loading:!0}),ve("USER_STARTED_VIDEO_SESSION",{agentId:S,participantName:U});const re=await K.startSession(S,{participantName:U||"User",modalities:["video","voice"],participantMetadata:K.getParticipantMetadata()||F});console.log("โ
Video session started successfully:",re.id),ue(re),w(!0),Y(!1),k&&k(re.id)}catch(re){console.error("โ Failed to start video session:",re),Y(!1),w(!1),ae("welcome")}},Ke=()=>{ae("welcome"),Y(!1),B&&B(e.displayType||"widget"),W&&D?(console.log("๐งน Widget: Cleaning up active session"),w(!1),ue(null),K&&(console.log("๐ Widget: Disconnecting client and cleaning up room"),K.disconnect().catch(re=>{console.error("โ Widget: Error during disconnect:",re)}))):(console.log("๐ Widget: No active session to clean up"),K&&K.connected&&(console.log("๐ Widget: Force disconnecting client for fresh state"),K.disconnect().catch(re=>{console.error("โ Widget: Error during force disconnect:",re)}))),N==="popup"&&!Oe&&L(!0),console.log("โ
Widget: handleBackToWelcome completed",{newCurrentMode:"welcome",newLoading:!1,newSessionStarted:!1})},ct=()=>{const re=!Oe;L(re),R&&R(re),!re&&!(W&&D)&&(ae("welcome"),w(!1),ue(null))},xt=()=>{console.log("๐ Closing fullscreen, switching to widget display type"),e.onDisplayTypeChange?e.onDisplayTypeChange("widget"):console.warn("โ ๏ธ No onDisplayTypeChange callback provided")},fn=()=>{if(console.log("๐ Expand to fullscreen requested"),e.onDisplayTypeChange)e.onDisplayTypeChange("fullscreen");else{console.warn("โ ๏ธ No onDisplayTypeChange callback provided for expand functionality");const re=document.getElementById("voice-card")||document.querySelector(".voxket-widget-container");re&&re.requestFullscreen&&re.requestFullscreen().catch(Fe=>{console.warn("โ ๏ธ Fullscreen API not supported or failed:",Fe)})}};P.useEffect(()=>{var re,Fe,qe;if(I&&K){const Ye=K.getCurrentSession();K.connected,Ye&&(console.log("โ
Restoring session state:",Ye.id),ue(Ye),w(!0),Y(!1),(re=Ye.activeModalities)!=null&&re.includes("chat")?ae("chat"):(Fe=Ye.activeModalities)!=null&&Fe.includes("voice")?ae("voice"):(qe=Ye.activeModalities)!=null&&qe.includes("video")&&ae("video"))}},[I,K]),P.useEffect(()=>()=>{!I&&K&&K.disconnect()},[K,I]);let V=te==="video"?"w-[32rem]":"w-96",Q=te==="video"?"h-[30rem]":"h-[25rem]",xe={};if(d&&(d.startsWith("w-")?V=d:(xe.width=d,V="")),f&&(f.startsWith("h-")?Q=f:(xe.height=f,Q="")),N==="popup"&&!Oe)return console.log("๐ก Showing popup trigger button"),h.jsx(GM,{onClick:ct,text:b,position:O,theme:y});if(q||!K){const re=(ee==null?void 0:ee.message)||"VoxketWidget encountered an error. Please check your configuration.";return h.jsx("div",{className:`voxket-widget-root theme-${y} flex items-center justify-center p-8 ${u||""}`,style:{width:d||"400px",height:f||"500px",border:"1px solid #ff4444",borderRadius:"8px",background:"#fff5f5",color:"#cc0000"},children:h.jsxs("div",{className:"text-center",children:[h.jsx("div",{className:"text-4xl mb-4",children:"โ ๏ธ"}),h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Widget Error"}),h.jsx("p",{className:"text-sm mb-4",children:re}),h.jsx("button",{onClick:()=>{ne(!1),$(null),window.location.reload()},className:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors",children:"Retry"})]})})}let Te=`voxket-widget-root theme-${y}`,De={scrollMargin:0,scrollPadding:0,contain:"layout style paint"};N==="widget"?(Te+=` flex min-h-fit ${V} ${Q} ${u}`,De={...De,...xe}):(Te=`${u||""}`,De={});const Nt=h.jsx("div",{className:"h-full w-full flex flex-col overflow-hidden relative z-10",children:h.jsxs(Sr,{mode:"wait",children:[te==="welcome"&&!j&&h.jsx(UM,{agentId:S,participantName:U||"",onAgentIdChange:H,onParticipantNameChange:Z,onStartCall:ke,onStartChat:lt,onStartVideo:kt,disabled:D||j,prompts:o,statusMessage:a,title:l,subTitle:c,theme:y,modalities:Ee,initial:{opacity:0,y:0},animate:{opacity:1,y:0},exit:{opacity:0,y:40},transition:{duration:.3,ease:"easeInOut"}},"welcome"),j&&(te==="voice"||te==="chat"||te==="video")&&h.jsx(WM,{theme:y,mode:te,loadingText:p,initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.3,ease:"easeInOut"}},`loading-${te}`),te==="voice"&&!j&&D&&K&&h.jsxs(Ft.RoomContext.Provider,{value:le,children:[h.jsx(Ft.RoomAudioRenderer,{},`audio-${(W==null?void 0:W.id)||"no-session"}`),h.jsx(Ft.StartAudio,{label:"Start Audio"},`start-audio-${(W==null?void 0:W.id)||"no-session"}`),h.jsx($M,{loadingText:p,participantName:U||"User",sessionStarted:D,disabled:!1,theme:y,client:K,displayType:N,onBack:N==="popup"?ct:Ke,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"voice-session")]}),te==="chat"&&!j&&D&&K&&h.jsx(VM,{client:K,theme:y,displayType:N,onBack:N==="popup"?ct:Ke,onEndChat:Ke,disabled:!1,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"chat-view"),te==="video"&&!j&&D&&K&&h.jsxs(Ft.RoomContext.Provider,{value:le,children:[h.jsx(Ft.RoomAudioRenderer,{},`audio-video-${(W==null?void 0:W.id)||"no-session"}`),h.jsx(Ft.StartAudio,{label:"Start Audio"},`start-audio-video-${(W==null?void 0:W.id)||"no-session"}`),h.jsx(zM,{client:K,theme:y,displayType:N,onBack:N==="popup"?ct:Ke,onEndCall:Ke,disabled:!1,initial:{opacity:0,y:40},animate:{opacity:1,y:0},exit:{opacity:0,y:-40},transition:{duration:.3,ease:"easeInOut"}},"video-session")]})]})});return N==="fullscreen"||N==="popup"?h.jsx(bf,{theme:y,displayType:N,popupPosition:O,onClose:N==="fullscreen"?xt:ct,children:Nt}):h.jsx("div",{className:Te,style:De,children:h.jsx(bf,{theme:y,displayType:N,popupPosition:O,onExpand:fn,children:Nt})})}function ss(e){return h.jsx(Xl,{children:h.jsx(KM,{...e})})}function qM({logs:e,onClear:t,onExport:n}){const[r,i]=A.useState(!1),[s,o]=A.useState(""),a=e.filter(l=>!s||l.event.toLowerCase().includes(s.toLowerCase()));return r?h.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:h.jsxs("div",{className:"bg-white rounded-lg shadow-xl max-w-4xl w-full max-h-[80vh] flex flex-col m-4",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[h.jsxs("h2",{className:"text-lg font-semibold",children:["Session Logs (",e.length,")"]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"text",placeholder:"Filter events...",value:s,onChange:l=>o(l.target.value),className:"px-3 py-1 border rounded text-sm"}),h.jsx("button",{onClick:t,className:"px-3 py-1 bg-red-600 text-white rounded text-sm hover:bg-red-700",children:"Clear"}),h.jsx("button",{onClick:n,className:"px-3 py-1 bg-green-600 text-white rounded text-sm hover:bg-green-700",children:"Export"}),h.jsx("button",{onClick:()=>i(!1),className:"px-3 py-1 bg-gray-600 text-white rounded text-sm hover:bg-gray-700",children:"Close"})]})]}),h.jsx("div",{className:"flex-1 overflow-auto p-4",children:a.length===0?h.jsx("p",{className:"text-gray-500 text-center py-8",children:"No logs found"}):h.jsx("div",{className:"space-y-2",children:a.map((l,c)=>h.jsxs("div",{className:"border rounded p-3 text-sm",children:[h.jsxs("div",{className:"flex items-center justify-between mb-1",children:[h.jsx("span",{className:"font-semibold text-blue-600",children:l.event}),h.jsx("span",{className:"text-gray-500 text-xs",children:new Date(l.timestamp).toLocaleTimeString()})]}),l.sessionId&&h.jsxs("div",{className:"text-xs text-gray-600 mb-1",children:["Session: ",l.sessionId]}),l.data&&h.jsx("div",{className:"bg-gray-50 p-2 rounded text-xs",children:h.jsx("pre",{className:"whitespace-pre-wrap overflow-auto",children:JSON.stringify(l.data,null,2)})})]},c))})})]})}):h.jsxs("button",{onClick:()=>i(!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 YM({metrics:e}){return e?h.jsxs("div",{className:"bg-gray-100 p-4 rounded-lg",children:[h.jsx("h3",{className:"font-semibold mb-2",children:"Current Session"}),h.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Session ID:"}),h.jsx("div",{className:"font-mono text-xs",children:e.sessionId})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Start Time:"}),h.jsx("div",{children:new Date(e.startTime).toLocaleString()})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Messages:"}),h.jsx("div",{children:e.totalMessages})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Participants:"}),h.jsx("div",{children:e.participantCount})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Connection Issues:"}),h.jsx("div",{children:e.connectionIssues})]}),h.jsxs("div",{children:[h.jsx("span",{className:"text-gray-600",children:"Duration:"}),h.jsxs("div",{children:[Math.round((Date.now()-new Date(e.startTime).getTime())/1e3),"s"]})]})]})]}):null}function er(){const{currentSession:e,sessionState:t,sessionMetrics:n,createSession:r,endSession:i}=dn(),s=A.useCallback(async(a,l)=>await r(a,l),[r]),o=A.useCallback(async()=>await i(),[i]);return{session:e,state:t,metrics:n,isActive:e!==null&&t!=="disconnected",isConnecting:t==="connecting",isConnected:t==="connected"||t==="active",start:s,stop:o}}function lg(){const{sessionMetrics:e,currentSession:t}=dn();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 cg(){const{setMicrophoneEnabled:e,client:t}=dn(),[n,r]=A.useState(!1),[i,s]=A.useState(!1),o=A.useCallback(async()=>{if(!i){s(!0);try{const c=!n;await e(c),r(c)}catch(c){console.error("Failed to toggle microphone:",c)}finally{s(!1)}}},[n,i,e]),a=A.useCallback(async()=>{if(!(n||i)){s(!0);try{await e(!0),r(!0)}catch(c){console.error("Failed to enable microphone:",c)}finally{s(!1)}}},[n,i,e]),l=A.useCallback(async()=>{if(!(!n||i)){s(!0);try{await e(!1),r(!1)}catch(c){console.error("Failed to disable microphone:",c)}finally{s(!1)}}},[n,i,e]);return{isEnabled:n,isLoading:i,toggle:o,enable:a,disable:l}}function ug(){const{setCameraEnabled:e}=dn(),[t,n]=A.useState(!1),[r,i]=A.useState(!1),s=A.useCallback(async()=>{if(!r){i(!0);try{const l=!t;await e(l),n(l)}catch(l){console.error("Failed to toggle camera:",l)}finally{i(!1)}}},[t,r,e]),o=A.useCallback(async()=>{if(!(t||r)){i(!0);try{await e(!0),n(!0)}catch(l){console.error("Failed to enable camera:",l)}finally{i(!1)}}},[t,r,e]),a=A.useCallback(async()=>{if(!(!t||r)){i(!0);try{await e(!1),n(!1)}catch(l){console.error("Failed to disable camera:",l)}finally{i(!1)}}},[t,r,e]);return{isEnabled:t,isLoading:r,toggle:s,enable:o,disable:a}}function dg(){const{startScreenShare:e,stopScreenShare:t}=dn(),[n,r]=A.useState(!1),[i,s]=A.useState(!1),o=A.useCallback(async()=>{if(!(n||i)){s(!0);try{await e(),r(!0)}catch(c){console.error("Failed to start screen share:",c)}finally{s(!1)}}},[n,i,e]),a=A.useCallback(async()=>{if(!(!n||i)){s(!0);try{await t(),r(!1)}catch(c){console.error("Failed to stop screen share:",c)}finally{s(!1)}}},[n,i,t]),l=A.useCallback(async()=>{n?await a():await o()},[n,o,a]);return{isSharing:n,isLoading:i,start:o,stop:a,toggle:l}}function ZM(){const{client:e}=dn(),[t,n]=A.useState({tracks:[],layout:{type:"grid",showLocalVideo:!0,aspectRatio:"16:9"},isRecording:!1}),r=A.useMemo(()=>t.tracks.find(m=>m.isLocal),[t.tracks]),i=A.useMemo(()=>t.tracks.filter(m=>!m.isLocal),[t.tracks]),s=A.useCallback(async()=>{try{r!=null&&r.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,r]),o=A.useCallback(async()=>{try{t.tracks.find(x=>x.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=A.useCallback(m=>{n(x=>({...x,layout:m}))},[]),l=A.useCallback(m=>{n(x=>({...x,pinnedTrack:m}))},[]),c=A.useCallback(()=>{n(m=>({...m,pinnedTrack:void 0}))},[]),u=A.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]),d=A.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]),f=A.useCallback(m=>t.tracks.find(x=>x.id===m),[t.tracks]),p=A.useCallback(m=>t.tracks.filter(x=>x.participantId===m),[t.tracks]),g=A.useCallback(m=>m.isEnabled&&t.tracks.includes(m),[t.tracks]);return A.useEffect(()=>{if(!e)return;const m=k=>{n(E=>({...E,tracks:[...E.tracks.filter(_=>_.id!==k.id),k]}))},x=k=>{n(E=>{var _;return{...E,tracks:E.tracks.filter(v=>v.id!==k),pinnedTrack:((_=E.pinnedTrack)==null?void 0:_.id)===k?void 0:E.pinnedTrack}})},y=k=>{n(E=>({...E,tracks:E.tracks.map(_=>_.id===k.id?k:_)}))};return e.on("videoTrackAdded",m),e.on("videoTrackRemoved",x),e.on("videoTrackUpdated",y),()=>{e.off("videoTrackAdded",m),e.off("videoTrackRemoved",x),e.off("videoTrackUpdated",y)}},[e]),{tracks:t.tracks,localTrack:r,remoteTraracks:i,pinnedTrack:t.pinnedTrack,layout:t.layout,isRecording:t.isRecording,toggleCamera:s,toggleScreenShare:o,setLayout:a,pinTrack:l,unpinTrack:c,startRecording:u,stopRecording:d,getTrackById:f,getTracksByParticipant:p,isTrackActive:g}}function Gs(){const{chatMessages:e,sendChatMessage:t,currentSession:n}=dn(),[r,i]=A.useState(!1),s=A.useCallback(async c=>{if(!(!c.trim()||r||!n)){i(!0);try{await t(c.trim())}catch(u){throw console.error("Failed to send chat message:",u),u}finally{i(!1)}}},[t,r,n]),{userMessages:o,agentMessages:a,allMessages:l}=A.useMemo(()=>{const c=e.filter(d=>d.sender.type==="participant"),u=e.filter(d=>d.sender.type==="agent");return{userMessages:c,agentMessages:u,allMessages:e}},[e]);return{messages:l,userMessages:o,agentMessages:a,messageCount:l.length,isSending:r,canSend:!!n&&!r,send:s}}function XM(){const{send:e,isSending:t,canSend:n}=Gs(),[r,i]=A.useState(""),s=A.useCallback(async()=>{if(!(!r.trim()||!n))try{await e(r),i("")}catch(a){throw a}},[r,e,n]),o=A.useCallback(a=>{a.key==="Enter"&&!a.shiftKey&&(a.preventDefault(),s())},[s]);return{value:r,setValue:i,send:s,handleKeyPress:o,isSending:t,canSend:n&&r.trim().length>0}}function ec(){const{isConnected:e,isConnecting:t,connectionError:n,connect:r,disconnect:i}=dn(),s=A.useCallback(async()=>{if(!(e||t))try{await r()}catch(a){throw console.error("Failed to connect:",a),a}},[r,e,t]),o=A.useCallback(async()=>{if(e)try{await i()}catch(a){throw console.error("Failed to disconnect:",a),a}},[i,e]);return{isConnected:e,isConnecting:t,isDisconnected:!e&&!t,error:n,hasError:!!n,connect:s,disconnect:o}}function fg(){const{participants:e}=dn();return{participants:e,count:e.length,localParticipant:e.find(t=>t.isLocal),remoteParticipants:e.filter(t=>!t.isLocal)}}const hg=A.createContext({}),Si=()=>A.useContext(hg);function pg({children:e,...t}){return h.jsx(hg.Provider,{value:t,children:e})}function os({name:e,children:t,fallback:n,className:r}){return h.jsx("div",{className:`voxket-slot voxket-slot--${e} ${r||""}`,children:t||n})}function mg(e,t={}){return Object.assign(e,t)}function gg({showMicrophoneControl:e=!0,showCameraControl:t=!0,showScreenShareControl:n=!0,showSessionActions:r=!0,customControls:i,className:s=""}){const o=er(),a=cg(),l=ug(),c=dg(),u=Si(),d=["voxket-session-controls",`voxket-session-controls--${u.variant||"default"}`,`voxket-session-controls--${u.size||"md"}`,o.isActive?"voxket-session-controls--active":"voxket-session-controls--inactive",s].filter(Boolean).join(" ");return!o.isActive&&!r?h.jsx("div",{className:d,children:h.jsx("div",{className:"voxket-controls-inactive",children:h.jsx("p",{children:"Controls available during active session"})})}):h.jsxs("div",{className:d,children:[r&&h.jsx("div",{className:"voxket-session-actions",children:o.isActive?h.jsx("button",{onClick:o.stop,className:"voxket-button voxket-button--danger",children:"End Session"}):h.jsx(QM,{})}),o.isActive&&h.jsxs("div",{className:"voxket-media-controls",children:[e&&h.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:[h.jsx("span",{className:"voxket-icon",children:"๐ค"}),a.isLoading?"Loading...":a.isEnabled?"Mute":"Unmute"]}),t&&h.jsxs("button",{onClick:l.toggle,disabled:l.isLoading,className:`voxket-button voxket-button--media ${l.isEnabled?"voxket-button--active":""}`,title:l.isEnabled?"Stop camera":"Start camera",children:[h.jsx("span",{className:"voxket-icon",children:"๐น"}),l.isLoading?"Loading...":l.isEnabled?"Stop Video":"Start Video"]}),n&&h.jsxs("button",{onClick:c.toggle,disabled:c.isLoading,className:`voxket-button voxket-button--media ${c.isSharing?"voxket-button--active":""}`,title:c.isSharing?"Stop screen share":"Start screen share",children:[h.jsx("span",{className:"voxket-icon",children:"๐ฅ๏ธ"}),c.isLoading?"Loading...":c.isSharing?"Stop Share":"Share Screen"]})]}),i&&h.jsx("div",{className:"voxket-custom-controls",children:i})]})}function QM(){er();const[e,t]=A.useState(!1),n=async()=>{t(!0);try{console.log("Start session - agentId needed")}catch(r){console.error("Failed to start session:",r)}finally{t(!1)}};return h.jsx("button",{onClick:n,disabled:e,className:"voxket-button voxket-button--primary",children:e?"Starting...":"Start Session"})}function tc({showConnectionStatus:e=!0,showSessionInfo:t=!0,showAgentInfo:n=!0,className:r=""}){const i=er(),s=ec(),o=Si(),a=["voxket-session-header",`voxket-session-header--${o.variant||"default"}`,`voxket-session-header--${o.size||"md"}`,r].filter(Boolean).join(" ");return h.jsxs("div",{className:a,children:[e&&h.jsxs("div",{className:"voxket-connection-status",children:[h.jsx("div",{className:`voxket-status-indicator ${s.isConnected?"connected":"disconnected"}`}),h.jsx("span",{className:"voxket-status-text",children:s.isConnecting?"Connecting...":s.isConnected?"Connected":"Disconnected"})]}),t&&i.session&&h.jsxs("div",{className:"voxket-session-info",children:[h.jsxs("div",{className:"voxket-session-id",children:["Session: ",i.session.id.slice(-8)]}),h.jsxs("div",{className:"voxket-session-state",children:["State: ",i.state]})]}),n&&i.session&&h.jsxs("div",{className:"voxket-agent-info",children:[h.jsxs("div",{className:"voxket-agent-id",children:["Agent: ",i.session.agentId]}),h.jsxs("div",{className:"voxket-modalities",children:["Modalities: ",i.session.activeModalities.join(", ")]})]}),s.error&&h.jsxs("div",{className:"voxket-error-message",children:["Error: ",s.error.message]})]})}function nc({showChat:e=!0,showTranscriptions:t=!1,customContent:n,className:r=""}){const i=er(),s=Gs(),o=Si(),a=["voxket-session-content",`voxket-session-content--${o.variant||"default"}`,`voxket-session-content--${o.size||"md"}`,r].filter(Boolean).join(" ");return i.isActive?h.jsx("div",{className:a,children:n||h.jsxs(h.Fragment,{children:[e&&h.jsxs("div",{className:"voxket-chat-container",children:[h.jsxs("div",{className:"voxket-chat-messages",children:[s.messages.map(l=>h.jsxs("div",{className:`voxket-message voxket-message--${l.sender.type}`,children:[h.jsxs("div",{className:"voxket-message-header",children:[h.jsx("span",{className:"voxket-message-sender",children:l.sender.name}),h.jsx("span",{className:"voxket-message-time",children:l.timestamp.toLocaleTimeString()})]}),h.jsx("div",{className:"voxket-message-content",children:l.content})]},l.id)),s.messages.length===0&&h.jsx("div",{className:"voxket-empty-messages",children:h.jsx("p",{children:"No messages yet. Start the conversation!"})})]}),h.jsx(JM,{})]}),t&&h.jsx("div",{className:"voxket-transcriptions",children:h.jsx("div",{className:"voxket-transcription-placeholder",children:h.jsx("p",{children:"Voice transcriptions will appear here"})})})]})}):h.jsx("div",{className:a,children:h.jsx("div",{className:"voxket-inactive-state",children:h.jsxs("div",{className:"voxket-inactive-message",children:[h.jsx("h3",{children:"Start a conversation"}),h.jsx("p",{children:"Begin a session to start chatting with the AI agent"})]})})})}function JM(){const e=Gs(),[t,n]=A.useState(""),r=async()=>{if(!(!t.trim()||!e.canSend))try{await e.send(t),n("")}catch(s){console.error("Failed to send message:",s)}},i=s=>{s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),r())};return h.jsxs("div",{className:"voxket-chat-input",children:[h.jsx("input",{type:"text",value:t,onChange:s=>n(s.target.value),onKeyPress:i,placeholder:"Type your message...",disabled:!e.canSend,className:"voxket-input"}),h.jsx("button",{onClick:r,disabled:!e.canSend||!t.trim(),className:"voxket-send-button",children:e.isSending?"Sending...":"Send"})]})}function rc({showMetrics:e=!0,showParticipants:t=!0,showStatus:n=!0,customFooter:r,className:i=""}){const s=er(),o=lg(),a=fg(),l=Si(),c=["voxket-session-footer",`voxket-session-footer--${l.variant||"default"}`,`voxket-session-footer--${l.size||"md"}`,i].filter(Boolean).join(" ");return s.isActive?h.jsx("div",{className:c,children:r||h.jsxs(h.Fragment,{children:[n&&h.jsxs("div",{className:"voxket-session-status",children:[h.jsx("div",{className:"voxket-status-indicator voxket-status-indicator--active"}),h.jsx("span",{className:"voxket-status-text",children:"Session Active"})]}),e&&o.metrics&&h.jsxs("div",{className:"voxket-session-metrics",children:[h.jsxs("div",{className:"voxket-metric",children:[h.jsx("span",{className:"voxket-metric-label",children:"Duration:"}),h.jsx("span",{className:"voxket-metric-value",children:eI(o.duration||0)})]}),h.jsxs("div",{className:"voxket-metric",children:[h.jsx("span",{className:"voxket-metric-label",children:"Messages:"}),h.jsx("span",{className:"voxket-metric-value",children:o.metrics.messageCount})]})]}),t&&h.jsxs("div",{className:"voxket-participants-info",children:[h.jsxs("span",{className:"voxket-participants-count",children:[a.count," participant",a.count!==1?"s":""]}),a.remoteParticipants.length>0&&h.jsx("div",{className:"voxket-participant-list",children:a.remoteParticipants.map(u=>h.jsx("span",{className:"voxket-participant-name",children:u.name},u.id))})]})]})}):h.jsx("div",{className:c,children:h.jsx("div",{className:"voxket-footer-inactive",children:h.jsx("span",{className:"voxket-status-text",children:"Ready to start session"})})})}function eI(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}:${(n%60).toString().padStart(2,"0")}:${(t%60).toString().padStart(2,"0")}`:`${n}:${(t%60).toString().padStart(2,"0")}`}function tI({agentId:e,sessionConfig:t,autoStart:n=!1,onSessionStart:r,onSessionEnd:i,variant:s="default",size:o="md",theme:a,className:l="",children:c}){var p;const u=er(),d=ec();A.useEffect(()=>{n&&e&&d.isConnected&&!u.isActive&&u.start(e,t).catch(console.error)},[n,e,d.isConnected,u.isActive]),A.useEffect(()=>{var g;(g=u.session)!=null&&g.id&&r&&r(u.session.id)},[(p=u.session)==null?void 0:p.id,r]),A.useEffect(()=>()=>{u.isActive&&i&&u.stop().then(i).catch(console.error)},[]);const f=["voxket-session",`voxket-session--${s}`,`voxket-session--${o}`,u.isActive?"voxket-session--active":"voxket-session--inactive",l].filter(Boolean).join(" ");return h.jsx(pg,{variant:s,size:o,theme:a,className:l,children:h.jsx("div",{className:f,children:c||h.jsxs(h.Fragment,{children:[h.jsx(os,{name:"header",fallback:h.jsx(tc,{})}),h.jsx(os,{name:"content",fallback:h.jsx(nc,{})}),h.jsx(os,{name:"footer",fallback:h.jsx(rc,{})})]})})})}const bg=mg(tI,{Header:tc,Content:nc,Footer:rc,Controls:gg}),Yn={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)"}},La={...Yn,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)"}},Fa={...Yn,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"}},yg=A.createContext(null),xg=()=>{const e=A.useContext(yg);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e};function nI({theme:e="default",themes:t={},children:n,cssVariables:r=!0,className:i=""}){const[s,o]=A.useState(()=>{const f={default:Yn,dark:La,enterprise:Fa,...t};return typeof e=="string"?f[e]||Yn:e}),[a,l]=A.useState(()=>({default:Yn,dark:La,enterprise:Fa,...t})),c=f=>{if(typeof f=="string"){const p=a[f];p&&o(p)}else o(f)},u=f=>{l(p=>({...p,[f.name]:f}))};A.useEffect(()=>{if(r&&typeof document<"u"){const f=document.documentElement;Object.entries(wg(s)).forEach(([p,g])=>{f.style.setProperty(`--voxket-${p}`,g)})}},[s,r]);const d={theme:s,setTheme:c,themes:a,registerTheme:u};return h.jsx(yg.Provider,{value:d,children:h.jsx("div",{className:`voxket-theme voxket-theme--${s.name} ${i}`,children:n})})}function wg(e){const t={},n=(r,i="")=>{for(const[s,o]of Object.entries(r)){const a=i?`${i}-${s}`:s;typeof o=="object"&&o!==null&&!Array.isArray(o)?n(o,a):t[a]=String(o)}};return n(e),t}function rI(e=Yn,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 iI(e){var n;const{theme:t}=xg();return((n=t.components)==null?void 0:n[e])||{}}const sI=Jl("voice-modality","voice",{onActivate:async e=>{const t=e.config;t.enableTranscription&&oI(e),t.enableVoiceActivation&&aI(e,t),console.log("Voice modality activated",t)},onDeactivate:async e=>{console.log("Voice modality deactivated")},onMessage:async(e,t)=>{t.type==="audio"&&lI(e,t)}});function oI(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 aI(e,t){const n=t.silenceThreshold||-50;console.log("Voice activation setup with threshold:",n)}function lI(e,t){console.log("Playing audio response:",t.content)}const cI=Jl("chat-modality","chat",{onActivate:async e=>{const t=e.config;t.enableRichText&&uI(),t.enableFileUpload&&dI(e),t.enableCustomComponents&&fI(),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"?hI(e,t):t.type==="text"&&n.enableRichText&&pI(e,t)}});function uI(e){console.log("Rich text support enabled")}function dI(e){console.log("File upload enabled"),e.on("chat.file.uploaded",t=>{console.log("File uploaded:",t.name)})}function fI(e){console.log("Custom components enabled");const t=new Map;t.set("quick-actions",mI),t.set("form",gI),t.set("card",bI),t.set("chart",yI)}function hI(e,t){const{componentType:n,props:r}=t.metadata;console.log("Rendering custom component:",n,r),e.emit("chat.component.render",{type:n,props:r,timestamp:new Date})}function pI(e,t){console.log("Processing rich text message:",t.content)}function mI(e){return{type:"quick-actions",actions:e.actions||[],layout:e.layout||"horizontal"}}function gI(e){return{type:"form",fields:e.fields||[],submitAction:e.submitAction,validation:e.validation}}function bI(e){return{type:"card",title:e.title,content:e.content,actions:e.actions,variant:e.variant||"default"}}function yI(e){return{type:"chart",chartType:e.chartType||"line",data:e.data,options:e.options}}function as({track:e,participantName:t,showControls:n=!0,showName:r=!0,showMuteIndicator:i=!0,isPinned:s=!1,className:o="",onClick:a,onPin:l,onUnpin:c}){const u=A.useRef(null),[d,f]=A.useState(!1);A.useEffect(()=>{if(!u.current||!e.isEnabled)return;const x=u.current;return x.srcObject=null,()=>{x.srcObject&&(x.srcObject=null)}},[e]);const p=()=>{a==null||a(e)},g=x=>{x.stopPropagation(),s?c==null||c(e):l==null||l(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",s?"voxket-video-tile--pinned":"",e.isEnabled?"":"voxket-video-tile--disabled",d?"voxket-video-tile--hovered":"",o].filter(Boolean).join(" ");return h.jsxs("div",{className:m,onClick:p,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),style:{aspectRatio:e.dimensions?`${e.dimensions.width} / ${e.dimensions.height}`:"16 / 9"},children:[h.jsx("video",{ref:u,className:"voxket-video-element",autoPlay:!0,playsInline:!0,muted:e.isLocal}),!e.isEnabled&&h.jsxs("div",{className:"voxket-video-placeholder",children:[h.jsx("div",{className:"voxket-video-placeholder-icon",children:e.isScreenShare?"๐ฅ๏ธ":"๐น"}),h.jsx("p",{className:"voxket-video-placeholder-text",children:e.isScreenShare?"Screen sharing paused":"Camera off"})]}),h.jsxs("div",{className:"voxket-video-overlay",children:[r&&t&&h.jsxs("div",{className:"voxket-video-name",children:[t,e.isLocal&&" (You)"]}),i&&!e.isEnabled&&h.jsx("div",{className:"voxket-video-mute-indicator",children:"๐"}),n&&(d||s)&&h.jsxs("div",{className:"voxket-video-controls",children:[h.jsx("button",{className:`voxket-video-control-btn ${s?"voxket-video-control-btn--active":""}`,onClick:g,title:s?"Unpin video":"Pin video",children:"๐"}),e.isScreenShare&&h.jsx("div",{className:"voxket-video-indicator",children:"๐ฅ๏ธ"}),e.source&&h.jsx("div",{className:"voxket-video-source",children:e.source})]})]}),!e.isEnabled&&h.jsx("div",{className:"voxket-video-loading",children:h.jsx("div",{className:"voxket-spinner"})})]})}function xI({tracks:e,layout:t,className:n="",onLayoutChange:r,onTrackClick:i,maxVisibleTracks:s=9,showPagination:o=!0}){const[a,l]=A.useState(0),[c,u]=A.useState(null),d=A.useMemo(()=>{let k=[...e];t.type==="speaker"&&c&&(k=[c,...e.filter(v=>v.id!==c.id)]);const E=a*s,_=E+s;return k.slice(E,_)},[e,t,c,a,s]),f=Math.ceil(e.length/s),p=A.useMemo(()=>{const k=d.length;switch(t.type){case"grid":const E=Math.ceil(Math.sqrt(k)),_=Math.ceil(k/E);return{display:"grid",gridTemplateColumns:`repeat(${E}, 1fr)`,gridTemplateRows:`repeat(${_}, 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,d.length]),g=k=>{u(k)},m=()=>{u(null)},x=k=>{r==null||r({...t,type:k})},y=["voxket-video-grid",`voxket-video-grid--${t.type}`,`voxket-video-grid--${d.length}-tracks`,n].filter(Boolean).join(" ");return e.length===0?h.jsx("div",{className:"voxket-video-grid-empty",children:h.jsxs("div",{className:"voxket-video-grid-empty-content",children:[h.jsx("div",{className:"voxket-video-grid-empty-icon",children:"๐น"}),h.jsx("p",{children:"No video tracks available"})]})}):h.jsxs("div",{className:y,children:[h.jsxs("div",{className:"voxket-video-grid-controls",children:[h.jsx("div",{className:"voxket-video-layout-controls",children:["grid","speaker","sidebar","gallery"].map(k=>h.jsx("button",{className:`voxket-layout-btn ${t.type===k?"voxket-layout-btn--active":""}`,onClick:()=>x(k),title:`Switch to ${k} layout`,children:wI(k)},k))}),h.jsxs("div",{className:"voxket-video-count",children:[e.length," participant",e.length!==1?"s":""]})]}),h.jsx("div",{className:"voxket-video-grid-content",style:p,children:t.type==="speaker"&&c?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"voxket-video-speaker-main",children:h.jsx(as,{track:c,participantName:`Participant ${c.participantId}`,isPinned:!0,onClick:i,onUnpin:m})}),h.jsx("div",{className:"voxket-video-speaker-sidebar",children:d.filter(k=>k.id!==c.id).map(k=>h.jsx(as,{track:k,participantName:`Participant ${k.participantId}`,showControls:!1,onClick:i,onPin:g},k.id))})]}):d.map(k=>h.jsx(as,{track:k,participantName:`Participant ${k.participantId}`,isPinned:(c==null?void 0:c.id)===k.id,onClick:i,onPin:g,onUnpin:m},k.id))}),o&&f>1&&h.jsxs("div",{className:"voxket-video-pagination",children:[h.jsx("button",{className:"voxket-pagination-btn",onClick:()=>l(Math.max(0,a-1)),disabled:a===0,children:"โ"}),h.jsxs("span",{className:"voxket-pagination-info",children:["Page ",a+1," of ",f]}),h.jsx("button",{className:"voxket-pagination-btn",onClick:()=>l(Math.min(f-1,a+1)),disabled:a===f-1,children:"โ"})]})]})}function wI(e){switch(e){case"grid":return"โ";case"speaker":return"๐ค";case"sidebar":return"โซธ";case"gallery":return"โก";case"picture-in-picture":return"โง";default:return"โ"}}function vI({localTrack:e,onToggleCamera:t,onToggleScreenShare:n,onLayoutChange:r,showLayoutControls:i=!0,showCameraControls:s=!0,showScreenShareControls:o=!0,className:a=""}){const l=["voxket-video-controls",a].filter(Boolean).join(" "),c=u=>{r==null||r({type:u,showLocalVideo:!0,aspectRatio:"16:9"})};return h.jsxs("div",{className:l,children:[s&&h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Camera"}),h.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:[h.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isEnabled?"๐น":"๐ท"}),h.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isEnabled?"Camera On":"Camera Off"})]}),(e==null?void 0:e.dimensions)&&h.jsxs("div",{className:"voxket-video-info",children:[e.dimensions.width," ร ",e.dimensions.height]})]}),o&&h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Screen Share"}),h.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:[h.jsx("span",{className:"voxket-control-icon",children:e!=null&&e.isScreenShare?"๐":"๐ฅ๏ธ"}),h.jsx("span",{className:"voxket-control-label",children:e!=null&&e.isScreenShare?"Stop Sharing":"Share Screen"})]})]}),i&&h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Layout"}),h.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:d,label:f})=>h.jsxs("button",{className:"voxket-layout-control-btn",onClick:()=>c(u),title:`Switch to ${f} layout`,children:[h.jsx("span",{className:"voxket-control-icon",children:d}),h.jsx("span",{className:"voxket-control-label",children:f})]},u))})]}),h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Video Settings"}),h.jsxs("div",{className:"voxket-video-settings",children:[h.jsxs("div",{className:"voxket-setting-group",children:[h.jsx("label",{className:"voxket-setting-label",children:"Quality"}),h.jsxs("select",{className:"voxket-setting-select",children:[h.jsx("option",{value:"high",children:"High (720p)"}),h.jsx("option",{value:"medium",children:"Medium (480p)"}),h.jsx("option",{value:"low",children:"Low (240p)"})]})]}),h.jsxs("div",{className:"voxket-setting-group",children:[h.jsx("label",{className:"voxket-setting-label",children:"Frame Rate"}),h.jsxs("select",{className:"voxket-setting-select",children:[h.jsx("option",{value:"30",children:"30 fps"}),h.jsx("option",{value:"15",children:"15 fps"}),h.jsx("option",{value:"10",children:"10 fps"})]})]}),h.jsxs("div",{className:"voxket-setting-group",children:[h.jsx("label",{className:"voxket-setting-label",children:"Bandwidth"}),h.jsxs("select",{className:"voxket-setting-select",children:[h.jsx("option",{value:"unlimited",children:"Unlimited"}),h.jsx("option",{value:"1000",children:"1 Mbps"}),h.jsx("option",{value:"500",children:"500 Kbps"}),h.jsx("option",{value:"250",children:"250 Kbps"})]})]})]})]}),h.jsxs("div",{className:"voxket-video-controls-section",children:[h.jsx("h4",{className:"voxket-video-controls-title",children:"Statistics"}),h.jsxs("div",{className:"voxket-video-stats",children:[h.jsxs("div",{className:"voxket-stat-item",children:[h.jsx("span",{className:"voxket-stat-label",children:"Resolution:"}),h.jsx("span",{className:"voxket-stat-value",children:e!=null&&e.dimensions?`${e.dimensions.width}ร${e.dimensions.height}`:"N/A"})]}),h.jsxs("div",{className:"voxket-stat-item",children:[h.jsx("span",{className:"voxket-stat-label",children:"Source:"}),h.jsx("span",{className:"voxket-stat-value",children:(e==null?void 0:e.source)||"None"})]}),h.jsxs("div",{className:"voxket-stat-item",children:[h.jsx("span",{className:"voxket-stat-label",children:"Status:"}),h.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 vg=({handler:e,loadData:t,data:n,client:r,addLocalMessage:i})=>{const[s,o]=P.useState(null),[a,l]=P.useState(!0),[c,u]=P.useState(!1),[d]=P.useState(Date.now());P.useEffect(()=>{(async()=>{try{if(l(!0),console.log("๐ AssignmentView: Loading assignment data..."),console.log("๐ AssignmentView: Received data from RPC:",n),n&&typeof n=="object"){const x={title:n.title||"Untitled Assignment",description:n.description||"No description provided",estimated_time_of_completion:n.estimated_time_of_completion||"Unknown"};o(x),console.log("๐ AssignmentView: Assignment loaded from RPC data:",x)}}catch(x){console.error("๐ AssignmentView: Error loading assignment:",x),o({title:"Assignment Loading Error",description:"There was an error loading the assignment details. Please try again.",estimated_time_of_completion:"Unknown"})}finally{l(!1)}})()},[n,t]);const f=({message:m,assignment:x})=>{const y=m.toLowerCase().includes("declined"),k=y?"bg-red-50 border-red-200":"bg-green-50 border-green-200",E=y?"text-red-700":"text-green-700",_=y?"โ":"๐";return h.jsxs("div",{className:`max-w-sm mx-auto ${k} border rounded-lg shadow p-3 flex flex-col items-center`,children:[h.jsx("div",{className:"text-2xl mb-2",children:_}),h.jsx("div",{className:`${E} font-semibold text-sm mb-1`,children:m}),h.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:x.title}),h.jsx("div",{className:"text-xs text-gray-500",children:"Thank you for your response!"})]})},p=async()=>{if(!(!s||!e)){u(!0);try{const m={message:"accepted"};console.log("๐ AssignmentView: Assignment accepted:",m),e.didSuccess(m,h.jsx(f,{message:"Assignment accepted!",assignment:s}))}catch(m){console.error("๐ AssignmentView: Error accepting assignment:",m),e.didFail({error:"Failed to accept assignment"})}finally{u(!1)}}},g=async()=>{if(!(!s||!e)){u(!0);try{const m={message:"declined"};console.log("๐ AssignmentView: Assignment declined:",m),e.didSuccess(m,h.jsx(f,{message:"Assignment declined",assignment:s}))}catch(m){console.error("๐ AssignmentView: Error declining assignment:",m),e.didFail({error:"Failed to decline assignment"})}finally{u(!1)}}};return a?h.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:h.jsxs("div",{className:"flex items-center justify-center py-4",children:[h.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-blue-600"}),h.jsx("span",{className:"ml-2 text-xs text-gray-600",children:"Loading assignment..."})]})}):s?h.jsxs("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg overflow-hidden",children:[h.jsx("div",{className:"bg-gradient-to-r from-blue-600 to-purple-600 text-white p-3",children:h.jsx("div",{className:"flex items-center justify-between",children:h.jsx("h3",{className:"text-xs font-semibold text-white truncate",children:s.title})})}),h.jsxs("div",{className:"p-3 text-black",children:[h.jsx("div",{className:"bg-gray-50 rounded p-2 mb-3",children:h.jsx("p",{className:"text-xs text-black leading-snug",children:s.description})}),h.jsx("div",{className:"mb-3 text-black",children:h.jsxs("div",{className:"flex items-center text-xs text-gray-600",children:[h.jsx("span",{className:"text-xs mr-1",children:"๐
"}),h.jsxs("span",{children:["Est: ",s.estimated_time_of_completion]})]})}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:p,disabled:c,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:c?h.jsxs("span",{className:"flex items-center justify-center",children:[h.jsx("div",{className:"animate-spin rounded-full h-2 w-2 border-b-2 border-white mr-1"}),h.jsx("span",{className:"text-xs",children:"Processing..."})]}):"Accept"}),h.jsx("button",{onClick:g,disabled:c,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"})]})]})]}):h.jsx("div",{className:"max-w-sm mx-auto bg-white rounded-lg shadow-lg p-3",children:h.jsxs("div",{className:"text-center py-4",children:[h.jsx("div",{className:"text-red-600 text-sm font-semibold mb-2",children:"โ ๏ธ Assignment Error"}),h.jsx("p",{className:"text-xs text-gray-600 mb-3",children:"Failed to load assignment details."})]})})};function EI(){const[e,t]=P.useState(null),[n,r]=P.useState([]);P.useEffect(()=>{const a=new ki({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",l=>{console.log("RPC Method Called:",l)}),a.on("rpc.interaction.completed",l=>{console.log("RPC Interaction Completed:",l)}),()=>{a.disconnect()}},[]);const i=async()=>{if(e)try{await e.registerFrontendRPC("give_assignment",vg,"embedded");const a=e.getRegisteredRpcMethods();r(a),console.log("โ
Assignment RPC registered successfully")}catch(a){console.error("โ Failed to register assignment RPC:",a)}},s=async()=>{if(!e)return;const a=({handler:l,timeout:c})=>{const[u,d]=P.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=m=>{d(m)},g=()=>{const m=f.find(x=>x.id===u);l==null||l.didSuccess({selectedProduct:u,productName:m==null?void 0:m.name,price:m==null?void 0:m.price,timestamp:new Date().toISOString()})};return h.jsxs("div",{className:"p-6 bg-white rounded-lg",children:[h.jsx("h3",{className:"text-xl font-bold mb-4",children:"Choose Your Plan"}),h.jsx("p",{className:"text-gray-600 mb-4",children:"Select the plan that best fits your needs:"}),h.jsx("div",{className:"space-y-3 mb-6",children:f.map(m=>h.jsx("div",{onClick:()=>p(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:h.jsxs("div",{className:"flex justify-between items-center",children:[h.jsxs("div",{children:[h.jsx("h4",{className:"font-medium",children:m.name}),h.jsx("p",{className:"text-gray-600 text-sm",children:m.price})]}),h.jsx("div",{className:`w-4 h-4 rounded-full ${u===m.id?"bg-blue-500":"border-2 border-gray-300"}`})]})},m.id))}),h.jsxs("div",{className:"flex justify-end space-x-3",children:[h.jsx("button",{onClick:()=>l==null?void 0:l.dismissView(),className:"px-4 py-2 border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Cancel"}),h.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"})]}),c&&h.jsxs("p",{className:"text-xs text-gray-500 mt-2",children:["Time remaining: ",c," seconds"]})]})};try{await e.registerFrontendRPC("recommend_product",a,"modal");const l=e.getRegisteredRpcMethods();r(l),console.log("โ
Product Recommendation RPC registered successfully")}catch(l){console.error("โ Failed to register product recommendation RPC:",l)}},o=async()=>{if(!e)return;const a=({handler:l})=>{const[c,u]=P.useState(0),[d,f]=P.useState(""),p=()=>{l==null||l.didSuccess({rating:c,comment:d,timestamp:new Date().toISOString()})};return h.jsxs("div",{className:"p-4 bg-white rounded-lg",children:[h.jsx("h3",{className:"text-lg font-semibold mb-3",children:"How was your experience?"}),h.jsxs("div",{className:"mb-4",children:[h.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Rate your experience:"}),h.jsx("div",{className:"flex space-x-1",children:[1,2,3,4,5].map(g=>h.jsx("button",{onClick:()=>u(g),className:`text-2xl ${g<=c?"text-yellow-400":"text-gray-300"}`,children:"โญ"},g))})]}),h.jsxs("div",{className:"mb-4",children:[h.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"Additional comments:"}),h.jsx("textarea",{value:d,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..."})]}),h.jsxs("div",{className:"flex justify-end space-x-2",children:[h.jsx("button",{onClick:()=>l==null?void 0:l.dismissView(),className:"px-3 py-1 text-sm border border-gray-300 text-gray-700 rounded hover:bg-gray-50",children:"Skip"}),h.jsx("button",{onClick:p,disabled:c===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 l=e.getRegisteredRpcMethods();r(l),console.log("โ
Feedback RPC registered successfully")}catch(l){console.error("โ Failed to register feedback RPC:",l)}};return h.jsxs("div",{className:"p-6",children:[h.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frontend RPC Examples"}),h.jsxs("div",{className:"space-y-4 mb-6",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Register RPC Methods"}),h.jsxs("div",{className:"space-x-2",children:[h.jsx("button",{onClick:i,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Register Assignment RPC"}),h.jsx("button",{onClick:s,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Register Product Recommendation RPC"}),h.jsx("button",{onClick:o,className:"px-4 py-2 bg-purple-500 text-white rounded hover:bg-purple-600",children:"Register Feedback RPC"})]})]}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Registered Methods"}),n.length>0?h.jsx("ul",{className:"list-disc list-inside space-y-1",children:n.map(a=>h.jsx("li",{className:"text-gray-700",children:h.jsx("code",{className:"bg-gray-100 px-2 py-1 rounded",children:a})},a))}):h.jsx("p",{className:"text-gray-500",children:"No methods registered yet"})]})]}),h.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg",children:[h.jsx("h3",{className:"text-lg font-semibold mb-2",children:"How it works"}),h.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-sm text-gray-700",children:[h.jsxs("li",{children:["Register RPC methods with React components using ",h.jsx("code",{children:"client.registerFrontendRPC()"})]}),h.jsx("li",{children:"When the agent calls an RPC method, the corresponding component will be displayed"}),h.jsx("li",{children:"Users interact with the component, and the response is sent back to the agent"}),h.jsx("li",{children:"Components can be displayed in different modes: embedded, modal, or fullscreen"}),h.jsx("li",{children:"Each component has a timeout and can handle success/failure scenarios"})]})]}),h.jsxs("div",{className:"mt-6 bg-blue-50 p-4 rounded-lg",children:[h.jsx("h3",{className:"text-lg font-semibold mb-2 text-blue-800",children:"Agent Side"}),h.jsx("p",{className:"text-sm text-blue-700 mb-2",children:"On the agent side, you can call these RPC methods like this:"}),h.jsx("pre",{className:"bg-white p-3 rounded text-xs text-gray-800 overflow-x-auto",children:`// Agent calls RPC method
|
|
164
164
|
const response = await participant.performRpc({
|
|
165
165
|
method: 'give_assignment',
|
|
166
166
|
data: JSON.stringify({
|