@adea-ai/ui 0.60.3 → 0.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -34
- package/dist/components/composites/account-menu/account-menu.d.ts +48 -0
- package/dist/components/composites/account-menu/account-menu.d.ts.map +1 -0
- package/dist/components/composites/account-menu/account-menu.js +119 -0
- package/dist/components/composites/account-menu/account-menu.js.map +1 -0
- package/dist/components/composites/account-menu/index.d.ts +2 -0
- package/dist/components/composites/account-menu/index.d.ts.map +1 -0
- package/dist/components/composites/list-row/index.d.ts +2 -0
- package/dist/components/composites/list-row/index.d.ts.map +1 -0
- package/dist/components/composites/list-row/list-row.d.ts +44 -0
- package/dist/components/composites/list-row/list-row.d.ts.map +1 -0
- package/dist/components/composites/list-row/list-row.js +124 -0
- package/dist/components/composites/list-row/list-row.js.map +1 -0
- package/dist/components/composites/settings/index.d.ts +2 -0
- package/dist/components/composites/settings/index.d.ts.map +1 -0
- package/dist/components/composites/settings/settings.d.ts +49 -0
- package/dist/components/composites/settings/settings.d.ts.map +1 -0
- package/dist/components/composites/settings/settings.js +148 -0
- package/dist/components/composites/settings/settings.js.map +1 -0
- package/dist/components/composites/stat/index.d.ts +2 -0
- package/dist/components/composites/stat/index.d.ts.map +1 -0
- package/dist/components/composites/stat/stat.d.ts +48 -0
- package/dist/components/composites/stat/stat.d.ts.map +1 -0
- package/dist/components/composites/stat/stat.js +148 -0
- package/dist/components/composites/stat/stat.js.map +1 -0
- package/dist/components/composites/update-dialog/index.d.ts +2 -0
- package/dist/components/composites/update-dialog/index.d.ts.map +1 -0
- package/dist/components/composites/update-dialog/update-dialog.d.ts +108 -0
- package/dist/components/composites/update-dialog/update-dialog.d.ts.map +1 -0
- package/dist/components/composites/update-dialog/update-dialog.js +452 -0
- package/dist/components/composites/update-dialog/update-dialog.js.map +1 -0
- package/dist/components/composites/workspace-mark/index.d.ts +2 -0
- package/dist/components/composites/workspace-mark/index.d.ts.map +1 -0
- package/dist/components/composites/workspace-mark/workspace-mark.d.ts +24 -0
- package/dist/components/composites/workspace-mark/workspace-mark.d.ts.map +1 -0
- package/dist/components/composites/workspace-mark/workspace-mark.js +76 -0
- package/dist/components/composites/workspace-mark/workspace-mark.js.map +1 -0
- package/dist/components/conversation/conversation-avatar.d.ts +21 -0
- package/dist/components/conversation/conversation-avatar.d.ts.map +1 -0
- package/dist/components/conversation/conversation-avatar.js +52 -0
- package/dist/components/conversation/conversation-avatar.js.map +1 -0
- package/dist/components/conversation/conversation-surface.d.ts +27 -0
- package/dist/components/conversation/conversation-surface.d.ts.map +1 -0
- package/dist/components/conversation/conversation-surface.js +118 -0
- package/dist/components/conversation/conversation-surface.js.map +1 -0
- package/dist/components/conversation/index.d.ts +6 -0
- package/dist/components/conversation/index.d.ts.map +1 -0
- package/dist/components/conversation/message-composer.d.ts +70 -0
- package/dist/components/conversation/message-composer.d.ts.map +1 -0
- package/dist/components/conversation/message-composer.js +235 -0
- package/dist/components/conversation/message-composer.js.map +1 -0
- package/dist/components/conversation/message-row.d.ts +101 -0
- package/dist/components/conversation/message-row.d.ts.map +1 -0
- package/dist/components/conversation/message-row.js +389 -0
- package/dist/components/conversation/message-row.js.map +1 -0
- package/dist/components/conversation/thread-panel.d.ts +45 -0
- package/dist/components/conversation/thread-panel.d.ts.map +1 -0
- package/dist/components/conversation/thread-panel.js +123 -0
- package/dist/components/conversation/thread-panel.js.map +1 -0
- package/dist/components/layout/app-shell/app-shell.d.ts +45 -0
- package/dist/components/layout/app-shell/app-shell.d.ts.map +1 -0
- package/dist/components/layout/app-shell/app-shell.js +89 -0
- package/dist/components/layout/app-shell/app-shell.js.map +1 -0
- package/dist/components/layout/app-shell/index.d.ts +2 -0
- package/dist/components/layout/app-shell/index.d.ts.map +1 -0
- package/dist/components/layout/page/index.d.ts +2 -0
- package/dist/components/layout/page/index.d.ts.map +1 -0
- package/dist/components/layout/page/page.d.ts +31 -0
- package/dist/components/layout/page/page.d.ts.map +1 -0
- package/dist/components/layout/page/page.js +143 -0
- package/dist/components/layout/page/page.js.map +1 -0
- package/dist/components/layout/panel/index.d.ts +2 -0
- package/dist/components/layout/panel/index.d.ts.map +1 -0
- package/dist/components/layout/panel/panel.d.ts +44 -0
- package/dist/components/layout/panel/panel.d.ts.map +1 -0
- package/dist/components/layout/panel/panel.js +151 -0
- package/dist/components/layout/panel/panel.js.map +1 -0
- package/dist/components/layout/side-rail/index.d.ts +3 -0
- package/dist/components/layout/side-rail/index.d.ts.map +1 -0
- package/dist/components/layout/side-rail/side-rail-context.d.ts +23 -0
- package/dist/components/layout/side-rail/side-rail-context.d.ts.map +1 -0
- package/dist/components/layout/side-rail/side-rail-context.js +18 -0
- package/dist/components/layout/side-rail/side-rail-context.js.map +1 -0
- package/dist/components/layout/side-rail/side-rail.d.ts +101 -0
- package/dist/components/layout/side-rail/side-rail.d.ts.map +1 -0
- package/dist/components/layout/side-rail/side-rail.js +336 -0
- package/dist/components/layout/side-rail/side-rail.js.map +1 -0
- package/dist/components/layout/sidebar-nav/index.d.ts +2 -0
- package/dist/components/layout/sidebar-nav/index.d.ts.map +1 -0
- package/dist/components/layout/sidebar-nav/sidebar-nav.d.ts +62 -0
- package/dist/components/layout/sidebar-nav/sidebar-nav.d.ts.map +1 -0
- package/dist/components/layout/sidebar-nav/sidebar-nav.js +231 -0
- package/dist/components/layout/sidebar-nav/sidebar-nav.js.map +1 -0
- package/dist/components/layout/status-bar/index.d.ts +2 -0
- package/dist/components/layout/status-bar/index.d.ts.map +1 -0
- package/dist/components/layout/status-bar/status-bar.d.ts +23 -0
- package/dist/components/layout/status-bar/status-bar.d.ts.map +1 -0
- package/dist/components/layout/status-bar/status-bar.js +68 -0
- package/dist/components/layout/status-bar/status-bar.js.map +1 -0
- package/dist/components/layout/top-bar/index.d.ts +2 -0
- package/dist/components/layout/top-bar/index.d.ts.map +1 -0
- package/dist/components/layout/top-bar/top-bar.d.ts +59 -0
- package/dist/components/layout/top-bar/top-bar.d.ts.map +1 -0
- package/dist/components/layout/top-bar/top-bar.js +118 -0
- package/dist/components/layout/top-bar/top-bar.js.map +1 -0
- package/dist/components/motion/index.d.ts +3 -0
- package/dist/components/motion/index.d.ts.map +1 -0
- package/dist/components/motion/index.js +3 -0
- package/dist/components/motion/presence.d.ts +29 -0
- package/dist/components/motion/presence.d.ts.map +1 -0
- package/dist/components/motion/presence.js +10 -0
- package/dist/components/motion/presence.js.map +1 -0
- package/dist/components/theme/appearance-panel.d.ts +25 -0
- package/dist/components/theme/appearance-panel.d.ts.map +1 -0
- package/dist/components/theme/appearance-panel.js +162 -0
- package/dist/components/theme/appearance-panel.js.map +1 -0
- package/dist/components/theme/index.d.ts +5 -0
- package/dist/components/theme/index.d.ts.map +1 -0
- package/dist/components/theme/theme-picker.d.ts +54 -0
- package/dist/components/theme/theme-picker.d.ts.map +1 -0
- package/dist/components/theme/theme-picker.js +156 -0
- package/dist/components/theme/theme-picker.js.map +1 -0
- package/dist/components/theme/theme-provider.d.ts +130 -0
- package/dist/components/theme/theme-provider.d.ts.map +1 -0
- package/dist/components/theme/theme-provider.js +164 -0
- package/dist/components/theme/theme-provider.js.map +1 -0
- package/dist/components/theme/theme-toggle.d.ts +19 -0
- package/dist/components/theme/theme-toggle.d.ts.map +1 -0
- package/dist/components/theme/theme-toggle.js +69 -0
- package/dist/components/theme/theme-toggle.js.map +1 -0
- package/dist/components/ui/accordion/accordion.d.ts +18 -0
- package/dist/components/ui/accordion/accordion.d.ts.map +1 -0
- package/dist/components/ui/accordion/accordion.js +60 -0
- package/dist/components/ui/accordion/accordion.js.map +1 -0
- package/dist/components/ui/accordion/index.d.ts +2 -0
- package/dist/components/ui/accordion/index.d.ts.map +1 -0
- package/dist/components/ui/alert/alert.d.ts +26 -0
- package/dist/components/ui/alert/alert.d.ts.map +1 -0
- package/dist/components/ui/alert/alert.js +89 -0
- package/dist/components/ui/alert/alert.js.map +1 -0
- package/dist/components/ui/alert/index.d.ts +2 -0
- package/dist/components/ui/alert/index.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts +29 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.js +155 -0
- package/dist/components/ui/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert-dialog/index.d.ts +2 -0
- package/dist/components/ui/alert-dialog/index.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts +22 -0
- package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio/aspect-ratio.js +29 -0
- package/dist/components/ui/aspect-ratio/aspect-ratio.js.map +1 -0
- package/dist/components/ui/aspect-ratio/index.d.ts +2 -0
- package/dist/components/ui/aspect-ratio/index.d.ts.map +1 -0
- package/dist/components/ui/avatar/avatar.d.ts +41 -0
- package/dist/components/ui/avatar/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar/avatar.js +106 -0
- package/dist/components/ui/avatar/avatar.js.map +1 -0
- package/dist/components/ui/avatar/index.d.ts +2 -0
- package/dist/components/ui/avatar/index.d.ts.map +1 -0
- package/dist/components/ui/badge/badge.d.ts +22 -0
- package/dist/components/ui/badge/badge.d.ts.map +1 -0
- package/dist/components/ui/badge/badge.js +58 -0
- package/dist/components/ui/badge/badge.js.map +1 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/badge/index.d.ts.map +1 -0
- package/dist/components/ui/board/board.d.ts +78 -0
- package/dist/components/ui/board/board.d.ts.map +1 -0
- package/dist/components/ui/board/board.js +200 -0
- package/dist/components/ui/board/board.js.map +1 -0
- package/dist/components/ui/board/index.d.ts +2 -0
- package/dist/components/ui/board/index.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts +24 -0
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb/breadcrumb.js +109 -0
- package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/ui/breadcrumb/index.d.ts +2 -0
- package/dist/components/ui/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/ui/button/button.d.ts +30 -0
- package/dist/components/ui/button/button.d.ts.map +1 -0
- package/dist/components/ui/button/button.js +80 -0
- package/dist/components/ui/button/button.js.map +1 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button/index.d.ts.map +1 -0
- package/dist/components/ui/button-group/button-group.d.ts +39 -0
- package/dist/components/ui/button-group/button-group.d.ts.map +1 -0
- package/dist/components/ui/button-group/button-group.js +63 -0
- package/dist/components/ui/button-group/button-group.js.map +1 -0
- package/dist/components/ui/button-group/index.d.ts +2 -0
- package/dist/components/ui/button-group/index.d.ts.map +1 -0
- package/dist/components/ui/calendar/calendar.d.ts +93 -0
- package/dist/components/ui/calendar/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar/calendar.js +243 -0
- package/dist/components/ui/calendar/calendar.js.map +1 -0
- package/dist/components/ui/calendar/index.d.ts +2 -0
- package/dist/components/ui/calendar/index.d.ts.map +1 -0
- package/dist/components/ui/card/card.d.ts +23 -0
- package/dist/components/ui/card/card.d.ts.map +1 -0
- package/dist/components/ui/card/card.js +98 -0
- package/dist/components/ui/card/card.js.map +1 -0
- package/dist/components/ui/card/index.d.ts +2 -0
- package/dist/components/ui/card/index.d.ts.map +1 -0
- package/dist/components/ui/carousel/carousel.d.ts +66 -0
- package/dist/components/ui/carousel/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel/carousel.js +178 -0
- package/dist/components/ui/carousel/carousel.js.map +1 -0
- package/dist/components/ui/carousel/index.d.ts +2 -0
- package/dist/components/ui/carousel/index.d.ts.map +1 -0
- package/dist/components/ui/chart/chart.d.ts +154 -0
- package/dist/components/ui/chart/chart.d.ts.map +1 -0
- package/dist/components/ui/chart/chart.js +373 -0
- package/dist/components/ui/chart/chart.js.map +1 -0
- package/dist/components/ui/chart/index.d.ts +2 -0
- package/dist/components/ui/chart/index.d.ts.map +1 -0
- package/dist/components/ui/checkbox/checkbox.d.ts +33 -0
- package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox/checkbox.js +76 -0
- package/dist/components/ui/checkbox/checkbox.js.map +1 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.d.ts.map +1 -0
- package/dist/components/ui/code-block/code-block.d.ts +75 -0
- package/dist/components/ui/code-block/code-block.d.ts.map +1 -0
- package/dist/components/ui/code-block/code-block.js +186 -0
- package/dist/components/ui/code-block/code-block.js.map +1 -0
- package/dist/components/ui/code-block/index.d.ts +2 -0
- package/dist/components/ui/code-block/index.d.ts.map +1 -0
- package/dist/components/ui/collapsible/collapsible.d.ts +17 -0
- package/dist/components/ui/collapsible/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible/collapsible.js +38 -0
- package/dist/components/ui/collapsible/collapsible.js.map +1 -0
- package/dist/components/ui/collapsible/index.d.ts +2 -0
- package/dist/components/ui/collapsible/index.d.ts.map +1 -0
- package/dist/components/ui/combobox/combobox.d.ts +28 -0
- package/dist/components/ui/combobox/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox/combobox.js +102 -0
- package/dist/components/ui/combobox/combobox.js.map +1 -0
- package/dist/components/ui/combobox/index.d.ts +2 -0
- package/dist/components/ui/combobox/index.d.ts.map +1 -0
- package/dist/components/ui/command/command.d.ts +53 -0
- package/dist/components/ui/command/command.d.ts.map +1 -0
- package/dist/components/ui/command/command.js +137 -0
- package/dist/components/ui/command/command.js.map +1 -0
- package/dist/components/ui/command/index.d.ts +2 -0
- package/dist/components/ui/command/index.d.ts.map +1 -0
- package/dist/components/ui/context-menu/context-menu.d.ts +32 -0
- package/dist/components/ui/context-menu/context-menu.d.ts.map +1 -0
- package/dist/components/ui/context-menu/context-menu.js +119 -0
- package/dist/components/ui/context-menu/context-menu.js.map +1 -0
- package/dist/components/ui/context-menu/index.d.ts +2 -0
- package/dist/components/ui/context-menu/index.d.ts.map +1 -0
- package/dist/components/ui/detail-panel/detail-panel.d.ts +61 -0
- package/dist/components/ui/detail-panel/detail-panel.d.ts.map +1 -0
- package/dist/components/ui/detail-panel/detail-panel.js +132 -0
- package/dist/components/ui/detail-panel/detail-panel.js.map +1 -0
- package/dist/components/ui/detail-panel/index.d.ts +2 -0
- package/dist/components/ui/detail-panel/index.d.ts.map +1 -0
- package/dist/components/ui/dialog/dialog.d.ts +40 -0
- package/dist/components/ui/dialog/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog/dialog.js +125 -0
- package/dist/components/ui/dialog/dialog.js.map +1 -0
- package/dist/components/ui/dialog/index.d.ts +2 -0
- package/dist/components/ui/dialog/index.d.ts.map +1 -0
- package/dist/components/ui/diff-block/diff-block.d.ts +95 -0
- package/dist/components/ui/diff-block/diff-block.d.ts.map +1 -0
- package/dist/components/ui/diff-block/diff-block.js +230 -0
- package/dist/components/ui/diff-block/diff-block.js.map +1 -0
- package/dist/components/ui/diff-block/diff-block.test.d.ts +2 -0
- package/dist/components/ui/diff-block/diff-block.test.d.ts.map +1 -0
- package/dist/components/ui/diff-block/index.d.ts +2 -0
- package/dist/components/ui/diff-block/index.d.ts.map +1 -0
- package/dist/components/ui/drawer/drawer.d.ts +39 -0
- package/dist/components/ui/drawer/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer/drawer.js +106 -0
- package/dist/components/ui/drawer/drawer.js.map +1 -0
- package/dist/components/ui/drawer/index.d.ts +2 -0
- package/dist/components/ui/drawer/index.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +48 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.js +151 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
- package/dist/components/ui/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/ui/empty/empty.d.ts +27 -0
- package/dist/components/ui/empty/empty.d.ts.map +1 -0
- package/dist/components/ui/{empty.js → empty/empty.js} +28 -23
- package/dist/components/ui/empty/empty.js.map +1 -0
- package/dist/components/ui/empty/index.d.ts +2 -0
- package/dist/components/ui/empty/index.d.ts.map +1 -0
- package/dist/components/ui/entity-icon/entity-icon.d.ts +59 -0
- package/dist/components/ui/entity-icon/entity-icon.d.ts.map +1 -0
- package/dist/components/ui/entity-icon/entity-icon.js +145 -0
- package/dist/components/ui/entity-icon/entity-icon.js.map +1 -0
- package/dist/components/ui/entity-icon/index.d.ts +2 -0
- package/dist/components/ui/entity-icon/index.d.ts.map +1 -0
- package/dist/components/ui/field/field.d.ts +39 -0
- package/dist/components/ui/field/field.d.ts.map +1 -0
- package/dist/components/ui/field/field.js +111 -0
- package/dist/components/ui/field/field.js.map +1 -0
- package/dist/components/ui/field/index.d.ts +2 -0
- package/dist/components/ui/field/index.d.ts.map +1 -0
- package/dist/components/ui/hover-card/hover-card.d.ts +17 -0
- package/dist/components/ui/hover-card/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card/hover-card.js +40 -0
- package/dist/components/ui/hover-card/hover-card.js.map +1 -0
- package/dist/components/ui/hover-card/index.d.ts +2 -0
- package/dist/components/ui/hover-card/index.d.ts.map +1 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/index.d.ts.map +1 -0
- package/dist/components/ui/input/input.d.ts +15 -0
- package/dist/components/ui/input/input.d.ts.map +1 -0
- package/dist/components/ui/input/input.js +36 -0
- package/dist/components/ui/input/input.js.map +1 -0
- package/dist/components/ui/input-group/index.d.ts +2 -0
- package/dist/components/ui/input-group/index.d.ts.map +1 -0
- package/dist/components/ui/input-group/input-group.d.ts +34 -0
- package/dist/components/ui/input-group/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group/input-group.js +93 -0
- package/dist/components/ui/input-group/input-group.js.map +1 -0
- package/dist/components/ui/input-otp/index.d.ts +2 -0
- package/dist/components/ui/input-otp/index.d.ts.map +1 -0
- package/dist/components/ui/input-otp/input-otp.d.ts +37 -0
- package/dist/components/ui/input-otp/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input-otp/input-otp.js +92 -0
- package/dist/components/ui/input-otp/input-otp.js.map +1 -0
- package/dist/components/ui/item/index.d.ts +2 -0
- package/dist/components/ui/item/index.d.ts.map +1 -0
- package/dist/components/ui/item/item.d.ts +49 -0
- package/dist/components/ui/item/item.d.ts.map +1 -0
- package/dist/components/ui/item/item.js +163 -0
- package/dist/components/ui/item/item.js.map +1 -0
- package/dist/components/ui/kbd/index.d.ts +2 -0
- package/dist/components/ui/kbd/index.d.ts.map +1 -0
- package/dist/components/ui/kbd/kbd.d.ts +14 -0
- package/dist/components/ui/kbd/kbd.d.ts.map +1 -0
- package/dist/components/ui/kbd/kbd.js +40 -0
- package/dist/components/ui/kbd/kbd.js.map +1 -0
- package/dist/components/ui/label/index.d.ts +2 -0
- package/dist/components/ui/label/index.d.ts.map +1 -0
- package/dist/components/ui/label/label.d.ts +17 -0
- package/dist/components/ui/label/label.d.ts.map +1 -0
- package/dist/components/ui/label/label.js +33 -0
- package/dist/components/ui/label/label.js.map +1 -0
- package/dist/components/ui/menubar/index.d.ts +2 -0
- package/dist/components/ui/menubar/index.d.ts.map +1 -0
- package/dist/components/ui/menubar/menubar.d.ts +38 -0
- package/dist/components/ui/menubar/menubar.d.ts.map +1 -0
- package/dist/components/ui/menubar/menubar.js +138 -0
- package/dist/components/ui/menubar/menubar.js.map +1 -0
- package/dist/components/ui/modal-dialog/index.d.ts +2 -0
- package/dist/components/ui/modal-dialog/index.d.ts.map +1 -0
- package/dist/components/ui/modal-dialog/modal-dialog.d.ts +35 -0
- package/dist/components/ui/modal-dialog/modal-dialog.d.ts.map +1 -0
- package/dist/components/ui/modal-dialog/modal-dialog.js +78 -0
- package/dist/components/ui/modal-dialog/modal-dialog.js.map +1 -0
- package/dist/components/ui/navigation-menu/index.d.ts +2 -0
- package/dist/components/ui/navigation-menu/index.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu/navigation-menu.d.ts +77 -0
- package/dist/components/ui/navigation-menu/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu/navigation-menu.js +116 -0
- package/dist/components/ui/navigation-menu/navigation-menu.js.map +1 -0
- package/dist/components/ui/pagination/index.d.ts +2 -0
- package/dist/components/ui/pagination/index.d.ts.map +1 -0
- package/dist/components/ui/pagination/pagination.d.ts +33 -0
- package/dist/components/ui/pagination/pagination.d.ts.map +1 -0
- package/dist/components/ui/pagination/pagination.js +92 -0
- package/dist/components/ui/pagination/pagination.js.map +1 -0
- package/dist/components/ui/popover/index.d.ts +2 -0
- package/dist/components/ui/popover/index.d.ts.map +1 -0
- package/dist/components/ui/popover/popover.d.ts +26 -0
- package/dist/components/ui/popover/popover.d.ts.map +1 -0
- package/dist/components/ui/popover/popover.js +66 -0
- package/dist/components/ui/popover/popover.js.map +1 -0
- package/dist/components/ui/progress/index.d.ts +2 -0
- package/dist/components/ui/progress/index.d.ts.map +1 -0
- package/dist/components/ui/progress/progress.d.ts +29 -0
- package/dist/components/ui/progress/progress.d.ts.map +1 -0
- package/dist/components/ui/progress/progress.js +53 -0
- package/dist/components/ui/progress/progress.js.map +1 -0
- package/dist/components/ui/radio-group/index.d.ts +2 -0
- package/dist/components/ui/radio-group/index.d.ts.map +1 -0
- package/dist/components/ui/radio-group/radio-group.d.ts +26 -0
- package/dist/components/ui/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group/radio-group.js +77 -0
- package/dist/components/ui/radio-group/radio-group.js.map +1 -0
- package/dist/components/ui/resizable/index.d.ts +2 -0
- package/dist/components/ui/resizable/index.d.ts.map +1 -0
- package/dist/components/ui/resizable/resizable.d.ts +33 -0
- package/dist/components/ui/resizable/resizable.d.ts.map +1 -0
- package/dist/components/ui/resizable/resizable.js +57 -0
- package/dist/components/ui/resizable/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area/index.d.ts +2 -0
- package/dist/components/ui/scroll-area/index.d.ts.map +1 -0
- package/dist/components/ui/scroll-area/scroll-area.d.ts +26 -0
- package/dist/components/ui/scroll-area/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area/scroll-area.js +36 -0
- package/dist/components/ui/scroll-area/scroll-area.js.map +1 -0
- package/dist/components/ui/select/index.d.ts +2 -0
- package/dist/components/ui/select/index.d.ts.map +1 -0
- package/dist/components/ui/select/select.d.ts +63 -0
- package/dist/components/ui/select/select.d.ts.map +1 -0
- package/dist/components/ui/select/select.js +142 -0
- package/dist/components/ui/select/select.js.map +1 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/index.d.ts.map +1 -0
- package/dist/components/ui/separator/separator.d.ts +17 -0
- package/dist/components/ui/separator/separator.d.ts.map +1 -0
- package/dist/components/ui/separator/separator.js +24 -0
- package/dist/components/ui/separator/separator.js.map +1 -0
- package/dist/components/ui/sheet/index.d.ts +2 -0
- package/dist/components/ui/sheet/index.d.ts.map +1 -0
- package/dist/components/ui/sheet/sheet.d.ts +32 -0
- package/dist/components/ui/sheet/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet/sheet.js +118 -0
- package/dist/components/ui/sheet/sheet.js.map +1 -0
- package/dist/components/ui/skeleton/index.d.ts +2 -0
- package/dist/components/ui/skeleton/index.d.ts.map +1 -0
- package/dist/components/ui/skeleton/skeleton.d.ts +15 -0
- package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton/skeleton.js +31 -0
- package/dist/components/ui/skeleton/skeleton.js.map +1 -0
- package/dist/components/ui/slider/index.d.ts +2 -0
- package/dist/components/ui/slider/index.d.ts.map +1 -0
- package/dist/components/ui/slider/slider.d.ts +22 -0
- package/dist/components/ui/slider/slider.d.ts.map +1 -0
- package/dist/components/ui/slider/slider.js +59 -0
- package/dist/components/ui/slider/slider.js.map +1 -0
- package/dist/components/ui/spinner/index.d.ts +2 -0
- package/dist/components/ui/spinner/index.d.ts.map +1 -0
- package/dist/components/ui/spinner/spinner.d.ts +25 -0
- package/dist/components/ui/spinner/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner/spinner.js +57 -0
- package/dist/components/ui/spinner/spinner.js.map +1 -0
- package/dist/components/ui/status-chip/index.d.ts +2 -0
- package/dist/components/ui/status-chip/index.d.ts.map +1 -0
- package/dist/components/ui/status-chip/status-chip.d.ts +70 -0
- package/dist/components/ui/status-chip/status-chip.d.ts.map +1 -0
- package/dist/components/ui/status-chip/status-chip.js +140 -0
- package/dist/components/ui/status-chip/status-chip.js.map +1 -0
- package/dist/components/ui/switch/index.d.ts +2 -0
- package/dist/components/ui/switch/index.d.ts.map +1 -0
- package/dist/components/ui/switch/switch.d.ts +36 -0
- package/dist/components/ui/switch/switch.d.ts.map +1 -0
- package/dist/components/ui/switch/switch.js +74 -0
- package/dist/components/ui/switch/switch.js.map +1 -0
- package/dist/components/ui/table/index.d.ts +2 -0
- package/dist/components/ui/table/index.d.ts.map +1 -0
- package/dist/components/ui/table/table.d.ts +29 -0
- package/dist/components/ui/table/table.d.ts.map +1 -0
- package/dist/components/ui/table/table.js +129 -0
- package/dist/components/ui/table/table.js.map +1 -0
- package/dist/components/ui/tabs/index.d.ts +2 -0
- package/dist/components/ui/tabs/index.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs.d.ts +23 -0
- package/dist/components/ui/tabs/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs.js +43 -0
- package/dist/components/ui/tabs/tabs.js.map +1 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/index.d.ts.map +1 -0
- package/dist/components/ui/textarea/textarea.d.ts +14 -0
- package/dist/components/ui/textarea/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea/textarea.js +30 -0
- package/dist/components/ui/textarea/textarea.js.map +1 -0
- package/dist/components/ui/toast/index.d.ts +2 -0
- package/dist/components/ui/toast/index.d.ts.map +1 -0
- package/dist/components/ui/toast/toast.d.ts +68 -0
- package/dist/components/ui/toast/toast.d.ts.map +1 -0
- package/dist/components/ui/toast/toast.js +186 -0
- package/dist/components/ui/toast/toast.js.map +1 -0
- package/dist/components/ui/toggle/index.d.ts +2 -0
- package/dist/components/ui/toggle/index.d.ts.map +1 -0
- package/dist/components/ui/toggle/toggle.d.ts +22 -0
- package/dist/components/ui/toggle/toggle.d.ts.map +1 -0
- package/dist/components/ui/toggle/toggle.js +64 -0
- package/dist/components/ui/toggle/toggle.js.map +1 -0
- package/dist/components/ui/toggle-group/index.d.ts +2 -0
- package/dist/components/ui/toggle-group/index.d.ts.map +1 -0
- package/dist/components/ui/toggle-group/toggle-group.d.ts +35 -0
- package/dist/components/ui/toggle-group/toggle-group.d.ts.map +1 -0
- package/dist/components/ui/toggle-group/toggle-group.js +38 -0
- package/dist/components/ui/toggle-group/toggle-group.js.map +1 -0
- package/dist/components/ui/tooltip/index.d.ts +2 -0
- package/dist/components/ui/tooltip/index.d.ts.map +1 -0
- package/dist/components/ui/tooltip/tooltip.d.ts +18 -0
- package/dist/components/ui/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip/tooltip.js +67 -0
- package/dist/components/ui/tooltip/tooltip.js.map +1 -0
- package/dist/index.d.ts +96 -19
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -20
- package/dist/lib/keyed-rows.d.ts +36 -0
- package/dist/lib/keyed-rows.d.ts.map +1 -0
- package/dist/lib/keyed-rows.js +53 -0
- package/dist/lib/keyed-rows.js.map +1 -0
- package/dist/lib/keyed-rows.test.d.ts +2 -0
- package/dist/lib/keyed-rows.test.d.ts.map +1 -0
- package/dist/lib/overlay.d.ts +44 -0
- package/dist/lib/overlay.d.ts.map +1 -0
- package/dist/lib/overlay.js +57 -0
- package/dist/lib/overlay.js.map +1 -0
- package/dist/lib/themes.d.ts +197 -0
- package/dist/lib/themes.d.ts.map +1 -0
- package/dist/lib/themes.js +303 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/lib/tokens.d.ts +103 -0
- package/dist/lib/tokens.d.ts.map +1 -0
- package/dist/lib/tokens.js +805 -0
- package/dist/lib/tokens.js.map +1 -0
- package/dist/lib/utils.d.ts +27 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +61 -3
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/variants.d.ts +57 -0
- package/dist/lib/variants.d.ts.map +1 -0
- package/dist/lib/variants.js +49 -0
- package/dist/lib/variants.js.map +1 -0
- package/dist/lib/version-notes.d.ts +24 -0
- package/dist/lib/version-notes.d.ts.map +1 -0
- package/dist/lib/version-notes.js +41 -1
- package/dist/lib/version-notes.js.map +1 -0
- package/dist/r/accordion.json +23 -0
- package/dist/r/account-menu.json +25 -0
- package/dist/r/alert-dialog.json +22 -0
- package/dist/r/alert.json +22 -0
- package/dist/r/app-shell.json +20 -0
- package/dist/r/aspect-ratio.json +20 -0
- package/dist/r/avatar.json +20 -0
- package/dist/r/badge.json +22 -0
- package/dist/r/board.json +20 -0
- package/dist/r/breadcrumb.json +22 -0
- package/dist/r/button-group.json +22 -0
- package/dist/r/button.json +22 -0
- package/dist/r/calendar.json +25 -0
- package/dist/r/card.json +20 -0
- package/dist/r/carousel.json +26 -0
- package/dist/r/chart.json +23 -0
- package/dist/r/checkbox.json +23 -0
- package/dist/r/code-block.json +24 -0
- package/dist/r/collapsible.json +22 -0
- package/dist/r/combobox.json +23 -0
- package/dist/r/command.json +23 -0
- package/dist/r/context-menu.json +23 -0
- package/dist/r/conversation.json +48 -0
- package/dist/r/detail-panel.json +24 -0
- package/dist/r/dialog.json +23 -0
- package/dist/r/diff-block.json +20 -0
- package/dist/r/drawer.json +22 -0
- package/dist/r/dropdown-menu.json +23 -0
- package/dist/r/empty.json +20 -0
- package/dist/r/entity-icon.json +20 -0
- package/dist/r/field.json +22 -0
- package/dist/r/hover-card.json +22 -0
- package/dist/r/input-group.json +20 -0
- package/dist/r/input-otp.json +22 -0
- package/dist/r/input.json +20 -0
- package/dist/r/item.json +20 -0
- package/dist/r/kbd.json +20 -0
- package/dist/r/label.json +20 -0
- package/dist/r/list-row.json +22 -0
- package/dist/r/menubar.json +23 -0
- package/dist/r/modal-dialog.json +22 -0
- package/dist/r/navigation-menu.json +23 -0
- package/dist/r/page.json +20 -0
- package/dist/r/pagination.json +23 -0
- package/dist/r/panel.json +20 -0
- package/dist/r/popover.json +22 -0
- package/dist/r/progress.json +22 -0
- package/dist/r/radio-group.json +23 -0
- package/dist/r/registry.json +1676 -0
- package/dist/r/resizable.json +23 -0
- package/dist/r/scroll-area.json +20 -0
- package/dist/r/select.json +23 -0
- package/dist/r/separator.json +22 -0
- package/dist/r/settings.json +20 -0
- package/dist/r/sheet.json +25 -0
- package/dist/r/side-rail.json +27 -0
- package/dist/r/sidebar-nav.json +23 -0
- package/dist/r/skeleton.json +20 -0
- package/dist/r/slider.json +22 -0
- package/dist/r/spinner.json +22 -0
- package/dist/r/stat.json +22 -0
- package/dist/r/status-bar.json +20 -0
- package/dist/r/status-chip.json +22 -0
- package/dist/r/switch.json +22 -0
- package/dist/r/table.json +20 -0
- package/dist/r/tabs.json +22 -0
- package/dist/r/textarea.json +20 -0
- package/dist/r/theme.json +36 -0
- package/dist/r/toast.json +23 -0
- package/dist/r/toggle-group.json +24 -0
- package/dist/r/toggle.json +22 -0
- package/dist/r/tooltip.json +22 -0
- package/dist/r/top-bar.json +20 -0
- package/dist/r/update-dialog.json +27 -0
- package/dist/r/workspace-mark.json +22 -0
- package/package.json +75 -21
- package/registry.json +1676 -0
- package/src/components/composites/account-menu/account-menu.tsx +150 -0
- package/src/components/composites/account-menu/index.ts +1 -0
- package/src/components/composites/list-row/index.ts +1 -0
- package/src/components/composites/list-row/list-row.tsx +116 -0
- package/src/components/composites/settings/index.ts +1 -0
- package/src/components/composites/settings/settings.tsx +142 -0
- package/src/components/composites/stat/index.ts +9 -0
- package/src/components/composites/stat/stat.tsx +155 -0
- package/src/components/composites/update-dialog/index.ts +7 -0
- package/src/components/composites/update-dialog/update-dialog.tsx +529 -0
- package/src/components/composites/workspace-mark/index.ts +1 -0
- package/src/components/composites/workspace-mark/workspace-mark.tsx +72 -0
- package/src/components/conversation/conversation-avatar.tsx +60 -0
- package/src/components/conversation/conversation-surface.tsx +107 -0
- package/src/components/conversation/index.ts +25 -0
- package/src/components/conversation/message-composer.tsx +239 -0
- package/src/components/conversation/message-row.tsx +387 -0
- package/src/components/conversation/thread-panel.tsx +141 -0
- package/src/components/layout/app-shell/app-shell.tsx +92 -0
- package/src/components/layout/app-shell/index.ts +1 -0
- package/src/components/layout/page/index.ts +9 -0
- package/src/components/layout/page/page.tsx +122 -0
- package/src/components/layout/panel/index.ts +12 -0
- package/src/components/layout/panel/panel.tsx +166 -0
- package/src/components/layout/side-rail/index.ts +12 -0
- package/src/components/layout/side-rail/side-rail-context.ts +42 -0
- package/src/components/layout/side-rail/side-rail.tsx +405 -0
- package/src/components/layout/sidebar-nav/index.ts +14 -0
- package/src/components/layout/sidebar-nav/sidebar-nav.tsx +244 -0
- package/src/components/layout/status-bar/index.ts +1 -0
- package/src/components/layout/status-bar/status-bar.tsx +73 -0
- package/src/components/layout/top-bar/index.ts +10 -0
- package/src/components/layout/top-bar/top-bar.tsx +166 -0
- package/src/components/motion/index.ts +2 -0
- package/src/components/motion/presence.tsx +32 -0
- package/src/components/theme/appearance-panel.tsx +179 -0
- package/src/components/theme/index.ts +22 -0
- package/src/components/theme/theme-picker.tsx +174 -0
- package/src/components/theme/theme-provider.tsx +309 -0
- package/src/components/theme/theme-toggle.tsx +64 -0
- package/src/components/ui/accordion/accordion.tsx +66 -0
- package/src/components/ui/accordion/index.ts +1 -0
- package/src/components/ui/alert/alert.tsx +95 -0
- package/src/components/ui/alert/index.ts +1 -0
- package/src/components/ui/alert-dialog/alert-dialog.tsx +176 -0
- package/src/components/ui/alert-dialog/index.ts +13 -0
- package/src/components/ui/aspect-ratio/aspect-ratio.tsx +38 -0
- package/src/components/ui/aspect-ratio/index.ts +1 -0
- package/src/components/ui/avatar/avatar.tsx +114 -0
- package/src/components/ui/avatar/index.ts +9 -0
- package/src/components/ui/badge/badge.tsx +59 -0
- package/src/components/ui/badge/index.ts +1 -0
- package/src/components/ui/board/board.tsx +254 -0
- package/src/components/ui/board/index.ts +10 -0
- package/src/components/ui/breadcrumb/breadcrumb.tsx +117 -0
- package/src/components/ui/breadcrumb/index.ts +9 -0
- package/src/components/ui/button/button.tsx +89 -0
- package/src/components/ui/button/index.ts +1 -0
- package/src/components/ui/button-group/button-group.tsx +92 -0
- package/src/components/ui/button-group/index.ts +6 -0
- package/src/components/ui/calendar/calendar.tsx +277 -0
- package/src/components/ui/calendar/index.ts +1 -0
- package/src/components/ui/card/card.tsx +82 -0
- package/src/components/ui/card/index.ts +10 -0
- package/src/components/ui/carousel/carousel.tsx +209 -0
- package/src/components/ui/carousel/index.ts +1 -0
- package/src/components/ui/chart/chart.tsx +413 -0
- package/src/components/ui/chart/index.ts +17 -0
- package/src/components/ui/checkbox/checkbox.tsx +99 -0
- package/src/components/ui/checkbox/index.ts +1 -0
- package/src/components/ui/code-block/code-block.tsx +238 -0
- package/src/components/ui/code-block/index.ts +1 -0
- package/src/components/ui/collapsible/collapsible.tsx +54 -0
- package/src/components/ui/collapsible/index.ts +1 -0
- package/src/components/ui/combobox/combobox.tsx +142 -0
- package/src/components/ui/combobox/index.ts +10 -0
- package/src/components/ui/command/command.tsx +214 -0
- package/src/components/ui/command/index.ts +12 -0
- package/src/components/ui/context-menu/context-menu.tsx +163 -0
- package/src/components/ui/context-menu/index.ts +15 -0
- package/src/components/ui/detail-panel/detail-panel.tsx +161 -0
- package/src/components/ui/detail-panel/index.ts +9 -0
- package/src/components/ui/dialog/dialog.tsx +138 -0
- package/src/components/ui/dialog/index.ts +14 -0
- package/src/components/ui/diff-block/diff-block.tsx +286 -0
- package/src/components/ui/diff-block/index.ts +11 -0
- package/src/components/ui/drawer/drawer.tsx +144 -0
- package/src/components/ui/drawer/index.ts +13 -0
- package/src/components/ui/dropdown-menu/dropdown-menu.tsx +203 -0
- package/src/components/ui/dropdown-menu/index.ts +18 -0
- package/src/components/ui/empty/empty.tsx +104 -0
- package/src/components/ui/empty/index.ts +10 -0
- package/src/components/ui/entity-icon/entity-icon.tsx +154 -0
- package/src/components/ui/entity-icon/index.ts +1 -0
- package/src/components/ui/field/field.tsx +131 -0
- package/src/components/ui/field/index.ts +11 -0
- package/src/components/ui/hover-card/hover-card.tsx +48 -0
- package/src/components/ui/hover-card/index.ts +1 -0
- package/src/components/ui/input/index.ts +1 -0
- package/src/components/ui/input/input.tsx +41 -0
- package/src/components/ui/input-group/index.ts +8 -0
- package/src/components/ui/input-group/input-group.tsx +111 -0
- package/src/components/ui/input-otp/index.ts +1 -0
- package/src/components/ui/input-otp/input-otp.tsx +108 -0
- package/src/components/ui/item/index.ts +10 -0
- package/src/components/ui/item/item.tsx +146 -0
- package/src/components/ui/kbd/index.ts +1 -0
- package/src/components/ui/kbd/kbd.tsx +42 -0
- package/src/components/ui/label/index.ts +1 -0
- package/src/components/ui/label/label.tsx +36 -0
- package/src/components/ui/menubar/index.ts +16 -0
- package/src/components/ui/menubar/menubar.tsx +190 -0
- package/src/components/ui/modal-dialog/index.ts +1 -0
- package/src/components/ui/modal-dialog/modal-dialog.tsx +95 -0
- package/src/components/ui/navigation-menu/index.ts +13 -0
- package/src/components/ui/navigation-menu/navigation-menu.tsx +229 -0
- package/src/components/ui/pagination/index.ts +8 -0
- package/src/components/ui/pagination/pagination.tsx +144 -0
- package/src/components/ui/popover/index.ts +10 -0
- package/src/components/ui/popover/popover.tsx +81 -0
- package/src/components/ui/progress/index.ts +1 -0
- package/src/components/ui/progress/progress.tsx +67 -0
- package/src/components/ui/radio-group/index.ts +1 -0
- package/src/components/ui/radio-group/radio-group.tsx +78 -0
- package/src/components/ui/resizable/index.ts +6 -0
- package/src/components/ui/resizable/resizable.tsx +74 -0
- package/src/components/ui/scroll-area/index.ts +1 -0
- package/src/components/ui/scroll-area/scroll-area.tsx +66 -0
- package/src/components/ui/select/index.ts +11 -0
- package/src/components/ui/select/select.tsx +188 -0
- package/src/components/ui/separator/index.ts +1 -0
- package/src/components/ui/separator/separator.tsx +40 -0
- package/src/components/ui/sheet/index.ts +13 -0
- package/src/components/ui/sheet/sheet.tsx +132 -0
- package/src/components/ui/skeleton/index.ts +1 -0
- package/src/components/ui/skeleton/skeleton.tsx +28 -0
- package/src/components/ui/slider/index.ts +1 -0
- package/src/components/ui/slider/slider.tsx +81 -0
- package/src/components/ui/spinner/index.ts +1 -0
- package/src/components/ui/spinner/spinner.tsx +58 -0
- package/src/components/ui/status-chip/index.ts +8 -0
- package/src/components/ui/status-chip/status-chip.tsx +142 -0
- package/src/components/ui/switch/index.ts +1 -0
- package/src/components/ui/switch/switch.tsx +100 -0
- package/src/components/ui/table/index.ts +11 -0
- package/src/components/ui/table/table.tsx +125 -0
- package/src/components/ui/tabs/index.ts +8 -0
- package/src/components/ui/tabs/tabs.tsx +77 -0
- package/src/components/ui/textarea/index.ts +1 -0
- package/src/components/ui/textarea/textarea.tsx +36 -0
- package/src/components/ui/toast/index.ts +1 -0
- package/src/components/ui/toast/toast.tsx +220 -0
- package/src/components/ui/toggle/index.ts +1 -0
- package/src/components/ui/toggle/toggle.tsx +60 -0
- package/src/components/ui/toggle-group/index.ts +6 -0
- package/src/components/ui/toggle-group/toggle-group.tsx +66 -0
- package/src/components/ui/tooltip/index.ts +9 -0
- package/src/components/ui/tooltip/tooltip.tsx +102 -0
- package/src/index.ts +154 -0
- package/src/lib/keyed-rows.ts +68 -0
- package/src/lib/overlay.ts +70 -0
- package/src/lib/themes.ts +490 -0
- package/src/lib/tokens.ts +688 -0
- package/src/lib/utils.ts +74 -4
- package/src/lib/variants.ts +62 -0
- package/src/lib/version-notes.ts +35 -0
- package/src/styles/base.css +489 -484
- package/src/styles/fonts.css +26 -0
- package/src/styles/globals.css +14 -3
- package/src/styles/theme.css +838 -229
- package/LICENSE +0 -201
- package/dist/components/account-drawer.d.ts +0 -11
- package/dist/components/account-drawer.js +0 -120
- package/dist/components/appearance.d.ts +0 -261
- package/dist/components/appearance.js +0 -802
- package/dist/components/on-screen-controls.d.ts +0 -8
- package/dist/components/on-screen-controls.js +0 -162
- package/dist/components/scene-settings.d.ts +0 -33
- package/dist/components/scene-settings.js +0 -253
- package/dist/components/theme-preview.d.ts +0 -40
- package/dist/components/theme-preview.js +0 -210
- package/dist/components/theme-provider.d.ts +0 -52
- package/dist/components/theme-provider.js +0 -128
- package/dist/components/theme-swatch.d.ts +0 -12
- package/dist/components/theme-swatch.js +0 -66
- package/dist/components/theme-toggle.d.ts +0 -7
- package/dist/components/theme-toggle.js +0 -64
- package/dist/components/ui/badge.d.ts +0 -8
- package/dist/components/ui/badge.js +0 -34
- package/dist/components/ui/button.d.ts +0 -9
- package/dist/components/ui/button.js +0 -52
- package/dist/components/ui/card.d.ts +0 -4
- package/dist/components/ui/card.js +0 -28
- package/dist/components/ui/dialog.d.ts +0 -15
- package/dist/components/ui/dialog.js +0 -104
- package/dist/components/ui/drawer.d.ts +0 -24
- package/dist/components/ui/drawer.js +0 -120
- package/dist/components/ui/dropdown-menu.d.ts +0 -35
- package/dist/components/ui/dropdown-menu.js +0 -180
- package/dist/components/ui/empty.d.ts +0 -12
- package/dist/components/ui/field.d.ts +0 -25
- package/dist/components/ui/field.js +0 -188
- package/dist/components/ui/input.d.ts +0 -3
- package/dist/components/ui/input.js +0 -22
- package/dist/components/ui/label.d.ts +0 -3
- package/dist/components/ui/label.js +0 -17
- package/dist/components/ui/radio-group.d.ts +0 -5
- package/dist/components/ui/radio-group.js +0 -39
- package/dist/components/ui/separator.d.ts +0 -7
- package/dist/components/ui/separator.js +0 -20
- package/dist/components/ui/skeleton.d.ts +0 -3
- package/dist/components/ui/skeleton.js +0 -17
- package/dist/components/ui/spinner.d.ts +0 -5
- package/dist/components/ui/spinner.js +0 -17
- package/dist/components/ui/switch.d.ts +0 -8
- package/dist/components/ui/switch.js +0 -59
- package/dist/components/ui/tabs.d.ts +0 -11
- package/dist/components/ui/tabs.js +0 -57
- package/dist/components/ui/toggle-group.d.ts +0 -13
- package/dist/components/ui/toggle-group.js +0 -95
- package/dist/components/ui/toggle.d.ts +0 -10
- package/dist/components/ui/toggle.js +0 -41
- package/dist/components/ui/tooltip.d.ts +0 -15
- package/dist/components/ui/tooltip.js +0 -55
- package/dist/components/version-dialog.d.ts +0 -25
- package/dist/components/version-dialog.js +0 -330
- package/dist/components/workspace-brand.d.ts +0 -5
- package/dist/components/workspace-brand.js +0 -13
- package/dist/components/workspace-logo.d.ts +0 -3
- package/dist/components/workspace-logo.js +0 -17
- package/src/components/account-drawer.tsx +0 -114
- package/src/components/appearance.ts +0 -1112
- package/src/components/on-screen-controls.tsx +0 -149
- package/src/components/scene-settings.tsx +0 -199
- package/src/components/theme-preview.tsx +0 -170
- package/src/components/theme-provider.tsx +0 -214
- package/src/components/theme-swatch.tsx +0 -49
- package/src/components/theme-toggle.tsx +0 -48
- package/src/components/ui/badge.tsx +0 -40
- package/src/components/ui/button.tsx +0 -58
- package/src/components/ui/card.tsx +0 -21
- package/src/components/ui/dialog.tsx +0 -132
- package/src/components/ui/drawer.tsx +0 -168
- package/src/components/ui/dropdown-menu.tsx +0 -235
- package/src/components/ui/empty.tsx +0 -97
- package/src/components/ui/field.tsx +0 -220
- package/src/components/ui/input.tsx +0 -20
- package/src/components/ui/label.tsx +0 -19
- package/src/components/ui/radio-group.tsx +0 -41
- package/src/components/ui/separator.tsx +0 -28
- package/src/components/ui/skeleton.tsx +0 -16
- package/src/components/ui/spinner.tsx +0 -20
- package/src/components/ui/switch.tsx +0 -59
- package/src/components/ui/tabs.tsx +0 -76
- package/src/components/ui/toggle-group.tsx +0 -98
- package/src/components/ui/toggle.tsx +0 -42
- package/src/components/ui/tooltip.tsx +0 -61
- package/src/components/version-dialog.tsx +0 -368
- package/src/components/workspace-brand.tsx +0 -18
- package/src/components/workspace-logo.tsx +0 -21
- package/src/index.tsx +0 -53
- package/src/styles/auth-shell.css +0 -167
- package/src/styles/conventional-workspace.css +0 -2858
- package/src/styles/dev-view.css +0 -899
- package/src/styles/workspace-shell.css +0 -82
- package/tsconfig.json +0 -11
package/src/styles/theme.css
CHANGED
|
@@ -1,10 +1,715 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
1
|
+
/* ============================================================================
|
|
2
|
+
* Adea design tokens
|
|
3
|
+
* ============================================================================
|
|
4
|
+
*
|
|
5
|
+
* This file is the single source of truth for the design system. Components
|
|
6
|
+
* reference only the semantic tokens declared here; no component may carry a
|
|
7
|
+
* literal colour, size, radius, or shadow.
|
|
8
|
+
*
|
|
9
|
+
* Three vocabularies meet here, and each is deliberate:
|
|
10
|
+
*
|
|
11
|
+
* - shadcn/ui supplies the *names* (background, primary, muted, accent,
|
|
12
|
+
* border, ring, sidebar-*). Keeping them means every shadcn convention,
|
|
13
|
+
* example, and migration guide applies unchanged, and @shadcn/lint reads the
|
|
14
|
+
* system without special configuration.
|
|
15
|
+
* - OKLCH supplies the *format*. Every colour is perceptually uniform, so a
|
|
16
|
+
* lightness step reads as the same step in every hue and a re-hue does not
|
|
17
|
+
* need its ramp re-derived by eye.
|
|
18
|
+
* - **`@adea-ai/themes` supplies the values.** The two default themes are composed
|
|
19
|
+
* there from upstream palettes — Aardvark Ink's canvas and greyscale for Adea
|
|
20
|
+
* Dark, Nord Light's for Adea Light, and GitHub's hues for both — and normalized
|
|
21
|
+
* against measured contrast floors. The colour declarations in sections 1 and 2
|
|
22
|
+
* are *generated* from that catalogue (`bun run theme:build`) rather than written
|
|
23
|
+
* here; everything else in this file is this system's own.
|
|
24
|
+
*
|
|
25
|
+
* ## The accent is a selection, not a constant
|
|
26
|
+
*
|
|
27
|
+
* Each default theme has one interactive colour of its own — the two are the same
|
|
28
|
+
* hue at different lightnesses, which is what makes them a pair — and a user can
|
|
29
|
+
* override it with an independently chosen **accent**, which replaces the primary, its
|
|
30
|
+
* label and the focus ring. That model is preserved here as the `[data-accent]` blocks
|
|
31
|
+
* below, and it is why nothing in this system should hard-code a hue.
|
|
32
|
+
*
|
|
33
|
+
* ## Provenance
|
|
34
|
+
*
|
|
35
|
+
* The *structure* — the surface ladder, the control and row ladders, the shell
|
|
36
|
+
* geometry, the focus treatment, the motion — is translated from KiroCrew
|
|
37
|
+
* (Apache-2.0; see NOTICE). The *palette* is adea's. An earlier revision of this
|
|
38
|
+
* file took KiroCrew's colours as well, which changed the product's appearance for
|
|
39
|
+
* no reason: the neutrals became blue-tinted, the primary became an emerald adea
|
|
40
|
+
* never had, and the destructive colour became a saturated red. Corrected.
|
|
41
|
+
* ========================================================================== */
|
|
3
42
|
|
|
4
|
-
|
|
43
|
+
/* ---------------------------------------------------------------------------
|
|
44
|
+
* 1. Colour — light theme (the default)
|
|
45
|
+
*
|
|
46
|
+
* Contrast: body text 8.6:1 on the canvas and 7.7:1 on a card, `--muted-foreground`
|
|
47
|
+
* 5.5:1 on the canvas and 5.0:1 on a card, `--primary-foreground` on `--primary`
|
|
48
|
+
* 5.9:1. Measured rather than estimated; `tests/tokens.test.ts` asserts each pairing.
|
|
49
|
+
* ------------------------------------------------------------------------- */
|
|
50
|
+
:root {
|
|
51
|
+
/* @generated theme:root — run `bun run theme:build` after changing the catalogue */
|
|
52
|
+
/* The canvas and its text */
|
|
53
|
+
--background: oklch(0.933 0.016 261.79);
|
|
54
|
+
--foreground: oklch(0.3697 0.0285 266.52);
|
|
55
|
+
|
|
56
|
+
/* Raised surfaces */
|
|
57
|
+
--card: oklch(0.898 0.0108 261.79);
|
|
58
|
+
--card-foreground: oklch(0.3697 0.0285 266.52);
|
|
59
|
+
--popover: oklch(0.868 0.0151 261.79);
|
|
60
|
+
--popover-foreground: oklch(0.3697 0.0285 266.52);
|
|
61
|
+
--surface-hover: oklch(0.833 0.0209 261.79);
|
|
62
|
+
--surface-active: oklch(0.783 0.0144 261.79);
|
|
63
|
+
|
|
64
|
+
--surface: var(--background);
|
|
65
|
+
--surface-raised: var(--card);
|
|
66
|
+
--surface-overlay: var(--popover);
|
|
67
|
+
|
|
68
|
+
/* The interactive colour */
|
|
69
|
+
--primary: oklch(0.4513 0.1518 253.31);
|
|
70
|
+
--primary-foreground: oklch(0.9513 0.0074 260.73);
|
|
71
|
+
--ring: oklch(0.4513 0.1518 253.31);
|
|
72
|
+
--accent: oklch(0.833 0.0209 261.79);
|
|
73
|
+
--accent-foreground: oklch(0.3697 0.0285 266.52);
|
|
74
|
+
|
|
75
|
+
/* Neutral fills and secondary text */
|
|
76
|
+
--secondary: oklch(0.898 0.0108 261.79);
|
|
77
|
+
--secondary-foreground: oklch(0.3697 0.0285 266.52);
|
|
78
|
+
--muted: oklch(0.898 0.0108 261.79);
|
|
79
|
+
--muted-foreground: oklch(0.474 0.0245 265.01);
|
|
80
|
+
|
|
81
|
+
/* Status. The fills are catalogue roles; the labels are measured. */
|
|
82
|
+
--destructive: oklch(0.4705 0.1626 25.78);
|
|
83
|
+
--destructive-foreground: oklch(0.933 0.016 261.79);
|
|
84
|
+
--success: oklch(0.4311 0.1809 145.62);
|
|
85
|
+
--success-foreground: oklch(0.933 0.016 261.79);
|
|
86
|
+
--warning: oklch(0.4556 0.1401 79.91);
|
|
87
|
+
--warning-foreground: oklch(0.933 0.016 261.79);
|
|
88
|
+
--info: oklch(0.4915 0.1155 202.14);
|
|
89
|
+
--info-foreground: oklch(0.933 0.016 261.79);
|
|
90
|
+
--destructive-subtle: color-mix(in oklch, var(--destructive) 16%, transparent);
|
|
91
|
+
--success-subtle: color-mix(in oklch, var(--success) 16%, transparent);
|
|
92
|
+
--warning-subtle: color-mix(in oklch, var(--warning) 16%, transparent);
|
|
93
|
+
--info-subtle: color-mix(in oklch, var(--info) 16%, transparent);
|
|
94
|
+
|
|
95
|
+
/* Lines */
|
|
96
|
+
--border: oklch(0.783 0.0144 261.79);
|
|
97
|
+
--input: oklch(0.783 0.0144 261.79);
|
|
98
|
+
|
|
99
|
+
/* The primary, so a focus ring is the interactive colour. */
|
|
100
|
+
--ring: var(--primary);
|
|
101
|
+
|
|
102
|
+
/* The sidebar */
|
|
103
|
+
--sidebar: oklch(0.898 0.0108 261.79);
|
|
104
|
+
--sidebar-foreground: oklch(0.3697 0.0285 266.52);
|
|
105
|
+
--sidebar-accent: oklch(0.833 0.0209 261.79);
|
|
106
|
+
--sidebar-border: oklch(0.783 0.0144 261.79);
|
|
107
|
+
--sidebar-muted-foreground: oklch(0.474 0.0245 265.01);
|
|
108
|
+
|
|
109
|
+
--sidebar-primary: var(--primary);
|
|
110
|
+
--sidebar-primary-foreground: var(--primary-foreground);
|
|
111
|
+
--sidebar-accent-foreground: var(--accent-foreground);
|
|
112
|
+
--sidebar-ring: var(--ring);
|
|
113
|
+
|
|
114
|
+
/* Charts */
|
|
115
|
+
--chart-1: oklch(0.4513 0.1518 253.31);
|
|
116
|
+
--chart-2: oklch(0.4683 0.1668 301.69);
|
|
117
|
+
--chart-3: oklch(0.4915 0.1155 202.14);
|
|
118
|
+
--chart-4: oklch(0.4311 0.1809 145.62);
|
|
119
|
+
--chart-5: oklch(0.4556 0.1401 79.91);
|
|
120
|
+
--chart-6: oklch(0.4705 0.1626 25.78);
|
|
121
|
+
|
|
122
|
+
/* Diff surfaces, over the status roles. */
|
|
123
|
+
--diff-add: color-mix(in oklch, var(--success) 18%, transparent);
|
|
124
|
+
--diff-add-foreground: var(--success);
|
|
125
|
+
--diff-delete: color-mix(in oklch, var(--destructive) 18%, transparent);
|
|
126
|
+
--diff-delete-foreground: var(--destructive);
|
|
127
|
+
--diff-hunk: color-mix(in oklch, var(--info) 14%, transparent);
|
|
128
|
+
--diff-hunk-foreground: var(--info);
|
|
129
|
+
--diff-meta-foreground: var(--muted-foreground);
|
|
130
|
+
|
|
131
|
+
/*
|
|
132
|
+
* The modal veil. One value in both appearances because a scrim sits over
|
|
133
|
+
* media rather than over the application — a video, a screenshot — and a veil
|
|
134
|
+
* that changed with the theme would be a veil that is wrong half the time.
|
|
135
|
+
*/
|
|
136
|
+
--scrim: oklch(0.1919 0.025 264.7);
|
|
137
|
+
--scrim-foreground: oklch(1 0 0);
|
|
138
|
+
--scrim-edge: oklch(1 0 0);
|
|
139
|
+
|
|
140
|
+
/*
|
|
141
|
+
* A uniform step away from the canvas, so a hovered primary button reads as
|
|
142
|
+
* hovered rather than as a second, slightly different colour.
|
|
143
|
+
*
|
|
144
|
+
* Resolved rather than a `color-mix()`, because a uniform step cannot be
|
|
145
|
+
* expressed as one: mixing a fixed share toward white or black moves an accent
|
|
146
|
+
* by a share of its headroom, which gives the light appearance a step twice the
|
|
147
|
+
* dark one's and nearly none at all on the palest accent.
|
|
148
|
+
*
|
|
149
|
+
* Both values come from @adea-ai/themes, so the accent blocks below are the same
|
|
150
|
+
* rule rather than a matching one — which is what they were not, before.
|
|
151
|
+
*/
|
|
152
|
+
--primary-hover: oklch(0.4013 0.1518 253.31);
|
|
153
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
154
|
+
/* The window chrome, one step off the canvas. */
|
|
155
|
+
--chrome: var(--surface);
|
|
156
|
+
/*
|
|
157
|
+
* Below the canvas: a code well, an inset panel. Not a catalogue role, because
|
|
158
|
+
* the catalogue's ladder only goes *up* from the canvas — the four rungs it
|
|
159
|
+
* derives are all surfaces something sits on. This is the one value in the
|
|
160
|
+
* ladder that runs the other way, so it is computed rather than mapped.
|
|
161
|
+
*
|
|
162
|
+
* Darker in both appearances, which is the rule the ladder does not follow: a
|
|
163
|
+
* raised surface is lighter than the canvas on a dark theme and darker on a
|
|
164
|
+
* light one, but a sunken one is *always* darker, because the metaphor is a
|
|
165
|
+
* well cut into the page rather than a panel laid on it.
|
|
166
|
+
*/
|
|
167
|
+
--surface-sunken: oklch(0.913 0.008 261.79);
|
|
168
|
+
--chrome-alpha: 0.9;
|
|
169
|
+
|
|
170
|
+
color-scheme: light;
|
|
171
|
+
/* @end generated theme:root */
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* ---------------------------------------------------------------------------
|
|
175
|
+
* 2. Colour — dark theme
|
|
176
|
+
*
|
|
177
|
+
* adea's dark theme is a *soft* neutral rather than a near-black: the canvas is a
|
|
178
|
+
* light grey and the primary is near-white. That is the product's existing look,
|
|
179
|
+
* and it is deliberately not the near-black blue-tinted dark of the donor this
|
|
180
|
+
* system's structure came from.
|
|
181
|
+
*
|
|
182
|
+
* Contrast: body text 14.9:1, `--muted-foreground` 6.1:1 on the canvas and 4.9:1
|
|
183
|
+
* on a card, `--primary-foreground` on `--primary` 10.4:1.
|
|
184
|
+
* ------------------------------------------------------------------------- */
|
|
185
|
+
.dark {
|
|
186
|
+
/* @generated theme:dark — run `bun run theme:build` after changing the catalogue */
|
|
187
|
+
/* The canvas and its text */
|
|
188
|
+
--background: oklch(0.1918 0.0238 265.37);
|
|
189
|
+
--foreground: oklch(0.7933 0.0217 261.76);
|
|
190
|
+
|
|
191
|
+
/* Raised surfaces */
|
|
192
|
+
--card: oklch(0.2268 0.0288 265.37);
|
|
193
|
+
--card-foreground: oklch(0.7933 0.0217 261.76);
|
|
194
|
+
--popover: oklch(0.2568 0.033 265.37);
|
|
195
|
+
--popover-foreground: oklch(0.7933 0.0217 261.76);
|
|
196
|
+
--surface-hover: oklch(0.2918 0.038 265.37);
|
|
197
|
+
--surface-active: oklch(0.3418 0.0214 265.37);
|
|
198
|
+
|
|
199
|
+
--surface: var(--background);
|
|
200
|
+
--surface-raised: var(--card);
|
|
201
|
+
--surface-overlay: var(--popover);
|
|
202
|
+
|
|
203
|
+
/* The interactive colour */
|
|
204
|
+
--primary: oklch(0.7153 0.1518 253.31);
|
|
205
|
+
--primary-foreground: oklch(0.1918 0.0238 265.37);
|
|
206
|
+
--ring: oklch(0.7153 0.1518 253.31);
|
|
207
|
+
--accent: oklch(0.2918 0.038 265.37);
|
|
208
|
+
--accent-foreground: oklch(0.7933 0.0217 261.76);
|
|
209
|
+
|
|
210
|
+
/* Neutral fills and secondary text */
|
|
211
|
+
--secondary: oklch(0.2268 0.0288 265.37);
|
|
212
|
+
--secondary-foreground: oklch(0.7933 0.0217 261.76);
|
|
213
|
+
--muted: oklch(0.2268 0.0288 265.37);
|
|
214
|
+
--muted-foreground: oklch(0.6308 0.0224 262.91);
|
|
215
|
+
|
|
216
|
+
/* Status. The fills are catalogue roles; the labels are measured. */
|
|
217
|
+
--destructive: oklch(0.7345 0.1626 25.78);
|
|
218
|
+
--destructive-foreground: oklch(0.1918 0.0238 265.37);
|
|
219
|
+
--success: oklch(0.6951 0.1809 145.62);
|
|
220
|
+
--success-foreground: oklch(0.1918 0.0238 265.37);
|
|
221
|
+
--warning: oklch(0.7196 0.1401 79.91);
|
|
222
|
+
--warning-foreground: oklch(0.1918 0.0238 265.37);
|
|
223
|
+
--info: oklch(0.7555 0.1155 202.14);
|
|
224
|
+
--info-foreground: oklch(0.1918 0.0238 265.37);
|
|
225
|
+
--destructive-subtle: color-mix(in oklch, var(--destructive) 16%, transparent);
|
|
226
|
+
--success-subtle: color-mix(in oklch, var(--success) 16%, transparent);
|
|
227
|
+
--warning-subtle: color-mix(in oklch, var(--warning) 16%, transparent);
|
|
228
|
+
--info-subtle: color-mix(in oklch, var(--info) 16%, transparent);
|
|
229
|
+
|
|
230
|
+
/* Lines */
|
|
231
|
+
--border: oklch(0.3418 0.0214 265.37);
|
|
232
|
+
--input: oklch(0.3418 0.0214 265.37);
|
|
233
|
+
|
|
234
|
+
/* The primary, so a focus ring is the interactive colour. */
|
|
235
|
+
--ring: var(--primary);
|
|
236
|
+
|
|
237
|
+
/* The sidebar */
|
|
238
|
+
--sidebar: oklch(0.2268 0.0288 265.37);
|
|
239
|
+
--sidebar-foreground: oklch(0.7933 0.0217 261.76);
|
|
240
|
+
--sidebar-accent: oklch(0.2918 0.038 265.37);
|
|
241
|
+
--sidebar-border: oklch(0.3418 0.0214 265.37);
|
|
242
|
+
--sidebar-muted-foreground: oklch(0.6308 0.0224 262.91);
|
|
243
|
+
|
|
244
|
+
--sidebar-primary: var(--primary);
|
|
245
|
+
--sidebar-primary-foreground: var(--primary-foreground);
|
|
246
|
+
--sidebar-accent-foreground: var(--accent-foreground);
|
|
247
|
+
--sidebar-ring: var(--ring);
|
|
248
|
+
|
|
249
|
+
/* Charts */
|
|
250
|
+
--chart-1: oklch(0.7153 0.1518 253.31);
|
|
251
|
+
--chart-2: oklch(0.7323 0.1668 301.69);
|
|
252
|
+
--chart-3: oklch(0.7555 0.1155 202.14);
|
|
253
|
+
--chart-4: oklch(0.6951 0.1809 145.62);
|
|
254
|
+
--chart-5: oklch(0.7196 0.1401 79.91);
|
|
255
|
+
--chart-6: oklch(0.7345 0.1626 25.78);
|
|
256
|
+
|
|
257
|
+
/* Diff surfaces, over the status roles. */
|
|
258
|
+
--diff-add: color-mix(in oklch, var(--success) 18%, transparent);
|
|
259
|
+
--diff-add-foreground: var(--success);
|
|
260
|
+
--diff-delete: color-mix(in oklch, var(--destructive) 18%, transparent);
|
|
261
|
+
--diff-delete-foreground: var(--destructive);
|
|
262
|
+
--diff-hunk: color-mix(in oklch, var(--info) 14%, transparent);
|
|
263
|
+
--diff-hunk-foreground: var(--info);
|
|
264
|
+
--diff-meta-foreground: var(--muted-foreground);
|
|
5
265
|
|
|
6
|
-
|
|
266
|
+
/*
|
|
267
|
+
* A uniform step away from the canvas, so a hovered primary button reads as
|
|
268
|
+
* hovered rather than as a second, slightly different colour.
|
|
269
|
+
*
|
|
270
|
+
* Resolved rather than a `color-mix()`, because a uniform step cannot be
|
|
271
|
+
* expressed as one: mixing a fixed share toward white or black moves an accent
|
|
272
|
+
* by a share of its headroom, which gives the light appearance a step twice the
|
|
273
|
+
* dark one's and nearly none at all on the palest accent.
|
|
274
|
+
*
|
|
275
|
+
* Both values come from @adea-ai/themes, so the accent blocks below are the same
|
|
276
|
+
* rule rather than a matching one — which is what they were not, before.
|
|
277
|
+
*/
|
|
278
|
+
--primary-hover: oklch(0.7653 0.1518 253.31);
|
|
279
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
280
|
+
/* The window chrome, one step off the canvas. */
|
|
281
|
+
--chrome: var(--surface);
|
|
282
|
+
/*
|
|
283
|
+
* Below the canvas: a code well, an inset panel. Not a catalogue role, because
|
|
284
|
+
* the catalogue's ladder only goes *up* from the canvas — the four rungs it
|
|
285
|
+
* derives are all surfaces something sits on. This is the one value in the
|
|
286
|
+
* ladder that runs the other way, so it is computed rather than mapped.
|
|
287
|
+
*
|
|
288
|
+
* Darker in both appearances, which is the rule the ladder does not follow: a
|
|
289
|
+
* raised surface is lighter than the canvas on a dark theme and darker on a
|
|
290
|
+
* light one, but a sunken one is *always* darker, because the metaphor is a
|
|
291
|
+
* well cut into the page rather than a panel laid on it.
|
|
292
|
+
*/
|
|
293
|
+
--surface-sunken: oklch(0.1718 0.0199 265.37);
|
|
294
|
+
--chrome-alpha: 0.9;
|
|
7
295
|
|
|
296
|
+
color-scheme: dark;
|
|
297
|
+
/* @end generated theme:dark */
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/* ---------------------------------------------------------------------------
|
|
301
|
+
* 3. The accent axis
|
|
302
|
+
*
|
|
303
|
+
* adea's six accents, as a selection rather than a constant. `data-accent` sits on
|
|
304
|
+
* the same element as `dark` — in both applications that is `<html>` — and each
|
|
305
|
+
* block overrides the roles an accent owns: the interactive primary, its label,
|
|
306
|
+
* its hover rung, its tint and the focus ring.
|
|
307
|
+
*
|
|
308
|
+
* The values are adea's accent presets, passed through the same two rules
|
|
309
|
+
* `deriveAccentRoles` applies in the product:
|
|
310
|
+
*
|
|
311
|
+
* 1. **A 3:1 interaction minimum against the surface the accent is drawn on**,
|
|
312
|
+
* so an accent can never ship unreadable on its own background.
|
|
313
|
+
* 2. **A label chosen by measurement, not convention** — black or white,
|
|
314
|
+
* whichever wins on contrast. The accent flips polarity between the themes
|
|
315
|
+
* for exactly this reason: a bright violet in dark mode carries a black
|
|
316
|
+
* label, and the same accent's deep light-mode form carries a white one.
|
|
317
|
+
*
|
|
318
|
+
* `theme` (the default) is the monochrome primary above and needs no block.
|
|
319
|
+
* ------------------------------------------------------------------------- */
|
|
320
|
+
|
|
321
|
+
/* @generated accents — run `bun run theme:build` after changing the catalogue */
|
|
322
|
+
[data-accent='violet'] {
|
|
323
|
+
--primary: oklch(0.4907 0.2412 292.58);
|
|
324
|
+
--primary-foreground: oklch(1 0 0);
|
|
325
|
+
--primary-hover: oklch(0.4407 0.2412 292.58);
|
|
326
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
327
|
+
--ring: oklch(0.4907 0.2412 292.58);
|
|
328
|
+
}
|
|
329
|
+
.dark[data-accent='violet'] {
|
|
330
|
+
--primary: oklch(0.709 0.1592 293.54);
|
|
331
|
+
--primary-foreground: oklch(0 0 0);
|
|
332
|
+
--primary-hover: oklch(0.759 0.1592 293.54);
|
|
333
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
334
|
+
--ring: oklch(0.709 0.1592 293.54);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
[data-accent='blue'] {
|
|
338
|
+
--primary: oklch(0.5461 0.2152 262.88);
|
|
339
|
+
--primary-foreground: oklch(1 0 0);
|
|
340
|
+
--primary-hover: oklch(0.4961 0.2152 262.88);
|
|
341
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
342
|
+
--ring: oklch(0.5461 0.2152 262.88);
|
|
343
|
+
}
|
|
344
|
+
.dark[data-accent='blue'] {
|
|
345
|
+
--primary: oklch(0.7137 0.1434 254.62);
|
|
346
|
+
--primary-foreground: oklch(0 0 0);
|
|
347
|
+
--primary-hover: oklch(0.7637 0.1434 254.62);
|
|
348
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
349
|
+
--ring: oklch(0.7137 0.1434 254.62);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
[data-accent='green'] {
|
|
353
|
+
--primary: oklch(0.5273 0.1371 150.07);
|
|
354
|
+
--primary-foreground: oklch(1 0 0);
|
|
355
|
+
--primary-hover: oklch(0.4773 0.1371 150.07);
|
|
356
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
357
|
+
--ring: oklch(0.5273 0.1371 150.07);
|
|
358
|
+
}
|
|
359
|
+
.dark[data-accent='green'] {
|
|
360
|
+
--primary: oklch(0.8003 0.1821 151.71);
|
|
361
|
+
--primary-foreground: oklch(0 0 0);
|
|
362
|
+
--primary-hover: oklch(0.8503 0.1363 151.71);
|
|
363
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
364
|
+
--ring: oklch(0.8003 0.1821 151.71);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
[data-accent='amber'] {
|
|
368
|
+
--primary: oklch(0.5553 0.1455 49);
|
|
369
|
+
--primary-foreground: oklch(1 0 0);
|
|
370
|
+
--primary-hover: oklch(0.5053 0.1455 49);
|
|
371
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
372
|
+
--ring: oklch(0.5553 0.1455 49);
|
|
373
|
+
}
|
|
374
|
+
.dark[data-accent='amber'] {
|
|
375
|
+
--primary: oklch(0.8369 0.1644 84.43);
|
|
376
|
+
--primary-foreground: oklch(0 0 0);
|
|
377
|
+
--primary-hover: oklch(0.8869 0.0991 84.43);
|
|
378
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
379
|
+
--ring: oklch(0.8369 0.1644 84.43);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
[data-accent='cyan'] {
|
|
383
|
+
--primary: oklch(0.5198 0.0936 223.13);
|
|
384
|
+
--primary-foreground: oklch(1 0 0);
|
|
385
|
+
--primary-hover: oklch(0.4698 0.0936 223.13);
|
|
386
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
387
|
+
--ring: oklch(0.5198 0.0936 223.13);
|
|
388
|
+
}
|
|
389
|
+
.dark[data-accent='cyan'] {
|
|
390
|
+
--primary: oklch(0.7971 0.1339 211.53);
|
|
391
|
+
--primary-foreground: oklch(0 0 0);
|
|
392
|
+
--primary-hover: oklch(0.8471 0.102 211.53);
|
|
393
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
394
|
+
--ring: oklch(0.7971 0.1339 211.53);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
[data-accent='pink'] {
|
|
398
|
+
--primary: oklch(0.5246 0.199 3.96);
|
|
399
|
+
--primary-foreground: oklch(1 0 0);
|
|
400
|
+
--primary-hover: oklch(0.4746 0.199 3.96);
|
|
401
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
402
|
+
--ring: oklch(0.5246 0.199 3.96);
|
|
403
|
+
}
|
|
404
|
+
.dark[data-accent='pink'] {
|
|
405
|
+
--primary: oklch(0.7253 0.1752 349.76);
|
|
406
|
+
--primary-foreground: oklch(0 0 0);
|
|
407
|
+
--primary-hover: oklch(0.7753 0.1752 349.76);
|
|
408
|
+
--primary-subtle: color-mix(in oklch, var(--primary) 16%, transparent);
|
|
409
|
+
--ring: oklch(0.7253 0.1752 349.76);
|
|
410
|
+
}
|
|
411
|
+
/* @end generated accents */
|
|
412
|
+
|
|
413
|
+
/* ---------------------------------------------------------------------------
|
|
414
|
+
* 3b. The font axis
|
|
415
|
+
*
|
|
416
|
+
* A selection, like the accent. `data-font` sits on the same element as `dark` and
|
|
417
|
+
* `data-accent`; the default (absent) is Space Grotesk, which is what the visual
|
|
418
|
+
* language was drawn against.
|
|
419
|
+
*
|
|
420
|
+
* `system` is deliberately first-class rather than a fallback: an application that
|
|
421
|
+
* wants the platform's own face — which is what a terminal and a code editor
|
|
422
|
+
* usually look best in — should be able to say so without losing the rest of the
|
|
423
|
+
* system.
|
|
424
|
+
*
|
|
425
|
+
* ## Width compensation
|
|
426
|
+
*
|
|
427
|
+
* A monospace face is roughly 20% wider than Space Grotesk at the same size, and
|
|
428
|
+
* every measurement in this library — control heights, a rail's label budget, a
|
|
429
|
+
* button's padding — was drawn against the proportional face. Switching the UI
|
|
430
|
+
* font to mono without compensating therefore overflows exactly the tight places:
|
|
431
|
+
* a rail label truncates, a two-word button wraps, a status pill clips.
|
|
432
|
+
*
|
|
433
|
+
* `--ui-tracking` and `--ui-word-spacing` are the remedy, and they are tokens
|
|
434
|
+
* rather than one blanket rule because the two families want *opposite*
|
|
435
|
+
* treatment. Mono's space character is a full advance-width cell — three times
|
|
436
|
+
* Space Grotesk's — so a two-word label reads as two floating words and needs
|
|
437
|
+
* negative word spacing; its glyphs also carry more sidebearing, so a tighter
|
|
438
|
+
* track is safe. Neither correction is wanted on a proportional face, which is
|
|
439
|
+
* why the defaults are `normal`.
|
|
440
|
+
*
|
|
441
|
+
* Apply them where chrome is measured: `tracking-(--ui-tracking)
|
|
442
|
+
* word-spacing-(--ui-word-spacing)`. Body copy does not need them — it wraps.
|
|
443
|
+
* ------------------------------------------------------------------------- */
|
|
444
|
+
|
|
445
|
+
/* The default, and it has to be declared *before* the blocks below.
|
|
446
|
+
*
|
|
447
|
+
* `:root` and `[data-font='…']` have the same specificity, so the later one wins
|
|
448
|
+
* outright — there is no cascade subtlety here, only a position in the file. Written
|
|
449
|
+
* after them, where it naturally belongs next to the `--font-family-*` stacks it
|
|
450
|
+
* references, the default shadowed all five selections: every typeface resolved to
|
|
451
|
+
* Space Grotesk while the toolbar reported something else.
|
|
452
|
+
*
|
|
453
|
+
* So the default lives here instead, in its own two-line block, and the stacks stay
|
|
454
|
+
* where they are. The references resolve fine even though `--font-family-*` is
|
|
455
|
+
* declared further down, because a custom property is resolved where it is used
|
|
456
|
+
* rather than where it is declared. What matters is the order of two declarations of
|
|
457
|
+
* the *same* property, and this is the only one.
|
|
458
|
+
*
|
|
459
|
+
* `tests/appearance-axes.test.ts` asserts both the order and that there is exactly
|
|
460
|
+
* one such default, because "a block above the default is doing nothing" is invisible
|
|
461
|
+
* to review and to every behavioural test.
|
|
462
|
+
*/
|
|
463
|
+
:root {
|
|
464
|
+
--font-sans: var(--font-family-space-grotesk);
|
|
465
|
+
--font-mono: var(--font-family-jetbrains-mono);
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
[data-font='system'] {
|
|
469
|
+
--font-sans: var(--font-family-system);
|
|
470
|
+
--font-mono: var(--font-family-system-mono);
|
|
471
|
+
}
|
|
472
|
+
[data-font='geist'] {
|
|
473
|
+
--font-sans: var(--font-family-geist);
|
|
474
|
+
--font-mono: var(--font-family-geist-mono);
|
|
475
|
+
}
|
|
476
|
+
[data-font='geist-mono'] {
|
|
477
|
+
--font-sans: var(--font-family-geist-mono);
|
|
478
|
+
--font-mono: var(--font-family-geist-mono);
|
|
479
|
+
--ui-tracking: -0.03em;
|
|
480
|
+
--ui-word-spacing: -1.5px;
|
|
481
|
+
}
|
|
482
|
+
[data-font='jetbrains-mono'] {
|
|
483
|
+
--font-sans: var(--font-family-jetbrains-mono);
|
|
484
|
+
--font-mono: var(--font-family-jetbrains-mono);
|
|
485
|
+
--ui-tracking: -0.04em;
|
|
486
|
+
--ui-word-spacing: -2.5px;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/* The default, and it has to be declared *above* the blocks above.
|
|
490
|
+
*
|
|
491
|
+
* `:root` and `[data-font='…']` have the same specificity, so the later one wins
|
|
492
|
+
* outright. With the default written after them — which is where it naturally
|
|
493
|
+
* belongs, next to the stacks it references — every `[data-font]` block was
|
|
494
|
+
* dead: all five typefaces resolved to Space Grotesk while the toolbar reported a
|
|
495
|
+
* different selection.
|
|
496
|
+
*
|
|
497
|
+
* The references resolve fine from here even though `--font-family-*` is declared
|
|
498
|
+
* further down, because a custom property is resolved where it is used rather than
|
|
499
|
+
* where it is declared. The ordering that matters is between two declarations of
|
|
500
|
+
* the *same* property, and there is only one of those below.
|
|
501
|
+
*
|
|
502
|
+
* `tests/appearance-axes.test.ts` asserts this order, because "the block is above
|
|
503
|
+
* the default" is invisible to review and to every behavioural test.
|
|
504
|
+
*/
|
|
505
|
+
|
|
506
|
+
/* ---------------------------------------------------------------------------
|
|
507
|
+
* 4. Non-colour scales
|
|
508
|
+
*
|
|
509
|
+
* Outside the theme blocks because they do not change with polarity — only with a
|
|
510
|
+
* deliberate density or shape decision.
|
|
511
|
+
* ------------------------------------------------------------------------- */
|
|
512
|
+
:root {
|
|
513
|
+
/* Radius. `--radius-lg` is the knob; `--radius` is an alias kept because shadcn
|
|
514
|
+
components and @shadcn/lint both expect it. */
|
|
515
|
+
--radius-lg: 0.625rem; /* 10px */
|
|
516
|
+
--radius-sm: 0.375rem; /* 6px */
|
|
517
|
+
--radius-md: 0.5rem; /* 8px */
|
|
518
|
+
--radius-xl: 0.875rem; /* 14px */
|
|
519
|
+
--radius-2xl: 1.125rem; /* 18px */
|
|
520
|
+
--radius: var(--radius-lg);
|
|
521
|
+
|
|
522
|
+
/* --- Type ---------------------------------------------------------------
|
|
523
|
+
* The families are declared once, and `--font-sans`/`--font-mono` resolve from
|
|
524
|
+
* a *selection* rather than naming one face directly. That is what makes the
|
|
525
|
+
* family a user preference — the same shape as the accent axis — instead of a
|
|
526
|
+
* hard-coded choice an application cannot override without restating the
|
|
527
|
+
* stacks.
|
|
528
|
+
*
|
|
529
|
+
* Every stack ends in the generic family, so a consumer that skips the font
|
|
530
|
+
* import still renders correctly, just in another face.
|
|
531
|
+
*/
|
|
532
|
+
--font-family-space-grotesk: 'Space Grotesk Variable', 'Space Grotesk', sans-serif;
|
|
533
|
+
--font-family-jetbrains-mono: 'JetBrains Mono Variable', 'JetBrains Mono', monospace;
|
|
534
|
+
--font-family-geist: 'Geist Variable', 'Geist', sans-serif;
|
|
535
|
+
--font-family-geist-mono: 'Geist Mono Variable', 'Geist Mono', monospace;
|
|
536
|
+
--font-family-system: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
|
|
537
|
+
--font-family-system-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
|
|
538
|
+
|
|
539
|
+
/* Width compensation for the mono UI fonts. `normal` on the proportional face,
|
|
540
|
+
tightened by the `[data-font]` blocks above when the UI font is monospace. */
|
|
541
|
+
--ui-tracking: normal;
|
|
542
|
+
--ui-word-spacing: normal;
|
|
543
|
+
|
|
544
|
+
/* Space Grotesk is the default because it is the face the visual language was
|
|
545
|
+
drawn against: the donor this system's structure comes from sets it, and its
|
|
546
|
+
slightly narrow, geometric forms are part of the look. The declaration of that
|
|
547
|
+
default is not here but in the small `:root` block above the `[data-font]`
|
|
548
|
+
blocks, because it has to precede them; `tests/appearance-axes.test.ts` holds
|
|
549
|
+
that ordering, and it is why this comment points elsewhere rather than
|
|
550
|
+
restating a value. */
|
|
551
|
+
|
|
552
|
+
/* Type scale. Each rung carries its own line-height because the ratio is not
|
|
553
|
+
constant: small text needs more leading to stay readable, display text needs
|
|
554
|
+
less to stay coherent. */
|
|
555
|
+
--text-2xs: 0.6875rem; /* 11px */
|
|
556
|
+
--text-2xs--line-height: 1.45;
|
|
557
|
+
--text-xs: 0.75rem; /* 12px */
|
|
558
|
+
--text-xs--line-height: 1.5;
|
|
559
|
+
--text-sm: 0.875rem; /* 14px — the interface default */
|
|
560
|
+
--text-sm--line-height: 1.55;
|
|
561
|
+
--text-base: 1rem;
|
|
562
|
+
--text-base--line-height: 1.5;
|
|
563
|
+
--text-lg: 1.125rem;
|
|
564
|
+
--text-lg--line-height: 1.4;
|
|
565
|
+
--text-xl: 1.25rem;
|
|
566
|
+
--text-xl--line-height: 1.35;
|
|
567
|
+
--text-2xl: 1.5rem;
|
|
568
|
+
--text-2xl--line-height: 1.25;
|
|
569
|
+
--text-3xl: 1.875rem;
|
|
570
|
+
--text-3xl--line-height: 1.2;
|
|
571
|
+
|
|
572
|
+
/* Control density. KiroCrew's centre of gravity — a 28px control in toolbars and
|
|
573
|
+
a 32px control in forms — is kept, because the density is the structural half
|
|
574
|
+
of the design language even though the palette is adea's. */
|
|
575
|
+
--control-height-2xs: 1.25rem; /* 20px */
|
|
576
|
+
--control-height-xs: 1.5rem; /* 24px */
|
|
577
|
+
--control-height-sm: 1.75rem; /* 28px — toolbar default */
|
|
578
|
+
--control-height-md: 2rem; /* 32px — form default */
|
|
579
|
+
--control-height-lg: 2.25rem; /* 36px */
|
|
580
|
+
--control-height-xl: 2.5rem; /* 40px */
|
|
581
|
+
|
|
582
|
+
--control-padding-2xs: 0.375rem;
|
|
583
|
+
--control-padding-xs: 0.5rem;
|
|
584
|
+
--control-padding-sm: 0.625rem;
|
|
585
|
+
--control-padding-md: 0.75rem;
|
|
586
|
+
--control-padding-lg: 0.875rem;
|
|
587
|
+
--control-padding-xl: 1rem;
|
|
588
|
+
|
|
589
|
+
--row-height-sm: 1.75rem;
|
|
590
|
+
--row-height-md: 2rem;
|
|
591
|
+
--row-height-lg: 2.25rem;
|
|
592
|
+
|
|
593
|
+
/* Space Grotesk is the default because it is the face the visual language was
|
|
594
|
+
drawn against: the donor this system's structure comes from sets it, and its
|
|
595
|
+
slightly narrow, geometric forms are part of the look. The *selection* that
|
|
596
|
+
picks between it and the other four is the `:root` block above, which has to
|
|
597
|
+
precede every `[data-font]` block for the reason given there. */
|
|
598
|
+
|
|
599
|
+
/* Shell geometry. One place to change how wide a rail or sidebar is, so the two
|
|
600
|
+
consumer apps cannot disagree. 74px is the figure KiroCrew's own layout hook
|
|
601
|
+
publishes as `RAIL_W_COLLAPSED`; an older comment in that codebase names 58px,
|
|
602
|
+
which its shipped behaviour does not use. */
|
|
603
|
+
--rail-width: 4.625rem; /* 74px */
|
|
604
|
+
--rail-width-expanded: 14.75rem; /* 236px */
|
|
605
|
+
--rail-item-height: 2.25rem;
|
|
606
|
+
--sidebar-width: 16rem; /* 256px */
|
|
607
|
+
--sidebar-width-compact: 3rem;
|
|
608
|
+
--topbar-height: 3rem;
|
|
609
|
+
--statusbar-height: 1.75rem;
|
|
610
|
+
|
|
611
|
+
/* Shadows. Two parts on purpose: a tinted spread that reads as elevation, plus a
|
|
612
|
+
hairline that keeps an edge visible when the surface behind a panel is the
|
|
613
|
+
same colour as the panel — which is the light theme, where `--card` and
|
|
614
|
+
`--background` are both white. */
|
|
615
|
+
--shadow-2xs: 0 1px 2px 0 oklch(0 0 0 / 0.05);
|
|
616
|
+
--shadow-xs: 0 1px 2px 0 oklch(0 0 0 / 0.06);
|
|
617
|
+
--shadow-sm: 0 1px 2px oklch(0 0 0 / 0.06), 0 0 0 1px oklch(0 0 0 / 0.04);
|
|
618
|
+
--shadow-md: 0 4px 12px oklch(0 0 0 / 0.08), 0 0 0 1px oklch(0 0 0 / 0.04);
|
|
619
|
+
--shadow-lg: 0 12px 28px oklch(0 0 0 / 0.12);
|
|
620
|
+
--shadow-xl: 0 20px 44px oklch(0 0 0 / 0.16);
|
|
621
|
+
|
|
622
|
+
/* Motion. Two durations cover the system: `fast` for a state change the user is
|
|
623
|
+
already watching, `normal` for an entrance. The easing is KiroCrew's entrance
|
|
624
|
+
curve — a fast start and a long settle, which reads as decisive rather than
|
|
625
|
+
floaty. */
|
|
626
|
+
--duration-fast: 120ms;
|
|
627
|
+
--duration-normal: 200ms;
|
|
628
|
+
--duration-slow: 320ms;
|
|
629
|
+
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
|
|
630
|
+
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
631
|
+
|
|
632
|
+
/* Overlay stacking scale. Every overlay names a rung; a one-off z-index is how
|
|
633
|
+
two overlays end up fighting, so none exist. */
|
|
634
|
+
--z-base: 0;
|
|
635
|
+
--z-docked: 10;
|
|
636
|
+
--z-sticky: 20;
|
|
637
|
+
--z-drawer: 110;
|
|
638
|
+
--z-dialog: 120;
|
|
639
|
+
--z-menu: 140;
|
|
640
|
+
--z-tooltip: 160;
|
|
641
|
+
--z-toast: 180;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
/* Compact density: the whole control ladder one rung tighter.
|
|
645
|
+
*
|
|
646
|
+
* It is a *shift* rather than a second set of numbers chosen by eye, so the
|
|
647
|
+
* relationship between the rungs is identical at either density and a control keeps
|
|
648
|
+
* its place in the ladder. Height moves by 4px per rung and padding by 2px, which is
|
|
649
|
+
* the step each already uses, and the row heights move by the same 4px. A `sm`
|
|
650
|
+
* control goes from 28px to 24px — the `xs` control's comfortable height. That is the
|
|
651
|
+
* intended meaning, not an oversight.
|
|
652
|
+
*
|
|
653
|
+
* 16px at `2xs` is the floor. One rung below it would be 12px, under the minimum
|
|
654
|
+
* comfortable touch target, so the ladder compresses from the bottom rather than
|
|
655
|
+
* overflowing.
|
|
656
|
+
*
|
|
657
|
+
* `comfortable` is the *absence* of this attribute, so a document that ships no
|
|
658
|
+
* `data-density` at all renders exactly as it did before density was selectable.
|
|
659
|
+
* That is what makes this additive: the ladder in `:root` is never overridden, only
|
|
660
|
+
* shadowed, and nothing outside this block declares these properties.
|
|
661
|
+
*/
|
|
662
|
+
[data-density='compact'] {
|
|
663
|
+
--control-height-2xs: 1rem; /* 16px — the floor */
|
|
664
|
+
--control-height-xs: 1.25rem; /* 20px */
|
|
665
|
+
--control-height-sm: 1.5rem; /* 24px */
|
|
666
|
+
--control-height-md: 1.75rem; /* 28px */
|
|
667
|
+
--control-height-lg: 2rem; /* 32px */
|
|
668
|
+
--control-height-xl: 2.25rem; /* 36px */
|
|
669
|
+
|
|
670
|
+
--control-padding-2xs: 0.25rem;
|
|
671
|
+
--control-padding-xs: 0.375rem;
|
|
672
|
+
--control-padding-sm: 0.5rem;
|
|
673
|
+
--control-padding-md: 0.625rem;
|
|
674
|
+
--control-padding-lg: 0.75rem;
|
|
675
|
+
--control-padding-xl: 0.875rem;
|
|
676
|
+
|
|
677
|
+
--row-height-sm: 1.5rem;
|
|
678
|
+
--row-height-md: 1.75rem;
|
|
679
|
+
--row-height-lg: 2rem;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
.dark {
|
|
683
|
+
--shadow-2xs: 0 1px 2px 0 oklch(0 0 0 / 0.2);
|
|
684
|
+
--shadow-xs: 0 1px 2px oklch(0 0 0 / 0.2);
|
|
685
|
+
--shadow-sm: 0 1px 2px oklch(0 0 0 / 0.2);
|
|
686
|
+
--shadow-md: 0 4px 12px oklch(0 0 0 / 0.25), 0 0 0 1px oklch(1 0 0 / 0.03);
|
|
687
|
+
--shadow-lg: 0 12px 28px oklch(0 0 0 / 0.35);
|
|
688
|
+
--shadow-xl: 0 20px 44px oklch(0 0 0 / 0.45);
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
/* ---------------------------------------------------------------------------
|
|
692
|
+
* 4b. Named CSS hooks
|
|
693
|
+
*
|
|
694
|
+
* The sanctioned escape hatch for values that are *data* rather than design
|
|
695
|
+
* decisions: a theme preview paints another variant's colours, and those are not
|
|
696
|
+
* tokens of the active theme. A hook takes the value through a custom property so
|
|
697
|
+
* the component never writes a literal colour and the linter can still see that
|
|
698
|
+
* nothing raw is being styled.
|
|
699
|
+
* ------------------------------------------------------------------------- */
|
|
700
|
+
|
|
701
|
+
.theme-preview-edge {
|
|
702
|
+
border-color: var(--preview-edge, var(--border));
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
/* ---------------------------------------------------------------------------
|
|
706
|
+
* 5. Tailwind namespace mapping
|
|
707
|
+
*
|
|
708
|
+
* `@theme inline` publishes the tokens above as Tailwind utilities. Every
|
|
709
|
+
* declaration is an `inline` reference to the runtime variable, never a copy: that
|
|
710
|
+
* is what lets a `.dark` class or a `[data-accent]` selection take effect without
|
|
711
|
+
* a rebuild.
|
|
712
|
+
* ------------------------------------------------------------------------- */
|
|
8
713
|
@theme inline {
|
|
9
714
|
--color-background: var(--background);
|
|
10
715
|
--color-foreground: var(--foreground);
|
|
@@ -14,6 +719,8 @@
|
|
|
14
719
|
--color-popover-foreground: var(--popover-foreground);
|
|
15
720
|
--color-primary: var(--primary);
|
|
16
721
|
--color-primary-foreground: var(--primary-foreground);
|
|
722
|
+
--color-primary-hover: var(--primary-hover);
|
|
723
|
+
--color-primary-subtle: var(--primary-subtle);
|
|
17
724
|
--color-secondary: var(--secondary);
|
|
18
725
|
--color-secondary-foreground: var(--secondary-foreground);
|
|
19
726
|
--color-muted: var(--muted);
|
|
@@ -21,235 +728,137 @@
|
|
|
21
728
|
--color-accent: var(--accent);
|
|
22
729
|
--color-accent-foreground: var(--accent-foreground);
|
|
23
730
|
--color-destructive: var(--destructive);
|
|
731
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
732
|
+
--color-destructive-subtle: var(--destructive-subtle);
|
|
24
733
|
--color-success: var(--success);
|
|
25
|
-
--color-
|
|
26
|
-
--color-
|
|
27
|
-
--color-
|
|
734
|
+
--color-success-foreground: var(--success-foreground);
|
|
735
|
+
--color-success-subtle: var(--success-subtle);
|
|
736
|
+
--color-warning: var(--warning);
|
|
737
|
+
--color-warning-foreground: var(--warning-foreground);
|
|
738
|
+
--color-warning-subtle: var(--warning-subtle);
|
|
739
|
+
--color-info: var(--info);
|
|
740
|
+
--color-info-foreground: var(--info-foreground);
|
|
741
|
+
--color-info-subtle: var(--info-subtle);
|
|
28
742
|
--color-border: var(--border);
|
|
29
743
|
--color-input: var(--input);
|
|
30
744
|
--color-ring: var(--ring);
|
|
31
|
-
--
|
|
32
|
-
--
|
|
33
|
-
--
|
|
34
|
-
--radius-xl: calc(var(--radius) + 4px);
|
|
35
|
-
}
|
|
745
|
+
--color-scrim: var(--scrim);
|
|
746
|
+
--color-scrim-foreground: var(--scrim-foreground);
|
|
747
|
+
--color-scrim-edge: var(--scrim-edge);
|
|
36
748
|
|
|
37
|
-
:
|
|
38
|
-
--
|
|
39
|
-
--
|
|
40
|
-
--
|
|
41
|
-
--
|
|
42
|
-
--
|
|
43
|
-
--
|
|
44
|
-
--popover-foreground: oklch(0.145 0 0);
|
|
45
|
-
--primary: oklch(0.205 0 0);
|
|
46
|
-
--primary-foreground: oklch(0.985 0 0);
|
|
47
|
-
--secondary: oklch(0.97 0 0);
|
|
48
|
-
--secondary-foreground: oklch(0.205 0 0);
|
|
49
|
-
--muted: oklch(0.97 0 0);
|
|
50
|
-
/* Muted text meets 4.5:1 on the muted surface it most often pairs with
|
|
51
|
-
(#f5f5f5 at 4.95:1; #737373 measured 4.34:1 there — WCAG audit #599). */
|
|
52
|
-
--muted-foreground: oklch(0.525 0 0);
|
|
53
|
-
--accent: oklch(0.97 0 0);
|
|
54
|
-
--accent-foreground: oklch(0.205 0 0);
|
|
55
|
-
--destructive: oklch(0.577 0.245 27.325);
|
|
56
|
-
/* Mirrors the literals the success button variant used to carry. */
|
|
57
|
-
--success: #1a7f37;
|
|
58
|
-
/* Theme-invariant dark glass for overlays and on-screen controls
|
|
59
|
-
(Tailwind slate-950). Same value in light and dark themes; the
|
|
60
|
-
foreground/edge tokens are the text and hairline drawn on it. */
|
|
61
|
-
--scrim: oklch(0.129 0.042 264.695);
|
|
62
|
-
--scrim-foreground: #fff;
|
|
63
|
-
--scrim-edge: #fff;
|
|
64
|
-
--border: oklch(0.922 0 0);
|
|
65
|
-
--input: oklch(0.922 0 0);
|
|
66
|
-
--ring: oklch(0.708 0 0);
|
|
67
|
-
/* The Adea mark keeps its own pairing in both themes; these are the two
|
|
68
|
-
values the logo used to hardcode. */
|
|
69
|
-
--workspace-logo-surface: #111827;
|
|
70
|
-
--workspace-logo-foreground: #f8fafc;
|
|
71
|
-
/* Overlay stacking scale — reference it as z-(--z-drawer) etc. in
|
|
72
|
-
components; do not add one-off z-[N] values. */
|
|
73
|
-
--z-drawer: 110;
|
|
74
|
-
--z-dialog: 120;
|
|
75
|
-
--z-menu: 140;
|
|
76
|
-
--z-tooltip: 160;
|
|
77
|
-
/* Surface glass. The appearance provider resolves the effective surface
|
|
78
|
-
(opaque/frosted/translucent) and reduced-transparency policy; these
|
|
79
|
-
declarations are the opaque defaults plus the frost amounts the resolved
|
|
80
|
-
values modulate. */
|
|
81
|
-
--surface-alpha: 1;
|
|
82
|
-
--surface-frost: 0.92;
|
|
83
|
-
--surface-translucent: 0.8;
|
|
84
|
-
/* Terminal roles for the default light variant (xterm ANSI, cursor,
|
|
85
|
-
selection). Non-default variants apply their manifest values inline; the
|
|
86
|
-
terminal consumes the custom properties so a theme switch updates a live
|
|
87
|
-
session without remounting. */
|
|
88
|
-
--terminal-background: #ffffff;
|
|
89
|
-
--terminal-foreground: #1b1f24;
|
|
90
|
-
--terminal-cursor: #24292f;
|
|
91
|
-
--terminal-selection: #b6c7ff;
|
|
92
|
-
--terminal-ansi-black: #1b1f24;
|
|
93
|
-
--terminal-ansi-red: #b91c1c;
|
|
94
|
-
--terminal-ansi-green: #116a2e;
|
|
95
|
-
--terminal-ansi-yellow: #8a5a1b;
|
|
96
|
-
--terminal-ansi-blue: #0b57d0;
|
|
97
|
-
--terminal-ansi-magenta: #a0186f;
|
|
98
|
-
--terminal-ansi-cyan: #0e7490;
|
|
99
|
-
--terminal-ansi-white: #57606a;
|
|
100
|
-
--terminal-ansi-bright-black: #57606a;
|
|
101
|
-
--terminal-ansi-bright-red: #c94d4d;
|
|
102
|
-
--terminal-ansi-bright-green: #1f9d4f;
|
|
103
|
-
--terminal-ansi-bright-yellow: #a9752c;
|
|
104
|
-
--terminal-ansi-bright-blue: #3b82f6;
|
|
105
|
-
--terminal-ansi-bright-magenta: #c04a92;
|
|
106
|
-
--terminal-ansi-bright-cyan: #0891b2;
|
|
107
|
-
--terminal-ansi-bright-white: #24292f;
|
|
108
|
-
/* Editor roles (CodeMirror syntax/diff/search) for the default light
|
|
109
|
-
variant. */
|
|
110
|
-
--editor-keyword: #0b57d0;
|
|
111
|
-
--editor-string: #116a2e;
|
|
112
|
-
--editor-number: #8a5a1b;
|
|
113
|
-
--editor-comment: #57606a;
|
|
114
|
-
--editor-function: #a0186f;
|
|
115
|
-
--editor-variable: #1b1f24;
|
|
116
|
-
--editor-type: #0e7490;
|
|
117
|
-
--editor-tag: #b91c1c;
|
|
118
|
-
--editor-attribute: #8a5a1b;
|
|
119
|
-
--editor-operator: #1b1f24;
|
|
120
|
-
--editor-heading: #1b1f24;
|
|
121
|
-
--editor-link: #0b57d0;
|
|
122
|
-
--editor-diff-add: #116a2e;
|
|
123
|
-
--editor-diff-delete: #b91c1c;
|
|
124
|
-
--editor-diff-hunk: #57606a;
|
|
125
|
-
--editor-search-match: #8a5a1b;
|
|
126
|
-
/* Chart series roles. */
|
|
127
|
-
--chart-1: #0b57d0;
|
|
128
|
-
--chart-2: #116a2e;
|
|
129
|
-
--chart-3: #8a5a1b;
|
|
130
|
-
--chart-4: #a0186f;
|
|
131
|
-
--chart-5: #0e7490;
|
|
132
|
-
--chart-6: #57606a;
|
|
133
|
-
}
|
|
749
|
+
--color-surface-sunken: var(--surface-sunken);
|
|
750
|
+
--color-surface: var(--surface);
|
|
751
|
+
--color-surface-raised: var(--surface-raised);
|
|
752
|
+
--color-surface-overlay: var(--surface-overlay);
|
|
753
|
+
--color-surface-hover: var(--surface-hover);
|
|
754
|
+
--color-surface-active: var(--surface-active);
|
|
755
|
+
--color-chrome: var(--chrome);
|
|
134
756
|
|
|
135
|
-
|
|
136
|
-
--
|
|
137
|
-
--
|
|
138
|
-
--
|
|
139
|
-
--
|
|
140
|
-
--
|
|
141
|
-
--
|
|
142
|
-
|
|
143
|
-
--
|
|
144
|
-
--
|
|
145
|
-
--
|
|
146
|
-
--
|
|
147
|
-
--
|
|
148
|
-
--
|
|
149
|
-
|
|
150
|
-
--
|
|
151
|
-
--
|
|
152
|
-
--
|
|
153
|
-
--
|
|
154
|
-
--
|
|
155
|
-
|
|
156
|
-
--
|
|
157
|
-
--
|
|
158
|
-
--
|
|
159
|
-
|
|
160
|
-
--
|
|
161
|
-
--
|
|
162
|
-
--
|
|
163
|
-
--
|
|
164
|
-
--
|
|
165
|
-
--
|
|
166
|
-
--
|
|
167
|
-
--
|
|
168
|
-
|
|
169
|
-
--
|
|
170
|
-
--
|
|
171
|
-
--
|
|
172
|
-
--
|
|
173
|
-
--
|
|
174
|
-
--
|
|
175
|
-
--
|
|
176
|
-
--
|
|
177
|
-
--
|
|
178
|
-
--
|
|
179
|
-
--
|
|
180
|
-
--
|
|
181
|
-
--
|
|
182
|
-
--
|
|
183
|
-
--
|
|
184
|
-
--
|
|
185
|
-
|
|
186
|
-
--
|
|
187
|
-
--
|
|
188
|
-
--
|
|
189
|
-
--
|
|
190
|
-
--
|
|
191
|
-
|
|
192
|
-
--
|
|
193
|
-
--
|
|
194
|
-
--
|
|
195
|
-
--
|
|
196
|
-
--
|
|
197
|
-
--
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
/*
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
html,
|
|
245
|
-
body {
|
|
246
|
-
min-height: 100%;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
body {
|
|
250
|
-
position: relative;
|
|
251
|
-
margin: 0;
|
|
252
|
-
background: var(--background);
|
|
253
|
-
color: var(--foreground);
|
|
254
|
-
}
|
|
757
|
+
--color-diff-add: var(--diff-add);
|
|
758
|
+
--color-diff-add-foreground: var(--diff-add-foreground);
|
|
759
|
+
--color-diff-delete: var(--diff-delete);
|
|
760
|
+
--color-diff-delete-foreground: var(--diff-delete-foreground);
|
|
761
|
+
--color-diff-hunk: var(--diff-hunk);
|
|
762
|
+
--color-diff-hunk-foreground: var(--diff-hunk-foreground);
|
|
763
|
+
--color-diff-meta-foreground: var(--diff-meta-foreground);
|
|
764
|
+
|
|
765
|
+
--color-chart-1: var(--chart-1);
|
|
766
|
+
--color-chart-2: var(--chart-2);
|
|
767
|
+
--color-chart-3: var(--chart-3);
|
|
768
|
+
--color-chart-4: var(--chart-4);
|
|
769
|
+
--color-chart-5: var(--chart-5);
|
|
770
|
+
--color-chart-6: var(--chart-6);
|
|
771
|
+
|
|
772
|
+
--color-sidebar: var(--sidebar);
|
|
773
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
774
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
775
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
776
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
777
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
778
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
779
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
780
|
+
--color-sidebar-muted-foreground: var(--sidebar-muted-foreground);
|
|
781
|
+
|
|
782
|
+
--font-sans: var(--font-sans);
|
|
783
|
+
--font-mono: var(--font-mono);
|
|
784
|
+
--font-family-space-grotesk: var(--font-family-space-grotesk);
|
|
785
|
+
--font-family-jetbrains-mono: var(--font-family-jetbrains-mono);
|
|
786
|
+
--font-family-geist: var(--font-family-geist);
|
|
787
|
+
--font-family-geist-mono: var(--font-family-geist-mono);
|
|
788
|
+
--font-family-system: var(--font-family-system);
|
|
789
|
+
--font-family-system-mono: var(--font-family-system-mono);
|
|
790
|
+
|
|
791
|
+
--text-2xs: var(--text-2xs);
|
|
792
|
+
--text-2xs--line-height: var(--text-2xs--line-height);
|
|
793
|
+
--text-xs: var(--text-xs);
|
|
794
|
+
--text-xs--line-height: var(--text-xs--line-height);
|
|
795
|
+
--text-sm: var(--text-sm);
|
|
796
|
+
--text-sm--line-height: var(--text-sm--line-height);
|
|
797
|
+
--text-base: var(--text-base);
|
|
798
|
+
--text-base--line-height: var(--text-base--line-height);
|
|
799
|
+
--text-lg: var(--text-lg);
|
|
800
|
+
--text-lg--line-height: var(--text-lg--line-height);
|
|
801
|
+
--text-xl: var(--text-xl);
|
|
802
|
+
--text-xl--line-height: var(--text-xl--line-height);
|
|
803
|
+
--text-2xl: var(--text-2xl);
|
|
804
|
+
--text-2xl--line-height: var(--text-2xl--line-height);
|
|
805
|
+
--text-3xl: var(--text-3xl);
|
|
806
|
+
--text-3xl--line-height: var(--text-3xl--line-height);
|
|
807
|
+
|
|
808
|
+
--radius-sm: var(--radius-sm);
|
|
809
|
+
--radius-md: var(--radius-md);
|
|
810
|
+
--radius-lg: var(--radius-lg);
|
|
811
|
+
--radius-xl: var(--radius-xl);
|
|
812
|
+
--radius-2xl: var(--radius-2xl);
|
|
813
|
+
|
|
814
|
+
--shadow-2xs: var(--shadow-2xs);
|
|
815
|
+
--shadow-xs: var(--shadow-xs);
|
|
816
|
+
--shadow-sm: var(--shadow-sm);
|
|
817
|
+
--shadow-md: var(--shadow-md);
|
|
818
|
+
--shadow-lg: var(--shadow-lg);
|
|
819
|
+
--shadow-xl: var(--shadow-xl);
|
|
820
|
+
|
|
821
|
+
/* Control and row heights become real utilities (`h-control-md`, `h-row-md`), so a
|
|
822
|
+
component never writes a pixel height. */
|
|
823
|
+
--height-control-2xs: var(--control-height-2xs);
|
|
824
|
+
--height-control-xs: var(--control-height-xs);
|
|
825
|
+
--height-control-sm: var(--control-height-sm);
|
|
826
|
+
--height-control-md: var(--control-height-md);
|
|
827
|
+
--height-control-lg: var(--control-height-lg);
|
|
828
|
+
--height-control-xl: var(--control-height-xl);
|
|
829
|
+
--height-row-sm: var(--row-height-sm);
|
|
830
|
+
--height-row-md: var(--row-height-md);
|
|
831
|
+
--height-row-lg: var(--row-height-lg);
|
|
832
|
+
--height-rail-item: var(--rail-item-height);
|
|
833
|
+
--height-topbar: var(--topbar-height);
|
|
834
|
+
--height-statusbar: var(--statusbar-height);
|
|
835
|
+
|
|
836
|
+
--spacing-control-2xs: var(--control-padding-2xs);
|
|
837
|
+
--spacing-control-xs: var(--control-padding-xs);
|
|
838
|
+
--spacing-control-sm: var(--control-padding-sm);
|
|
839
|
+
--spacing-control-md: var(--control-padding-md);
|
|
840
|
+
--spacing-control-lg: var(--control-padding-lg);
|
|
841
|
+
--spacing-control-xl: var(--control-padding-xl);
|
|
842
|
+
|
|
843
|
+
--width-rail: var(--rail-width);
|
|
844
|
+
--width-rail-expanded: var(--rail-width-expanded);
|
|
845
|
+
--width-sidebar: var(--sidebar-width);
|
|
846
|
+
--width-sidebar-compact: var(--sidebar-width-compact);
|
|
847
|
+
|
|
848
|
+
--z-docked: var(--z-docked);
|
|
849
|
+
--z-sticky: var(--z-sticky);
|
|
850
|
+
--z-drawer: var(--z-drawer);
|
|
851
|
+
--z-dialog: var(--z-dialog);
|
|
852
|
+
--z-menu: var(--z-menu);
|
|
853
|
+
--z-tooltip: var(--z-tooltip);
|
|
854
|
+
--z-toast: var(--z-toast);
|
|
855
|
+
|
|
856
|
+
--ease-out: var(--ease-out);
|
|
857
|
+
--ease-in-out: var(--ease-in-out);
|
|
858
|
+
|
|
859
|
+
/* Make the system's motion the default for every `transition-*` utility, so a
|
|
860
|
+
component that forgets an explicit duration still moves at the design-system
|
|
861
|
+
speed rather than Tailwind's stock 150ms/ease-in-out. */
|
|
862
|
+
--default-transition-duration: var(--duration-fast);
|
|
863
|
+
--default-transition-timing-function: var(--ease-out);
|
|
255
864
|
}
|