@01.software/ui 0.2.1 → 0.3.0
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/CHANGELOG.md +25 -0
- package/README.md +54 -4
- package/dist/accordion.js +1 -1
- package/dist/badge.js +1 -1
- package/dist/button.js +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/command-menu.d.ts +1 -1
- package/dist/command-menu.js +4 -4
- package/dist/dialog.js +1 -1
- package/dist/input.js +1 -1
- package/dist/internal/menu-styles.d.ts +1 -1
- package/dist/internal/menu-styles.js +1 -1
- package/dist/menubar.d.ts +3 -1
- package/dist/menubar.js +5 -3
- package/dist/radio-group.js +1 -1
- package/dist/select.js +2 -2
- package/dist/slider.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +4 -4
- package/dist/textarea.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @01.software/ui
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8bfc797: Export `menubarControlClassName` from the menubar subpath for ordinary navigation links next to menus. Menu triggers share its 28px minimum height and 8px horizontal / 2px vertical padding.
|
|
8
|
+
|
|
9
|
+
## 0.2.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- c621ec1: Unify keyboard focus around shared width, color and offset tokens: a muted 1px
|
|
14
|
+
outline with a 2px outer offset, inset menu indicators and destructive invalid
|
|
15
|
+
fields. Preserve existing `--ui-focus` and `--ui-focus-on-solid` color overrides and
|
|
16
|
+
preserve the system high-contrast fallback.
|
|
17
|
+
|
|
18
|
+
## 0.2.2
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 4e22218: Use a muted 1px inset keyboard focus indicator, with compact-control and checked-state contrast handling. Preserve invalid-field focus and system high-contrast visibility. Document card focus ownership and the existing TabsContent tabIndex opt-out.
|
|
23
|
+
|
|
24
|
+
Align compact tab triggers with the default 28px minimum height and let long labels wrap without overflowing their inner highlight. Apply the shared inset focus treatment to standalone command-menu triggers as well as composed controls.
|
|
25
|
+
|
|
26
|
+
Keep dropdown, context and menubar submenus within Radix’s available width on narrow screens.
|
|
27
|
+
|
|
3
28
|
## 0.2.1
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -72,6 +72,33 @@ an explicit label. `DialogContent` accepts `closeLabel` for the built-in close
|
|
|
72
72
|
button (default `닫기`); `showCloseButton={false}` omits that button while
|
|
73
73
|
preserving Escape dismissal. Button has no `asChild` or built-in loading state.
|
|
74
74
|
|
|
75
|
+
### Links alongside menus
|
|
76
|
+
|
|
77
|
+
`menubarControlClassName` from `@01.software/ui/menubar` shares the menu
|
|
78
|
+
trigger's default padding (8px horizontal, 2px vertical), 28px minimum height,
|
|
79
|
+
and keyboard focus treatment with ordinary navigation links. The precompiled
|
|
80
|
+
stylesheet includes these styles; consumers do not need to scan package source.
|
|
81
|
+
Keep links as siblings of `Menubar` in a wrapping navigation row with a 2px gap:
|
|
82
|
+
links retain native Tab/Enter navigation, while menus retain arrow-key navigation.
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { Menubar, menubarControlClassName } from '@01.software/ui/menubar'
|
|
86
|
+
|
|
87
|
+
function SiteNavigation() {
|
|
88
|
+
return (
|
|
89
|
+
<nav
|
|
90
|
+
className="flex flex-wrap items-center gap-0.5"
|
|
91
|
+
aria-label="Site navigation"
|
|
92
|
+
>
|
|
93
|
+
<a href="/pricing" className={menubarControlClassName}>
|
|
94
|
+
Pricing
|
|
95
|
+
</a>
|
|
96
|
+
<Menubar className="bg-transparent p-0">{/* menu children */}</Menubar>
|
|
97
|
+
</nav>
|
|
98
|
+
)
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
75
102
|
## Dashboard and SaaS composition
|
|
76
103
|
|
|
77
104
|
Start with `Getting started` and `Recipes` in the package catalogue on port 6008. Copy the desired AppShell, DataList or SettingsForm source and
|
|
@@ -95,8 +122,21 @@ and Button heights align at 32px; compact Button/Select sizes are 28px. Let
|
|
|
95
122
|
long labels wrap and use responsive Field layout where labels need more room.
|
|
96
123
|
|
|
97
124
|
Tabs use a compact segmented tray by default; `variant="line"` and vertical
|
|
98
|
-
orientation support denser settings/navigation.
|
|
99
|
-
|
|
125
|
+
orientation support denser settings/navigation. Both default and
|
|
126
|
+
`visual="compact"` triggers have a 28px minimum height; longer labels may wrap
|
|
127
|
+
and grow instead of overflowing. The compact inner highlight stays within its
|
|
128
|
+
trigger. All interactive primitives keep visible keyboard focus: a muted 1px outline
|
|
129
|
+
with a 2px outer offset. Menu/list items use a -1px inset so the indicator
|
|
130
|
+
stays inside the popup. Invalid fields, including checked controls, use the
|
|
131
|
+
destructive focus color. Forced colors use a system-colored 2px outline.
|
|
132
|
+
Typography remains inherited from the consumer. The package does not install
|
|
133
|
+
global input listeners; applications may choose their own modality policy.
|
|
134
|
+
|
|
135
|
+
Informational cards do not need `tabIndex`. Use a native link or button when the
|
|
136
|
+
whole card is an action, with no nested interactive controls. When a card has
|
|
137
|
+
inner actions, only those controls participate in Tab navigation. `TabsContent`
|
|
138
|
+
remains focusable by default for text-only content; use `tabIndex={-1}` on a
|
|
139
|
+
panel whose content already provides an appropriate first focus target.
|
|
100
140
|
|
|
101
141
|
## Styles, themes and overrides
|
|
102
142
|
|
|
@@ -112,8 +152,15 @@ scale/height travel while preserving opacity feedback. The `--ui-surface` token
|
|
|
112
152
|
surface in dark mode; consumers can override it alongside the existing palette.
|
|
113
153
|
Public theme tokens are
|
|
114
154
|
`--foreground`, `--background`, `--muted-foreground`, `--border`,
|
|
115
|
-
`--destructive`, `--paper`, `--ink
|
|
116
|
-
|
|
155
|
+
`--destructive`, `--paper`, `--ink`, `--ink-muted`, plus
|
|
156
|
+
`--focus-ring-width`, `--focus-ring-color`, `--focus-ring-offset` and
|
|
157
|
+
`--focus-ring-inset-offset`. The default color mixes ink 65% with paper in both
|
|
158
|
+
themes. Primitives read the public `--ui-focus` color and checked/indeterminate
|
|
159
|
+
Checkbox and checked Switch read `--ui-focus-on-solid`. Both default to
|
|
160
|
+
`--focus-ring-color`, so existing overrides on the root, a theme or a control
|
|
161
|
+
continue to work. Invalid fields retain `--destructive` instead of the solid
|
|
162
|
+
customization. Set the canonical default color on the root/theme alongside its
|
|
163
|
+
aliases, or override the public color variables directly for a subtree. Token names and default states are subject to semver.
|
|
117
164
|
|
|
118
165
|
This is a global stylesheet with unprefixed utility/token names; coexistence
|
|
119
166
|
with another system defining the same names is outside the support boundary.
|
|
@@ -153,3 +200,6 @@ LICENSE and THIRD_PARTY_NOTICES.md contain the existing MIT distribution and
|
|
|
153
200
|
shadcn/Tailwind attribution. Consumer-installed peers/dependencies retain their
|
|
154
201
|
licenses. Web fonts are not distributed. Source/tag evidence is not an npm
|
|
155
202
|
provenance attestation for this private repository.
|
|
203
|
+
|
|
204
|
+
Submenus constrain both their minimum and maximum width to the space Radix
|
|
205
|
+
reports as available, so nested menus remain inside narrow viewports.
|
package/dist/accordion.js
CHANGED
|
@@ -8,7 +8,7 @@ function AccordionItem({ className, ...props }) {
|
|
|
8
8
|
return (_jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn('rounded-sm', className), ...props }));
|
|
9
9
|
}
|
|
10
10
|
function AccordionTrigger({ className, children, ...props }) {
|
|
11
|
-
return (_jsx(AccordionPrimitive.Header, { "data-slot": "accordion-header", className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn('group hover:bg-foreground/5 flex min-h-8 flex-1 items-center justify-between gap-3 rounded-sm px-2 py-2 text-left text-xs font-medium hover:no-underline focus-visible:outline-
|
|
11
|
+
return (_jsx(AccordionPrimitive.Header, { "data-slot": "accordion-header", className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn('group hover:bg-foreground/5 flex min-h-8 flex-1 items-center justify-between gap-3 rounded-sm px-2 py-2 text-left text-xs font-medium hover:no-underline focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:pointer-events-none disabled:opacity-50', className), ...props, children: [children, _jsx(ChevronDown, { "aria-hidden": "true", className: "text-muted-foreground size-3 shrink-0 transition-transform group-data-[state=open]:rotate-180 motion-reduce:transition-none" })] }) }));
|
|
12
12
|
}
|
|
13
13
|
function AccordionContent({ className, children, ...props }) {
|
|
14
14
|
return (_jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: "motion-collapse", ...props, children: _jsx("div", { className: cn('text-muted-foreground px-2 pt-1 pb-3 text-xs leading-relaxed', className), children: children }) }));
|
package/dist/badge.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Slot } from 'radix-ui';
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { cn } from './internal/cn.js';
|
|
5
|
-
const badgeVariants = cva('inline-flex min-h-5 w-fit shrink-0 items-center justify-center gap-1 rounded-sm px-1.5 py-0.5 text-[0.6875rem] leading-none font-medium whitespace-nowrap [&_svg]:size-3 [&_svg]:shrink-0 focus-visible:outline-
|
|
5
|
+
const badgeVariants = cva('inline-flex min-h-5 w-fit shrink-0 items-center justify-center gap-1 rounded-sm px-1.5 py-0.5 text-[0.6875rem] leading-none font-medium whitespace-nowrap [&_svg]:size-3 [&_svg]:shrink-0 focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)]', {
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
8
|
default: 'bg-foreground/10 text-foreground',
|
package/dist/button.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cva } from 'class-variance-authority';
|
|
3
3
|
import { cn } from './internal/cn.js';
|
|
4
|
-
const buttonVariants = cva("no-underline hover:no-underline inline-flex items-center justify-center gap-1 rounded-sm text-xs leading-none whitespace-nowrap transition-colors active:opacity-100 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 focus-visible:outline-
|
|
4
|
+
const buttonVariants = cva("no-underline hover:no-underline inline-flex items-center justify-center gap-1 rounded-sm text-xs leading-none whitespace-nowrap transition-colors active:opacity-100 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] disabled:pointer-events-none disabled:opacity-50", {
|
|
5
5
|
variants: {
|
|
6
6
|
variant: {
|
|
7
7
|
default: 'bg-[color-mix(in_oklab,var(--ink)_14%,transparent)] font-medium text-[var(--ink)] hover:bg-[color-mix(in_oklab,var(--ink)_18%,transparent)]',
|
package/dist/checkbox.js
CHANGED
|
@@ -4,6 +4,6 @@ import { Checkbox as CheckboxPrimitive } from 'radix-ui';
|
|
|
4
4
|
import { Check, Minus } from 'lucide-react';
|
|
5
5
|
import { cn } from './internal/cn.js';
|
|
6
6
|
function Checkbox({ className, ...props }) {
|
|
7
|
-
return (_jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", className: cn("peer border-foreground/50 text-background aria-invalid:border-destructive aria-invalid:data-[state=checked]:border-destructive aria-invalid:data-[state=indeterminate]:border-destructive data-[state=checked]:border-foreground data-[state=checked]:bg-foreground data-[state=indeterminate]:border-foreground data-[state=indeterminate]:bg-foreground relative grid size-4 shrink-0 place-items-center rounded-sm border bg-[var(--paper)] shadow-xs transition-colors outline-none before:absolute before:-inset-1 before:content-[''] focus-visible:outline-
|
|
7
|
+
return (_jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", className: cn("peer border-foreground/50 text-background aria-invalid:border-destructive aria-invalid:data-[state=checked]:border-destructive aria-invalid:data-[state=indeterminate]:border-destructive data-[state=checked]:border-foreground data-[state=checked]:bg-foreground data-[state=indeterminate]:border-foreground data-[state=indeterminate]:bg-foreground relative grid size-4 shrink-0 place-items-center rounded-sm border bg-[var(--paper)] shadow-xs transition-colors outline-none before:absolute before:-inset-1 before:content-[''] focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:focus-visible:outline-[var(--destructive)] data-[state=checked]:focus-visible:outline-[var(--ui-focus-on-solid)] aria-invalid:data-[state=checked]:focus-visible:outline-[var(--destructive)] data-[state=indeterminate]:focus-visible:outline-[var(--ui-focus-on-solid)] aria-invalid:data-[state=indeterminate]:focus-visible:outline-[var(--destructive)] motion-reduce:transition-none", className), ...props, children: _jsxs(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "group/indicator grid place-items-center", children: [_jsx(Check, { "aria-hidden": "true", className: "size-3 group-data-[state=indeterminate]/indicator:hidden" }), _jsx(Minus, { "aria-hidden": "true", className: "size-3 group-data-[state=checked]/indicator:hidden" })] }) }));
|
|
8
8
|
}
|
|
9
9
|
export { Checkbox };
|
package/dist/command-menu.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare function CommandMenuRoot({ mode, children, }: {
|
|
|
6
6
|
mode?: Mode;
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export declare function CommandMenuTrigger(props: ComponentProps<typeof DropdownMenu.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function CommandMenuTrigger({ className, ...props }: ComponentProps<typeof DropdownMenu.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
export declare function CommandMenuContent({ className, children, ...props }: ComponentProps<typeof ContextMenu.Content>): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare function CommandMenuItem({ className, inset, variant, ...props }: ComponentProps<typeof DropdownMenu.Item> & {
|
|
12
12
|
inset?: boolean;
|
package/dist/command-menu.js
CHANGED
|
@@ -12,9 +12,9 @@ export function CommandMenuRoot({ mode = 'dropdown', children, }) {
|
|
|
12
12
|
const Root = mode === 'context' ? ContextMenu.Root : DropdownMenu.Root;
|
|
13
13
|
return (_jsx(ModeContext.Provider, { value: mode, children: _jsx(Root, { children: children }) }));
|
|
14
14
|
}
|
|
15
|
-
export function CommandMenuTrigger(props) {
|
|
15
|
+
export function CommandMenuTrigger({ className, ...props }) {
|
|
16
16
|
const P = useParts();
|
|
17
|
-
return _jsx(P.Trigger, { "data-slot": "command-menu-trigger", ...props });
|
|
17
|
+
return (_jsx(P.Trigger, { "data-slot": "command-menu-trigger", className: cn('focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid', className), ...props }));
|
|
18
18
|
}
|
|
19
19
|
export function CommandMenuContent({ className, children, ...props }) {
|
|
20
20
|
const mode = useContext(ModeContext);
|
|
@@ -64,6 +64,6 @@ export function CommandMenuSubContent({ className, ...props }) {
|
|
|
64
64
|
const mode = useContext(ModeContext);
|
|
65
65
|
const P = useParts();
|
|
66
66
|
return (_jsx(P.Portal, { children: _jsx(P.SubContent, { "data-slot": "command-menu-sub-content", collisionPadding: 16, sideOffset: 4, className: cn(menuContentClassName, mode === 'context'
|
|
67
|
-
? 'max-h-(--radix-context-menu-content-available-height)'
|
|
68
|
-
: 'max-h-(--radix-dropdown-menu-content-available-height)', className), ...props }) }));
|
|
67
|
+
? 'max-h-(--radix-context-menu-content-available-height) max-w-[min(20rem,var(--radix-context-menu-content-available-width))] min-w-[min(12rem,var(--radix-context-menu-content-available-width))] [overflow-wrap:anywhere]'
|
|
68
|
+
: 'max-h-(--radix-dropdown-menu-content-available-height) max-w-[min(20rem,var(--radix-dropdown-menu-content-available-width))] min-w-[min(12rem,var(--radix-dropdown-menu-content-available-width))] [overflow-wrap:anywhere]', className), ...props }) }));
|
|
69
69
|
}
|
package/dist/dialog.js
CHANGED
|
@@ -11,7 +11,7 @@ function DialogOverlay({ className, ...props }) {
|
|
|
11
11
|
return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn('motion-fade fixed inset-0 z-50 bg-black/40', className), ...props }));
|
|
12
12
|
}
|
|
13
13
|
function DialogContent({ className, children, showCloseButton = true, closeLabel = '닫기', ...props }) {
|
|
14
|
-
return (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn('motion-modal border-foreground/10 fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-md -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-lg border bg-[var(--ui-surface,var(--paper))] p-5 text-xs [overflow-wrap:anywhere] shadow-xl outline-none', className), ...props, children: [children, showCloseButton && (_jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", type: "button", "aria-label": closeLabel, className: "text-muted-foreground hover:bg-foreground/5 hover:text-foreground absolute top-3 right-3 grid size-7 place-items-center rounded-sm hover:no-underline focus-visible:outline-
|
|
14
|
+
return (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn('motion-modal border-foreground/10 fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-md -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-lg border bg-[var(--ui-surface,var(--paper))] p-5 text-xs [overflow-wrap:anywhere] shadow-xl outline-none', className), ...props, children: [children, showCloseButton && (_jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", type: "button", "aria-label": closeLabel, className: "text-muted-foreground hover:bg-foreground/5 hover:text-foreground absolute top-3 right-3 grid size-7 place-items-center rounded-sm hover:no-underline focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid", children: _jsx(X, { "aria-hidden": "true", className: "size-3.5" }) }))] })] }));
|
|
15
15
|
}
|
|
16
16
|
function DialogHeader({ className, ...props }) {
|
|
17
17
|
return (_jsx("div", { "data-slot": "dialog-header", className: cn('grid gap-1.5 pr-6', className), ...props }));
|
package/dist/input.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from './internal/cn.js';
|
|
3
3
|
function Input({ className, type, ...props }) {
|
|
4
|
-
return (_jsx("input", { type: type, "data-slot": "input", className: cn('border-border placeholder:text-muted-foreground
|
|
4
|
+
return (_jsx("input", { type: type, "data-slot": "input", className: cn('border-border placeholder:text-muted-foreground aria-invalid:border-destructive aria-invalid:focus-visible:border-destructive bg-foreground/[0.03] hover:bg-foreground/5 h-8 w-full min-w-0 rounded-sm border px-2 py-1 text-xs outline-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:focus-visible:outline-[var(--destructive)]', className), ...props }));
|
|
5
5
|
}
|
|
6
6
|
export { Input };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Shared neutral menu surfaces; geometry belongs to each Radix positioning primitive. `motion-*` hooks live in motion.css. */
|
|
2
|
-
export declare const menuItemClassName = "data-[highlighted]:bg-foreground/[0.08] relative flex min-h-7 cursor-default items-center gap-2 rounded-sm px-2 py-0.5 leading-relaxed no-underline outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
2
|
+
export declare const menuItemClassName = "data-[highlighted]:bg-foreground/[0.08] relative flex min-h-7 cursor-default items-center gap-2 rounded-sm px-2 py-0.5 leading-relaxed no-underline outline-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid focus-visible:outline-offset-[var(--focus-ring-inset-offset)] focus-visible:outline-[var(--ui-focus)] select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
3
3
|
export declare const menuContentClassName = "motion-pop border-foreground/10 z-50 max-w-[min(20rem,calc(100vw-2rem))] min-w-48 overflow-y-auto rounded-md border bg-[var(--ui-surface,var(--paper))] p-0.5 text-xs shadow-lg outline-none";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Shared neutral menu surfaces; geometry belongs to each Radix positioning primitive. `motion-*` hooks live in motion.css. */
|
|
2
|
-
export const menuItemClassName = 'data-[highlighted]:bg-foreground/[0.08] relative flex min-h-7 cursor-default items-center gap-2 rounded-sm px-2 py-0.5 leading-relaxed no-underline outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50';
|
|
2
|
+
export const menuItemClassName = 'data-[highlighted]:bg-foreground/[0.08] relative flex min-h-7 cursor-default items-center gap-2 rounded-sm px-2 py-0.5 leading-relaxed no-underline outline-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid focus-visible:outline-offset-[var(--focus-ring-inset-offset)] focus-visible:outline-[var(--ui-focus)] select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50';
|
|
3
3
|
export const menuContentClassName = 'motion-pop border-foreground/10 z-50 max-w-[min(20rem,calc(100vw-2rem))] min-w-48 overflow-y-auto rounded-md border bg-[var(--ui-surface,var(--paper))] p-0.5 text-xs shadow-lg outline-none';
|
package/dist/menubar.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ declare const MenubarMenu: typeof MenubarPrimitive.Menu;
|
|
|
4
4
|
declare const MenubarGroup: import("react").ForwardRefExoticComponent<MenubarPrimitive.MenubarGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
5
|
declare const MenubarRadioGroup: import("react").ForwardRefExoticComponent<MenubarPrimitive.MenubarRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
6
|
declare const MenubarSub: import("react").FC<MenubarPrimitive.MenubarSubProps>;
|
|
7
|
+
/** Shared geometry for menu triggers and adjacent, ordinary navigation links. */
|
|
8
|
+
declare const menubarControlClassName = "box-border inline-flex min-h-7 items-center justify-center gap-1 rounded-sm px-2 py-0.5 text-xs no-underline outline-none hover:no-underline focus-visible:bg-foreground/10 focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid";
|
|
7
9
|
declare function Menubar({ className, ...props }: ComponentProps<typeof MenubarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
8
10
|
declare function MenubarTrigger({ className, ...props }: ComponentProps<typeof MenubarPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
declare function MenubarContent({ className, portalLabel, align, sideOffset, collisionPadding, ref: forwardedRef, onFocusOutside, onPointerDownOutside, ...props }: ComponentProps<typeof MenubarPrimitive.Content> & {
|
|
@@ -26,4 +28,4 @@ declare function MenubarSubContent({ className, portalLabel, sideOffset, collisi
|
|
|
26
28
|
portalLabel?: string;
|
|
27
29
|
}): import("react/jsx-runtime").JSX.Element;
|
|
28
30
|
declare function MenubarShortcut({ className, ...props }: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
29
|
-
export { Menubar, MenubarMenu, MenubarGroup, MenubarLabel, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, MenubarShortcut, MenubarTrigger, MenubarContent, MenubarItem, MenubarCheckboxItem, MenubarSeparator, };
|
|
31
|
+
export { menubarControlClassName, Menubar, MenubarMenu, MenubarGroup, MenubarLabel, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, MenubarShortcut, MenubarTrigger, MenubarContent, MenubarItem, MenubarCheckboxItem, MenubarSeparator, };
|
package/dist/menubar.js
CHANGED
|
@@ -9,6 +9,8 @@ const MenubarMenu = MenubarPrimitive.Menu;
|
|
|
9
9
|
const MenubarGroup = MenubarPrimitive.Group;
|
|
10
10
|
const MenubarRadioGroup = MenubarPrimitive.RadioGroup;
|
|
11
11
|
const MenubarSub = MenubarPrimitive.Sub;
|
|
12
|
+
/** Shared geometry for menu triggers and adjacent, ordinary navigation links. */
|
|
13
|
+
const menubarControlClassName = 'box-border inline-flex min-h-7 items-center justify-center gap-1 rounded-sm px-2 py-0.5 text-xs no-underline outline-none hover:no-underline focus-visible:bg-foreground/10 focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid';
|
|
12
14
|
function MenuContentPortal({ children, label, }) {
|
|
13
15
|
return (_jsx(MenubarPrimitive.Portal, { children: label ? _jsx("section", { "aria-label": label, children: children }) : children }));
|
|
14
16
|
}
|
|
@@ -16,7 +18,7 @@ function Menubar({ className, ...props }) {
|
|
|
16
18
|
return (_jsx(MenubarPrimitive.Root, { "data-slot": "menubar", className: cn('bg-foreground/[0.035] flex min-w-0 flex-wrap items-center gap-0.5 rounded-md px-2 py-1 text-xs outline-none', className), ...props }));
|
|
17
19
|
}
|
|
18
20
|
function MenubarTrigger({ className, ...props }) {
|
|
19
|
-
return (_jsx(MenubarPrimitive.Trigger, { "data-slot": "menubar-trigger", className: cn('data-[state=open]:bg-foreground/10
|
|
21
|
+
return (_jsx(MenubarPrimitive.Trigger, { "data-slot": "menubar-trigger", className: cn(menubarControlClassName, 'data-[state=open]:bg-foreground/10 cursor-default disabled:opacity-40', className), ...props }));
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Presence keeps a closing menu mounted during its exit motion. Moving between
|
|
@@ -77,9 +79,9 @@ function MenubarSubTrigger({ className, children, inset = false, ...props }) {
|
|
|
77
79
|
return (_jsxs(MenubarPrimitive.SubTrigger, { "data-slot": "menubar-sub-trigger", className: cn(menuItemClassName, 'data-[state=open]:bg-foreground/[0.08]', inset && 'pl-7', className), ...props, children: [children, _jsx(ChevronRight, { "aria-hidden": "true", className: "ml-auto size-3 shrink-0" })] }));
|
|
78
80
|
}
|
|
79
81
|
function MenubarSubContent({ className, portalLabel, sideOffset = 4, collisionPadding = 16, ...props }) {
|
|
80
|
-
return (_jsx(MenuContentPortal, { label: portalLabel, children: _jsx(MenubarPrimitive.SubContent, { "data-slot": "menubar-sub-content", sideOffset: sideOffset, collisionPadding: collisionPadding, className: cn(menuContentClassName, 'max-h-(--radix-menubar-content-available-height)', className), ...props }) }));
|
|
82
|
+
return (_jsx(MenuContentPortal, { label: portalLabel, children: _jsx(MenubarPrimitive.SubContent, { "data-slot": "menubar-sub-content", sideOffset: sideOffset, collisionPadding: collisionPadding, className: cn(menuContentClassName, 'max-h-(--radix-menubar-content-available-height) max-w-[min(20rem,var(--radix-menubar-content-available-width))] min-w-[min(12rem,var(--radix-menubar-content-available-width))] [overflow-wrap:anywhere]', className), ...props }) }));
|
|
81
83
|
}
|
|
82
84
|
function MenubarShortcut({ className, ...props }) {
|
|
83
85
|
return (_jsx("span", { "data-slot": "menubar-shortcut", "aria-hidden": "true", className: cn('text-muted-foreground ml-auto shrink-0 pl-5 text-xs whitespace-nowrap tabular-nums', className), ...props }));
|
|
84
86
|
}
|
|
85
|
-
export { Menubar, MenubarMenu, MenubarGroup, MenubarLabel, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, MenubarShortcut, MenubarTrigger, MenubarContent, MenubarItem, MenubarCheckboxItem, MenubarSeparator, };
|
|
87
|
+
export { menubarControlClassName, Menubar, MenubarMenu, MenubarGroup, MenubarLabel, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, MenubarShortcut, MenubarTrigger, MenubarContent, MenubarItem, MenubarCheckboxItem, MenubarSeparator, };
|
package/dist/radio-group.js
CHANGED
|
@@ -6,6 +6,6 @@ function RadioGroup({ className, ...props }) {
|
|
|
6
6
|
return (_jsx(RadioGroupPrimitive.Root, { "data-slot": "radio-group", className: cn('grid gap-3', className), ...props }));
|
|
7
7
|
}
|
|
8
8
|
function RadioGroupItem({ className, children, ...props }) {
|
|
9
|
-
return (_jsx(RadioGroupPrimitive.Item, { "data-slot": "radio-group-item", className: cn('text-foreground data-[state=checked]:border-foreground grid size-4 shrink-0 place-items-center rounded-full border border-[var(--ink-muted)] bg-transparent transition-colors outline-none focus-visible:outline-
|
|
9
|
+
return (_jsx(RadioGroupPrimitive.Item, { "data-slot": "radio-group-item", className: cn('text-foreground data-[state=checked]:border-foreground grid size-4 shrink-0 place-items-center rounded-full border border-[var(--ink-muted)] bg-transparent transition-colors outline-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: children ?? (_jsx(RadioGroupPrimitive.Indicator, { "data-slot": "radio-group-indicator", className: "size-2 rounded-full bg-current" })) }));
|
|
10
10
|
}
|
|
11
11
|
export { RadioGroup, RadioGroupItem };
|
package/dist/select.js
CHANGED
|
@@ -13,7 +13,7 @@ function SelectValue({ ...props }) {
|
|
|
13
13
|
return _jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
14
14
|
}
|
|
15
15
|
function SelectTrigger({ className, size = 'default', children, ...props }) {
|
|
16
|
-
return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn('border-border aria-invalid:border-destructive data-placeholder:text-muted-foreground hover:bg-foreground/5 bg-foreground/[0.03] flex w-full items-center justify-between gap-2 rounded-sm border px-2 py-1 text-xs whitespace-nowrap outline-none hover:no-underline focus-visible:outline-
|
|
16
|
+
return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn('border-border aria-invalid:border-destructive data-placeholder:text-muted-foreground hover:bg-foreground/5 bg-foreground/[0.03] flex w-full items-center justify-between gap-2 rounded-sm border px-2 py-1 text-xs whitespace-nowrap outline-none hover:no-underline focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:focus-visible:outline-[var(--destructive)] data-[size=default]:h-8 data-[size=sm]:h-7', className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDown, { "aria-hidden": "true", className: "text-muted-foreground size-3.5 shrink-0" }) })] }));
|
|
17
17
|
}
|
|
18
18
|
function SelectContent({ className, children, position = 'popper', align = 'start', sideOffset = 4, ...props }) {
|
|
19
19
|
return (_jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Content, { "data-slot": "select-content", className: cn('motion-pop border-border text-foreground border-foreground/10 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 overflow-x-hidden overflow-y-auto rounded-md border bg-[var(--ui-surface,var(--paper))] shadow-lg', position === 'popper' && 'min-w-(--radix-select-trigger-width)', className), position: position, align: align, sideOffset: sideOffset, ...props, children: _jsx(SelectPrimitive.Viewport, { className: "p-0.5", children: children }) }) }));
|
|
@@ -22,7 +22,7 @@ function SelectLabel({ className, ...props }) {
|
|
|
22
22
|
return (_jsx(SelectPrimitive.Label, { "data-slot": "select-label", className: cn('text-muted-foreground px-1.5 py-1 text-xs', className), ...props }));
|
|
23
23
|
}
|
|
24
24
|
function SelectItem({ className, children, ...props }) {
|
|
25
|
-
return (_jsxs(SelectPrimitive.Item, { "data-slot": "select-item", className: cn('data-[highlighted]:bg-foreground/10 data-[highlighted]:text-foreground hover:text-foreground relative flex min-h-7 w-full cursor-default items-center rounded-sm py-1 pr-2 pl-6 text-xs outline-
|
|
25
|
+
return (_jsxs(SelectPrimitive.Item, { "data-slot": "select-item", className: cn('data-[highlighted]:bg-foreground/10 data-[highlighted]:text-foreground hover:text-foreground relative flex min-h-7 w-full cursor-default items-center rounded-sm py-1 pr-2 pl-6 text-xs outline-none select-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-inset-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid data-disabled:pointer-events-none data-disabled:opacity-50 data-[state=checked]:font-semibold', className), ...props, children: [_jsx(SelectPrimitive.ItemIndicator, { className: "absolute left-1.5 inline-flex items-center", children: _jsx(Check, { "aria-hidden": "true", className: "size-3" }) }), _jsx(SelectPrimitive.ItemText, { children: children })] }));
|
|
26
26
|
}
|
|
27
27
|
function SelectSeparator({ className, ...props }) {
|
|
28
28
|
return (_jsx(SelectPrimitive.Separator, { "data-slot": "select-separator", className: cn('bg-border h-px', className), ...props }));
|
package/dist/slider.js
CHANGED
|
@@ -12,6 +12,6 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, disabled =
|
|
|
12
12
|
? undefined
|
|
13
13
|
: labelledBy && values.length > 1
|
|
14
14
|
? `${labelledBy} ${id}-thumb-${index}`
|
|
15
|
-
: labelledBy, className: "border-foreground/40 block size-3.5 shrink-0 rounded-full border bg-[var(--paper)] shadow-xs focus-visible:outline-
|
|
15
|
+
: labelledBy, className: "border-foreground/40 block size-3.5 shrink-0 rounded-full border bg-[var(--paper)] shadow-xs focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid" })] }, index)))] }));
|
|
16
16
|
}
|
|
17
17
|
export { Slider };
|
package/dist/styles.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-content:""}}}@layer theme{:root,:host{--color-black:#000;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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)}}@layer base{:where([data-slot=button],[data-slot=input],[data-slot^=field],[data-slot^=select-],[data-slot^=radio-group],[data-slot^=tabs],[data-slot=label],[data-slot^=accordion-],[data-slot^=alert],[data-slot=badge],[data-slot^=checkbox],[data-slot^=dialog-],[data-slot^=popover-],[data-slot^=progress],[data-slot=separator],[data-slot=skeleton],[data-slot^=slider],[data-slot^=switch],[data-slot=textarea],[data-slot=tooltip-content],[data-slot^=menubar],[data-slot^=command-menu-],[data-slot=dropdown-menu-content],[data-slot=context-menu-content]){box-sizing:border-box;border:0 solid var(--border)}:where([data-slot=button],[data-slot=select-trigger],[data-slot=select-scroll-up-button],[data-slot=select-scroll-down-button],[data-slot=radio-group-item],[data-slot=tabs-trigger],[data-slot=input],[data-slot=textarea],[data-slot=accordion-trigger],[data-slot=checkbox],[data-slot=dialog-close],[data-slot=slider-thumb],[data-slot=switch],[data-slot=menubar-trigger],[data-slot=command-menu-trigger]){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;text-transform:none;background-color:#0000;border-radius:0;margin:0;padding:0}button:where([data-slot=button],[data-slot=select-trigger],[data-slot=select-scroll-up-button],[data-slot=select-scroll-down-button],[data-slot=radio-group-item],[data-slot=tabs-trigger],[data-slot=accordion-trigger],[data-slot=checkbox],[data-slot=dialog-close],[data-slot=slider-thumb],[data-slot=switch],[data-slot=menubar-trigger],[data-slot=command-menu-trigger]){appearance:button}:where([data-slot=field-set]){min-width:0;margin:0;padding:0}:where([data-slot=field-legend]){padding:0}:where([data-slot=field-description],[data-slot=field-error] ul){margin:0;padding:0}:where([data-slot=accordion-header],[data-slot=alert-title],[data-slot=dialog-title],[data-slot=popover-title]){font-size:inherit;font-weight:inherit;margin:0}:where([data-slot=dialog-description],[data-slot=popover-description],[data-slot=alert-description] p){margin:0}:where([data-slot=select-trigger],[data-slot=select-content],[data-slot=accordion-trigger],[data-slot=alert],[data-slot=badge],[data-slot=checkbox],[data-slot=dialog-content],[data-slot^=menubar],[data-slot^=command-menu-]) svg{vertical-align:middle;display:block}}@layer components{:root{--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--motion-duration-enter:.16s;--motion-duration-exit:.11s;--motion-duration-modal-enter:.2s;--motion-duration-modal-exit:.14s;--motion-duration-collapse:.2s;--motion-pop-scale:.97;--motion-pop-exit-scale:.99;--motion-modal-scale:.96;--motion-modal-exit-scale:.98}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-fade-out{to{opacity:0}}@keyframes motion-pop-in{0%{opacity:0;scale:var(--motion-pop-scale)}}@keyframes motion-pop-out{to{opacity:0;scale:var(--motion-pop-exit-scale)}}@keyframes motion-modal-in{0%{opacity:0;scale:var(--motion-modal-scale)}}@keyframes motion-modal-out{to{opacity:0;scale:var(--motion-modal-exit-scale)}}@keyframes motion-collapse-open{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes motion-collapse-close{0%{height:var(--radix-accordion-content-height)}to{height:0}}.motion-pop{transform-origin:var(--radix-popover-content-transform-origin,var(--radix-tooltip-content-transform-origin,var(--radix-menubar-content-transform-origin,var(--radix-dropdown-menu-content-transform-origin,var(--radix-context-menu-content-transform-origin,center)))))}.motion-pop:is([data-state=open],[data-state=delayed-open]){animation:motion-pop-in var(--motion-duration-enter) var(--motion-ease-out)}.motion-pop[data-state=closed]{animation:motion-pop-out var(--motion-duration-exit) var(--motion-ease-out) forwards}.motion-fade[data-state=open]{animation:motion-fade-in var(--motion-duration-modal-enter) var(--motion-ease-out)}.motion-fade[data-state=closed]{animation:motion-fade-out var(--motion-duration-modal-exit) var(--motion-ease-out) forwards}.motion-modal[data-state=open]{animation:motion-modal-in var(--motion-duration-modal-enter) var(--motion-ease-out)}.motion-modal[data-state=closed]{animation:motion-modal-out var(--motion-duration-modal-exit) var(--motion-ease-out) forwards}.motion-collapse{overflow:hidden}.motion-collapse[data-state=open]{animation:motion-collapse-open var(--motion-duration-collapse) var(--motion-ease-out)}.motion-collapse[data-state=closed]{animation:motion-collapse-close var(--motion-duration-collapse) var(--motion-ease-out)}@media (prefers-reduced-motion:reduce){:root{--motion-pop-scale:1;--motion-pop-exit-scale:1;--motion-modal-scale:1;--motion-modal-exit-scale:1}.motion-collapse{animation:none!important}}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.mx-1{margin-inline:calc(var(--spacing) * 1)}.my-1{margin-block:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-menubar-content-available-height\){max-height:var(--radix-menubar-content-available-height)}.max-h-\(--radix-popover-content-available-height\){max-height:var(--radix-popover-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-1\/2{width:50%}.w-8{width:calc(var(--spacing) * 8)}.w-64{width:calc(var(--spacing) * 64)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(16rem\,calc\(100vw-2rem\)\)\]{max-width:min(16rem,100vw - 2rem)}.max-w-\[min\(20rem\,calc\(100vw-2rem\)\)\]{max-width:min(20rem,100vw - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-\(--radix-select-trigger-width\){min-width:var(--radix-select-trigger-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-48{min-width:calc(var(--spacing) * 48)}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}: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)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--ink-muted\)\]{border-color:var(--ink-muted)}.border-border{border-color:var(--border)}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/10{border-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.border-foreground\/40{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/40{border-color:color-mix(in oklab, var(--foreground) 40%, transparent)}}.border-foreground\/50{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/50{border-color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]{background-color:color-mix(in oklab,var(--ink) 8%,transparent)}}.bg-\[color-mix\(in_oklab\,var\(--ink\)_14\%\,transparent\)\]{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklab\,var\(--ink\)_14\%\,transparent\)\]{background-color:color-mix(in oklab,var(--ink) 14%,transparent)}}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.bg-\[var\(--ui-surface\,var\(--paper\)\)\]{background-color:var(--ui-surface,var(--paper))}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-border{background-color:var(--border)}.bg-current{background-color:currentColor}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground\/5{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/5{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/10{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.bg-foreground\/60{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/60{background-color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.bg-foreground\/65{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/65{background-color:color-mix(in oklab, var(--foreground) 65%, transparent)}}.bg-foreground\/\[0\.03\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.03\]{background-color:color-mix(in oklab, var(--foreground) 3%, transparent)}}.bg-foreground\/\[0\.06\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.06\]{background-color:color-mix(in oklab, var(--foreground) 6%, transparent)}}.bg-foreground\/\[0\.07\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.07\]{background-color:color-mix(in oklab, var(--foreground) 7.0%, transparent)}}.bg-foreground\/\[0\.035\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.035\]{background-color:color-mix(in oklab, var(--foreground) 3.5%, transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-px{padding-inline:1px}.py-0{padding-block:calc(var(--spacing) * 0)}.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)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6875rem\]{font-size:.6875rem}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ink\)\]{color:var(--ink)}.text-background{color:var(--background)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[width\]{transition-property:width;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))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:items-stretch:is(:where(.group\/tabs)[data-orientation=vertical] *){align-items:stretch}.group-data-\[orientation\=vertical\]\/tabs\:border-r:is(:where(.group\/tabs)[data-orientation=vertical] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[orientation\=vertical\]\/tabs\:border-b-0:is(:where(.group\/tabs)[data-orientation=vertical] *){border-bottom-style:var(--tw-border-style);border-bottom-width:0}.group-data-\[state\=active\]\:bg-foreground\/10:is(:where(.group)[data-state=active] *){background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=active\]\:bg-foreground\/10:is(:where(.group)[data-state=active] *){background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.group-data-\[state\=active\]\:font-medium:is(:where(.group)[data-state=active] *){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.group-data-\[state\=active\]\:text-foreground:is(:where(.group)[data-state=active] *){color:var(--foreground)}.group-data-\[state\=checked\]\/indicator\:hidden:is(:where(.group\/indicator)[data-state=checked] *),.group-data-\[state\=indeterminate\]\/indicator\:hidden:is(:where(.group\/indicator)[data-state=indeterminate] *){display:none}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=line\]\/tabs-list\:rounded-none:is(:where(.group\/tabs-list)[data-variant=line] *){border-radius:0}.group-data-\[variant\=line\]\/tabs-list\:border-b-2:is(:where(.group\/tabs-list)[data-variant=line] *){border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.group-data-\[variant\=line\]\/tabs-list\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){border-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:px-2:is(:where(.group\/tabs-list)[data-variant=line] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:py-2:is(:where(.group\/tabs-list)[data-variant=line] *){padding-block:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:group-data-\[orientation\=vertical\]\/tabs\:border-r-2:is(:where(.group\/tabs-list)[data-variant=line] *):is(:where(.group\/tabs)[data-orientation=vertical] *){border-right-style:var(--tw-border-style);border-right-width:2px}.group-data-\[variant\=line\]\/tabs-list\:group-data-\[orientation\=vertical\]\/tabs\:border-b-0:is(:where(.group\/tabs-list)[data-variant=line] *):is(:where(.group\/tabs)[data-orientation=vertical] *){border-bottom-style:var(--tw-border-style);border-bottom-width:0}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-1:before{content:var(--tw-content);inset:calc(var(--spacing) * -1)}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.before\:-inset-y-0\.5:before{content:var(--tw-content);inset-block:calc(var(--spacing) * -.5)}.before\:hidden:before{content:var(--tw-content);display:none}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.group-data-\[variant\=line\]\/tabs-list\:before\:hidden:is(:where(.group\/tabs-list)[data-variant=line] *):before,.after\:hidden:after,.group-data-\[variant\=line\]\/tabs-list\:after\:hidden:is(:where(.group\/tabs-list)[data-variant=line] *):after{content:var(--tw-content);display:none}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]:hover{background-color:color-mix(in oklab,var(--ink) 8%,transparent)}}.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_11\%\,transparent\)\]:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_11\%\,transparent\)\]:hover{background-color:color-mix(in oklab,var(--ink) 11%,transparent)}}.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_18\%\,transparent\)\]:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_18\%\,transparent\)\]:hover{background-color:color-mix(in oklab,var(--ink) 18%,transparent)}}.hover\:bg-foreground\/5:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/5:hover{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:no-underline:hover{text-decoration-line:none}}.focus-visible\:border-foreground:focus-visible{border-color:var(--foreground)}.focus-visible\:bg-foreground\/10:focus-visible{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-foreground\/10:focus-visible{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-\[-2px\]:focus-visible{outline-offset:-2px}.focus-visible\:outline-\[var\(--ink\)\]:focus-visible{outline-color:var(--ink)}.focus-visible\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.active\:opacity-100:active{opacity:1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\[data-visual\=compact\]\]\:rounded-none:has([data-visual=compact]){border-radius:0}.has-\[\[data-visual\=compact\]\]\:bg-transparent:has([data-visual=compact]){background-color:#0000}.has-\[\[data-visual\=compact\]\]\:p-0:has([data-visual=compact]){padding:calc(var(--spacing) * 0)}.aria-invalid\:border-destructive[aria-invalid=true],.aria-invalid\:focus-visible\:border-destructive[aria-invalid=true]:focus-visible{border-color:var(--destructive)}.aria-invalid\:focus-visible\:outline-\[var\(--destructive\)\][aria-invalid=true]:focus-visible{outline-color:var(--destructive)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-foreground\/10[data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-foreground\/10[data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.data-\[highlighted\]\:bg-foreground\/\[0\.08\][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-foreground\/\[0\.08\][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 8%, transparent)}}.data-\[highlighted\]\:text-foreground[data-highlighted]{color:var(--foreground)}.data-\[orientation\=horizontal\]\:h-1[data-orientation=horizontal]{height:calc(var(--spacing) * 1)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:flex[data-orientation=vertical]{display:flex}.data-\[orientation\=vertical\]\:h-32[data-orientation=vertical]{height:calc(var(--spacing) * 32)}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-0[data-orientation=vertical]{min-height:calc(var(--spacing) * 0)}.data-\[orientation\=vertical\]\:w-1[data-orientation=vertical]{width:calc(var(--spacing) * 1)}.data-\[orientation\=vertical\]\:w-6[data-orientation=vertical]{width:calc(var(--spacing) * 6)}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:items-start[data-orientation=vertical]{align-items:flex-start}.data-\[orientation\=vertical\]\:gap-4[data-orientation=vertical]{gap:calc(var(--spacing) * 4)}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[state\=active\]\:bg-\[var\(--ui-surface\,var\(--paper\)\)\][data-state=active]{background-color:var(--ui-surface,var(--paper))}.data-\[state\=active\]\:bg-transparent[data-state=active]{background-color:#0000}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:font-normal[data-state=active]{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-foreground:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:var(--foreground)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-foreground[data-state=checked]{border-color:var(--foreground)}.data-\[state\=checked\]\:bg-\[var\(--paper\)\][data-state=checked]{background-color:var(--paper)}.data-\[state\=checked\]\:bg-foreground[data-state=checked]{background-color:var(--foreground)}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.aria-invalid\:data-\[state\=checked\]\:border-destructive[aria-invalid=true][data-state=checked]{border-color:var(--destructive)}.data-\[state\=inactive\]\:text-muted-foreground[data-state=inactive]{color:var(--muted-foreground)}.data-\[state\=indeterminate\]\:border-foreground[data-state=indeterminate]{border-color:var(--foreground)}.data-\[state\=indeterminate\]\:bg-foreground[data-state=indeterminate]{background-color:var(--foreground)}.aria-invalid\:data-\[state\=indeterminate\]\:border-destructive[aria-invalid=true][data-state=indeterminate]{border-color:var(--destructive)}.data-\[state\=open\]\:bg-foreground\/10[data-state=open]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-foreground\/10[data-state=open]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.data-\[state\=open\]\:bg-foreground\/\[0\.08\][data-state=open]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-foreground\/\[0\.08\][data-state=open]{background-color:color-mix(in oklab, var(--foreground) 8%, transparent)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:gap-3{gap:calc(var(--spacing) * 3)}}.\[\&_p\]\:not-last\:mb-2 p:not(:last-child){margin-bottom:calc(var(--spacing) * 2)}.\[\&_svg\]\:size-3 svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\:has\(\>svg\)\]\:pl-10:has(>svg){padding-left:calc(var(--spacing) * 10)}.\[\&\>\[data-slot\=field-content\]\]\:min-w-0>[data-slot=field-content]{min-width:calc(var(--spacing) * 0)}.\[\&\>\[data-slot\=field-content\]\]\:flex-1>[data-slot=field-content]{flex:1}@media (min-width:40rem){.sm\:\[\&\>\[data-slot\=field-content\]\]\:flex-1>[data-slot=field-content]{flex:1}}.\[\&\>\[data-slot\=field-label\]\]\:mb-0>[data-slot=field-label]{margin-bottom:calc(var(--spacing) * 0)}.\[\&\>\[data-slot\=field-label\]\]\:shrink-0>[data-slot=field-label]{flex-shrink:0}.\[\&\>\[data-slot\=field-label\]\]\:pt-1\.5>[data-slot=field-label]{padding-top:calc(var(--spacing) * 1.5)}@media (min-width:40rem){.sm\:\[\&\>\[data-slot\=field-label\]\]\:mb-0>[data-slot=field-label]{margin-bottom:calc(var(--spacing) * 0)}.sm\:\[\&\>\[data-slot\=field-label\]\]\:shrink-0>[data-slot=field-label]{flex-shrink:0}.sm\:\[\&\>\[data-slot\=field-label\]\]\:pt-1\.5>[data-slot=field-label]{padding-top:calc(var(--spacing) * 1.5)}}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-3>svg{top:calc(var(--spacing) * 3)}.\[\&\>svg\]\:left-3>svg{left:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:root,[data-theme=light]{--foreground:#121212;--background:#efefef;--muted-foreground:#646464;--border:#12121224;--destructive:#7b2626;--paper:#fafafa;--ui-surface:#fafafa;--ink:#1a1a1a;--ink-muted:#6f6f6f}[data-theme=dark]{--foreground:#ececec;--background:#0d0d0d;--muted-foreground:#969696;--border:#ececec24;--destructive:#d47a7a;--paper:#0d0d0d;--ui-surface:#1a1a1a;--ink:#ececec;--ink-muted:#9a9a9a}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
+
@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-content:""}}}@layer theme{:root,:host{--color-black:#000;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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)}}@layer base{:where([data-slot=button],[data-slot=input],[data-slot^=field],[data-slot^=select-],[data-slot^=radio-group],[data-slot^=tabs],[data-slot=label],[data-slot^=accordion-],[data-slot^=alert],[data-slot=badge],[data-slot^=checkbox],[data-slot^=dialog-],[data-slot^=popover-],[data-slot^=progress],[data-slot=separator],[data-slot=skeleton],[data-slot^=slider],[data-slot^=switch],[data-slot=textarea],[data-slot=tooltip-content],[data-slot^=menubar],[data-slot^=command-menu-],[data-slot=dropdown-menu-content],[data-slot=context-menu-content]){box-sizing:border-box;border:0 solid var(--border)}:where([data-slot=button],[data-slot=select-trigger],[data-slot=select-scroll-up-button],[data-slot=select-scroll-down-button],[data-slot=radio-group-item],[data-slot=tabs-trigger],[data-slot=input],[data-slot=textarea],[data-slot=accordion-trigger],[data-slot=checkbox],[data-slot=dialog-close],[data-slot=slider-thumb],[data-slot=switch],[data-slot=menubar-trigger],[data-slot=command-menu-trigger]){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;text-transform:none;background-color:#0000;border-radius:0;margin:0;padding:0}button:where([data-slot=button],[data-slot=select-trigger],[data-slot=select-scroll-up-button],[data-slot=select-scroll-down-button],[data-slot=radio-group-item],[data-slot=tabs-trigger],[data-slot=accordion-trigger],[data-slot=checkbox],[data-slot=dialog-close],[data-slot=slider-thumb],[data-slot=switch],[data-slot=menubar-trigger],[data-slot=command-menu-trigger]){appearance:button}:where([data-slot=field-set]){min-width:0;margin:0;padding:0}:where([data-slot=field-legend]){padding:0}:where([data-slot=field-description],[data-slot=field-error] ul){margin:0;padding:0}:where([data-slot=accordion-header],[data-slot=alert-title],[data-slot=dialog-title],[data-slot=popover-title]){font-size:inherit;font-weight:inherit;margin:0}:where([data-slot=dialog-description],[data-slot=popover-description],[data-slot=alert-description] p){margin:0}:where([data-slot=select-trigger],[data-slot=select-content],[data-slot=accordion-trigger],[data-slot=alert],[data-slot=badge],[data-slot=checkbox],[data-slot=dialog-content],[data-slot^=menubar],[data-slot^=command-menu-]) svg{vertical-align:middle;display:block}}@layer components{:root{--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--motion-duration-enter:.16s;--motion-duration-exit:.11s;--motion-duration-modal-enter:.2s;--motion-duration-modal-exit:.14s;--motion-duration-collapse:.2s;--motion-pop-scale:.97;--motion-pop-exit-scale:.99;--motion-modal-scale:.96;--motion-modal-exit-scale:.98}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-fade-out{to{opacity:0}}@keyframes motion-pop-in{0%{opacity:0;scale:var(--motion-pop-scale)}}@keyframes motion-pop-out{to{opacity:0;scale:var(--motion-pop-exit-scale)}}@keyframes motion-modal-in{0%{opacity:0;scale:var(--motion-modal-scale)}}@keyframes motion-modal-out{to{opacity:0;scale:var(--motion-modal-exit-scale)}}@keyframes motion-collapse-open{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes motion-collapse-close{0%{height:var(--radix-accordion-content-height)}to{height:0}}.motion-pop{transform-origin:var(--radix-popover-content-transform-origin,var(--radix-tooltip-content-transform-origin,var(--radix-menubar-content-transform-origin,var(--radix-dropdown-menu-content-transform-origin,var(--radix-context-menu-content-transform-origin,center)))))}.motion-pop:is([data-state=open],[data-state=delayed-open]){animation:motion-pop-in var(--motion-duration-enter) var(--motion-ease-out)}.motion-pop[data-state=closed]{animation:motion-pop-out var(--motion-duration-exit) var(--motion-ease-out) forwards}.motion-fade[data-state=open]{animation:motion-fade-in var(--motion-duration-modal-enter) var(--motion-ease-out)}.motion-fade[data-state=closed]{animation:motion-fade-out var(--motion-duration-modal-exit) var(--motion-ease-out) forwards}.motion-modal[data-state=open]{animation:motion-modal-in var(--motion-duration-modal-enter) var(--motion-ease-out)}.motion-modal[data-state=closed]{animation:motion-modal-out var(--motion-duration-modal-exit) var(--motion-ease-out) forwards}.motion-collapse{overflow:hidden}.motion-collapse[data-state=open]{animation:motion-collapse-open var(--motion-duration-collapse) var(--motion-ease-out)}.motion-collapse[data-state=closed]{animation:motion-collapse-close var(--motion-duration-collapse) var(--motion-ease-out)}@media (prefers-reduced-motion:reduce){:root{--motion-pop-scale:1;--motion-pop-exit-scale:1;--motion-modal-scale:1;--motion-modal-exit-scale:1}.motion-collapse{animation:none!important}}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.mx-1{margin-inline:calc(var(--spacing) * 1)}.my-1{margin-block:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-menubar-content-available-height\){max-height:var(--radix-menubar-content-available-height)}.max-h-\(--radix-popover-content-available-height\){max-height:var(--radix-popover-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-1\/2{width:50%}.w-8{width:calc(var(--spacing) * 8)}.w-64{width:calc(var(--spacing) * 64)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(16rem\,calc\(100vw-2rem\)\)\]{max-width:min(16rem,100vw - 2rem)}.max-w-\[min\(20rem\,calc\(100vw-2rem\)\)\]{max-width:min(20rem,100vw - 2rem)}.max-w-\[min\(20rem\,var\(--radix-context-menu-content-available-width\)\)\]{max-width:min(20rem, var(--radix-context-menu-content-available-width))}.max-w-\[min\(20rem\,var\(--radix-dropdown-menu-content-available-width\)\)\]{max-width:min(20rem, var(--radix-dropdown-menu-content-available-width))}.max-w-\[min\(20rem\,var\(--radix-menubar-content-available-width\)\)\]{max-width:min(20rem, var(--radix-menubar-content-available-width))}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-\(--radix-select-trigger-width\){min-width:var(--radix-select-trigger-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[min\(12rem\,var\(--radix-context-menu-content-available-width\)\)\]{min-width:min(12rem, var(--radix-context-menu-content-available-width))}.min-w-\[min\(12rem\,var\(--radix-dropdown-menu-content-available-width\)\)\]{min-width:min(12rem, var(--radix-dropdown-menu-content-available-width))}.min-w-\[min\(12rem\,var\(--radix-menubar-content-available-width\)\)\]{min-width:min(12rem, var(--radix-menubar-content-available-width))}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}: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)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--ink-muted\)\]{border-color:var(--ink-muted)}.border-border{border-color:var(--border)}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/10{border-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.border-foreground\/40{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/40{border-color:color-mix(in oklab, var(--foreground) 40%, transparent)}}.border-foreground\/50{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/50{border-color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]{background-color:color-mix(in oklab,var(--ink) 8%,transparent)}}.bg-\[color-mix\(in_oklab\,var\(--ink\)_14\%\,transparent\)\]{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklab\,var\(--ink\)_14\%\,transparent\)\]{background-color:color-mix(in oklab,var(--ink) 14%,transparent)}}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.bg-\[var\(--ui-surface\,var\(--paper\)\)\]{background-color:var(--ui-surface,var(--paper))}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-border{background-color:var(--border)}.bg-current{background-color:currentColor}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground\/5{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/5{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/10{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.bg-foreground\/60{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/60{background-color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.bg-foreground\/65{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/65{background-color:color-mix(in oklab, var(--foreground) 65%, transparent)}}.bg-foreground\/\[0\.03\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.03\]{background-color:color-mix(in oklab, var(--foreground) 3%, transparent)}}.bg-foreground\/\[0\.06\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.06\]{background-color:color-mix(in oklab, var(--foreground) 6%, transparent)}}.bg-foreground\/\[0\.07\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.07\]{background-color:color-mix(in oklab, var(--foreground) 7.0%, transparent)}}.bg-foreground\/\[0\.035\]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/\[0\.035\]{background-color:color-mix(in oklab, var(--foreground) 3.5%, transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-px{padding-inline:1px}.py-0{padding-block:calc(var(--spacing) * 0)}.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)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6875rem\]{font-size:.6875rem}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ink\)\]{color:var(--ink)}.text-background{color:var(--background)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[width\]{transition-property:width;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))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:items-stretch:is(:where(.group\/tabs)[data-orientation=vertical] *){align-items:stretch}.group-data-\[orientation\=vertical\]\/tabs\:border-r:is(:where(.group\/tabs)[data-orientation=vertical] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[orientation\=vertical\]\/tabs\:border-b-0:is(:where(.group\/tabs)[data-orientation=vertical] *){border-bottom-style:var(--tw-border-style);border-bottom-width:0}.group-data-\[state\=active\]\:bg-foreground\/10:is(:where(.group)[data-state=active] *){background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=active\]\:bg-foreground\/10:is(:where(.group)[data-state=active] *){background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.group-data-\[state\=active\]\:font-medium:is(:where(.group)[data-state=active] *){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.group-data-\[state\=active\]\:text-foreground:is(:where(.group)[data-state=active] *){color:var(--foreground)}.group-data-\[state\=checked\]\/indicator\:hidden:is(:where(.group\/indicator)[data-state=checked] *),.group-data-\[state\=indeterminate\]\/indicator\:hidden:is(:where(.group\/indicator)[data-state=indeterminate] *){display:none}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=line\]\/tabs-list\:rounded-none:is(:where(.group\/tabs-list)[data-variant=line] *){border-radius:0}.group-data-\[variant\=line\]\/tabs-list\:border-b-2:is(:where(.group\/tabs-list)[data-variant=line] *){border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.group-data-\[variant\=line\]\/tabs-list\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){border-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:px-2:is(:where(.group\/tabs-list)[data-variant=line] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:py-2:is(:where(.group\/tabs-list)[data-variant=line] *){padding-block:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:group-data-\[orientation\=vertical\]\/tabs\:border-r-2:is(:where(.group\/tabs-list)[data-variant=line] *):is(:where(.group\/tabs)[data-orientation=vertical] *){border-right-style:var(--tw-border-style);border-right-width:2px}.group-data-\[variant\=line\]\/tabs-list\:group-data-\[orientation\=vertical\]\/tabs\:border-b-0:is(:where(.group\/tabs-list)[data-variant=line] *):is(:where(.group\/tabs)[data-orientation=vertical] *){border-bottom-style:var(--tw-border-style);border-bottom-width:0}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-1:before{content:var(--tw-content);inset:calc(var(--spacing) * -1)}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.before\:-inset-y-0\.5:before{content:var(--tw-content);inset-block:calc(var(--spacing) * -.5)}.before\:hidden:before{content:var(--tw-content);display:none}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.group-data-\[variant\=line\]\/tabs-list\:before\:hidden:is(:where(.group\/tabs-list)[data-variant=line] *):before,.after\:hidden:after,.group-data-\[variant\=line\]\/tabs-list\:after\:hidden:is(:where(.group\/tabs-list)[data-variant=line] *):after{content:var(--tw-content);display:none}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_8\%\,transparent\)\]:hover{background-color:color-mix(in oklab,var(--ink) 8%,transparent)}}.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_11\%\,transparent\)\]:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_11\%\,transparent\)\]:hover{background-color:color-mix(in oklab,var(--ink) 11%,transparent)}}.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_18\%\,transparent\)\]:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--ink\)_18\%\,transparent\)\]:hover{background-color:color-mix(in oklab,var(--ink) 18%,transparent)}}.hover\:bg-foreground\/5:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/5:hover{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:no-underline:hover{text-decoration-line:none}}.focus-visible\:bg-foreground\/10:focus-visible{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-foreground\/10:focus-visible{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.focus-visible\:outline-\[length\:var\(--focus-ring-width\)\]:focus-visible{outline-style:var(--tw-outline-style);outline-width:var(--focus-ring-width)}.focus-visible\:outline-offset-\[var\(--focus-ring-inset-offset\)\]:focus-visible{outline-offset:var(--focus-ring-inset-offset)}.focus-visible\:outline-offset-\[var\(--focus-ring-offset\)\]:focus-visible{outline-offset:var(--focus-ring-offset)}.focus-visible\:outline-\[var\(--ui-focus\)\]:focus-visible{outline-color:var(--ui-focus)}.focus-visible\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.active\:opacity-100:active{opacity:1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\[data-visual\=compact\]\]\:rounded-none:has([data-visual=compact]){border-radius:0}.has-\[\[data-visual\=compact\]\]\:bg-transparent:has([data-visual=compact]){background-color:#0000}.has-\[\[data-visual\=compact\]\]\:p-0:has([data-visual=compact]){padding:calc(var(--spacing) * 0)}.aria-invalid\:border-destructive[aria-invalid=true],.aria-invalid\:focus-visible\:border-destructive[aria-invalid=true]:focus-visible{border-color:var(--destructive)}.aria-invalid\:focus-visible\:outline-\[var\(--destructive\)\][aria-invalid=true]:focus-visible{outline-color:var(--destructive)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-foreground\/10[data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-foreground\/10[data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.data-\[highlighted\]\:bg-foreground\/\[0\.08\][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-foreground\/\[0\.08\][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 8%, transparent)}}.data-\[highlighted\]\:text-foreground[data-highlighted]{color:var(--foreground)}.data-\[orientation\=horizontal\]\:h-1[data-orientation=horizontal]{height:calc(var(--spacing) * 1)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:flex[data-orientation=vertical]{display:flex}.data-\[orientation\=vertical\]\:h-32[data-orientation=vertical]{height:calc(var(--spacing) * 32)}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-0[data-orientation=vertical]{min-height:calc(var(--spacing) * 0)}.data-\[orientation\=vertical\]\:w-1[data-orientation=vertical]{width:calc(var(--spacing) * 1)}.data-\[orientation\=vertical\]\:w-6[data-orientation=vertical]{width:calc(var(--spacing) * 6)}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:items-start[data-orientation=vertical]{align-items:flex-start}.data-\[orientation\=vertical\]\:gap-4[data-orientation=vertical]{gap:calc(var(--spacing) * 4)}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[state\=active\]\:bg-\[var\(--ui-surface\,var\(--paper\)\)\][data-state=active]{background-color:var(--ui-surface,var(--paper))}.data-\[state\=active\]\:bg-transparent[data-state=active]{background-color:#0000}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:font-normal[data-state=active]{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-foreground:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:var(--foreground)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-foreground[data-state=checked]{border-color:var(--foreground)}.data-\[state\=checked\]\:bg-\[var\(--paper\)\][data-state=checked]{background-color:var(--paper)}.data-\[state\=checked\]\:bg-foreground[data-state=checked]{background-color:var(--foreground)}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[state\=checked\]\:focus-visible\:outline-\[var\(--ui-focus-on-solid\)\][data-state=checked]:focus-visible{outline-color:var(--ui-focus-on-solid)}.aria-invalid\:data-\[state\=checked\]\:border-destructive[aria-invalid=true][data-state=checked]{border-color:var(--destructive)}.aria-invalid\:data-\[state\=checked\]\:focus-visible\:outline-\[var\(--destructive\)\][aria-invalid=true][data-state=checked]:focus-visible{outline-color:var(--destructive)}.data-\[state\=inactive\]\:text-muted-foreground[data-state=inactive]{color:var(--muted-foreground)}.data-\[state\=indeterminate\]\:border-foreground[data-state=indeterminate]{border-color:var(--foreground)}.data-\[state\=indeterminate\]\:bg-foreground[data-state=indeterminate]{background-color:var(--foreground)}.data-\[state\=indeterminate\]\:focus-visible\:outline-\[var\(--ui-focus-on-solid\)\][data-state=indeterminate]:focus-visible{outline-color:var(--ui-focus-on-solid)}.aria-invalid\:data-\[state\=indeterminate\]\:border-destructive[aria-invalid=true][data-state=indeterminate]{border-color:var(--destructive)}.aria-invalid\:data-\[state\=indeterminate\]\:focus-visible\:outline-\[var\(--destructive\)\][aria-invalid=true][data-state=indeterminate]:focus-visible{outline-color:var(--destructive)}.data-\[state\=open\]\:bg-foreground\/10[data-state=open]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-foreground\/10[data-state=open]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.data-\[state\=open\]\:bg-foreground\/\[0\.08\][data-state=open]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-foreground\/\[0\.08\][data-state=open]{background-color:color-mix(in oklab, var(--foreground) 8%, transparent)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:gap-3{gap:calc(var(--spacing) * 3)}}.\[\&_p\]\:not-last\:mb-2 p:not(:last-child){margin-bottom:calc(var(--spacing) * 2)}.\[\&_svg\]\:size-3 svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\:has\(\>svg\)\]\:pl-10:has(>svg){padding-left:calc(var(--spacing) * 10)}.\[\&\>\[data-slot\=field-content\]\]\:min-w-0>[data-slot=field-content]{min-width:calc(var(--spacing) * 0)}.\[\&\>\[data-slot\=field-content\]\]\:flex-1>[data-slot=field-content]{flex:1}@media (min-width:40rem){.sm\:\[\&\>\[data-slot\=field-content\]\]\:flex-1>[data-slot=field-content]{flex:1}}.\[\&\>\[data-slot\=field-label\]\]\:mb-0>[data-slot=field-label]{margin-bottom:calc(var(--spacing) * 0)}.\[\&\>\[data-slot\=field-label\]\]\:shrink-0>[data-slot=field-label]{flex-shrink:0}.\[\&\>\[data-slot\=field-label\]\]\:pt-1\.5>[data-slot=field-label]{padding-top:calc(var(--spacing) * 1.5)}@media (min-width:40rem){.sm\:\[\&\>\[data-slot\=field-label\]\]\:mb-0>[data-slot=field-label]{margin-bottom:calc(var(--spacing) * 0)}.sm\:\[\&\>\[data-slot\=field-label\]\]\:shrink-0>[data-slot=field-label]{flex-shrink:0}.sm\:\[\&\>\[data-slot\=field-label\]\]\:pt-1\.5>[data-slot=field-label]{padding-top:calc(var(--spacing) * 1.5)}}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-3>svg{top:calc(var(--spacing) * 3)}.\[\&\>svg\]\:left-3>svg{left:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media (forced-colors:active){[data-slot]:not([tabindex="-1"]:not(:is(a[href],button,input,textarea,select,summary,[role=button],[role=tab],[role=radio],[role=checkbox],[role=switch],[role=slider],[role=menuitem],[role=menuitemradio],[role=menuitemcheckbox],[role=option]))):focus-visible{outline-offset:2px!important;outline:2px solid highlight!important}}}:root,[data-theme=light]{--foreground:#121212;--background:#efefef;--muted-foreground:#646464;--border:#12121224;--destructive:#7b2626;--paper:#fafafa;--ui-surface:#fafafa;--ink:#1a1a1a;--ink-muted:#6f6f6f}[data-theme=dark]{--foreground:#ececec;--background:#0d0d0d;--muted-foreground:#969696;--border:#ececec24;--destructive:#d47a7a;--paper:#0d0d0d;--ui-surface:#1a1a1a;--ink:#ececec;--ink-muted:#9a9a9a}:root,[data-theme=light],[data-theme=dark]{--focus-ring-width:1px;--focus-ring-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme=light],[data-theme=dark]{--focus-ring-color:color-mix(in srgb, var(--ink) 65%, var(--paper))}}:root,[data-theme=light],[data-theme=dark]{--focus-ring-offset:2px;--focus-ring-inset-offset:-1px;--ui-focus:var(--focus-ring-color);--ui-focus-on-solid:var(--focus-ring-color)}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}
|
package/dist/switch.js
CHANGED
|
@@ -3,6 +3,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { Switch as SwitchPrimitive } from 'radix-ui';
|
|
4
4
|
import { cn } from './internal/cn.js';
|
|
5
5
|
function Switch({ className, ...props }) {
|
|
6
|
-
return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", className: cn("peer border-border bg-foreground/10 aria-invalid:border-destructive aria-invalid:data-[state=checked]:border-destructive data-[state=checked]:border-foreground data-[state=checked]:bg-foreground relative inline-flex h-5 w-8 shrink-0 items-center rounded-full border px-px transition-colors outline-none before:absolute before:inset-x-0 before:-inset-y-0.5 before:content-[''] focus-visible:outline-
|
|
6
|
+
return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", className: cn("peer border-border bg-foreground/10 aria-invalid:border-destructive aria-invalid:data-[state=checked]:border-destructive data-[state=checked]:border-foreground data-[state=checked]:bg-foreground relative inline-flex h-5 w-8 shrink-0 items-center rounded-full border px-px transition-colors outline-none before:absolute before:inset-x-0 before:-inset-y-0.5 before:content-[''] focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:focus-visible:outline-[var(--destructive)] data-[state=checked]:focus-visible:outline-[var(--ui-focus-on-solid)] aria-invalid:data-[state=checked]:focus-visible:outline-[var(--destructive)] motion-reduce:transition-none", className), ...props, children: _jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: "bg-foreground/60 pointer-events-none block size-4 rounded-full shadow-xs transition-transform data-[state=checked]:translate-x-3 data-[state=checked]:bg-[var(--paper)] data-[state=checked]:focus-visible:outline-[var(--ui-focus-on-solid)] aria-invalid:data-[state=checked]:focus-visible:outline-[var(--destructive)] motion-reduce:transition-none" }) }));
|
|
7
7
|
}
|
|
8
8
|
export { Switch };
|
package/dist/tabs.js
CHANGED
|
@@ -21,11 +21,11 @@ function TabsList({ className, variant = 'default', ...props }) {
|
|
|
21
21
|
return (_jsx(TabsPrimitive.List, { "data-slot": "tabs-list", "data-variant": variant, className: cn(tabsListVariants({ variant }), className), ...props }));
|
|
22
22
|
}
|
|
23
23
|
function TabsTrigger({ className, visual = 'default', children, ...props }) {
|
|
24
|
-
return (_jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", "data-visual": visual, className: cn('inline-flex items-center justify-center px-0 py-0 text-xs transition-colors focus-visible:outline-
|
|
25
|
-
? 'group h-
|
|
26
|
-
: 'data-[state=active]:text-foreground min-h-7 rounded-sm px-2.5 py-1 data-[state=active]:bg-[var(--ui-surface,var(--paper))] data-[state=active]:font-medium data-[state=active]:shadow-sm', 'data-[state=inactive]:text-muted-foreground hover:text-foreground', 'group-data-[variant=line]/tabs-list:data-[state=active]:border-foreground group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:border-transparent group-data-[variant=line]/tabs-list:px-2 group-data-[variant=line]/tabs-list:py-2 group-data-[variant=line]/tabs-list:group-data-[orientation=vertical]/tabs:border-r-2 group-data-[variant=line]/tabs-list:group-data-[orientation=vertical]/tabs:border-b-0 group-data-[variant=line]/tabs-list:before:hidden group-data-[variant=line]/tabs-list:after:hidden group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none', className), ...props, children: visual === 'compact' ? (_jsx("span", { className: "group-data-[state=active]:bg-foreground/10 group-data-[state=active]:text-foreground rounded-sm px-2 py-1
|
|
24
|
+
return (_jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", "data-visual": visual, className: cn('inline-flex items-center justify-center px-0 py-0 text-xs transition-colors focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:pointer-events-none disabled:opacity-50', visual === 'compact'
|
|
25
|
+
? 'group min-h-7 max-w-full min-w-0 flex-none before:hidden after:hidden data-[state=active]:bg-transparent data-[state=active]:font-normal'
|
|
26
|
+
: 'data-[state=active]:text-foreground min-h-7 rounded-sm px-2.5 py-1 data-[state=active]:bg-[var(--ui-surface,var(--paper))] data-[state=active]:font-medium data-[state=active]:shadow-sm', 'data-[state=inactive]:text-muted-foreground hover:text-foreground', 'group-data-[variant=line]/tabs-list:data-[state=active]:border-foreground group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:border-transparent group-data-[variant=line]/tabs-list:px-2 group-data-[variant=line]/tabs-list:py-2 group-data-[variant=line]/tabs-list:group-data-[orientation=vertical]/tabs:border-r-2 group-data-[variant=line]/tabs-list:group-data-[orientation=vertical]/tabs:border-b-0 group-data-[variant=line]/tabs-list:before:hidden group-data-[variant=line]/tabs-list:after:hidden group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none', className), ...props, children: visual === 'compact' ? (_jsx("span", { className: "group-data-[state=active]:bg-foreground/10 group-data-[state=active]:text-foreground min-w-0 rounded-sm px-2 py-1 leading-4 [overflow-wrap:anywhere] whitespace-normal group-data-[state=active]:font-medium", children: children })) : (children) }));
|
|
27
27
|
}
|
|
28
28
|
function TabsContent({ className, ...props }) {
|
|
29
|
-
return (_jsx(TabsPrimitive.Content, { "data-slot": "tabs-content", className: cn('text-xs outline-none focus-visible:outline-
|
|
29
|
+
return (_jsx(TabsPrimitive.Content, { "data-slot": "tabs-content", className: cn('text-xs outline-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid', className), ...props }));
|
|
30
30
|
}
|
|
31
31
|
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
|
package/dist/textarea.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from './internal/cn.js';
|
|
3
3
|
function Textarea({ className, ...props }) {
|
|
4
|
-
return (_jsx("textarea", { "data-slot": "textarea", className: cn('border-border placeholder:text-muted-foreground aria-invalid:border-destructive bg-foreground/[0.03] min-h-20 w-full min-w-0 resize-y rounded-sm border px-2 py-1.5 text-xs leading-relaxed outline-none focus-visible:outline-
|
|
4
|
+
return (_jsx("textarea", { "data-slot": "textarea", className: cn('border-border placeholder:text-muted-foreground aria-invalid:border-destructive bg-foreground/[0.03] min-h-20 w-full min-w-0 resize-y rounded-sm border px-2 py-1.5 text-xs leading-relaxed outline-none focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-offset-[var(--focus-ring-offset)] focus-visible:outline-[var(--ui-focus)] focus-visible:outline-solid disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:focus-visible:outline-[var(--destructive)]', className), ...props }));
|
|
5
5
|
}
|
|
6
6
|
export { Textarea };
|