@noxickon/onyx 0.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.
package/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # Onyx Component Library
2
+
3
+ ![React](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/noxickon/c0b3115a7fbd0b01ccf3e74192756dfb/raw/onyx-react-version-badge.json)
4
+ ![CI Report](https://github.com/noxickon/onyx/actions/workflows/ci.yml/badge.svg)
5
+ ![Coverage %](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/noxickon/c0b3115a7fbd0b01ccf3e74192756dfb/raw/onyx-coverage-badge.json)
6
+ ![Last Build](https://github.com/noxickon/onyx/actions/workflows/release.yml/badge.svg)
7
+
8
+ Onyx is a modern React component library built with Tailwind CSS, designed for building beautiful and accessible UI interfaces. The library offers a collection of reusable components following consistent design patterns, optimized for dark mode by default.
9
+
10
+ ## Features
11
+
12
+ - **Modern React Components** - Built with React 19 and TypeScript
13
+ - **Dark Mode Optimized** - All components designed for dark interfaces
14
+ - **Material Design Icons** - Seamless integration with MDI icon set
15
+ - **Tailwind CSS** - Fully customizable with Tailwind 4
16
+ - **Storybook Documentation** - Interactive component documentation
17
+
18
+ ## Getting Started
19
+
20
+ ### Installation
21
+
22
+ ```bash
23
+ npm install @noxickon/onyx
24
+ ```
25
+
26
+ ### Usage
27
+
28
+ ```tsx
29
+ import { OxButton, OxIcon } from '@noxickon/onyx';
30
+
31
+ function App() {
32
+ return (
33
+ <div>
34
+ <OxButton variant="primary">Click Me</OxButton>
35
+ <OxIcon icon="mdiHomeOutline" size={1.2} />
36
+ </div>
37
+ );
38
+ }
39
+ ```
40
+
41
+ ## Development
42
+
43
+ ### Available Commands
44
+
45
+ | Command | Description |
46
+ | ------------------------- | ------------------------------------------------ |
47
+ | `npm run dev` | Starts Storybook development server on port 6006 |
48
+ | `npm run build` | Builds the component library for production |
49
+ | `npm run preview` | Previews the built package locally |
50
+ | `npm run build-storybook` | Builds static Storybook site for deployment |
51
+ | `npm run lint` | Lint code with ESLint |
52
+
53
+ ### Storybook
54
+
55
+ The component library uses Storybook for development and documentation. To start the Storybook development server:
56
+
57
+ ```bash
58
+ npm run dev
59
+ ```
60
+
61
+ Then open http://localhost:6006 in your browser to view the component library.
62
+
63
+ ### Adding a New Component
64
+
65
+ 1. Create a new directory under `src/stories/[ComponentName]`
66
+ 2. Add the component implementation in `src/stories/[ComponentName]/src/[ComponentName].tsx`
67
+ 3. Create types in `src/stories/[ComponentName]/src/[ComponentName].types.ts`
68
+ 4. Add an `index.ts` file that exports the component with the `Ox` prefix
69
+ 5. Create stories in `src/stories/[ComponentName]/[ComponentName].stories.tsx`
70
+
71
+ ## License
72
+
73
+ This project is privately owned and not available for public use without permission.
74
+
75
+ ## Contributors
76
+
77
+ - Noxickon
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ /*! 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-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-lime-300:oklch(89.7% .196 126.665);--color-lime-400:oklch(84.1% .238 128.85);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-800:oklch(43.2% .095 166.913);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-800:oklch(39.8% .195 277.366);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-500:oklch(64.5% .246 16.439);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-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}}@layer components{.default-border{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-700);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));--tw-duration:.15s;transition-duration:.15s}.default-error-border{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-red-500)!important}.default-outset-focus:focus{--tw-outline-style:none;outline-style:none}.default-outset-focus: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);--tw-ring-color:var(--color-purple-800);--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-offset-color:var(--color-gray-900)}.default-inset-focus:focus{--tw-outline-style:none;outline-style:none}.default-inset-focus: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);--tw-ring-color:var(--color-purple-800);--tw-ring-inset:inset}.default-disabled:disabled{cursor:not-allowed;opacity:.5}@media (hover:hover){.default-disabled:disabled:hover{background-color:#0000}}.default-disabled:disabled:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scrollbar{scrollbar-width:thin;scrollbar-color:#ffffff0f transparent}@supports (color:color-mix(in lab,red,red)){.scrollbar{scrollbar-color:color-mix(in oklab,var(--color-white)6%,transparent)transparent}}.scrollbar::-webkit-scrollbar{width:12px}.scrollbar::-webkit-scrollbar-track{background:0 0}.scrollbar::-webkit-scrollbar-thumb{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.scrollbar::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.scrollbar::-webkit-scrollbar-thumb{border:3px solid #0000;border-radius:6px}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.scrollbar::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.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}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.end-3{inset-inline-end:calc(var(--spacing)*3)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.right-full{right:100%}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-full{left:100%}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.row-span-4{grid-row:span 4/span 4}.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}}.m-\[1px\]{margin:1px}.m-auto{margin:auto}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-\[600px\]{height:600px}.h-px{height:1px}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-\[60px\]{min-height:60px}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-\[8rem\]{min-width:8rem}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.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}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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)))}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-8{column-gap:calc(var(--spacing)*8)}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-4{row-gap:calc(var(--spacing)*4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-purple-500{border-color:var(--color-purple-500)}.border-teal-500{border-color:var(--color-teal-500)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.border-zinc-900{border-color:var(--color-zinc-900)}.bg-amber-500\/25{background-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/25{background-color:color-mix(in oklab,var(--color-amber-500)25%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/25{background-color:#3080ff40}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/25{background-color:color-mix(in oklab,var(--color-blue-500)25%,transparent)}}.bg-blue-950\/50{background-color:#16245680}@supports (color:color-mix(in lab,red,red)){.bg-blue-950\/50{background-color:color-mix(in oklab,var(--color-blue-950)50%,transparent)}}.bg-cyan-500\/25{background-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/25{background-color:color-mix(in oklab,var(--color-cyan-500)25%,transparent)}}.bg-emerald-500\/25{background-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/25{background-color:color-mix(in oklab,var(--color-emerald-500)25%,transparent)}}.bg-fuchsia-500\/25{background-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/25{background-color:color-mix(in oklab,var(--color-fuchsia-500)25%,transparent)}}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/25{background-color:#6a728240}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/25{background-color:color-mix(in oklab,var(--color-gray-500)25%,transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/25{background-color:#00c75840}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/25{background-color:color-mix(in oklab,var(--color-green-500)25%,transparent)}}.bg-indigo-500\/25{background-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/25{background-color:color-mix(in oklab,var(--color-indigo-500)25%,transparent)}}.bg-lime-400\/10{background-color:#9de5001a}@supports (color:color-mix(in lab,red,red)){.bg-lime-400\/10{background-color:color-mix(in oklab,var(--color-lime-400)10%,transparent)}}.bg-neutral-900\/80{background-color:#171717cc}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/80{background-color:color-mix(in oklab,var(--color-neutral-900)80%,transparent)}}.bg-pink-500\/25{background-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/25{background-color:color-mix(in oklab,var(--color-pink-500)25%,transparent)}}.bg-purple-500\/25{background-color:#ac4bff40}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/25{background-color:color-mix(in oklab,var(--color-purple-500)25%,transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-700{background-color:var(--color-purple-700)}.bg-purple-950\/50{background-color:#3c036680}@supports (color:color-mix(in lab,red,red)){.bg-purple-950\/50{background-color:color-mix(in oklab,var(--color-purple-950)50%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/25{background-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/25{background-color:color-mix(in oklab,var(--color-red-500)25%,transparent)}}.bg-sky-500\/25{background-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/25{background-color:color-mix(in oklab,var(--color-sky-500)25%,transparent)}}.bg-teal-500\/25{background-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/25{background-color:color-mix(in oklab,var(--color-teal-500)25%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/25{background-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/25{background-color:color-mix(in oklab,var(--color-violet-500)25%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/25{background-color:#edb20040}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/25{background-color:color-mix(in oklab,var(--color-yellow-500)25%,transparent)}}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-800\/80{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.bg-zinc-800\/80{background-color:color-mix(in oklab,var(--color-zinc-800)80%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\/90{background-color:#18181be6}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\/90{background-color:color-mix(in oklab,var(--color-zinc-900)90%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-900\/40{--tw-gradient-from:#7b330666}@supports (color:color-mix(in lab,red,red)){.from-amber-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-amber-900)40%,transparent)}}.from-amber-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-900\/40{--tw-gradient-from:#1c398e66}@supports (color:color-mix(in lab,red,red)){.from-blue-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-blue-900)40%,transparent)}}.from-blue-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-900\/40{--tw-gradient-from:#0d542b66}@supports (color:color-mix(in lab,red,red)){.from-green-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-green-900)40%,transparent)}}.from-green-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-900\/40{--tw-gradient-from:#59168b66}@supports (color:color-mix(in lab,red,red)){.from-purple-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-purple-900)40%,transparent)}}.from-purple-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-900\/40{--tw-gradient-from:#82181a66}@supports (color:color-mix(in lab,red,red)){.from-red-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-red-900)40%,transparent)}}.from-red-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-700{--tw-gradient-from:var(--color-violet-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-20\%{--tw-gradient-from-position:20%}.to-amber-800\/20{--tw-gradient-to:#953d0033}@supports (color:color-mix(in lab,red,red)){.to-amber-800\/20{--tw-gradient-to:color-mix(in oklab,var(--color-amber-800)20%,transparent)}}.to-amber-800\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-800\/20{--tw-gradient-to:#005f4633}@supports (color:color-mix(in lab,red,red)){.to-emerald-800\/20{--tw-gradient-to:color-mix(in oklab,var(--color-emerald-800)20%,transparent)}}.to-emerald-800\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-800\/20{--tw-gradient-to:#372aac33}@supports (color:color-mix(in lab,red,red)){.to-indigo-800\/20{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.to-indigo-800\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-800\/20{--tw-gradient-to:#6e11b033}@supports (color:color-mix(in lab,red,red)){.to-purple-800\/20{--tw-gradient-to:color-mix(in oklab,var(--color-purple-800)20%,transparent)}}.to-purple-800\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-800\/20{--tw-gradient-to:#9f071233}@supports (color:color-mix(in lab,red,red)){.to-red-800\/20{--tw-gradient-to:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.to-red-800\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.pe-8{padding-inline-end:calc(var(--spacing)*8)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-10{padding-right:calc(var(--spacing)*10)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.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-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.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-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-400{color:var(--color-emerald-400)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-300{color:var(--color-lime-300)}.text-orange-500{color:var(--color-orange-500)}.text-pink-400{color:var(--color-pink-400)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-rose-500{color:var(--color-rose-500)}.text-sky-400{color:var(--color-sky-400)}.text-teal-400{color:var(--color-teal-400)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-purple-900\/20{--tw-shadow-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.shadow-purple-900\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-900)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-transparent{--tw-ring-color:transparent}.\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;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}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.peer-checked\:opacity-80:is(:where(.peer):checked~*){opacity:.8}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.placeholder\:text-green-700::placeholder{color:var(--color-green-700)}.checked\:bg-blue-600:checked{background-color:var(--color-blue-600)}.checked\:bg-purple-800:checked{background-color:var(--color-purple-800)}.checked\:bg-teal-600:checked{background-color:var(--color-teal-600)}@media (hover:hover){.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:border-purple-500\/50:hover{border-color:#ac4bff80}@supports (color:color-mix(in lab,red,red)){.hover\:border-purple-500\/50:hover{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-zinc-600:hover{background-color:var(--color-zinc-600)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--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)}}.focus\:scale-105:focus{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.focus\:border-purple-300:focus{border-color:var(--color-purple-300)}.focus\:ring-purple-800:focus{--tw-ring-color:var(--color-purple-800)}.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-gray-500:focus-visible{--tw-ring-color:var(--color-gray-500)}.focus-visible\:ring-purple-800:focus-visible{--tw-ring-color:var(--color-purple-800)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-gray-900:focus-visible{--tw-ring-offset-color:var(--color-gray-900)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.enabled\:cursor-pointer:enabled{cursor:pointer}@media (hover:hover){.enabled\:hover\:bg-white\/6:enabled:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.enabled\:hover\:bg-white\/6:enabled:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.enabled\:hover\:bg-white\/10:enabled:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.enabled\:hover\:bg-white\/10:enabled:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.enabled\:hover\:underline:enabled:hover{text-decoration-line:underline}.enabled\:hover\:brightness-120:enabled:hover{--tw-brightness:brightness(120%);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,)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes dropdownInBottom{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownInTop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-dropdown-in-bottom{animation:.15s ease-out forwards dropdownInBottom}.animate-dropdown-in-top{animation:.15s ease-out forwards dropdownInTop}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-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}}
@@ -0,0 +1,354 @@
1
+ import { default as default_2 } from 'react';
2
+ import { HTMLAttributes } from 'react';
3
+ import { ReactNode } from 'react';
4
+
5
+ export declare type BadgeColor = 'purple' | 'lime' | 'red' | 'yellow' | 'green' | 'blue' | 'indigo' | 'pink' | 'amber' | 'emerald' | 'teal' | 'cyan' | 'sky' | 'violet' | 'fuchsia' | 'gray';
6
+
7
+ export declare type BadgeSize = 'sm' | 'md' | 'lg';
8
+
9
+ declare interface DropdownBaseProps {
10
+ className?: string;
11
+ }
12
+
13
+ declare interface DropdownShortcutProps {
14
+ children: default_2.ReactNode;
15
+ className?: string;
16
+ }
17
+
18
+ export declare const OxAvatar: default_2.FC<OxAvatarProps>;
19
+
20
+ export declare const OxAvatarImage: default_2.FC<OxAvatarImageProps>;
21
+
22
+ export declare interface OxAvatarImageProps {
23
+ alt: string;
24
+ className?: string;
25
+ fallback?: string | ReactNode;
26
+ skeleton?: boolean;
27
+ size?: OxAvatarSize;
28
+ showStatus?: boolean;
29
+ src: string;
30
+ status?: OxAvatarStatus;
31
+ type?: OxAvatarType;
32
+ }
33
+
34
+ export declare interface OxAvatarProps {
35
+ children: ReactNode;
36
+ className?: string;
37
+ }
38
+
39
+ export declare type OxAvatarSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
40
+
41
+ export declare type OxAvatarStatus = 'online' | 'offline' | 'away' | 'busy';
42
+
43
+ export declare const OxAvatarText: default_2.FC<OxAvatarTextProps>;
44
+
45
+ export declare interface OxAvatarTextProps {
46
+ className?: string;
47
+ size?: OxAvatarSize;
48
+ subtext?: string;
49
+ username: string;
50
+ }
51
+
52
+ export declare type OxAvatarType = 'rounded' | 'square';
53
+
54
+ export declare const OxBadge: default_2.FC<OxBadgeProps>;
55
+
56
+ export declare interface OxBadgeProps {
57
+ children: ReactNode;
58
+ className?: string;
59
+ color?: BadgeColor;
60
+ bgColor?: string;
61
+ textColor?: string;
62
+ size?: BadgeSize;
63
+ }
64
+
65
+ export declare const OxButton: default_2.FC<OxButtonProps>;
66
+
67
+ export declare interface OxButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'ref' | 'type' | 'aria-label' | 'onClick' | 'disabled' | 'className' | 'children'> {
68
+ ref?: React.RefObject<HTMLButtonElement>;
69
+ ariaLabel?: string;
70
+ children?: React.ReactNode;
71
+ type?: 'button' | 'submit' | 'reset';
72
+ variant?: 'primary' | 'secondary' | 'ghost' | 'link';
73
+ size?: 'sm' | 'md' | 'lg';
74
+ disabled?: boolean;
75
+ className?: string;
76
+ fullWidth?: boolean;
77
+ isLoading?: boolean;
78
+ icon?: string;
79
+ iconAlign?: 'left' | 'right';
80
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
81
+ }
82
+
83
+ export declare const OxCard: default_2.FC<OxCardProps>;
84
+
85
+ export declare const OxCardContent: default_2.FC<OxCardContentProps>;
86
+
87
+ export declare interface OxCardContentProps extends React.HTMLAttributes<HTMLDivElement> {
88
+ className?: string;
89
+ children: React.ReactNode;
90
+ flexGrow?: boolean;
91
+ }
92
+
93
+ export declare const OxCardFooter: default_2.FC<OxCardFooterProps>;
94
+
95
+ export declare interface OxCardFooterProps extends HTMLAttributes<HTMLDivElement> {
96
+ className?: string;
97
+ children: ReactNode;
98
+ }
99
+
100
+ export declare const OxCardHeader: default_2.FC<OxCardHeaderProps>;
101
+
102
+ export declare interface OxCardHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
103
+ className?: string;
104
+ title?: ReactNode;
105
+ subtitle?: ReactNode;
106
+ action?: ReactNode;
107
+ children?: ReactNode;
108
+ }
109
+
110
+ export declare type OxCardPadding = 'none' | 'sm' | 'md' | 'lg';
111
+
112
+ export declare interface OxCardProps extends HTMLAttributes<HTMLDivElement> {
113
+ variant?: OxCardVariant;
114
+ padding?: OxCardPadding;
115
+ hoverable?: boolean;
116
+ className?: string;
117
+ children: ReactNode;
118
+ equalHeight?: boolean;
119
+ }
120
+
121
+ export declare type OxCardVariant = 'default' | 'outline';
122
+
123
+ export declare const OxCheckbox: default_2.FC<OxCheckboxProps>;
124
+
125
+ export declare interface OxCheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'id' | 'name' | 'checked' | 'defaultChecked' | 'onChange' | 'value' | 'className' | 'required' | 'disabled' | 'size'> {
126
+ id?: string;
127
+ name?: string;
128
+ className?: string;
129
+ checked?: boolean;
130
+ defaultChecked?: boolean;
131
+ disabled?: boolean;
132
+ error?: boolean;
133
+ required?: boolean;
134
+ size?: 'sm' | 'md' | 'lg';
135
+ value?: string | number | readonly string[];
136
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
137
+ }
138
+
139
+ export declare const OxDescription: default_2.FC<OxDescriptionProps>;
140
+
141
+ export declare interface OxDescriptionProps {
142
+ children: React.ReactNode;
143
+ className?: string;
144
+ disabled?: boolean;
145
+ id?: string;
146
+ }
147
+
148
+ export declare const OxDropdown: default_2.FC<OxDropdownProps>;
149
+
150
+ export declare const OxDropdownContent: default_2.FC<OxDropdownContentProps>;
151
+
152
+ export declare interface OxDropdownContentProps extends DropdownBaseProps {
153
+ children: default_2.ReactNode;
154
+ align?: 'start' | 'end';
155
+ side?: 'top' | 'right' | 'bottom' | 'left';
156
+ }
157
+
158
+ export declare const OxDropdownItem: default_2.FC<OxDropdownItemProps>;
159
+
160
+ export declare interface OxDropdownItemProps extends DropdownBaseProps {
161
+ children: default_2.ReactNode;
162
+ onClick?: (event: default_2.MouseEvent<HTMLButtonElement>) => void;
163
+ disabled?: boolean;
164
+ href?: string;
165
+ icon?: string;
166
+ target?: '_self' | '_blank' | '_parent' | '_top';
167
+ }
168
+
169
+ export declare interface OxDropdownProps extends DropdownBaseProps {
170
+ defaultOpen?: boolean;
171
+ open?: boolean;
172
+ onOpenChange?: (open: boolean) => void;
173
+ children: default_2.ReactNode;
174
+ disabled?: boolean;
175
+ }
176
+
177
+ export declare const OxDropdownSeparator: default_2.FC<OxDropdownSeparatorProps>;
178
+
179
+ export declare type OxDropdownSeparatorProps = DropdownBaseProps;
180
+
181
+ export declare const OxDropdownShortcut: default_2.FC<DropdownShortcutProps>;
182
+
183
+ export declare interface OxDropdownShortcutProps extends DropdownBaseProps {
184
+ children: default_2.ReactNode;
185
+ }
186
+
187
+ export declare const OxDropdownTrigger: default_2.FC<OxDropdownTriggerProps>;
188
+
189
+ export declare interface OxDropdownTriggerProps extends DropdownBaseProps {
190
+ children: default_2.ReactNode;
191
+ outline?: boolean;
192
+ disabled?: boolean;
193
+ icon?: string;
194
+ animateIcon?: boolean;
195
+ }
196
+
197
+ export declare const OxErrorMessage: default_2.FC<OxErrorMessageProps>;
198
+
199
+ export declare interface OxErrorMessageProps {
200
+ children?: React.ReactNode;
201
+ className?: string;
202
+ id?: string;
203
+ icon?: string;
204
+ }
205
+
206
+ export declare const OxForm: default_2.FC<OxFormProps>;
207
+
208
+ export declare const OxFormField: default_2.FC<OxFormFieldProps>;
209
+
210
+ export declare interface OxFormFieldContextProps {
211
+ id?: string;
212
+ disabled?: boolean;
213
+ name?: string;
214
+ error?: string;
215
+ required?: boolean;
216
+ descriptionId?: string;
217
+ errorId?: string;
218
+ }
219
+
220
+ export declare interface OxFormFieldProps {
221
+ children: React.ReactNode;
222
+ className?: string;
223
+ error?: string;
224
+ disabled?: boolean;
225
+ fullWidth?: boolean;
226
+ id?: string;
227
+ name?: string;
228
+ orientation?: 'vertical' | 'horizontal';
229
+ spacing?: 'tight' | 'default' | 'relaxed';
230
+ required?: boolean;
231
+ hideError?: boolean;
232
+ }
233
+
234
+ export declare interface OxFormProps extends React.FormHTMLAttributes<HTMLFormElement> {
235
+ children: React.ReactNode;
236
+ className?: string;
237
+ fullWidth?: boolean;
238
+ }
239
+
240
+ export declare const OxIcon: React.FC<OxIconProps>;
241
+
242
+ export declare interface OxIconProps {
243
+ icon: string;
244
+ size?: number;
245
+ className?: string;
246
+ }
247
+
248
+ export declare const OxInput: default_2.FC<OxInputProps>;
249
+
250
+ export declare interface OxInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'name' | 'id' | 'value' | 'onChange' | 'className' | 'readOnly' | 'required' | 'disabled' | 'placeholder'> {
251
+ ref?: React.RefObject<HTMLInputElement>;
252
+ id?: string;
253
+ className?: string;
254
+ placeholder?: string;
255
+ type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
256
+ value?: string | number;
257
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
258
+ disabled?: boolean;
259
+ error?: boolean;
260
+ required?: boolean;
261
+ icon?: string;
262
+ iconPosition?: 'left' | 'right';
263
+ readOnly?: boolean;
264
+ name?: string;
265
+ showMaxLength?: boolean;
266
+ }
267
+
268
+ export declare const OxLabel: default_2.FC<OxLabelProps>;
269
+
270
+ export declare interface OxLabelProps {
271
+ children: React.ReactNode;
272
+ className?: string;
273
+ htmlFor?: string;
274
+ required?: boolean;
275
+ disabled?: boolean;
276
+ }
277
+
278
+ export declare const OxSelect: default_2.FC<OxSelectProps>;
279
+
280
+ export declare const OxSelectLabel: default_2.FC<OxSelectLabelProps>;
281
+
282
+ export declare interface OxSelectLabelProps {
283
+ children: React.ReactNode;
284
+ className?: string;
285
+ }
286
+
287
+ export declare const OxSelectOption: default_2.FC<OxSelectOptionProps>;
288
+
289
+ export declare interface OxSelectOptionProps {
290
+ children: React.ReactNode;
291
+ className?: string;
292
+ disabled?: boolean;
293
+ id?: string;
294
+ value: string | number | null;
295
+ }
296
+
297
+ export declare interface OxSelectProps {
298
+ badgeColor?: BadgeColor;
299
+ children: React.ReactNode;
300
+ className?: string;
301
+ defaultValue?: string | string[] | number | number[];
302
+ disabled?: boolean;
303
+ displayAsBadges?: boolean;
304
+ error?: boolean;
305
+ id?: string;
306
+ multiple?: boolean;
307
+ name?: string;
308
+ onChange?: (value: string | number | null | (string | number | null)[], name?: string) => void;
309
+ placeholder?: string;
310
+ required?: boolean;
311
+ }
312
+
313
+ export declare const OxSkeleton: default_2.FC<OxSkeletonProps>;
314
+
315
+ export declare type OxSkeletonColor = 'default' | 'purple' | 'blue' | 'gray';
316
+
317
+ export declare interface OxSkeletonProps extends HTMLAttributes<HTMLDivElement> {
318
+ animate?: boolean;
319
+ className?: string;
320
+ color?: OxSkeletonColor;
321
+ fullWidth?: boolean;
322
+ height?: string | number;
323
+ shape?: OxSkeletonShape;
324
+ width?: string | number;
325
+ }
326
+
327
+ export declare type OxSkeletonShape = 'rectangle' | 'circle';
328
+
329
+ export declare const OxSkeletonText: default_2.FC<OxSkeletonTextProps>;
330
+
331
+ export declare interface OxSkeletonTextProps extends Omit<OxSkeletonProps, 'shape' | 'width'> {
332
+ lines?: number;
333
+ width?: number | number[];
334
+ gap?: number;
335
+ }
336
+
337
+ export declare const OxTextarea: default_2.FC<OxTextareaProps>;
338
+
339
+ export declare interface OxTextareaProps extends Omit<default_2.TextareaHTMLAttributes<HTMLTextAreaElement>, 'id' | 'name' | 'className' | 'onChange' | 'value' | 'readOnly' | 'required' | 'disabled'> {
340
+ className?: string;
341
+ disabled?: boolean;
342
+ error?: boolean;
343
+ id?: string;
344
+ name?: string;
345
+ onChange?: (event: default_2.ChangeEvent<HTMLTextAreaElement>) => void;
346
+ readOnly?: boolean;
347
+ required?: boolean;
348
+ showMaxLength?: boolean;
349
+ value?: string;
350
+ }
351
+
352
+ export declare const useFormFieldContext: () => OxFormFieldContextProps;
353
+
354
+ export { }