@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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { cn } from "../../lib/utils.js";
|
|
2
|
+
import { Button } from "../ui/button/button.js";
|
|
3
|
+
import { createComponent, insert, mergeProps, spread, template } from "solid-js/web";
|
|
4
|
+
import { X } from "lucide-solid";
|
|
5
|
+
import { Show, splitProps } from "solid-js";
|
|
6
|
+
//#region src/components/conversation/thread-panel.tsx
|
|
7
|
+
var _tmpl$ = /*#__PURE__*/ template(`<span class="text-muted-foreground text-2xs"> `);
|
|
8
|
+
var _tmpl$2 = /*#__PURE__*/ template(`<div class="bg-muted/40 shrink-0 border-b border-border px-3 py-2">`);
|
|
9
|
+
var _tmpl$3 = /*#__PURE__*/ template(`<div class="shrink-0 border-t border-border p-2">`);
|
|
10
|
+
var _tmpl$4 = /*#__PURE__*/ template(`<aside data-slot=thread-panel><header class="flex h-topbar shrink-0 items-center gap-2 border-b border-border px-3"><div class="flex min-w-0 flex-col"><span class="truncate text-sm font-semibold tracking-tight">Thread</span></div></header><div class="min-h-0 flex-1 overflow-y-auto overscroll-contain"role=region aria-label="Thread replies"tabindex=0>`);
|
|
11
|
+
var _tmpl$5 = /*#__PURE__*/ template(`<span class="text-muted-foreground truncate text-2xs">`);
|
|
12
|
+
var _tmpl$6 = /*#__PURE__*/ template(`<button type=button><span class="flex min-w-0 flex-col"><span class="truncate text-xs font-medium">`);
|
|
13
|
+
function ThreadPanel(props) {
|
|
14
|
+
const [local, rest] = splitProps(props, [
|
|
15
|
+
"class",
|
|
16
|
+
"label",
|
|
17
|
+
"count",
|
|
18
|
+
"root",
|
|
19
|
+
"composer",
|
|
20
|
+
"onClose",
|
|
21
|
+
"children"
|
|
22
|
+
]);
|
|
23
|
+
return (() => {
|
|
24
|
+
var _el$ = _tmpl$4(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
|
|
25
|
+
_el$3.firstChild;
|
|
26
|
+
var _el$8 = _el$2.nextSibling;
|
|
27
|
+
spread(_el$, mergeProps({
|
|
28
|
+
get ["aria-label"]() {
|
|
29
|
+
return `Thread: ${local.label}`;
|
|
30
|
+
},
|
|
31
|
+
get ["class"]() {
|
|
32
|
+
return cn("bg-surface flex h-full w-96 shrink-0 flex-col border-s border-border", local.class);
|
|
33
|
+
}
|
|
34
|
+
}, rest), false, true);
|
|
35
|
+
insert(_el$3, createComponent(Show, {
|
|
36
|
+
get when() {
|
|
37
|
+
return local.count !== void 0;
|
|
38
|
+
},
|
|
39
|
+
get children() {
|
|
40
|
+
var _el$5 = _tmpl$(), _el$6 = _el$5.firstChild;
|
|
41
|
+
insert(_el$5, () => local.count, _el$6);
|
|
42
|
+
insert(_el$5, () => local.count === 1 ? "reply" : "replies", null);
|
|
43
|
+
return _el$5;
|
|
44
|
+
}
|
|
45
|
+
}), null);
|
|
46
|
+
insert(_el$2, createComponent(Show, {
|
|
47
|
+
get when() {
|
|
48
|
+
return local.onClose;
|
|
49
|
+
},
|
|
50
|
+
get children() {
|
|
51
|
+
return createComponent(Button, {
|
|
52
|
+
variant: "ghost",
|
|
53
|
+
size: "icon-sm",
|
|
54
|
+
"aria-label": "Close thread",
|
|
55
|
+
"class": "ms-auto text-muted-foreground",
|
|
56
|
+
onClick: () => local.onClose?.(),
|
|
57
|
+
get children() {
|
|
58
|
+
return createComponent(X, {});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}), null);
|
|
63
|
+
insert(_el$, createComponent(Show, {
|
|
64
|
+
get when() {
|
|
65
|
+
return local.root;
|
|
66
|
+
},
|
|
67
|
+
get children() {
|
|
68
|
+
var _el$7 = _tmpl$2();
|
|
69
|
+
insert(_el$7, () => local.root);
|
|
70
|
+
return _el$7;
|
|
71
|
+
}
|
|
72
|
+
}), _el$8);
|
|
73
|
+
insert(_el$8, () => local.children);
|
|
74
|
+
insert(_el$, createComponent(Show, {
|
|
75
|
+
get when() {
|
|
76
|
+
return local.composer;
|
|
77
|
+
},
|
|
78
|
+
get children() {
|
|
79
|
+
var _el$9 = _tmpl$3();
|
|
80
|
+
insert(_el$9, () => local.composer);
|
|
81
|
+
return _el$9;
|
|
82
|
+
}
|
|
83
|
+
}), null);
|
|
84
|
+
return _el$;
|
|
85
|
+
})();
|
|
86
|
+
}
|
|
87
|
+
function AttachmentCard(props) {
|
|
88
|
+
const [local, rest] = splitProps(props, [
|
|
89
|
+
"class",
|
|
90
|
+
"name",
|
|
91
|
+
"detail",
|
|
92
|
+
"unavailable",
|
|
93
|
+
"icon"
|
|
94
|
+
]);
|
|
95
|
+
return (() => {
|
|
96
|
+
var _el$0 = _tmpl$6(), _el$1 = _el$0.firstChild, _el$10 = _el$1.firstChild;
|
|
97
|
+
spread(_el$0, mergeProps({
|
|
98
|
+
get disabled() {
|
|
99
|
+
return local.unavailable;
|
|
100
|
+
},
|
|
101
|
+
get ["class"]() {
|
|
102
|
+
return cn("flex max-w-64 items-center gap-2.5 rounded-md border border-border bg-surface-sunken px-2.5 py-2 text-start", "transition-colors ease-out outline-none", local.unavailable ? "cursor-not-allowed opacity-60" : "hover:border-input hover:bg-surface-hover", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle", "[&_svg]:size-4 [&_svg]:shrink-0", local.class);
|
|
103
|
+
}
|
|
104
|
+
}, rest), false, true);
|
|
105
|
+
insert(_el$0, () => local.icon, _el$1);
|
|
106
|
+
insert(_el$10, () => local.name);
|
|
107
|
+
insert(_el$1, createComponent(Show, {
|
|
108
|
+
get when() {
|
|
109
|
+
return local.detail;
|
|
110
|
+
},
|
|
111
|
+
get children() {
|
|
112
|
+
var _el$11 = _tmpl$5();
|
|
113
|
+
insert(_el$11, () => local.detail);
|
|
114
|
+
return _el$11;
|
|
115
|
+
}
|
|
116
|
+
}), null);
|
|
117
|
+
return _el$0;
|
|
118
|
+
})();
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
export { AttachmentCard, ThreadPanel };
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=thread-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-panel.js","names":["X","ComponentProps","JSX","Show","splitProps","cn","Button","ThreadPanelProps","label","count","root","Element","composer","onClose","ThreadPanel","props","local","rest","_el$","_tmpl$4","_el$2","firstChild","_el$3","_el$4","_el$8","nextSibling","_$spread","_$mergeProps","aria-label","class","_$insert","_$createComponent","when","undefined","children","_el$5","_tmpl$","_el$6","variant","size","onClick","_el$7","_tmpl$2","_el$9","_tmpl$3","AttachmentCardProps","name","detail","unavailable","icon","AttachmentCard","_el$0","_tmpl$6","_el$1","_el$10","disabled","_el$11","_tmpl$5","_$mergeProps","_$createComponent"],"sources":["../../../src/components/conversation/thread-panel.tsx"],"sourcesContent":["import { X } from 'lucide-solid'\nimport type { ComponentProps, JSX } from 'solid-js'\nimport { Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\nimport { Button } from '../ui/button/button'\n\n/**\n * ThreadPanel.\n *\n * The replies to one message, shown beside the transcript rather than in it. Keeping\n * a thread out of the main flow is what stops a busy side conversation from burying\n * the conversation everyone is having.\n *\n * The root message is repeated at the top — with `pinned` — because a thread read out\n * of context is a set of answers to a question the reader can no longer see.\n *\n * The panel is a `complementary` landmark with a label, so it is reachable by\n * landmark navigation rather than by tabbing through the transcript to find it.\n */\nexport type ThreadPanelProps = ComponentProps<'aside'> & {\n /** The thread's title, usually the root message's author. */\n label: string\n /** A count of replies, shown beside the label. */\n count?: number\n /** The root message, drawn above the replies. */\n root?: JSX.Element\n /** The composer for a reply. */\n composer?: JSX.Element\n onClose?: () => void\n}\n\nexport function ThreadPanel(props: ThreadPanelProps) {\n const [local, rest] = splitProps(props, [\n 'class',\n 'label',\n 'count',\n 'root',\n 'composer',\n 'onClose',\n 'children',\n ])\n\n return (\n <aside\n data-slot=\"thread-panel\"\n aria-label={`Thread: ${local.label}`}\n class={cn(\n 'bg-surface flex h-full w-96 shrink-0 flex-col border-s border-border',\n local.class\n )}\n {...rest}\n >\n <header class=\"flex h-topbar shrink-0 items-center gap-2 border-b border-border px-3\">\n <div class=\"flex min-w-0 flex-col\">\n <span class=\"truncate text-sm font-semibold tracking-tight\">Thread</span>\n <Show when={local.count !== undefined}>\n <span class=\"text-muted-foreground text-2xs\">\n {local.count} {local.count === 1 ? 'reply' : 'replies'}\n </span>\n </Show>\n </div>\n <Show when={local.onClose}>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Close thread\"\n class=\"ms-auto text-muted-foreground\"\n onClick={() => local.onClose?.()}\n >\n <X />\n </Button>\n </Show>\n </header>\n\n <Show when={local.root}>\n <div class=\"bg-muted/40 shrink-0 border-b border-border px-3 py-2\">{local.root}</div>\n </Show>\n\n <div\n class=\"min-h-0 flex-1 overflow-y-auto overscroll-contain\"\n role=\"region\"\n aria-label=\"Thread replies\"\n tabindex=\"0\"\n >\n {local.children}\n </div>\n\n <Show when={local.composer}>\n <div class=\"shrink-0 border-t border-border p-2\">{local.composer}</div>\n </Show>\n </aside>\n )\n}\n\n/**\n * An attachment card.\n *\n * A file is not a link: the reader wants to know what it is and how big it is before\n * deciding to open it, so the media type and size are on the card rather than behind\n * a click. `unavailable` is a real state — an artifact can be deleted, or live on a\n * device this one is not authorized for — and it is drawn as text rather than as a\n * dead link.\n */\nexport type AttachmentCardProps = ComponentProps<'button'> & {\n name: string\n /** A short description of the type and size, e.g. \"image/png · 24,120 bytes\". */\n detail?: string\n /** Draw the card as unavailable, with the reason as the detail. */\n unavailable?: boolean\n icon?: JSX.Element\n}\n\nexport function AttachmentCard(props: AttachmentCardProps) {\n const [local, rest] = splitProps(props, ['class', 'name', 'detail', 'unavailable', 'icon'])\n\n return (\n <button\n type=\"button\"\n disabled={local.unavailable}\n class={cn(\n 'flex max-w-64 items-center gap-2.5 rounded-md border border-border bg-surface-sunken px-2.5 py-2 text-start',\n 'transition-colors ease-out outline-none',\n local.unavailable\n ? 'cursor-not-allowed opacity-60'\n : 'hover:border-input hover:bg-surface-hover',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',\n '[&_svg]:size-4 [&_svg]:shrink-0',\n local.class\n )}\n {...rest}\n >\n {local.icon}\n <span class=\"flex min-w-0 flex-col\">\n <span class=\"truncate text-xs font-medium\">{local.name}</span>\n <Show when={local.detail}>\n <span class=\"text-muted-foreground truncate text-2xs\">{local.detail}</span>\n </Show>\n </span>\n </button>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ComponentProps, JSX } from 'solid-js';
|
|
2
|
+
/**
|
|
3
|
+
* AppShell.
|
|
4
|
+
*
|
|
5
|
+
* The window's skeleton: a grid whose regions are the side rail, an optional
|
|
6
|
+
* secondary sidebar, a top bar and the content area, with a status bar pinned
|
|
7
|
+
* to the bottom.
|
|
8
|
+
*
|
|
9
|
+
* Its whole job is to be the *one* place that decides the geometry, so two
|
|
10
|
+
* applications built on this library cannot disagree about how tall the top bar
|
|
11
|
+
* is or where the content begins. Every dimension comes from a token — not from
|
|
12
|
+
* a class on a child — which is why the regions do not accept a height.
|
|
13
|
+
*
|
|
14
|
+
* Both apps are desktop shells, so the arrangement is height-locked: the shell
|
|
15
|
+
* fills the viewport, each region scrolls internally, and the document itself
|
|
16
|
+
* never scrolls. That is what stops a wheel event over a pane from dragging the
|
|
17
|
+
* whole window.
|
|
18
|
+
*
|
|
19
|
+
* <AppShell>
|
|
20
|
+
* <SideRail>…</SideRail>
|
|
21
|
+
* <AppShellBody>
|
|
22
|
+
* <AppShellTopBar>…</AppShellTopBar>
|
|
23
|
+
* <AppShellMain>…</AppShellMain>
|
|
24
|
+
* </AppShellBody>
|
|
25
|
+
* </AppShell>
|
|
26
|
+
*
|
|
27
|
+
* A second sidebar goes inside `AppShellBody` as a `SidebarNav`, or as a
|
|
28
|
+
* `ResizablePanelGroup` when the user is allowed to resize the split.
|
|
29
|
+
*/
|
|
30
|
+
export declare function AppShell(props: ComponentProps<'div'>): JSX.Element;
|
|
31
|
+
/** The area to the right of the rail: top bar over content over status bar. */
|
|
32
|
+
export declare function AppShellBody(props: ComponentProps<'div'>): JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* The main content area.
|
|
35
|
+
*
|
|
36
|
+
* `min-h-0 min-w-0` is load-bearing: a flex child defaults to its content size,
|
|
37
|
+
* so without it a wide table or a long line makes the whole shell scroll
|
|
38
|
+
* horizontally instead of the pane.
|
|
39
|
+
*/
|
|
40
|
+
export declare function AppShellMain(props: ComponentProps<'main'>): JSX.Element;
|
|
41
|
+
/** A resizable split between two or more panes, filling the body. */
|
|
42
|
+
export declare function AppShellContent(props: ComponentProps<'div'> & {
|
|
43
|
+
children?: JSX.Element;
|
|
44
|
+
}): JSX.Element;
|
|
45
|
+
//# sourceMappingURL=app-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/app-shell/app-shell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,eAcpD;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,eAUxD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,eAUzD;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,eAUxF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.js";
|
|
2
|
+
import { mergeProps, spread, template } from "solid-js/web";
|
|
3
|
+
import { splitProps } from "solid-js";
|
|
4
|
+
//#region src/components/layout/app-shell/app-shell.tsx
|
|
5
|
+
var _tmpl$ = /*#__PURE__*/ template(`<div data-slot=app-shell>`);
|
|
6
|
+
var _tmpl$2 = /*#__PURE__*/ template(`<div data-slot=app-shell-body>`);
|
|
7
|
+
var _tmpl$3 = /*#__PURE__*/ template(`<main data-slot=app-shell-main>`);
|
|
8
|
+
var _tmpl$4 = /*#__PURE__*/ template(`<div data-slot=app-shell-content>`);
|
|
9
|
+
/**
|
|
10
|
+
* AppShell.
|
|
11
|
+
*
|
|
12
|
+
* The window's skeleton: a grid whose regions are the side rail, an optional
|
|
13
|
+
* secondary sidebar, a top bar and the content area, with a status bar pinned
|
|
14
|
+
* to the bottom.
|
|
15
|
+
*
|
|
16
|
+
* Its whole job is to be the *one* place that decides the geometry, so two
|
|
17
|
+
* applications built on this library cannot disagree about how tall the top bar
|
|
18
|
+
* is or where the content begins. Every dimension comes from a token — not from
|
|
19
|
+
* a class on a child — which is why the regions do not accept a height.
|
|
20
|
+
*
|
|
21
|
+
* Both apps are desktop shells, so the arrangement is height-locked: the shell
|
|
22
|
+
* fills the viewport, each region scrolls internally, and the document itself
|
|
23
|
+
* never scrolls. That is what stops a wheel event over a pane from dragging the
|
|
24
|
+
* whole window.
|
|
25
|
+
*
|
|
26
|
+
* <AppShell>
|
|
27
|
+
* <SideRail>…</SideRail>
|
|
28
|
+
* <AppShellBody>
|
|
29
|
+
* <AppShellTopBar>…</AppShellTopBar>
|
|
30
|
+
* <AppShellMain>…</AppShellMain>
|
|
31
|
+
* </AppShellBody>
|
|
32
|
+
* </AppShell>
|
|
33
|
+
*
|
|
34
|
+
* A second sidebar goes inside `AppShellBody` as a `SidebarNav`, or as a
|
|
35
|
+
* `ResizablePanelGroup` when the user is allowed to resize the split.
|
|
36
|
+
*/
|
|
37
|
+
function AppShell(props) {
|
|
38
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
39
|
+
return (() => {
|
|
40
|
+
var _el$ = _tmpl$();
|
|
41
|
+
spread(_el$, mergeProps({ get ["class"]() {
|
|
42
|
+
return cn("bg-background text-foreground flex h-screen w-screen overflow-hidden", "data-[window-drag=true]:window-drag", local.class);
|
|
43
|
+
} }, rest), false, false);
|
|
44
|
+
return _el$;
|
|
45
|
+
})();
|
|
46
|
+
}
|
|
47
|
+
/** The area to the right of the rail: top bar over content over status bar. */
|
|
48
|
+
function AppShellBody(props) {
|
|
49
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
50
|
+
return (() => {
|
|
51
|
+
var _el$2 = _tmpl$2();
|
|
52
|
+
spread(_el$2, mergeProps({ get ["class"]() {
|
|
53
|
+
return cn("flex min-h-0 min-w-0 flex-1 flex-col", local.class);
|
|
54
|
+
} }, rest), false, false);
|
|
55
|
+
return _el$2;
|
|
56
|
+
})();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The main content area.
|
|
60
|
+
*
|
|
61
|
+
* `min-h-0 min-w-0` is load-bearing: a flex child defaults to its content size,
|
|
62
|
+
* so without it a wide table or a long line makes the whole shell scroll
|
|
63
|
+
* horizontally instead of the pane.
|
|
64
|
+
*/
|
|
65
|
+
function AppShellMain(props) {
|
|
66
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
67
|
+
return (() => {
|
|
68
|
+
var _el$3 = _tmpl$3();
|
|
69
|
+
spread(_el$3, mergeProps({ get ["class"]() {
|
|
70
|
+
return cn("flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden", local.class);
|
|
71
|
+
} }, rest), false, false);
|
|
72
|
+
return _el$3;
|
|
73
|
+
})();
|
|
74
|
+
}
|
|
75
|
+
/** A resizable split between two or more panes, filling the body. */
|
|
76
|
+
function AppShellContent(props) {
|
|
77
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
78
|
+
return (() => {
|
|
79
|
+
var _el$4 = _tmpl$4();
|
|
80
|
+
spread(_el$4, mergeProps({ get ["class"]() {
|
|
81
|
+
return cn("flex min-h-0 min-w-0 flex-1 overflow-hidden", local.class);
|
|
82
|
+
} }, rest), false, false);
|
|
83
|
+
return _el$4;
|
|
84
|
+
})();
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { AppShell, AppShellBody, AppShellContent, AppShellMain };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=app-shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-shell.js","names":["ComponentProps","JSX","splitProps","cn","AppShell","props","local","rest","_el$","_tmpl$","_$spread","_$mergeProps","class","AppShellBody","_el$2","_tmpl$2","AppShellMain","_el$3","_tmpl$3","AppShellContent","children","Element","_el$4","_tmpl$4","_$mergeProps"],"sources":["../../../../src/components/layout/app-shell/app-shell.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'solid-js'\nimport { splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * AppShell.\n *\n * The window's skeleton: a grid whose regions are the side rail, an optional\n * secondary sidebar, a top bar and the content area, with a status bar pinned\n * to the bottom.\n *\n * Its whole job is to be the *one* place that decides the geometry, so two\n * applications built on this library cannot disagree about how tall the top bar\n * is or where the content begins. Every dimension comes from a token — not from\n * a class on a child — which is why the regions do not accept a height.\n *\n * Both apps are desktop shells, so the arrangement is height-locked: the shell\n * fills the viewport, each region scrolls internally, and the document itself\n * never scrolls. That is what stops a wheel event over a pane from dragging the\n * whole window.\n *\n * <AppShell>\n * <SideRail>…</SideRail>\n * <AppShellBody>\n * <AppShellTopBar>…</AppShellTopBar>\n * <AppShellMain>…</AppShellMain>\n * </AppShellBody>\n * </AppShell>\n *\n * A second sidebar goes inside `AppShellBody` as a `SidebarNav`, or as a\n * `ResizablePanelGroup` when the user is allowed to resize the split.\n */\nexport function AppShell(props: ComponentProps<'div'>) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <div\n data-slot=\"app-shell\"\n class={cn(\n 'bg-background text-foreground flex h-screen w-screen overflow-hidden',\n 'data-[window-drag=true]:window-drag',\n local.class\n )}\n {...rest}\n />\n )\n}\n\n/** The area to the right of the rail: top bar over content over status bar. */\nexport function AppShellBody(props: ComponentProps<'div'>) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <div\n data-slot=\"app-shell-body\"\n class={cn('flex min-h-0 min-w-0 flex-1 flex-col', local.class)}\n {...rest}\n />\n )\n}\n\n/**\n * The main content area.\n *\n * `min-h-0 min-w-0` is load-bearing: a flex child defaults to its content size,\n * so without it a wide table or a long line makes the whole shell scroll\n * horizontally instead of the pane.\n */\nexport function AppShellMain(props: ComponentProps<'main'>) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <main\n data-slot=\"app-shell-main\"\n class={cn('flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden', local.class)}\n {...rest}\n />\n )\n}\n\n/** A resizable split between two or more panes, filling the body. */\nexport function AppShellContent(props: ComponentProps<'div'> & { children?: JSX.Element }) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <div\n data-slot=\"app-shell-content\"\n class={cn('flex min-h-0 min-w-0 flex-1 overflow-hidden', local.class)}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgBI,SAASC,OAA8B;CACrD,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CAEjD,cAAA;EAAA,IAAAG,OAAAC,OAAA;EAAAC,OAAAF,MAAAG,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWR,GACL,wEACA,uCACAG,MAAMM,KACR;EAAC,EAAA,GACGL,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAC;CAAA,EAAA,CAAA;AAGd;;AAGA,SAAgBK,aAAaR,OAA8B;CACzD,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CAEjD,cAAA;EAAA,IAAAS,QAAAC,QAAA;EAAAL,OAAAI,OAAAH,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWR,GAAG,wCAAwCG,MAAMM,KAAK;EAAC,EAAA,GAC1DL,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAO;CAAA,EAAA,CAAA;AAGd;;;;;;;;AASA,SAAgBE,aAAaX,OAA+B;CAC1D,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CAEjD,cAAA;EAAA,IAAAY,QAAAC,QAAA;EAAAR,OAAAO,OAAAN,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWR,GAAG,wDAAwDG,MAAMM,KAAK;EAAC,EAAA,GAC1EL,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAU;CAAA,EAAA,CAAA;AAGd;;AAGA,SAAgBE,gBAAgBd,OAA2D;CACzF,MAAM,CAACC,OAAOC,QAAQL,WAAWG,OAAO,CAAC,OAAO,CAAC;CAEjD,cAAA;EAAA,IAAAiB,QAAAC,QAAA;EAAAb,OAAAY,OAAAX,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWR,GAAG,+CAA+CG,MAAMM,KAAK;EAAC,EAAA,GACjEL,IAAI,GAAA,OAAA,KAAA;EAAA,OAAAe;CAAA,EAAA,CAAA;AAGd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/app-shell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,WAAW,GACZ,MAAM,QAAQ,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ComponentProps, JSX } from 'solid-js';
|
|
2
|
+
/**
|
|
3
|
+
* PageHeader.
|
|
4
|
+
*
|
|
5
|
+
* The title block at the top of a scrollable page: where the user is, what this
|
|
6
|
+
* page is, and the actions that apply to the whole of it.
|
|
7
|
+
*
|
|
8
|
+
* The action slot is single and singular on purpose. A page header with four
|
|
9
|
+
* equally-weighted buttons has not decided what the page is for; the design
|
|
10
|
+
* system can only make that look tidy, not make it true. Put the primary action
|
|
11
|
+
* here and the rest in an overflow menu or on the rows they belong to.
|
|
12
|
+
*/
|
|
13
|
+
export declare function PageHeader(props: ComponentProps<'header'>): JSX.Element;
|
|
14
|
+
export declare function PageHeaderContent(props: ComponentProps<'div'>): JSX.Element;
|
|
15
|
+
export declare function PageHeaderTitle(props: ComponentProps<'h1'>): JSX.Element;
|
|
16
|
+
export declare function PageHeaderDescription(props: ComponentProps<'p'>): JSX.Element;
|
|
17
|
+
/** The trailing action group. One primary action, at most. */
|
|
18
|
+
export declare function PageHeaderActions(props: ComponentProps<'div'>): JSX.Element;
|
|
19
|
+
/**
|
|
20
|
+
* A section inside a page, with an optional title and a description.
|
|
21
|
+
* Sections are separated by space rather than by rules — a page of boxed
|
|
22
|
+
* sections reads as a dashboard, and most pages are not one.
|
|
23
|
+
*/
|
|
24
|
+
export declare function PageSection(props: ComponentProps<'section'> & {
|
|
25
|
+
title?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
action?: JSX.Element;
|
|
28
|
+
}): JSX.Element;
|
|
29
|
+
/** The scroll container a page's header and sections sit in. */
|
|
30
|
+
export declare function Page(props: ComponentProps<'div'>): JSX.Element;
|
|
31
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page/page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,eAazD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,eAS7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,eAS1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,eAS/D;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,eAS7D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,eA4BlG;AAED,gEAAgE;AAChE,wBAAgB,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,eAShD"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.js";
|
|
2
|
+
import { createComponent, insert, mergeProps, spread, template } from "solid-js/web";
|
|
3
|
+
import { Show, splitProps } from "solid-js";
|
|
4
|
+
//#region src/components/layout/page/page.tsx
|
|
5
|
+
var _tmpl$ = /*#__PURE__*/ template(`<header data-slot=page-header>`);
|
|
6
|
+
var _tmpl$2 = /*#__PURE__*/ template(`<div data-slot=page-header-content>`);
|
|
7
|
+
var _tmpl$3 = /*#__PURE__*/ template(`<h1 data-slot=page-header-title>`);
|
|
8
|
+
var _tmpl$4 = /*#__PURE__*/ template(`<p data-slot=page-header-description>`);
|
|
9
|
+
var _tmpl$5 = /*#__PURE__*/ template(`<div data-slot=page-header-actions>`);
|
|
10
|
+
var _tmpl$6 = /*#__PURE__*/ template(`<p class="max-w-prose text-sm text-muted-foreground text-pretty">`);
|
|
11
|
+
var _tmpl$7 = /*#__PURE__*/ template(`<div class="flex shrink-0 items-center gap-2">`);
|
|
12
|
+
var _tmpl$8 = /*#__PURE__*/ template(`<div class="flex items-baseline justify-between gap-3"><div class="flex min-w-0 flex-col gap-0.5"><h2 class="text-base font-semibold tracking-tight">`);
|
|
13
|
+
var _tmpl$9 = /*#__PURE__*/ template(`<section data-slot=page-section>`);
|
|
14
|
+
var _tmpl$0 = /*#__PURE__*/ template(`<div data-slot=page>`);
|
|
15
|
+
/**
|
|
16
|
+
* PageHeader.
|
|
17
|
+
*
|
|
18
|
+
* The title block at the top of a scrollable page: where the user is, what this
|
|
19
|
+
* page is, and the actions that apply to the whole of it.
|
|
20
|
+
*
|
|
21
|
+
* The action slot is single and singular on purpose. A page header with four
|
|
22
|
+
* equally-weighted buttons has not decided what the page is for; the design
|
|
23
|
+
* system can only make that look tidy, not make it true. Put the primary action
|
|
24
|
+
* here and the rest in an overflow menu or on the rows they belong to.
|
|
25
|
+
*/
|
|
26
|
+
function PageHeader(props) {
|
|
27
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
28
|
+
return (() => {
|
|
29
|
+
var _el$ = _tmpl$();
|
|
30
|
+
spread(_el$, mergeProps({ get ["class"]() {
|
|
31
|
+
return cn("flex shrink-0 flex-wrap items-start justify-between gap-x-4 gap-y-3 px-5 pt-5 pb-4", local.class);
|
|
32
|
+
} }, rest), false, false);
|
|
33
|
+
return _el$;
|
|
34
|
+
})();
|
|
35
|
+
}
|
|
36
|
+
function PageHeaderContent(props) {
|
|
37
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
38
|
+
return (() => {
|
|
39
|
+
var _el$2 = _tmpl$2();
|
|
40
|
+
spread(_el$2, mergeProps({ get ["class"]() {
|
|
41
|
+
return cn("flex min-w-0 flex-col gap-1", local.class);
|
|
42
|
+
} }, rest), false, false);
|
|
43
|
+
return _el$2;
|
|
44
|
+
})();
|
|
45
|
+
}
|
|
46
|
+
function PageHeaderTitle(props) {
|
|
47
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
48
|
+
return (() => {
|
|
49
|
+
var _el$3 = _tmpl$3();
|
|
50
|
+
spread(_el$3, mergeProps({ get ["class"]() {
|
|
51
|
+
return cn("text-xl font-semibold tracking-tight", local.class);
|
|
52
|
+
} }, rest), false, false);
|
|
53
|
+
return _el$3;
|
|
54
|
+
})();
|
|
55
|
+
}
|
|
56
|
+
function PageHeaderDescription(props) {
|
|
57
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
58
|
+
return (() => {
|
|
59
|
+
var _el$4 = _tmpl$4();
|
|
60
|
+
spread(_el$4, mergeProps({ get ["class"]() {
|
|
61
|
+
return cn("max-w-prose text-sm text-muted-foreground text-pretty", local.class);
|
|
62
|
+
} }, rest), false, false);
|
|
63
|
+
return _el$4;
|
|
64
|
+
})();
|
|
65
|
+
}
|
|
66
|
+
/** The trailing action group. One primary action, at most. */
|
|
67
|
+
function PageHeaderActions(props) {
|
|
68
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
69
|
+
return (() => {
|
|
70
|
+
var _el$5 = _tmpl$5();
|
|
71
|
+
spread(_el$5, mergeProps({ get ["class"]() {
|
|
72
|
+
return cn("flex shrink-0 items-center gap-2", local.class);
|
|
73
|
+
} }, rest), false, false);
|
|
74
|
+
return _el$5;
|
|
75
|
+
})();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A section inside a page, with an optional title and a description.
|
|
79
|
+
* Sections are separated by space rather than by rules — a page of boxed
|
|
80
|
+
* sections reads as a dashboard, and most pages are not one.
|
|
81
|
+
*/
|
|
82
|
+
function PageSection(props) {
|
|
83
|
+
const [local, rest] = splitProps(props, [
|
|
84
|
+
"class",
|
|
85
|
+
"title",
|
|
86
|
+
"description",
|
|
87
|
+
"action",
|
|
88
|
+
"children"
|
|
89
|
+
]);
|
|
90
|
+
return (() => {
|
|
91
|
+
var _el$6 = _tmpl$9();
|
|
92
|
+
spread(_el$6, mergeProps({ get ["class"]() {
|
|
93
|
+
return cn("flex flex-col gap-3 px-5 py-4", local.class);
|
|
94
|
+
} }, rest), false, true);
|
|
95
|
+
insert(_el$6, createComponent(Show, {
|
|
96
|
+
get when() {
|
|
97
|
+
return local.title;
|
|
98
|
+
},
|
|
99
|
+
get children() {
|
|
100
|
+
var _el$7 = _tmpl$8(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild;
|
|
101
|
+
insert(_el$9, () => local.title);
|
|
102
|
+
insert(_el$8, createComponent(Show, {
|
|
103
|
+
get when() {
|
|
104
|
+
return local.description;
|
|
105
|
+
},
|
|
106
|
+
get children() {
|
|
107
|
+
var _el$0 = _tmpl$6();
|
|
108
|
+
insert(_el$0, () => local.description);
|
|
109
|
+
return _el$0;
|
|
110
|
+
}
|
|
111
|
+
}), null);
|
|
112
|
+
insert(_el$7, createComponent(Show, {
|
|
113
|
+
get when() {
|
|
114
|
+
return local.action;
|
|
115
|
+
},
|
|
116
|
+
get children() {
|
|
117
|
+
var _el$1 = _tmpl$7();
|
|
118
|
+
insert(_el$1, () => local.action);
|
|
119
|
+
return _el$1;
|
|
120
|
+
}
|
|
121
|
+
}), null);
|
|
122
|
+
return _el$7;
|
|
123
|
+
}
|
|
124
|
+
}), null);
|
|
125
|
+
insert(_el$6, () => local.children, null);
|
|
126
|
+
return _el$6;
|
|
127
|
+
})();
|
|
128
|
+
}
|
|
129
|
+
/** The scroll container a page's header and sections sit in. */
|
|
130
|
+
function Page(props) {
|
|
131
|
+
const [local, rest] = splitProps(props, ["class"]);
|
|
132
|
+
return (() => {
|
|
133
|
+
var _el$10 = _tmpl$0();
|
|
134
|
+
spread(_el$10, mergeProps({ get ["class"]() {
|
|
135
|
+
return cn("flex min-h-0 flex-1 flex-col overflow-y-auto", local.class);
|
|
136
|
+
} }, rest), false, false);
|
|
137
|
+
return _el$10;
|
|
138
|
+
})();
|
|
139
|
+
}
|
|
140
|
+
//#endregion
|
|
141
|
+
export { Page, PageHeader, PageHeaderActions, PageHeaderContent, PageHeaderDescription, PageHeaderTitle, PageSection };
|
|
142
|
+
|
|
143
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","names":["ComponentProps","JSX","Show","splitProps","cn","PageHeader","props","local","rest","_el$","_tmpl$","_$spread","_$mergeProps","class","PageHeaderContent","_el$2","_tmpl$2","PageHeaderTitle","_el$3","_tmpl$3","PageHeaderDescription","_el$4","_tmpl$4","PageHeaderActions","_el$5","_tmpl$5","PageSection","title","description","action","Element","_el$6","_tmpl$9","_$insert","_$createComponent","when","children","_el$7","_tmpl$8","_el$8","firstChild","_el$9","_el$0","_tmpl$6","_el$1","_tmpl$7","Page","_el$10","_tmpl$0","_$mergeProps","_$createComponent"],"sources":["../../../../src/components/layout/page/page.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'solid-js'\nimport { Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * PageHeader.\n *\n * The title block at the top of a scrollable page: where the user is, what this\n * page is, and the actions that apply to the whole of it.\n *\n * The action slot is single and singular on purpose. A page header with four\n * equally-weighted buttons has not decided what the page is for; the design\n * system can only make that look tidy, not make it true. Put the primary action\n * here and the rest in an overflow menu or on the rows they belong to.\n */\nexport function PageHeader(props: ComponentProps<'header'>) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <header\n data-slot=\"page-header\"\n class={cn(\n 'flex shrink-0 flex-wrap items-start justify-between gap-x-4 gap-y-3 px-5 pt-5 pb-4',\n local.class\n )}\n {...rest}\n />\n )\n}\n\nexport function PageHeaderContent(props: ComponentProps<'div'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <div\n data-slot=\"page-header-content\"\n class={cn('flex min-w-0 flex-col gap-1', local.class)}\n {...rest}\n />\n )\n}\n\nexport function PageHeaderTitle(props: ComponentProps<'h1'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <h1\n data-slot=\"page-header-title\"\n class={cn('text-xl font-semibold tracking-tight', local.class)}\n {...rest}\n />\n )\n}\n\nexport function PageHeaderDescription(props: ComponentProps<'p'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <p\n data-slot=\"page-header-description\"\n class={cn('max-w-prose text-sm text-muted-foreground text-pretty', local.class)}\n {...rest}\n />\n )\n}\n\n/** The trailing action group. One primary action, at most. */\nexport function PageHeaderActions(props: ComponentProps<'div'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <div\n data-slot=\"page-header-actions\"\n class={cn('flex shrink-0 items-center gap-2', local.class)}\n {...rest}\n />\n )\n}\n\n/**\n * A section inside a page, with an optional title and a description.\n * Sections are separated by space rather than by rules — a page of boxed\n * sections reads as a dashboard, and most pages are not one.\n */\nexport function PageSection(\n props: ComponentProps<'section'> & { title?: string; description?: string; action?: JSX.Element }\n) {\n const [local, rest] = splitProps(props, ['class', 'title', 'description', 'action', 'children'])\n\n return (\n <section\n data-slot=\"page-section\"\n class={cn('flex flex-col gap-3 px-5 py-4', local.class)}\n {...rest}\n >\n <Show when={local.title}>\n <div class=\"flex items-baseline justify-between gap-3\">\n <div class=\"flex min-w-0 flex-col gap-0.5\">\n <h2 class=\"text-base font-semibold tracking-tight\">{local.title}</h2>\n <Show when={local.description}>\n <p class=\"max-w-prose text-sm text-muted-foreground text-pretty\">\n {local.description}\n </p>\n </Show>\n </div>\n <Show when={local.action}>\n <div class=\"flex shrink-0 items-center gap-2\">{local.action}</div>\n </Show>\n </div>\n </Show>\n {local.children}\n </section>\n )\n}\n\n/** The scroll container a page's header and sections sit in. */\nexport function Page(props: ComponentProps<'div'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <div\n data-slot=\"page\"\n class={cn('flex min-h-0 flex-1 flex-col overflow-y-auto', local.class)}\n {...rest}\n />\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ComponentProps } from 'solid-js';
|
|
2
|
+
/**
|
|
3
|
+
* Panel.
|
|
4
|
+
*
|
|
5
|
+
* A titled region inside the content area — an editor, an inspector, a list, a
|
|
6
|
+
* terminal. It is the third level of surface after the shell and the sidebar,
|
|
7
|
+
* and like them its parts are fixed: a header with a title and a toolbar, a
|
|
8
|
+
* scrolling body, an optional footer.
|
|
9
|
+
*
|
|
10
|
+
* The body scrolls and the header does not, which is the whole reason this is a
|
|
11
|
+
* component. A panel whose header scrolls away loses the name of what the user
|
|
12
|
+
* is looking at, and every hand-built panel gets this wrong at least once.
|
|
13
|
+
*
|
|
14
|
+
* Component props are `title`-agnostic on purpose: the panel does not decide
|
|
15
|
+
* how large its title is, so an inspector's title and an editor's title agree.
|
|
16
|
+
*/
|
|
17
|
+
export declare function Panel(props: ComponentProps<'section'>): import("solid-js").JSX.Element;
|
|
18
|
+
/** A panel whose surface is raised, for a panel floating over the canvas. */
|
|
19
|
+
export declare function PanelCard(props: ComponentProps<'section'>): import("solid-js").JSX.Element;
|
|
20
|
+
export declare function PanelHeader(props: ComponentProps<'header'>): import("solid-js").JSX.Element;
|
|
21
|
+
export declare function PanelTitle(props: ComponentProps<'h2'>): import("solid-js").JSX.Element;
|
|
22
|
+
export declare function PanelDescription(props: ComponentProps<'p'>): import("solid-js").JSX.Element;
|
|
23
|
+
/** The trailing group in a panel header: buttons, tabs, a menu. */
|
|
24
|
+
export declare function PanelActions(props: ComponentProps<'div'>): import("solid-js").JSX.Element;
|
|
25
|
+
/** A secondary row under the header: a toolbar, tabs, a filter bar. */
|
|
26
|
+
export declare function PanelToolbar(props: ComponentProps<'div'>): import("solid-js").JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* The scrolling region.
|
|
29
|
+
*
|
|
30
|
+
* `min-h-0` is required and easy to omit: a flex child's default `min-height`
|
|
31
|
+
* is its content, so without it a long body pushes the panel past its parent
|
|
32
|
+
* instead of scrolling.
|
|
33
|
+
*/
|
|
34
|
+
export declare function PanelBody(props: ComponentProps<'div'> & {
|
|
35
|
+
bare?: boolean;
|
|
36
|
+
}): import("solid-js").JSX.Element;
|
|
37
|
+
export declare function PanelFooter(props: ComponentProps<'footer'>): import("solid-js").JSX.Element;
|
|
38
|
+
/**
|
|
39
|
+
* The centered message a panel shows when it has no content. Distinct from
|
|
40
|
+
* `Empty`, which is a full-page state with room for media and actions; this is
|
|
41
|
+
* the in-pane version, sized for a column.
|
|
42
|
+
*/
|
|
43
|
+
export declare function PanelPlaceholder(props: ComponentProps<'div'>): import("solid-js").JSX.Element;
|
|
44
|
+
//# sourceMappingURL=panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/panel/panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,kCAarD;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,kCAYzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,kCAa1D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,kCASrD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,kCAS1D;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,kCASxD;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,kCAYxD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IAAqC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,kCAWrF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,kCAS1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,kCAe5D"}
|