@hasna/conversations 0.1.8 → 0.1.9
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/bin/index.js +1 -1
- package/bin/mcp.js +1 -1
- package/dashboard/dist/assets/index-XaJ3gE4Z.css +1 -0
- package/dashboard/dist/assets/{index-B_w-jfMv.js → index-nFi9FDyZ.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/logo.jpg +0 -0
- package/package.json +1 -1
- package/dashboard/dist/assets/index-7Zcqwtw2.css +0 -1
package/bin/index.js
CHANGED
|
@@ -3137,7 +3137,7 @@ var init_presence = __esm(() => {
|
|
|
3137
3137
|
var require_package = __commonJS((exports, module) => {
|
|
3138
3138
|
module.exports = {
|
|
3139
3139
|
name: "@hasna/conversations",
|
|
3140
|
-
version: "0.1.
|
|
3140
|
+
version: "0.1.9",
|
|
3141
3141
|
description: "Real-time CLI messaging for AI agents",
|
|
3142
3142
|
type: "module",
|
|
3143
3143
|
bin: {
|
package/bin/mcp.js
CHANGED
|
@@ -29554,7 +29554,7 @@ function renameAgent(oldName, newName) {
|
|
|
29554
29554
|
// package.json
|
|
29555
29555
|
var package_default = {
|
|
29556
29556
|
name: "@hasna/conversations",
|
|
29557
|
-
version: "0.1.
|
|
29557
|
+
version: "0.1.9",
|
|
29558
29558
|
description: "Real-time CLI messaging for AI agents",
|
|
29559
29559
|
type: "module",
|
|
29560
29560
|
bin: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.18 | 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-duration:initial}}}@layer theme{: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-300:oklch(80.8% .114 19.571);--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-red-950:oklch(25.8% .092 26.042);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--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-green-950:oklch(26.6% .065 152.934);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-950:oklch(25.7% .09 281.288);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-6xl:72rem;--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--animate-spin:spin 1s linear infinite;--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{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-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}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,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}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::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}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-2\.5{top:calc(var(--spacing)*2.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\[50\%\]{left:50%}.z-40{z-index:40}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-10{width:calc(var(--spacing)*10)}.w-96{width:calc(var(--spacing)*96)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}: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)))}: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)))}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-amber-300{border-color:var(--color-amber-300)}.border-border{border-color:var(--border)}.border-foreground{border-color:var(--foreground)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.border-orange-300{border-color:var(--color-orange-300)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-green-50{background-color:var(--color-green-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-amber-700{color:var(--color-amber-700)}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-600{color:var(--color-slate-600)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.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)}.shadow-md{--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)}.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)}.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)}.shadow-xs{--tw-shadow:0 1px 2px 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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.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))}.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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.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)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.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)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:.15s ease-in exit}.data-\[state\=open\]\:animate-in[data-state=open]{animation:.2s ease-out enter}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90{rotate:-90deg}.dark\:rotate-0{rotate:none}.dark\:border-amber-800{border-color:var(--color-amber-800)}.dark\:border-green-800{border-color:var(--color-green-800)}.dark\:border-green-900{border-color:var(--color-green-900)}.dark\:border-input{border-color:var(--input)}.dark\:border-orange-800{border-color:var(--color-orange-800)}.dark\:border-red-900{border-color:var(--color-red-900)}.dark\:bg-amber-950{background-color:var(--color-amber-950)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-green-950{background-color:var(--color-green-950)}.dark\:bg-indigo-950{background-color:var(--color-indigo-950)}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-red-950{background-color:var(--color-red-950)}.dark\:bg-slate-900{background-color:var(--color-slate-900)}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-green-200{color:var(--color-green-200)}.dark\:text-green-300{color:var(--color-green-300)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-indigo-300{color:var(--color-indigo-300)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-red-300{color:var(--color-red-300)}.dark\:text-slate-400{color:var(--color-slate-400)}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:text-green-300:hover{color:var(--color-green-300)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@keyframes enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.5% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(96.5% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(96.5% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.1% 0 0);--input:oklch(92.1% 0 0);--ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(17.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(17.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(98.5% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(39.6% .141 25.723);--border:oklch(26.9% 0 0);--input:oklch(26.9% 0 0);--ring:oklch(43.9% 0 0)}@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-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}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
@@ -183,4 +183,4 @@ If you want to hide the \`${u.titleName}\`, you can wrap it with our VisuallyHid
|
|
|
183
183
|
For more information, see https://radix-ui.com/primitives/docs/components/${u.docsSlug}`;return b.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},hS="DialogDescriptionWarning",gS=({contentRef:a,descriptionId:u})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${$v(hS).contentName}}.`;return b.useEffect(()=>{var d;const s=(d=a.current)==null?void 0:d.getAttribute("aria-describedby");u&&s&&(document.getElementById(u)||console.warn(r))},[r,a,u]),null},vS=Hv,pS=Gv,yS=Yv,bS=qv,xS=Vv,SS=Zv,ES=Jv;function AS(a){const[u,c]=b.useState(void 0);return rl(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});const r=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const d=s[0];let m,g;if("borderBoxSize"in d){const y=d.borderBoxSize,v=Array.isArray(y)?y[0]:y;m=v.inlineSize,g=v.blockSize}else m=a.offsetWidth,g=a.offsetHeight;c({width:m,height:g})});return r.observe(a,{box:"border-box"}),()=>r.unobserve(a)}else c(void 0)},[a]),u}const CS=["top","right","bottom","left"],cl=Math.min,Rt=Math.max,Ao=Math.round,po=Math.floor,un=a=>({x:a,y:a}),MS={left:"right",right:"left",bottom:"top",top:"bottom"},wS={start:"end",end:"start"};function Es(a,u,c){return Rt(a,cl(u,c))}function Rn(a,u){return typeof a=="function"?a(u):a}function Nn(a){return a.split("-")[0]}function Na(a){return a.split("-")[1]}function Gs(a){return a==="x"?"y":"x"}function Ys(a){return a==="y"?"height":"width"}const TS=new Set(["top","bottom"]);function ln(a){return TS.has(Nn(a))?"y":"x"}function qs(a){return Gs(ln(a))}function _S(a,u,c){c===void 0&&(c=!1);const r=Na(a),s=qs(a),d=Ys(s);let m=s==="x"?r===(c?"end":"start")?"right":"left":r==="start"?"bottom":"top";return u.reference[d]>u.floating[d]&&(m=Co(m)),[m,Co(m)]}function OS(a){const u=Co(a);return[As(a),u,As(u)]}function As(a){return a.replace(/start|end/g,u=>wS[u])}const Hg=["left","right"],Bg=["right","left"],RS=["top","bottom"],NS=["bottom","top"];function DS(a,u,c){switch(a){case"top":case"bottom":return c?u?Bg:Hg:u?Hg:Bg;case"left":case"right":return u?RS:NS;default:return[]}}function zS(a,u,c,r){const s=Na(a);let d=DS(Nn(a),c==="start",r);return s&&(d=d.map(m=>m+"-"+s),u&&(d=d.concat(d.map(As)))),d}function Co(a){return a.replace(/left|right|bottom|top/g,u=>MS[u])}function jS(a){return{top:0,right:0,bottom:0,left:0,...a}}function Wv(a){return typeof a!="number"?jS(a):{top:a,right:a,bottom:a,left:a}}function Mo(a){const{x:u,y:c,width:r,height:s}=a;return{width:r,height:s,top:c,left:u,right:u+r,bottom:c+s,x:u,y:c}}function kg(a,u,c){let{reference:r,floating:s}=a;const d=ln(u),m=qs(u),g=Ys(m),y=Nn(u),v=d==="y",S=r.x+r.width/2-s.width/2,x=r.y+r.height/2-s.height/2,C=r[g]/2-s[g]/2;let M;switch(y){case"top":M={x:S,y:r.y-s.height};break;case"bottom":M={x:S,y:r.y+r.height};break;case"right":M={x:r.x+r.width,y:x};break;case"left":M={x:r.x-s.width,y:x};break;default:M={x:r.x,y:r.y}}switch(Na(u)){case"start":M[m]-=C*(c&&v?-1:1);break;case"end":M[m]+=C*(c&&v?-1:1);break}return M}async function US(a,u){var c;u===void 0&&(u={});const{x:r,y:s,platform:d,rects:m,elements:g,strategy:y}=a,{boundary:v="clippingAncestors",rootBoundary:S="viewport",elementContext:x="floating",altBoundary:C=!1,padding:M=0}=Rn(u,a),D=Wv(M),z=g[C?x==="floating"?"reference":"floating":x],H=Mo(await d.getClippingRect({element:(c=await(d.isElement==null?void 0:d.isElement(z)))==null||c?z:z.contextElement||await(d.getDocumentElement==null?void 0:d.getDocumentElement(g.floating)),boundary:v,rootBoundary:S,strategy:y})),J=x==="floating"?{x:r,y:s,width:m.floating.width,height:m.floating.height}:m.reference,X=await(d.getOffsetParent==null?void 0:d.getOffsetParent(g.floating)),V=await(d.isElement==null?void 0:d.isElement(X))?await(d.getScale==null?void 0:d.getScale(X))||{x:1,y:1}:{x:1,y:1},I=Mo(d.convertOffsetParentRelativeRectToViewportRelativeRect?await d.convertOffsetParentRelativeRectToViewportRelativeRect({elements:g,rect:J,offsetParent:X,strategy:y}):J);return{top:(H.top-I.top+D.top)/V.y,bottom:(I.bottom-H.bottom+D.bottom)/V.y,left:(H.left-I.left+D.left)/V.x,right:(I.right-H.right+D.right)/V.x}}const LS=async(a,u,c)=>{const{placement:r="bottom",strategy:s="absolute",middleware:d=[],platform:m}=c,g=d.filter(Boolean),y=await(m.isRTL==null?void 0:m.isRTL(u));let v=await m.getElementRects({reference:a,floating:u,strategy:s}),{x:S,y:x}=kg(v,r,y),C=r,M={},D=0;for(let z=0;z<g.length;z++){var T;const{name:H,fn:J}=g[z],{x:X,y:V,data:I,reset:W}=await J({x:S,y:x,initialPlacement:r,placement:C,strategy:s,middlewareData:M,rects:v,platform:{...m,detectOverflow:(T=m.detectOverflow)!=null?T:US},elements:{reference:a,floating:u}});S=X??S,x=V??x,M={...M,[H]:{...M[H],...I}},W&&D<=50&&(D++,typeof W=="object"&&(W.placement&&(C=W.placement),W.rects&&(v=W.rects===!0?await m.getElementRects({reference:a,floating:u,strategy:s}):W.rects),{x:S,y:x}=kg(v,C,y)),z=-1)}return{x:S,y:x,placement:C,strategy:s,middlewareData:M}},HS=a=>({name:"arrow",options:a,async fn(u){const{x:c,y:r,placement:s,rects:d,platform:m,elements:g,middlewareData:y}=u,{element:v,padding:S=0}=Rn(a,u)||{};if(v==null)return{};const x=Wv(S),C={x:c,y:r},M=qs(s),D=Ys(M),T=await m.getDimensions(v),z=M==="y",H=z?"top":"left",J=z?"bottom":"right",X=z?"clientHeight":"clientWidth",V=d.reference[D]+d.reference[M]-C[M]-d.floating[D],I=C[M]-d.reference[M],W=await(m.getOffsetParent==null?void 0:m.getOffsetParent(v));let Z=W?W[X]:0;(!Z||!await(m.isElement==null?void 0:m.isElement(W)))&&(Z=g.floating[X]||d.floating[D]);const K=V/2-I/2,ce=Z/2-T[D]/2-1,de=cl(x[H],ce),fe=cl(x[J],ce),re=de,ge=Z-T[D]-fe,me=Z/2-T[D]/2+K,ye=Es(re,me,ge),O=!y.arrow&&Na(s)!=null&&me!==ye&&d.reference[D]/2-(me<re?de:fe)-T[D]/2<0,Q=O?me<re?me-re:me-ge:0;return{[M]:C[M]+Q,data:{[M]:ye,centerOffset:me-ye-Q,...O&&{alignmentOffset:Q}},reset:O}}}),BS=function(a){return a===void 0&&(a={}),{name:"flip",options:a,async fn(u){var c,r;const{placement:s,middlewareData:d,rects:m,initialPlacement:g,platform:y,elements:v}=u,{mainAxis:S=!0,crossAxis:x=!0,fallbackPlacements:C,fallbackStrategy:M="bestFit",fallbackAxisSideDirection:D="none",flipAlignment:T=!0,...z}=Rn(a,u);if((c=d.arrow)!=null&&c.alignmentOffset)return{};const H=Nn(s),J=ln(g),X=Nn(g)===g,V=await(y.isRTL==null?void 0:y.isRTL(v.floating)),I=C||(X||!T?[Co(g)]:OS(g)),W=D!=="none";!C&&W&&I.push(...zS(g,T,D,V));const Z=[g,...I],K=await y.detectOverflow(u,z),ce=[];let de=((r=d.flip)==null?void 0:r.overflows)||[];if(S&&ce.push(K[H]),x){const me=_S(s,m,V);ce.push(K[me[0]],K[me[1]])}if(de=[...de,{placement:s,overflows:ce}],!ce.every(me=>me<=0)){var fe,re;const me=(((fe=d.flip)==null?void 0:fe.index)||0)+1,ye=Z[me];if(ye&&(!(x==="alignment"?J!==ln(ye):!1)||de.every(U=>ln(U.placement)===J?U.overflows[0]>0:!0)))return{data:{index:me,overflows:de},reset:{placement:ye}};let O=(re=de.filter(Q=>Q.overflows[0]<=0).sort((Q,U)=>Q.overflows[1]-U.overflows[1])[0])==null?void 0:re.placement;if(!O)switch(M){case"bestFit":{var ge;const Q=(ge=de.filter(U=>{if(W){const F=ln(U.placement);return F===J||F==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(F=>F>0).reduce((F,ue)=>F+ue,0)]).sort((U,F)=>U[1]-F[1])[0])==null?void 0:ge[0];Q&&(O=Q);break}case"initialPlacement":O=g;break}if(s!==O)return{reset:{placement:O}}}return{}}}};function Gg(a,u){return{top:a.top-u.height,right:a.right-u.width,bottom:a.bottom-u.height,left:a.left-u.width}}function Yg(a){return CS.some(u=>a[u]>=0)}const kS=function(a){return a===void 0&&(a={}),{name:"hide",options:a,async fn(u){const{rects:c,platform:r}=u,{strategy:s="referenceHidden",...d}=Rn(a,u);switch(s){case"referenceHidden":{const m=await r.detectOverflow(u,{...d,elementContext:"reference"}),g=Gg(m,c.reference);return{data:{referenceHiddenOffsets:g,referenceHidden:Yg(g)}}}case"escaped":{const m=await r.detectOverflow(u,{...d,altBoundary:!0}),g=Gg(m,c.floating);return{data:{escapedOffsets:g,escaped:Yg(g)}}}default:return{}}}}},Iv=new Set(["left","top"]);async function GS(a,u){const{placement:c,platform:r,elements:s}=a,d=await(r.isRTL==null?void 0:r.isRTL(s.floating)),m=Nn(c),g=Na(c),y=ln(c)==="y",v=Iv.has(m)?-1:1,S=d&&y?-1:1,x=Rn(u,a);let{mainAxis:C,crossAxis:M,alignmentAxis:D}=typeof x=="number"?{mainAxis:x,crossAxis:0,alignmentAxis:null}:{mainAxis:x.mainAxis||0,crossAxis:x.crossAxis||0,alignmentAxis:x.alignmentAxis};return g&&typeof D=="number"&&(M=g==="end"?D*-1:D),y?{x:M*S,y:C*v}:{x:C*v,y:M*S}}const YS=function(a){return a===void 0&&(a=0),{name:"offset",options:a,async fn(u){var c,r;const{x:s,y:d,placement:m,middlewareData:g}=u,y=await GS(u,a);return m===((c=g.offset)==null?void 0:c.placement)&&(r=g.arrow)!=null&&r.alignmentOffset?{}:{x:s+y.x,y:d+y.y,data:{...y,placement:m}}}}},qS=function(a){return a===void 0&&(a={}),{name:"shift",options:a,async fn(u){const{x:c,y:r,placement:s,platform:d}=u,{mainAxis:m=!0,crossAxis:g=!1,limiter:y={fn:H=>{let{x:J,y:X}=H;return{x:J,y:X}}},...v}=Rn(a,u),S={x:c,y:r},x=await d.detectOverflow(u,v),C=ln(Nn(s)),M=Gs(C);let D=S[M],T=S[C];if(m){const H=M==="y"?"top":"left",J=M==="y"?"bottom":"right",X=D+x[H],V=D-x[J];D=Es(X,D,V)}if(g){const H=C==="y"?"top":"left",J=C==="y"?"bottom":"right",X=T+x[H],V=T-x[J];T=Es(X,T,V)}const z=y.fn({...u,[M]:D,[C]:T});return{...z,data:{x:z.x-c,y:z.y-r,enabled:{[M]:m,[C]:g}}}}}},XS=function(a){return a===void 0&&(a={}),{options:a,fn(u){const{x:c,y:r,placement:s,rects:d,middlewareData:m}=u,{offset:g=0,mainAxis:y=!0,crossAxis:v=!0}=Rn(a,u),S={x:c,y:r},x=ln(s),C=Gs(x);let M=S[C],D=S[x];const T=Rn(g,u),z=typeof T=="number"?{mainAxis:T,crossAxis:0}:{mainAxis:0,crossAxis:0,...T};if(y){const X=C==="y"?"height":"width",V=d.reference[C]-d.floating[X]+z.mainAxis,I=d.reference[C]+d.reference[X]-z.mainAxis;M<V?M=V:M>I&&(M=I)}if(v){var H,J;const X=C==="y"?"width":"height",V=Iv.has(Nn(s)),I=d.reference[x]-d.floating[X]+(V&&((H=m.offset)==null?void 0:H[x])||0)+(V?0:z.crossAxis),W=d.reference[x]+d.reference[X]+(V?0:((J=m.offset)==null?void 0:J[x])||0)-(V?z.crossAxis:0);D<I?D=I:D>W&&(D=W)}return{[C]:M,[x]:D}}}},VS=function(a){return a===void 0&&(a={}),{name:"size",options:a,async fn(u){var c,r;const{placement:s,rects:d,platform:m,elements:g}=u,{apply:y=()=>{},...v}=Rn(a,u),S=await m.detectOverflow(u,v),x=Nn(s),C=Na(s),M=ln(s)==="y",{width:D,height:T}=d.floating;let z,H;x==="top"||x==="bottom"?(z=x,H=C===(await(m.isRTL==null?void 0:m.isRTL(g.floating))?"start":"end")?"left":"right"):(H=x,z=C==="end"?"top":"bottom");const J=T-S.top-S.bottom,X=D-S.left-S.right,V=cl(T-S[z],J),I=cl(D-S[H],X),W=!u.middlewareData.shift;let Z=V,K=I;if((c=u.middlewareData.shift)!=null&&c.enabled.x&&(K=X),(r=u.middlewareData.shift)!=null&&r.enabled.y&&(Z=J),W&&!C){const de=Rt(S.left,0),fe=Rt(S.right,0),re=Rt(S.top,0),ge=Rt(S.bottom,0);M?K=D-2*(de!==0||fe!==0?de+fe:Rt(S.left,S.right)):Z=T-2*(re!==0||ge!==0?re+ge:Rt(S.top,S.bottom))}await y({...u,availableWidth:K,availableHeight:Z});const ce=await m.getDimensions(g.floating);return D!==ce.width||T!==ce.height?{reset:{rects:!0}}:{}}}};function Do(){return typeof window<"u"}function Da(a){return Pv(a)?(a.nodeName||"").toLowerCase():"#document"}function Nt(a){var u;return(a==null||(u=a.ownerDocument)==null?void 0:u.defaultView)||window}function cn(a){var u;return(u=(Pv(a)?a.ownerDocument:a.document)||window.document)==null?void 0:u.documentElement}function Pv(a){return Do()?a instanceof Node||a instanceof Nt(a).Node:!1}function Jt(a){return Do()?a instanceof Element||a instanceof Nt(a).Element:!1}function rn(a){return Do()?a instanceof HTMLElement||a instanceof Nt(a).HTMLElement:!1}function qg(a){return!Do()||typeof ShadowRoot>"u"?!1:a instanceof ShadowRoot||a instanceof Nt(a).ShadowRoot}const QS=new Set(["inline","contents"]);function Yi(a){const{overflow:u,overflowX:c,overflowY:r,display:s}=Ft(a);return/auto|scroll|overlay|hidden|clip/.test(u+r+c)&&!QS.has(s)}const ZS=new Set(["table","td","th"]);function KS(a){return ZS.has(Da(a))}const JS=[":popover-open",":modal"];function zo(a){return JS.some(u=>{try{return a.matches(u)}catch{return!1}})}const FS=["transform","translate","scale","rotate","perspective"],$S=["transform","translate","scale","rotate","perspective","filter"],WS=["paint","layout","strict","content"];function Xs(a){const u=Vs(),c=Jt(a)?Ft(a):a;return FS.some(r=>c[r]?c[r]!=="none":!1)||(c.containerType?c.containerType!=="normal":!1)||!u&&(c.backdropFilter?c.backdropFilter!=="none":!1)||!u&&(c.filter?c.filter!=="none":!1)||$S.some(r=>(c.willChange||"").includes(r))||WS.some(r=>(c.contain||"").includes(r))}function IS(a){let u=sl(a);for(;rn(u)&&!wa(u);){if(Xs(u))return u;if(zo(u))return null;u=sl(u)}return null}function Vs(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const PS=new Set(["html","body","#document"]);function wa(a){return PS.has(Da(a))}function Ft(a){return Nt(a).getComputedStyle(a)}function jo(a){return Jt(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function sl(a){if(Da(a)==="html")return a;const u=a.assignedSlot||a.parentNode||qg(a)&&a.host||cn(a);return qg(u)?u.host:u}function ep(a){const u=sl(a);return wa(u)?a.ownerDocument?a.ownerDocument.body:a.body:rn(u)&&Yi(u)?u:ep(u)}function Bi(a,u,c){var r;u===void 0&&(u=[]),c===void 0&&(c=!0);const s=ep(a),d=s===((r=a.ownerDocument)==null?void 0:r.body),m=Nt(s);if(d){const g=Cs(m);return u.concat(m,m.visualViewport||[],Yi(s)?s:[],g&&c?Bi(g):[])}return u.concat(s,Bi(s,[],c))}function Cs(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function tp(a){const u=Ft(a);let c=parseFloat(u.width)||0,r=parseFloat(u.height)||0;const s=rn(a),d=s?a.offsetWidth:c,m=s?a.offsetHeight:r,g=Ao(c)!==d||Ao(r)!==m;return g&&(c=d,r=m),{width:c,height:r,$:g}}function Qs(a){return Jt(a)?a:a.contextElement}function Ma(a){const u=Qs(a);if(!rn(u))return un(1);const c=u.getBoundingClientRect(),{width:r,height:s,$:d}=tp(u);let m=(d?Ao(c.width):c.width)/r,g=(d?Ao(c.height):c.height)/s;return(!m||!Number.isFinite(m))&&(m=1),(!g||!Number.isFinite(g))&&(g=1),{x:m,y:g}}const e2=un(0);function np(a){const u=Nt(a);return!Vs()||!u.visualViewport?e2:{x:u.visualViewport.offsetLeft,y:u.visualViewport.offsetTop}}function t2(a,u,c){return u===void 0&&(u=!1),!c||u&&c!==Nt(a)?!1:u}function Dl(a,u,c,r){u===void 0&&(u=!1),c===void 0&&(c=!1);const s=a.getBoundingClientRect(),d=Qs(a);let m=un(1);u&&(r?Jt(r)&&(m=Ma(r)):m=Ma(a));const g=t2(d,c,r)?np(d):un(0);let y=(s.left+g.x)/m.x,v=(s.top+g.y)/m.y,S=s.width/m.x,x=s.height/m.y;if(d){const C=Nt(d),M=r&&Jt(r)?Nt(r):r;let D=C,T=Cs(D);for(;T&&r&&M!==D;){const z=Ma(T),H=T.getBoundingClientRect(),J=Ft(T),X=H.left+(T.clientLeft+parseFloat(J.paddingLeft))*z.x,V=H.top+(T.clientTop+parseFloat(J.paddingTop))*z.y;y*=z.x,v*=z.y,S*=z.x,x*=z.y,y+=X,v+=V,D=Nt(T),T=Cs(D)}}return Mo({width:S,height:x,x:y,y:v})}function Uo(a,u){const c=jo(a).scrollLeft;return u?u.left+c:Dl(cn(a)).left+c}function lp(a,u){const c=a.getBoundingClientRect(),r=c.left+u.scrollLeft-Uo(a,c),s=c.top+u.scrollTop;return{x:r,y:s}}function n2(a){let{elements:u,rect:c,offsetParent:r,strategy:s}=a;const d=s==="fixed",m=cn(r),g=u?zo(u.floating):!1;if(r===m||g&&d)return c;let y={scrollLeft:0,scrollTop:0},v=un(1);const S=un(0),x=rn(r);if((x||!x&&!d)&&((Da(r)!=="body"||Yi(m))&&(y=jo(r)),rn(r))){const M=Dl(r);v=Ma(r),S.x=M.x+r.clientLeft,S.y=M.y+r.clientTop}const C=m&&!x&&!d?lp(m,y):un(0);return{width:c.width*v.x,height:c.height*v.y,x:c.x*v.x-y.scrollLeft*v.x+S.x+C.x,y:c.y*v.y-y.scrollTop*v.y+S.y+C.y}}function l2(a){return Array.from(a.getClientRects())}function a2(a){const u=cn(a),c=jo(a),r=a.ownerDocument.body,s=Rt(u.scrollWidth,u.clientWidth,r.scrollWidth,r.clientWidth),d=Rt(u.scrollHeight,u.clientHeight,r.scrollHeight,r.clientHeight);let m=-c.scrollLeft+Uo(a);const g=-c.scrollTop;return Ft(r).direction==="rtl"&&(m+=Rt(u.clientWidth,r.clientWidth)-s),{width:s,height:d,x:m,y:g}}const Xg=25;function i2(a,u){const c=Nt(a),r=cn(a),s=c.visualViewport;let d=r.clientWidth,m=r.clientHeight,g=0,y=0;if(s){d=s.width,m=s.height;const S=Vs();(!S||S&&u==="fixed")&&(g=s.offsetLeft,y=s.offsetTop)}const v=Uo(r);if(v<=0){const S=r.ownerDocument,x=S.body,C=getComputedStyle(x),M=S.compatMode==="CSS1Compat"&&parseFloat(C.marginLeft)+parseFloat(C.marginRight)||0,D=Math.abs(r.clientWidth-x.clientWidth-M);D<=Xg&&(d-=D)}else v<=Xg&&(d+=v);return{width:d,height:m,x:g,y}}const u2=new Set(["absolute","fixed"]);function o2(a,u){const c=Dl(a,!0,u==="fixed"),r=c.top+a.clientTop,s=c.left+a.clientLeft,d=rn(a)?Ma(a):un(1),m=a.clientWidth*d.x,g=a.clientHeight*d.y,y=s*d.x,v=r*d.y;return{width:m,height:g,x:y,y:v}}function Vg(a,u,c){let r;if(u==="viewport")r=i2(a,c);else if(u==="document")r=a2(cn(a));else if(Jt(u))r=o2(u,c);else{const s=np(a);r={x:u.x-s.x,y:u.y-s.y,width:u.width,height:u.height}}return Mo(r)}function ap(a,u){const c=sl(a);return c===u||!Jt(c)||wa(c)?!1:Ft(c).position==="fixed"||ap(c,u)}function r2(a,u){const c=u.get(a);if(c)return c;let r=Bi(a,[],!1).filter(g=>Jt(g)&&Da(g)!=="body"),s=null;const d=Ft(a).position==="fixed";let m=d?sl(a):a;for(;Jt(m)&&!wa(m);){const g=Ft(m),y=Xs(m);!y&&g.position==="fixed"&&(s=null),(d?!y&&!s:!y&&g.position==="static"&&!!s&&u2.has(s.position)||Yi(m)&&!y&&ap(a,m))?r=r.filter(S=>S!==m):s=g,m=sl(m)}return u.set(a,r),r}function c2(a){let{element:u,boundary:c,rootBoundary:r,strategy:s}=a;const m=[...c==="clippingAncestors"?zo(u)?[]:r2(u,this._c):[].concat(c),r],g=m[0],y=m.reduce((v,S)=>{const x=Vg(u,S,s);return v.top=Rt(x.top,v.top),v.right=cl(x.right,v.right),v.bottom=cl(x.bottom,v.bottom),v.left=Rt(x.left,v.left),v},Vg(u,g,s));return{width:y.right-y.left,height:y.bottom-y.top,x:y.left,y:y.top}}function s2(a){const{width:u,height:c}=tp(a);return{width:u,height:c}}function f2(a,u,c){const r=rn(u),s=cn(u),d=c==="fixed",m=Dl(a,!0,d,u);let g={scrollLeft:0,scrollTop:0};const y=un(0);function v(){y.x=Uo(s)}if(r||!r&&!d)if((Da(u)!=="body"||Yi(s))&&(g=jo(u)),r){const M=Dl(u,!0,d,u);y.x=M.x+u.clientLeft,y.y=M.y+u.clientTop}else s&&v();d&&!r&&s&&v();const S=s&&!r&&!d?lp(s,g):un(0),x=m.left+g.scrollLeft-y.x-S.x,C=m.top+g.scrollTop-y.y-S.y;return{x,y:C,width:m.width,height:m.height}}function gs(a){return Ft(a).position==="static"}function Qg(a,u){if(!rn(a)||Ft(a).position==="fixed")return null;if(u)return u(a);let c=a.offsetParent;return cn(a)===c&&(c=c.ownerDocument.body),c}function ip(a,u){const c=Nt(a);if(zo(a))return c;if(!rn(a)){let s=sl(a);for(;s&&!wa(s);){if(Jt(s)&&!gs(s))return s;s=sl(s)}return c}let r=Qg(a,u);for(;r&&KS(r)&&gs(r);)r=Qg(r,u);return r&&wa(r)&&gs(r)&&!Xs(r)?c:r||IS(a)||c}const d2=async function(a){const u=this.getOffsetParent||ip,c=this.getDimensions,r=await c(a.floating);return{reference:f2(a.reference,await u(a.floating),a.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function m2(a){return Ft(a).direction==="rtl"}const h2={convertOffsetParentRelativeRectToViewportRelativeRect:n2,getDocumentElement:cn,getClippingRect:c2,getOffsetParent:ip,getElementRects:d2,getClientRects:l2,getDimensions:s2,getScale:Ma,isElement:Jt,isRTL:m2};function up(a,u){return a.x===u.x&&a.y===u.y&&a.width===u.width&&a.height===u.height}function g2(a,u){let c=null,r;const s=cn(a);function d(){var g;clearTimeout(r),(g=c)==null||g.disconnect(),c=null}function m(g,y){g===void 0&&(g=!1),y===void 0&&(y=1),d();const v=a.getBoundingClientRect(),{left:S,top:x,width:C,height:M}=v;if(g||u(),!C||!M)return;const D=po(x),T=po(s.clientWidth-(S+C)),z=po(s.clientHeight-(x+M)),H=po(S),X={rootMargin:-D+"px "+-T+"px "+-z+"px "+-H+"px",threshold:Rt(0,cl(1,y))||1};let V=!0;function I(W){const Z=W[0].intersectionRatio;if(Z!==y){if(!V)return m();Z?m(!1,Z):r=setTimeout(()=>{m(!1,1e-7)},1e3)}Z===1&&!up(v,a.getBoundingClientRect())&&m(),V=!1}try{c=new IntersectionObserver(I,{...X,root:s.ownerDocument})}catch{c=new IntersectionObserver(I,X)}c.observe(a)}return m(!0),d}function v2(a,u,c,r){r===void 0&&(r={});const{ancestorScroll:s=!0,ancestorResize:d=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:g=typeof IntersectionObserver=="function",animationFrame:y=!1}=r,v=Qs(a),S=s||d?[...v?Bi(v):[],...Bi(u)]:[];S.forEach(H=>{s&&H.addEventListener("scroll",c,{passive:!0}),d&&H.addEventListener("resize",c)});const x=v&&g?g2(v,c):null;let C=-1,M=null;m&&(M=new ResizeObserver(H=>{let[J]=H;J&&J.target===v&&M&&(M.unobserve(u),cancelAnimationFrame(C),C=requestAnimationFrame(()=>{var X;(X=M)==null||X.observe(u)})),c()}),v&&!y&&M.observe(v),M.observe(u));let D,T=y?Dl(a):null;y&&z();function z(){const H=Dl(a);T&&!up(T,H)&&c(),T=H,D=requestAnimationFrame(z)}return c(),()=>{var H;S.forEach(J=>{s&&J.removeEventListener("scroll",c),d&&J.removeEventListener("resize",c)}),x==null||x(),(H=M)==null||H.disconnect(),M=null,y&&cancelAnimationFrame(D)}}const p2=YS,y2=qS,b2=BS,x2=VS,S2=kS,Zg=HS,E2=XS,A2=(a,u,c)=>{const r=new Map,s={platform:h2,...c},d={...s.platform,_c:r};return LS(a,u,{...s,platform:d})};var C2=typeof document<"u",M2=function(){},xo=C2?b.useLayoutEffect:M2;function wo(a,u){if(a===u)return!0;if(typeof a!=typeof u)return!1;if(typeof a=="function"&&a.toString()===u.toString())return!0;let c,r,s;if(a&&u&&typeof a=="object"){if(Array.isArray(a)){if(c=a.length,c!==u.length)return!1;for(r=c;r--!==0;)if(!wo(a[r],u[r]))return!1;return!0}if(s=Object.keys(a),c=s.length,c!==Object.keys(u).length)return!1;for(r=c;r--!==0;)if(!{}.hasOwnProperty.call(u,s[r]))return!1;for(r=c;r--!==0;){const d=s[r];if(!(d==="_owner"&&a.$$typeof)&&!wo(a[d],u[d]))return!1}return!0}return a!==a&&u!==u}function op(a){return typeof window>"u"?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function Kg(a,u){const c=op(a);return Math.round(u*c)/c}function vs(a){const u=b.useRef(a);return xo(()=>{u.current=a}),u}function w2(a){a===void 0&&(a={});const{placement:u="bottom",strategy:c="absolute",middleware:r=[],platform:s,elements:{reference:d,floating:m}={},transform:g=!0,whileElementsMounted:y,open:v}=a,[S,x]=b.useState({x:0,y:0,strategy:c,placement:u,middlewareData:{},isPositioned:!1}),[C,M]=b.useState(r);wo(C,r)||M(r);const[D,T]=b.useState(null),[z,H]=b.useState(null),J=b.useCallback(U=>{U!==W.current&&(W.current=U,T(U))},[]),X=b.useCallback(U=>{U!==Z.current&&(Z.current=U,H(U))},[]),V=d||D,I=m||z,W=b.useRef(null),Z=b.useRef(null),K=b.useRef(S),ce=y!=null,de=vs(y),fe=vs(s),re=vs(v),ge=b.useCallback(()=>{if(!W.current||!Z.current)return;const U={placement:u,strategy:c,middleware:C};fe.current&&(U.platform=fe.current),A2(W.current,Z.current,U).then(F=>{const ue={...F,isPositioned:re.current!==!1};me.current&&!wo(K.current,ue)&&(K.current=ue,Ns.flushSync(()=>{x(ue)}))})},[C,u,c,fe,re]);xo(()=>{v===!1&&K.current.isPositioned&&(K.current.isPositioned=!1,x(U=>({...U,isPositioned:!1})))},[v]);const me=b.useRef(!1);xo(()=>(me.current=!0,()=>{me.current=!1}),[]),xo(()=>{if(V&&(W.current=V),I&&(Z.current=I),V&&I){if(de.current)return de.current(V,I,ge);ge()}},[V,I,ge,de,ce]);const ye=b.useMemo(()=>({reference:W,floating:Z,setReference:J,setFloating:X}),[J,X]),O=b.useMemo(()=>({reference:V,floating:I}),[V,I]),Q=b.useMemo(()=>{const U={position:c,left:0,top:0};if(!O.floating)return U;const F=Kg(O.floating,S.x),ue=Kg(O.floating,S.y);return g?{...U,transform:"translate("+F+"px, "+ue+"px)",...op(O.floating)>=1.5&&{willChange:"transform"}}:{position:c,left:F,top:ue}},[c,g,O.floating,S.x,S.y]);return b.useMemo(()=>({...S,update:ge,refs:ye,elements:O,floatingStyles:Q}),[S,ge,ye,O,Q])}const T2=a=>{function u(c){return{}.hasOwnProperty.call(c,"current")}return{name:"arrow",options:a,fn(c){const{element:r,padding:s}=typeof a=="function"?a(c):a;return r&&u(r)?r.current!=null?Zg({element:r.current,padding:s}).fn(c):{}:r?Zg({element:r,padding:s}).fn(c):{}}}},_2=(a,u)=>({...p2(a),options:[a,u]}),O2=(a,u)=>({...y2(a),options:[a,u]}),R2=(a,u)=>({...E2(a),options:[a,u]}),N2=(a,u)=>({...b2(a),options:[a,u]}),D2=(a,u)=>({...x2(a),options:[a,u]}),z2=(a,u)=>({...S2(a),options:[a,u]}),j2=(a,u)=>({...T2(a),options:[a,u]});var U2="Arrow",rp=b.forwardRef((a,u)=>{const{children:c,width:r=10,height:s=5,...d}=a;return h.jsx(Fe.svg,{...d,ref:u,width:r,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});rp.displayName=U2;var L2=rp,Zs="Popper",[cp,sp]=Ra(Zs),[H2,fp]=cp(Zs),dp=a=>{const{__scopePopper:u,children:c}=a,[r,s]=b.useState(null);return h.jsx(H2,{scope:u,anchor:r,onAnchorChange:s,children:c})};dp.displayName=Zs;var mp="PopperAnchor",hp=b.forwardRef((a,u)=>{const{__scopePopper:c,virtualRef:r,...s}=a,d=fp(mp,c),m=b.useRef(null),g=ot(u,m),y=b.useRef(null);return b.useEffect(()=>{const v=y.current;y.current=(r==null?void 0:r.current)||m.current,v!==y.current&&d.onAnchorChange(y.current)}),r?null:h.jsx(Fe.div,{...s,ref:g})});hp.displayName=mp;var Ks="PopperContent",[B2,k2]=cp(Ks),gp=b.forwardRef((a,u)=>{var ee,Le,be,rt,Xt,Vt;const{__scopePopper:c,side:r="bottom",sideOffset:s=0,align:d="center",alignOffset:m=0,arrowPadding:g=0,avoidCollisions:y=!0,collisionBoundary:v=[],collisionPadding:S=0,sticky:x="partial",hideWhenDetached:C=!1,updatePositionStrategy:M="optimized",onPlaced:D,...T}=a,z=fp(Ks,c),[H,J]=b.useState(null),X=ot(u,Dn=>J(Dn)),[V,I]=b.useState(null),W=AS(V),Z=(W==null?void 0:W.width)??0,K=(W==null?void 0:W.height)??0,ce=r+(d!=="center"?"-"+d:""),de=typeof S=="number"?S:{top:0,right:0,bottom:0,left:0,...S},fe=Array.isArray(v)?v:[v],re=fe.length>0,ge={padding:de,boundary:fe.filter(Y2),altBoundary:re},{refs:me,floatingStyles:ye,placement:O,isPositioned:Q,middlewareData:U}=w2({strategy:"fixed",placement:ce,whileElementsMounted:(...Dn)=>v2(...Dn,{animationFrame:M==="always"}),elements:{reference:z.anchor},middleware:[_2({mainAxis:s+K,alignmentAxis:m}),y&&O2({mainAxis:!0,crossAxis:!1,limiter:x==="partial"?R2():void 0,...ge}),y&&N2({...ge}),D2({...ge,apply:({elements:Dn,rects:Wt,availableWidth:za,availableHeight:ja})=>{const{width:ko,height:Qi}=Wt.reference,zn=Dn.floating.style;zn.setProperty("--radix-popper-available-width",`${za}px`),zn.setProperty("--radix-popper-available-height",`${ja}px`),zn.setProperty("--radix-popper-anchor-width",`${ko}px`),zn.setProperty("--radix-popper-anchor-height",`${Qi}px`)}}),V&&j2({element:V,padding:g}),q2({arrowWidth:Z,arrowHeight:K}),C&&z2({strategy:"referenceHidden",...ge})]}),[F,ue]=yp(O),A=On(D);rl(()=>{Q&&(A==null||A())},[Q,A]);const B=(ee=U.arrow)==null?void 0:ee.x,$=(Le=U.arrow)==null?void 0:Le.y,Y=((be=U.arrow)==null?void 0:be.centerOffset)!==0,[P,ie]=b.useState();return rl(()=>{H&&ie(window.getComputedStyle(H).zIndex)},[H]),h.jsx("div",{ref:me.setFloating,"data-radix-popper-content-wrapper":"",style:{...ye,transform:Q?ye.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:P,"--radix-popper-transform-origin":[(rt=U.transformOrigin)==null?void 0:rt.x,(Xt=U.transformOrigin)==null?void 0:Xt.y].join(" "),...((Vt=U.hide)==null?void 0:Vt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:h.jsx(B2,{scope:c,placedSide:F,onArrowChange:I,arrowX:B,arrowY:$,shouldHideArrow:Y,children:h.jsx(Fe.div,{"data-side":F,"data-align":ue,...T,ref:X,style:{...T.style,animation:Q?void 0:"none"}})})})});gp.displayName=Ks;var vp="PopperArrow",G2={top:"bottom",right:"left",bottom:"top",left:"right"},pp=b.forwardRef(function(u,c){const{__scopePopper:r,...s}=u,d=k2(vp,r),m=G2[d.placedSide];return h.jsx("span",{ref:d.onArrowChange,style:{position:"absolute",left:d.arrowX,top:d.arrowY,[m]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[d.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[d.placedSide],visibility:d.shouldHideArrow?"hidden":void 0},children:h.jsx(L2,{...s,ref:c,style:{...s.style,display:"block"}})})});pp.displayName=vp;function Y2(a){return a!==null}var q2=a=>({name:"transformOrigin",options:a,fn(u){var z,H,J;const{placement:c,rects:r,middlewareData:s}=u,m=((z=s.arrow)==null?void 0:z.centerOffset)!==0,g=m?0:a.arrowWidth,y=m?0:a.arrowHeight,[v,S]=yp(c),x={start:"0%",center:"50%",end:"100%"}[S],C=(((H=s.arrow)==null?void 0:H.x)??0)+g/2,M=(((J=s.arrow)==null?void 0:J.y)??0)+y/2;let D="",T="";return v==="bottom"?(D=m?x:`${C}px`,T=`${-y}px`):v==="top"?(D=m?x:`${C}px`,T=`${r.floating.height+y}px`):v==="right"?(D=`${-y}px`,T=m?x:`${M}px`):v==="left"&&(D=`${r.floating.width+y}px`,T=m?x:`${M}px`),{data:{x:D,y:T}}}});function yp(a){const[u,c="center"]=a.split("-");return[u,c]}var X2=dp,V2=hp,Q2=gp,Z2=pp,ps="rovingFocusGroup.onEntryFocus",K2={bubbles:!1,cancelable:!0},qi="RovingFocusGroup",[Ms,bp,J2]=Sv(qi),[F2,xp]=Ra(qi,[J2]),[$2,W2]=F2(qi),Sp=b.forwardRef((a,u)=>h.jsx(Ms.Provider,{scope:a.__scopeRovingFocusGroup,children:h.jsx(Ms.Slot,{scope:a.__scopeRovingFocusGroup,children:h.jsx(I2,{...a,ref:u})})}));Sp.displayName=qi;var I2=b.forwardRef((a,u)=>{const{__scopeRovingFocusGroup:c,orientation:r,loop:s=!1,dir:d,currentTabStopId:m,defaultCurrentTabStopId:g,onCurrentTabStopIdChange:y,onEntryFocus:v,preventScrollOnEntryFocus:S=!1,...x}=a,C=b.useRef(null),M=ot(u,C),D=Ev(d),[T,z]=Ds({prop:m,defaultProp:g??null,onChange:y,caller:qi}),[H,J]=b.useState(!1),X=On(v),V=bp(c),I=b.useRef(!1),[W,Z]=b.useState(0);return b.useEffect(()=>{const K=C.current;if(K)return K.addEventListener(ps,X),()=>K.removeEventListener(ps,X)},[X]),h.jsx($2,{scope:c,orientation:r,dir:D,loop:s,currentTabStopId:T,onItemFocus:b.useCallback(K=>z(K),[z]),onItemShiftTab:b.useCallback(()=>J(!0),[]),onFocusableItemAdd:b.useCallback(()=>Z(K=>K+1),[]),onFocusableItemRemove:b.useCallback(()=>Z(K=>K-1),[]),children:h.jsx(Fe.div,{tabIndex:H||W===0?-1:0,"data-orientation":r,...x,ref:M,style:{outline:"none",...a.style},onMouseDown:Se(a.onMouseDown,()=>{I.current=!0}),onFocus:Se(a.onFocus,K=>{const ce=!I.current;if(K.target===K.currentTarget&&ce&&!H){const de=new CustomEvent(ps,K2);if(K.currentTarget.dispatchEvent(de),!de.defaultPrevented){const fe=V().filter(O=>O.focusable),re=fe.find(O=>O.active),ge=fe.find(O=>O.id===T),ye=[re,ge,...fe].filter(Boolean).map(O=>O.ref.current);Cp(ye,S)}}I.current=!1}),onBlur:Se(a.onBlur,()=>J(!1))})})}),Ep="RovingFocusGroupItem",Ap=b.forwardRef((a,u)=>{const{__scopeRovingFocusGroup:c,focusable:r=!0,active:s=!1,tabStopId:d,children:m,...g}=a,y=Aa(),v=d||y,S=W2(Ep,c),x=S.currentTabStopId===v,C=bp(c),{onFocusableItemAdd:M,onFocusableItemRemove:D,currentTabStopId:T}=S;return b.useEffect(()=>{if(r)return M(),()=>D()},[r,M,D]),h.jsx(Ms.ItemSlot,{scope:c,id:v,focusable:r,active:s,children:h.jsx(Fe.span,{tabIndex:x?0:-1,"data-orientation":S.orientation,...g,ref:u,onMouseDown:Se(a.onMouseDown,z=>{r?S.onItemFocus(v):z.preventDefault()}),onFocus:Se(a.onFocus,()=>S.onItemFocus(v)),onKeyDown:Se(a.onKeyDown,z=>{if(z.key==="Tab"&&z.shiftKey){S.onItemShiftTab();return}if(z.target!==z.currentTarget)return;const H=tE(z,S.orientation,S.dir);if(H!==void 0){if(z.metaKey||z.ctrlKey||z.altKey||z.shiftKey)return;z.preventDefault();let X=C().filter(V=>V.focusable).map(V=>V.ref.current);if(H==="last")X.reverse();else if(H==="prev"||H==="next"){H==="prev"&&X.reverse();const V=X.indexOf(z.currentTarget);X=S.loop?nE(X,V+1):X.slice(V+1)}setTimeout(()=>Cp(X))}}),children:typeof m=="function"?m({isCurrentTabStop:x,hasTabStop:T!=null}):m})})});Ap.displayName=Ep;var P2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function eE(a,u){return u!=="rtl"?a:a==="ArrowLeft"?"ArrowRight":a==="ArrowRight"?"ArrowLeft":a}function tE(a,u,c){const r=eE(a.key,c);if(!(u==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(u==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return P2[r]}function Cp(a,u=!1){const c=document.activeElement;for(const r of a)if(r===c||(r.focus({preventScroll:u}),document.activeElement!==c))return}function nE(a,u){return a.map((c,r)=>a[(u+r)%a.length])}var lE=Sp,aE=Ap,ws=["Enter"," "],iE=["ArrowDown","PageUp","Home"],Mp=["ArrowUp","PageDown","End"],uE=[...iE,...Mp],oE={ltr:[...ws,"ArrowRight"],rtl:[...ws,"ArrowLeft"]},rE={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Xi="Menu",[ki,cE,sE]=Sv(Xi),[zl,wp]=Ra(Xi,[sE,sp,xp]),Lo=sp(),Tp=xp(),[fE,jl]=zl(Xi),[dE,Vi]=zl(Xi),_p=a=>{const{__scopeMenu:u,open:c=!1,children:r,dir:s,onOpenChange:d,modal:m=!0}=a,g=Lo(u),[y,v]=b.useState(null),S=b.useRef(!1),x=On(d),C=Ev(s);return b.useEffect(()=>{const M=()=>{S.current=!0,document.addEventListener("pointerdown",D,{capture:!0,once:!0}),document.addEventListener("pointermove",D,{capture:!0,once:!0})},D=()=>S.current=!1;return document.addEventListener("keydown",M,{capture:!0}),()=>{document.removeEventListener("keydown",M,{capture:!0}),document.removeEventListener("pointerdown",D,{capture:!0}),document.removeEventListener("pointermove",D,{capture:!0})}},[]),h.jsx(X2,{...g,children:h.jsx(fE,{scope:u,open:c,onOpenChange:x,content:y,onContentChange:v,children:h.jsx(dE,{scope:u,onClose:b.useCallback(()=>x(!1),[x]),isUsingKeyboardRef:S,dir:C,modal:m,children:r})})})};_p.displayName=Xi;var mE="MenuAnchor",Js=b.forwardRef((a,u)=>{const{__scopeMenu:c,...r}=a,s=Lo(c);return h.jsx(V2,{...s,...r,ref:u})});Js.displayName=mE;var Fs="MenuPortal",[hE,Op]=zl(Fs,{forceMount:void 0}),Rp=a=>{const{__scopeMenu:u,forceMount:c,children:r,container:s}=a,d=jl(Fs,u);return h.jsx(hE,{scope:u,forceMount:c,children:h.jsx(fl,{present:c||d.open,children:h.jsx(Us,{asChild:!0,container:s,children:r})})})};Rp.displayName=Fs;var qt="MenuContent",[gE,$s]=zl(qt),Np=b.forwardRef((a,u)=>{const c=Op(qt,a.__scopeMenu),{forceMount:r=c.forceMount,...s}=a,d=jl(qt,a.__scopeMenu),m=Vi(qt,a.__scopeMenu);return h.jsx(ki.Provider,{scope:a.__scopeMenu,children:h.jsx(fl,{present:r||d.open,children:h.jsx(ki.Slot,{scope:a.__scopeMenu,children:m.modal?h.jsx(vE,{...s,ref:u}):h.jsx(pE,{...s,ref:u})})})})}),vE=b.forwardRef((a,u)=>{const c=jl(qt,a.__scopeMenu),r=b.useRef(null),s=ot(u,r);return b.useEffect(()=>{const d=r.current;if(d)return Uv(d)},[]),h.jsx(Ws,{...a,ref:s,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:Se(a.onFocusOutside,d=>d.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),pE=b.forwardRef((a,u)=>{const c=jl(qt,a.__scopeMenu);return h.jsx(Ws,{...a,ref:u,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),yE=Hi("MenuContent.ScrollLock"),Ws=b.forwardRef((a,u)=>{const{__scopeMenu:c,loop:r=!1,trapFocus:s,onOpenAutoFocus:d,onCloseAutoFocus:m,disableOutsidePointerEvents:g,onEntryFocus:y,onEscapeKeyDown:v,onPointerDownOutside:S,onFocusOutside:x,onInteractOutside:C,onDismiss:M,disableOutsideScroll:D,...T}=a,z=jl(qt,c),H=Vi(qt,c),J=Lo(c),X=Tp(c),V=cE(c),[I,W]=b.useState(null),Z=b.useRef(null),K=ot(u,Z,z.onContentChange),ce=b.useRef(0),de=b.useRef(""),fe=b.useRef(0),re=b.useRef(null),ge=b.useRef("right"),me=b.useRef(0),ye=D?Ls:b.Fragment,O=D?{as:yE,allowPinchZoom:!0}:void 0,Q=F=>{var ee,Le;const ue=de.current+F,A=V().filter(be=>!be.disabled),B=document.activeElement,$=(ee=A.find(be=>be.ref.current===B))==null?void 0:ee.textValue,Y=A.map(be=>be.textValue),P=RE(Y,ue,$),ie=(Le=A.find(be=>be.textValue===P))==null?void 0:Le.ref.current;(function be(rt){de.current=rt,window.clearTimeout(ce.current),rt!==""&&(ce.current=window.setTimeout(()=>be(""),1e3))})(ue),ie&&setTimeout(()=>ie.focus())};b.useEffect(()=>()=>window.clearTimeout(ce.current),[]),wv();const U=b.useCallback(F=>{var A,B;return ge.current===((A=re.current)==null?void 0:A.side)&&DE(F,(B=re.current)==null?void 0:B.area)},[]);return h.jsx(gE,{scope:c,searchRef:de,onItemEnter:b.useCallback(F=>{U(F)&&F.preventDefault()},[U]),onItemLeave:b.useCallback(F=>{var ue;U(F)||((ue=Z.current)==null||ue.focus(),W(null))},[U]),onTriggerLeave:b.useCallback(F=>{U(F)&&F.preventDefault()},[U]),pointerGraceTimerRef:fe,onPointerGraceIntentChange:b.useCallback(F=>{re.current=F},[]),children:h.jsx(ye,{...O,children:h.jsx(js,{asChild:!0,trapped:s,onMountAutoFocus:Se(d,F=>{var ue;F.preventDefault(),(ue=Z.current)==null||ue.focus({preventScroll:!0})}),onUnmountAutoFocus:m,children:h.jsx(zs,{asChild:!0,disableOutsidePointerEvents:g,onEscapeKeyDown:v,onPointerDownOutside:S,onFocusOutside:x,onInteractOutside:C,onDismiss:M,children:h.jsx(lE,{asChild:!0,...X,dir:H.dir,orientation:"vertical",loop:r,currentTabStopId:I,onCurrentTabStopIdChange:W,onEntryFocus:Se(y,F=>{H.isUsingKeyboardRef.current||F.preventDefault()}),preventScrollOnEntryFocus:!0,children:h.jsx(Q2,{role:"menu","aria-orientation":"vertical","data-state":Kp(z.open),"data-radix-menu-content":"",dir:H.dir,...J,...T,ref:K,style:{outline:"none",...T.style},onKeyDown:Se(T.onKeyDown,F=>{const A=F.target.closest("[data-radix-menu-content]")===F.currentTarget,B=F.ctrlKey||F.altKey||F.metaKey,$=F.key.length===1;A&&(F.key==="Tab"&&F.preventDefault(),!B&&$&&Q(F.key));const Y=Z.current;if(F.target!==Y||!uE.includes(F.key))return;F.preventDefault();const ie=V().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);Mp.includes(F.key)&&ie.reverse(),_E(ie)}),onBlur:Se(a.onBlur,F=>{F.currentTarget.contains(F.target)||(window.clearTimeout(ce.current),de.current="")}),onPointerMove:Se(a.onPointerMove,Gi(F=>{const ue=F.target,A=me.current!==F.clientX;if(F.currentTarget.contains(ue)&&A){const B=F.clientX>me.current?"right":"left";ge.current=B,me.current=F.clientX}}))})})})})})})});Np.displayName=qt;var bE="MenuGroup",Is=b.forwardRef((a,u)=>{const{__scopeMenu:c,...r}=a;return h.jsx(Fe.div,{role:"group",...r,ref:u})});Is.displayName=bE;var xE="MenuLabel",Dp=b.forwardRef((a,u)=>{const{__scopeMenu:c,...r}=a;return h.jsx(Fe.div,{...r,ref:u})});Dp.displayName=xE;var To="MenuItem",Jg="menu.itemSelect",Ho=b.forwardRef((a,u)=>{const{disabled:c=!1,onSelect:r,...s}=a,d=b.useRef(null),m=Vi(To,a.__scopeMenu),g=$s(To,a.__scopeMenu),y=ot(u,d),v=b.useRef(!1),S=()=>{const x=d.current;if(!c&&x){const C=new CustomEvent(Jg,{bubbles:!0,cancelable:!0});x.addEventListener(Jg,M=>r==null?void 0:r(M),{once:!0}),xv(x,C),C.defaultPrevented?v.current=!1:m.onClose()}};return h.jsx(zp,{...s,ref:y,disabled:c,onClick:Se(a.onClick,S),onPointerDown:x=>{var C;(C=a.onPointerDown)==null||C.call(a,x),v.current=!0},onPointerUp:Se(a.onPointerUp,x=>{var C;v.current||(C=x.currentTarget)==null||C.click()}),onKeyDown:Se(a.onKeyDown,x=>{const C=g.searchRef.current!=="";c||C&&x.key===" "||ws.includes(x.key)&&(x.currentTarget.click(),x.preventDefault())})})});Ho.displayName=To;var zp=b.forwardRef((a,u)=>{const{__scopeMenu:c,disabled:r=!1,textValue:s,...d}=a,m=$s(To,c),g=Tp(c),y=b.useRef(null),v=ot(u,y),[S,x]=b.useState(!1),[C,M]=b.useState("");return b.useEffect(()=>{const D=y.current;D&&M((D.textContent??"").trim())},[d.children]),h.jsx(ki.ItemSlot,{scope:c,disabled:r,textValue:s??C,children:h.jsx(aE,{asChild:!0,...g,focusable:!r,children:h.jsx(Fe.div,{role:"menuitem","data-highlighted":S?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...d,ref:v,onPointerMove:Se(a.onPointerMove,Gi(D=>{r?m.onItemLeave(D):(m.onItemEnter(D),D.defaultPrevented||D.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Se(a.onPointerLeave,Gi(D=>m.onItemLeave(D))),onFocus:Se(a.onFocus,()=>x(!0)),onBlur:Se(a.onBlur,()=>x(!1))})})})}),SE="MenuCheckboxItem",jp=b.forwardRef((a,u)=>{const{checked:c=!1,onCheckedChange:r,...s}=a;return h.jsx(kp,{scope:a.__scopeMenu,checked:c,children:h.jsx(Ho,{role:"menuitemcheckbox","aria-checked":_o(c)?"mixed":c,...s,ref:u,"data-state":ef(c),onSelect:Se(s.onSelect,()=>r==null?void 0:r(_o(c)?!0:!c),{checkForDefaultPrevented:!1})})})});jp.displayName=SE;var Up="MenuRadioGroup",[EE,AE]=zl(Up,{value:void 0,onValueChange:()=>{}}),Lp=b.forwardRef((a,u)=>{const{value:c,onValueChange:r,...s}=a,d=On(r);return h.jsx(EE,{scope:a.__scopeMenu,value:c,onValueChange:d,children:h.jsx(Is,{...s,ref:u})})});Lp.displayName=Up;var Hp="MenuRadioItem",Bp=b.forwardRef((a,u)=>{const{value:c,...r}=a,s=AE(Hp,a.__scopeMenu),d=c===s.value;return h.jsx(kp,{scope:a.__scopeMenu,checked:d,children:h.jsx(Ho,{role:"menuitemradio","aria-checked":d,...r,ref:u,"data-state":ef(d),onSelect:Se(r.onSelect,()=>{var m;return(m=s.onValueChange)==null?void 0:m.call(s,c)},{checkForDefaultPrevented:!1})})})});Bp.displayName=Hp;var Ps="MenuItemIndicator",[kp,CE]=zl(Ps,{checked:!1}),Gp=b.forwardRef((a,u)=>{const{__scopeMenu:c,forceMount:r,...s}=a,d=CE(Ps,c);return h.jsx(fl,{present:r||_o(d.checked)||d.checked===!0,children:h.jsx(Fe.span,{...s,ref:u,"data-state":ef(d.checked)})})});Gp.displayName=Ps;var ME="MenuSeparator",Yp=b.forwardRef((a,u)=>{const{__scopeMenu:c,...r}=a;return h.jsx(Fe.div,{role:"separator","aria-orientation":"horizontal",...r,ref:u})});Yp.displayName=ME;var wE="MenuArrow",qp=b.forwardRef((a,u)=>{const{__scopeMenu:c,...r}=a,s=Lo(c);return h.jsx(Z2,{...s,...r,ref:u})});qp.displayName=wE;var TE="MenuSub",[YA,Xp]=zl(TE),Ui="MenuSubTrigger",Vp=b.forwardRef((a,u)=>{const c=jl(Ui,a.__scopeMenu),r=Vi(Ui,a.__scopeMenu),s=Xp(Ui,a.__scopeMenu),d=$s(Ui,a.__scopeMenu),m=b.useRef(null),{pointerGraceTimerRef:g,onPointerGraceIntentChange:y}=d,v={__scopeMenu:a.__scopeMenu},S=b.useCallback(()=>{m.current&&window.clearTimeout(m.current),m.current=null},[]);return b.useEffect(()=>S,[S]),b.useEffect(()=>{const x=g.current;return()=>{window.clearTimeout(x),y(null)}},[g,y]),h.jsx(Js,{asChild:!0,...v,children:h.jsx(zp,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":s.contentId,"data-state":Kp(c.open),...a,ref:Oo(u,s.onTriggerChange),onClick:x=>{var C;(C=a.onClick)==null||C.call(a,x),!(a.disabled||x.defaultPrevented)&&(x.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:Se(a.onPointerMove,Gi(x=>{d.onItemEnter(x),!x.defaultPrevented&&!a.disabled&&!c.open&&!m.current&&(d.onPointerGraceIntentChange(null),m.current=window.setTimeout(()=>{c.onOpenChange(!0),S()},100))})),onPointerLeave:Se(a.onPointerLeave,Gi(x=>{var M,D;S();const C=(M=c.content)==null?void 0:M.getBoundingClientRect();if(C){const T=(D=c.content)==null?void 0:D.dataset.side,z=T==="right",H=z?-5:5,J=C[z?"left":"right"],X=C[z?"right":"left"];d.onPointerGraceIntentChange({area:[{x:x.clientX+H,y:x.clientY},{x:J,y:C.top},{x:X,y:C.top},{x:X,y:C.bottom},{x:J,y:C.bottom}],side:T}),window.clearTimeout(g.current),g.current=window.setTimeout(()=>d.onPointerGraceIntentChange(null),300)}else{if(d.onTriggerLeave(x),x.defaultPrevented)return;d.onPointerGraceIntentChange(null)}})),onKeyDown:Se(a.onKeyDown,x=>{var M;const C=d.searchRef.current!=="";a.disabled||C&&x.key===" "||oE[r.dir].includes(x.key)&&(c.onOpenChange(!0),(M=c.content)==null||M.focus(),x.preventDefault())})})})});Vp.displayName=Ui;var Qp="MenuSubContent",Zp=b.forwardRef((a,u)=>{const c=Op(qt,a.__scopeMenu),{forceMount:r=c.forceMount,...s}=a,d=jl(qt,a.__scopeMenu),m=Vi(qt,a.__scopeMenu),g=Xp(Qp,a.__scopeMenu),y=b.useRef(null),v=ot(u,y);return h.jsx(ki.Provider,{scope:a.__scopeMenu,children:h.jsx(fl,{present:r||d.open,children:h.jsx(ki.Slot,{scope:a.__scopeMenu,children:h.jsx(Ws,{id:g.contentId,"aria-labelledby":g.triggerId,...s,ref:v,align:"start",side:m.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:S=>{var x;m.isUsingKeyboardRef.current&&((x=y.current)==null||x.focus()),S.preventDefault()},onCloseAutoFocus:S=>S.preventDefault(),onFocusOutside:Se(a.onFocusOutside,S=>{S.target!==g.trigger&&d.onOpenChange(!1)}),onEscapeKeyDown:Se(a.onEscapeKeyDown,S=>{m.onClose(),S.preventDefault()}),onKeyDown:Se(a.onKeyDown,S=>{var M;const x=S.currentTarget.contains(S.target),C=rE[m.dir].includes(S.key);x&&C&&(d.onOpenChange(!1),(M=g.trigger)==null||M.focus(),S.preventDefault())})})})})})});Zp.displayName=Qp;function Kp(a){return a?"open":"closed"}function _o(a){return a==="indeterminate"}function ef(a){return _o(a)?"indeterminate":a?"checked":"unchecked"}function _E(a){const u=document.activeElement;for(const c of a)if(c===u||(c.focus(),document.activeElement!==u))return}function OE(a,u){return a.map((c,r)=>a[(u+r)%a.length])}function RE(a,u,c){const s=u.length>1&&Array.from(u).every(v=>v===u[0])?u[0]:u,d=c?a.indexOf(c):-1;let m=OE(a,Math.max(d,0));s.length===1&&(m=m.filter(v=>v!==c));const y=m.find(v=>v.toLowerCase().startsWith(s.toLowerCase()));return y!==c?y:void 0}function NE(a,u){const{x:c,y:r}=a;let s=!1;for(let d=0,m=u.length-1;d<u.length;m=d++){const g=u[d],y=u[m],v=g.x,S=g.y,x=y.x,C=y.y;S>r!=C>r&&c<(x-v)*(r-S)/(C-S)+v&&(s=!s)}return s}function DE(a,u){if(!u)return!1;const c={x:a.clientX,y:a.clientY};return NE(c,u)}function Gi(a){return u=>u.pointerType==="mouse"?a(u):void 0}var zE=_p,jE=Js,UE=Rp,LE=Np,HE=Is,BE=Dp,kE=Ho,GE=jp,YE=Lp,qE=Bp,XE=Gp,VE=Yp,QE=qp,ZE=Vp,KE=Zp,Bo="DropdownMenu",[JE]=Ra(Bo,[wp]),ft=wp(),[FE,Jp]=JE(Bo),Fp=a=>{const{__scopeDropdownMenu:u,children:c,dir:r,open:s,defaultOpen:d,onOpenChange:m,modal:g=!0}=a,y=ft(u),v=b.useRef(null),[S,x]=Ds({prop:s,defaultProp:d??!1,onChange:m,caller:Bo});return h.jsx(FE,{scope:u,triggerId:Aa(),triggerRef:v,contentId:Aa(),open:S,onOpenChange:x,onOpenToggle:b.useCallback(()=>x(C=>!C),[x]),modal:g,children:h.jsx(zE,{...y,open:S,onOpenChange:x,dir:r,modal:g,children:c})})};Fp.displayName=Bo;var $p="DropdownMenuTrigger",Wp=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,disabled:r=!1,...s}=a,d=Jp($p,c),m=ft(c);return h.jsx(jE,{asChild:!0,...m,children:h.jsx(Fe.button,{type:"button",id:d.triggerId,"aria-haspopup":"menu","aria-expanded":d.open,"aria-controls":d.open?d.contentId:void 0,"data-state":d.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...s,ref:Oo(u,d.triggerRef),onPointerDown:Se(a.onPointerDown,g=>{!r&&g.button===0&&g.ctrlKey===!1&&(d.onOpenToggle(),d.open||g.preventDefault())}),onKeyDown:Se(a.onKeyDown,g=>{r||(["Enter"," "].includes(g.key)&&d.onOpenToggle(),g.key==="ArrowDown"&&d.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(g.key)&&g.preventDefault())})})})});Wp.displayName=$p;var $E="DropdownMenuPortal",Ip=a=>{const{__scopeDropdownMenu:u,...c}=a,r=ft(u);return h.jsx(UE,{...r,...c})};Ip.displayName=$E;var Pp="DropdownMenuContent",ey=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=Jp(Pp,c),d=ft(c),m=b.useRef(!1);return h.jsx(LE,{id:s.contentId,"aria-labelledby":s.triggerId,...d,...r,ref:u,onCloseAutoFocus:Se(a.onCloseAutoFocus,g=>{var y;m.current||(y=s.triggerRef.current)==null||y.focus(),m.current=!1,g.preventDefault()}),onInteractOutside:Se(a.onInteractOutside,g=>{const y=g.detail.originalEvent,v=y.button===0&&y.ctrlKey===!0,S=y.button===2||v;(!s.modal||S)&&(m.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});ey.displayName=Pp;var WE="DropdownMenuGroup",IE=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(HE,{...s,...r,ref:u})});IE.displayName=WE;var PE="DropdownMenuLabel",eA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(BE,{...s,...r,ref:u})});eA.displayName=PE;var tA="DropdownMenuItem",ty=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(kE,{...s,...r,ref:u})});ty.displayName=tA;var nA="DropdownMenuCheckboxItem",lA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(GE,{...s,...r,ref:u})});lA.displayName=nA;var aA="DropdownMenuRadioGroup",iA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(YE,{...s,...r,ref:u})});iA.displayName=aA;var uA="DropdownMenuRadioItem",oA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(qE,{...s,...r,ref:u})});oA.displayName=uA;var rA="DropdownMenuItemIndicator",cA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(XE,{...s,...r,ref:u})});cA.displayName=rA;var sA="DropdownMenuSeparator",fA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(VE,{...s,...r,ref:u})});fA.displayName=sA;var dA="DropdownMenuArrow",mA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(QE,{...s,...r,ref:u})});mA.displayName=dA;var hA="DropdownMenuSubTrigger",gA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(ZE,{...s,...r,ref:u})});gA.displayName=hA;var vA="DropdownMenuSubContent",pA=b.forwardRef((a,u)=>{const{__scopeDropdownMenu:c,...r}=a,s=ft(c);return h.jsx(KE,{...s,...r,ref:u,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pA.displayName=vA;var yA=Fp,bA=Wp,xA=Ip,SA=ey,EA=ty;function AA({...a}){return h.jsx(yA,{...a})}function CA({...a}){return h.jsx(bA,{...a})}function MA({className:a,sideOffset:u=4,...c}){return h.jsx(xA,{children:h.jsx(SA,{sideOffset:u,className:Ve("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",a),...c})})}function ys({className:a,inset:u,...c}){return h.jsx(EA,{"data-inset":u,className:Ve("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...c})}function wA(){const{setTheme:a}=qb();return h.jsxs(AA,{children:[h.jsx(CA,{asChild:!0,children:h.jsxs(an,{variant:"outline",size:"icon",children:[h.jsx(vg,{className:"size-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),h.jsx(gg,{className:"absolute size-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),h.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),h.jsxs(MA,{align:"end",children:[h.jsxs(ys,{onClick:()=>a("light"),children:[h.jsx(vg,{}),"Light"]}),h.jsxs(ys,{onClick:()=>a("dark"),children:[h.jsx(gg,{}),"Dark"]}),h.jsxs(ys,{onClick:()=>a("system"),children:[h.jsx($b,{}),"System"]})]})]})}function Ri({className:a,...u}){return h.jsx("div",{className:Ve("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...u})}function Ni({className:a,...u}){return h.jsx("div",{className:Ve("grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6",a),...u})}function Di({className:a,...u}){return h.jsx("div",{className:Ve("leading-none font-semibold",a),...u})}function zi({className:a,...u}){return h.jsx("div",{className:Ve("px-6",a),...u})}function TA({status:a}){return h.jsxs("div",{className:"grid gap-4 md:grid-cols-5",children:[h.jsxs(Ri,{children:[h.jsx(Ni,{children:h.jsxs(Di,{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:[h.jsx(lv,{className:"size-4"}),"Messages"]})}),h.jsx(zi,{children:h.jsx("div",{className:"text-3xl font-bold",children:(a==null?void 0:a.total_messages)??"—"})})]}),h.jsxs(Ri,{children:[h.jsx(Ni,{children:h.jsxs(Di,{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:[h.jsx(Fb,{className:"size-4"}),"Sessions"]})}),h.jsx(zi,{children:h.jsx("div",{className:"text-3xl font-bold",children:(a==null?void 0:a.total_sessions)??"—"})})]}),h.jsxs(Ri,{children:[h.jsx(Ni,{children:h.jsxs(Di,{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:[h.jsx(nv,{className:"size-4"}),"Spaces"]})}),h.jsx(zi,{children:h.jsx("div",{className:"text-3xl font-bold",children:(a==null?void 0:a.total_spaces)??"—"})})]}),h.jsxs(Ri,{children:[h.jsx(Ni,{children:h.jsxs(Di,{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:[h.jsx(tv,{className:"size-4"}),"Projects"]})}),h.jsx(zi,{children:h.jsx("div",{className:"text-3xl font-bold",children:(a==null?void 0:a.total_projects)??"—"})})]}),h.jsxs(Ri,{children:[h.jsx(Ni,{children:h.jsxs(Di,{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:[h.jsx(Jb,{className:"size-4"}),"Unread"]})}),h.jsx(zi,{children:h.jsx("div",{className:"text-3xl font-bold text-orange-600 dark:text-orange-400",children:(a==null?void 0:a.unread_messages)??"—"})})]})]})}const _A=ov("inline-flex items-center justify-center rounded-full border border-transparent px-2.5 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 gap-1 transition-colors overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",destructive:"bg-destructive text-white",outline:"border-border text-foreground"}},defaultVariants:{variant:"default"}});function on({className:a,variant:u,...c}){return h.jsx("span",{className:Ve(_A({variant:u}),a),...c})}function tf({className:a,...u}){return h.jsx("div",{className:"relative w-full overflow-x-auto",children:h.jsx("table",{className:Ve("w-full caption-bottom text-sm",a),...u})})}function nf({className:a,...u}){return h.jsx("thead",{className:Ve("[&_tr]:border-b",a),...u})}function lf({className:a,...u}){return h.jsx("tbody",{className:Ve("[&_tr:last-child]:border-0",a),...u})}function Ta({className:a,...u}){return h.jsx("tr",{className:Ve("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",a),...u})}function et({className:a,...u}){return h.jsx("th",{className:Ve("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...u})}function tt({className:a,...u}){return h.jsx("td",{className:Ve("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...u})}function ny({children:a,className:u}){const c=OA(a);return h.jsx("div",{className:u,dangerouslySetInnerHTML:{__html:c}})}function Ts(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function OA(a){const u=a.split(`
|
|
184
184
|
`),c=[];let r=0,s=!1,d=[];for(;r<u.length;){const m=u[r];if(m.trimStart().startsWith("```")){s?(c.push(`<code class="block bg-muted rounded-md px-3 py-2 text-xs font-mono my-1 overflow-x-auto whitespace-pre">${Ts(d.join(`
|
|
185
185
|
`))}</code>`),d=[],s=!1):s=!0,r++;continue}if(s){d.push(m),r++;continue}if(m.trim()===""){r++;continue}if(/^(\*{3,}|-{3,}|_{3,})\s*$/.test(m.trim())){c.push('<hr class="my-2 border-muted" />'),r++;continue}const g=m.match(/^(#{1,3})\s+(.+)/);if(g){const y=g[1].length,v=ji(g[2]),S=y===1?"text-base font-bold mb-1":y===2?"text-sm font-bold mb-1":"text-sm font-semibold mb-1";c.push(`<h${y} class="${S}">${v}</h${y}>`),r++;continue}if(/^[\s]*[-*+]\s/.test(m)){const y=[];for(;r<u.length&&/^[\s]*[-*+]\s/.test(u[r]);)y.push(ji(u[r].replace(/^[\s]*[-*+]\s/,""))),r++;c.push(`<ul class="list-disc pl-4 mb-1 space-y-0.5">${y.map(v=>`<li class="text-sm">${v}</li>`).join("")}</ul>`);continue}if(/^[\s]*\d+[.)]\s/.test(m)){const y=[];for(;r<u.length&&/^[\s]*\d+[.)]\s/.test(u[r]);)y.push(ji(u[r].replace(/^[\s]*\d+[.)]\s/,""))),r++;c.push(`<ol class="list-decimal pl-4 mb-1 space-y-0.5">${y.map(v=>`<li class="text-sm">${v}</li>`).join("")}</ol>`);continue}if(m.startsWith(">")){const y=[];for(;r<u.length&&u[r].startsWith(">");)y.push(u[r].replace(/^>\s?/,"")),r++;c.push(`<blockquote class="border-l-2 border-muted-foreground/30 pl-3 my-1 text-muted-foreground italic">${ji(y.join(" "))}</blockquote>`);continue}c.push(`<p class="mb-1 last:mb-0">${ji(m)}</p>`),r++}return s&&d.length>0&&c.push(`<code class="block bg-muted rounded-md px-3 py-2 text-xs font-mono my-1 overflow-x-auto whitespace-pre">${Ts(d.join(`
|
|
186
|
-
`))}</code>`),c.join("")}function ji(a){let u=Ts(a);return u=u.replace(/`([^`]+)`/g,'<code class="bg-muted rounded px-1 py-0.5 text-xs font-mono">$1</code>'),u=u.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),u=u.replace(/\*\*(.+?)\*\*/g,'<strong class="font-semibold">$1</strong>'),u=u.replace(/\*(.+?)\*/g,"<em>$1</em>"),u=u.replace(/~~(.+?)~~/g,"<del>$1</del>"),u=u.replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer" class="text-blue-600 dark:text-blue-400 underline">$1</a>'),u}function RA({priority:a}){switch(a){case"urgent":return h.jsx(on,{className:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300 border-0",children:"urgent"});case"high":return h.jsx(on,{className:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300 border-0",children:"high"});case"low":return h.jsx(on,{className:"bg-slate-100 text-slate-600 dark:bg-slate-900 dark:text-slate-400 border-0",children:"low"});default:return null}}function NA(a){const u=Date.now(),c=a.endsWith("Z")?a:`${a}Z`,r=Date.parse(c);if(Number.isNaN(r))return"—";const s=Math.max(0,u-r),d=Math.floor(s/1e3);if(d<60)return`${d}s ago`;const m=Math.floor(d/60);if(m<60)return`${m}m ago`;const g=Math.floor(m/60);return g<24?`${g}h ago`:`${Math.floor(g/24)}d ago`}function DA({messages:a}){return a.length===0?h.jsx("div",{className:"rounded-xl border p-8 text-center text-muted-foreground",children:"No messages yet. Send one from the CLI or use the button above."}):h.jsx("div",{className:"rounded-xl border",children:h.jsxs(tf,{children:[h.jsx(nf,{children:h.jsxs(Ta,{children:[h.jsx(et,{className:"w-10",children:"#"}),h.jsx(et,{children:"From"}),h.jsx(et,{children:"To"}),h.jsx(et,{children:"Content"}),h.jsx(et,{children:"Priority"}),h.jsx(et,{children:"Status"}),h.jsx(et,{className:"text-right",children:"Time"})]})}),h.jsx(lf,{children:a.map(u=>h.jsxs(Ta,{children:[h.jsx(tt,{className:"text-muted-foreground",children:u.id}),h.jsx(tt,{children:h.jsx("span",{className:"font-medium",children:u.from_agent})}),h.jsx(tt,{children:u.space?h.jsxs(on,{className:"bg-indigo-100 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 border-0",children:["#",u.space]}):h.jsx("span",{children:u.to_agent})}),h.jsx(tt,{className:"max-w-xs",children:h.jsx("div",{className:"line-clamp-2",children:h.jsx(ny,{children:u.content})})}),h.jsx(tt,{children:h.jsx(RA,{priority:u.priority})}),h.jsx(tt,{children:u.read_at?h.jsx(on,{variant:"outline",className:"border-green-300 text-green-700 dark:border-green-800 dark:text-green-400",children:"Read"}):h.jsx(on,{variant:"outline",className:"border-orange-300 text-orange-700 dark:border-orange-800 dark:text-orange-400",children:"Unread"})}),h.jsx(tt,{className:"text-right text-muted-foreground",children:NA(u.created_at)})]},u.id))})]})})}function zA({spaces:a,onSelectSpace:u}){return a.length===0?h.jsxs("div",{className:"rounded-xl border p-8 text-center text-muted-foreground",children:["No spaces yet. Create one with"," ",h.jsx("code",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",children:"conversations space create"})]}):h.jsx("div",{className:"rounded-xl border",children:h.jsxs(tf,{children:[h.jsx(nf,{children:h.jsxs(Ta,{children:[h.jsx(et,{children:"Space"}),h.jsx(et,{children:"Description"}),h.jsx(et,{children:"Parent"}),h.jsx(et,{children:"Created by"}),h.jsx(et,{className:"text-right",children:"Members"}),h.jsx(et,{className:"text-right",children:"Messages"})]})}),h.jsx(lf,{children:a.map(c=>h.jsxs(Ta,{className:"cursor-pointer",onClick:()=>u==null?void 0:u(c.name),children:[h.jsx(tt,{children:h.jsxs(on,{className:"bg-indigo-100 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 border-0",children:["#",c.name]})}),h.jsx(tt,{className:"text-muted-foreground",children:c.description||"—"}),h.jsx(tt,{className:"text-muted-foreground",children:c.parent_id?h.jsx(on,{variant:"outline",className:"text-xs",children:c.parent_id}):"—"}),h.jsx(tt,{className:"font-medium",children:c.created_by}),h.jsx(tt,{className:"text-right",children:c.member_count}),h.jsx(tt,{className:"text-right",children:c.message_count})]},c.name))})]})})}function jA({projects:a}){return a.length===0?h.jsxs("div",{className:"rounded-xl border p-8 text-center text-muted-foreground",children:["No projects yet. Create one with"," ",h.jsx("code",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",children:"conversations project create"})]}):h.jsx("div",{className:"rounded-xl border",children:h.jsxs(tf,{children:[h.jsx(nf,{children:h.jsxs(Ta,{children:[h.jsx(et,{children:"Project"}),h.jsx(et,{children:"Description"}),h.jsx(et,{children:"Status"}),h.jsx(et,{children:"Created by"}),h.jsx(et,{className:"text-right",children:"Spaces"})]})}),h.jsx(lf,{children:a.map(u=>h.jsxs(Ta,{children:[h.jsx(tt,{className:"font-medium",children:u.name}),h.jsx(tt,{className:"text-muted-foreground",children:u.description||"—"}),h.jsx(tt,{children:u.status==="archived"?h.jsx(on,{variant:"outline",className:"border-amber-300 text-amber-700 dark:border-amber-800 dark:text-amber-400",children:"archived"}):h.jsx(on,{variant:"outline",className:"border-green-300 text-green-700 dark:border-green-800 dark:text-green-400",children:"active"})}),h.jsx(tt,{children:u.created_by}),h.jsx(tt,{className:"text-right",children:u.space_count})]},u.id))})]})})}function Li({className:a,type:u,...c}){return h.jsx("input",{type:u,className:Ve("placeholder:text-muted-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",a),...c})}function UA({open:a,onClose:u,spaceName:c,sessionId:r,title:s}){const[d,m]=b.useState([]),[g,y]=b.useState(""),[v,S]=b.useState("dashboard-user"),x=b.useRef(null);b.useEffect(()=>{if(!a)return;const M=async()=>{const T=new URLSearchParams;c?T.set("space",c):r&&T.set("session",r),T.set("limit","100");try{const H=await(await fetch(`/api/messages?${T}`)).json();m(H.reverse())}catch{}};M();const D=setInterval(M,1e3);return()=>clearInterval(D)},[a,c,r]),b.useEffect(()=>{var M;(M=x.current)==null||M.scrollIntoView({behavior:"smooth"})},[d.length]);const C=async()=>{if(!g.trim()||!v.trim())return;const M={from:v,to:c||"unknown",content:g.trim()};c&&(M.space=c);try{await fetch("/api/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(M)}),y("")}catch{}};return a?h.jsxs("div",{className:"fixed inset-y-0 right-0 z-40 w-96 border-l bg-background shadow-xl flex flex-col",children:[h.jsxs("div",{className:"flex items-center justify-between border-b px-4 py-3",children:[h.jsx("h3",{className:"font-semibold text-sm truncate",children:s}),h.jsx(an,{variant:"ghost",size:"sm",onClick:u,children:h.jsx(av,{className:"size-4"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-3",children:[d.length===0?h.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No messages yet"}):d.map(M=>h.jsxs("div",{className:"text-sm",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"font-medium text-xs",children:M.from_agent}),h.jsx("span",{className:"text-xs text-muted-foreground",children:M.created_at.slice(11,19)})]}),h.jsx("div",{className:"mt-0.5 text-sm",children:h.jsx(ny,{children:M.content})})]},M.id)),h.jsx("div",{ref:x})]}),h.jsxs("div",{className:"border-t px-4 py-3 space-y-2",children:[h.jsx(Li,{value:v,onChange:M=>S(M.target.value),placeholder:"Your agent name",className:"text-xs"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx(Li,{value:g,onChange:M=>y(M.target.value),onKeyDown:M=>M.key==="Enter"&&C(),placeholder:"Type a message..."}),h.jsx(an,{size:"sm",onClick:C,children:h.jsx(Os,{className:"size-3.5"})})]})]})]}):null}function ly({...a}){return h.jsx(vS,{...a})}function LA({className:a,...u}){return h.jsx(yS,{className:Ve("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...u})}function ay({className:a,children:u,...c}){return h.jsxs(pS,{children:[h.jsx(LA,{}),h.jsxs(bS,{className:Ve("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",a),...c,children:[u,h.jsxs(ES,{className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[h.jsx(av,{}),h.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function iy({className:a,...u}){return h.jsx("div",{className:Ve("flex flex-col gap-2 text-center sm:text-left",a),...u})}function uy({className:a,...u}){return h.jsx("div",{className:Ve("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...u})}function oy({className:a,...u}){return h.jsx(xS,{className:Ve("text-lg leading-none font-semibold",a),...u})}function ry({className:a,...u}){return h.jsx(SS,{className:Ve("text-muted-foreground text-sm",a),...u})}function HA({open:a,onOpenChange:u,onSent:c}){const[r,s]=b.useState(""),[d,m]=b.useState(""),[g,y]=b.useState(""),[v,S]=b.useState(!1),[x,C]=b.useState(null);b.useEffect(()=>{a||(s(""),m(""),y(""),C(null),S(!1))},[a]);async function M(){if(!v&&!(!r.trim()||!d.trim()||!g.trim())){S(!0),C(null);try{const D=await fetch("/api/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:r.trim(),to:d.trim(),content:g.trim()})});let T=null;try{T=await D.json()}catch{T=null}D.ok?T!=null&&T.id?(s(""),m(""),y(""),u(!1),c()):C((T==null?void 0:T.error)||"Failed to send"):C((T==null?void 0:T.error)||`Failed to send (${D.status})`)}catch{C("Failed to send message")}finally{S(!1)}}}return h.jsx(ly,{open:a,onOpenChange:u,children:h.jsxs(ay,{children:[h.jsxs(iy,{children:[h.jsxs(oy,{className:"flex items-center gap-2",children:[h.jsx(Os,{className:"size-5"}),"Send Message"]}),h.jsx(ry,{children:"Send a direct message between agents."})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{className:"space-y-1.5",children:[h.jsx("label",{className:"text-sm font-medium",htmlFor:"send-from",children:"From"}),h.jsx(Li,{id:"send-from",placeholder:"sender-agent",value:r,onChange:D=>s(D.target.value),autoFocus:!0})]}),h.jsxs("div",{className:"space-y-1.5",children:[h.jsx("label",{className:"text-sm font-medium",htmlFor:"send-to",children:"To"}),h.jsx(Li,{id:"send-to",placeholder:"recipient-agent",value:d,onChange:D=>m(D.target.value)})]}),h.jsxs("div",{className:"space-y-1.5",children:[h.jsx("label",{className:"text-sm font-medium",htmlFor:"send-content",children:"Message"}),h.jsx(Li,{id:"send-content",placeholder:"Your message...",value:g,onChange:D=>y(D.target.value),onKeyDown:D=>D.key==="Enter"&&M()})]}),x&&h.jsx("p",{className:"text-sm text-destructive",children:x})]}),h.jsxs(uy,{children:[h.jsx(an,{variant:"outline",onClick:()=>u(!1),children:"Cancel"}),h.jsx(an,{onClick:M,disabled:!r.trim()||!d.trim()||!g.trim()||v,children:v?"Sending...":"Send"})]})]})})}function BA({open:a,onOpenChange:u,current:c,latest:r,onUpdated:s}){const[d,m]=b.useState(!1),[g,y]=b.useState(null);function v(){d||(y(null),u(!1))}function S(C){if(!C){v();return}u(!0)}async function x(){m(!0),y(null);try{const C=await fetch("/api/update",{method:"POST"});let M=null;try{M=await C.json()}catch{M=null}if(C.ok)(M==null?void 0:M.status)==="updated"?(y({status:"success",message:`Updated to v${r}`}),s(`Updated to v${r}`,"success")):(M==null?void 0:M.status)==="up-to-date"?y({status:"success",message:"Already up to date"}):(y({status:"error",message:(M==null?void 0:M.stderr)||(M==null?void 0:M.error)||"Update failed"}),s("Update failed","error"));else{const D=(M==null?void 0:M.stderr)||(M==null?void 0:M.error)||`Update failed (${C.status})`;y({status:"error",message:D}),s("Update failed","error")}}catch{y({status:"error",message:"Failed to connect to server"}),s("Update failed","error")}finally{m(!1)}}return h.jsx(ly,{open:a,onOpenChange:S,children:h.jsxs(ay,{children:[h.jsxs(iy,{children:[h.jsxs(oy,{className:"flex items-center gap-2",children:[h.jsx(ev,{className:"size-5"}),"Update Available"]}),h.jsx(ry,{children:"A new version of Conversations is available."})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{className:"flex items-center justify-between rounded-md border px-4 py-3 text-sm",children:[h.jsx("span",{className:"text-muted-foreground",children:"Current version"}),h.jsxs("span",{className:"font-mono font-medium",children:["v",c]})]}),h.jsxs("div",{className:"flex items-center justify-between rounded-md border border-green-200 bg-green-50 px-4 py-3 text-sm dark:border-green-900 dark:bg-green-950",children:[h.jsx("span",{className:"text-muted-foreground",children:"Latest version"}),h.jsxs("span",{className:"font-mono font-medium text-green-700 dark:text-green-300",children:["v",r]})]}),g&&h.jsxs("div",{className:`flex items-center gap-2 rounded-md border px-4 py-3 text-sm ${g.status==="success"?"border-green-200 bg-green-50 text-green-800 dark:border-green-900 dark:bg-green-950 dark:text-green-200":"border-red-200 bg-red-50 text-red-800 dark:border-red-900 dark:bg-red-950 dark:text-red-200"}`,children:[g.status==="success"?h.jsx(Zb,{className:"size-4 shrink-0"}):h.jsx(Kb,{className:"size-4 shrink-0"}),g.message]})]}),h.jsxs(uy,{children:[h.jsx(an,{variant:"outline",onClick:v,disabled:d,children:g?"Close":"Cancel"}),!g&&h.jsx(an,{onClick:x,disabled:d,children:d?"Updating...":"Update Now"})]})]})})}function kA(){const[a,u]=b.useState(null),[c,r]=b.useState([]),[s,d]=b.useState([]),[m,g]=b.useState([]),[y,v]=b.useState(!0),[S,x]=b.useState("messages"),[C,M]=b.useState(!1),[D,T]=b.useState(!1),[z,H]=b.useState(!1),[J,X]=b.useState(),[V,I]=b.useState(),[W,Z]=b.useState(""),[K,ce]=b.useState(""),[de,fe]=b.useState(null),[re,ge]=b.useState(null),[me,ye]=b.useState(null),O=b.useRef(null),Q=b.useRef(!1),U=b.useCallback((Y,P)=>{ye({message:Y,type:P}),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>ye(null),3e3)},[]),F=b.useCallback(async(Y,P)=>{const ie=await fetch(Y,P);let ee=null;try{ee=await ie.json()}catch{}if(!ie.ok){const Le=typeof(ee==null?void 0:ee.error)=="string"?ee.error:`Request failed (${ie.status})`;throw new Error(Le)}if(ee===null)throw new Error("Invalid server response");return ee},[]),ue=Y=>{if(!Y||typeof Y!="object")return!1;const P=Y;return typeof P.current=="string"&&typeof P.latest=="string"&&typeof P.updateAvailable=="boolean"},A=b.useCallback(async()=>{if(!Q.current){Q.current=!0;try{const[Y,P,ie,ee]=await Promise.all([F("/api/status"),F("/api/messages?limit=50"),F("/api/spaces"),F("/api/projects")]);u(Y),r(P),d(ie),g(ee)}catch(Y){const P=Y instanceof Error?Y.message:"Failed to load data";U(P,"error")}finally{Q.current=!1,v(!1)}}},[F,U]),B=b.useCallback(async Y=>{if(ce(Y),!Y.trim()){fe(null);return}try{const P=await fetch(`/api/messages/search?q=${encodeURIComponent(Y)}&limit=50`);if(P.ok){const ie=await P.json();fe(ie)}}catch{fe(null)}},[]),$=b.useCallback(Y=>{X(Y.spaceName),I(Y.sessionId),Z(Y.title),H(!0)},[]);return b.useEffect(()=>{A();const Y=setInterval(A,3e3);return()=>clearInterval(Y)},[A]),b.useEffect(()=>{F("/api/version").then(Y=>{ue(Y)?ge(Y):ge(null)}).catch(()=>ge(null))},[F]),h.jsxs("div",{className:"min-h-screen",children:[h.jsx("header",{className:"border-b",children:h.jsxs("div",{className:"mx-auto flex h-14 max-w-6xl items-center justify-between px-6",children:[h.jsx("div",{className:"flex items-center gap-3",children:h.jsxs("h1",{className:"text-base font-semibold",children:["Hasna"," ",h.jsx("span",{className:"font-normal text-muted-foreground",children:"Conversations"})]})}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs(an,{variant:"ghost",size:"sm",onClick:()=>M(!0),children:[h.jsx(Os,{className:"size-3.5"}),"Send"]}),h.jsxs(an,{variant:"ghost",size:"sm",onClick:()=>{v(!0),A()},disabled:y,children:[h.jsx(Wb,{className:`size-3.5 ${y?"animate-spin":""}`}),"Reload"]}),re&&(re.updateAvailable?h.jsxs(an,{variant:"ghost",size:"sm",onClick:()=>T(!0),className:"text-green-600 hover:text-green-700 dark:text-green-400 dark:hover:text-green-300",children:[h.jsx(ev,{className:"size-3.5"}),"Update v",re.latest]}):h.jsxs("span",{className:"text-xs text-muted-foreground px-2",children:["v",re.current]})),h.jsx(wA,{})]})]})}),h.jsxs("main",{className:"mx-auto max-w-6xl space-y-6 px-6 py-6",children:[h.jsx(TA,{status:a}),h.jsxs("div",{className:"flex items-center gap-1 border-b",children:[h.jsxs("button",{onClick:()=>x("messages"),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors ${S==="messages"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[h.jsx(lv,{className:"size-4"}),"Messages"]}),h.jsxs("button",{onClick:()=>x("spaces"),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors ${S==="spaces"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[h.jsx(nv,{className:"size-4"}),"Spaces",s.length>0&&h.jsx("span",{className:"text-xs text-muted-foreground",children:s.length})]}),h.jsxs("button",{onClick:()=>x("projects"),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors ${S==="projects"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[h.jsx(tv,{className:"size-4"}),"Projects",m.length>0&&h.jsx("span",{className:"text-xs text-muted-foreground",children:m.length})]})]}),S==="messages"&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("div",{className:"relative flex-1",children:[h.jsx("input",{type:"text",value:K,onChange:Y=>B(Y.target.value),placeholder:"Search messages...",className:"w-full rounded-lg border px-4 py-2 text-sm bg-background pl-9"}),h.jsxs("svg",{className:"absolute left-3 top-2.5 size-4 text-muted-foreground",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("circle",{cx:"11",cy:"11",r:"8"}),h.jsx("path",{d:"m21 21-4.3-4.3"})]})]}),K&&h.jsx("button",{onClick:()=>{ce(""),fe(null)},className:"text-sm text-muted-foreground hover:text-foreground",children:"Clear"})]}),h.jsx(DA,{messages:de??c})]}),S==="spaces"&&h.jsx(zA,{spaces:s,onSelectSpace:Y=>$({spaceName:Y,title:`#${Y}`})}),S==="projects"&&h.jsx(jA,{projects:m})]}),h.jsx(HA,{open:C,onOpenChange:M,onSent:()=>{U("Message sent","success"),A()}}),(re==null?void 0:re.updateAvailable)&&h.jsx(BA,{open:D,onOpenChange:T,current:re.current,latest:re.latest,onUpdated:(Y,P)=>{U(Y,P),P==="success"&&F("/api/version").then(ie=>{ue(ie)?ge(ie):ge(null)}).catch(()=>ge(null))}}),h.jsx(UA,{open:z,onClose:()=>H(!1),spaceName:J,sessionId:V,title:W}),me&&h.jsx("div",{className:`fixed bottom-6 right-6 z-50 rounded-lg border px-4 py-3 text-sm shadow-lg transition-all ${me.type==="success"?"border-green-200 bg-green-50 text-green-800 dark:border-green-900 dark:bg-green-950 dark:text-green-200":"border-red-200 bg-red-50 text-red-800 dark:border-red-900 dark:bg-red-950 dark:text-red-200"}`,children:me.message})]})}Gb.createRoot(document.getElementById("root")).render(h.jsx(b.StrictMode,{children:h.jsx(Yb,{defaultTheme:"light",children:h.jsx(kA,{})})}));
|
|
186
|
+
`))}</code>`),c.join("")}function ji(a){let u=Ts(a);return u=u.replace(/`([^`]+)`/g,'<code class="bg-muted rounded px-1 py-0.5 text-xs font-mono">$1</code>'),u=u.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),u=u.replace(/\*\*(.+?)\*\*/g,'<strong class="font-semibold">$1</strong>'),u=u.replace(/\*(.+?)\*/g,"<em>$1</em>"),u=u.replace(/~~(.+?)~~/g,"<del>$1</del>"),u=u.replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer" class="text-blue-600 dark:text-blue-400 underline">$1</a>'),u}function RA({priority:a}){switch(a){case"urgent":return h.jsx(on,{className:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300 border-0",children:"urgent"});case"high":return h.jsx(on,{className:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300 border-0",children:"high"});case"low":return h.jsx(on,{className:"bg-slate-100 text-slate-600 dark:bg-slate-900 dark:text-slate-400 border-0",children:"low"});default:return null}}function NA(a){const u=Date.now(),c=a.endsWith("Z")?a:`${a}Z`,r=Date.parse(c);if(Number.isNaN(r))return"—";const s=Math.max(0,u-r),d=Math.floor(s/1e3);if(d<60)return`${d}s ago`;const m=Math.floor(d/60);if(m<60)return`${m}m ago`;const g=Math.floor(m/60);return g<24?`${g}h ago`:`${Math.floor(g/24)}d ago`}function DA({messages:a}){return a.length===0?h.jsx("div",{className:"rounded-xl border p-8 text-center text-muted-foreground",children:"No messages yet. Send one from the CLI or use the button above."}):h.jsx("div",{className:"rounded-xl border",children:h.jsxs(tf,{children:[h.jsx(nf,{children:h.jsxs(Ta,{children:[h.jsx(et,{className:"w-10",children:"#"}),h.jsx(et,{children:"From"}),h.jsx(et,{children:"To"}),h.jsx(et,{children:"Content"}),h.jsx(et,{children:"Priority"}),h.jsx(et,{children:"Status"}),h.jsx(et,{className:"text-right",children:"Time"})]})}),h.jsx(lf,{children:a.map(u=>h.jsxs(Ta,{children:[h.jsx(tt,{className:"text-muted-foreground",children:u.id}),h.jsx(tt,{children:h.jsx("span",{className:"font-medium",children:u.from_agent})}),h.jsx(tt,{children:u.space?h.jsxs(on,{className:"bg-indigo-100 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 border-0",children:["#",u.space]}):h.jsx("span",{children:u.to_agent})}),h.jsx(tt,{className:"max-w-xs",children:h.jsx("div",{className:"line-clamp-2",children:h.jsx(ny,{children:u.content})})}),h.jsx(tt,{children:h.jsx(RA,{priority:u.priority})}),h.jsx(tt,{children:u.read_at?h.jsx(on,{variant:"outline",className:"border-green-300 text-green-700 dark:border-green-800 dark:text-green-400",children:"Read"}):h.jsx(on,{variant:"outline",className:"border-orange-300 text-orange-700 dark:border-orange-800 dark:text-orange-400",children:"Unread"})}),h.jsx(tt,{className:"text-right text-muted-foreground",children:NA(u.created_at)})]},u.id))})]})})}function zA({spaces:a,onSelectSpace:u}){return a.length===0?h.jsxs("div",{className:"rounded-xl border p-8 text-center text-muted-foreground",children:["No spaces yet. Create one with"," ",h.jsx("code",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",children:"conversations space create"})]}):h.jsx("div",{className:"rounded-xl border",children:h.jsxs(tf,{children:[h.jsx(nf,{children:h.jsxs(Ta,{children:[h.jsx(et,{children:"Space"}),h.jsx(et,{children:"Description"}),h.jsx(et,{children:"Parent"}),h.jsx(et,{children:"Created by"}),h.jsx(et,{className:"text-right",children:"Members"}),h.jsx(et,{className:"text-right",children:"Messages"})]})}),h.jsx(lf,{children:a.map(c=>h.jsxs(Ta,{className:"cursor-pointer",onClick:()=>u==null?void 0:u(c.name),children:[h.jsx(tt,{children:h.jsxs(on,{className:"bg-indigo-100 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 border-0",children:["#",c.name]})}),h.jsx(tt,{className:"text-muted-foreground",children:c.description||"—"}),h.jsx(tt,{className:"text-muted-foreground",children:c.parent_id?h.jsx(on,{variant:"outline",className:"text-xs",children:c.parent_id}):"—"}),h.jsx(tt,{className:"font-medium",children:c.created_by}),h.jsx(tt,{className:"text-right",children:c.member_count}),h.jsx(tt,{className:"text-right",children:c.message_count})]},c.name))})]})})}function jA({projects:a}){return a.length===0?h.jsxs("div",{className:"rounded-xl border p-8 text-center text-muted-foreground",children:["No projects yet. Create one with"," ",h.jsx("code",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",children:"conversations project create"})]}):h.jsx("div",{className:"rounded-xl border",children:h.jsxs(tf,{children:[h.jsx(nf,{children:h.jsxs(Ta,{children:[h.jsx(et,{children:"Project"}),h.jsx(et,{children:"Description"}),h.jsx(et,{children:"Status"}),h.jsx(et,{children:"Created by"}),h.jsx(et,{className:"text-right",children:"Spaces"})]})}),h.jsx(lf,{children:a.map(u=>h.jsxs(Ta,{children:[h.jsx(tt,{className:"font-medium",children:u.name}),h.jsx(tt,{className:"text-muted-foreground",children:u.description||"—"}),h.jsx(tt,{children:u.status==="archived"?h.jsx(on,{variant:"outline",className:"border-amber-300 text-amber-700 dark:border-amber-800 dark:text-amber-400",children:"archived"}):h.jsx(on,{variant:"outline",className:"border-green-300 text-green-700 dark:border-green-800 dark:text-green-400",children:"active"})}),h.jsx(tt,{children:u.created_by}),h.jsx(tt,{className:"text-right",children:u.space_count})]},u.id))})]})})}function Li({className:a,type:u,...c}){return h.jsx("input",{type:u,className:Ve("placeholder:text-muted-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",a),...c})}function UA({open:a,onClose:u,spaceName:c,sessionId:r,title:s}){const[d,m]=b.useState([]),[g,y]=b.useState(""),[v,S]=b.useState("dashboard-user"),x=b.useRef(null);b.useEffect(()=>{if(!a)return;const M=async()=>{const T=new URLSearchParams;c?T.set("space",c):r&&T.set("session",r),T.set("limit","100");try{const H=await(await fetch(`/api/messages?${T}`)).json();m(H.reverse())}catch{}};M();const D=setInterval(M,1e3);return()=>clearInterval(D)},[a,c,r]),b.useEffect(()=>{var M;(M=x.current)==null||M.scrollIntoView({behavior:"smooth"})},[d.length]);const C=async()=>{if(!g.trim()||!v.trim())return;const M={from:v,to:c||"unknown",content:g.trim()};c&&(M.space=c);try{await fetch("/api/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(M)}),y("")}catch{}};return a?h.jsxs("div",{className:"fixed inset-y-0 right-0 z-40 w-96 border-l bg-background shadow-xl flex flex-col",children:[h.jsxs("div",{className:"flex items-center justify-between border-b px-4 py-3",children:[h.jsx("h3",{className:"font-semibold text-sm truncate",children:s}),h.jsx(an,{variant:"ghost",size:"sm",onClick:u,children:h.jsx(av,{className:"size-4"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-3",children:[d.length===0?h.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No messages yet"}):d.map(M=>h.jsxs("div",{className:"text-sm",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"font-medium text-xs",children:M.from_agent}),h.jsx("span",{className:"text-xs text-muted-foreground",children:M.created_at.slice(11,19)})]}),h.jsx("div",{className:"mt-0.5 text-sm",children:h.jsx(ny,{children:M.content})})]},M.id)),h.jsx("div",{ref:x})]}),h.jsxs("div",{className:"border-t px-4 py-3 space-y-2",children:[h.jsx(Li,{value:v,onChange:M=>S(M.target.value),placeholder:"Your agent name",className:"text-xs"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx(Li,{value:g,onChange:M=>y(M.target.value),onKeyDown:M=>M.key==="Enter"&&C(),placeholder:"Type a message..."}),h.jsx(an,{size:"sm",onClick:C,children:h.jsx(Os,{className:"size-3.5"})})]})]})]}):null}function ly({...a}){return h.jsx(vS,{...a})}function LA({className:a,...u}){return h.jsx(yS,{className:Ve("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...u})}function ay({className:a,children:u,...c}){return h.jsxs(pS,{children:[h.jsx(LA,{}),h.jsxs(bS,{className:Ve("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",a),...c,children:[u,h.jsxs(ES,{className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[h.jsx(av,{}),h.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function iy({className:a,...u}){return h.jsx("div",{className:Ve("flex flex-col gap-2 text-center sm:text-left",a),...u})}function uy({className:a,...u}){return h.jsx("div",{className:Ve("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...u})}function oy({className:a,...u}){return h.jsx(xS,{className:Ve("text-lg leading-none font-semibold",a),...u})}function ry({className:a,...u}){return h.jsx(SS,{className:Ve("text-muted-foreground text-sm",a),...u})}function HA({open:a,onOpenChange:u,onSent:c}){const[r,s]=b.useState(""),[d,m]=b.useState(""),[g,y]=b.useState(""),[v,S]=b.useState(!1),[x,C]=b.useState(null);b.useEffect(()=>{a||(s(""),m(""),y(""),C(null),S(!1))},[a]);async function M(){if(!v&&!(!r.trim()||!d.trim()||!g.trim())){S(!0),C(null);try{const D=await fetch("/api/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:r.trim(),to:d.trim(),content:g.trim()})});let T=null;try{T=await D.json()}catch{T=null}D.ok?T!=null&&T.id?(s(""),m(""),y(""),u(!1),c()):C((T==null?void 0:T.error)||"Failed to send"):C((T==null?void 0:T.error)||`Failed to send (${D.status})`)}catch{C("Failed to send message")}finally{S(!1)}}}return h.jsx(ly,{open:a,onOpenChange:u,children:h.jsxs(ay,{children:[h.jsxs(iy,{children:[h.jsxs(oy,{className:"flex items-center gap-2",children:[h.jsx(Os,{className:"size-5"}),"Send Message"]}),h.jsx(ry,{children:"Send a direct message between agents."})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{className:"space-y-1.5",children:[h.jsx("label",{className:"text-sm font-medium",htmlFor:"send-from",children:"From"}),h.jsx(Li,{id:"send-from",placeholder:"sender-agent",value:r,onChange:D=>s(D.target.value),autoFocus:!0})]}),h.jsxs("div",{className:"space-y-1.5",children:[h.jsx("label",{className:"text-sm font-medium",htmlFor:"send-to",children:"To"}),h.jsx(Li,{id:"send-to",placeholder:"recipient-agent",value:d,onChange:D=>m(D.target.value)})]}),h.jsxs("div",{className:"space-y-1.5",children:[h.jsx("label",{className:"text-sm font-medium",htmlFor:"send-content",children:"Message"}),h.jsx(Li,{id:"send-content",placeholder:"Your message...",value:g,onChange:D=>y(D.target.value),onKeyDown:D=>D.key==="Enter"&&M()})]}),x&&h.jsx("p",{className:"text-sm text-destructive",children:x})]}),h.jsxs(uy,{children:[h.jsx(an,{variant:"outline",onClick:()=>u(!1),children:"Cancel"}),h.jsx(an,{onClick:M,disabled:!r.trim()||!d.trim()||!g.trim()||v,children:v?"Sending...":"Send"})]})]})})}function BA({open:a,onOpenChange:u,current:c,latest:r,onUpdated:s}){const[d,m]=b.useState(!1),[g,y]=b.useState(null);function v(){d||(y(null),u(!1))}function S(C){if(!C){v();return}u(!0)}async function x(){m(!0),y(null);try{const C=await fetch("/api/update",{method:"POST"});let M=null;try{M=await C.json()}catch{M=null}if(C.ok)(M==null?void 0:M.status)==="updated"?(y({status:"success",message:`Updated to v${r}`}),s(`Updated to v${r}`,"success")):(M==null?void 0:M.status)==="up-to-date"?y({status:"success",message:"Already up to date"}):(y({status:"error",message:(M==null?void 0:M.stderr)||(M==null?void 0:M.error)||"Update failed"}),s("Update failed","error"));else{const D=(M==null?void 0:M.stderr)||(M==null?void 0:M.error)||`Update failed (${C.status})`;y({status:"error",message:D}),s("Update failed","error")}}catch{y({status:"error",message:"Failed to connect to server"}),s("Update failed","error")}finally{m(!1)}}return h.jsx(ly,{open:a,onOpenChange:S,children:h.jsxs(ay,{children:[h.jsxs(iy,{children:[h.jsxs(oy,{className:"flex items-center gap-2",children:[h.jsx(ev,{className:"size-5"}),"Update Available"]}),h.jsx(ry,{children:"A new version of Conversations is available."})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{className:"flex items-center justify-between rounded-md border px-4 py-3 text-sm",children:[h.jsx("span",{className:"text-muted-foreground",children:"Current version"}),h.jsxs("span",{className:"font-mono font-medium",children:["v",c]})]}),h.jsxs("div",{className:"flex items-center justify-between rounded-md border border-green-200 bg-green-50 px-4 py-3 text-sm dark:border-green-900 dark:bg-green-950",children:[h.jsx("span",{className:"text-muted-foreground",children:"Latest version"}),h.jsxs("span",{className:"font-mono font-medium text-green-700 dark:text-green-300",children:["v",r]})]}),g&&h.jsxs("div",{className:`flex items-center gap-2 rounded-md border px-4 py-3 text-sm ${g.status==="success"?"border-green-200 bg-green-50 text-green-800 dark:border-green-900 dark:bg-green-950 dark:text-green-200":"border-red-200 bg-red-50 text-red-800 dark:border-red-900 dark:bg-red-950 dark:text-red-200"}`,children:[g.status==="success"?h.jsx(Zb,{className:"size-4 shrink-0"}):h.jsx(Kb,{className:"size-4 shrink-0"}),g.message]})]}),h.jsxs(uy,{children:[h.jsx(an,{variant:"outline",onClick:v,disabled:d,children:g?"Close":"Cancel"}),!g&&h.jsx(an,{onClick:x,disabled:d,children:d?"Updating...":"Update Now"})]})]})})}function kA(){const[a,u]=b.useState(null),[c,r]=b.useState([]),[s,d]=b.useState([]),[m,g]=b.useState([]),[y,v]=b.useState(!0),[S,x]=b.useState("messages"),[C,M]=b.useState(!1),[D,T]=b.useState(!1),[z,H]=b.useState(!1),[J,X]=b.useState(),[V,I]=b.useState(),[W,Z]=b.useState(""),[K,ce]=b.useState(""),[de,fe]=b.useState(null),[re,ge]=b.useState(null),[me,ye]=b.useState(null),O=b.useRef(null),Q=b.useRef(!1),U=b.useCallback((Y,P)=>{ye({message:Y,type:P}),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>ye(null),3e3)},[]),F=b.useCallback(async(Y,P)=>{const ie=await fetch(Y,P);let ee=null;try{ee=await ie.json()}catch{}if(!ie.ok){const Le=typeof(ee==null?void 0:ee.error)=="string"?ee.error:`Request failed (${ie.status})`;throw new Error(Le)}if(ee===null)throw new Error("Invalid server response");return ee},[]),ue=Y=>{if(!Y||typeof Y!="object")return!1;const P=Y;return typeof P.current=="string"&&typeof P.latest=="string"&&typeof P.updateAvailable=="boolean"},A=b.useCallback(async()=>{if(!Q.current){Q.current=!0;try{const[Y,P,ie,ee]=await Promise.all([F("/api/status"),F("/api/messages?limit=50"),F("/api/spaces"),F("/api/projects")]);u(Y),r(P),d(ie),g(ee)}catch(Y){const P=Y instanceof Error?Y.message:"Failed to load data";U(P,"error")}finally{Q.current=!1,v(!1)}}},[F,U]),B=b.useCallback(async Y=>{if(ce(Y),!Y.trim()){fe(null);return}try{const P=await fetch(`/api/messages/search?q=${encodeURIComponent(Y)}&limit=50`);if(P.ok){const ie=await P.json();fe(ie)}}catch{fe(null)}},[]),$=b.useCallback(Y=>{X(Y.spaceName),I(Y.sessionId),Z(Y.title),H(!0)},[]);return b.useEffect(()=>{A();const Y=setInterval(A,3e3);return()=>clearInterval(Y)},[A]),b.useEffect(()=>{F("/api/version").then(Y=>{ue(Y)?ge(Y):ge(null)}).catch(()=>ge(null))},[F]),h.jsxs("div",{className:"min-h-screen",children:[h.jsx("header",{className:"border-b",children:h.jsxs("div",{className:"mx-auto flex h-14 max-w-6xl items-center justify-between px-6",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("img",{src:"/logo.jpg",alt:"Hasna",className:"h-7 w-auto rounded"}),h.jsxs("h1",{className:"text-base font-semibold",children:["Hasna"," ",h.jsx("span",{className:"font-normal text-muted-foreground",children:"Conversations"})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs(an,{variant:"ghost",size:"sm",onClick:()=>M(!0),children:[h.jsx(Os,{className:"size-3.5"}),"Send"]}),h.jsxs(an,{variant:"ghost",size:"sm",onClick:()=>{v(!0),A()},disabled:y,children:[h.jsx(Wb,{className:`size-3.5 ${y?"animate-spin":""}`}),"Reload"]}),re&&(re.updateAvailable?h.jsxs(an,{variant:"ghost",size:"sm",onClick:()=>T(!0),className:"text-green-600 hover:text-green-700 dark:text-green-400 dark:hover:text-green-300",children:[h.jsx(ev,{className:"size-3.5"}),"Update v",re.latest]}):h.jsxs("span",{className:"text-xs text-muted-foreground px-2",children:["v",re.current]})),h.jsx(wA,{})]})]})}),h.jsxs("main",{className:"mx-auto max-w-6xl space-y-6 px-6 py-6",children:[h.jsx(TA,{status:a}),h.jsxs("div",{className:"flex items-center gap-1 border-b",children:[h.jsxs("button",{onClick:()=>x("messages"),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors ${S==="messages"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[h.jsx(lv,{className:"size-4"}),"Messages"]}),h.jsxs("button",{onClick:()=>x("spaces"),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors ${S==="spaces"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[h.jsx(nv,{className:"size-4"}),"Spaces",s.length>0&&h.jsx("span",{className:"text-xs text-muted-foreground",children:s.length})]}),h.jsxs("button",{onClick:()=>x("projects"),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors ${S==="projects"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[h.jsx(tv,{className:"size-4"}),"Projects",m.length>0&&h.jsx("span",{className:"text-xs text-muted-foreground",children:m.length})]})]}),S==="messages"&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("div",{className:"relative flex-1",children:[h.jsx("input",{type:"text",value:K,onChange:Y=>B(Y.target.value),placeholder:"Search messages...",className:"w-full rounded-lg border px-4 py-2 text-sm bg-background pl-9"}),h.jsxs("svg",{className:"absolute left-3 top-2.5 size-4 text-muted-foreground",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("circle",{cx:"11",cy:"11",r:"8"}),h.jsx("path",{d:"m21 21-4.3-4.3"})]})]}),K&&h.jsx("button",{onClick:()=>{ce(""),fe(null)},className:"text-sm text-muted-foreground hover:text-foreground",children:"Clear"})]}),h.jsx(DA,{messages:de??c})]}),S==="spaces"&&h.jsx(zA,{spaces:s,onSelectSpace:Y=>$({spaceName:Y,title:`#${Y}`})}),S==="projects"&&h.jsx(jA,{projects:m})]}),h.jsx(HA,{open:C,onOpenChange:M,onSent:()=>{U("Message sent","success"),A()}}),(re==null?void 0:re.updateAvailable)&&h.jsx(BA,{open:D,onOpenChange:T,current:re.current,latest:re.latest,onUpdated:(Y,P)=>{U(Y,P),P==="success"&&F("/api/version").then(ie=>{ue(ie)?ge(ie):ge(null)}).catch(()=>ge(null))}}),h.jsx(UA,{open:z,onClose:()=>H(!1),spaceName:J,sessionId:V,title:W}),me&&h.jsx("div",{className:`fixed bottom-6 right-6 z-50 rounded-lg border px-4 py-3 text-sm shadow-lg transition-all ${me.type==="success"?"border-green-200 bg-green-50 text-green-800 dark:border-green-900 dark:bg-green-950 dark:text-green-200":"border-red-200 bg-red-50 text-red-800 dark:border-red-900 dark:bg-red-950 dark:text-red-200"}`,children:me.message})]})}Gb.createRoot(document.getElementById("root")).render(h.jsx(b.StrictMode,{children:h.jsx(Yb,{defaultTheme:"light",children:h.jsx(kA,{})})}));
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Hasna Conversations</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-nFi9FDyZ.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-XaJ3gE4Z.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="root"></div>
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.18 | 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-duration:initial}}}@layer theme{: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-300:oklch(80.8% .114 19.571);--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-red-950:oklch(25.8% .092 26.042);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--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-green-950:oklch(26.6% .065 152.934);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-950:oklch(25.7% .09 281.288);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-6xl:72rem;--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--animate-spin:spin 1s linear infinite;--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{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-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}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,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}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::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}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-2\.5{top:calc(var(--spacing)*2.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\[50\%\]{left:50%}.z-40{z-index:40}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-10{width:calc(var(--spacing)*10)}.w-96{width:calc(var(--spacing)*96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}: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)))}: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)))}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-amber-300{border-color:var(--color-amber-300)}.border-border{border-color:var(--border)}.border-foreground{border-color:var(--foreground)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.border-orange-300{border-color:var(--color-orange-300)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-green-50{background-color:var(--color-green-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-amber-700{color:var(--color-amber-700)}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-600{color:var(--color-slate-600)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.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)}.shadow-md{--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)}.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)}.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)}.shadow-xs{--tw-shadow:0 1px 2px 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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.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))}.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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.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)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.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)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:.15s ease-in exit}.data-\[state\=open\]\:animate-in[data-state=open]{animation:.2s ease-out enter}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90{rotate:-90deg}.dark\:rotate-0{rotate:none}.dark\:border-amber-800{border-color:var(--color-amber-800)}.dark\:border-green-800{border-color:var(--color-green-800)}.dark\:border-green-900{border-color:var(--color-green-900)}.dark\:border-input{border-color:var(--input)}.dark\:border-orange-800{border-color:var(--color-orange-800)}.dark\:border-red-900{border-color:var(--color-red-900)}.dark\:bg-amber-950{background-color:var(--color-amber-950)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-green-950{background-color:var(--color-green-950)}.dark\:bg-indigo-950{background-color:var(--color-indigo-950)}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-red-950{background-color:var(--color-red-950)}.dark\:bg-slate-900{background-color:var(--color-slate-900)}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-green-200{color:var(--color-green-200)}.dark\:text-green-300{color:var(--color-green-300)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-indigo-300{color:var(--color-indigo-300)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-red-300{color:var(--color-red-300)}.dark\:text-slate-400{color:var(--color-slate-400)}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:text-green-300:hover{color:var(--color-green-300)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@keyframes enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.5% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(96.5% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(96.5% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.1% 0 0);--input:oklch(92.1% 0 0);--ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(17.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(17.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(98.5% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(39.6% .141 25.723);--border:oklch(26.9% 0 0);--input:oklch(26.9% 0 0);--ring:oklch(43.9% 0 0)}@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-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}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|