@owodesign/owoui 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,6 +9,18 @@ import '@owodesign/owoui/style.css';
9
9
  import { Button, Dialog, Select } from '@owodesign/owoui';
10
10
  ```
11
11
 
12
+ Example advanced primitives:
13
+
14
+ ```tsx
15
+ import {
16
+ NavRail,
17
+ Popover,
18
+ RadioGroup,
19
+ Table,
20
+ Tree,
21
+ } from '@owodesign/owoui';
22
+ ```
23
+
12
24
  `style.css` is a compiled, publish-ready CSS asset. Consumers do not need Tailwind or a Tailwind PostCSS plugin to resolve it. It ships the component bundle together with `theme-light + preset-default`, so the full `ref -> sys -> cmp` token chain is present even when consumers only import one file.
13
25
 
14
26
  To opt into another combination:
@@ -28,6 +40,9 @@ Override order is intentional:
28
40
  This package ships:
29
41
 
30
42
  - reusable React UI primitives
43
+ - form primitives including `Checkbox`, `Radio` / `RadioGroup`, `Select`, `SegmentedControl`, `Switch`, `Input`, and `Textarea`
44
+ - structural primitives including `Tree`, `NavRail`, `Table`, `Panel`, and `Drawer`
45
+ - floating / feedback primitives including `Popover`, `Tooltip`, `Dialog`, and `Toast`
31
46
  - a default style preset
32
47
  - a standalone token stylesheet via `@owodesign/owoui/tokens.css`
33
48
  - token metadata via `@owodesign/owoui/tokens`
@@ -36,6 +51,20 @@ This package ships:
36
51
  - a packaged storybook registry consumable via `@owodesign/owoui/storybook`
37
52
  - a static storybook catalog consumable via `@owodesign/owoui/storybook/catalog`
38
53
 
54
+ ## Component Notes
55
+
56
+ - `Checkbox` exposes a stable three-state visual contract via `data-state="unchecked" | "checked" | "indeterminate"` on the root and control nodes.
57
+ - `RadioGroup` shares the `ChoiceOption<T>` model used by `Select` and `SegmentedControl`, supports `orientation="vertical" | "horizontal"` plus `textValue` for non-string labels, and exposes stable `radio` / `radio-group` part selectors.
58
+ - `Popover` uses a compound API: `Popover.Root`, `Popover.Trigger`, and `Popover.Content`. `Popover.Content` supports `side`, `align`, `alignOffset`, `matchTriggerWidth`, `closeOnInteractOutside`, `closeOnEscape`, `closeOnPointerDownOutside`, `restoreFocus`, `initialFocusRef`, `onInteractOutside`, `onPointerDownOutside`, and `onEscapeKeyDown`.
59
+ - `Tree` supports controlled expansion, controlled selection, `searchQuery` filtering, and `textValue` for search on non-string labels.
60
+ - `Tree` also exposes `onExpandedKeysChange` so multi-node expansion changes can be synchronized as a formal state contract.
61
+ - `NavRail` provides `NavRail.Item`, `NavRail.Section`, and `NavRail.Spacer` for grouped icon-only navigation, plus `orientation="vertical" | "horizontal"` and arrow-key roving focus.
62
+ - `Table` supports `selectionMode`, controlled or uncontrolled sorting, sticky headers, fixed-row-height virtualization via `virtualized`, `renderHeader`, `renderCell`, `compare`, `isRowSelectable`, `loading`, `loadingState`, `skeletonRows`, `classNames.headerCell | headerSortButton | headerLabel | cell | selectionCell | selectionControl | loadingState | skeletonCell`, `sortCycle`, and `getSortButtonAriaLabel`.
63
+ - `Select` supports controlled value plus controlled popup state via `open`, `defaultOpen`, and `onOpenChange`.
64
+ - `Table` defaults to a documented binary sorting cycle on sortable columns: `none -> asc -> desc -> asc`. Set `sortCycle="ternary"` to enable `none -> asc -> desc -> none`.
65
+ - `Table` exposes `onSortChange(sort)` for explicit sort-state synchronization, including ternary clear-to-none transitions. Only sortable headers render an interactive button; static headers stay non-focusable.
66
+ - `Table` selection can be labeled explicitly through `selectionColumnAriaLabel`, `getSelectAllAriaLabel`, and `getRowSelectionAriaLabel` so standalone selection columns do not rely on implicit fallback copy.
67
+
39
68
  ## Token Exports
40
69
 
41
70
  For CSS-only token consumption:
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
1
  @layer owoui.components {
2
- ._root_crrwl_1{--avatar-bg:var(--owo-cmp-surface-bg-inset);--avatar-text:var(--owo-cmp-text-secondary);--avatar-border:transparent;border-radius:var(--owo-cmp-control-radius-full);-webkit-user-select:none;user-select:none;background:var(--avatar-bg);color:var(--avatar-text);border:1px solid var(--avatar-border);flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:inline-flex;overflow:hidden}._root_crrwl_1[data-size=xs]{width:1.5rem;height:1.5rem;font-size:10px}._root_crrwl_1[data-size=sm]{width:2rem;height:2rem;font-size:.75rem;line-height:1rem}._root_crrwl_1[data-size=md]{width:2.5rem;height:2.5rem;font-size:.875rem;line-height:1.25rem}._root_crrwl_1[data-size=lg]{width:3.5rem;height:3.5rem;font-size:1.125rem;line-height:1.75rem}._root_crrwl_1>img{object-fit:cover;width:100%;height:100%}._root_crrwl_1[data-tone=subtle]{--avatar-bg:var(--owo-cmp-surface-bg-subtle);--avatar-text:var(--owo-cmp-text-muted)}._root_6bx55_1{--badge-bg:var(--owo-cmp-surface-bg-inset);--badge-text:var(--owo-cmp-text-secondary);--badge-border:transparent;border-radius:var(--owo-cmp-control-radius-full);border:1px solid var(--badge-border);color:var(--badge-text);background:var(--badge-bg);align-items:center;display:inline-flex}._root_6bx55_1[data-size=xs]{padding:.25rem .625rem;font-size:11px}._root_6bx55_1[data-size=sm]{padding:.25rem .75rem;font-size:.75rem;font-weight:500;line-height:1rem}._root_6bx55_1[data-variant=outline]{--badge-bg:transparent;--badge-border:var(--owo-cmp-surface-border)}._root_6bx55_1[data-tone=info]{--badge-bg:var(--owo-cmp-info-bg);--badge-text:var(--owo-cmp-info-text);--badge-border:var(--owo-cmp-info-border)}._root_6bx55_1[data-tone=info][data-variant=outline]{--badge-bg:transparent}._root_6bx55_1[data-tone=success]{--badge-bg:var(--owo-cmp-success-bg);--badge-text:var(--owo-cmp-success-text);--badge-border:var(--owo-cmp-success-border)}._root_6bx55_1[data-tone=success][data-variant=outline]{--badge-bg:transparent}._root_6bx55_1[data-tone=warning]{--badge-bg:var(--owo-cmp-warning-bg);--badge-text:var(--owo-cmp-warning-text);--badge-border:var(--owo-cmp-warning-border)}._root_6bx55_1[data-tone=warning][data-variant=outline]{--badge-bg:transparent}._root_6bx55_1[data-tone=danger]{--badge-bg:var(--owo-cmp-danger-bg);--badge-text:var(--owo-cmp-danger-text);--badge-border:var(--owo-cmp-danger-border)}._root_6bx55_1[data-tone=danger][data-variant=outline]{--badge-bg:transparent}._root_1oxco_1{display:inline-flex}._root_1oxco_1[data-animate=spin]{animation:1s linear infinite _owo-spin_1oxco_1}@keyframes _owo-spin_1oxco_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){._root_1oxco_1[data-animate=spin]{animation:none}}._root_yhdgl_1{--button-bg:var(--owo-cmp-surface-bg);--button-bg-hover:var(--owo-cmp-surface-bg-inset);--button-bg-active:var(--owo-cmp-surface-bg-subtle);--button-text:var(--owo-cmp-text-primary);--button-border:var(--owo-cmp-surface-border);--button-ring:var(--owo-cmp-control-focus-ring);--button-disabled-opacity:.5;border-radius:var(--owo-cmp-control-radius-md);border:1px solid var(--button-border);appearance:none;background:var(--button-bg);color:var(--button-text);justify-content:center;align-items:center;gap:.5rem;padding:0;font-weight:500;transition-property:color,background-color,border-color;transition-duration:.15s;display:inline-flex}._root_yhdgl_1[data-size=xs]{min-height:var(--owo-cmp-control-height-xs);padding-inline:.625rem;font-size:.6875rem;line-height:.875rem}._root_yhdgl_1[data-size=sm]{min-height:var(--owo-cmp-control-height-sm);padding-inline:.75rem;font-size:.75rem;line-height:1rem}._root_yhdgl_1[data-size=md]{min-height:var(--owo-cmp-control-height-md);padding-inline:1rem;font-size:.875rem;line-height:1.25rem}._root_yhdgl_1[data-size=lg]{min-height:var(--owo-cmp-control-height-lg);padding-inline:1.125rem;font-size:.9375rem;line-height:1.375rem}._root_yhdgl_1[data-size=xl]{min-height:var(--owo-cmp-control-height-xl);padding-inline:1.25rem;font-size:1rem;line-height:1.5rem}._root_yhdgl_1:focus-visible{box-shadow:inset 0 0 0 2px var(--button-ring);outline:none}._root_yhdgl_1:hover{background:var(--button-bg-hover)}._root_yhdgl_1:active{background:var(--button-bg-active)}._root_yhdgl_1:disabled{cursor:not-allowed;opacity:var(--button-disabled-opacity)}._root_yhdgl_1[data-loading=true]{pointer-events:none;cursor:wait}._icon_yhdgl_83{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}._icon_yhdgl_83 svg{display:block}._label_yhdgl_95{align-items:center;display:inline-flex}._root_yhdgl_1[data-variant=primary]{--button-bg:var(--owo-cmp-accent-bg);--button-bg-hover:var(--owo-cmp-accent-bg-hover);--button-bg-active:color-mix(in srgb, var(--owo-cmp-accent-bg-hover) 88%, black);--button-text:var(--owo-cmp-accent-text);--button-border:transparent}._root_yhdgl_1[data-variant=ghost]{--button-bg:transparent;--button-bg-hover:var(--owo-cmp-surface-bg-inset);--button-bg-active:var(--owo-cmp-surface-bg-subtle);--button-text:var(--owo-cmp-text-secondary);--button-border:transparent}._root_yhdgl_1[data-variant=danger]{--button-bg:var(--owo-cmp-danger-bg);--button-bg-hover:color-mix(in srgb, var(--owo-cmp-danger-bg) 92%, var(--owo-cmp-danger-border));--button-bg-active:color-mix(in srgb, var(--owo-cmp-danger-bg) 84%, var(--owo-cmp-danger-border));--button-text:var(--owo-cmp-danger-text);--button-border:var(--owo-cmp-danger-border);--button-ring:var(--owo-cmp-danger-border)}._root_16v37_1{cursor:pointer;color:var(--owo-cmp-text-primary);align-items:center;gap:.625rem;display:inline-flex;position:relative}._root_16v37_1[data-disabled]{cursor:not-allowed;opacity:.5}._input_16v37_15{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:0;padding:0;position:absolute;overflow:hidden}._control_16v37_28{--checkbox-size:1rem;inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border-radius:var(--owo-cmp-control-radius-sm);border:1px solid var(--owo-cmp-surface-border);background:var(--owo-cmp-surface-bg);color:#fff;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}._input_16v37_15:focus-visible+._control_16v37_28{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring);outline:none}._root_16v37_1:hover:not([data-disabled]) ._control_16v37_28{border-color:var(--owo-cmp-surface-border-strong)}._root_16v37_1[data-invalid] ._control_16v37_28{border-color:var(--owo-cmp-danger-border)}._control_16v37_28[data-state=checked],._control_16v37_28[data-state=indeterminate]{background:var(--owo-cmp-accent-bg);border-color:var(--owo-cmp-accent-bg)}._root_16v37_1:hover:not([data-disabled]) ._control_16v37_28[data-state=checked],._root_16v37_1:hover:not([data-disabled]) ._control_16v37_28[data-state=indeterminate]{background:var(--owo-cmp-accent-bg-hover);border-color:var(--owo-cmp-accent-bg-hover)}._control_16v37_28[data-size=xs]{--checkbox-size:.75rem}._control_16v37_28[data-size=sm]{--checkbox-size:.875rem}._control_16v37_28[data-size=md]{--checkbox-size:1rem}._control_16v37_28[data-size=lg]{--checkbox-size:1.125rem}._control_16v37_28[data-size=xl]{--checkbox-size:1.375rem}._icon_16v37_91{width:calc(var(--checkbox-size) * .8);height:calc(var(--checkbox-size) * .8);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}._label_16v37_101{color:var(--owo-cmp-text-secondary);font-size:.875rem;line-height:1.25rem}:where(._root_bx150_1 [data-part=trigger]){appearance:none;background:var(--collapsible-trigger-bg,transparent);color:inherit;font:inherit;cursor:pointer;border:0;padding:0;transition:background-color .18s,color .18s}:where(._root_bx150_1 [data-part=trigger]:hover){background:var(--collapsible-trigger-bg-hover,var(--collapsible-trigger-bg,transparent))}:where(._root_bx150_1 [data-part=trigger][data-state=open]){background:var(--collapsible-trigger-bg-open,var(--collapsible-trigger-bg-hover,var(--collapsible-trigger-bg,transparent)))}:where(._root_bx150_1 [data-part=content]){background:var(--collapsible-content-bg,transparent);height:auto;transition:height .18s;overflow:hidden}._triggerInner_bx150_27{align-items:center;gap:var(--collapsible-trigger-gap,.75rem);width:100%;display:flex}._triggerIcon_bx150_34,._triggerIndicator_bx150_35{color:inherit;flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}._triggerLabel_bx150_44{min-width:0;text-align:inherit;flex:auto}._contentInner_bx150_50{min-height:0}._overlay_1p0ee_1{z-index:var(--owo-cmp-z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._overlay_1p0ee_1 [data-part=backdrop]{background:var(--owo-cmp-overlay-bg);animation:_dialog-backdrop-in_1p0ee_1 .2s var(--owo-cmp-motion-ease-standard);border:0;padding:0;position:absolute;inset:0}._panel_1p0ee_19{z-index:10;border-radius:var(--owo-cmp-control-radius-xl);background:var(--owo-cmp-surface-bg-raised);border:1px solid var(--owo-cmp-surface-border);width:100%;color:var(--owo-cmp-text-primary);animation:_dialog-in_1p0ee_1 .2s var(--owo-cmp-motion-ease-standard);position:relative;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}._panel_1p0ee_19[data-size=sm]{max-width:26rem}._panel_1p0ee_19[data-size=md]{max-width:32rem}._overlay_1p0ee_1 [data-part=header]{color:var(--owo-cmp-text-primary);padding:1.25rem 1.25rem .25rem;font-size:1rem;font-weight:600;line-height:1.5}._overlay_1p0ee_1 [data-part=body]{color:var(--owo-cmp-text-secondary);padding:.75rem 1.25rem;font-size:.875rem;line-height:1.25rem}._overlay_1p0ee_1 [data-part=footer]{justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.25rem 1.25rem;display:flex}._confirmDescription_1p0ee_64{white-space:pre-wrap}@keyframes _dialog-in_1p0ee_1{0%{opacity:0;transform:scale(.95)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes _dialog-backdrop-in_1p0ee_1{0%{opacity:0}to{opacity:1}}._trigger_e00wn_1{appearance:none;color:inherit;font:inherit;background:0 0;border:0;padding:0}._content_e00wn_10{border:1px solid var(--owo-cmp-surface-border);border-radius:var(--owo-cmp-control-radius-lg);background:var(--owo-cmp-surface-bg-raised);min-width:12rem;box-shadow:var(--_owo-dropdown-menu-shadow,var(--owo-cmp-surface-shadow-strong));color:var(--owo-cmp-text-primary);z-index:var(--owo-cmp-z-dropdown);animation:_owo-dropdown-menu-in_e00wn_1 var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard);outline:none;padding:.375rem;overflow-y:auto}._content_e00wn_10[data-side=top]{transform-origin:bottom}._content_e00wn_10[data-side=bottom]{transform-origin:top}._content_e00wn_10[data-side=left]{transform-origin:100%}._content_e00wn_10[data-side=right]{transform-origin:0}._content_e00wn_10 [data-part=group]+[data-part=group]{border-top:1px solid color-mix(in srgb, var(--owo-cmp-surface-border) 80%, transparent);margin-top:.375rem;padding-top:.375rem}._content_e00wn_10 [data-part=label]{letter-spacing:.12em;text-transform:uppercase;color:var(--owo-cmp-text-muted);padding:.35rem .625rem .25rem;font-size:.675rem;font-weight:700}._content_e00wn_10 [data-part=separator]{border-top:1px solid color-mix(in srgb, var(--owo-cmp-surface-border) 82%, transparent);margin:.375rem .25rem}._content_e00wn_10 [data-part=item],._subTrigger_e00wn_61{border-radius:calc(var(--owo-cmp-control-radius-md) - .125rem);text-align:left;width:100%;color:inherit;cursor:default;transition:background-color var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard), color var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard);appearance:none;background:0 0;border:0;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}._content_e00wn_10 [data-part=item]:hover,._content_e00wn_10 [data-part=item][data-highlighted],._subTrigger_e00wn_61:hover,._subTrigger_e00wn_61[data-highlighted]{background:var(--owo-cmp-surface-bg-inset)}._content_e00wn_10 [data-part=item][data-selected]{background:color-mix(in srgb, var(--owo-cmp-accent-bg) 10%, var(--owo-cmp-surface-bg-raised))}._content_e00wn_10 [data-part=item][data-selected] ._itemMain_e00wn_90{color:var(--owo-cmp-text-primary);font-weight:600}._content_e00wn_10 [data-part=item][data-disabled],._subTrigger_e00wn_61[data-disabled]{opacity:.5;cursor:not-allowed}._content_e00wn_10 [data-part=item][data-destructive],._subTrigger_e00wn_61[data-destructive]{color:var(--owo-cmp-danger-text)}._itemInset_e00wn_106{padding-left:1rem}._itemMain_e00wn_90{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}._shortcut_e00wn_118,._indicator_e00wn_119,._submenuIndicator_e00wn_120{color:var(--owo-cmp-text-muted);flex:none;font-size:.75rem}._indicator_e00wn_119{text-align:center;min-width:1rem;color:var(--owo-cmp-accent-bg);font-weight:700}._subTrigger_e00wn_61[data-state=open]{background:var(--owo-cmp-surface-bg-inset)}@keyframes _owo-dropdown-menu-in_e00wn_1{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}._panel_7f715_1{--drawer-surface:var(--owo-cmp-surface-bg-raised);--drawer-border:var(--owo-cmp-surface-border);--drawer-shadow:var(--owo-cmp-surface-shadow-strong);z-index:calc(var(--owo-cmp-z-modal) + 1);will-change:transform;max-width:100%;transition:transform var(--owo-cmp-motion-duration-default) var(--owo-cmp-motion-ease-standard);background:var(--drawer-surface);border-color:var(--drawer-border);box-shadow:var(--drawer-shadow);flex-direction:column;display:flex;transform:translate(0)}._panel_7f715_1[data-position=fixed]{position:fixed}._panel_7f715_1[data-position=absolute]{position:absolute}._panel_7f715_1[data-side=left]{top:0;left:0}._panel_7f715_1[data-side=right]{top:0;right:0}._panel_7f715_1[data-state=open]{pointer-events:auto;visibility:visible;transform:translate(0)}._panel_7f715_1[data-state=closed]{pointer-events:none;visibility:hidden}._panel_7f715_1[data-state=closed][data-side=left]{transform:translate(-100%)}._panel_7f715_1[data-state=closed][data-side=right]{transform:translate(100%)}._backdrop_7f715_55{--drawer-backdrop:var(--owo-cmp-overlay-bg);z-index:var(--owo-cmp-z-modal);background:var(--drawer-backdrop);border:0;padding:0;inset:0}._backdrop_7f715_55[data-position=fixed]{position:fixed}._backdrop_7f715_55[data-position=absolute]{position:absolute}._root_38gc5_1{--field-label:var(--owo-cmp-text-secondary);--field-description:var(--owo-cmp-text-muted);--field-help:var(--owo-cmp-text-muted);--field-error:var(--owo-cmp-danger-text);--field-required:var(--owo-cmp-danger-text);display:block}._root_38gc5_1 ._label_38gc5_10{color:var(--field-label);margin-bottom:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1 ._required_38gc5_18{color:var(--field-required);margin-left:.125rem}._root_38gc5_1 ._description_38gc5_23{color:var(--field-description);margin-bottom:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1 ._error_38gc5_31{color:var(--field-error);margin-top:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1 ._help_38gc5_39{color:var(--field-help);margin-top:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1[data-invalid] ._label_38gc5_10{color:var(--field-error)}._root_38gc5_1[data-disabled]{opacity:.5;pointer-events:none}._root_1hqa8_1{--icon-button-bg:transparent;--icon-button-bg-hover:var(--owo-cmp-surface-bg-inset);--icon-button-bg-active:var(--owo-cmp-surface-bg-subtle);--icon-button-text:var(--owo-cmp-text-muted);--icon-button-ring:var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-md);background:var(--icon-button-bg);color:var(--icon-button-text);border:0;justify-content:center;align-items:center;transition-property:color,background-color;transition-duration:.15s;display:inline-flex}._root_1hqa8_1[data-size=xs]{height:var(--owo-cmp-control-height-xs);width:var(--owo-cmp-control-height-xs)}._root_1hqa8_1[data-size=sm]{height:var(--owo-cmp-control-height-sm);width:var(--owo-cmp-control-height-sm)}._root_1hqa8_1[data-size=md]{height:var(--owo-cmp-control-height-md);width:var(--owo-cmp-control-height-md)}._root_1hqa8_1[data-size=lg]{height:var(--owo-cmp-control-height-lg);width:var(--owo-cmp-control-height-lg)}._root_1hqa8_1[data-size=xl]{height:var(--owo-cmp-control-height-xl);width:var(--owo-cmp-control-height-xl)}._root_1hqa8_1:focus-visible{box-shadow:inset 0 0 0 2px var(--icon-button-ring);outline:none}._root_1hqa8_1:hover{background:var(--icon-button-bg-hover);color:var(--owo-cmp-text-primary)}._root_1hqa8_1:active{background:var(--icon-button-bg-active)}._root_1hqa8_1:disabled{cursor:not-allowed;opacity:.5}._root_1hqa8_1[data-variant=subtle]{--icon-button-bg:var(--owo-cmp-surface-bg-inset);--icon-button-bg-hover:var(--owo-cmp-surface-bg-subtle);--icon-button-bg-active:var(--owo-cmp-surface-bg-raised);--icon-button-text:var(--owo-cmp-text-primary)}._root_8zge1_1{--field-bg:var(--owo-cmp-surface-bg);--field-border:var(--owo-cmp-surface-border);--field-text:var(--owo-cmp-text-primary);--field-placeholder:var(--owo-cmp-text-muted);--field-ring:var(--owo-cmp-control-focus-ring);background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);width:100%;min-height:var(--owo-cmp-control-height-md);border-radius:var(--owo-cmp-control-radius-md);padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}._root_8zge1_1[data-size=xs]{min-height:var(--owo-cmp-control-height-xs);padding:.25rem .5rem;font-size:.6875rem;line-height:.875rem}._root_8zge1_1[data-size=sm]{min-height:var(--owo-cmp-control-height-sm);padding:.375rem .625rem;font-size:.75rem;line-height:1rem}._root_8zge1_1[data-size=lg]{min-height:var(--owo-cmp-control-height-lg);padding:.5625rem .875rem;font-size:.9375rem;line-height:1.375rem}._root_8zge1_1[data-size=xl]{min-height:var(--owo-cmp-control-height-xl);padding:.75rem 1rem;font-size:1rem;line-height:1.5rem}._root_8zge1_1::placeholder{color:var(--field-placeholder)}._root_8zge1_1:hover:not(:disabled){--field-border:var(--owo-cmp-surface-border-strong)}._root_8zge1_1:focus-visible{--field-border:var(--field-ring);box-shadow:none;outline:none}._root_8zge1_1[data-tone=warning]{--field-border:var(--owo-cmp-warning-border);--field-ring:var(--owo-cmp-warning-border)}._root_1226l_1{--panel-bg:var(--owo-cmp-surface-bg);--panel-border:var(--owo-cmp-surface-border);--panel-section-border:var(--owo-cmp-surface-border);--panel-shadow:none;border-radius:var(--owo-cmp-control-radius-lg);border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--panel-shadow)}._root_1226l_1[data-padding=sm]{padding:1rem}._root_1226l_1[data-padding=md]{padding:1.25rem}._root_1226l_1[data-padding=lg]{padding:1.5rem}._root_1226l_1 [data-part=header]{border-bottom:1px solid var(--panel-section-border);padding:1.25rem 1.5rem}._root_1226l_1 [data-part=body]{padding:1.25rem 1.5rem}._root_1226l_1 [data-part=footer]{border-top:1px solid var(--panel-section-border);padding:1rem 1.5rem}._root_1226l_1[data-variant=subtle]{--panel-bg:var(--owo-cmp-surface-bg-subtle)}._root_1226l_1[data-variant=raised]{--panel-bg:var(--owo-cmp-surface-bg-raised);--panel-shadow:var(--owo-cmp-surface-shadow)}._root_c2l0v_1{--segmented-bg:var(--owo-cmp-surface-bg-inset);--segmented-border:var(--owo-cmp-surface-border);--segmented-item-text:var(--owo-cmp-text-muted);--segmented-item-hover-text:var(--owo-cmp-text-secondary);--segmented-item-active-bg:var(--owo-cmp-surface-bg-raised);--segmented-item-active-text:var(--owo-cmp-text-primary);--segmented-ring:var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-md);background:var(--segmented-bg);box-shadow:0 0 0 1px var(--segmented-border);padding:.125rem;display:inline-flex}._root_c2l0v_1[data-size=xs]{font-size:.6875rem;line-height:.875rem}._root_c2l0v_1[data-size=sm]{font-size:.75rem;line-height:1rem}._root_c2l0v_1[data-size=md]{font-size:.875rem;line-height:1.25rem}._root_c2l0v_1[data-size=lg]{font-size:.9375rem;line-height:1.375rem}._root_c2l0v_1[data-size=xl]{font-size:1rem;line-height:1.5rem}._item_c2l0v_41{border-radius:var(--owo-cmp-control-radius-sm);color:var(--segmented-item-text);background:0 0;border:0;justify-content:center;align-items:center;font-weight:500;transition:color .15s,background-color .15s;display:inline-flex}._item_c2l0v_41:focus{outline:none}._item_c2l0v_41:focus-visible{box-shadow:inset 0 0 0 1px var(--segmented-ring)}._item_c2l0v_41:disabled{cursor:not-allowed;opacity:.5}._item_c2l0v_41:hover{color:var(--segmented-item-hover-text)}._item_c2l0v_41[data-active=true]{background:var(--segmented-item-active-bg);color:var(--segmented-item-active-text)}._root_c2l0v_1[data-size=xs]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-xs) - .25rem);padding:.125rem .5rem}._root_c2l0v_1[data-size=sm]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-sm) - .25rem);padding:.25rem .625rem}._root_c2l0v_1[data-size=md]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-md) - .25rem);padding:.375rem .75rem}._root_c2l0v_1[data-size=lg]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-lg) - .25rem);padding:.5rem .875rem}._root_c2l0v_1[data-size=xl]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-xl) - .25rem);padding:.625rem 1rem}._root_c2l0v_1[data-disabled]{opacity:.5;pointer-events:none}._root_c2l0v_1[data-invalid]{box-shadow:0 0 0 1px var(--owo-cmp-danger-border)}._root_1kzdq_1{display:inline-block;position:relative}._root_1kzdq_1 [data-part=trigger]{--select-bg:var(--owo-cmp-surface-bg);--select-border:var(--owo-cmp-surface-border);--select-text:var(--owo-cmp-text-primary);--select-ring:var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-md);text-align:left;appearance:none;background:var(--select-bg);border:.5px solid var(--select-border);width:100%;color:var(--select-text);justify-content:space-between;align-items:center;gap:.5rem;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:flex}._root_1kzdq_1 [data-part=trigger]:focus-visible{--select-border:var(--select-ring);box-shadow:none;outline:none}._root_1kzdq_1 [data-part=trigger][data-size=xs]{height:var(--owo-cmp-control-height-xs);min-height:var(--owo-cmp-control-height-xs);padding:0 .5rem;font-size:.6875rem;line-height:.875rem}._root_1kzdq_1 [data-part=trigger][data-size=sm]{height:var(--owo-cmp-control-height-sm);min-height:var(--owo-cmp-control-height-sm);padding:0 .5rem;font-size:.75rem;line-height:1rem}._root_1kzdq_1 [data-part=trigger][data-size=md]{height:var(--owo-cmp-control-height-md);min-height:var(--owo-cmp-control-height-md);padding:0 .75rem;font-size:.875rem;line-height:1.25rem}._root_1kzdq_1 [data-part=trigger][data-size=lg]{height:var(--owo-cmp-control-height-lg);min-height:var(--owo-cmp-control-height-lg);padding:0 .875rem;font-size:.9375rem;line-height:1.375rem}._root_1kzdq_1 [data-part=trigger][data-size=xl]{height:var(--owo-cmp-control-height-xl);min-height:var(--owo-cmp-control-height-xl);padding:0 1rem;font-size:1rem;line-height:1.5rem}._root_1kzdq_1 [data-part=trigger]:hover:not(:disabled),._root_1kzdq_1 [data-part=trigger][data-state=open]{--select-border:var(--owo-cmp-surface-border-strong)}._root_1kzdq_1 [data-part=trigger][data-tone=warning]{--select-border:var(--owo-cmp-warning-border);--select-ring:var(--owo-cmp-warning-border)}._root_1kzdq_1[data-invalid] [data-part=trigger]{--select-border:var(--owo-cmp-danger-border);--select-ring:var(--owo-cmp-danger-border)}._root_1kzdq_1 [data-part=trigger]:disabled{cursor:not-allowed;opacity:.5}._valueText_1kzdq_96{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._placeholder_1kzdq_102{color:var(--owo-cmp-text-muted)}._root_1kzdq_1 [data-part=chevron]{width:.875rem;height:.875rem;color:var(--owo-cmp-text-muted);flex-shrink:0;transition:transform .15s}._root_1kzdq_1 [data-part=chevron][data-state=open]{transform:rotate(180deg)}._root_1kzdq_1 [data-part=dropdown]{--select-dropdown-shadow:var(--owo-cmp-surface-shadow-strong);z-index:var(--owo-cmp-z-dropdown);border:1px solid var(--owo-cmp-surface-border);border-radius:var(--owo-cmp-control-radius-md);background:var(--owo-cmp-surface-bg-raised);width:100%;max-height:15rem;box-shadow:var(--select-dropdown-shadow);margin-top:.25rem;padding:.25rem 0;position:absolute;overflow:auto}._root_1kzdq_1 [data-part=dropdown][data-size=sm]{font-size:.75rem;line-height:1rem}._root_1kzdq_1 [data-part=dropdown][data-size=md]{font-size:.875rem;line-height:1.25rem}._root_1kzdq_1 [data-part=dropdown][data-size=xs]{font-size:.6875rem;line-height:.875rem}._root_1kzdq_1 [data-part=dropdown][data-size=lg]{font-size:.9375rem;line-height:1.375rem}._root_1kzdq_1 [data-part=dropdown][data-size=xl]{font-size:1rem;line-height:1.5rem}._root_1kzdq_1 [data-part=option]{cursor:default;-webkit-user-select:none;user-select:none;padding:.375rem .75rem;transition:background-color .15s}._root_1kzdq_1 [data-part=option][data-disabled]{cursor:not-allowed;opacity:.5}._root_1kzdq_1 [data-part=option][data-focused]{background:var(--owo-cmp-surface-bg-inset)}._root_1kzdq_1 [data-part=option][data-selected]{color:var(--owo-cmp-accent-bg);font-weight:500}._root_1sshx_1{border-radius:var(--owo-cmp-control-radius-sm);--_owo-skeleton-scan-duration:3.6s;--skeleton-bg:linear-gradient(180deg, color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 94%, white) 0%, color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 100%, var(--owo-cmp-surface-border)) 100%);--skeleton-bg-emphasis:linear-gradient(180deg, color-mix(in srgb, var(--owo-cmp-surface-bg-subtle) 78%, var(--owo-ref-color-highlight-soft)) 0%, color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 86%, var(--owo-cmp-surface-border)) 100%);--skeleton-sheen:linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 10%, transparent) 28%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 35%, transparent) 40%, var(--owo-ref-color-highlight-sheen) 50%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 35%, transparent) 60%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 10%, transparent) 72%, transparent 100%);--skeleton-top-highlight:var(--owo-ref-color-highlight-soft);background:var(--skeleton-bg);box-shadow:inset 0 1px 0 var(--skeleton-top-highlight);position:relative;overflow:hidden;transform:translateZ(0)}._root_1sshx_1[data-tone=emphasis]{background:var(--skeleton-bg-emphasis)}._root_1sshx_1:before{content:"";background:inherit;opacity:.84;position:absolute;inset:0}._root_1sshx_1:after{content:"";background:var(--skeleton-sheen);opacity:0;will-change:transform, opacity;position:absolute;inset:-35%;transform:translate(-140%)skew(-14deg)}._root_1sshx_1[data-animation=pulse]:after{display:none}._root_1sshx_1[data-animation=pulse]:before{animation:_owo-skeleton-breathe_1sshx_1 2.6s var(--owo-cmp-motion-ease-standard) infinite}._root_1sshx_1[data-animation=scan]:before{opacity:1;filter:none}._root_1sshx_1[data-animation=scan]:after{opacity:1;animation:_owo-skeleton-scan_1sshx_1 var(--_owo-skeleton-scan-duration) cubic-bezier(.3, 0, .2, 1) infinite}@keyframes _owo-skeleton-breathe_1sshx_1{0%,to{opacity:.8;filter:saturate(.96)brightness(.98)}50%{opacity:1;filter:saturate(1.04)brightness(1.04)}}@keyframes _owo-skeleton-scan_1sshx_1{0%{opacity:0;transform:translate(-140%)skew(-14deg)}18%{opacity:.82}52%{opacity:1;transform:translate(6%)skew(-14deg)}82%{opacity:.82}to{opacity:0;transform:translate(140%)skew(-14deg)}}@media (prefers-reduced-motion:reduce){._root_1sshx_1:before{opacity:.94;filter:none;animation:none}._root_1sshx_1:after{opacity:0;animation:none}}._root_h4455_1{--status-notice-bg:var(--owo-feedback-neutral-bg);--status-notice-border:var(--owo-feedback-neutral-border);--status-notice-text:var(--owo-feedback-neutral-text);--status-notice-icon:var(--owo-feedback-neutral-icon);border-radius:var(--owo-cmp-control-radius-md);background:var(--status-notice-bg);border-style:solid;border-width:1px;border-color:var(--status-notice-border);color:var(--status-notice-text);padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem}._withIcon_h4455_19{grid-template-columns:auto minmax(0,1fr);gap:.75rem;display:grid}._icon_h4455_25{color:var(--status-notice-icon)}._root_h4455_1:not([data-layout=vertical]) ._icon_h4455_25{flex-shrink:0;margin-top:.125rem}._text_h4455_36{min-width:0}._title_h4455_40{color:var(--owo-cmp-text-primary);font-weight:500}._root_h4455_1[data-layout=vertical]{border-radius:var(--owo-cmp-control-radius-lg)}._root_h4455_1[data-layout=vertical] ._body_h4455_50{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0;display:flex}._root_h4455_1[data-layout=vertical] ._icon_h4455_25{font-size:1.125rem;line-height:1.75rem}._root_h4455_1[data-layout=vertical] ._title_h4455_40{color:var(--status-notice-text)}._root_h4455_1[data-layout=vertical] ._action_h4455_68{margin-top:.5rem}._root_h4455_1[data-tone=info]{--status-notice-bg:var(--owo-feedback-info-bg);--status-notice-border:var(--owo-feedback-info-border);--status-notice-text:var(--owo-feedback-info-text);--status-notice-icon:var(--owo-feedback-info-icon)}._root_h4455_1[data-tone=success]{--status-notice-bg:var(--owo-feedback-success-bg);--status-notice-border:var(--owo-feedback-success-border);--status-notice-text:var(--owo-feedback-success-text);--status-notice-icon:var(--owo-feedback-success-icon)}._root_h4455_1[data-tone=warning]{--status-notice-bg:var(--owo-feedback-warning-bg);--status-notice-border:var(--owo-feedback-warning-border);--status-notice-text:var(--owo-feedback-warning-text);--status-notice-icon:var(--owo-feedback-warning-icon)}._root_h4455_1[data-tone=danger]{--status-notice-bg:var(--owo-feedback-danger-bg);--status-notice-border:var(--owo-feedback-danger-border);--status-notice-text:var(--owo-feedback-danger-text);--status-notice-icon:var(--owo-feedback-danger-icon)}._root_91dlh_1{--switch-track-width:calc(var(--owo-cmp-control-height-md) + .5rem);--switch-thumb-size:1.125rem;--switch-thumb-offset:.125rem;cursor:pointer;box-sizing:border-box;border-radius:var(--owo-cmp-control-radius-full);background:var(--owo-cmp-surface-border-strong);border:2px solid #0000;flex-shrink:0;align-items:center;padding:0;transition:background-color .15s,border-color .15s;display:inline-flex;position:relative}._root_91dlh_1:focus{outline:none}._root_91dlh_1:focus-visible{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring)}._root_91dlh_1:disabled{cursor:not-allowed;opacity:.5}._root_91dlh_1[data-size=xs]{height:calc(var(--owo-cmp-control-height-xs) - .75rem);width:calc(var(--owo-cmp-control-height-xs) + .25rem);--switch-track-width:calc(var(--owo-cmp-control-height-xs) + .25rem);--switch-thumb-size:.625rem}._root_91dlh_1[data-size=sm]{height:calc(var(--owo-cmp-control-height-sm) - .75rem);width:calc(var(--owo-cmp-control-height-sm) + .25rem);--switch-track-width:calc(var(--owo-cmp-control-height-sm) + .25rem);--switch-thumb-size:.875rem}._root_91dlh_1[data-size=md]{height:calc(var(--owo-cmp-control-height-md) - .75rem);width:calc(var(--owo-cmp-control-height-md) + .5rem);--switch-track-width:calc(var(--owo-cmp-control-height-md) + .5rem);--switch-thumb-size:1.125rem}._root_91dlh_1[data-size=lg]{height:calc(var(--owo-cmp-control-height-lg) - .75rem);width:calc(var(--owo-cmp-control-height-lg) + .5rem);--switch-track-width:calc(var(--owo-cmp-control-height-lg) + .5rem);--switch-thumb-size:1.375rem}._root_91dlh_1[data-size=xl]{height:calc(var(--owo-cmp-control-height-xl) - .75rem);width:calc(var(--owo-cmp-control-height-xl) + .5rem);--switch-track-width:calc(var(--owo-cmp-control-height-xl) + .5rem);--switch-thumb-size:1.875rem}._root_91dlh_1[aria-checked=true]{background:var(--owo-cmp-accent-bg)}._root_91dlh_1:hover:not(:disabled){background:color-mix(in srgb, var(--owo-cmp-surface-border-strong) 82%, var(--owo-cmp-text-muted))}._root_91dlh_1[aria-checked=true]:hover:not(:disabled){background:var(--owo-cmp-accent-bg-hover)}._root_91dlh_1 ._thumb_91dlh_81{pointer-events:none;border-radius:var(--owo-cmp-control-radius-full);transform:translateX(var(--switch-thumb-offset));background:#fff;transition:transform .15s;display:inline-block;box-shadow:0 1px 3px #00000026}._root_91dlh_1[data-size=xs]>._thumb_91dlh_81{width:.625rem;height:.625rem}._root_91dlh_1[data-size=sm]>._thumb_91dlh_81{width:.875rem;height:.875rem}._root_91dlh_1[data-size=md]>._thumb_91dlh_81{width:1.125rem;height:1.125rem}._root_91dlh_1[data-size=lg]>._thumb_91dlh_81{width:1.375rem;height:1.375rem}._root_91dlh_1[data-size=xl]>._thumb_91dlh_81{width:1.875rem;height:1.875rem}._root_91dlh_1[aria-checked=true]>._thumb_91dlh_81{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - var(--switch-thumb-offset)))}._root_91dlh_1[data-invalid]{box-shadow:0 0 0 1px var(--owo-cmp-danger-border)}._root_1dxq8_1 [data-part=list]{--tabs-border:var(--owo-cmp-surface-border);border-bottom-style:solid;border-bottom-width:1px;border-color:var(--tabs-border);align-items:flex-end;gap:.25rem;display:flex}._root_1dxq8_1 [data-part=trigger]{--tabs-text:var(--owo-cmp-text-muted);--tabs-hover-text:var(--owo-cmp-text-secondary);--tabs-active-text:var(--owo-cmp-text-primary);--tabs-active-border:var(--owo-cmp-accent-border);--tabs-active-bg:color-mix(in srgb, var(--owo-cmp-accent-bg-muted) 35%, transparent);--tabs-ring:var(--owo-cmp-control-focus-ring);min-height:var(--owo-cmp-control-height-md);border-top-left-radius:var(--owo-cmp-control-radius-md);border-top-right-radius:var(--owo-cmp-control-radius-md);appearance:none;color:var(--tabs-text);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;margin-bottom:-1px;padding:.5rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition:color .15s;display:inline-flex;position:relative}._root_1dxq8_1 [data-part=trigger]:focus{outline:none}._root_1dxq8_1 [data-part=trigger]:focus-visible{box-shadow:inset 0 0 0 2px var(--tabs-ring)}._root_1dxq8_1 [data-part=trigger]:disabled{cursor:not-allowed;opacity:.5}._root_1dxq8_1 [data-part=trigger]:hover{color:var(--tabs-hover-text)}._root_1dxq8_1 [data-part=trigger][data-state=active]{background:var(--tabs-active-bg);border-bottom-color:var(--tabs-active-border);color:var(--tabs-active-text)}._root_1dxq8_1 [data-part=content]{color:var(--owo-cmp-text-primary);padding-top:1rem}._root_17j1y_1{min-height:calc(4.5em + 1rem);line-height:1.5}._root_17j1y_1[data-auto-resize=true]{overflow-y:hidden}._container_73rls_1{pointer-events:none;z-index:var(--owo-cmp-z-toast);flex-direction:column-reverse;gap:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}._toast_73rls_12{--toast-bg:var(--owo-feedback-neutral-bg);--toast-border:var(--owo-feedback-neutral-border);--toast-text:var(--owo-feedback-neutral-text);--toast-icon:var(--owo-feedback-neutral-icon);--toast-shadow:var(--owo-cmp-surface-shadow-strong);pointer-events:auto;border-radius:var(--owo-cmp-control-radius-lg);border:1px solid var(--toast-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--toast-shadow);animation:_toast-in_73rls_1 .25s var(--owo-cmp-motion-ease-standard);font-size:.875rem;line-height:1.25rem}._toastDefault_73rls_32{align-items:flex-start;gap:.5rem;padding:.75rem 1rem;display:flex}._toast_73rls_12 [data-part=icon]{color:var(--toast-icon);flex-shrink:0;margin-top:.125rem}._toast_73rls_12 [data-part=content]{flex:1;min-width:0}._toast_73rls_12 [data-part=title]{color:inherit;font-weight:500;display:block}._toast_73rls_12 [data-part=message]{display:block}._toast_73rls_12 [data-part=close]{border-radius:var(--owo-cmp-control-radius-sm);color:currentColor;opacity:.5;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin-top:-.125rem;margin-right:-.25rem;padding:.125rem;transition:opacity .15s}._toast_73rls_12 [data-part=close]:hover{opacity:1}._toast_73rls_12[data-tone=success]{--toast-bg:var(--owo-feedback-success-bg);--toast-border:var(--owo-feedback-success-border);--toast-text:var(--owo-feedback-success-text);--toast-icon:var(--owo-feedback-success-icon)}._toast_73rls_12[data-tone=warning]{--toast-bg:var(--owo-feedback-warning-bg);--toast-border:var(--owo-feedback-warning-border);--toast-text:var(--owo-feedback-warning-text);--toast-icon:var(--owo-feedback-warning-icon)}._toast_73rls_12[data-tone=danger]{--toast-bg:var(--owo-feedback-danger-bg);--toast-border:var(--owo-feedback-danger-border);--toast-text:var(--owo-feedback-danger-text);--toast-icon:var(--owo-feedback-danger-icon)}._toast_73rls_12[data-tone=info]{--toast-bg:var(--owo-feedback-info-bg);--toast-border:var(--owo-feedback-info-border);--toast-text:var(--owo-feedback-info-text);--toast-icon:var(--owo-feedback-info-icon)}@keyframes _toast-in_73rls_1{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}._trigger_xunrw_1{display:inline-flex}._content_xunrw_5{--tooltip-bg:var(--owo-cmp-surface-bg-raised);--tooltip-border:var(--owo-cmp-surface-border);--tooltip-text:var(--owo-cmp-text-primary);--tooltip-shadow:var(--owo-cmp-surface-shadow-strong);--tooltip-arrow-color:var(--tooltip-bg);z-index:var(--owo-cmp-z-toast);border-radius:var(--owo-cmp-control-radius-lg);background:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid var(--tooltip-border);box-shadow:var(--tooltip-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:_tooltip-in_xunrw_1 .15s var(--owo-cmp-motion-ease-standard);line-height:1.625;position:fixed}._content_xunrw_5[data-density=compact]{max-width:200px;padding:.25rem .5rem;font-size:11px}._content_xunrw_5[data-density=default]{max-width:20rem;padding:.5rem .75rem;font-size:.75rem;line-height:1rem}._content_xunrw_5 [data-part=arrow]{color:var(--tooltip-arrow-color);filter:drop-shadow(0 1px 0 var(--tooltip-border));position:absolute}@keyframes _tooltip-in_xunrw_1{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
2
+ ._root_crrwl_1{--avatar-bg:var(--owo-cmp-surface-bg-inset);--avatar-text:var(--owo-cmp-text-secondary);--avatar-border:transparent;border-radius:var(--owo-cmp-control-radius-full);-webkit-user-select:none;user-select:none;background:var(--avatar-bg);color:var(--avatar-text);border:1px solid var(--avatar-border);flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:inline-flex;overflow:hidden}._root_crrwl_1[data-size=xs]{width:1.5rem;height:1.5rem;font-size:10px}._root_crrwl_1[data-size=sm]{width:2rem;height:2rem;font-size:.75rem;line-height:1rem}._root_crrwl_1[data-size=md]{width:2.5rem;height:2.5rem;font-size:.875rem;line-height:1.25rem}._root_crrwl_1[data-size=lg]{width:3.5rem;height:3.5rem;font-size:1.125rem;line-height:1.75rem}._root_crrwl_1>img{object-fit:cover;width:100%;height:100%}._root_crrwl_1[data-tone=subtle]{--avatar-bg:var(--owo-cmp-surface-bg-subtle);--avatar-text:var(--owo-cmp-text-muted)}._root_6bx55_1{--badge-bg:var(--owo-cmp-surface-bg-inset);--badge-text:var(--owo-cmp-text-secondary);--badge-border:transparent;border-radius:var(--owo-cmp-control-radius-full);border:1px solid var(--badge-border);color:var(--badge-text);background:var(--badge-bg);align-items:center;display:inline-flex}._root_6bx55_1[data-size=xs]{padding:.25rem .625rem;font-size:11px}._root_6bx55_1[data-size=sm]{padding:.25rem .75rem;font-size:.75rem;font-weight:500;line-height:1rem}._root_6bx55_1[data-variant=outline]{--badge-bg:transparent;--badge-border:var(--owo-cmp-surface-border)}._root_6bx55_1[data-tone=info]{--badge-bg:var(--owo-cmp-info-bg);--badge-text:var(--owo-cmp-info-text);--badge-border:var(--owo-cmp-info-border)}._root_6bx55_1[data-tone=info][data-variant=outline]{--badge-bg:transparent}._root_6bx55_1[data-tone=success]{--badge-bg:var(--owo-cmp-success-bg);--badge-text:var(--owo-cmp-success-text);--badge-border:var(--owo-cmp-success-border)}._root_6bx55_1[data-tone=success][data-variant=outline]{--badge-bg:transparent}._root_6bx55_1[data-tone=warning]{--badge-bg:var(--owo-cmp-warning-bg);--badge-text:var(--owo-cmp-warning-text);--badge-border:var(--owo-cmp-warning-border)}._root_6bx55_1[data-tone=warning][data-variant=outline]{--badge-bg:transparent}._root_6bx55_1[data-tone=danger]{--badge-bg:var(--owo-cmp-danger-bg);--badge-text:var(--owo-cmp-danger-text);--badge-border:var(--owo-cmp-danger-border)}._root_6bx55_1[data-tone=danger][data-variant=outline]{--badge-bg:transparent}._root_1oxco_1{display:inline-flex}._root_1oxco_1[data-animate=spin]{animation:1s linear infinite _owo-spin_1oxco_1}@keyframes _owo-spin_1oxco_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){._root_1oxco_1[data-animate=spin]{animation:none}}._root_yhdgl_1{--button-bg:var(--owo-cmp-surface-bg);--button-bg-hover:var(--owo-cmp-surface-bg-inset);--button-bg-active:var(--owo-cmp-surface-bg-subtle);--button-text:var(--owo-cmp-text-primary);--button-border:var(--owo-cmp-surface-border);--button-ring:var(--owo-cmp-control-focus-ring);--button-disabled-opacity:.5;border-radius:var(--owo-cmp-control-radius-md);border:1px solid var(--button-border);appearance:none;background:var(--button-bg);color:var(--button-text);justify-content:center;align-items:center;gap:.5rem;padding:0;font-weight:500;transition-property:color,background-color,border-color;transition-duration:.15s;display:inline-flex}._root_yhdgl_1[data-size=xs]{min-height:var(--owo-cmp-control-height-xs);padding-inline:.625rem;font-size:.6875rem;line-height:.875rem}._root_yhdgl_1[data-size=sm]{min-height:var(--owo-cmp-control-height-sm);padding-inline:.75rem;font-size:.75rem;line-height:1rem}._root_yhdgl_1[data-size=md]{min-height:var(--owo-cmp-control-height-md);padding-inline:1rem;font-size:.875rem;line-height:1.25rem}._root_yhdgl_1[data-size=lg]{min-height:var(--owo-cmp-control-height-lg);padding-inline:1.125rem;font-size:.9375rem;line-height:1.375rem}._root_yhdgl_1[data-size=xl]{min-height:var(--owo-cmp-control-height-xl);padding-inline:1.25rem;font-size:1rem;line-height:1.5rem}._root_yhdgl_1:focus-visible{box-shadow:inset 0 0 0 2px var(--button-ring);outline:none}._root_yhdgl_1:hover{background:var(--button-bg-hover)}._root_yhdgl_1:active{background:var(--button-bg-active)}._root_yhdgl_1:disabled{cursor:not-allowed;opacity:var(--button-disabled-opacity)}._root_yhdgl_1[data-loading=true]{pointer-events:none;cursor:wait}._icon_yhdgl_83{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}._icon_yhdgl_83 svg{display:block}._label_yhdgl_95{align-items:center;display:inline-flex}._root_yhdgl_1[data-variant=primary]{--button-bg:var(--owo-cmp-accent-bg);--button-bg-hover:var(--owo-cmp-accent-bg-hover);--button-bg-active:color-mix(in srgb, var(--owo-cmp-accent-bg-hover) 88%, black);--button-text:var(--owo-cmp-accent-text);--button-border:transparent}._root_yhdgl_1[data-variant=ghost]{--button-bg:transparent;--button-bg-hover:var(--owo-cmp-surface-bg-inset);--button-bg-active:var(--owo-cmp-surface-bg-subtle);--button-text:var(--owo-cmp-text-secondary);--button-border:transparent}._root_yhdgl_1[data-variant=danger]{--button-bg:var(--owo-cmp-danger-bg);--button-bg-hover:color-mix(in srgb, var(--owo-cmp-danger-bg) 92%, var(--owo-cmp-danger-border));--button-bg-active:color-mix(in srgb, var(--owo-cmp-danger-bg) 84%, var(--owo-cmp-danger-border));--button-text:var(--owo-cmp-danger-text);--button-border:var(--owo-cmp-danger-border);--button-ring:var(--owo-cmp-danger-border)}._root_ypadq_1{cursor:pointer;color:var(--owo-cmp-text-primary);align-items:center;gap:.625rem;display:inline-flex;position:relative}._root_ypadq_1[data-disabled]{cursor:not-allowed;opacity:.5}._input_ypadq_15{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:0;padding:0;position:absolute;overflow:hidden}._control_ypadq_28{--checkbox-size:1rem;inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border-radius:var(--owo-cmp-control-radius-sm);border:1px solid var(--owo-cmp-surface-border);background:var(--owo-cmp-surface-bg);color:#fff;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}._input_ypadq_15:focus-visible+._control_ypadq_28{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring);outline:none}._root_ypadq_1:hover:not([data-disabled]) ._control_ypadq_28{border-color:var(--owo-cmp-surface-border-strong)}._root_ypadq_1[data-invalid] ._control_ypadq_28{border-color:var(--owo-cmp-danger-border)}._control_ypadq_28[data-state=checked],._control_ypadq_28[data-state=indeterminate]{background:var(--owo-cmp-accent-bg);border-color:var(--owo-cmp-accent-bg)}._root_ypadq_1:hover:not([data-disabled]) ._control_ypadq_28[data-state=checked],._root_ypadq_1:hover:not([data-disabled]) ._control_ypadq_28[data-state=indeterminate]{background:var(--owo-cmp-accent-bg-hover);border-color:var(--owo-cmp-accent-bg-hover)}._control_ypadq_28[data-size=xs]{--checkbox-size:.75rem}._control_ypadq_28[data-size=sm]{--checkbox-size:.875rem}._control_ypadq_28[data-size=md]{--checkbox-size:1rem}._control_ypadq_28[data-size=lg]{--checkbox-size:1.125rem}._control_ypadq_28[data-size=xl]{--checkbox-size:1.375rem}._icon_ypadq_91{width:calc(var(--checkbox-size) * .8);height:calc(var(--checkbox-size) * .8);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:1;transition:opacity .15s;display:block}._control_ypadq_28[data-state=unchecked]>._icon_ypadq_91{opacity:0}._label_ypadq_108{color:var(--owo-cmp-text-secondary);font-size:.875rem;line-height:1.25rem}:where(._root_bx150_1 [data-part=trigger]){appearance:none;background:var(--collapsible-trigger-bg,transparent);color:inherit;font:inherit;cursor:pointer;border:0;padding:0;transition:background-color .18s,color .18s}:where(._root_bx150_1 [data-part=trigger]:hover){background:var(--collapsible-trigger-bg-hover,var(--collapsible-trigger-bg,transparent))}:where(._root_bx150_1 [data-part=trigger][data-state=open]){background:var(--collapsible-trigger-bg-open,var(--collapsible-trigger-bg-hover,var(--collapsible-trigger-bg,transparent)))}:where(._root_bx150_1 [data-part=content]){background:var(--collapsible-content-bg,transparent);height:auto;transition:height .18s;overflow:hidden}._triggerInner_bx150_27{align-items:center;gap:var(--collapsible-trigger-gap,.75rem);width:100%;display:flex}._triggerIcon_bx150_34,._triggerIndicator_bx150_35{color:inherit;flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}._triggerLabel_bx150_44{min-width:0;text-align:inherit;flex:auto}._contentInner_bx150_50{min-height:0}._overlay_1p0ee_1{z-index:var(--owo-cmp-z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._overlay_1p0ee_1 [data-part=backdrop]{background:var(--owo-cmp-overlay-bg);animation:_dialog-backdrop-in_1p0ee_1 .2s var(--owo-cmp-motion-ease-standard);border:0;padding:0;position:absolute;inset:0}._panel_1p0ee_19{z-index:10;border-radius:var(--owo-cmp-control-radius-xl);background:var(--owo-cmp-surface-bg-raised);border:1px solid var(--owo-cmp-surface-border);width:100%;color:var(--owo-cmp-text-primary);animation:_dialog-in_1p0ee_1 .2s var(--owo-cmp-motion-ease-standard);position:relative;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}._panel_1p0ee_19[data-size=sm]{max-width:26rem}._panel_1p0ee_19[data-size=md]{max-width:32rem}._overlay_1p0ee_1 [data-part=header]{color:var(--owo-cmp-text-primary);padding:1.25rem 1.25rem .25rem;font-size:1rem;font-weight:600;line-height:1.5}._overlay_1p0ee_1 [data-part=body]{color:var(--owo-cmp-text-secondary);padding:.75rem 1.25rem;font-size:.875rem;line-height:1.25rem}._overlay_1p0ee_1 [data-part=footer]{justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.25rem 1.25rem;display:flex}._confirmDescription_1p0ee_64{white-space:pre-wrap}@keyframes _dialog-in_1p0ee_1{0%{opacity:0;transform:scale(.95)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes _dialog-backdrop-in_1p0ee_1{0%{opacity:0}to{opacity:1}}._trigger_e00wn_1{appearance:none;color:inherit;font:inherit;background:0 0;border:0;padding:0}._content_e00wn_10{border:1px solid var(--owo-cmp-surface-border);border-radius:var(--owo-cmp-control-radius-lg);background:var(--owo-cmp-surface-bg-raised);min-width:12rem;box-shadow:var(--_owo-dropdown-menu-shadow,var(--owo-cmp-surface-shadow-strong));color:var(--owo-cmp-text-primary);z-index:var(--owo-cmp-z-dropdown);animation:_owo-dropdown-menu-in_e00wn_1 var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard);outline:none;padding:.375rem;overflow-y:auto}._content_e00wn_10[data-side=top]{transform-origin:bottom}._content_e00wn_10[data-side=bottom]{transform-origin:top}._content_e00wn_10[data-side=left]{transform-origin:100%}._content_e00wn_10[data-side=right]{transform-origin:0}._content_e00wn_10 [data-part=group]+[data-part=group]{border-top:1px solid color-mix(in srgb, var(--owo-cmp-surface-border) 80%, transparent);margin-top:.375rem;padding-top:.375rem}._content_e00wn_10 [data-part=label]{letter-spacing:.12em;text-transform:uppercase;color:var(--owo-cmp-text-muted);padding:.35rem .625rem .25rem;font-size:.675rem;font-weight:700}._content_e00wn_10 [data-part=separator]{border-top:1px solid color-mix(in srgb, var(--owo-cmp-surface-border) 82%, transparent);margin:.375rem .25rem}._content_e00wn_10 [data-part=item],._subTrigger_e00wn_61{border-radius:calc(var(--owo-cmp-control-radius-md) - .125rem);text-align:left;width:100%;color:inherit;cursor:default;transition:background-color var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard), color var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard);appearance:none;background:0 0;border:0;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}._content_e00wn_10 [data-part=item]:hover,._content_e00wn_10 [data-part=item][data-highlighted],._subTrigger_e00wn_61:hover,._subTrigger_e00wn_61[data-highlighted]{background:var(--owo-cmp-surface-bg-inset)}._content_e00wn_10 [data-part=item][data-selected]{background:color-mix(in srgb, var(--owo-cmp-accent-bg) 10%, var(--owo-cmp-surface-bg-raised))}._content_e00wn_10 [data-part=item][data-selected] ._itemMain_e00wn_90{color:var(--owo-cmp-text-primary);font-weight:600}._content_e00wn_10 [data-part=item][data-disabled],._subTrigger_e00wn_61[data-disabled]{opacity:.5;cursor:not-allowed}._content_e00wn_10 [data-part=item][data-destructive],._subTrigger_e00wn_61[data-destructive]{color:var(--owo-cmp-danger-text)}._itemInset_e00wn_106{padding-left:1rem}._itemMain_e00wn_90{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}._shortcut_e00wn_118,._indicator_e00wn_119,._submenuIndicator_e00wn_120{color:var(--owo-cmp-text-muted);flex:none;font-size:.75rem}._indicator_e00wn_119{text-align:center;min-width:1rem;color:var(--owo-cmp-accent-bg);font-weight:700}._subTrigger_e00wn_61[data-state=open]{background:var(--owo-cmp-surface-bg-inset)}@keyframes _owo-dropdown-menu-in_e00wn_1{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}._panel_7f715_1{--drawer-surface:var(--owo-cmp-surface-bg-raised);--drawer-border:var(--owo-cmp-surface-border);--drawer-shadow:var(--owo-cmp-surface-shadow-strong);z-index:calc(var(--owo-cmp-z-modal) + 1);will-change:transform;max-width:100%;transition:transform var(--owo-cmp-motion-duration-default) var(--owo-cmp-motion-ease-standard);background:var(--drawer-surface);border-color:var(--drawer-border);box-shadow:var(--drawer-shadow);flex-direction:column;display:flex;transform:translate(0)}._panel_7f715_1[data-position=fixed]{position:fixed}._panel_7f715_1[data-position=absolute]{position:absolute}._panel_7f715_1[data-side=left]{top:0;left:0}._panel_7f715_1[data-side=right]{top:0;right:0}._panel_7f715_1[data-state=open]{pointer-events:auto;visibility:visible;transform:translate(0)}._panel_7f715_1[data-state=closed]{pointer-events:none;visibility:hidden}._panel_7f715_1[data-state=closed][data-side=left]{transform:translate(-100%)}._panel_7f715_1[data-state=closed][data-side=right]{transform:translate(100%)}._backdrop_7f715_55{--drawer-backdrop:var(--owo-cmp-overlay-bg);z-index:var(--owo-cmp-z-modal);background:var(--drawer-backdrop);border:0;padding:0;inset:0}._backdrop_7f715_55[data-position=fixed]{position:fixed}._backdrop_7f715_55[data-position=absolute]{position:absolute}._root_38gc5_1{--field-label:var(--owo-cmp-text-secondary);--field-description:var(--owo-cmp-text-muted);--field-help:var(--owo-cmp-text-muted);--field-error:var(--owo-cmp-danger-text);--field-required:var(--owo-cmp-danger-text);display:block}._root_38gc5_1 ._label_38gc5_10{color:var(--field-label);margin-bottom:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1 ._required_38gc5_18{color:var(--field-required);margin-left:.125rem}._root_38gc5_1 ._description_38gc5_23{color:var(--field-description);margin-bottom:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1 ._error_38gc5_31{color:var(--field-error);margin-top:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1 ._help_38gc5_39{color:var(--field-help);margin-top:.25rem;font-size:.75rem;line-height:1rem;display:block}._root_38gc5_1[data-invalid] ._label_38gc5_10{color:var(--field-error)}._root_38gc5_1[data-disabled]{opacity:.5;pointer-events:none}._root_1hqa8_1{--icon-button-bg:transparent;--icon-button-bg-hover:var(--owo-cmp-surface-bg-inset);--icon-button-bg-active:var(--owo-cmp-surface-bg-subtle);--icon-button-text:var(--owo-cmp-text-muted);--icon-button-ring:var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-md);background:var(--icon-button-bg);color:var(--icon-button-text);border:0;justify-content:center;align-items:center;transition-property:color,background-color;transition-duration:.15s;display:inline-flex}._root_1hqa8_1[data-size=xs]{height:var(--owo-cmp-control-height-xs);width:var(--owo-cmp-control-height-xs)}._root_1hqa8_1[data-size=sm]{height:var(--owo-cmp-control-height-sm);width:var(--owo-cmp-control-height-sm)}._root_1hqa8_1[data-size=md]{height:var(--owo-cmp-control-height-md);width:var(--owo-cmp-control-height-md)}._root_1hqa8_1[data-size=lg]{height:var(--owo-cmp-control-height-lg);width:var(--owo-cmp-control-height-lg)}._root_1hqa8_1[data-size=xl]{height:var(--owo-cmp-control-height-xl);width:var(--owo-cmp-control-height-xl)}._root_1hqa8_1:focus-visible{box-shadow:inset 0 0 0 2px var(--icon-button-ring);outline:none}._root_1hqa8_1:hover{background:var(--icon-button-bg-hover);color:var(--owo-cmp-text-primary)}._root_1hqa8_1:active{background:var(--icon-button-bg-active)}._root_1hqa8_1:disabled{cursor:not-allowed;opacity:.5}._root_1hqa8_1[data-variant=subtle]{--icon-button-bg:var(--owo-cmp-surface-bg-inset);--icon-button-bg-hover:var(--owo-cmp-surface-bg-subtle);--icon-button-bg-active:var(--owo-cmp-surface-bg-raised);--icon-button-text:var(--owo-cmp-text-primary)}._root_8zge1_1{--field-bg:var(--owo-cmp-surface-bg);--field-border:var(--owo-cmp-surface-border);--field-text:var(--owo-cmp-text-primary);--field-placeholder:var(--owo-cmp-text-muted);--field-ring:var(--owo-cmp-control-focus-ring);background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);width:100%;min-height:var(--owo-cmp-control-height-md);border-radius:var(--owo-cmp-control-radius-md);padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}._root_8zge1_1[data-size=xs]{min-height:var(--owo-cmp-control-height-xs);padding:.25rem .5rem;font-size:.6875rem;line-height:.875rem}._root_8zge1_1[data-size=sm]{min-height:var(--owo-cmp-control-height-sm);padding:.375rem .625rem;font-size:.75rem;line-height:1rem}._root_8zge1_1[data-size=lg]{min-height:var(--owo-cmp-control-height-lg);padding:.5625rem .875rem;font-size:.9375rem;line-height:1.375rem}._root_8zge1_1[data-size=xl]{min-height:var(--owo-cmp-control-height-xl);padding:.75rem 1rem;font-size:1rem;line-height:1.5rem}._root_8zge1_1::placeholder{color:var(--field-placeholder)}._root_8zge1_1:hover:not(:disabled){--field-border:var(--owo-cmp-surface-border-strong)}._root_8zge1_1:focus-visible{--field-border:var(--field-ring);box-shadow:none;outline:none}._root_8zge1_1[data-tone=warning]{--field-border:var(--owo-cmp-warning-border);--field-ring:var(--owo-cmp-warning-border)}._trigger_xunrw_1{display:inline-flex}._content_xunrw_5{--tooltip-bg:var(--owo-cmp-surface-bg-raised);--tooltip-border:var(--owo-cmp-surface-border);--tooltip-text:var(--owo-cmp-text-primary);--tooltip-shadow:var(--owo-cmp-surface-shadow-strong);--tooltip-arrow-color:var(--tooltip-bg);z-index:var(--owo-cmp-z-toast);border-radius:var(--owo-cmp-control-radius-lg);background:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid var(--tooltip-border);box-shadow:var(--tooltip-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:_tooltip-in_xunrw_1 .15s var(--owo-cmp-motion-ease-standard);line-height:1.625;position:fixed}._content_xunrw_5[data-density=compact]{max-width:200px;padding:.25rem .5rem;font-size:11px}._content_xunrw_5[data-density=default]{max-width:20rem;padding:.5rem .75rem;font-size:.75rem;line-height:1rem}._content_xunrw_5 [data-part=arrow]{color:var(--tooltip-arrow-color);filter:drop-shadow(0 1px 0 var(--tooltip-border));position:absolute}@keyframes _tooltip-in_xunrw_1{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}._root_56wh4_1{border:1px solid var(--owo-cmp-surface-border);background:var(--owo-cmp-surface-bg);border-radius:1rem;flex-direction:column;gap:.5rem;min-block-size:22rem;inline-size:4.5rem;padding:.625rem;display:flex}._root_56wh4_1[data-orientation=horizontal]{flex-direction:row;align-items:center;min-block-size:auto;inline-size:auto;min-inline-size:22rem}._section_56wh4_21{flex-direction:column;gap:.5rem;display:flex}._root_56wh4_1[data-orientation=horizontal] ._section_56wh4_21{flex-direction:row}._buttonReset_56wh4_31,._linkReset_56wh4_32{appearance:none;color:inherit;background:0 0;border:0;padding:0;text-decoration:none;display:inline-flex}._item_56wh4_42{block-size:3.25rem;inline-size:3.25rem;color:var(--owo-cmp-text-muted);border:1px solid #0000;border-radius:.875rem;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}._buttonReset_56wh4_31:hover ._item_56wh4_42,._linkReset_56wh4_32:hover ._item_56wh4_42{background:var(--owo-cmp-surface-bg-inset);color:var(--owo-cmp-text-primary)}._item_56wh4_42[data-active]{background:color-mix(in srgb, var(--owo-cmp-accent-bg) 14%, var(--owo-cmp-surface-bg));border-color:color-mix(in srgb, var(--owo-cmp-accent-bg) 38%, var(--owo-cmp-surface-border));color:var(--owo-cmp-accent-bg)}._item_56wh4_42[data-disabled]{opacity:.5}._buttonReset_56wh4_31:focus-visible,._linkReset_56wh4_32:focus-visible{outline:none}._buttonReset_56wh4_31:focus-visible ._item_56wh4_42,._linkReset_56wh4_32:focus-visible ._item_56wh4_42{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring)}._icon_56wh4_82{justify-content:center;align-items:center;display:inline-flex}._spacer_56wh4_88{flex:auto}._root_1226l_1{--panel-bg:var(--owo-cmp-surface-bg);--panel-border:var(--owo-cmp-surface-border);--panel-section-border:var(--owo-cmp-surface-border);--panel-shadow:none;border-radius:var(--owo-cmp-control-radius-lg);border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--panel-shadow)}._root_1226l_1[data-padding=sm]{padding:1rem}._root_1226l_1[data-padding=md]{padding:1.25rem}._root_1226l_1[data-padding=lg]{padding:1.5rem}._root_1226l_1 [data-part=header]{border-bottom:1px solid var(--panel-section-border);padding:1.25rem 1.5rem}._root_1226l_1 [data-part=body]{padding:1.25rem 1.5rem}._root_1226l_1 [data-part=footer]{border-top:1px solid var(--panel-section-border);padding:1rem 1.5rem}._root_1226l_1[data-variant=subtle]{--panel-bg:var(--owo-cmp-surface-bg-subtle)}._root_1226l_1[data-variant=raised]{--panel-bg:var(--owo-cmp-surface-bg-raised);--panel-shadow:var(--owo-cmp-surface-shadow)}._trigger_93qj8_1{appearance:none;color:inherit;background:0 0;border:0;padding:0;display:inline-flex}._content_93qj8_10{z-index:var(--owo-cmp-z-dropdown);border:1px solid var(--owo-cmp-surface-border);border-radius:var(--owo-cmp-control-radius-lg);background:var(--owo-cmp-surface-bg-raised);min-width:12rem;max-width:min(24rem,100vw - 1rem);box-shadow:var(--owo-cmp-surface-shadow-strong);color:var(--owo-cmp-text-primary);position:fixed}._arrow_93qj8_22{background:inherit;border-left:1px solid var(--owo-cmp-surface-border);border-top:1px solid var(--owo-cmp-surface-border);block-size:.75rem;inline-size:.75rem;transform:rotate(45deg)}._content_93qj8_10[data-placement=bottom] ._arrow_93qj8_22{transform:rotate(225deg)}._content_93qj8_10[data-placement=left] ._arrow_93qj8_22{transform:rotate(135deg)}._content_93qj8_10[data-placement=right] ._arrow_93qj8_22{transform:rotate(-45deg)}._group_bhiyd_1{flex-direction:column;gap:.75rem;display:flex}._group_bhiyd_1[data-orientation=horizontal]{flex-flow:wrap;align-items:center}._root_bhiyd_13{cursor:pointer;color:var(--owo-cmp-text-primary);align-items:center;gap:.625rem;display:inline-flex;position:relative}._root_bhiyd_13[data-disabled]{cursor:not-allowed;opacity:.5}._input_bhiyd_27{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:0;padding:0;position:absolute;overflow:hidden}._control_bhiyd_40{--radio-size:1rem;inline-size:var(--radio-size);block-size:var(--radio-size);border:1px solid var(--owo-cmp-surface-border);background:var(--owo-cmp-surface-bg);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}._indicator_bhiyd_55{inline-size:calc(var(--radio-size) * .5);block-size:calc(var(--radio-size) * .5);background:var(--owo-cmp-accent-bg);border-radius:999px;transition:transform .15s;transform:scale(0)}._input_bhiyd_27:checked+._control_bhiyd_40{border-color:var(--owo-cmp-accent-bg)}._input_bhiyd_27:checked+._control_bhiyd_40 ._indicator_bhiyd_55{transform:scale(1)}._input_bhiyd_27:focus-visible+._control_bhiyd_40{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring);outline:none}._root_bhiyd_13:hover:not([data-disabled]) ._control_bhiyd_40{border-color:var(--owo-cmp-surface-border-strong)}._root_bhiyd_13[data-invalid] ._control_bhiyd_40{border-color:var(--owo-cmp-danger-border)}._control_bhiyd_40[data-size=xs]{--radio-size:.75rem}._control_bhiyd_40[data-size=sm]{--radio-size:.875rem}._control_bhiyd_40[data-size=md]{--radio-size:1rem}._control_bhiyd_40[data-size=lg]{--radio-size:1.125rem}._control_bhiyd_40[data-size=xl]{--radio-size:1.375rem}._label_bhiyd_107{color:var(--owo-cmp-text-secondary);font-size:.875rem;line-height:1.25rem}._root_c2l0v_1{--segmented-bg:var(--owo-cmp-surface-bg-inset);--segmented-border:var(--owo-cmp-surface-border);--segmented-item-text:var(--owo-cmp-text-muted);--segmented-item-hover-text:var(--owo-cmp-text-secondary);--segmented-item-active-bg:var(--owo-cmp-surface-bg-raised);--segmented-item-active-text:var(--owo-cmp-text-primary);--segmented-ring:var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-md);background:var(--segmented-bg);box-shadow:0 0 0 1px var(--segmented-border);padding:.125rem;display:inline-flex}._root_c2l0v_1[data-size=xs]{font-size:.6875rem;line-height:.875rem}._root_c2l0v_1[data-size=sm]{font-size:.75rem;line-height:1rem}._root_c2l0v_1[data-size=md]{font-size:.875rem;line-height:1.25rem}._root_c2l0v_1[data-size=lg]{font-size:.9375rem;line-height:1.375rem}._root_c2l0v_1[data-size=xl]{font-size:1rem;line-height:1.5rem}._item_c2l0v_41{border-radius:var(--owo-cmp-control-radius-sm);color:var(--segmented-item-text);background:0 0;border:0;justify-content:center;align-items:center;font-weight:500;transition:color .15s,background-color .15s;display:inline-flex}._item_c2l0v_41:focus{outline:none}._item_c2l0v_41:focus-visible{box-shadow:inset 0 0 0 1px var(--segmented-ring)}._item_c2l0v_41:disabled{cursor:not-allowed;opacity:.5}._item_c2l0v_41:hover{color:var(--segmented-item-hover-text)}._item_c2l0v_41[data-active=true]{background:var(--segmented-item-active-bg);color:var(--segmented-item-active-text)}._root_c2l0v_1[data-size=xs]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-xs) - .25rem);padding:.125rem .5rem}._root_c2l0v_1[data-size=sm]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-sm) - .25rem);padding:.25rem .625rem}._root_c2l0v_1[data-size=md]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-md) - .25rem);padding:.375rem .75rem}._root_c2l0v_1[data-size=lg]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-lg) - .25rem);padding:.5rem .875rem}._root_c2l0v_1[data-size=xl]>._item_c2l0v_41{min-height:calc(var(--owo-cmp-control-height-xl) - .25rem);padding:.625rem 1rem}._root_c2l0v_1[data-disabled]{opacity:.5;pointer-events:none}._root_c2l0v_1[data-invalid]{box-shadow:0 0 0 1px var(--owo-cmp-danger-border)}._root_11cvf_1{display:inline-block;position:relative}._nativeControl_11cvf_6{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:0;padding:0;position:absolute;overflow:hidden}._root_11cvf_1 [data-part=trigger]{--select-bg:var(--owo-cmp-surface-bg);--select-border:var(--owo-cmp-surface-border);--select-text:var(--owo-cmp-text-primary);--select-ring:var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-md);text-align:left;appearance:none;background:var(--select-bg);border:.5px solid var(--select-border);width:100%;color:var(--select-text);justify-content:space-between;align-items:center;gap:.5rem;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:flex}._root_11cvf_1 [data-part=trigger]:focus-visible{--select-border:var(--select-ring);box-shadow:none;outline:none}._root_11cvf_1 [data-part=trigger][data-size=xs]{height:var(--owo-cmp-control-height-xs);min-height:var(--owo-cmp-control-height-xs);padding:0 .5rem;font-size:.6875rem;line-height:.875rem}._root_11cvf_1 [data-part=trigger][data-size=sm]{height:var(--owo-cmp-control-height-sm);min-height:var(--owo-cmp-control-height-sm);padding:0 .5rem;font-size:.75rem;line-height:1rem}._root_11cvf_1 [data-part=trigger][data-size=md]{height:var(--owo-cmp-control-height-md);min-height:var(--owo-cmp-control-height-md);padding:0 .75rem;font-size:.875rem;line-height:1.25rem}._root_11cvf_1 [data-part=trigger][data-size=lg]{height:var(--owo-cmp-control-height-lg);min-height:var(--owo-cmp-control-height-lg);padding:0 .875rem;font-size:.9375rem;line-height:1.375rem}._root_11cvf_1 [data-part=trigger][data-size=xl]{height:var(--owo-cmp-control-height-xl);min-height:var(--owo-cmp-control-height-xl);padding:0 1rem;font-size:1rem;line-height:1.5rem}._root_11cvf_1 [data-part=trigger]:hover:not(:disabled),._root_11cvf_1 [data-part=trigger][data-state=open]{--select-border:var(--owo-cmp-surface-border-strong)}._root_11cvf_1 [data-part=trigger][data-tone=warning]{--select-border:var(--owo-cmp-warning-border);--select-ring:var(--owo-cmp-warning-border)}._root_11cvf_1[data-invalid] [data-part=trigger]{--select-border:var(--owo-cmp-danger-border);--select-ring:var(--owo-cmp-danger-border)}._root_11cvf_1 [data-part=trigger]:disabled{cursor:not-allowed;opacity:.5}._valueText_11cvf_109{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._placeholder_11cvf_115{color:var(--owo-cmp-text-muted)}._root_11cvf_1 [data-part=chevron]{width:.875rem;height:.875rem;color:var(--owo-cmp-text-muted);flex-shrink:0;transition:transform .15s}._root_11cvf_1 [data-part=chevron][data-state=open]{transform:rotate(180deg)}._root_11cvf_1 [data-part=dropdown]{--select-dropdown-shadow:var(--owo-cmp-surface-shadow-strong);z-index:var(--owo-cmp-z-dropdown);border:1px solid var(--owo-cmp-surface-border);border-radius:var(--owo-cmp-control-radius-md);background:var(--owo-cmp-surface-bg-raised);width:100%;max-height:15rem;box-shadow:var(--select-dropdown-shadow);margin-top:.25rem;padding:.25rem 0;position:absolute;overflow:auto}._root_11cvf_1 [data-part=dropdown][data-size=sm]{font-size:.75rem;line-height:1rem}._root_11cvf_1 [data-part=dropdown][data-size=md]{font-size:.875rem;line-height:1.25rem}._root_11cvf_1 [data-part=dropdown][data-size=xs]{font-size:.6875rem;line-height:.875rem}._root_11cvf_1 [data-part=dropdown][data-size=lg]{font-size:.9375rem;line-height:1.375rem}._root_11cvf_1 [data-part=dropdown][data-size=xl]{font-size:1rem;line-height:1.5rem}._root_11cvf_1 [data-part=option]{cursor:default;-webkit-user-select:none;user-select:none;padding:.375rem .75rem;transition:background-color .15s}._root_11cvf_1 [data-part=option][data-disabled]{cursor:not-allowed;opacity:.5}._root_11cvf_1 [data-part=option][data-focused]{background:var(--owo-cmp-surface-bg-inset)}._root_11cvf_1 [data-part=option][data-selected]{color:var(--owo-cmp-accent-bg);font-weight:500}._root_1sshx_1{border-radius:var(--owo-cmp-control-radius-sm);--_owo-skeleton-scan-duration:3.6s;--skeleton-bg:linear-gradient(180deg, color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 94%, white) 0%, color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 100%, var(--owo-cmp-surface-border)) 100%);--skeleton-bg-emphasis:linear-gradient(180deg, color-mix(in srgb, var(--owo-cmp-surface-bg-subtle) 78%, var(--owo-ref-color-highlight-soft)) 0%, color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 86%, var(--owo-cmp-surface-border)) 100%);--skeleton-sheen:linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 10%, transparent) 28%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 35%, transparent) 40%, var(--owo-ref-color-highlight-sheen) 50%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 35%, transparent) 60%, color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 10%, transparent) 72%, transparent 100%);--skeleton-top-highlight:var(--owo-ref-color-highlight-soft);background:var(--skeleton-bg);box-shadow:inset 0 1px 0 var(--skeleton-top-highlight);position:relative;overflow:hidden;transform:translateZ(0)}._root_1sshx_1[data-tone=emphasis]{background:var(--skeleton-bg-emphasis)}._root_1sshx_1:before{content:"";background:inherit;opacity:.84;position:absolute;inset:0}._root_1sshx_1:after{content:"";background:var(--skeleton-sheen);opacity:0;will-change:transform, opacity;position:absolute;inset:-35%;transform:translate(-140%)skew(-14deg)}._root_1sshx_1[data-animation=pulse]:after{display:none}._root_1sshx_1[data-animation=pulse]:before{animation:_owo-skeleton-breathe_1sshx_1 2.6s var(--owo-cmp-motion-ease-standard) infinite}._root_1sshx_1[data-animation=scan]:before{opacity:1;filter:none}._root_1sshx_1[data-animation=scan]:after{opacity:1;animation:_owo-skeleton-scan_1sshx_1 var(--_owo-skeleton-scan-duration) cubic-bezier(.3, 0, .2, 1) infinite}@keyframes _owo-skeleton-breathe_1sshx_1{0%,to{opacity:.8;filter:saturate(.96)brightness(.98)}50%{opacity:1;filter:saturate(1.04)brightness(1.04)}}@keyframes _owo-skeleton-scan_1sshx_1{0%{opacity:0;transform:translate(-140%)skew(-14deg)}18%{opacity:.82}52%{opacity:1;transform:translate(6%)skew(-14deg)}82%{opacity:.82}to{opacity:0;transform:translate(140%)skew(-14deg)}}@media (prefers-reduced-motion:reduce){._root_1sshx_1:before{opacity:.94;filter:none;animation:none}._root_1sshx_1:after{opacity:0;animation:none}}._root_h4455_1{--status-notice-bg:var(--owo-feedback-neutral-bg);--status-notice-border:var(--owo-feedback-neutral-border);--status-notice-text:var(--owo-feedback-neutral-text);--status-notice-icon:var(--owo-feedback-neutral-icon);border-radius:var(--owo-cmp-control-radius-md);background:var(--status-notice-bg);border-style:solid;border-width:1px;border-color:var(--status-notice-border);color:var(--status-notice-text);padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem}._withIcon_h4455_19{grid-template-columns:auto minmax(0,1fr);gap:.75rem;display:grid}._icon_h4455_25{color:var(--status-notice-icon)}._root_h4455_1:not([data-layout=vertical]) ._icon_h4455_25{flex-shrink:0;margin-top:.125rem}._text_h4455_36{min-width:0}._title_h4455_40{color:var(--owo-cmp-text-primary);font-weight:500}._root_h4455_1[data-layout=vertical]{border-radius:var(--owo-cmp-control-radius-lg)}._root_h4455_1[data-layout=vertical] ._body_h4455_50{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0;display:flex}._root_h4455_1[data-layout=vertical] ._icon_h4455_25{font-size:1.125rem;line-height:1.75rem}._root_h4455_1[data-layout=vertical] ._title_h4455_40{color:var(--status-notice-text)}._root_h4455_1[data-layout=vertical] ._action_h4455_68{margin-top:.5rem}._root_h4455_1[data-tone=info]{--status-notice-bg:var(--owo-feedback-info-bg);--status-notice-border:var(--owo-feedback-info-border);--status-notice-text:var(--owo-feedback-info-text);--status-notice-icon:var(--owo-feedback-info-icon)}._root_h4455_1[data-tone=success]{--status-notice-bg:var(--owo-feedback-success-bg);--status-notice-border:var(--owo-feedback-success-border);--status-notice-text:var(--owo-feedback-success-text);--status-notice-icon:var(--owo-feedback-success-icon)}._root_h4455_1[data-tone=warning]{--status-notice-bg:var(--owo-feedback-warning-bg);--status-notice-border:var(--owo-feedback-warning-border);--status-notice-text:var(--owo-feedback-warning-text);--status-notice-icon:var(--owo-feedback-warning-icon)}._root_h4455_1[data-tone=danger]{--status-notice-bg:var(--owo-feedback-danger-bg);--status-notice-border:var(--owo-feedback-danger-border);--status-notice-text:var(--owo-feedback-danger-text);--status-notice-icon:var(--owo-feedback-danger-icon)}._root_91dlh_1{--switch-track-width:calc(var(--owo-cmp-control-height-md) + .5rem);--switch-thumb-size:1.125rem;--switch-thumb-offset:.125rem;cursor:pointer;box-sizing:border-box;border-radius:var(--owo-cmp-control-radius-full);background:var(--owo-cmp-surface-border-strong);border:2px solid #0000;flex-shrink:0;align-items:center;padding:0;transition:background-color .15s,border-color .15s;display:inline-flex;position:relative}._root_91dlh_1:focus{outline:none}._root_91dlh_1:focus-visible{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring)}._root_91dlh_1:disabled{cursor:not-allowed;opacity:.5}._root_91dlh_1[data-size=xs]{height:calc(var(--owo-cmp-control-height-xs) - .75rem);width:calc(var(--owo-cmp-control-height-xs) + .25rem);--switch-track-width:calc(var(--owo-cmp-control-height-xs) + .25rem);--switch-thumb-size:.625rem}._root_91dlh_1[data-size=sm]{height:calc(var(--owo-cmp-control-height-sm) - .75rem);width:calc(var(--owo-cmp-control-height-sm) + .25rem);--switch-track-width:calc(var(--owo-cmp-control-height-sm) + .25rem);--switch-thumb-size:.875rem}._root_91dlh_1[data-size=md]{height:calc(var(--owo-cmp-control-height-md) - .75rem);width:calc(var(--owo-cmp-control-height-md) + .5rem);--switch-track-width:calc(var(--owo-cmp-control-height-md) + .5rem);--switch-thumb-size:1.125rem}._root_91dlh_1[data-size=lg]{height:calc(var(--owo-cmp-control-height-lg) - .75rem);width:calc(var(--owo-cmp-control-height-lg) + .5rem);--switch-track-width:calc(var(--owo-cmp-control-height-lg) + .5rem);--switch-thumb-size:1.375rem}._root_91dlh_1[data-size=xl]{height:calc(var(--owo-cmp-control-height-xl) - .75rem);width:calc(var(--owo-cmp-control-height-xl) + .5rem);--switch-track-width:calc(var(--owo-cmp-control-height-xl) + .5rem);--switch-thumb-size:1.875rem}._root_91dlh_1[aria-checked=true]{background:var(--owo-cmp-accent-bg)}._root_91dlh_1:hover:not(:disabled){background:color-mix(in srgb, var(--owo-cmp-surface-border-strong) 82%, var(--owo-cmp-text-muted))}._root_91dlh_1[aria-checked=true]:hover:not(:disabled){background:var(--owo-cmp-accent-bg-hover)}._root_91dlh_1 ._thumb_91dlh_81{pointer-events:none;border-radius:var(--owo-cmp-control-radius-full);transform:translateX(var(--switch-thumb-offset));background:#fff;transition:transform .15s;display:inline-block;box-shadow:0 1px 3px #00000026}._root_91dlh_1[data-size=xs]>._thumb_91dlh_81{width:.625rem;height:.625rem}._root_91dlh_1[data-size=sm]>._thumb_91dlh_81{width:.875rem;height:.875rem}._root_91dlh_1[data-size=md]>._thumb_91dlh_81{width:1.125rem;height:1.125rem}._root_91dlh_1[data-size=lg]>._thumb_91dlh_81{width:1.375rem;height:1.375rem}._root_91dlh_1[data-size=xl]>._thumb_91dlh_81{width:1.875rem;height:1.875rem}._root_91dlh_1[aria-checked=true]>._thumb_91dlh_81{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - var(--switch-thumb-offset)))}._root_91dlh_1[data-invalid]{box-shadow:0 0 0 1px var(--owo-cmp-danger-border)}._root_8sfay_1{border:1px solid var(--owo-cmp-surface-border);background:var(--owo-cmp-surface-bg);border-radius:.875rem;inline-size:100%;overflow:auto hidden}._table_8sfay_10{min-inline-size:100%}._header_8sfay_14{background:color-mix(in srgb, var(--owo-cmp-surface-bg) 88%, var(--owo-cmp-surface-bg-inset));padding-inline-end:var(--table-scrollbar-width,0px)}._headerSticky_8sfay_19{z-index:2;position:sticky;top:0}._body_8sfay_25{scrollbar-gutter:stable;overflow:hidden auto}._row_8sfay_31{grid-template-columns:var(--table-template-columns);min-block-size:var(--table-row-height);border-top:1px solid var(--owo-cmp-surface-border);display:grid}._row_8sfay_31:nth-child(2n){background:color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 32%, transparent)}._row_8sfay_31[data-selected]{background:color-mix(in srgb, var(--owo-cmp-accent-bg) 10%, var(--owo-cmp-surface-bg))}._stateRow_8sfay_46{background:0 0}._cell_8sfay_50{min-width:0;color:var(--owo-cmp-text-secondary);align-items:center;padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;display:flex}._cell_8sfay_50[data-align=center]{text-align:center;justify-content:center}._cell_8sfay_50[data-align=end]{text-align:right;justify-content:flex-end}._headerCell_8sfay_70{color:var(--owo-cmp-text-primary);font-weight:600;position:relative}._headerLabel_8sfay_76{overflow-wrap:anywhere;min-width:0}._headerSortButton_8sfay_81{appearance:none;width:100%;min-width:0;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .75rem 0 0;display:inline-flex}._headerSortButton_8sfay_81:focus-visible{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring);border-radius:var(--owo-cmp-control-radius-sm);outline:none}._selectionCell_8sfay_105{justify-content:center}._selectionCell_8sfay_105 input{margin:0}._sortIndicator_8sfay_113{color:var(--owo-cmp-text-muted)}._resizeHandle_8sfay_117{cursor:col-resize;background:0 0;border:0;border-radius:999px;width:.75rem;position:absolute;top:.25rem;bottom:.25rem;right:0}._resizeHandle_8sfay_117:before{content:"";background:color-mix(in srgb, var(--owo-cmp-text-muted) 45%, transparent);border-radius:999px;width:2px;position:absolute;top:.375rem;bottom:.375rem;left:50%;transform:translate(-50%)}._resizeHandle_8sfay_117:hover:before,._resizeHandle_8sfay_117:focus-visible:before{background:var(--owo-cmp-accent-bg)}._resizeHandle_8sfay_117:focus-visible{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring);outline:none}._loadingState_8sfay_153{padding:1rem}._stateCell_8sfay_157{grid-column:1/-1}._skeletonStack_8sfay_161{flex-direction:column;display:flex}._skeletonCell_8sfay_166{border-radius:var(--owo-cmp-control-radius-full);background:color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 82%, var(--owo-cmp-surface-border));width:100%;min-width:3rem;height:.875rem;display:inline-flex}._empty_8sfay_175{color:var(--owo-cmp-text-muted);padding:1.25rem;font-size:.875rem;line-height:1.5}._root_cqty6_1{flex-direction:column;gap:.25rem;display:flex}._item_cqty6_7{display:block}._button_cqty6_11{appearance:none;text-align:left;width:100%;color:var(--owo-cmp-text-primary);cursor:pointer;background:0 0;border:0;border-radius:.625rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;transition:background-color .15s,color .15s;display:flex}._button_cqty6_11:hover:not(:disabled){background:var(--owo-cmp-surface-bg-inset)}._button_cqty6_11:focus-visible{box-shadow:0 0 0 2px var(--owo-cmp-surface-bg), 0 0 0 4px var(--owo-cmp-control-focus-ring);outline:none}._item_cqty6_7[data-selected] ._button_cqty6_11{background:color-mix(in srgb, var(--owo-cmp-accent-bg) 14%, var(--owo-cmp-surface-bg));color:var(--owo-cmp-text-primary)}._item_cqty6_7[data-match] ._button_cqty6_11 mark{background:color-mix(in srgb, var(--owo-cmp-warning-bg) 70%, transparent);color:inherit}._button_cqty6_11:disabled{cursor:not-allowed}._labelText_cqty6_55{min-width:0}._chevron_cqty6_59{color:var(--owo-cmp-text-muted);flex:none}._root_158qs_1 [data-part=list]{--tabs-border:var(--owo-cmp-surface-border);border-bottom-style:solid;border-bottom-width:1px;border-color:var(--tabs-border);align-items:flex-end;gap:.25rem;display:flex}._root_158qs_1[data-orientation=vertical] [data-part=list]{border-bottom:0;border-right-style:solid;border-right-width:1px;flex-direction:column;align-items:stretch}._root_158qs_1 [data-part=trigger]{--tabs-text:var(--owo-cmp-text-muted);--tabs-hover-text:var(--owo-cmp-text-secondary);--tabs-active-text:var(--owo-cmp-text-primary);--tabs-active-border:var(--owo-cmp-accent-border);--tabs-active-bg:color-mix(in srgb, var(--owo-cmp-accent-bg-muted) 35%, transparent);--tabs-ring:var(--owo-cmp-control-focus-ring);min-height:var(--owo-cmp-control-height-md);border-top-left-radius:var(--owo-cmp-control-radius-md);border-top-right-radius:var(--owo-cmp-control-radius-md);appearance:none;color:var(--tabs-text);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;margin-bottom:-1px;padding:.5rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition:color .15s;display:inline-flex;position:relative}._root_158qs_1[data-orientation=vertical] [data-part=trigger]{border-bottom:0;border-right:2px solid #0000;border-top-right-radius:0;justify-content:flex-start;margin-bottom:0;margin-right:-1px}._root_158qs_1 [data-part=trigger]:focus{outline:none}._root_158qs_1 [data-part=trigger]:focus-visible{box-shadow:inset 0 0 0 2px var(--tabs-ring)}._root_158qs_1 [data-part=trigger]:disabled{cursor:not-allowed;opacity:.5}._root_158qs_1 [data-part=trigger]:hover{color:var(--tabs-hover-text)}._root_158qs_1 [data-part=trigger][data-state=active]{background:var(--tabs-active-bg);border-bottom-color:var(--tabs-active-border);color:var(--tabs-active-text)}._root_158qs_1[data-orientation=vertical] [data-part=trigger][data-state=active]{border-bottom-color:#0000;border-right-color:var(--tabs-active-border)}._root_158qs_1 [data-part=content]{color:var(--owo-cmp-text-primary);padding-top:1rem}._root_158qs_1[data-orientation=vertical] [data-part=content]{padding-top:0;padding-left:1rem}._root_17j1y_1{min-height:calc(4.5em + 1rem);line-height:1.5}._root_17j1y_1[data-auto-resize=true]{overflow-y:hidden}._container_73rls_1{pointer-events:none;z-index:var(--owo-cmp-z-toast);flex-direction:column-reverse;gap:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}._toast_73rls_12{--toast-bg:var(--owo-feedback-neutral-bg);--toast-border:var(--owo-feedback-neutral-border);--toast-text:var(--owo-feedback-neutral-text);--toast-icon:var(--owo-feedback-neutral-icon);--toast-shadow:var(--owo-cmp-surface-shadow-strong);pointer-events:auto;border-radius:var(--owo-cmp-control-radius-lg);border:1px solid var(--toast-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--toast-shadow);animation:_toast-in_73rls_1 .25s var(--owo-cmp-motion-ease-standard);font-size:.875rem;line-height:1.25rem}._toastDefault_73rls_32{align-items:flex-start;gap:.5rem;padding:.75rem 1rem;display:flex}._toast_73rls_12 [data-part=icon]{color:var(--toast-icon);flex-shrink:0;margin-top:.125rem}._toast_73rls_12 [data-part=content]{flex:1;min-width:0}._toast_73rls_12 [data-part=title]{color:inherit;font-weight:500;display:block}._toast_73rls_12 [data-part=message]{display:block}._toast_73rls_12 [data-part=close]{border-radius:var(--owo-cmp-control-radius-sm);color:currentColor;opacity:.5;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin-top:-.125rem;margin-right:-.25rem;padding:.125rem;transition:opacity .15s}._toast_73rls_12 [data-part=close]:hover{opacity:1}._toast_73rls_12[data-tone=success]{--toast-bg:var(--owo-feedback-success-bg);--toast-border:var(--owo-feedback-success-border);--toast-text:var(--owo-feedback-success-text);--toast-icon:var(--owo-feedback-success-icon)}._toast_73rls_12[data-tone=warning]{--toast-bg:var(--owo-feedback-warning-bg);--toast-border:var(--owo-feedback-warning-border);--toast-text:var(--owo-feedback-warning-text);--toast-icon:var(--owo-feedback-warning-icon)}._toast_73rls_12[data-tone=danger]{--toast-bg:var(--owo-feedback-danger-bg);--toast-border:var(--owo-feedback-danger-border);--toast-text:var(--owo-feedback-danger-text);--toast-icon:var(--owo-feedback-danger-icon)}._toast_73rls_12[data-tone=info]{--toast-bg:var(--owo-feedback-info-bg);--toast-border:var(--owo-feedback-info-border);--toast-text:var(--owo-feedback-info-text);--toast-icon:var(--owo-feedback-info-icon)}@keyframes _toast-in_73rls_1{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}
3
3
  /*$vite$:1*/
4
4
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, AnchorHTMLAttributes, ReactElement, ElementType, InputHTMLAttributes, TextareaHTMLAttributes } from 'react';
2
+ import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, AnchorHTMLAttributes, ReactElement, ElementType, InputHTMLAttributes, RefObject, TextareaHTMLAttributes } from 'react';
3
3
 
4
4
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
5
5
  type AvatarTone = 'neutral' | 'subtle';
@@ -269,6 +269,41 @@ type InputBaseProps = {
269
269
  type InputProps = InputBaseProps & Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>;
270
270
  declare function Input({ className, tone, size, invalid, ...rest }: InputProps): react_jsx_runtime.JSX.Element;
271
271
 
272
+ type NavRailPart = 'section' | 'item' | 'icon' | 'spacer';
273
+ interface NavRailProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
274
+ activeKey?: string;
275
+ onChange?: (key: string) => void;
276
+ children: ReactNode;
277
+ classNames?: Partial<Record<NavRailPart, string>>;
278
+ orientation?: 'vertical' | 'horizontal';
279
+ }
280
+ declare function NavRailRoot({ activeKey, onChange, classNames, orientation, className, children, ...props }: NavRailProps): react_jsx_runtime.JSX.Element;
281
+ type CommonItemProps = {
282
+ value: string;
283
+ icon: ReactNode;
284
+ label: string;
285
+ disabled?: boolean;
286
+ className?: string;
287
+ };
288
+ interface NavRailSectionProps extends HTMLAttributes<HTMLDivElement> {
289
+ label?: string;
290
+ children: ReactNode;
291
+ }
292
+ interface NavRailButtonItemProps extends CommonItemProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'value'> {
293
+ href?: never;
294
+ }
295
+ interface NavRailLinkItemProps extends CommonItemProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'href'> {
296
+ href: string;
297
+ }
298
+ declare function NavRailItem(props: NavRailButtonItemProps | NavRailLinkItemProps): react_jsx_runtime.JSX.Element;
299
+ declare function NavRailSpacer(): react_jsx_runtime.JSX.Element;
300
+ declare function NavRailSection({ label, className, children, ...props }: NavRailSectionProps): react_jsx_runtime.JSX.Element;
301
+ declare const NavRail: typeof NavRailRoot & {
302
+ Item: typeof NavRailItem;
303
+ Section: typeof NavRailSection;
304
+ Spacer: typeof NavRailSpacer;
305
+ };
306
+
272
307
  type PanelVariant = 'default' | 'subtle' | 'raised';
273
308
  type PanelPadding = 'none' | 'sm' | 'md' | 'lg';
274
309
  interface PanelProps extends HTMLAttributes<HTMLElement> {
@@ -285,6 +320,54 @@ declare function PanelHeader({ className, children, ...props }: PanelSectionProp
285
320
  declare function PanelBody({ className, children, ...props }: PanelSectionProps): react_jsx_runtime.JSX.Element;
286
321
  declare function PanelFooter({ className, children, ...props }: PanelSectionProps): react_jsx_runtime.JSX.Element;
287
322
 
323
+ type PopoverTriggerMode = 'click' | 'hover';
324
+ type PopoverPlacement = 'top' | 'bottom' | 'left' | 'right' | 'auto';
325
+ type PopoverSide = 'top' | 'bottom' | 'left' | 'right';
326
+ type PopoverAlign = 'start' | 'center' | 'end';
327
+ type PopoverPart = 'trigger' | 'content' | 'arrow';
328
+ interface PopoverProps {
329
+ open?: boolean;
330
+ defaultOpen?: boolean;
331
+ onOpenChange?: (open: boolean) => void;
332
+ trigger?: PopoverTriggerMode;
333
+ classNames?: Partial<Record<PopoverPart, string>>;
334
+ children: ReactNode;
335
+ }
336
+ declare function PopoverRoot({ open, defaultOpen, onOpenChange, trigger, classNames, children, }: PopoverProps): react_jsx_runtime.JSX.Element;
337
+ interface PopoverTriggerProps {
338
+ asChild?: boolean;
339
+ disabled?: boolean;
340
+ className?: string;
341
+ children: ReactElement;
342
+ }
343
+ declare function PopoverTrigger({ asChild, disabled, className, children, }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
344
+ interface PopoverContentProps extends HTMLAttributes<HTMLDivElement> {
345
+ placement?: PopoverPlacement;
346
+ side?: PopoverSide;
347
+ align?: PopoverAlign;
348
+ sideOffset?: number;
349
+ alignOffset?: number;
350
+ collisionPadding?: number;
351
+ portal?: boolean;
352
+ arrow?: boolean;
353
+ matchTriggerWidth?: boolean;
354
+ closeOnInteractOutside?: boolean;
355
+ closeOnEscape?: boolean;
356
+ closeOnPointerDownOutside?: boolean;
357
+ restoreFocus?: boolean;
358
+ initialFocusRef?: RefObject<HTMLElement | null>;
359
+ onInteractOutside?: (target: Node) => void;
360
+ onEscapeKeyDown?: () => void;
361
+ onPointerDownOutside?: (target: Node) => void;
362
+ classNames?: Partial<Record<PopoverPart, string>>;
363
+ }
364
+ declare function PopoverContent({ placement, side, align, sideOffset, alignOffset, collisionPadding, portal, arrow, matchTriggerWidth, closeOnInteractOutside, closeOnEscape, closeOnPointerDownOutside, restoreFocus, initialFocusRef, onInteractOutside, onEscapeKeyDown, onPointerDownOutside, className, classNames, children, onMouseEnter, onMouseLeave, onFocus, onBlur, ...props }: PopoverContentProps): react_jsx_runtime.JSX.Element | null;
365
+ declare const Popover: typeof PopoverRoot & {
366
+ Root: typeof PopoverRoot;
367
+ Trigger: typeof PopoverTrigger;
368
+ Content: typeof PopoverContent;
369
+ };
370
+
288
371
  /**
289
372
  * Shared option model for single-select controls (Select, SegmentedControl,
290
373
  * and future RadioGroup). Using a common type prevents divergent option
@@ -299,6 +382,36 @@ type ChoiceOption<T extends string> = {
299
382
  textValue?: string;
300
383
  };
301
384
 
385
+ type RadioSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
386
+ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'onChange'> {
387
+ checked?: boolean;
388
+ defaultChecked?: boolean;
389
+ onCheckedChange?: (checked: boolean) => void;
390
+ size?: RadioSize;
391
+ invalid?: boolean;
392
+ ariaLabel?: string;
393
+ children?: ReactNode;
394
+ }
395
+ declare function Radio({ checked: checkedProp, defaultChecked, onCheckedChange, size, invalid, disabled, required, id, name, value, className, ariaLabel, children, onKeyDown, 'aria-describedby': ariaDescribedBy, ...rest }: RadioProps): react_jsx_runtime.JSX.Element;
396
+ interface RadioGroupProps<T extends string> {
397
+ value?: T;
398
+ defaultValue?: T;
399
+ onValueChange?: (value: T) => void;
400
+ options?: Array<ChoiceOption<T>>;
401
+ size?: RadioSize;
402
+ orientation?: 'vertical' | 'horizontal';
403
+ disabled?: boolean;
404
+ required?: boolean;
405
+ invalid?: boolean;
406
+ id?: string;
407
+ name?: string;
408
+ className?: string;
409
+ ariaLabel?: string;
410
+ children?: ReactNode;
411
+ 'aria-describedby'?: string;
412
+ }
413
+ declare function RadioGroup<T extends string>({ value: valueProp, defaultValue, onValueChange, options, size, orientation, disabled: disabledProp, required, invalid, id, name, className, ariaLabel, children, 'aria-describedby': ariaDescribedBy, }: RadioGroupProps<T>): react_jsx_runtime.JSX.Element;
414
+
302
415
  interface SegmentedControlProps<T extends string> {
303
416
  value?: T;
304
417
  defaultValue?: T;
@@ -329,9 +442,12 @@ interface SelectRenderOptionArgs<T extends string> {
329
442
  }
330
443
  type SelectPart = 'trigger' | 'chevron' | 'dropdown' | 'option';
331
444
  interface SelectProps<T extends string> {
332
- value?: T | '';
333
- defaultValue?: T | '';
334
- onValueChange?: (value: T) => void;
445
+ value?: T | null;
446
+ defaultValue?: T | null;
447
+ onValueChange?: (value: T | undefined) => void;
448
+ open?: boolean;
449
+ defaultOpen?: boolean;
450
+ onOpenChange?: (open: boolean) => void;
335
451
  options: Array<ChoiceOption<T>>;
336
452
  placeholder?: string;
337
453
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
@@ -348,7 +464,7 @@ interface SelectProps<T extends string> {
348
464
  renderOption?: (args: SelectRenderOptionArgs<T>) => ReactNode;
349
465
  classNames?: Partial<Record<SelectPart, string>>;
350
466
  }
351
- declare function Select<T extends string>({ value: valueProp, defaultValue, onValueChange, options, placeholder, size, tone, disabled: disabledProp, required, invalid, id, name, className, ariaLabel, 'aria-describedby': ariaDescribedBy, renderValue, renderOption, classNames, }: SelectProps<T>): react_jsx_runtime.JSX.Element;
467
+ declare function Select<T extends string>({ value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, options, placeholder, size, tone, disabled: disabledProp, required, invalid, id, name, className, ariaLabel, 'aria-describedby': ariaDescribedBy, renderValue, renderOption, classNames, }: SelectProps<T>): react_jsx_runtime.JSX.Element;
352
468
 
353
469
  type SkeletonAnimation = 'pulse' | 'scan';
354
470
  type SkeletonTone = 'default' | 'emphasis' | 'warm';
@@ -402,13 +518,136 @@ interface SwitchProps {
402
518
  }
403
519
  declare function Switch({ checked: checkedProp, defaultChecked, onCheckedChange, size, disabled, required, invalid, id, name, className, ariaLabel, 'aria-describedby': ariaDescribedBy, }: SwitchProps): react_jsx_runtime.JSX.Element;
404
520
 
521
+ type TableSortDirection = 'asc' | 'desc';
522
+ type TableSortCycle = 'binary' | 'ternary';
523
+ type TablePart = 'headerCell' | 'headerSortButton' | 'headerLabel' | 'resizeHandle' | 'cell' | 'selectionCell' | 'selectionControl' | 'loadingState' | 'emptyState' | 'skeletonCell';
524
+ interface TableSortState {
525
+ key: string;
526
+ direction: TableSortDirection;
527
+ }
528
+ interface TableColumnDef<Row extends Record<string, unknown>> {
529
+ key: string;
530
+ header: ReactNode;
531
+ accessor?: keyof Row | ((row: Row, index: number) => ReactNode);
532
+ cell?: (row: Row, index: number) => ReactNode;
533
+ sortable?: boolean;
534
+ compare?: (a: Row, b: Row, leftIndex: number, rightIndex: number) => number;
535
+ align?: 'start' | 'center' | 'end';
536
+ width?: string | number;
537
+ minWidth?: number;
538
+ resizable?: boolean;
539
+ headerClassName?: string;
540
+ cellClassName?: string;
541
+ renderHeader?: (args: {
542
+ column: TableColumnDef<Row>;
543
+ sorted?: TableSortDirection;
544
+ sortable: boolean;
545
+ }) => ReactNode;
546
+ renderCell?: (args: {
547
+ column: TableColumnDef<Row>;
548
+ row: Row;
549
+ rowId: string;
550
+ index: number;
551
+ selected: boolean;
552
+ value: ReactNode;
553
+ }) => ReactNode;
554
+ }
555
+ interface VirtualizeOptions {
556
+ overscan?: number;
557
+ height?: number;
558
+ }
559
+ interface TableProps<Row extends Record<string, unknown>> {
560
+ columns: Array<TableColumnDef<Row>>;
561
+ data: Row[];
562
+ visibleColumnKeys?: Set<string>;
563
+ defaultVisibleColumnKeys?: Set<string>;
564
+ columnWidths?: Partial<Record<string, number>>;
565
+ defaultColumnWidths?: Partial<Record<string, number>>;
566
+ onColumnWidthsChange?: (widths: Partial<Record<string, number>>) => void;
567
+ getRowId?: (row: Row, index: number) => string;
568
+ selectionMode?: 'single' | 'multiple';
569
+ selectedRows?: Set<string>;
570
+ defaultSelectedRows?: Set<string>;
571
+ onSelectionChange?: (selected: Set<string>) => void;
572
+ sort?: TableSortState | null;
573
+ defaultSort?: TableSortState | null;
574
+ onSort?: (key: string, direction: TableSortDirection | null) => void;
575
+ onSortChange?: (sort: TableSortState | null) => void;
576
+ sortCycle?: TableSortCycle;
577
+ getSortButtonAriaLabel?: (args: {
578
+ column: TableColumnDef<Row>;
579
+ sorted?: TableSortDirection;
580
+ nextDirection: TableSortDirection | null;
581
+ }) => string;
582
+ selectionColumnAriaLabel?: string;
583
+ getRowSelectionAriaLabel?: (args: {
584
+ row: Row;
585
+ rowId: string;
586
+ index: number;
587
+ selected: boolean;
588
+ selectionMode: 'single' | 'multiple';
589
+ }) => string;
590
+ getSelectAllAriaLabel?: (args: {
591
+ allSelected: boolean;
592
+ partiallySelected: boolean;
593
+ selectableCount: number;
594
+ }) => string;
595
+ isRowSelectable?: (row: Row, index: number) => boolean;
596
+ rowHeight?: 'compact' | 'default';
597
+ stickyHeader?: boolean;
598
+ virtualized?: boolean | VirtualizeOptions;
599
+ loading?: boolean;
600
+ loadingState?: ReactNode;
601
+ skeletonRows?: number;
602
+ emptyState?: ReactNode;
603
+ className?: string;
604
+ classNames?: Partial<Record<TablePart, string>>;
605
+ }
606
+ declare function Table<Row extends Record<string, unknown>>({ columns, data, visibleColumnKeys, defaultVisibleColumnKeys, columnWidths, defaultColumnWidths, onColumnWidthsChange, getRowId, selectionMode, selectedRows, defaultSelectedRows, onSelectionChange, sort, defaultSort, onSort, onSortChange, sortCycle, getSortButtonAriaLabel, selectionColumnAriaLabel, getRowSelectionAriaLabel, getSelectAllAriaLabel, isRowSelectable, rowHeight, stickyHeader, virtualized, loading, loadingState, skeletonRows, emptyState, className, classNames, }: TableProps<Row>): react_jsx_runtime.JSX.Element;
607
+
608
+ type TreePart = 'item' | 'button' | 'label' | 'chevron';
609
+ interface TreeNode<T = unknown> {
610
+ key: string;
611
+ label: ReactNode;
612
+ textValue?: string;
613
+ children?: TreeNode<T>[];
614
+ data?: T;
615
+ disabled?: boolean;
616
+ }
617
+ interface TreeRenderArgs<T = unknown> {
618
+ node: TreeNode<T>;
619
+ depth: number;
620
+ expanded: boolean;
621
+ selected: boolean;
622
+ match: boolean;
623
+ }
624
+ interface TreeProps<T = unknown> {
625
+ nodes: TreeNode<T>[];
626
+ expandedKeys?: Set<string>;
627
+ defaultExpandedKeys?: Set<string>;
628
+ onExpand?: (key: string, expanded: boolean) => void;
629
+ onExpandedKeysChange?: (keys: Set<string>) => void;
630
+ selectedKey?: string;
631
+ defaultSelectedKey?: string;
632
+ onSelect?: (key: string) => void;
633
+ renderNode?: (args: TreeRenderArgs<T>) => ReactNode;
634
+ searchQuery?: string;
635
+ className?: string;
636
+ ariaLabel?: string;
637
+ classNames?: Partial<Record<TreePart, string>>;
638
+ }
639
+ declare function Tree<T = unknown>({ nodes, expandedKeys, defaultExpandedKeys, onExpand, onExpandedKeysChange, selectedKey, defaultSelectedKey, onSelect, renderNode, searchQuery, className, ariaLabel, classNames, }: TreeProps<T>): react_jsx_runtime.JSX.Element;
640
+
641
+ type TabsPart = 'list' | 'trigger' | 'content';
405
642
  interface TabsRootProps extends HTMLAttributes<HTMLDivElement> {
406
643
  children: ReactNode;
407
644
  value?: string;
408
645
  defaultValue?: string;
409
646
  onValueChange?: (value: string) => void;
647
+ orientation?: 'horizontal' | 'vertical';
648
+ classNames?: Partial<Record<TabsPart, string>>;
410
649
  }
411
- declare function TabsRoot({ children, value, defaultValue, onValueChange, className, ...props }: TabsRootProps): react_jsx_runtime.JSX.Element;
650
+ declare function TabsRoot({ children, value, defaultValue, onValueChange, orientation, classNames, className, ...props }: TabsRootProps): react_jsx_runtime.JSX.Element;
412
651
  interface TabsListProps extends HTMLAttributes<HTMLDivElement> {
413
652
  children: ReactNode;
414
653
  ariaLabel?: string;
@@ -492,4 +731,4 @@ interface TooltipProps {
492
731
  }
493
732
  declare function Tooltip({ content, placement: preferredPlacement, density, showDelay, hideDelay, arrow, renderArrow, className, children, classNames, }: TooltipProps): react_jsx_runtime.JSX.Element;
494
733
 
495
- export { Avatar, Badge, type BadgeProps, Button, type ButtonProps, Checkbox, type CheckboxProps, type ChoiceOption, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsiblePart, CollapsibleRoot, type CollapsibleRootProps, CollapsibleTrigger, type CollapsibleTriggerProps, ConfirmProvider, Dialog, Drawer, DropdownMenu, type DropdownMenuAlign, type DropdownMenuContentProps, type DropdownMenuItemProps, type DropdownMenuProps, type DropdownMenuRole, type DropdownMenuSide, type DropdownMenuTriggerProps, Field, type FieldContextValue, type FieldProps, IconButton, type IconButtonProps, Input, type InputProps, Panel, PanelBody, PanelFooter, PanelHeader, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, type SelectRenderOptionArgs, type SelectRenderValueArgs, Skeleton, type SkeletonAnimation, type SkeletonSpeed, type SkeletonTone, Spinner, StatusNotice, type StatusNoticePart, type StatusNoticeProps, Switch, type SwitchProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, TabsRoot, type TabsRootProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type ToastInput, ToastProvider, type ToastRenderArgs, Tooltip, buttonClassName, useConfirm, useToast };
734
+ export { Avatar, Badge, type BadgeProps, Button, type ButtonProps, Checkbox, type CheckboxProps, type ChoiceOption, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsiblePart, CollapsibleRoot, type CollapsibleRootProps, CollapsibleTrigger, type CollapsibleTriggerProps, ConfirmProvider, Dialog, Drawer, DropdownMenu, type DropdownMenuAlign, type DropdownMenuContentProps, type DropdownMenuItemProps, type DropdownMenuProps, type DropdownMenuRole, type DropdownMenuSide, type DropdownMenuTriggerProps, Field, type FieldContextValue, type FieldPart, type FieldProps, IconButton, type IconButtonProps, Input, type InputProps, NavRail, type NavRailButtonItemProps, NavRailItem, type NavRailLinkItemProps, type NavRailPart, type NavRailProps, NavRailRoot, type NavRailSectionProps, NavRailSpacer, Panel, PanelBody, PanelFooter, PanelHeader, Popover, type PopoverAlign, PopoverContent, type PopoverContentProps, type PopoverPart, type PopoverPlacement, type PopoverProps, PopoverRoot, type PopoverSide, PopoverTrigger, type PopoverTriggerMode, type PopoverTriggerProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, SegmentedControl, type SegmentedControlProps, Select, type SelectPart, type SelectProps, type SelectRenderOptionArgs, type SelectRenderValueArgs, Skeleton, type SkeletonAnimation, type SkeletonSpeed, type SkeletonTone, Spinner, StatusNotice, type StatusNoticePart, type StatusNoticeProps, Switch, type SwitchProps, Table, type TableColumnDef, type TablePart, type TableProps, type TableSortCycle, type TableSortDirection, type TableSortState, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsPart, TabsRoot, type TabsRootProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type ToastInput, ToastProvider, type ToastRenderArgs, Tooltip, Tree, type TreeNode, type TreePart, type TreeProps, type TreeRenderArgs, type VirtualizeOptions, buttonClassName, useConfirm, useToast };