@luisbovo/fidebe
Version:
Modern floating feedback widget for React apps. Collect user feedback, screenshots, images, and context with a customizable modal.
722 lines • 201 kB
JavaScript
import { jsx as k, jsxs as ce, Fragment as Lt } from "react/jsx-runtime";
import * as d from "react";
import z, { useState as lo, forwardRef as Hr, createElement as zt, useRef as co } from "react";
import * as uo from "react-dom";
import fo from "react-dom";
const go = `/*! tailwindcss v4.1.10 | 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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--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;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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}:-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);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.sr-only{clip:rect(0,0,0,0);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)}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.right-4{right:calc(var(--spacing)*4)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-\\[50\\%\\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.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)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-16{min-height:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing)*0)}.shrink-0{flex-shrink:0}.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)}.grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-start{justify-items:start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-y-0\\.5{row-gap:calc(var(--spacing)*.5)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--input)}.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-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-6{padding:calc(var(--spacing)*6)}.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-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-center{text-align:center}.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))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.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-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{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-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;-moz-user-select:none;user-select:none}.group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\\:bg-primary ::-moz-selection{background-color:var(--primary)}.selection\\:bg-primary ::selection{background-color:var(--primary)}.selection\\:bg-primary::-moz-selection{background-color:var(--primary)}.selection\\:bg-primary::selection{background-color:var(--primary)}.selection\\:text-primary-foreground ::-moz-selection{color:var(--primary-foreground)}.selection\\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\\:text-primary-foreground::-moz-selection{color:var(--primary-foreground)}.selection\\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@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-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\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}}.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\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\\[\\>svg\\]\\:gap-x-3:has(>svg){-moz-column-gap:calc(var(--spacing)*3);column-gap:calc(var(--spacing)*3)}.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)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\\[error\\=true\\]\\:text-destructive[data-error=true],:is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@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\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media (hover:hover){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\\[\\&_p\\]\\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\\[\\&_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-]),.\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.1% .005 285.823);--sidebar-primary:oklch(21% .006 285.885);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(96.7% .001 286.375);--sidebar-accent-foreground:oklch(21% .006 285.885);--sidebar-border:oklch(92% .004 286.32);--sidebar-ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21% .006 285.885);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(27.4% .006 286.033);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.2% .016 285.938)}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}`;
function Ne(e, r, { checkForDefaultPrevented: t = !0 } = {}) {
return function(o) {
if (e == null || e(o), t === !1 || !o.defaultPrevented)
return r == null ? void 0 : r(o);
};
}
function dr(e, r) {
if (typeof e == "function")
return e(r);
e != null && (e.current = r);
}
function qr(...e) {
return (r) => {
let t = !1;
const n = e.map((o) => {
const a = dr(o, r);
return !t && typeof a == "function" && (t = !0), a;
});
if (t)
return () => {
for (let o = 0; o < n.length; o++) {
const a = n[o];
typeof a == "function" ? a() : dr(e[o], null);
}
};
};
}
function Ve(...e) {
return d.useCallback(qr(...e), e);
}
function mo(e, r) {
const t = d.createContext(r), n = (a) => {
const { children: s, ...i } = a, u = d.useMemo(() => i, Object.values(i));
return /* @__PURE__ */ k(t.Provider, { value: u, children: s });
};
n.displayName = e + "Provider";
function o(a) {
const s = d.useContext(t);
if (s) return s;
if (r !== void 0) return r;
throw new Error(`\`${a}\` must be used within \`${e}\``);
}
return [n, o];
}
function po(e, r = []) {
let t = [];
function n(a, s) {
const i = d.createContext(s), u = t.length;
t = [...t, s];
const g = (v) => {
var P;
const { scope: h, children: _, ...N } = v, p = ((P = h == null ? void 0 : h[e]) == null ? void 0 : P[u]) || i, C = d.useMemo(() => N, Object.values(N));
return /* @__PURE__ */ k(p.Provider, { value: C, children: _ });
};
g.displayName = a + "Provider";
function f(v, h) {
var p;
const _ = ((p = h == null ? void 0 : h[e]) == null ? void 0 : p[u]) || i, N = d.useContext(_);
if (N) return N;
if (s !== void 0) return s;
throw new Error(`\`${v}\` must be used within \`${a}\``);
}
return [g, f];
}
const o = () => {
const a = t.map((s) => d.createContext(s));
return function(i) {
const u = (i == null ? void 0 : i[e]) || a;
return d.useMemo(
() => ({ [`__scope${e}`]: { ...i, [e]: u } }),
[i, u]
);
};
};
return o.scopeName = e, [n, ho(o, ...r)];
}
function ho(...e) {
const r = e[0];
if (e.length === 1) return r;
const t = () => {
const n = e.map((o) => ({
useScope: o(),
scopeName: o.scopeName
}));
return function(a) {
const s = n.reduce((i, { useScope: u, scopeName: g }) => {
const v = u(a)[`__scope${g}`];
return { ...i, ...v };
}, {});
return d.useMemo(() => ({ [`__scope${r.scopeName}`]: s }), [s]);
};
};
return t.scopeName = r.scopeName, t;
}
var et = globalThis != null && globalThis.document ? d.useLayoutEffect : () => {
}, vo = d[" useId ".trim().toString()] || (() => {
}), bo = 0;
function At(e) {
const [r, t] = d.useState(vo());
return et(() => {
t((n) => n ?? String(bo++));
}, [e]), e || (r ? `radix-${r}` : "");
}
var yo = d[" useInsertionEffect ".trim().toString()] || et;
function wo({
prop: e,
defaultProp: r,
onChange: t = () => {
},
caller: n
}) {
const [o, a, s] = xo({
defaultProp: r,
onChange: t
}), i = e !== void 0, u = i ? e : o;
{
const f = d.useRef(e !== void 0);
d.useEffect(() => {
const v = f.current;
v !== i && console.warn(
`${n} is changing from ${v ? "controlled" : "uncontrolled"} to ${i ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
), f.current = i;
}, [i, n]);
}
const g = d.useCallback(
(f) => {
var v;
if (i) {
const h = ko(f) ? f(e) : f;
h !== e && ((v = s.current) == null || v.call(s, h));
} else
a(f);
},
[i, e, a, s]
);
return [u, g];
}
function xo({
defaultProp: e,
onChange: r
}) {
const [t, n] = d.useState(e), o = d.useRef(t), a = d.useRef(r);
return yo(() => {
a.current = r;
}, [r]), d.useEffect(() => {
var s;
o.current !== t && ((s = a.current) == null || s.call(a, t), o.current = t);
}, [t, o]), [t, n, a];
}
function ko(e) {
return typeof e == "function";
}
// @__NO_SIDE_EFFECTS__
function Ht(e) {
const r = /* @__PURE__ */ Eo(e), t = d.forwardRef((n, o) => {
const { children: a, ...s } = n, i = d.Children.toArray(a), u = i.find(So);
if (u) {
const g = u.props.children, f = i.map((v) => v === u ? d.Children.count(g) > 1 ? d.Children.only(null) : d.isValidElement(g) ? g.props.children : null : v);
return /* @__PURE__ */ k(r, { ...s, ref: o, children: d.isValidElement(g) ? d.cloneElement(g, void 0, f) : null });
}
return /* @__PURE__ */ k(r, { ...s, ref: o, children: a });
});
return t.displayName = `${e}.Slot`, t;
}
var Kr = /* @__PURE__ */ Ht("Slot");
// @__NO_SIDE_EFFECTS__
function Eo(e) {
const r = d.forwardRef((t, n) => {
const { children: o, ...a } = t;
if (d.isValidElement(o)) {
const s = _o(o), i = Ao(a, o.props);
return o.type !== d.Fragment && (i.ref = n ? qr(n, s) : s), d.cloneElement(o, i);
}
return d.Children.count(o) > 1 ? d.Children.only(null) : null;
});
return r.displayName = `${e}.SlotClone`, r;
}
var Co = Symbol("radix.slottable");
function So(e) {
return d.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Co;
}
function Ao(e, r) {
const t = { ...r };
for (const n in r) {
const o = e[n], a = r[n];
/^on[A-Z]/.test(n) ? o && a ? t[n] = (...i) => {
const u = a(...i);
return o(...i), u;
} : o && (t[n] = o) : n === "style" ? t[n] = { ...o, ...a } : n === "className" && (t[n] = [o, a].filter(Boolean).join(" "));
}
return { ...e, ...t };
}
function _o(e) {
var n, o;
let r = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = r && "isReactWarning" in r && r.isReactWarning;
return t ? e.ref : (r = (o = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : o.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
}
var Fo = [
"a",
"button",
"div",
"form",
"h2",
"h3",
"img",
"input",
"label",
"li",
"nav",
"ol",
"p",
"select",
"span",
"svg",
"ul"
], we = Fo.reduce((e, r) => {
const t = /* @__PURE__ */ Ht(`Primitive.${r}`), n = d.forwardRef((o, a) => {
const { asChild: s, ...i } = o, u = s ? t : r;
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ k(u, { ...i, ref: a });
});
return n.displayName = `Primitive.${r}`, { ...e, [r]: n };
}, {});
function Ro(e, r) {
e && uo.flushSync(() => e.dispatchEvent(r));
}
function tt(e) {
const r = d.useRef(e);
return d.useEffect(() => {
r.current = e;
}), d.useMemo(() => (...t) => {
var n;
return (n = r.current) == null ? void 0 : n.call(r, ...t);
}, []);
}
function Do(e, r = globalThis == null ? void 0 : globalThis.document) {
const t = tt(e);
d.useEffect(() => {
const n = (o) => {
o.key === "Escape" && t(o);
};
return r.addEventListener("keydown", n, { capture: !0 }), () => r.removeEventListener("keydown", n, { capture: !0 });
}, [t, r]);
}
var No = "DismissableLayer", Ut = "dismissableLayer.update", Po = "dismissableLayer.pointerDownOutside", Mo = "dismissableLayer.focusOutside", ur, Xr = d.createContext({
layers: /* @__PURE__ */ new Set(),
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
branches: /* @__PURE__ */ new Set()
}), Yr = d.forwardRef(
(e, r) => {
const {
disableOutsidePointerEvents: t = !1,
onEscapeKeyDown: n,
onPointerDownOutside: o,
onFocusOutside: a,
onInteractOutside: s,
onDismiss: i,
...u
} = e, g = d.useContext(Xr), [f, v] = d.useState(null), h = (f == null ? void 0 : f.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, _] = d.useState({}), N = Ve(r, (V) => v(V)), p = Array.from(g.layers), [C] = [...g.layersWithOutsidePointerEventsDisabled].slice(-1), P = p.indexOf(C), y = f ? p.indexOf(f) : -1, T = g.layersWithOutsidePointerEventsDisabled.size > 0, M = y >= P, O = Vo((V) => {
const R = V.target, W = [...g.branches].some((oe) => oe.contains(R));
!M || W || (o == null || o(V), s == null || s(V), V.defaultPrevented || i == null || i());
}, h), j = Io((V) => {
const R = V.target;
[...g.branches].some((oe) => oe.contains(R)) || (a == null || a(V), s == null || s(V), V.defaultPrevented || i == null || i());
}, h);
return Do((V) => {
y === g.layers.size - 1 && (n == null || n(V), !V.defaultPrevented && i && (V.preventDefault(), i()));
}, h), d.useEffect(() => {
if (f)
return t && (g.layersWithOutsidePointerEventsDisabled.size === 0 && (ur = h.body.style.pointerEvents, h.body.style.pointerEvents = "none"), g.layersWithOutsidePointerEventsDisabled.add(f)), g.layers.add(f), fr(), () => {
t && g.layersWithOutsidePointerEventsDisabled.size === 1 && (h.body.style.pointerEvents = ur);
};
}, [f, h, t, g]), d.useEffect(() => () => {
f && (g.layers.delete(f), g.layersWithOutsidePointerEventsDisabled.delete(f), fr());
}, [f, g]), d.useEffect(() => {
const V = () => _({});
return document.addEventListener(Ut, V), () => document.removeEventListener(Ut, V);
}, []), /* @__PURE__ */ k(
we.div,
{
...u,
ref: N,
style: {
pointerEvents: T ? M ? "auto" : "none" : void 0,
...e.style
},
onFocusCapture: Ne(e.onFocusCapture, j.onFocusCapture),
onBlurCapture: Ne(e.onBlurCapture, j.onBlurCapture),
onPointerDownCapture: Ne(
e.onPointerDownCapture,
O.onPointerDownCapture
)
}
);
}
);
Yr.displayName = No;
var Oo = "DismissableLayerBranch", To = d.forwardRef((e, r) => {
const t = d.useContext(Xr), n = d.useRef(null), o = Ve(r, n);
return d.useEffect(() => {
const a = n.current;
if (a)
return t.branches.add(a), () => {
t.branches.delete(a);
};
}, [t.branches]), /* @__PURE__ */ k(we.div, { ...e, ref: o });
});
To.displayName = Oo;
function Vo(e, r = globalThis == null ? void 0 : globalThis.document) {
const t = tt(e), n = d.useRef(!1), o = d.useRef(() => {
});
return d.useEffect(() => {
const a = (i) => {
if (i.target && !n.current) {
let u = function() {
Zr(
Po,
t,
g,
{ discrete: !0 }
);
};
const g = { originalEvent: i };
i.pointerType === "touch" ? (r.removeEventListener("click", o.current), o.current = u, r.addEventListener("click", o.current, { once: !0 })) : u();
} else
r.removeEventListener("click", o.current);
n.current = !1;
}, s = window.setTimeout(() => {
r.addEventListener("pointerdown", a);
}, 0);
return () => {
window.clearTimeout(s), r.removeEventListener("pointerdown", a), r.removeEventListener("click", o.current);
};
}, [r, t]), {
// ensures we check React component tree (not just DOM tree)
onPointerDownCapture: () => n.current = !0
};
}
function Io(e, r = globalThis == null ? void 0 : globalThis.document) {
const t = tt(e), n = d.useRef(!1);
return d.useEffect(() => {
const o = (a) => {
a.target && !n.current && Zr(Mo, t, { originalEvent: a }, {
discrete: !1
});
};
return r.addEventListener("focusin", o), () => r.removeEventListener("focusin", o);
}, [r, t]), {
onFocusCapture: () => n.current = !0,
onBlurCapture: () => n.current = !1
};
}
function fr() {
const e = new CustomEvent(Ut);
document.dispatchEvent(e);
}
function Zr(e, r, t, { discrete: n }) {
const o = t.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: t });
r && o.addEventListener(e, r, { once: !0 }), n ? Ro(o, a) : o.dispatchEvent(a);
}
var _t = "focusScope.autoFocusOnMount", Ft = "focusScope.autoFocusOnUnmount", gr = { bubbles: !1, cancelable: !0 }, Lo = "FocusScope", Qr = d.forwardRef((e, r) => {
const {
loop: t = !1,
trapped: n = !1,
onMountAutoFocus: o,
onUnmountAutoFocus: a,
...s
} = e, [i, u] = d.useState(null), g = tt(o), f = tt(a), v = d.useRef(null), h = Ve(r, (p) => u(p)), _ = d.useRef({
paused: !1,
pause() {
this.paused = !0;
},
resume() {
this.paused = !1;
}
}).current;
d.useEffect(() => {
if (n) {
let p = function(T) {
if (_.paused || !i) return;
const M = T.target;
i.contains(M) ? v.current = M : De(v.current, { select: !0 });
}, C = function(T) {
if (_.paused || !i) return;
const M = T.relatedTarget;
M !== null && (i.contains(M) || De(v.current, { select: !0 }));
}, P = function(T) {
if (document.activeElement === document.body)
for (const O of T)
O.removedNodes.length > 0 && De(i);
};
document.addEventListener("focusin", p), document.addEventListener("focusout", C);
const y = new MutationObserver(P);
return i && y.observe(i, { childList: !0, subtree: !0 }), () => {
document.removeEventListener("focusin", p), document.removeEventListener("focusout", C), y.disconnect();
};
}
}, [n, i, _.paused]), d.useEffect(() => {
if (i) {
pr.add(_);
const p = document.activeElement;
if (!i.contains(p)) {
const P = new CustomEvent(_t, gr);
i.addEventListener(_t, g), i.dispatchEvent(P), P.defaultPrevented || (zo(jo(Jr(i)), { select: !0 }), document.activeElement === p && De(i));
}
return () => {
i.removeEventListener(_t, g), setTimeout(() => {
const P = new CustomEvent(Ft, gr);
i.addEventListener(Ft, f), i.dispatchEvent(P), P.defaultPrevented || De(p ?? document.body, { select: !0 }), i.removeEventListener(Ft, f), pr.remove(_);
}, 0);
};
}
}, [i, g, f, _]);
const N = d.useCallback(
(p) => {
if (!t && !n || _.paused) return;
const C = p.key === "Tab" && !p.altKey && !p.ctrlKey && !p.metaKey, P = document.activeElement;
if (C && P) {
const y = p.currentTarget, [T, M] = Uo(y);
T && M ? !p.shiftKey && P === M ? (p.preventDefault(), t && De(T, { select: !0 })) : p.shiftKey && P === T && (p.preventDefault(), t && De(M, { select: !0 })) : P === y && p.preventDefault();
}
},
[t, n, _.paused]
);
return /* @__PURE__ */ k(we.div, { tabIndex: -1, ...s, ref: h, onKeyDown: N });
});
Qr.displayName = Lo;
function zo(e, { select: r = !1 } = {}) {
const t = document.activeElement;
for (const n of e)
if (De(n, { select: r }), document.activeElement !== t) return;
}
function Uo(e) {
const r = Jr(e), t = mr(r, e), n = mr(r.reverse(), e);
return [t, n];
}
function Jr(e) {
const r = [], t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
acceptNode: (n) => {
const o = n.tagName === "INPUT" && n.type === "hidden";
return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
}
});
for (; t.nextNode(); ) r.push(t.currentNode);
return r;
}
function mr(e, r) {
for (const t of e)
if (!Wo(t, { upTo: r })) return t;
}
function Wo(e, { upTo: r }) {
if (getComputedStyle(e).visibility === "hidden") return !0;
for (; e; ) {
if (r !== void 0 && e === r) return !1;
if (getComputedStyle(e).display === "none") return !0;
e = e.parentElement;
}
return !1;
}
function Bo(e) {
return e instanceof HTMLInputElement && "select" in e;
}
function De(e, { select: r = !1 } = {}) {
if (e && e.focus) {
const t = document.activeElement;
e.focus({ preventScroll: !0 }), e !== t && Bo(e) && r && e.select();
}
}
var pr = $o();
function $o() {
let e = [];
return {
add(r) {
const t = e[0];
r !== t && (t == null || t.pause()), e = hr(e, r), e.unshift(r);
},
remove(r) {
var t;
e = hr(e, r), (t = e[0]) == null || t.resume();
}
};
}
function hr(e, r) {
const t = [...e], n = t.indexOf(r);
return n !== -1 && t.splice(n, 1), t;
}
function jo(e) {
return e.filter((r) => r.tagName !== "A");
}
var Go = "Portal", en = d.forwardRef((e, r) => {
var i;
const { container: t, ...n } = e, [o, a] = d.useState(!1);
et(() => a(!0), []);
const s = t || o && ((i = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : i.body);
return s ? fo.createPortal(/* @__PURE__ */ k(we.div, { ...n, ref: r }), s) : null;
});
en.displayName = Go;
function Ho(e, r) {
return d.useReducer((t, n) => r[t][n] ?? t, e);
}
var yt = (e) => {
const { present: r, children: t } = e, n = qo(r), o = typeof t == "function" ? t({ present: n.isPresent }) : d.Children.only(t), a = Ve(n.ref, Ko(o));
return typeof t == "function" || n.isPresent ? d.cloneElement(o, { ref: a }) : null;
};
yt.displayName = "Presence";
function qo(e) {
const [r, t] = d.useState(), n = d.useRef(null), o = d.useRef(e), a = d.useRef("none"), s = e ? "mounted" : "unmounted", [i, u] = Ho(s, {
mounted: {
UNMOUNT: "unmounted",
ANIMATION_OUT: "unmountSuspended"
},
unmountSuspended: {
MOUNT: "mounted",
ANIMATION_END: "unmounted"
},
unmounted: {
MOUNT: "mounted"
}
});
return d.useEffect(() => {
const g = ot(n.current);
a.current = i === "mounted" ? g : "none";
}, [i]), et(() => {
const g = n.current, f = o.current;
if (f !== e) {
const h = a.current, _ = ot(g);
e ? u("MOUNT") : _ === "none" || (g == null ? void 0 : g.display) === "none" ? u("UNMOUNT") : u(f && h !== _ ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e;
}
}, [e, u]), et(() => {
if (r) {
let g;
const f = r.ownerDocument.defaultView ?? window, v = (_) => {
const p = ot(n.current).includes(_.animationName);
if (_.target === r && p && (u("ANIMATION_END"), !o.current)) {
const C = r.style.animationFillMode;
r.style.animationFillMode = "forwards", g = f.setTimeout(() => {
r.style.animationFillMode === "forwards" && (r.style.animationFillMode = C);
});
}
}, h = (_) => {
_.target === r && (a.current = ot(n.current));
};
return r.addEventListener("animationstart", h), r.addEventListener("animationcancel", v), r.addEventListener("animationend", v), () => {
f.clearTimeout(g), r.removeEventListener("animationstart", h), r.removeEventListener("animationcancel", v), r.removeEventListener("animationend", v);
};
} else
u("ANIMATION_END");
}, [r, u]), {
isPresent: ["mounted", "unmountSuspended"].includes(i),
ref: d.useCallback((g) => {
n.current = g ? getComputedStyle(g) : null, t(g);
}, [])
};
}
function ot(e) {
return (e == null ? void 0 : e.animationName) || "none";
}
function Ko(e) {
var n, o;
let r = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, t = r && "isReactWarning" in r && r.isReactWarning;
return t ? e.ref : (r = (o = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : o.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
}
var Rt = 0;
function Xo() {
d.useEffect(() => {
const e = document.querySelectorAll("[data-radix-focus-guard]");
return document.body.insertAdjacentElement("afterbegin", e[0] ?? vr()), document.body.insertAdjacentElement("beforeend", e[1] ?? vr()), Rt++, () => {
Rt === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((r) => r.remove()), Rt--;
};
}, []);
}
function vr() {
const e = document.createElement("span");
return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
}
var be = function() {
return be = Object.assign || function(r) {
for (var t, n = 1, o = arguments.length; n < o; n++) {
t = arguments[n];
for (var a in t) Object.prototype.hasOwnProperty.call(t, a) && (r[a] = t[a]);
}
return r;
}, be.apply(this, arguments);
};
function tn(e, r) {
var t = {};
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && r.indexOf(n) < 0 && (t[n] = e[n]);
if (e != null && typeof Object.getOwnPropertySymbols == "function")
for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++)
r.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (t[n[o]] = e[n[o]]);
return t;
}
function Yo(e, r, t) {
if (t || arguments.length === 2) for (var n = 0, o = r.length, a; n < o; n++)
(a || !(n in r)) && (a || (a = Array.prototype.slice.call(r, 0, n)), a[n] = r[n]);
return e.concat(a || Array.prototype.slice.call(r));
}
var ut = "right-scroll-bar-position", ft = "width-before-scroll-bar", Zo = "with-scroll-bars-hidden", Qo = "--removed-body-scroll-bar-size";
function Dt(e, r) {
return typeof e == "function" ? e(r) : e && (e.current = r), e;
}
function Jo(e, r) {
var t = lo(function() {
return {
// value
value: e,
// last callback
callback: r,
// "memoized" public interface
facade: {
get current() {
return t.value;
},
set current(n) {
var o = t.value;
o !== n && (t.value = n, t.callback(n, o));
}
}
};
})[0];
return t.callback = r, t.facade;
}
var ea = typeof window < "u" ? d.useLayoutEffect : d.useEffect, br = /* @__PURE__ */ new WeakMap();
function ta(e, r) {
var t = Jo(null, function(n) {
return e.forEach(function(o) {
return Dt(o, n);
});
});
return ea(function() {
var n = br.get(t);
if (n) {
var o = new Set(n), a = new Set(e), s = t.current;
o.forEach(function(i) {
a.has(i) || Dt(i, null);
}), a.forEach(function(i) {
o.has(i) || Dt(i, s);
});
}
br.set(t, e);
}, [e]), t;
}
function ra(e) {
return e;
}
function na(e, r) {
r === void 0 && (r = ra);
var t = [], n = !1, o = {
read: function() {
if (n)
throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
return t.length ? t[t.length - 1] : e;
},
useMedium: function(a) {
var s = r(a, n);
return t.push(s), function() {
t = t.filter(function(i) {
return i !== s;
});
};
},
assignSyncMedium: function(a) {
for (n = !0; t.length; ) {
var s = t;
t = [], s.forEach(a);
}
t = {
push: function(i) {
return a(i);
},
filter: function() {
return t;
}
};
},
assignMedium: function(a) {
n = !0;
var s = [];
if (t.length) {
var i = t;
t = [], i.forEach(a), s = t;
}
var u = function() {
var f = s;
s = [], f.forEach(a);
}, g = function() {
return Promise.resolve().then(u);
};
g(), t = {
push: function(f) {
s.push(f), g();
},
filter: function(f) {
return s = s.filter(f), t;
}
};
}
};
return o;
}
function oa(e) {
e === void 0 && (e = {});
var r = na(null);
return r.options = be({ async: !0, ssr: !1 }, e), r;
}
var rn = function(e) {
var r = e.sideCar, t = tn(e, ["sideCar"]);
if (!r)
throw new Error("Sidecar: please provide `sideCar` property to import the right car");
var n = r.read();
if (!n)
throw new Error("Sidecar medium not found");
return d.createElement(n, be({}, t));
};
rn.isSideCarExport = !0;
function aa(e, r) {
return