UNPKG

@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
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