@nadicodeai/ui 12.1.96 → 12.1.98
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/AGENTS.md +5 -1
- package/dist/components/accordion.d.ts +13 -0
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/accordion.js +13 -0
- package/dist/components/account-menu.d.ts +62 -18
- package/dist/components/account-menu.d.ts.map +1 -1
- package/dist/components/account-menu.js +32 -8
- package/dist/components/action-menu.d.ts +61 -5
- package/dist/components/action-menu.d.ts.map +1 -1
- package/dist/components/action-menu.js +31 -2
- package/dist/components/action-status.d.ts +13 -3
- package/dist/components/action-status.d.ts.map +1 -1
- package/dist/components/action-status.js +13 -3
- package/dist/components/activity-calendar.d.ts +14 -0
- package/dist/components/activity-calendar.d.ts.map +1 -1
- package/dist/components/activity-calendar.js +14 -0
- package/dist/components/activity-feed.d.ts +62 -0
- package/dist/components/activity-feed.d.ts.map +1 -0
- package/dist/components/activity-feed.js +54 -0
- package/dist/components/agent-card.d.ts +15 -0
- package/dist/components/agent-card.d.ts.map +1 -1
- package/dist/components/agent-card.js +15 -0
- package/dist/components/agent-list-row.d.ts +11 -7
- package/dist/components/agent-list-row.d.ts.map +1 -1
- package/dist/components/agent-list-row.js +10 -8
- package/dist/components/agent-orb.d.ts +16 -0
- package/dist/components/agent-orb.d.ts.map +1 -1
- package/dist/components/agent-orb.js +16 -0
- package/dist/components/agent-profile.d.ts +39 -10
- package/dist/components/agent-profile.d.ts.map +1 -1
- package/dist/components/agent-profile.js +39 -10
- package/dist/components/alert-dialog.d.ts +14 -0
- package/dist/components/alert-dialog.d.ts.map +1 -1
- package/dist/components/alert-dialog.js +16 -2
- package/dist/components/alert.d.ts +14 -0
- package/dist/components/alert.d.ts.map +1 -1
- package/dist/components/alert.js +14 -0
- package/dist/components/app-mark.d.ts +14 -4
- package/dist/components/app-mark.d.ts.map +1 -1
- package/dist/components/app-mark.js +13 -3
- package/dist/components/approval-row.d.ts +15 -2
- package/dist/components/approval-row.d.ts.map +1 -1
- package/dist/components/approval-row.js +15 -2
- package/dist/components/aspect-ratio.d.ts +10 -0
- package/dist/components/aspect-ratio.d.ts.map +1 -1
- package/dist/components/aspect-ratio.js +10 -0
- package/dist/components/avatar.d.ts +15 -0
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +15 -0
- package/dist/components/badge.d.ts +11 -1
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/badge.js +10 -5
- package/dist/components/brand-field.d.ts +10 -0
- package/dist/components/brand-field.d.ts.map +1 -1
- package/dist/components/brand-field.js +10 -0
- package/dist/components/brand.d.ts +14 -0
- package/dist/components/brand.d.ts.map +1 -1
- package/dist/components/brand.js +14 -0
- package/dist/components/breadcrumb.d.ts +20 -2
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb.js +13 -3
- package/dist/components/button-group.d.ts +21 -0
- package/dist/components/button-group.d.ts.map +1 -1
- package/dist/components/button-group.js +21 -0
- package/dist/components/button.d.ts +20 -0
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +20 -0
- package/dist/components/calendar.d.ts +15 -0
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +15 -0
- package/dist/components/card-row.d.ts +15 -5
- package/dist/components/card-row.d.ts.map +1 -1
- package/dist/components/card-row.js +15 -5
- package/dist/components/card.d.ts +16 -0
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +16 -0
- package/dist/components/carousel.d.ts +12 -0
- package/dist/components/carousel.d.ts.map +1 -1
- package/dist/components/carousel.js +12 -0
- package/dist/components/catalog-drawer.d.ts +29 -0
- package/dist/components/catalog-drawer.d.ts.map +1 -0
- package/dist/components/catalog-drawer.js +31 -0
- package/dist/components/catalog-entry.d.ts +49 -26
- package/dist/components/catalog-entry.d.ts.map +1 -1
- package/dist/components/catalog-entry.js +5 -27
- package/dist/components/channel-view.d.ts +23 -0
- package/dist/components/channel-view.d.ts.map +1 -1
- package/dist/components/channel-view.js +13 -4
- package/dist/components/chart-area-stacked.d.ts +11 -1
- package/dist/components/chart-area-stacked.d.ts.map +1 -1
- package/dist/components/chart-area-stacked.js +12 -2
- package/dist/components/chart-bar-horizontal.d.ts +11 -1
- package/dist/components/chart-bar-horizontal.d.ts.map +1 -1
- package/dist/components/chart-bar-horizontal.js +12 -2
- package/dist/components/chart-bar-multiple.d.ts +9 -4
- package/dist/components/chart-bar-multiple.d.ts.map +1 -1
- package/dist/components/chart-bar-multiple.js +10 -5
- package/dist/components/chart-bar-stacked.d.ts +11 -1
- package/dist/components/chart-bar-stacked.d.ts.map +1 -1
- package/dist/components/chart-bar-stacked.js +12 -2
- package/dist/components/chart-card.d.ts +33 -20
- package/dist/components/chart-card.d.ts.map +1 -1
- package/dist/components/chart-card.js +18 -4
- package/dist/components/chart-date-range-control.d.ts +15 -10
- package/dist/components/chart-date-range-control.d.ts.map +1 -1
- package/dist/components/chart-date-range-control.js +14 -10
- package/dist/components/chart-date-range.d.ts.map +1 -1
- package/dist/components/chart-entity-colors.d.ts +7 -0
- package/dist/components/chart-entity-colors.d.ts.map +1 -1
- package/dist/components/chart-entity-colors.js +7 -0
- package/dist/components/chart-sparkline.d.ts +10 -0
- package/dist/components/chart-sparkline.d.ts.map +1 -1
- package/dist/components/chart-sparkline.js +8 -7
- package/dist/components/chart.d.ts +10 -0
- package/dist/components/chart.d.ts.map +1 -1
- package/dist/components/chart.js +10 -0
- package/dist/components/checkbox.d.ts +15 -0
- package/dist/components/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox.js +15 -0
- package/dist/components/code-block.d.ts +15 -0
- package/dist/components/code-block.d.ts.map +1 -1
- package/dist/components/code-block.js +15 -0
- package/dist/components/collapsible.d.ts +12 -0
- package/dist/components/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible.js +12 -0
- package/dist/components/collection-filters.d.ts +15 -2
- package/dist/components/collection-filters.d.ts.map +1 -1
- package/dist/components/collection-filters.js +13 -1
- package/dist/components/collection-page.d.ts +29 -115
- package/dist/components/collection-page.d.ts.map +1 -1
- package/dist/components/collection-page.js +24 -140
- package/dist/components/collection-search.d.ts +14 -0
- package/dist/components/collection-search.d.ts.map +1 -1
- package/dist/components/collection-search.js +14 -0
- package/dist/components/collection-sort.d.ts +13 -3
- package/dist/components/collection-sort.d.ts.map +1 -1
- package/dist/components/collection-sort.js +13 -3
- package/dist/components/collection-toolbar.d.ts +13 -0
- package/dist/components/collection-toolbar.d.ts.map +1 -1
- package/dist/components/collection-toolbar.js +13 -0
- package/dist/components/combobox.d.ts +17 -0
- package/dist/components/combobox.d.ts.map +1 -1
- package/dist/components/combobox.js +18 -1
- package/dist/components/command.d.ts +16 -0
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/command.js +16 -0
- package/dist/components/company-card.d.ts +16 -4
- package/dist/components/company-card.d.ts.map +1 -1
- package/dist/components/company-card.js +16 -4
- package/dist/components/confirm-dialog.d.ts +24 -14
- package/dist/components/confirm-dialog.d.ts.map +1 -1
- package/dist/components/confirm-dialog.js +16 -10
- package/dist/components/context-menu.d.ts +10 -0
- package/dist/components/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu.js +11 -1
- package/dist/components/copy-button.d.ts +10 -0
- package/dist/components/copy-button.d.ts.map +1 -1
- package/dist/components/copy-button.js +10 -0
- package/dist/components/dashboard-shell.d.ts +14 -0
- package/dist/components/dashboard-shell.d.ts.map +1 -1
- package/dist/components/dashboard-shell.js +14 -0
- package/dist/components/data-table.d.ts +20 -0
- package/dist/components/data-table.d.ts.map +1 -1
- package/dist/components/data-table.js +23 -2
- package/dist/components/desktop-shell.d.ts +15 -0
- package/dist/components/desktop-shell.d.ts.map +1 -1
- package/dist/components/desktop-shell.js +15 -0
- package/dist/components/dialog.d.ts +16 -0
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +18 -2
- package/dist/components/diff-count.d.ts +11 -0
- package/dist/components/diff-count.d.ts.map +1 -1
- package/dist/components/diff-count.js +11 -0
- package/dist/components/disclosure-row.d.ts +12 -0
- package/dist/components/disclosure-row.d.ts.map +1 -1
- package/dist/components/disclosure-row.js +12 -0
- package/dist/components/disclosure.d.ts +15 -5
- package/dist/components/disclosure.d.ts.map +1 -1
- package/dist/components/disclosure.js +15 -5
- package/dist/components/drawer.d.ts +13 -0
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/drawer.js +13 -0
- package/dist/components/dropdown-menu.d.ts +17 -5
- package/dist/components/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu.js +21 -8
- package/dist/components/empty-art.d.ts +1 -1
- package/dist/components/empty-art.d.ts.map +1 -1
- package/dist/components/empty-art.js +6 -0
- package/dist/components/empty-state.d.ts +24 -10
- package/dist/components/empty-state.d.ts.map +1 -1
- package/dist/components/empty-state.js +23 -1
- package/dist/components/entry-scene.d.ts +33 -20
- package/dist/components/entry-scene.d.ts.map +1 -1
- package/dist/components/entry-scene.js +34 -7
- package/dist/components/expandable-block.d.ts +10 -0
- package/dist/components/expandable-block.d.ts.map +1 -1
- package/dist/components/expandable-block.js +10 -0
- package/dist/components/field.d.ts +17 -0
- package/dist/components/field.d.ts.map +1 -1
- package/dist/components/field.js +17 -0
- package/dist/components/file-diff.d.ts +12 -0
- package/dist/components/file-diff.d.ts.map +1 -1
- package/dist/components/file-diff.js +12 -0
- package/dist/components/file-type-icon.d.ts +12 -0
- package/dist/components/file-type-icon.d.ts.map +1 -1
- package/dist/components/file-type-icon.js +12 -0
- package/dist/components/footer.d.ts +14 -0
- package/dist/components/footer.d.ts.map +1 -1
- package/dist/components/footer.js +14 -0
- package/dist/components/form-dialog.d.ts +10 -0
- package/dist/components/form-dialog.d.ts.map +1 -1
- package/dist/components/form-dialog.js +10 -0
- package/dist/components/form-drawer.d.ts +24 -11
- package/dist/components/form-drawer.d.ts.map +1 -1
- package/dist/components/form-drawer.js +13 -3
- package/dist/components/form.d.ts +17 -0
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/form.js +17 -0
- package/dist/components/glass-control.d.ts +13 -0
- package/dist/components/glass-control.d.ts.map +1 -1
- package/dist/components/glass-control.js +13 -0
- package/dist/components/hive-scene.d.ts +14 -0
- package/dist/components/hive-scene.d.ts.map +1 -1
- package/dist/components/hive-scene.js +14 -0
- package/dist/components/house-icons.d.ts +15 -0
- package/dist/components/house-icons.d.ts.map +1 -1
- package/dist/components/house-icons.js +15 -0
- package/dist/components/hover-card.d.ts +15 -0
- package/dist/components/hover-card.d.ts.map +1 -1
- package/dist/components/hover-card.js +16 -1
- package/dist/components/identity-mark.d.ts +55 -0
- package/dist/components/identity-mark.d.ts.map +1 -0
- package/dist/components/identity-mark.js +66 -0
- package/dist/components/input-group.d.ts +16 -0
- package/dist/components/input-group.d.ts.map +1 -1
- package/dist/components/input-group.js +16 -0
- package/dist/components/input-otp.d.ts +15 -0
- package/dist/components/input-otp.d.ts.map +1 -1
- package/dist/components/input-otp.js +15 -0
- package/dist/components/input.d.ts +15 -0
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/input.js +15 -0
- package/dist/components/item.d.ts +16 -0
- package/dist/components/item.d.ts.map +1 -1
- package/dist/components/item.js +16 -0
- package/dist/components/kbd.d.ts +14 -0
- package/dist/components/kbd.d.ts.map +1 -1
- package/dist/components/kbd.js +14 -0
- package/dist/components/kpi-card.d.ts +21 -13
- package/dist/components/kpi-card.d.ts.map +1 -1
- package/dist/components/kpi-card.js +14 -3
- package/dist/components/label-system.d.ts +12 -0
- package/dist/components/label-system.d.ts.map +1 -1
- package/dist/components/label-system.js +12 -0
- package/dist/components/label.d.ts +15 -0
- package/dist/components/label.d.ts.map +1 -1
- package/dist/components/label.js +15 -0
- package/dist/components/library-shelf.d.ts +35 -0
- package/dist/components/library-shelf.d.ts.map +1 -0
- package/dist/components/library-shelf.js +40 -0
- package/dist/components/memory-item.d.ts +12 -0
- package/dist/components/memory-item.d.ts.map +1 -1
- package/dist/components/memory-item.js +12 -0
- package/dist/components/menu-choice-row.d.ts +13 -5
- package/dist/components/menu-choice-row.d.ts.map +1 -1
- package/dist/components/menu-choice-row.js +12 -6
- package/dist/components/menubar.d.ts +13 -0
- package/dist/components/menubar.d.ts.map +1 -1
- package/dist/components/menubar.js +13 -0
- package/dist/components/message-notice.d.ts +16 -0
- package/dist/components/message-notice.d.ts.map +1 -1
- package/dist/components/message-notice.js +18 -2
- package/dist/components/model-identity.d.ts +16 -3
- package/dist/components/model-identity.d.ts.map +1 -1
- package/dist/components/model-identity.js +16 -3
- package/dist/components/model-mark.d.ts +15 -2
- package/dist/components/model-mark.d.ts.map +1 -1
- package/dist/components/model-mark.js +15 -2
- package/dist/components/nadia-presence.d.ts +10 -4
- package/dist/components/nadia-presence.d.ts.map +1 -1
- package/dist/components/nadia-presence.js +10 -4
- package/dist/components/native-select.d.ts +16 -0
- package/dist/components/native-select.d.ts.map +1 -1
- package/dist/components/native-select.js +16 -0
- package/dist/components/navigation-menu.d.ts +14 -0
- package/dist/components/navigation-menu.d.ts.map +1 -1
- package/dist/components/navigation-menu.js +14 -0
- package/dist/components/notice-banner.d.ts +10 -3
- package/dist/components/notice-banner.d.ts.map +1 -1
- package/dist/components/notice-banner.js +9 -3
- package/dist/components/numbered-steps.d.ts +33 -0
- package/dist/components/numbered-steps.d.ts.map +1 -0
- package/dist/components/numbered-steps.js +23 -0
- package/dist/components/object-page.d.ts +37 -0
- package/dist/components/object-page.d.ts.map +1 -0
- package/dist/components/object-page.js +19 -0
- package/dist/components/object-workspace.d.ts +26 -36
- package/dist/components/object-workspace.d.ts.map +1 -1
- package/dist/components/object-workspace.js +27 -24
- package/dist/components/overview-page.d.ts +24 -0
- package/dist/components/overview-page.d.ts.map +1 -0
- package/dist/components/overview-page.js +26 -0
- package/dist/components/page-actions.d.ts +28 -23
- package/dist/components/page-actions.d.ts.map +1 -1
- package/dist/components/page-actions.js +20 -14
- package/dist/components/page-header.d.ts +11 -5
- package/dist/components/page-header.d.ts.map +1 -1
- package/dist/components/page-header.js +11 -5
- package/dist/components/pagination.d.ts +15 -0
- package/dist/components/pagination.d.ts.map +1 -1
- package/dist/components/pagination.js +15 -0
- package/dist/components/pairing-code.d.ts +15 -4
- package/dist/components/pairing-code.d.ts.map +1 -1
- package/dist/components/pairing-code.js +15 -4
- package/dist/components/pending-label.d.ts +12 -4
- package/dist/components/pending-label.d.ts.map +1 -1
- package/dist/components/pending-label.js +12 -4
- package/dist/components/picture-label.d.ts +15 -7
- package/dist/components/picture-label.d.ts.map +1 -1
- package/dist/components/picture-label.js +15 -7
- package/dist/components/platform-mark.d.ts +12 -3
- package/dist/components/platform-mark.d.ts.map +1 -1
- package/dist/components/platform-mark.js +12 -3
- package/dist/components/plugin-slot-boundary.d.ts +15 -0
- package/dist/components/plugin-slot-boundary.d.ts.map +1 -1
- package/dist/components/plugin-slot-boundary.js +15 -0
- package/dist/components/popover.d.ts +15 -0
- package/dist/components/popover.d.ts.map +1 -1
- package/dist/components/popover.js +16 -1
- package/dist/components/portal-sidebar-frame.d.ts +26 -12
- package/dist/components/portal-sidebar-frame.d.ts.map +1 -1
- package/dist/components/portal-sidebar-frame.js +26 -0
- package/dist/components/progress.d.ts +10 -8
- package/dist/components/progress.d.ts.map +1 -1
- package/dist/components/progress.js +11 -9
- package/dist/components/qr-code.d.ts +9 -3
- package/dist/components/qr-code.d.ts.map +1 -1
- package/dist/components/qr-code.js +9 -3
- package/dist/components/radio-group.d.ts +15 -0
- package/dist/components/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group.js +15 -0
- package/dist/components/reading-column.d.ts +11 -0
- package/dist/components/reading-column.d.ts.map +1 -1
- package/dist/components/reading-column.js +11 -0
- package/dist/components/record-identity.d.ts +12 -7
- package/dist/components/record-identity.d.ts.map +1 -1
- package/dist/components/record-identity.js +11 -7
- package/dist/components/record-list.d.ts +119 -0
- package/dist/components/record-list.d.ts.map +1 -0
- package/dist/components/record-list.js +161 -0
- package/dist/components/record-sheet.d.ts +36 -0
- package/dist/components/record-sheet.d.ts.map +1 -0
- package/dist/components/record-sheet.js +19 -0
- package/dist/components/record-time.d.ts +27 -11
- package/dist/components/record-time.d.ts.map +1 -1
- package/dist/components/record-time.js +34 -12
- package/dist/components/resizable.d.ts +10 -0
- package/dist/components/resizable.d.ts.map +1 -1
- package/dist/components/resizable.js +10 -0
- package/dist/components/row-edit-form.d.ts +8 -5
- package/dist/components/row-edit-form.d.ts.map +1 -1
- package/dist/components/row-edit-form.js +8 -5
- package/dist/components/run-timeline.d.ts +24 -11
- package/dist/components/run-timeline.d.ts.map +1 -1
- package/dist/components/run-timeline.js +13 -6
- package/dist/components/scope-switcher.d.ts +11 -0
- package/dist/components/scope-switcher.d.ts.map +1 -1
- package/dist/components/scope-switcher.js +20 -9
- package/dist/components/scroll-area.d.ts +12 -0
- package/dist/components/scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area.js +12 -0
- package/dist/components/select.d.ts +16 -0
- package/dist/components/select.d.ts.map +1 -1
- package/dist/components/select.js +17 -1
- package/dist/components/separator.d.ts +11 -0
- package/dist/components/separator.d.ts.map +1 -1
- package/dist/components/separator.js +11 -0
- package/dist/components/settings-facts.d.ts +18 -1
- package/dist/components/settings-facts.d.ts.map +1 -1
- package/dist/components/settings-facts.js +20 -1
- package/dist/components/settings-page.d.ts +20 -0
- package/dist/components/settings-page.d.ts.map +1 -0
- package/dist/components/settings-page.js +16 -0
- package/dist/components/settings-section.d.ts +38 -8
- package/dist/components/settings-section.d.ts.map +1 -1
- package/dist/components/settings-section.js +33 -7
- package/dist/components/sheet.d.ts +16 -0
- package/dist/components/sheet.d.ts.map +1 -1
- package/dist/components/sheet.js +18 -2
- package/dist/components/sidebar-sections.d.ts +40 -0
- package/dist/components/sidebar-sections.d.ts.map +1 -0
- package/dist/components/sidebar-sections.js +35 -0
- package/dist/components/sidebar.d.ts +14 -1
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar.js +13 -2
- package/dist/components/skeleton.d.ts +10 -0
- package/dist/components/skeleton.d.ts.map +1 -1
- package/dist/components/skeleton.js +11 -1
- package/dist/components/slider.d.ts +14 -0
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/slider.js +14 -0
- package/dist/components/sonner.d.ts +18 -0
- package/dist/components/sonner.d.ts.map +1 -1
- package/dist/components/sonner.js +18 -0
- package/dist/components/status-badge.d.ts +13 -2
- package/dist/components/status-badge.d.ts.map +1 -1
- package/dist/components/status-badge.js +21 -9
- package/dist/components/status-dot.d.ts +12 -0
- package/dist/components/status-dot.d.ts.map +1 -1
- package/dist/components/status-dot.js +12 -0
- package/dist/components/status-row.d.ts +14 -0
- package/dist/components/status-row.d.ts.map +1 -1
- package/dist/components/status-row.js +14 -0
- package/dist/components/switch.d.ts +15 -0
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/switch.js +15 -0
- package/dist/components/table-card.d.ts +16 -3
- package/dist/components/table-card.d.ts.map +1 -1
- package/dist/components/table-card.js +16 -3
- package/dist/components/table-value.d.ts +24 -2
- package/dist/components/table-value.d.ts.map +1 -1
- package/dist/components/table-value.js +25 -3
- package/dist/components/table.d.ts +16 -0
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/table.js +17 -1
- package/dist/components/tabs.d.ts +27 -0
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +27 -0
- package/dist/components/tag.d.ts +12 -2
- package/dist/components/tag.d.ts.map +1 -1
- package/dist/components/tag.js +12 -2
- package/dist/components/text-link.d.ts +17 -0
- package/dist/components/text-link.d.ts.map +1 -1
- package/dist/components/text-link.js +17 -0
- package/dist/components/textarea.d.ts +14 -0
- package/dist/components/textarea.d.ts.map +1 -1
- package/dist/components/textarea.js +14 -0
- package/dist/components/theme-mode-switcher.d.ts +21 -0
- package/dist/components/theme-mode-switcher.d.ts.map +1 -1
- package/dist/components/theme-mode-switcher.js +23 -1
- package/dist/components/toggle-group.d.ts +13 -0
- package/dist/components/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group.js +13 -0
- package/dist/components/toggle.d.ts +14 -0
- package/dist/components/toggle.d.ts.map +1 -1
- package/dist/components/toggle.js +14 -0
- package/dist/components/tool-icon.d.ts +14 -4
- package/dist/components/tool-icon.d.ts.map +1 -1
- package/dist/components/tool-icon.js +27 -42
- package/dist/components/tooltip.d.ts +15 -0
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +15 -0
- package/dist/components/trend-badge.d.ts +16 -1
- package/dist/components/trend-badge.d.ts.map +1 -1
- package/dist/components/trend-badge.js +16 -7
- package/dist/components/update-card.d.ts +36 -0
- package/dist/components/update-card.d.ts.map +1 -0
- package/dist/components/update-card.js +28 -0
- package/dist/components/usage-meter.d.ts +15 -0
- package/dist/components/usage-meter.d.ts.map +1 -1
- package/dist/components/usage-meter.js +15 -0
- package/dist/components/waiting-line.d.ts +13 -10
- package/dist/components/waiting-line.d.ts.map +1 -1
- package/dist/components/waiting-line.js +13 -10
- package/dist/eslint/index.js +8 -0
- package/dist/eslint/rules/empty-state-owner.js +145 -0
- package/dist/eslint/rules/menu-owner.js +75 -0
- package/dist/eslint/rules/no-decorative-icon.js +164 -0
- package/dist/eslint/rules/page-composition.js +232 -0
- package/dist/eslint/rules/rendered-import.js +121 -0
- package/dist/eslint/strict-design-system.js +1 -1
- package/dist/hooks/use-hydrated.d.ts +2 -0
- package/dist/hooks/use-hydrated.d.ts.map +1 -0
- package/dist/hooks/use-hydrated.js +7 -0
- package/dist/index.d.ts +15 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -10
- package/dist/internal/catalog-list.d.ts +14 -0
- package/dist/internal/catalog-list.d.ts.map +1 -0
- package/dist/internal/catalog-list.js +53 -0
- package/dist/internal/empty.d.ts +6 -9
- package/dist/internal/empty.d.ts.map +1 -1
- package/dist/internal/empty.js +24 -22
- package/dist/internal/footer-strip.d.ts +0 -4
- package/dist/internal/footer-strip.d.ts.map +1 -1
- package/dist/internal/footer-strip.js +0 -4
- package/dist/internal/record-menu-items.d.ts +19 -0
- package/dist/internal/record-menu-items.d.ts.map +1 -0
- package/dist/internal/record-menu-items.js +20 -0
- package/dist/internal/settings-save.d.ts +43 -0
- package/dist/internal/settings-save.d.ts.map +1 -0
- package/dist/internal/settings-save.js +147 -0
- package/dist/lib/theme-mode.d.ts +1 -1
- package/dist/lib/theme-mode.js +1 -1
- package/dist/showcase/assets.d.ts +8 -0
- package/dist/showcase/assets.d.ts.map +1 -0
- package/dist/showcase/assets.js +13 -0
- package/dist/showcase/foundations.d.ts +2 -0
- package/dist/showcase/foundations.d.ts.map +1 -0
- package/dist/showcase/foundations.js +61 -0
- package/dist/showcase/samples.d.ts +21 -0
- package/dist/showcase/samples.d.ts.map +1 -0
- package/dist/showcase/samples.js +48 -0
- package/dist/showcase/showcase.d.ts +10 -0
- package/dist/showcase/showcase.d.ts.map +1 -0
- package/dist/showcase/showcase.js +44 -0
- package/dist/showcase/specimens/actions.d.ts +7 -0
- package/dist/showcase/specimens/actions.d.ts.map +1 -0
- package/dist/showcase/specimens/actions.js +15 -0
- package/dist/showcase/specimens/charts.d.ts +17 -0
- package/dist/showcase/specimens/charts.d.ts.map +1 -0
- package/dist/showcase/specimens/charts.js +104 -0
- package/dist/showcase/specimens/choices.d.ts +21 -0
- package/dist/showcase/specimens/choices.d.ts.map +1 -0
- package/dist/showcase/specimens/choices.js +68 -0
- package/dist/showcase/specimens/compositions.d.ts +39 -0
- package/dist/showcase/specimens/compositions.d.ts.map +1 -0
- package/dist/showcase/specimens/compositions.js +270 -0
- package/dist/showcase/specimens/data.d.ts +31 -0
- package/dist/showcase/specimens/data.d.ts.map +1 -0
- package/dist/showcase/specimens/data.js +111 -0
- package/dist/showcase/specimens/feedback.d.ts +23 -0
- package/dist/showcase/specimens/feedback.d.ts.map +1 -0
- package/dist/showcase/specimens/feedback.js +64 -0
- package/dist/showcase/specimens/index.d.ts +164 -0
- package/dist/showcase/specimens/index.d.ts.map +1 -0
- package/dist/showcase/specimens/index.js +24 -0
- package/dist/showcase/specimens/inputs.d.ts +22 -0
- package/dist/showcase/specimens/inputs.d.ts.map +1 -0
- package/dist/showcase/specimens/inputs.js +60 -0
- package/dist/showcase/specimens/menus.d.ts +20 -0
- package/dist/showcase/specimens/menus.d.ts.map +1 -0
- package/dist/showcase/specimens/menus.js +65 -0
- package/dist/showcase/specimens/navigation.d.ts +22 -0
- package/dist/showcase/specimens/navigation.d.ts.map +1 -0
- package/dist/showcase/specimens/navigation.js +103 -0
- package/dist/showcase/specimens/other.d.ts +26 -0
- package/dist/showcase/specimens/other.d.ts.map +1 -0
- package/dist/showcase/specimens/other.js +73 -0
- package/dist/showcase/specimens/specimen.d.ts +5 -0
- package/dist/showcase/specimens/specimen.d.ts.map +1 -0
- package/dist/showcase/specimens/specimen.js +1 -0
- package/dist/showcase/specimens/status.d.ts +22 -0
- package/dist/showcase/specimens/status.d.ts.map +1 -0
- package/dist/showcase/specimens/status.js +44 -0
- package/dist/showcase/usage.generated.d.ts +16 -0
- package/dist/showcase/usage.generated.d.ts.map +1 -0
- package/dist/showcase/usage.generated.js +1788 -0
- package/dist/standalone/index.js +1 -1
- package/dist/styles/components.css +21 -0
- package/package.json +8 -3
- package/dist/components/automation-section.d.ts +0 -78
- package/dist/components/automation-section.d.ts.map +0 -1
- package/dist/components/automation-section.js +0 -75
- package/dist/components/catalog-tile.d.ts +0 -19
- package/dist/components/catalog-tile.d.ts.map +0 -1
- package/dist/components/catalog-tile.js +0 -13
- package/dist/components/feedback-state.d.ts +0 -14
- package/dist/components/feedback-state.d.ts.map +0 -1
- package/dist/components/feedback-state.js +0 -65
- package/dist/components/installer-shell.d.ts +0 -25
- package/dist/components/installer-shell.d.ts.map +0 -1
- package/dist/components/installer-shell.js +0 -32
- package/dist/components/settings-form.d.ts +0 -9
- package/dist/components/settings-form.d.ts.map +0 -1
- package/dist/components/settings-form.js +0 -83
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { Slider as SliderPrimitive } from "@base-ui/react/slider";
|
|
2
|
+
/**
|
|
3
|
+
* A bounded number chosen by a thumb's position on a track.
|
|
4
|
+
*
|
|
5
|
+
* @family Inputs
|
|
6
|
+
* @when A bounded number where the position matters more than the digit: a limit, a share.
|
|
7
|
+
* @instead An exact number is `Input`; pair the two when precision counts. A few named levels are
|
|
8
|
+
* radios.
|
|
9
|
+
* @behaviour A 4 px track, the filled part in ink, a 12 px thumb edged in the input grey. Hover,
|
|
10
|
+
* drag and focus outline the thumb. Arrows step, Page Up and Down jump, Home and End reach the
|
|
11
|
+
* bounds. The thumb's touch target is 44 px.
|
|
12
|
+
* @words The label names the quantity; the current value and its unit are always written beside it
|
|
13
|
+
* (*€ 400*). The help states the bounds and the step.
|
|
14
|
+
* @access `role="slider"` with a name, min, max and `aria-valuetext` carrying the unit.
|
|
15
|
+
*/
|
|
2
16
|
declare function Slider({ className, defaultValue, value, min, max, ...props }: SliderPrimitive.Root.Props): import("react").JSX.Element;
|
|
3
17
|
export { Slider };
|
|
4
18
|
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/components/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIlE,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,YAAY,EACZ,KAAK,EACL,GAAO,EACP,GAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,+BAsC5B;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/components/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;;;;;;;;;GAaG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,YAAY,EACZ,KAAK,EACL,GAAO,EACP,GAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,+BAsC5B;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Slider as SliderPrimitive } from "@base-ui/react/slider";
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* A bounded number chosen by a thumb's position on a track.
|
|
6
|
+
*
|
|
7
|
+
* @family Inputs
|
|
8
|
+
* @when A bounded number where the position matters more than the digit: a limit, a share.
|
|
9
|
+
* @instead An exact number is `Input`; pair the two when precision counts. A few named levels are
|
|
10
|
+
* radios.
|
|
11
|
+
* @behaviour A 4 px track, the filled part in ink, a 12 px thumb edged in the input grey. Hover,
|
|
12
|
+
* drag and focus outline the thumb. Arrows step, Page Up and Down jump, Home and End reach the
|
|
13
|
+
* bounds. The thumb's touch target is 44 px.
|
|
14
|
+
* @words The label names the quantity; the current value and its unit are always written beside it
|
|
15
|
+
* (*€ 400*). The help states the bounds and the step.
|
|
16
|
+
* @access `role="slider"` with a name, min, max and `aria-valuetext` carrying the unit.
|
|
17
|
+
*/
|
|
4
18
|
function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
|
|
5
19
|
const _values = Array.isArray(value)
|
|
6
20
|
? value
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import { type ToasterProps } from "sonner";
|
|
2
|
+
/**
|
|
3
|
+
* The one place toasts appear, mounted once per product.
|
|
4
|
+
*
|
|
5
|
+
* @family Feedback
|
|
6
|
+
* @when One acknowledgement of an action the person took, when the result is not already visible
|
|
7
|
+
* where they are looking; and the Undo of a reversible removal. Mount it once; raise toasts through
|
|
8
|
+
* `toast`.
|
|
9
|
+
* @instead For a failure that must stay, use `MessageNotice` by the control. For unsaved work,
|
|
10
|
+
* failed payment or lost access never a toast alone. For a condition use a banner.
|
|
11
|
+
* @behaviour Tone `success`, `info`, `warning`, `error`; mark in the deep step. The first action
|
|
12
|
+
* with a handler becomes its one button. Undo only where a safe rollback exists. A toast that stays
|
|
13
|
+
* up shows the waiting line, not a spinner.
|
|
14
|
+
* @words Completion is noun, past participle: *Mailbox removed*, *Agent created*, paired one to one
|
|
15
|
+
* with its button *Remove mailbox*. No *successfully*, no exclamation.
|
|
16
|
+
* @access Announced by the toaster's live region. Never the only route to recovery: the record's
|
|
17
|
+
* own row keeps its controls. Undo is reachable by keyboard (Alt+T moves focus to the toasts) while
|
|
18
|
+
* it shows.
|
|
19
|
+
*/
|
|
2
20
|
declare const Toaster: ({ ...props }: ToasterProps) => import("react").JSX.Element;
|
|
3
21
|
export { Toaster };
|
|
4
22
|
//# sourceMappingURL=sonner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../src/components/sonner.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAM9D,QAAA,MAAM,OAAO,GAAI,cAAc,YAAY,gCAiC1C,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../src/components/sonner.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAM9D;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,OAAO,GAAI,cAAc,YAAY,gCAiC1C,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -5,6 +5,24 @@ import { Toaster as Sonner } from "sonner";
|
|
|
5
5
|
import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon } from "lucide-react";
|
|
6
6
|
import { WaitingLine } from "./waiting-line.js";
|
|
7
7
|
import { isThemeMode } from "../lib/theme-mode.js";
|
|
8
|
+
/**
|
|
9
|
+
* The one place toasts appear, mounted once per product.
|
|
10
|
+
*
|
|
11
|
+
* @family Feedback
|
|
12
|
+
* @when One acknowledgement of an action the person took, when the result is not already visible
|
|
13
|
+
* where they are looking; and the Undo of a reversible removal. Mount it once; raise toasts through
|
|
14
|
+
* `toast`.
|
|
15
|
+
* @instead For a failure that must stay, use `MessageNotice` by the control. For unsaved work,
|
|
16
|
+
* failed payment or lost access never a toast alone. For a condition use a banner.
|
|
17
|
+
* @behaviour Tone `success`, `info`, `warning`, `error`; mark in the deep step. The first action
|
|
18
|
+
* with a handler becomes its one button. Undo only where a safe rollback exists. A toast that stays
|
|
19
|
+
* up shows the waiting line, not a spinner.
|
|
20
|
+
* @words Completion is noun, past participle: *Mailbox removed*, *Agent created*, paired one to one
|
|
21
|
+
* with its button *Remove mailbox*. No *successfully*, no exclamation.
|
|
22
|
+
* @access Announced by the toaster's live region. Never the only route to recovery: the record's
|
|
23
|
+
* own row keeps its controls. Undo is reachable by keyboard (Alt+T moves focus to the toasts) while
|
|
24
|
+
* it shows.
|
|
25
|
+
*/
|
|
8
26
|
const Toaster = ({ ...props }) => {
|
|
9
27
|
const { theme = "system" } = useTheme();
|
|
10
28
|
return (_jsx(Sonner, { theme: isThemeMode(theme) ? theme : "system", className: "toaster group", icons: {
|
|
@@ -7,8 +7,19 @@ type StatusBadgeProps = Omit<ComponentProps<"span">, "children"> & {
|
|
|
7
7
|
since?: string;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
* A
|
|
11
|
-
*
|
|
10
|
+
* A record's state: a mark and a word in one of five tones.
|
|
11
|
+
*
|
|
12
|
+
* @family Status
|
|
13
|
+
* @when A record's state, when it sets the row apart: failed, waiting on a person, a step in
|
|
14
|
+
* motion, paused, connected. Gray is every terminal state that needs no action.
|
|
15
|
+
* @instead For a category (an installation, a partner) use `Tag`. For a control reporting its own
|
|
16
|
+
* action use `ActionStatus`. For a mark beside a word that already names the state, `StatusDot`.
|
|
17
|
+
* @behaviour Still: a status never moves and is never a button. Each app keeps one value-to-tone
|
|
18
|
+
* map in one module; nothing else picks a status colour. A healthy record shows no badge.
|
|
19
|
+
* @words A state, not a verb: *Failed*, *Waiting for you*. Sentence case, one to three words, no
|
|
20
|
+
* trailing ellipsis. Italian runs a third longer: *In attesa di te*.
|
|
21
|
+
* @access The word is the name; the mark is `aria-hidden` and repeats the tone as a shape, so
|
|
22
|
+
* colour never carries the state alone. Not focusable.
|
|
12
23
|
*/
|
|
13
24
|
declare function StatusBadge({ tone, label, since, className, ...props }: StatusBadgeProps): import("react").JSX.Element;
|
|
14
25
|
export { StatusBadge, type StatusBadgeProps, type StatusBadgeTone };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../src/components/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,KAAK,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../src/components/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,KAAK,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAoB7E,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACjE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,iBAAS,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAmBjF;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,CAAC"}
|
|
@@ -2,12 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { CircleCheck, CircleDot, CirclePause, CircleX, Clock } from "lucide-react";
|
|
3
3
|
import { Badge } from "./badge.js";
|
|
4
4
|
import { cn } from "../lib/utils.js";
|
|
5
|
-
const
|
|
6
|
-
success: "green",
|
|
7
|
-
warning: "amber",
|
|
8
|
-
danger: "red",
|
|
9
|
-
info: "blue",
|
|
10
|
-
neutral: "gray",
|
|
5
|
+
const FILL_BY_TONE = {
|
|
6
|
+
success: { name: "green", classes: "bg-success-soft text-success-soft-foreground" },
|
|
7
|
+
warning: { name: "amber", classes: "bg-warning-soft text-warning-soft-foreground" },
|
|
8
|
+
danger: { name: "red", classes: "bg-destructive-soft text-destructive-soft-foreground" },
|
|
9
|
+
info: { name: "blue", classes: "bg-info-soft text-info-soft-foreground" },
|
|
10
|
+
neutral: { name: "gray", classes: "bg-accent text-muted-foreground" },
|
|
11
11
|
};
|
|
12
12
|
// One mark per tone, always the same one: the tone said again as a shape, so a
|
|
13
13
|
// status reads without colour. The info dot is filled and still.
|
|
@@ -19,11 +19,23 @@ const MARK_BY_TONE = {
|
|
|
19
19
|
neutral: CirclePause,
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* A
|
|
23
|
-
*
|
|
22
|
+
* A record's state: a mark and a word in one of five tones.
|
|
23
|
+
*
|
|
24
|
+
* @family Status
|
|
25
|
+
* @when A record's state, when it sets the row apart: failed, waiting on a person, a step in
|
|
26
|
+
* motion, paused, connected. Gray is every terminal state that needs no action.
|
|
27
|
+
* @instead For a category (an installation, a partner) use `Tag`. For a control reporting its own
|
|
28
|
+
* action use `ActionStatus`. For a mark beside a word that already names the state, `StatusDot`.
|
|
29
|
+
* @behaviour Still: a status never moves and is never a button. Each app keeps one value-to-tone
|
|
30
|
+
* map in one module; nothing else picks a status colour. A healthy record shows no badge.
|
|
31
|
+
* @words A state, not a verb: *Failed*, *Waiting for you*. Sentence case, one to three words, no
|
|
32
|
+
* trailing ellipsis. Italian runs a third longer: *In attesa di te*.
|
|
33
|
+
* @access The word is the name; the mark is `aria-hidden` and repeats the tone as a shape, so
|
|
34
|
+
* colour never carries the state alone. Not focusable.
|
|
24
35
|
*/
|
|
25
36
|
function StatusBadge({ tone, label, since, className, ...props }) {
|
|
26
37
|
const Mark = MARK_BY_TONE[tone];
|
|
27
|
-
|
|
38
|
+
const fill = FILL_BY_TONE[tone];
|
|
39
|
+
return (_jsxs(Badge, { className: cn(fill.classes, "has-data-[icon=inline-start]:pl-2", className), "data-variant": fill.name, ...props, children: [_jsx(Mark, { "aria-hidden": "true", "data-icon": "inline-start" }), label, since ? (_jsx("span", { className: "tabular-nums", "data-slot": "status-badge-since", children: since })) : null] }));
|
|
28
40
|
}
|
|
29
41
|
export { StatusBadge };
|
|
@@ -3,6 +3,18 @@ type StatusTone = "good" | "muted" | "warn" | "bad";
|
|
|
3
3
|
interface StatusDotProps extends ComponentProps<"span"> {
|
|
4
4
|
tone: StatusTone;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* A small still dot beside a word that already names the state.
|
|
8
|
+
*
|
|
9
|
+
* @family Status
|
|
10
|
+
* @when A small mark in dense chrome, beside a word that already names the state: a channel, a
|
|
11
|
+
* machine in a list.
|
|
12
|
+
* @instead A status that stands alone is a `StatusBadge`. Something in motion is the waiting line
|
|
13
|
+
* or an Agent's orb; the dot has no info tone.
|
|
14
|
+
* @behaviour Still; never pulses. Tones are `good`, `muted`, `warn`, `bad`, at full strength.
|
|
15
|
+
* @words None of its own. The word beside it says the state.
|
|
16
|
+
* @access Always `aria-hidden`. If the word is missing, the state is missing.
|
|
17
|
+
*/
|
|
6
18
|
declare function StatusDot({ className, tone, ...props }: StatusDotProps): import("react").JSX.Element;
|
|
7
19
|
export { StatusDot };
|
|
8
20
|
export type { StatusTone };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-dot.d.ts","sourceRoot":"","sources":["../../src/components/status-dot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAQpD,UAAU,cAAe,SAAQ,cAAc,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,UAAU,CAAC;CAClB;AACD,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAU/D;AACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"status-dot.d.ts","sourceRoot":"","sources":["../../src/components/status-dot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAQpD,UAAU,cAAe,SAAQ,cAAc,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,UAAU,CAAC;CAClB;AACD;;;;;;;;;;;GAWG;AACH,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAU/D;AACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -6,6 +6,18 @@ const TONE_BG_CLASS = {
|
|
|
6
6
|
warn: "bg-warning",
|
|
7
7
|
bad: "bg-destructive",
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* A small still dot beside a word that already names the state.
|
|
11
|
+
*
|
|
12
|
+
* @family Status
|
|
13
|
+
* @when A small mark in dense chrome, beside a word that already names the state: a channel, a
|
|
14
|
+
* machine in a list.
|
|
15
|
+
* @instead A status that stands alone is a `StatusBadge`. Something in motion is the waiting line
|
|
16
|
+
* or an Agent's orb; the dot has no info tone.
|
|
17
|
+
* @behaviour Still; never pulses. Tones are `good`, `muted`, `warn`, `bad`, at full strength.
|
|
18
|
+
* @words None of its own. The word beside it says the state.
|
|
19
|
+
* @access Always `aria-hidden`. If the word is missing, the state is missing.
|
|
20
|
+
*/
|
|
9
21
|
function StatusDot({ className, tone, ...props }) {
|
|
10
22
|
return (_jsx("span", { "aria-hidden": "true", className: cn("inline-block size-1.5 rounded-full", TONE_BG_CLASS[tone], className), "data-slot": "status-dot", "data-tone": tone, ...props }));
|
|
11
23
|
}
|
|
@@ -5,6 +5,20 @@ interface StatusRowProps extends Omit<React.ComponentProps<"div">, "onClick" | "
|
|
|
5
5
|
trailing?: ReactNode;
|
|
6
6
|
trailingVisible?: boolean;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* One line of a status panel: a mark, what it is, and controls that show on hover.
|
|
10
|
+
*
|
|
11
|
+
* @family Data
|
|
12
|
+
* @when Lines inside a side panel that report what is running or connected, grouped under a
|
|
13
|
+
* collapsible `StatusSection`.
|
|
14
|
+
* @instead A collection's row is `RecordList`'s. A row with a sentence and actions is `Item`.
|
|
15
|
+
* @behaviour When `onActivate` is given the whole row is one button that takes the accent hover;
|
|
16
|
+
* the trailing controls show on hover or focus unless `trailingVisible`. A `StatusSection` starts
|
|
17
|
+
* collapsed.
|
|
18
|
+
* @words The row names the thing; the section's label is a plural noun.
|
|
19
|
+
* @access An activatable row is `role="button"`, reached by Tab and run by Enter or Space. The
|
|
20
|
+
* section's toggle exposes `aria-expanded`.
|
|
21
|
+
*/
|
|
8
22
|
declare function StatusRow({ children, className, leading, onActivate, trailing, trailingVisible, ...props }: StatusRowProps): import("react").JSX.Element;
|
|
9
23
|
interface StatusSectionProps {
|
|
10
24
|
accessory?: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-row.d.ts","sourceRoot":"","sources":["../../src/components/status-row.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtF,UAAU,cAAe,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACzF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iBAAS,SAAS,CAAC,EACjB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAuB,EACvB,GAAG,KAAK,EACT,EAAE,cAAc,+BAyChB;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,gBAAuB,EACvB,IAAI,EACJ,KAAK,GACN,EAAE,kBAAkB,+BAwBpB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"status-row.d.ts","sourceRoot":"","sources":["../../src/components/status-row.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtF,UAAU,cAAe,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACzF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,SAAS,CAAC,EACjB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAuB,EACvB,GAAG,KAAK,EACT,EAAE,cAAc,+BAyChB;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,gBAAuB,EACvB,IAAI,EACJ,KAAK,GACN,EAAE,kBAAkB,+BAwBpB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -3,6 +3,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { ChevronRightIcon } from "lucide-react";
|
|
5
5
|
import { cn } from "../lib/utils.js";
|
|
6
|
+
/**
|
|
7
|
+
* One line of a status panel: a mark, what it is, and controls that show on hover.
|
|
8
|
+
*
|
|
9
|
+
* @family Data
|
|
10
|
+
* @when Lines inside a side panel that report what is running or connected, grouped under a
|
|
11
|
+
* collapsible `StatusSection`.
|
|
12
|
+
* @instead A collection's row is `RecordList`'s. A row with a sentence and actions is `Item`.
|
|
13
|
+
* @behaviour When `onActivate` is given the whole row is one button that takes the accent hover;
|
|
14
|
+
* the trailing controls show on hover or focus unless `trailingVisible`. A `StatusSection` starts
|
|
15
|
+
* collapsed.
|
|
16
|
+
* @words The row names the thing; the section's label is a plural noun.
|
|
17
|
+
* @access An activatable row is `role="button"`, reached by Tab and run by Enter or Space. The
|
|
18
|
+
* section's toggle exposes `aria-expanded`.
|
|
19
|
+
*/
|
|
6
20
|
function StatusRow({ children, className, leading, onActivate, trailing, trailingVisible = false, ...props }) {
|
|
7
21
|
return (_jsxs("div", { className: cn("group/status-row flex min-h-6 items-center gap-2 rounded-sm px-1.5 py-1", onActivate && "cursor-pointer hover:bg-accent", className), "data-slot": "status-row", onClick: onActivate, onKeyDown: onActivate
|
|
8
22
|
? (event) => {
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
|
|
2
|
+
/**
|
|
3
|
+
* A setting that is on or off.
|
|
4
|
+
*
|
|
5
|
+
* @family Choices
|
|
6
|
+
* @when A setting that is either on or off, inside a settings section that saves.
|
|
7
|
+
* @instead Choosing or agreeing to something is a `Checkbox`. A tool button that stays pressed is a
|
|
8
|
+
* `Toggle`. Choosing between named values is a `RadioGroup`.
|
|
9
|
+
* @behaviour Off is the input grey, on is ink; the thumb travels 16 px. Space flips it. On a
|
|
10
|
+
* settings page the change waits for the section's Save, which lights up; only Theme and Language
|
|
11
|
+
* in the account menu apply at once. A failed save leaves the switch showing the true state.
|
|
12
|
+
* @words The label names what on means: *Approvals*, with help saying when. Never *Enable
|
|
13
|
+
* approvals*, and no On/Off text beside the switch.
|
|
14
|
+
* @access `role="switch"` with `aria-checked`. The name is the visible label and stays the same in
|
|
15
|
+
* both states. `sm` only inside a dense row.
|
|
16
|
+
*/
|
|
2
17
|
declare function Switch({ className, size, ...props }: SwitchPrimitive.Root.Props & {
|
|
3
18
|
size?: "sm" | "default";
|
|
4
19
|
}): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/components/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIlE,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,+BAiBA;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/components/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;;;;;;;;;;GAcG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,+BAiBA;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* A setting that is on or off.
|
|
6
|
+
*
|
|
7
|
+
* @family Choices
|
|
8
|
+
* @when A setting that is either on or off, inside a settings section that saves.
|
|
9
|
+
* @instead Choosing or agreeing to something is a `Checkbox`. A tool button that stays pressed is a
|
|
10
|
+
* `Toggle`. Choosing between named values is a `RadioGroup`.
|
|
11
|
+
* @behaviour Off is the input grey, on is ink; the thumb travels 16 px. Space flips it. On a
|
|
12
|
+
* settings page the change waits for the section's Save, which lights up; only Theme and Language
|
|
13
|
+
* in the account menu apply at once. A failed save leaves the switch showing the true state.
|
|
14
|
+
* @words The label names what on means: *Approvals*, with help saying when. Never *Enable
|
|
15
|
+
* approvals*, and no On/Off text beside the switch.
|
|
16
|
+
* @access `role="switch"` with `aria-checked`. The name is the visible label and stays the same in
|
|
17
|
+
* both states. `sm` only inside a dense row.
|
|
18
|
+
*/
|
|
4
19
|
function Switch({ className, size = "default", ...props }) {
|
|
5
20
|
return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", "data-size": size, className: cn("nc-transition-paint peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent p-px after:absolute after:top-1/2 after:left-1/2 after:size-touch-target after:-translate-x-1/2 after:-translate-y-1/2 aria-invalid:border-destructive data-[size=default]:h-5 data-[size=default]:w-9 data-[size=sm]:h-4 data-[size=sm]:w-7 data-checked:bg-primary data-unchecked:bg-input data-disabled:cursor-not-allowed data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:after:hidden", className), ...props, children: _jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: "nc-transition-transform pointer-events-none block rounded-full bg-background ring-0 group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-full group-data-[size=sm]/switch:data-checked:translate-x-full group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0" }) }));
|
|
6
21
|
}
|
|
@@ -2,9 +2,22 @@ import * as React from "react";
|
|
|
2
2
|
import { type CardSurface } from "./card.js";
|
|
3
3
|
/**
|
|
4
4
|
* The frame a collection's table sits in: a heading, the collection's own
|
|
5
|
-
* toolbar under it, the table, a labelled total, and the recessed footer
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* toolbar under it, the table, a labelled total, and the recessed footer strip.
|
|
6
|
+
*
|
|
7
|
+
* The Portal's DataTable and Nadia's record sections draw this one frame, so a
|
|
8
|
+
* registry card ends the same way in both products.
|
|
9
|
+
*
|
|
10
|
+
* @family Data
|
|
11
|
+
* @when A table of records in a card: its heading, its own toolbar, the table, a labelled total and
|
|
12
|
+
* the recessed footer strip.
|
|
13
|
+
* @instead An entity collection that is the page's whole job is `CollectionPage`. A chart is
|
|
14
|
+
* `ChartCard`. One object's facts are `SettingsFactsSection`.
|
|
15
|
+
* @behaviour The heading, the toolbar and a separator come first when given; the summary row is a
|
|
16
|
+
* labelled total under the table; the footer strip holds the hint on the left and the count or
|
|
17
|
+
* paging on the right.
|
|
18
|
+
* @words The title names the collection. The footer is a count or the paging; the summary is a
|
|
19
|
+
* labelled total. Never a help sentence in the footer.
|
|
20
|
+
* @access A `section` whose title is an `h2`; the summary is a `dl`.
|
|
8
21
|
*/
|
|
9
22
|
declare function TableCard({ title, description, actions, toolbar, summary, footer, footerHint, children, className, surface, ...props }: Omit<React.ComponentProps<"section">, "title"> & {
|
|
10
23
|
title?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-card.d.ts","sourceRoot":"","sources":["../../src/components/table-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAA4D,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGpG
|
|
1
|
+
{"version":3,"file":"table-card.d.ts","sourceRoot":"","sources":["../../src/components/table-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAA4D,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGpG;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wCAAwC;IACxC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,qBA8CA;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -5,9 +5,22 @@ import { Card, CardAction, CardDescription, CardHeader, CardTitle } from "./card
|
|
|
5
5
|
import { Separator } from "./separator.js";
|
|
6
6
|
/**
|
|
7
7
|
* The frame a collection's table sits in: a heading, the collection's own
|
|
8
|
-
* toolbar under it, the table, a labelled total, and the recessed footer
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* toolbar under it, the table, a labelled total, and the recessed footer strip.
|
|
9
|
+
*
|
|
10
|
+
* The Portal's DataTable and Nadia's record sections draw this one frame, so a
|
|
11
|
+
* registry card ends the same way in both products.
|
|
12
|
+
*
|
|
13
|
+
* @family Data
|
|
14
|
+
* @when A table of records in a card: its heading, its own toolbar, the table, a labelled total and
|
|
15
|
+
* the recessed footer strip.
|
|
16
|
+
* @instead An entity collection that is the page's whole job is `CollectionPage`. A chart is
|
|
17
|
+
* `ChartCard`. One object's facts are `SettingsFactsSection`.
|
|
18
|
+
* @behaviour The heading, the toolbar and a separator come first when given; the summary row is a
|
|
19
|
+
* labelled total under the table; the footer strip holds the hint on the left and the count or
|
|
20
|
+
* paging on the right.
|
|
21
|
+
* @words The title names the collection. The footer is a count or the paging; the summary is a
|
|
22
|
+
* labelled total. Never a help sentence in the footer.
|
|
23
|
+
* @access A `section` whose title is an `h2`; the summary is a `dl`.
|
|
11
24
|
*/
|
|
12
25
|
function TableCard({ title, description, actions, toolbar, summary, footer, footerHint, children, className, surface = "resting", ...props }) {
|
|
13
26
|
const heading = title || description || actions;
|
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
|
+
type TableReading = string | number | ReactElement;
|
|
2
3
|
export type TableValueProps = {
|
|
3
|
-
|
|
4
|
+
state?: "read";
|
|
5
|
+
value: TableReading | null | undefined;
|
|
6
|
+
/** What a missing value means, read to a screen reader behind the dash: "Not reported". */
|
|
4
7
|
missingLabel: string;
|
|
8
|
+
/** The word set after a reading that is out of date, such as "Stale"; absent while it is current. */
|
|
9
|
+
staleLabel?: string;
|
|
10
|
+
} | {
|
|
11
|
+
state: "failed";
|
|
12
|
+
/** The catalogue's words for a read that failed: "Couldn't read". */
|
|
13
|
+
failedLabel: string;
|
|
14
|
+
} | {
|
|
15
|
+
state: "loading";
|
|
5
16
|
};
|
|
6
|
-
|
|
17
|
+
/**
|
|
18
|
+
* One cell's value in a table, in each state a reading can be in.
|
|
19
|
+
*
|
|
20
|
+
* @family Data
|
|
21
|
+
* @when Every cell of a `DataTable` whose reading can be missing, zero, out of date, unreadable or still loading.
|
|
22
|
+
* @instead A whole table that failed to read is `EmptyState kind="failed"`; a figure on its own is a `KpiCard`.
|
|
23
|
+
* @behaviour Five states that never collapse into a dash: unknown (a muted dash), zero (the figure "0"), stale (the reading, then the stale word), failed (the warning mark and its words) and loading (a still 64 × 12 placeholder). A real value, `0` included, is shown as it is.
|
|
24
|
+
* @words `missingLabel` says what the absence means ("Not reported", never "N/A" or "None"); `staleLabel` is one word ("Stale"); `failedLabel` says the read failed ("Couldn't read").
|
|
25
|
+
* @access The dash is hidden and `missingLabel` is read in its place; the warning mark is hidden beside its words; the placeholder is decorative, and the table is `aria-busy` while it loads.
|
|
26
|
+
*/
|
|
27
|
+
export declare function TableValue(props: TableValueProps): string | number | import("react").JSX.Element;
|
|
28
|
+
export {};
|
|
7
29
|
//# sourceMappingURL=table-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-value.d.ts","sourceRoot":"","sources":["../../src/components/table-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"table-value.d.ts","sourceRoot":"","sources":["../../src/components/table-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAEnD,MAAM,MAAM,eAAe,GACvB;IACE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzB;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,iDAoChD"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { CircleAlert } from "lucide-react";
|
|
3
|
+
import { Skeleton } from "./skeleton.js";
|
|
4
|
+
/**
|
|
5
|
+
* One cell's value in a table, in each state a reading can be in.
|
|
6
|
+
*
|
|
7
|
+
* @family Data
|
|
8
|
+
* @when Every cell of a `DataTable` whose reading can be missing, zero, out of date, unreadable or still loading.
|
|
9
|
+
* @instead A whole table that failed to read is `EmptyState kind="failed"`; a figure on its own is a `KpiCard`.
|
|
10
|
+
* @behaviour Five states that never collapse into a dash: unknown (a muted dash), zero (the figure "0"), stale (the reading, then the stale word), failed (the warning mark and its words) and loading (a still 64 × 12 placeholder). A real value, `0` included, is shown as it is.
|
|
11
|
+
* @words `missingLabel` says what the absence means ("Not reported", never "N/A" or "None"); `staleLabel` is one word ("Stale"); `failedLabel` says the read failed ("Couldn't read").
|
|
12
|
+
* @access The dash is hidden and `missingLabel` is read in its place; the warning mark is hidden beside its words; the placeholder is decorative, and the table is `aria-busy` while it loads.
|
|
13
|
+
*/
|
|
14
|
+
export function TableValue(props) {
|
|
15
|
+
if (props.state === "loading") {
|
|
16
|
+
return _jsx(Skeleton, { className: "h-3 w-16" });
|
|
17
|
+
}
|
|
18
|
+
if (props.state === "failed") {
|
|
19
|
+
return (_jsxs("span", { "data-slot": "table-failed-value", className: "inline-flex items-center gap-1 text-caption text-warning-soft-foreground", children: [_jsx(CircleAlert, { "aria-hidden": "true", className: "size-3 shrink-0", strokeWidth: 1.25 }), props.failedLabel] }));
|
|
20
|
+
}
|
|
21
|
+
const { value, missingLabel, staleLabel } = props;
|
|
22
|
+
if (value === null || value === undefined || value === "") {
|
|
23
|
+
return (_jsxs("span", { "data-slot": "table-missing-value", className: "text-muted-foreground", children: [_jsx("span", { "aria-hidden": "true", children: "\u2014" }), _jsx("span", { className: "sr-only", children: missingLabel })] }));
|
|
24
|
+
}
|
|
25
|
+
if (staleLabel === undefined)
|
|
4
26
|
return value;
|
|
5
|
-
return (_jsxs("span", { "data-slot": "table-
|
|
27
|
+
return (_jsxs("span", { "data-slot": "table-stale-value", className: "inline-flex items-baseline gap-1.5", children: [value, _jsx("span", { className: "text-caption text-muted-foreground", children: staleLabel })] }));
|
|
6
28
|
}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { tableCompactLayouts, type TableCompactLayout } from "./table-layouts.js";
|
|
3
|
+
/**
|
|
4
|
+
* The native table primitive every comparison table is drawn with.
|
|
5
|
+
*
|
|
6
|
+
* @family Data
|
|
7
|
+
* @when A fixed table a composition draws itself: a summary inside a card, a list of plan limits. A
|
|
8
|
+
* table of records is `DataTable`, which draws this one.
|
|
9
|
+
* @instead Records with sorting, paging and an empty state are `DataTable`. A descriptive list is
|
|
10
|
+
* `ItemGroup`. One object's facts are `ObjectFacts`.
|
|
11
|
+
* @behaviour Headings visible; numbers trail in tabular figures. Row hover takes `accent`; headers
|
|
12
|
+
* and footers never highlight. `TableDetailRow` and `tableCompactLayouts` move facts into a detail
|
|
13
|
+
* row on a narrow card instead of scrolling sideways.
|
|
14
|
+
* @words Headings are nouns with their unit: *Cost (€)*, *Tokens*. Italian headings run a third
|
|
15
|
+
* longer and never wrap.
|
|
16
|
+
* @access A native `table` with a caption or `aria-label`; `th scope="col"`. A missing value is
|
|
17
|
+
* `TableValue`'s hidden dash, never blank.
|
|
18
|
+
*/
|
|
3
19
|
declare function Table({ className, compactDetails, density, variant, interactive, ...props }: React.ComponentProps<"table"> & {
|
|
4
20
|
compactDetails?: TableCompactLayout;
|
|
5
21
|
density?: "default" | "comfortable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,cAAc,EACd,OAAmB,EACnB,OAAmB,EACnB,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;IACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE1F;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,cAAc,EACd,OAAmB,EACnB,OAAmB,EACnB,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;IACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,qBA0BA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAQ1E;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAWxE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW/E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW1E;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;IAC9B,6GAA6G;IAC7G,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,qBAYA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAWrE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAWrE;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,KAAK,EACL,MAAmB,GACpB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,SAAS;QACd,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL,qBA8BA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,qBAQ7E;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,KAAK,kBAAkB,GACxB,CAAC"}
|
package/dist/components/table.js
CHANGED
|
@@ -2,8 +2,24 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
4
|
import { tableCompactLayouts } from "./table-layouts.js";
|
|
5
|
+
/**
|
|
6
|
+
* The native table primitive every comparison table is drawn with.
|
|
7
|
+
*
|
|
8
|
+
* @family Data
|
|
9
|
+
* @when A fixed table a composition draws itself: a summary inside a card, a list of plan limits. A
|
|
10
|
+
* table of records is `DataTable`, which draws this one.
|
|
11
|
+
* @instead Records with sorting, paging and an empty state are `DataTable`. A descriptive list is
|
|
12
|
+
* `ItemGroup`. One object's facts are `ObjectFacts`.
|
|
13
|
+
* @behaviour Headings visible; numbers trail in tabular figures. Row hover takes `accent`; headers
|
|
14
|
+
* and footers never highlight. `TableDetailRow` and `tableCompactLayouts` move facts into a detail
|
|
15
|
+
* row on a narrow card instead of scrolling sideways.
|
|
16
|
+
* @words Headings are nouns with their unit: *Cost (€)*, *Tokens*. Italian headings run a third
|
|
17
|
+
* longer and never wrap.
|
|
18
|
+
* @access A native `table` with a caption or `aria-label`; `th scope="col"`. A missing value is
|
|
19
|
+
* `TableValue`'s hidden dash, never blank.
|
|
20
|
+
*/
|
|
5
21
|
function Table({ className, compactDetails, density = "default", variant = "default", interactive = false, ...props }) {
|
|
6
|
-
return (_jsx("div", { "data-slot": "table-container", className: cn("relative w-full overflow-x-auto", compactDetails && "@container/table", variant === "bordered" && "rounded-sm border border-border"), children: _jsx("table", { "data-slot": "table", "data-density": density, "data-variant": variant, "data-interactive": interactive, className: cn("group/table w-full caption-bottom text-sm", variant === "striped" && "bg-card", className, compactDetails && tableCompactLayouts[compactDetails].table), ...props }) }));
|
|
22
|
+
return (_jsx("div", { "data-slot": "table-container", className: cn("relative w-full overflow-x-auto", compactDetails && "@container/table", variant === "bordered" && "rounded-sm border border-border"), children: _jsx("table", { "data-slot": "table", "data-compact-details": compactDetails, "data-density": density, "data-variant": variant, "data-interactive": interactive, className: cn("group/table w-full caption-bottom text-sm", variant === "striped" && "bg-card", className, compactDetails && tableCompactLayouts[compactDetails].table), ...props }) }));
|
|
7
23
|
}
|
|
8
24
|
function TableHeader({ className, ...props }) {
|
|
9
25
|
return (_jsx("thead", { "data-slot": "table-header", className: cn("bg-recessed [&_tr]:h-9 [&_tr]:border-b", className), ...props }));
|
|
@@ -2,6 +2,19 @@ import * as React from "react";
|
|
|
2
2
|
import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
|
|
3
3
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
4
|
import { type VariantProps } from "class-variance-authority";
|
|
5
|
+
/**
|
|
6
|
+
* Panels of one surface that switch in place.
|
|
7
|
+
*
|
|
8
|
+
* @family Navigation
|
|
9
|
+
* @when Sibling views of one object that switch in place inside one surface.
|
|
10
|
+
* @instead Views with their own URL are `TabsNav`. A choice that changes a value is a `RadioGroup`
|
|
11
|
+
* or `ToggleGroup`. A stable destination belongs in the `Sidebar`. A tab never opens a new scope.
|
|
12
|
+
* @behaviour One treatment among siblings, chosen through `variant`, never a page border. Arrow
|
|
13
|
+
* keys move, one tab stop. The underline fades on `confirm`, 180 ms.
|
|
14
|
+
* @words Nouns, one or two words: *Overview*, *Installations*. Italian (*Installazioni*) scrolls,
|
|
15
|
+
* never wraps or truncates.
|
|
16
|
+
* @access `tablist`, `tab`, `tabpanel` with `aria-selected`.
|
|
17
|
+
*/
|
|
5
18
|
declare function Tabs({ className, orientation, ...props }: TabsPrimitive.Root.Props): React.JSX.Element;
|
|
6
19
|
declare const tabsListVariants: (props?: ({
|
|
7
20
|
variant?: "line" | "default" | null | undefined;
|
|
@@ -9,6 +22,20 @@ declare const tabsListVariants: (props?: ({
|
|
|
9
22
|
declare function TabsList({ className, variant, ...props }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>): React.JSX.Element;
|
|
10
23
|
declare function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props): React.JSX.Element;
|
|
11
24
|
declare function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props): React.JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* Sibling views of one object, each with its own URL, under the top bar.
|
|
27
|
+
*
|
|
28
|
+
* @family Navigation
|
|
29
|
+
* @when Sibling views of one object under the top bar, when each view has its own URL (an object's
|
|
30
|
+
* sections), with `TabsLink` for each.
|
|
31
|
+
* @instead Panels that switch in place are `Tabs`. A stable destination belongs in the `Sidebar`.
|
|
32
|
+
* An object's ancestry is the `Breadcrumb`.
|
|
33
|
+
* @behaviour Overflow scrolls sideways and brings the current link into view. The current link
|
|
34
|
+
* takes the underline.
|
|
35
|
+
* @words Nouns, one or two words: *Overview*, *Installations*. Italian scrolls, never wraps or
|
|
36
|
+
* truncates.
|
|
37
|
+
* @access A labelled `nav` of links with `aria-current="page"` on the current one.
|
|
38
|
+
*/
|
|
12
39
|
declare function TabsNav({ className, children, variant, ...props }: React.ComponentProps<"nav"> & VariantProps<typeof tabsListVariants>): React.JSX.Element;
|
|
13
40
|
declare function TabsLink({ current, className, render, ...props }: useRender.ComponentProps<"a"> & {
|
|
14
41
|
current?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,qBAU1F;AAED,QAAA,MAAM,gBAAgB;;8EAarB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBASlE;AAKD,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,qBAepE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,qBAQtE;AAED,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,QAAQ,EACR,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBA2BrE;AAED,iBAAS,QAAQ,CAAC,EAChB,OAAe,EACf,SAAS,EACT,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAoBvD;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;;;;;;;;GAYG;AACH,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,qBAU1F;AAED,QAAA,MAAM,gBAAgB;;8EAarB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBASlE;AAKD,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,qBAepE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,qBAQtE;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,QAAQ,EACR,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBA2BrE;AAED,iBAAS,QAAQ,CAAC,EAChB,OAAe,EACf,SAAS,EACT,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAoBvD;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC"}
|