@spear-ai/spectral 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ .card-loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}/*! tailwindcss v4.1.13 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur: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:"Source Code Pro",monospace;--color-gray-500:oklch(55.1% .027 264.364);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--color-neutral-950);--color-text-primary:var(--color-neutral-50);--color-text-secondary:var(--color-neutral-300);--color-button-danger:var(--color-danger);--color-button-primary-bg:var(--color-neutral-50);--color-button-primary-bg--disabled:var(--color-neutral-500);--color-button-primary-border:var(--color-neutral-900);--color-button-primary-border--disabled:var(--color-neutral-500);--color-button-primary-text:var(--color-neutral-900);--color-button-primary-text--disabled:var(--color-neutral-200);--color-button-secondary-bg:var(--color-level-two);--color-button-secondary-bg--disabled:var(--color-neutral-500);--color-button-secondary-text:var(--color-neutral-50);--color-button-secondary-text--disabled:var(--color-neutral-200);--color-button-secondary-border:var(--color-neutral-900);--color-button-secondary-border--disabled:var(--color-neutral-500);--color-button-outline-bg:var(--color-transparent);--color-button-outline-text:var(--color-neutral-50);--color-button-outline-text--disabled:var(--color-neutral-400);--color-button-outline-border:var(--color-neutral-50);--color-button-outline-border--disabled:var(--color-neutral-400);--color-card-bg:#17171766}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-card-bg:color-mix(in oklab,var(--color-neutral-900)40%,transparent)}}:root,:host{--color-card-text:var(--color-neutral-50);--color-drawer-bg:var(--color-level-one);--color-slider-track:var(--color-neutral-700);--color-slider-range:var(--color-neutral-50);--color-slider-thumb-border:var(--color-neutral-50);--color-slider-thumb-bg:var(--color-neutral-50);--color-slider-thumb-ring:var(--color-neutral-50)}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--sidebar:#f7f7f8;--sidebar-foreground:#262636;--sidebar-primary:#262636;--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:#f7f7f8;--sidebar-ring:oklch(70.8% 0 0);--ring:oklch(70.8% 0 0)}.dark{--sidebar:#262636;--sidebar-foreground:#f7f7f8;--sidebar-primary:#f7f7f8;--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:#262636;--sidebar-ring:oklch(43.9% 0 0);--color-ring-offset:var(--color-neutral-950);--ring-offset-width:2px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-4{margin-top:calc(var(--spacing)*4)}.\!mb-3{margin-bottom:calc(var(--spacing)*3)!important}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-\[28px\]{height:28px}.h-\[36px\]{height:36px}.h-full{height:100%}.min-h-40{min-height:calc(var(--spacing)*40)}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-\[900px\]{width:900px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{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)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-none{touch-action:none}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*16)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*16)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none\!{--tw-border-style:none!important;border-style:none!important}.border-button-danger{border-color:var(--color-button-danger)}.border-button-outline-border{border-color:var(--color-button-outline-border)}.border-button-outline-border--disabled{border-color:var(--color-button-outline-border--disabled)}.border-button-primary-border{border-color:var(--color-button-primary-border)}.border-button-primary-border--disabled{border-color:var(--color-button-primary-border--disabled)}.border-button-secondary-border{border-color:var(--color-button-secondary-border)}.border-button-secondary-border--disabled{border-color:var(--color-button-secondary-border--disabled)}.border-slider-thumb-border{border-color:var(--color-slider-thumb-border)}.bg-background{background-color:var(--color-background)}.bg-button-danger{background-color:var(--color-button-danger)}.bg-button-outline-bg{background-color:var(--color-button-outline-bg)}.bg-button-primary-bg{background-color:var(--color-button-primary-bg)}.bg-button-primary-bg--disabled{background-color:var(--color-button-primary-bg--disabled)}.bg-button-secondary-bg{background-color:var(--color-button-secondary-bg)}.bg-button-secondary-bg--disabled{background-color:var(--color-button-secondary-bg--disabled)}.bg-card-bg{background-color:var(--color-card-bg)}.bg-card-bg\/50{background-color:color-mix(in srgb,color-mix(in oklab,var(--color-neutral-900)40%,transparent)50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-card-bg\/50{background-color:color-mix(in oklab,var(--color-card-bg)50%,transparent)}}.bg-drawer-bg{background-color:var(--color-drawer-bg)}.bg-slider-range{background-color:var(--color-slider-range)}.bg-slider-thumb-bg{background-color:var(--color-slider-thumb-bg)}.bg-slider-track{background-color:var(--color-slider-track)}.bg-transparent{background-color:#0000}.bg-transparent\!{background-color:#0000!important}.p-4{padding:calc(var(--spacing)*4)}.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-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-\[16px\]{padding-top:16px}.pr-2{padding-right:calc(var(--spacing)*2)}.\!pb-4{padding-bottom:calc(var(--spacing)*4)!important}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-\[16px\]{padding-bottom:16px}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-\[16px\]{padding-left:16px}.pl-\[32px\]{padding-left:32px}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\!{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.\!text-text-secondary{color:var(--color-text-secondary)!important}.text-\[\#52525b\]{color:#52525b}.text-button-danger{color:var(--color-button-danger)}.text-button-outline-text{color:var(--color-button-outline-text)}.text-button-outline-text--disabled{color:var(--color-button-outline-text--disabled)}.text-button-primary-text{color:var(--color-button-primary-text)}.text-button-primary-text--disabled{color:var(--color-button-primary-text--disabled)}.text-button-secondary-text{color:var(--color-button-secondary-text)}.text-button-secondary-text--disabled{color:var(--color-button-secondary-text--disabled)}.text-card-text{color:var(--color-card-text)}.text-gray-500{color:var(--color-gray-500)}.text-text-primary{color:var(--color-text-primary)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.shadow-\[-20px_0_20px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:-20px 0 20px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-20px_20px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 -20px 20px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_20px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 20px 20px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[20px_0_20px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:20px 0 20px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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-slider-thumb-ring\/50{--tw-ring-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.ring-slider-thumb-ring\/50{--tw-ring-color:color-mix(in oklab,var(--color-slider-thumb-ring)50%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.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)}.odd\:bg-\[\#f4f4f5\]:nth-child(odd){background-color:#f4f4f5}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + 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-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-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-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + 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-\[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-offset-2:focus-visible{--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-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-button-outline-border--disabled:disabled{border-color:var(--color-button-outline-border--disabled)}.disabled\:border-button-primary-border--disabled:disabled{border-color:var(--color-button-primary-border--disabled)}.disabled\:border-button-secondary-border--disabled:disabled{border-color:var(--color-button-secondary-border--disabled)}.disabled\:bg-button-primary-bg--disabled:disabled{background-color:var(--color-button-primary-bg--disabled)}.disabled\:bg-button-secondary-bg--disabled:disabled{background-color:var(--color-button-secondary-bg--disabled)}.disabled\:text-button-outline-text--disabled:disabled{color:var(--color-button-outline-text--disabled)}.disabled\:text-button-primary-text--disabled:disabled{color:var(--color-button-primary-text--disabled)}.disabled\:text-button-secondary-text--disabled:disabled{color:var(--color-button-secondary-text--disabled)}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing)*1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing)*1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(var(--spacing)*2*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(var(--spacing)*2)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(var(--spacing)*2*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(var(--spacing)*2)}.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}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}}@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-blur{syntax:"*";inherits:false;initial-value:0}@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-blur{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[data-theme=light]{--color-background:var(--color-neutral-50);--color-ring-offset:var(--color-neutral-50);--color-button-secondary-text:var(--color-neutral-900);--color-button-secondary-text--hover:var(--color-neutral-900);--color-button-secondary-text--active:var(--color-neutral-900);--color-button-secondary-text--disabled:var(--color-neutral-400);--color-button-secondary-border:1px solid var(--color-neutral-900);--color-button-secondary-border--hover:1px solid var(--color-neutral-200);--color-button-secondary-border--active:1px solid var(--color-neutral-200);--color-button-secondary-border--disabled:1px solid var(--color-neutral-400)}:root{--color-black:oklch(0% 0 0);--color-white:oklch(100% 0 0);--color-transparent:oklch(0% 0 0/0);--color-accent:oklch(92.53% .1976 123.38);--color-danger:oklch(62.39% .2536 28.3);--color-success:oklch(75.9% .2424 144.72);--color-warning:oklch(74.58% .1806 56.91);--color-neutral-50:oklch(98.51% 0 0);--color-neutral-100:oklch(92.19% 0 0);--color-neutral-200:oklch(86.99% 0 0);--color-neutral-300:oklch(71.55% 0 0);--color-neutral-400:oklch(55.55% 0 0);--color-neutral-500:oklch(43.86% 0 0);--color-neutral-600:oklch(37.15% 0 0);--color-neutral-700:oklch(32.11% 0 0);--color-neutral-800:oklch(26.86% 0 0);--color-neutral-900:oklch(25.2% 0 0);--color-neutral-950:oklch(23.95% .0059 271.17);--color-level-zero:#202128;--color-level-one:#25272c;--color-level-two:#2c3035;--color-level-three:#31353a;--color-level-four:#393d41;--color-primary-50:oklch(97.05% .0142 254.6);--color-primary-100:oklch(93.19% .0316 255.59);--color-primary-200:oklch(88.41% .0581 252.44);--color-primary-300:oklch(80.75% .0958 253.19);--color-primary-400:oklch(71.27% .1469 255.61);--color-primary-500:oklch(62.31% .1862 260.06);--color-primary-600:oklch(54.34% .2151 263.01);--color-primary-700:oklch(49.14% .2189 264.03);--color-primary-800:oklch(42.75% .1828 265.08);--color-primary-900:oklch(37.78% .1366 265.11);--color-primary-950:oklch(28.37% .0887 268.75)}@keyframes slide-up{0%{opacity:0;transform:translateY(50%)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50%)}}.slide-up{animation:.3s ease-in-out slide-up}.slide-down{animation:.3s ease-in-out slide-down}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
@@ -0,0 +1,20 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { ButtonHTMLAttributes, MouseEvent, ReactNode } from 'react';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "primary" | "secondary" | "outline" | null | undefined;
5
+ state?: "default" | "error" | "loading" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'>, VariantProps<typeof buttonVariants> {
8
+ errorMessage?: string | ReactNode;
9
+ endIcon?: ReactNode;
10
+ label: string;
11
+ disabled?: boolean;
12
+ startIcon?: ReactNode;
13
+ type?: 'button' | 'submit' | 'reset';
14
+ state?: 'loading' | 'error' | 'default';
15
+ dataTestId?: string;
16
+ onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
17
+ isFullWidth?: boolean;
18
+ }
19
+ export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
20
+ export {};
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick'> {
3
+ title?: string;
4
+ icon?: ReactNode;
5
+ width?: 'full' | 'fit';
6
+ isLoading?: boolean;
7
+ children?: ReactNode;
8
+ }
9
+ export declare const Card: import('react').ForwardRefExoticComponent<CardProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ export type DrawerProps = {
3
+ title?: string;
4
+ trigger: ReactNode;
5
+ description?: string;
6
+ children?: ReactNode;
7
+ direction?: 'left' | 'right' | 'top' | 'bottom';
8
+ size?: string;
9
+ };
10
+ export declare const Drawer: ({ trigger, title, description, children, direction, size }: DrawerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ declare function Skeleton({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
3
+ export { Skeleton };
@@ -0,0 +1,18 @@
1
+ import { ComponentProps } from 'react';
2
+ import * as SliderPrimitive from '@radix-ui/react-slider';
3
+ export type SliderProps = ComponentProps<typeof SliderPrimitive.Root> & {
4
+ className?: string;
5
+ defaultValue?: number[];
6
+ value?: number[];
7
+ min?: number;
8
+ max?: number;
9
+ step?: number;
10
+ minStepsBetweenThumbs?: number;
11
+ onValueChange?: (value: number[]) => void;
12
+ orientation?: 'horizontal' | 'vertical';
13
+ onValueCommit?: (value: number[]) => void;
14
+ disabled?: boolean;
15
+ name?: string;
16
+ };
17
+ declare function Slider({ className, defaultValue, value, min, max, step, minStepsBetweenThumbs, onValueChange, orientation, onValueCommit, disabled, name, ...props }: SliderProps): import("react/jsx-runtime").JSX.Element;
18
+ export { Slider };
@@ -0,0 +1,8 @@
1
+ import { MouseEvent, RefObject } from 'react';
2
+ /**
3
+ * Hook that handles auto-scrolling for accordions with return-to-position functionality
4
+ *
5
+ * @param triggerRef Reference to the accordion trigger element
6
+ * @returns A click event handler for the accordion trigger
7
+ */
8
+ export declare const useAccordionAutoScroll: (triggerRef: RefObject<HTMLElement>) => (_event?: MouseEvent<HTMLButtonElement>) => void;
@@ -0,0 +1,7 @@
1
+ import { RefObject } from 'react';
2
+ /**
3
+ * Hook that handles clicks outside of the specified element
4
+ * @param callback Function to call when a click outside the element is detected
5
+ * @returns A ref to attach to the target element
6
+ */
7
+ export declare function useOutsideClick<T extends HTMLElement>(callback: () => void): RefObject<T | null>;
@@ -0,0 +1,7 @@
1
+ export type Theme = 'light' | 'dark';
2
+ export interface UseThemeReturn {
3
+ theme: Theme;
4
+ setTheme: (theme: Theme) => void;
5
+ toggleTheme: () => void;
6
+ }
7
+ export declare const useTheme: (defaultTheme?: Theme) => UseThemeReturn;
@@ -0,0 +1,225 @@
1
+ import * as s from "react";
2
+ import { jsx as m } from "react/jsx-runtime";
3
+ import * as x from "react-dom";
4
+ function M(e, t, { checkForDefaultPrevented: o = !0 } = {}) {
5
+ return function(n) {
6
+ if (e?.(n), o === !1 || !n.defaultPrevented)
7
+ return t?.(n);
8
+ };
9
+ }
10
+ function h(e, t) {
11
+ if (typeof e == "function")
12
+ return e(t);
13
+ e != null && (e.current = t);
14
+ }
15
+ function y(...e) {
16
+ return (t) => {
17
+ let o = !1;
18
+ const c = e.map((n) => {
19
+ const r = h(n, t);
20
+ return !o && typeof r == "function" && (o = !0), r;
21
+ });
22
+ if (o)
23
+ return () => {
24
+ for (let n = 0; n < c.length; n++) {
25
+ const r = c[n];
26
+ typeof r == "function" ? r() : h(e[n], null);
27
+ }
28
+ };
29
+ };
30
+ }
31
+ function W(...e) {
32
+ return s.useCallback(y(...e), e);
33
+ }
34
+ function A(e, t) {
35
+ const o = s.createContext(t), c = (r) => {
36
+ const { children: u, ...i } = r, l = s.useMemo(() => i, Object.values(i));
37
+ return /* @__PURE__ */ m(o.Provider, { value: l, children: u });
38
+ };
39
+ c.displayName = e + "Provider";
40
+ function n(r) {
41
+ const u = s.useContext(o);
42
+ if (u) return u;
43
+ if (t !== void 0) return t;
44
+ throw new Error(`\`${r}\` must be used within \`${e}\``);
45
+ }
46
+ return [c, n];
47
+ }
48
+ function H(e, t = []) {
49
+ let o = [];
50
+ function c(r, u) {
51
+ const i = s.createContext(u), l = o.length;
52
+ o = [...o, u];
53
+ const a = (f) => {
54
+ const { scope: v, children: C, ...d } = f, S = v?.[e]?.[l] || i, E = s.useMemo(() => d, Object.values(d));
55
+ return /* @__PURE__ */ m(S.Provider, { value: E, children: C });
56
+ };
57
+ a.displayName = r + "Provider";
58
+ function p(f, v) {
59
+ const C = v?.[e]?.[l] || i, d = s.useContext(C);
60
+ if (d) return d;
61
+ if (u !== void 0) return u;
62
+ throw new Error(`\`${f}\` must be used within \`${r}\``);
63
+ }
64
+ return [a, p];
65
+ }
66
+ const n = () => {
67
+ const r = o.map((u) => s.createContext(u));
68
+ return function(i) {
69
+ const l = i?.[e] || r;
70
+ return s.useMemo(
71
+ () => ({ [`__scope${e}`]: { ...i, [e]: l } }),
72
+ [i, l]
73
+ );
74
+ };
75
+ };
76
+ return n.scopeName = e, [c, g(n, ...t)];
77
+ }
78
+ function g(...e) {
79
+ const t = e[0];
80
+ if (e.length === 1) return t;
81
+ const o = () => {
82
+ const c = e.map((n) => ({
83
+ useScope: n(),
84
+ scopeName: n.scopeName
85
+ }));
86
+ return function(r) {
87
+ const u = c.reduce((i, { useScope: l, scopeName: a }) => {
88
+ const f = l(r)[`__scope${a}`];
89
+ return { ...i, ...f };
90
+ }, {});
91
+ return s.useMemo(() => ({ [`__scope${t.scopeName}`]: u }), [u]);
92
+ };
93
+ };
94
+ return o.scopeName = t.scopeName, o;
95
+ }
96
+ var P = globalThis?.document ? s.useLayoutEffect : () => {
97
+ }, b = s[" useInsertionEffect ".trim().toString()] || P;
98
+ function L({
99
+ prop: e,
100
+ defaultProp: t,
101
+ onChange: o = () => {
102
+ },
103
+ caller: c
104
+ }) {
105
+ const [n, r, u] = R({
106
+ defaultProp: t,
107
+ onChange: o
108
+ }), i = e !== void 0, l = i ? e : n;
109
+ {
110
+ const p = s.useRef(e !== void 0);
111
+ s.useEffect(() => {
112
+ const f = p.current;
113
+ f !== i && console.warn(
114
+ `${c} is changing from ${f ? "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.`
115
+ ), p.current = i;
116
+ }, [i, c]);
117
+ }
118
+ const a = s.useCallback(
119
+ (p) => {
120
+ if (i) {
121
+ const f = w(p) ? p(e) : p;
122
+ f !== e && u.current?.(f);
123
+ } else
124
+ r(p);
125
+ },
126
+ [i, e, r, u]
127
+ );
128
+ return [l, a];
129
+ }
130
+ function R({
131
+ defaultProp: e,
132
+ onChange: t
133
+ }) {
134
+ const [o, c] = s.useState(e), n = s.useRef(o), r = s.useRef(t);
135
+ return b(() => {
136
+ r.current = t;
137
+ }, [t]), s.useEffect(() => {
138
+ n.current !== o && (r.current?.(o), n.current = o);
139
+ }, [o, n]), [o, c, r];
140
+ }
141
+ function w(e) {
142
+ return typeof e == "function";
143
+ }
144
+ // @__NO_SIDE_EFFECTS__
145
+ function $(e) {
146
+ const t = /* @__PURE__ */ _(e), o = s.forwardRef((c, n) => {
147
+ const { children: r, ...u } = c, i = s.Children.toArray(r), l = i.find(N);
148
+ if (l) {
149
+ const a = l.props.children, p = i.map((f) => f === l ? s.Children.count(a) > 1 ? s.Children.only(null) : s.isValidElement(a) ? a.props.children : null : f);
150
+ return /* @__PURE__ */ m(t, { ...u, ref: n, children: s.isValidElement(a) ? s.cloneElement(a, void 0, p) : null });
151
+ }
152
+ return /* @__PURE__ */ m(t, { ...u, ref: n, children: r });
153
+ });
154
+ return o.displayName = `${e}.Slot`, o;
155
+ }
156
+ // @__NO_SIDE_EFFECTS__
157
+ function _(e) {
158
+ const t = s.forwardRef((o, c) => {
159
+ const { children: n, ...r } = o;
160
+ if (s.isValidElement(n)) {
161
+ const u = I(n), i = D(r, n.props);
162
+ return n.type !== s.Fragment && (i.ref = c ? y(c, u) : u), s.cloneElement(n, i);
163
+ }
164
+ return s.Children.count(n) > 1 ? s.Children.only(null) : null;
165
+ });
166
+ return t.displayName = `${e}.SlotClone`, t;
167
+ }
168
+ var O = Symbol("radix.slottable");
169
+ function N(e) {
170
+ return s.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === O;
171
+ }
172
+ function D(e, t) {
173
+ const o = { ...t };
174
+ for (const c in t) {
175
+ const n = e[c], r = t[c];
176
+ /^on[A-Z]/.test(c) ? n && r ? o[c] = (...i) => {
177
+ const l = r(...i);
178
+ return n(...i), l;
179
+ } : n && (o[c] = n) : c === "style" ? o[c] = { ...n, ...r } : c === "className" && (o[c] = [n, r].filter(Boolean).join(" "));
180
+ }
181
+ return { ...e, ...o };
182
+ }
183
+ function I(e) {
184
+ let t = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, o = t && "isReactWarning" in t && t.isReactWarning;
185
+ return o ? e.ref : (t = Object.getOwnPropertyDescriptor(e, "ref")?.get, o = t && "isReactWarning" in t && t.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
186
+ }
187
+ var j = [
188
+ "a",
189
+ "button",
190
+ "div",
191
+ "form",
192
+ "h2",
193
+ "h3",
194
+ "img",
195
+ "input",
196
+ "label",
197
+ "li",
198
+ "nav",
199
+ "ol",
200
+ "p",
201
+ "select",
202
+ "span",
203
+ "svg",
204
+ "ul"
205
+ ], T = j.reduce((e, t) => {
206
+ const o = /* @__PURE__ */ $(`Primitive.${t}`), c = s.forwardRef((n, r) => {
207
+ const { asChild: u, ...i } = n, l = u ? o : t;
208
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ m(l, { ...i, ref: r });
209
+ });
210
+ return c.displayName = `Primitive.${t}`, { ...e, [t]: c };
211
+ }, {});
212
+ function k(e, t) {
213
+ e && x.flushSync(() => e.dispatchEvent(t));
214
+ }
215
+ export {
216
+ T as P,
217
+ W as a,
218
+ H as b,
219
+ M as c,
220
+ k as d,
221
+ $ as e,
222
+ A as f,
223
+ L as g,
224
+ P as u
225
+ };
package/dist/index.d.ts CHANGED
@@ -1,75 +1,11 @@
1
- import * as react from 'react';
2
- import { ButtonHTMLAttributes, ReactNode, MouseEvent, HTMLAttributes, ComponentProps } from 'react';
3
- import * as class_variance_authority_types from 'class-variance-authority/types';
4
- import { VariantProps } from 'class-variance-authority';
5
- import * as react_jsx_runtime from 'react/jsx-runtime';
6
- import * as SliderPrimitive from '@radix-ui/react-slider';
7
- import { ClassValue } from 'clsx';
8
-
9
- declare const buttonVariants: (props?: ({
10
- variant?: "primary" | "secondary" | "outline" | null | undefined;
11
- state?: "default" | "error" | "loading" | null | undefined;
12
- } & class_variance_authority_types.ClassProp) | undefined) => string;
13
- interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'>, VariantProps<typeof buttonVariants> {
14
- errorMessage?: string | ReactNode;
15
- endIcon?: ReactNode;
16
- label: string;
17
- disabled?: boolean;
18
- startIcon?: ReactNode;
19
- type?: 'button' | 'submit' | 'reset';
20
- state?: 'loading' | 'error' | 'default';
21
- dataTestId?: string;
22
- onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
23
- isFullWidth?: boolean;
24
- }
25
- declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
26
-
27
- interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick'> {
28
- title?: string;
29
- icon?: ReactNode;
30
- width?: 'full' | 'fit';
31
- isLoading?: boolean;
32
- children?: ReactNode;
33
- }
34
- declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
35
-
36
- type DrawerProps = {
37
- title?: string;
38
- trigger: ReactNode;
39
- description?: string;
40
- children?: ReactNode;
41
- direction?: 'left' | 'right' | 'top' | 'bottom';
42
- size?: string;
43
- };
44
- declare const Drawer: ({ trigger, title, description, children, direction, size }: DrawerProps) => react_jsx_runtime.JSX.Element;
45
-
46
- declare function Skeleton({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
47
-
48
- type SliderProps = ComponentProps<typeof SliderPrimitive.Root> & {
49
- className?: string;
50
- defaultValue?: number[];
51
- value?: number[];
52
- min?: number;
53
- max?: number;
54
- step?: number;
55
- minStepsBetweenThumbs?: number;
56
- onValueChange?: (value: number[]) => void;
57
- orientation?: 'horizontal' | 'vertical';
58
- onValueCommit?: (value: number[]) => void;
59
- disabled?: boolean;
60
- name?: string;
61
- };
62
- declare function Slider({ className, defaultValue, value, min, max, step, minStepsBetweenThumbs, onValueChange, orientation, onValueCommit, disabled, name, ...props }: SliderProps): react_jsx_runtime.JSX.Element;
63
-
64
- type Theme = 'light' | 'dark';
65
- interface UseThemeReturn {
66
- theme: Theme;
67
- setTheme: (theme: Theme) => void;
68
- toggleTheme: () => void;
69
- }
70
- declare const useTheme: (defaultTheme?: Theme) => UseThemeReturn;
71
-
72
- declare function cn(...inputs: ClassValue[]): string;
73
- declare function pxToRem(px: number): string;
74
-
75
- export { Button, type ButtonProps, Card, type CardProps, Drawer, type DrawerProps, Skeleton, Slider, type SliderProps, cn, pxToRem, useTheme };
1
+ export { Button } from './components/Button/Button';
2
+ export type { ButtonProps } from './components/Button/Button';
3
+ export { Card } from './components/Card/Card';
4
+ export type { CardProps } from './components/Card/Card';
5
+ export { Drawer } from './components/Drawer/Drawer';
6
+ export type { DrawerProps } from './components/Drawer/Drawer';
7
+ export { Skeleton } from './components/Skeleton/Skeleton';
8
+ export { Slider } from './components/Slider/Slider';
9
+ export type { SliderProps } from './components/Slider/Slider';
10
+ export { useTheme } from './hooks/useTheme';
11
+ export { cn, pxToRem } from './utils/twUtils';