@nadicodeai/ui 12.1.102 → 12.1.103
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/dist/components/accordion.d.ts +38 -12
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/accordion.js +36 -15
- package/dist/components/account-menu.js +2 -2
- package/dist/components/action-menu.d.ts +20 -19
- package/dist/components/action-menu.d.ts.map +1 -1
- package/dist/components/action-menu.js +22 -15
- package/dist/components/action-status.d.ts +14 -10
- package/dist/components/action-status.d.ts.map +1 -1
- package/dist/components/action-status.js +14 -10
- package/dist/components/activity-calendar.d.ts +3 -1
- package/dist/components/activity-calendar.d.ts.map +1 -1
- package/dist/components/activity-calendar.js +16 -2
- package/dist/components/activity-feed.d.ts +2 -2
- package/dist/components/activity-feed.d.ts.map +1 -1
- package/dist/components/activity-feed.js +14 -5
- package/dist/components/agent-card.d.ts +11 -5
- package/dist/components/agent-card.d.ts.map +1 -1
- package/dist/components/agent-card.js +13 -7
- package/dist/components/agent-list-row.js +1 -1
- package/dist/components/agent-orb-appearance.d.ts +7 -1
- package/dist/components/agent-orb-appearance.d.ts.map +1 -1
- package/dist/components/agent-orb-appearance.js +26 -0
- package/dist/components/agent-profile.d.ts +8 -7
- package/dist/components/agent-profile.d.ts.map +1 -1
- package/dist/components/agent-profile.js +6 -6
- package/dist/components/alert-dialog.d.ts +25 -16
- package/dist/components/alert-dialog.d.ts.map +1 -1
- package/dist/components/alert-dialog.js +30 -18
- package/dist/components/alert.d.ts +1 -1
- package/dist/components/avatar.d.ts +83 -17
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +89 -23
- package/dist/components/badge.d.ts +59 -8
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/badge.js +57 -14
- package/dist/components/breadcrumb.d.ts +18 -7
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb.js +37 -13
- package/dist/components/button-group.d.ts +12 -15
- package/dist/components/button-group.d.ts.map +1 -1
- package/dist/components/button-group.js +13 -17
- package/dist/components/button.d.ts +126 -23
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +164 -39
- package/dist/components/calendar.d.ts +26 -15
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +60 -46
- package/dist/components/card-row.d.ts +13 -5
- package/dist/components/card-row.d.ts.map +1 -1
- package/dist/components/card-row.js +24 -10
- package/dist/components/card.d.ts +6 -12
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +11 -16
- package/dist/components/carousel.d.ts +3 -3
- package/dist/components/carousel.d.ts.map +1 -1
- package/dist/components/carousel.js +7 -7
- package/dist/components/catalog-drawer.d.ts +7 -7
- package/dist/components/catalog-drawer.d.ts.map +1 -1
- package/dist/components/catalog-drawer.js +6 -6
- package/dist/components/chart-area-stacked.d.ts +1 -1
- package/dist/components/chart-area-stacked.d.ts.map +1 -1
- package/dist/components/chart-area-stacked.js +4 -4
- package/dist/components/chart-axis.d.ts +14 -1
- package/dist/components/chart-axis.d.ts.map +1 -1
- package/dist/components/chart-axis.js +11 -1
- package/dist/components/chart-bar-horizontal.d.ts +2 -2
- package/dist/components/chart-bar-horizontal.d.ts.map +1 -1
- package/dist/components/chart-bar-horizontal.js +14 -5
- package/dist/components/chart-bar-multiple.d.ts +1 -1
- package/dist/components/chart-bar-multiple.d.ts.map +1 -1
- package/dist/components/chart-bar-multiple.js +3 -3
- package/dist/components/chart-bar-stacked.d.ts +1 -1
- package/dist/components/chart-bar-stacked.d.ts.map +1 -1
- package/dist/components/chart-bar-stacked.js +3 -3
- package/dist/components/chart-card.d.ts +17 -6
- package/dist/components/chart-card.d.ts.map +1 -1
- package/dist/components/chart-card.js +11 -4
- package/dist/components/chart-date-range-control.d.ts +18 -9
- package/dist/components/chart-date-range-control.d.ts.map +1 -1
- package/dist/components/chart-date-range-control.js +43 -47
- package/dist/components/chart-sparkline.d.ts +4 -3
- package/dist/components/chart-sparkline.d.ts.map +1 -1
- package/dist/components/chart-sparkline.js +6 -5
- package/dist/components/check-counts.d.ts +44 -0
- package/dist/components/check-counts.d.ts.map +1 -0
- package/dist/components/check-counts.js +51 -0
- package/dist/components/checkbox.d.ts +39 -11
- package/dist/components/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox.js +38 -11
- package/dist/components/choicebox.d.ts +96 -0
- package/dist/components/choicebox.d.ts.map +1 -0
- package/dist/components/choicebox.js +113 -0
- package/dist/components/clearable-input.d.ts +57 -0
- package/dist/components/clearable-input.d.ts.map +1 -0
- package/dist/components/clearable-input.js +58 -0
- package/dist/components/code-block.d.ts +77 -17
- package/dist/components/code-block.d.ts.map +1 -1
- package/dist/components/code-block.js +85 -15
- package/dist/components/collapsible.d.ts +27 -10
- package/dist/components/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible.js +24 -9
- package/dist/components/collection-filters.d.ts +3 -1
- package/dist/components/collection-filters.d.ts.map +1 -1
- package/dist/components/collection-filters.js +7 -9
- package/dist/components/collection-page.d.ts +31 -10
- package/dist/components/collection-page.d.ts.map +1 -1
- package/dist/components/collection-page.js +14 -13
- package/dist/components/collection-search.d.ts +32 -10
- package/dist/components/collection-search.d.ts.map +1 -1
- package/dist/components/collection-search.js +24 -13
- package/dist/components/collection-sort.d.ts.map +1 -1
- package/dist/components/collection-sort.js +2 -2
- package/dist/components/collection-toolbar.d.ts +5 -2
- package/dist/components/collection-toolbar.d.ts.map +1 -1
- package/dist/components/collection-toolbar.js +7 -4
- package/dist/components/combobox.d.ts +97 -22
- package/dist/components/combobox.d.ts.map +1 -1
- package/dist/components/combobox.js +80 -28
- package/dist/components/command.d.ts +34 -21
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/command.js +33 -25
- package/dist/components/confirm-dialog.d.ts +23 -6
- package/dist/components/confirm-dialog.d.ts.map +1 -1
- package/dist/components/confirm-dialog.js +32 -13
- package/dist/components/context-menu.d.ts +14 -10
- package/dist/components/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu.js +17 -12
- package/dist/components/copy-button.d.ts +5 -2
- package/dist/components/copy-button.d.ts.map +1 -1
- package/dist/components/copy-button.js +16 -8
- package/dist/components/data-table.d.ts +120 -54
- package/dist/components/data-table.d.ts.map +1 -1
- package/dist/components/data-table.js +163 -92
- package/dist/components/desktop-shell.d.ts +4 -2
- package/dist/components/desktop-shell.d.ts.map +1 -1
- package/dist/components/desktop-shell.js +3 -3
- package/dist/components/dialog.d.ts +63 -24
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +52 -31
- package/dist/components/disclosure-row.d.ts +1 -2
- package/dist/components/disclosure-row.d.ts.map +1 -1
- package/dist/components/disclosure-row.js +1 -2
- package/dist/components/disclosure.d.ts +1 -1
- package/dist/components/disclosure.js +1 -1
- package/dist/components/drawer.d.ts +33 -12
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/drawer.js +47 -35
- package/dist/components/dropdown-menu.d.ts +59 -14
- package/dist/components/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu.js +58 -26
- package/dist/components/empty-state.d.ts +35 -12
- package/dist/components/empty-state.d.ts.map +1 -1
- package/dist/components/empty-state.js +35 -17
- package/dist/components/entry-scene.d.ts +4 -4
- package/dist/components/entry-scene.d.ts.map +1 -1
- package/dist/components/entry-scene.js +2 -2
- package/dist/components/field.d.ts +44 -14
- package/dist/components/field.d.ts.map +1 -1
- package/dist/components/field.js +49 -20
- package/dist/components/file-diff.d.ts.map +1 -1
- package/dist/components/file-diff.js +3 -4
- package/dist/components/form-dialog.d.ts +7 -7
- package/dist/components/form-dialog.d.ts.map +1 -1
- package/dist/components/form-dialog.js +13 -11
- package/dist/components/form-drawer.d.ts +10 -7
- package/dist/components/form-drawer.d.ts.map +1 -1
- package/dist/components/form-drawer.js +11 -10
- package/dist/components/gauge.d.ts +64 -0
- package/dist/components/gauge.d.ts.map +1 -0
- package/dist/components/gauge.js +73 -0
- package/dist/components/hover-card.d.ts +72 -14
- package/dist/components/hover-card.d.ts.map +1 -1
- package/dist/components/hover-card.js +51 -17
- package/dist/components/identity-mark.d.ts +8 -1
- package/dist/components/identity-mark.d.ts.map +1 -1
- package/dist/components/identity-mark.js +31 -5
- package/dist/components/input-group.d.ts +44 -21
- package/dist/components/input-group.d.ts.map +1 -1
- package/dist/components/input-group.js +74 -27
- package/dist/components/input.d.ts +64 -12
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/input.js +51 -15
- package/dist/components/item.d.ts +37 -15
- package/dist/components/item.d.ts.map +1 -1
- package/dist/components/item.js +41 -22
- package/dist/components/kbd.d.ts +49 -13
- package/dist/components/kbd.d.ts.map +1 -1
- package/dist/components/kbd.js +115 -16
- package/dist/components/kpi-card.d.ts +12 -4
- package/dist/components/kpi-card.d.ts.map +1 -1
- package/dist/components/kpi-card.js +13 -4
- package/dist/components/label.d.ts +17 -10
- package/dist/components/label.d.ts.map +1 -1
- package/dist/components/label.js +18 -11
- package/dist/components/library-shelf.d.ts +6 -6
- package/dist/components/library-shelf.d.ts.map +1 -1
- package/dist/components/library-shelf.js +5 -5
- package/dist/components/load-more-button.d.ts +35 -0
- package/dist/components/load-more-button.d.ts.map +1 -0
- package/dist/components/load-more-button.js +26 -0
- package/dist/components/message-notice.d.ts +8 -13
- package/dist/components/message-notice.d.ts.map +1 -1
- package/dist/components/message-notice.js +25 -22
- package/dist/components/middle-truncate.d.ts +33 -0
- package/dist/components/middle-truncate.d.ts.map +1 -0
- package/dist/components/middle-truncate.js +72 -0
- package/dist/components/multi-select.d.ts +94 -0
- package/dist/components/multi-select.d.ts.map +1 -0
- package/dist/components/multi-select.js +132 -0
- package/dist/components/native-select.d.ts +37 -13
- package/dist/components/native-select.d.ts.map +1 -1
- package/dist/components/native-select.js +27 -11
- package/dist/components/notice-banner.d.ts +17 -10
- package/dist/components/notice-banner.d.ts.map +1 -1
- package/dist/components/notice-banner.js +12 -11
- package/dist/components/numbered-steps.d.ts +10 -4
- package/dist/components/numbered-steps.d.ts.map +1 -1
- package/dist/components/numbered-steps.js +9 -7
- package/dist/components/object-page.d.ts +40 -14
- package/dist/components/object-page.d.ts.map +1 -1
- package/dist/components/object-page.js +12 -10
- package/dist/components/object-workspace.d.ts +29 -10
- package/dist/components/object-workspace.d.ts.map +1 -1
- package/dist/components/object-workspace.js +18 -8
- package/dist/components/overview-page.d.ts +2 -2
- package/dist/components/overview-page.d.ts.map +1 -1
- package/dist/components/overview-page.js +8 -7
- package/dist/components/page-actions.d.ts +28 -8
- package/dist/components/page-actions.d.ts.map +1 -1
- package/dist/components/page-actions.js +22 -25
- package/dist/components/page-header.d.ts +11 -4
- package/dist/components/page-header.d.ts.map +1 -1
- package/dist/components/page-header.js +10 -5
- package/dist/components/pending-label.d.ts +6 -5
- package/dist/components/pending-label.d.ts.map +1 -1
- package/dist/components/pending-label.js +14 -6
- package/dist/components/picture-label.d.ts +2 -2
- package/dist/components/picture-label.d.ts.map +1 -1
- package/dist/components/picture-label.js +3 -3
- package/dist/components/portal-sidebar-frame.d.ts +9 -21
- package/dist/components/portal-sidebar-frame.d.ts.map +1 -1
- package/dist/components/portal-sidebar-frame.js +13 -27
- package/dist/components/progress-checklist.d.ts +46 -0
- package/dist/components/progress-checklist.d.ts.map +1 -0
- package/dist/components/progress-checklist.js +46 -0
- package/dist/components/progress.d.ts +48 -8
- package/dist/components/progress.d.ts.map +1 -1
- package/dist/components/progress.js +92 -16
- package/dist/components/prose.d.ts +19 -0
- package/dist/components/prose.d.ts.map +1 -0
- package/dist/components/prose.js +29 -0
- package/dist/components/radio-group.d.ts +51 -12
- package/dist/components/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group.js +42 -12
- package/dist/components/reading-column.js +1 -1
- package/dist/components/record-identity.d.ts +6 -5
- package/dist/components/record-identity.d.ts.map +1 -1
- package/dist/components/record-identity.js +12 -3
- package/dist/components/record-list.d.ts +117 -27
- package/dist/components/record-list.d.ts.map +1 -1
- package/dist/components/record-list.js +185 -55
- package/dist/components/record-time.d.ts +20 -7
- package/dist/components/record-time.d.ts.map +1 -1
- package/dist/components/record-time.js +38 -19
- package/dist/components/resizable.d.ts +7 -5
- package/dist/components/resizable.d.ts.map +1 -1
- package/dist/components/resizable.js +6 -6
- package/dist/components/scope-switcher.d.ts +2 -0
- package/dist/components/scope-switcher.d.ts.map +1 -1
- package/dist/components/scope-switcher.js +2 -2
- package/dist/components/scroll-area.d.ts +47 -11
- package/dist/components/scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area.js +72 -14
- package/dist/components/segmented-control.d.ts +82 -0
- package/dist/components/segmented-control.d.ts.map +1 -0
- package/dist/components/segmented-control.js +90 -0
- package/dist/components/select.d.ts +55 -15
- package/dist/components/select.d.ts.map +1 -1
- package/dist/components/select.js +62 -19
- package/dist/components/separator.d.ts +12 -5
- package/dist/components/separator.d.ts.map +1 -1
- package/dist/components/separator.js +11 -6
- package/dist/components/settings-facts.d.ts +34 -14
- package/dist/components/settings-facts.d.ts.map +1 -1
- package/dist/components/settings-facts.js +21 -12
- package/dist/components/settings-page.d.ts +4 -4
- package/dist/components/settings-page.js +5 -5
- package/dist/components/settings-section.d.ts +160 -34
- package/dist/components/settings-section.d.ts.map +1 -1
- package/dist/components/settings-section.js +92 -39
- package/dist/components/sheet.d.ts +47 -16
- package/dist/components/sheet.d.ts.map +1 -1
- package/dist/components/sheet.js +40 -19
- package/dist/components/sidebar-sections.d.ts +16 -12
- package/dist/components/sidebar-sections.d.ts.map +1 -1
- package/dist/components/sidebar-sections.js +30 -15
- package/dist/components/sidebar.d.ts +117 -21
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar.js +180 -55
- package/dist/components/skeleton.d.ts +54 -8
- package/dist/components/skeleton.d.ts.map +1 -1
- package/dist/components/skeleton.js +44 -9
- package/dist/components/slider.d.ts +53 -11
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/slider.js +71 -17
- package/dist/components/snippet.d.ts +57 -0
- package/dist/components/snippet.d.ts.map +1 -0
- package/dist/components/snippet.js +60 -0
- package/dist/components/sonner.d.ts +13 -14
- package/dist/components/sonner.d.ts.map +1 -1
- package/dist/components/sonner.js +25 -22
- package/dist/components/status-badge.d.ts +37 -11
- package/dist/components/status-badge.d.ts.map +1 -1
- package/dist/components/status-badge.js +63 -15
- package/dist/components/status-dot.d.ts +42 -11
- package/dist/components/status-dot.d.ts.map +1 -1
- package/dist/components/status-dot.js +40 -11
- package/dist/components/switch.d.ts +43 -12
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/switch.js +42 -12
- package/dist/components/table-card.d.ts +21 -12
- package/dist/components/table-card.d.ts.map +1 -1
- package/dist/components/table-card.js +17 -9
- package/dist/components/table-layouts.d.ts +40 -8
- package/dist/components/table-layouts.d.ts.map +1 -1
- package/dist/components/table-layouts.js +52 -8
- package/dist/components/table-value.d.ts +4 -3
- package/dist/components/table-value.d.ts.map +1 -1
- package/dist/components/table-value.js +6 -5
- package/dist/components/table.d.ts +62 -25
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/table.js +62 -26
- package/dist/components/tabs.d.ts +86 -17
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +93 -22
- package/dist/components/text-link.d.ts +4 -1
- package/dist/components/text-link.d.ts.map +1 -1
- package/dist/components/text-link.js +4 -1
- package/dist/components/text-with-copy-button.d.ts +30 -0
- package/dist/components/text-with-copy-button.d.ts.map +1 -0
- package/dist/components/text-with-copy-button.js +32 -0
- package/dist/components/textarea.d.ts +40 -10
- package/dist/components/textarea.d.ts.map +1 -1
- package/dist/components/textarea.js +50 -11
- package/dist/components/theme-mode-switcher.d.ts +18 -1
- package/dist/components/theme-mode-switcher.d.ts.map +1 -1
- package/dist/components/theme-mode-switcher.js +20 -2
- package/dist/components/toggle-group.d.ts +28 -8
- package/dist/components/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group.js +12 -6
- package/dist/components/toggle.d.ts +6 -3
- package/dist/components/toggle.d.ts.map +1 -1
- package/dist/components/toggle.js +10 -7
- package/dist/components/tooltip.d.ts +43 -12
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +45 -16
- package/dist/components/trend-badge.js +1 -1
- package/dist/components/update-card.js +1 -1
- package/dist/eslint/index.js +82 -0
- package/dist/eslint/rules/badge-is-static-label.js +93 -0
- package/dist/eslint/rules/button-icon-slot.js +102 -0
- package/dist/eslint/rules/button-link-for-navigation.js +146 -0
- package/dist/eslint/rules/button-no-aria-label-with-text.js +75 -0
- package/dist/eslint/rules/button-type-roles-only-in-buttons.js +83 -0
- package/dist/eslint/rules/choice-control-has-a-name.js +98 -0
- package/dist/eslint/rules/choice-group-in-fieldset.js +86 -0
- package/dist/eslint/rules/command-shortcut-single-owner.js +118 -0
- package/dist/eslint/rules/confirm-dialog-words.js +63 -0
- package/dist/eslint/rules/data-table-one-unsized-column.js +96 -0
- package/dist/eslint/rules/destructive-action-placement.js +69 -0
- package/dist/eslint/rules/disabled-choice-says-why.js +71 -0
- package/dist/eslint/rules/ellipsis-opens-a-dialog.js +110 -0
- package/dist/eslint/rules/input-group-owners.js +155 -0
- package/dist/eslint/rules/kbd-children-no-modifier-text.js +128 -0
- package/dist/eslint/rules/literal-text.js +41 -0
- package/dist/eslint/rules/middle-truncate-placement.js +69 -0
- package/dist/eslint/rules/no-bare-button-label.js +55 -0
- package/dist/eslint/rules/no-control-in-read-only-surface.js +106 -0
- package/dist/eslint/rules/no-hand-built-busy.js +104 -0
- package/dist/eslint/rules/no-hand-built-theme-picker.js +144 -0
- package/dist/eslint/rules/no-hand-built-tile.js +41 -0
- package/dist/eslint/rules/no-hand-formatted-date.js +87 -0
- package/dist/eslint/rules/no-hand-stacked-avatars.js +67 -0
- package/dist/eslint/rules/no-nested-collapse.js +60 -0
- package/dist/eslint/rules/no-search-in-form.js +47 -0
- package/dist/eslint/rules/no-shadcn-appearance-override.js +2 -16
- package/dist/eslint/rules/no-shell-prompt-in-snippet.js +74 -0
- package/dist/eslint/rules/no-stock-error-words.js +56 -0
- package/dist/eslint/rules/no-tooltip-around-labelled-field.js +72 -0
- package/dist/eslint/rules/no-weight-class-on-strong-in-type-role.js +57 -0
- package/dist/eslint/rules/one-submenu-level.js +43 -0
- package/dist/eslint/rules/one-toast-per-flow.js +91 -0
- package/dist/eslint/rules/option-count.js +167 -0
- package/dist/eslint/rules/page-command-link-not-render.js +43 -0
- package/dist/eslint/rules/progress-needs-name.js +57 -0
- package/dist/eslint/rules/settings-limit-in-footer.js +94 -0
- package/dist/eslint/rules/skeleton-in-region.js +80 -0
- package/dist/eslint/rules/sortable-heading-uses-sort.js +79 -0
- package/dist/eslint/rules/table-cell-inset-owner.js +107 -0
- package/dist/eslint/rules/tabs-selection-is-controlled.js +47 -0
- package/dist/eslint/rules/tooltip-only-arrow.js +38 -0
- package/dist/eslint/rules/tooltip-trigger-accessible-name.js +114 -0
- package/dist/eslint/strict-design-system.js +21 -7
- package/dist/index.d.ts +13 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -13
- package/dist/internal/assistant-ui/attachment.d.ts.map +1 -1
- package/dist/internal/assistant-ui/attachment.js +2 -2
- package/dist/internal/assistant-ui/reasoning.d.ts +1 -1
- package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -1
- package/dist/internal/assistant-ui/tool-fallback.js +1 -1
- package/dist/internal/assistant-ui/tool-group.d.ts +1 -1
- package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -1
- package/dist/internal/assistant-ui/tooltip-icon-button.d.ts +2 -3
- package/dist/internal/assistant-ui/tooltip-icon-button.d.ts.map +1 -1
- package/dist/internal/assistant-ui/tooltip-icon-button.js +1 -1
- package/dist/internal/catalog-list.js +2 -2
- package/dist/internal/collection-note.d.ts +23 -0
- package/dist/internal/collection-note.d.ts.map +1 -0
- package/dist/internal/collection-note.js +17 -0
- package/dist/internal/collection-rail.d.ts +57 -0
- package/dist/internal/collection-rail.d.ts.map +1 -0
- package/dist/internal/collection-rail.js +33 -0
- package/dist/internal/company-logo.d.ts +18 -0
- package/dist/internal/company-logo.d.ts.map +1 -0
- package/dist/internal/company-logo.js +14 -0
- package/dist/internal/control-name.d.ts +12 -0
- package/dist/internal/control-name.d.ts.map +1 -0
- package/dist/internal/control-name.js +1 -0
- package/dist/internal/diff-line.d.ts +9 -0
- package/dist/internal/diff-line.d.ts.map +1 -0
- package/dist/internal/diff-line.js +8 -0
- package/dist/internal/empty.d.ts +8 -4
- package/dist/internal/empty.d.ts.map +1 -1
- package/dist/internal/empty.js +14 -8
- package/dist/internal/field-frame.d.ts +33 -0
- package/dist/internal/field-frame.d.ts.map +1 -0
- package/dist/internal/field-frame.js +20 -0
- package/dist/internal/final-focus.d.ts +8 -0
- package/dist/internal/final-focus.d.ts.map +1 -0
- package/dist/internal/final-focus.js +10 -0
- package/dist/internal/footer-strip.d.ts.map +1 -1
- package/dist/internal/footer-strip.js +3 -1
- package/dist/internal/form-submit.d.ts +9 -5
- package/dist/internal/form-submit.d.ts.map +1 -1
- package/dist/internal/form-submit.js +31 -2
- package/dist/internal/input-box.d.ts +26 -0
- package/dist/internal/input-box.d.ts.map +1 -0
- package/dist/internal/input-box.js +59 -0
- package/dist/internal/menu-surface.d.ts +10 -3
- package/dist/internal/menu-surface.d.ts.map +1 -1
- package/dist/internal/menu-surface.js +10 -3
- package/dist/internal/notice.d.ts +25 -0
- package/dist/internal/notice.d.ts.map +1 -0
- package/dist/internal/notice.js +33 -0
- package/dist/internal/overlay-stem.d.ts +5 -0
- package/dist/internal/overlay-stem.d.ts.map +1 -0
- package/dist/internal/overlay-stem.js +7 -0
- package/dist/internal/phone-sheet.d.ts +4 -0
- package/dist/internal/phone-sheet.d.ts.map +1 -0
- package/dist/internal/phone-sheet.js +2 -0
- package/dist/internal/present-content.d.ts +3 -0
- package/dist/internal/present-content.d.ts.map +1 -0
- package/dist/internal/present-content.js +1 -0
- package/dist/internal/record-menu-items.d.ts +4 -3
- package/dist/internal/record-menu-items.d.ts.map +1 -1
- package/dist/internal/record-menu-items.js +21 -6
- package/dist/internal/settings-save.d.ts +9 -2
- package/dist/internal/settings-save.d.ts.map +1 -1
- package/dist/internal/settings-save.js +9 -6
- package/dist/internal/table-compact-line.d.ts +38 -0
- package/dist/internal/table-compact-line.d.ts.map +1 -0
- package/dist/internal/table-compact-line.js +35 -0
- package/dist/internal/title-when-cut.d.ts +8 -0
- package/dist/internal/title-when-cut.d.ts.map +1 -0
- package/dist/internal/title-when-cut.js +22 -0
- package/dist/internal/unsaved-guard.d.ts +18 -0
- package/dist/internal/unsaved-guard.d.ts.map +1 -0
- package/dist/internal/unsaved-guard.js +31 -0
- package/dist/lib/merge-tokens.generated.js +2 -2
- package/dist/showcase/foundations.d.ts.map +1 -1
- package/dist/showcase/foundations.js +10 -2
- package/dist/showcase/specimens/actions.d.ts +2 -0
- package/dist/showcase/specimens/actions.d.ts.map +1 -1
- package/dist/showcase/specimens/actions.js +30 -5
- package/dist/showcase/specimens/charts.d.ts.map +1 -1
- package/dist/showcase/specimens/charts.js +22 -13
- package/dist/showcase/specimens/choices.d.ts +14 -3
- package/dist/showcase/specimens/choices.d.ts.map +1 -1
- package/dist/showcase/specimens/choices.js +93 -13
- package/dist/showcase/specimens/compositions.d.ts.map +1 -1
- package/dist/showcase/specimens/compositions.js +136 -23
- package/dist/showcase/specimens/data.d.ts +12 -7
- package/dist/showcase/specimens/data.d.ts.map +1 -1
- package/dist/showcase/specimens/data.js +139 -35
- package/dist/showcase/specimens/feedback.d.ts +2 -0
- package/dist/showcase/specimens/feedback.d.ts.map +1 -1
- package/dist/showcase/specimens/feedback.js +39 -15
- package/dist/showcase/specimens/index.d.ts +20 -12
- package/dist/showcase/specimens/index.d.ts.map +1 -1
- package/dist/showcase/specimens/inputs.d.ts +4 -2
- package/dist/showcase/specimens/inputs.d.ts.map +1 -1
- package/dist/showcase/specimens/inputs.js +62 -19
- package/dist/showcase/specimens/menus.d.ts +0 -1
- package/dist/showcase/specimens/menus.d.ts.map +1 -1
- package/dist/showcase/specimens/menus.js +47 -17
- package/dist/showcase/specimens/navigation.d.ts +6 -4
- package/dist/showcase/specimens/navigation.d.ts.map +1 -1
- package/dist/showcase/specimens/navigation.js +61 -32
- package/dist/showcase/specimens/other.d.ts +1 -3
- package/dist/showcase/specimens/other.d.ts.map +1 -1
- package/dist/showcase/specimens/other.js +17 -13
- package/dist/showcase/specimens/status.d.ts +4 -1
- package/dist/showcase/specimens/status.d.ts.map +1 -1
- package/dist/showcase/specimens/status.js +64 -11
- package/dist/showcase/usage.generated.d.ts +1 -1
- package/dist/showcase/usage.generated.d.ts.map +1 -1
- package/dist/showcase/usage.generated.js +632 -544
- package/dist/standalone/index.js +1 -1
- package/dist/styles/components.css +13 -13
- package/dist/styles/globals.css +25 -0
- package/package.json +2 -3
- package/dist/components/approval-row.d.ts +0 -34
- package/dist/components/approval-row.d.ts.map +0 -1
- package/dist/components/approval-row.js +0 -27
- package/dist/components/channel-view.d.ts +0 -112
- package/dist/components/channel-view.d.ts.map +0 -1
- package/dist/components/channel-view.js +0 -84
- package/dist/components/dashboard-shell.d.ts +0 -51
- package/dist/components/dashboard-shell.d.ts.map +0 -1
- package/dist/components/dashboard-shell.js +0 -89
- package/dist/components/direction.d.ts +0 -2
- package/dist/components/direction.d.ts.map +0 -1
- package/dist/components/direction.js +0 -1
- package/dist/components/expandable-block.d.ts +0 -20
- package/dist/components/expandable-block.d.ts.map +0 -1
- package/dist/components/expandable-block.js +0 -32
- package/dist/components/form.d.ts +0 -42
- package/dist/components/form.d.ts.map +0 -1
- package/dist/components/form.js +0 -91
- package/dist/components/label-system.d.ts +0 -17
- package/dist/components/label-system.d.ts.map +0 -1
- package/dist/components/label-system.js +0 -21
- package/dist/components/memory-item.d.ts +0 -21
- package/dist/components/memory-item.d.ts.map +0 -1
- package/dist/components/memory-item.js +0 -18
- package/dist/components/menubar.d.ts +0 -43
- package/dist/components/menubar.d.ts.map +0 -1
- package/dist/components/menubar.js +0 -69
- package/dist/components/navigation-menu.d.ts +0 -26
- package/dist/components/navigation-menu.d.ts.map +0 -1
- package/dist/components/navigation-menu.js +0 -45
- package/dist/components/pagination.d.ts +0 -33
- package/dist/components/pagination.d.ts.map +0 -1
- package/dist/components/pagination.js +0 -41
- package/dist/components/plugin-slot-boundary.d.ts +0 -42
- package/dist/components/plugin-slot-boundary.d.ts.map +0 -1
- package/dist/components/plugin-slot-boundary.js +0 -41
- package/dist/components/status-row.d.ts +0 -32
- package/dist/components/status-row.d.ts.map +0 -1
- package/dist/components/status-row.js +0 -35
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
|
|
4
|
-
import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";
|
|
5
|
-
import { cn } from "../lib/utils.js";
|
|
6
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "./dropdown-menu.js";
|
|
7
|
-
import { CheckIcon } from "lucide-react";
|
|
8
|
-
/**
|
|
9
|
-
* A row of menus, as a desktop application's menu bar.
|
|
10
|
-
*
|
|
11
|
-
* @family Menus
|
|
12
|
-
* @when A desktop surface whose commands are many and grouped, as an application's File and Edit
|
|
13
|
-
* menus are.
|
|
14
|
-
* @instead A record's commands are its `ActionMenu`; a page's are `PageActions`. Finding anything
|
|
15
|
-
* is `CommandDialog`.
|
|
16
|
-
* @behaviour Each menu has the dropdown's surface and rows. Arrow keys move between menus and
|
|
17
|
-
* through items; Escape closes and returns focus to the bar.
|
|
18
|
-
* @words Menu names are single nouns; items are verb and noun in sentence case.
|
|
19
|
-
* @access `role="menubar"`; each trigger exposes `aria-expanded`; items are `menuitem`s.
|
|
20
|
-
*/
|
|
21
|
-
function Menubar({ className, ...props }) {
|
|
22
|
-
return (_jsx(MenubarPrimitive, { "data-slot": "menubar", className: cn("flex h-control-height min-h-touch-target items-center gap-0.5 rounded-sm border p-1 [@media(hover:hover)_and_(pointer:fine)]:min-h-0", className), ...props }));
|
|
23
|
-
}
|
|
24
|
-
function MenubarMenu({ ...props }) {
|
|
25
|
-
return _jsx(DropdownMenu, { "data-slot": "menubar-menu", ...props });
|
|
26
|
-
}
|
|
27
|
-
function MenubarGroup({ ...props }) {
|
|
28
|
-
return _jsx(DropdownMenuGroup, { "data-slot": "menubar-group", ...props });
|
|
29
|
-
}
|
|
30
|
-
function MenubarPortal({ ...props }) {
|
|
31
|
-
return _jsx(DropdownMenuPortal, { "data-slot": "menubar-portal", ...props });
|
|
32
|
-
}
|
|
33
|
-
function MenubarTrigger({ className, ...props }) {
|
|
34
|
-
return (_jsx(DropdownMenuTrigger, { "data-slot": "menubar-trigger", className: cn("flex min-h-touch-target items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted [@media(hover:hover)_and_(pointer:fine)]:min-h-0", className), ...props }));
|
|
35
|
-
}
|
|
36
|
-
function MenubarContent({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) {
|
|
37
|
-
return (_jsx(DropdownMenuContent, { "data-slot": "menubar-content", align: align, alignOffset: alignOffset, sideOffset: sideOffset, className: cn("min-w-36 rounded-lg border-0 nc-glass p-nadicode-xxs text-popover-foreground nc-elevation-floating", className), ...props }));
|
|
38
|
-
}
|
|
39
|
-
function MenubarItem({ className, inset, variant = "default", ...props }) {
|
|
40
|
-
return (_jsx(DropdownMenuItem, { "data-slot": "menubar-item", "data-inset": inset, "data-variant": variant, className: cn("group/menubar-item min-h-touch-target gap-1.5 rounded-sm px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive-soft-foreground data-[variant=destructive]:focus:bg-destructive-soft data-[variant=destructive]:focus:text-destructive-soft-foreground data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive-soft-foreground!", className), ...props }));
|
|
41
|
-
}
|
|
42
|
-
function MenubarCheckboxItem({ className, children, checked, inset, ...props }) {
|
|
43
|
-
return (_jsxs(MenuPrimitive.CheckboxItem, { "data-slot": "menubar-checkbox-item", "data-inset": inset, className: cn("relative flex min-h-touch-target cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), checked: checked, ...props, children: [_jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: _jsx(MenuPrimitive.CheckboxItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
|
|
44
|
-
}
|
|
45
|
-
function MenubarRadioGroup({ ...props }) {
|
|
46
|
-
return _jsx(DropdownMenuRadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
47
|
-
}
|
|
48
|
-
function MenubarRadioItem({ className, children, inset, ...props }) {
|
|
49
|
-
return (_jsxs(MenuPrimitive.RadioItem, { "data-slot": "menubar-radio-item", "data-inset": inset, className: cn("relative flex min-h-touch-target cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [_jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: _jsx(MenuPrimitive.RadioItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
|
|
50
|
-
}
|
|
51
|
-
function MenubarLabel({ className, inset, ...props }) {
|
|
52
|
-
return (_jsx(DropdownMenuGroup, { children: _jsx(DropdownMenuLabel, { "data-slot": "menubar-label", "data-inset": inset, className: cn("px-1.5 py-1 text-sm font-medium data-inset:pl-7", className), ...props }) }));
|
|
53
|
-
}
|
|
54
|
-
function MenubarSeparator({ className, ...props }) {
|
|
55
|
-
return (_jsx(DropdownMenuSeparator, { "data-slot": "menubar-separator", className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
|
|
56
|
-
}
|
|
57
|
-
function MenubarShortcut({ className, ...props }) {
|
|
58
|
-
return (_jsx(DropdownMenuShortcut, { "data-slot": "menubar-shortcut", className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className), ...props }));
|
|
59
|
-
}
|
|
60
|
-
function MenubarSub({ ...props }) {
|
|
61
|
-
return _jsx(DropdownMenuSub, { "data-slot": "menubar-sub", ...props });
|
|
62
|
-
}
|
|
63
|
-
function MenubarSubTrigger({ className, inset, ...props }) {
|
|
64
|
-
return (_jsx(DropdownMenuSubTrigger, { "data-slot": "menubar-sub-trigger", "data-inset": inset, className: cn("min-h-touch-target gap-1.5 rounded-sm px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
65
|
-
}
|
|
66
|
-
function MenubarSubContent({ className, ...props }) {
|
|
67
|
-
return (_jsx(DropdownMenuSubContent, { "data-slot": "menubar-sub-content", className: cn("min-w-32", className), ...props }));
|
|
68
|
-
}
|
|
69
|
-
export { Menubar, MenubarPortal, MenubarMenu, MenubarTrigger, MenubarContent, MenubarGroup, MenubarSeparator, MenubarLabel, MenubarItem, MenubarShortcut, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
|
|
2
|
-
/**
|
|
3
|
-
* A website header's top-level links, some opening a panel of links.
|
|
4
|
-
*
|
|
5
|
-
* @family Navigation
|
|
6
|
-
* @when The website's header: a few top-level destinations, where one may open a panel of related
|
|
7
|
-
* pages.
|
|
8
|
-
* @instead A product's navigation is its `Sidebar`. Commands are a menu; sibling views are tabs.
|
|
9
|
-
* @behaviour Opens on hover and on click; one panel at a time, positioned under its trigger. Escape
|
|
10
|
-
* closes it and returns focus.
|
|
11
|
-
* @words Nouns, one or two words, sentence case. A panel's links name their page and may carry one
|
|
12
|
-
* short line.
|
|
13
|
-
* @access A labelled `nav`; triggers expose `aria-expanded`; links are real anchors with
|
|
14
|
-
* `aria-current="page"` on the current one.
|
|
15
|
-
*/
|
|
16
|
-
declare function NavigationMenu({ align, className, children, ...props }: NavigationMenuPrimitive.Root.Props & Pick<NavigationMenuPrimitive.Positioner.Props, "align">): import("react").JSX.Element;
|
|
17
|
-
declare function NavigationMenuList({ className, ...props }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.List>): import("react").JSX.Element;
|
|
18
|
-
declare function NavigationMenuItem({ className, ...props }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Item>): import("react").JSX.Element;
|
|
19
|
-
declare const navigationMenuTriggerStyle: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
20
|
-
declare function NavigationMenuTrigger({ className, children, ...props }: NavigationMenuPrimitive.Trigger.Props): import("react").JSX.Element;
|
|
21
|
-
declare function NavigationMenuContent({ className, ...props }: NavigationMenuPrimitive.Content.Props): import("react").JSX.Element;
|
|
22
|
-
declare function NavigationMenuPositioner({ className, side, sideOffset, align, alignOffset, ...props }: NavigationMenuPrimitive.Positioner.Props): import("react").JSX.Element;
|
|
23
|
-
declare function NavigationMenuLink({ className, ...props }: NavigationMenuPrimitive.Link.Props): import("react").JSX.Element;
|
|
24
|
-
declare function NavigationMenuIndicator({ className, ...props }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Icon>): import("react").JSX.Element;
|
|
25
|
-
export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, NavigationMenuPositioner, };
|
|
26
|
-
//# sourceMappingURL=navigation-menu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../../src/components/navigation-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAM3F;;;;;;;;;;;;;GAaG;AACH,iBAAS,cAAc,CAAC,EACtB,KAAe,EACf,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,+BAc9F;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,+BAQlE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,+BAQlE;AAED,QAAA,MAAM,0BAA0B,oFAE/B,CAAC;AAEF,iBAAS,qBAAqB,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,+BAcvC;AAED,iBAAS,qBAAqB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,+BAW5F;AAED,iBAAS,wBAAwB,CAAC,EAChC,SAAS,EACT,IAAe,EACf,UAAc,EACd,KAAe,EACf,WAAe,EACf,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,UAAU,CAAC,KAAK,+BAoB1C;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,CAAC,IAAI,CAAC,KAAK,+BAWtF;AAED,iBAAS,uBAAuB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,+BAWlE;AAED,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,GACzB,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
|
|
3
|
-
import { cva } from "class-variance-authority";
|
|
4
|
-
import { cn } from "../lib/utils.js";
|
|
5
|
-
import { ChevronDownIcon } from "lucide-react";
|
|
6
|
-
/**
|
|
7
|
-
* A website header's top-level links, some opening a panel of links.
|
|
8
|
-
*
|
|
9
|
-
* @family Navigation
|
|
10
|
-
* @when The website's header: a few top-level destinations, where one may open a panel of related
|
|
11
|
-
* pages.
|
|
12
|
-
* @instead A product's navigation is its `Sidebar`. Commands are a menu; sibling views are tabs.
|
|
13
|
-
* @behaviour Opens on hover and on click; one panel at a time, positioned under its trigger. Escape
|
|
14
|
-
* closes it and returns focus.
|
|
15
|
-
* @words Nouns, one or two words, sentence case. A panel's links name their page and may carry one
|
|
16
|
-
* short line.
|
|
17
|
-
* @access A labelled `nav`; triggers expose `aria-expanded`; links are real anchors with
|
|
18
|
-
* `aria-current="page"` on the current one.
|
|
19
|
-
*/
|
|
20
|
-
function NavigationMenu({ align = "start", className, children, ...props }) {
|
|
21
|
-
return (_jsxs(NavigationMenuPrimitive.Root, { "data-slot": "navigation-menu", className: cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className), ...props, children: [children, _jsx(NavigationMenuPositioner, { align: align })] }));
|
|
22
|
-
}
|
|
23
|
-
function NavigationMenuList({ className, ...props }) {
|
|
24
|
-
return (_jsx(NavigationMenuPrimitive.List, { "data-slot": "navigation-menu-list", className: cn("group flex flex-1 list-none items-center justify-center gap-0", className), ...props }));
|
|
25
|
-
}
|
|
26
|
-
function NavigationMenuItem({ className, ...props }) {
|
|
27
|
-
return (_jsx(NavigationMenuPrimitive.Item, { "data-slot": "navigation-menu-item", className: cn("relative", className), ...props }));
|
|
28
|
-
}
|
|
29
|
-
const navigationMenuTriggerStyle = cva("nc-transition-paint group/navigation-menu-trigger inline-flex h-control-height min-h-touch-target min-w-touch-target w-max items-center justify-center rounded-sm px-control-padding-inline py-1.5 text-sm font-medium hover:bg-muted focus:bg-muted disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [@media(hover:hover)_and_(pointer:fine)]:min-w-0");
|
|
30
|
-
function NavigationMenuTrigger({ className, children, ...props }) {
|
|
31
|
-
return (_jsxs(NavigationMenuPrimitive.Trigger, { "data-slot": "navigation-menu-trigger", className: cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [children, " ", _jsx(ChevronDownIcon, { className: "nc-transition-transform relative top-px ml-1 size-3 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180", "aria-hidden": "true" })] }));
|
|
32
|
-
}
|
|
33
|
-
function NavigationMenuContent({ className, ...props }) {
|
|
34
|
-
return (_jsx(NavigationMenuPrimitive.Content, { "data-slot": "navigation-menu-content", className: cn("h-full w-auto p-nadicode-xxs group-data-[viewport=false]/navigation-menu:origin-(--transform-origin) group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:border-0 group-data-[viewport=false]/navigation-menu:nc-glass group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:nc-elevation-floating group-data-[viewport=false]/navigation-menu:transition-[opacity,scale] group-data-[viewport=false]/navigation-menu:duration-[var(--nc-duration-close)] group-data-[viewport=false]/navigation-menu:ease-[var(--nc-ease-out-strong)] group-data-[viewport=false]/navigation-menu:data-open:duration-[var(--nc-duration-open)] group-data-[viewport=false]/navigation-menu:data-ending-style:opacity-0 group-data-[viewport=false]/navigation-menu:data-ending-style:scale-[0.98] group-data-[viewport=false]/navigation-menu:data-starting-style:opacity-0 group-data-[viewport=false]/navigation-menu:data-starting-style:scale-[0.98] motion-reduce:transition-opacity motion-reduce:data-ending-style:scale-100 motion-reduce:data-starting-style:scale-100 **:data-[slot=navigation-menu-link]:focus:outline-none", className), ...props }));
|
|
35
|
-
}
|
|
36
|
-
function NavigationMenuPositioner({ className, side = "bottom", sideOffset = 8, align = "start", alignOffset = 0, ...props }) {
|
|
37
|
-
return (_jsx(NavigationMenuPrimitive.Portal, { children: _jsx(NavigationMenuPrimitive.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, className: cn("group/navigation-menu-positioner isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", className), ...props, children: _jsx(NavigationMenuPrimitive.Popup, { className: "relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg border-0 nc-glass text-popover-foreground nc-elevation-floating transition-[opacity,scale] duration-[var(--nc-duration-close)] ease-[var(--nc-ease-out-strong)] outline-none data-open:duration-[var(--nc-duration-open)] group-data-instant/navigation-menu-positioner:transition-none data-ending-style:scale-[0.98] data-ending-style:opacity-0 data-starting-style:scale-[0.98] data-starting-style:opacity-0 motion-reduce:transition-opacity motion-reduce:data-ending-style:scale-100 motion-reduce:data-starting-style:scale-100", children: _jsx(NavigationMenuPrimitive.Viewport, { className: "relative size-full overflow-hidden" }) }) }) }));
|
|
38
|
-
}
|
|
39
|
-
function NavigationMenuLink({ className, ...props }) {
|
|
40
|
-
return (_jsx(NavigationMenuPrimitive.Link, { "data-slot": "navigation-menu-link", className: cn("nc-transition-paint flex min-h-touch-target min-w-touch-target items-center gap-2 rounded-sm p-2 text-sm hover:bg-muted focus:bg-muted data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [@media(hover:hover)_and_(pointer:fine)]:min-w-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
41
|
-
}
|
|
42
|
-
function NavigationMenuIndicator({ className, ...props }) {
|
|
43
|
-
return (_jsx(NavigationMenuPrimitive.Icon, { "data-slot": "navigation-menu-indicator", className: cn("top-full z-1 flex h-1.5 items-end justify-center overflow-hidden", className), ...props, children: _jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm border border-border nc-glass" }) }));
|
|
44
|
-
}
|
|
45
|
-
export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, NavigationMenuPositioner, };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Button } from "./button.js";
|
|
3
|
-
/**
|
|
4
|
-
* Numbered sibling pages with Previous and Next.
|
|
5
|
-
*
|
|
6
|
-
* @family Navigation
|
|
7
|
-
* @when `Pagination` for numbered sibling pages. A table of server pages takes `DataTable`'s own
|
|
8
|
-
* Previous and Next under its card; the card's footer strip holds the count or the paging.
|
|
9
|
-
* @instead Appending rows in place is a `Button` with `PendingLabel` (*Load more*). A fixed
|
|
10
|
-
* comparison passes `pagination={false}` and stays whole.
|
|
11
|
-
* @behaviour Boundaries are disabled. While the next page loads both buttons disable and the rows
|
|
12
|
-
* stay. The order and the page live in the URL. The labels hide under `sm`, leaving the chevrons.
|
|
13
|
-
* @words *Previous*, *Next*. The footer is a count with its noun or *Page 1 of 6*, never a help
|
|
14
|
-
* sentence.
|
|
15
|
-
* @access A labelled `nav`; the current page has `aria-current="page"`; the arrows read *Go to
|
|
16
|
-
* previous page*; a pending button is `aria-busy`.
|
|
17
|
-
*/
|
|
18
|
-
declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
|
|
19
|
-
declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
|
|
20
|
-
declare function PaginationItem({ ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
21
|
-
type PaginationLinkProps = {
|
|
22
|
-
isActive?: boolean;
|
|
23
|
-
} & Pick<React.ComponentProps<typeof Button>, "size"> & React.ComponentProps<"a">;
|
|
24
|
-
declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): React.JSX.Element;
|
|
25
|
-
declare function PaginationPrevious({ className, text, ...props }: React.ComponentProps<typeof PaginationLink> & {
|
|
26
|
-
text?: string;
|
|
27
|
-
}): React.JSX.Element;
|
|
28
|
-
declare function PaginationNext({ className, text, ...props }: React.ComponentProps<typeof PaginationLink> & {
|
|
29
|
-
text?: string;
|
|
30
|
-
}): React.JSX.Element;
|
|
31
|
-
declare function PaginationEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
32
|
-
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, };
|
|
33
|
-
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/components/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C;;;;;;;;;;;;;;GAcG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBASvE;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAQ7E;AAED,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAE/D;AAED,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,CAAC,GACnD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAE5B,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAa,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,qBAiB5F;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,IAAiB,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,qBAYjE;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,IAAa,EACb,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,qBAYjE;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAehF;AAED,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../lib/utils.js";
|
|
3
|
-
import { Button } from "./button.js";
|
|
4
|
-
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
|
|
5
|
-
/**
|
|
6
|
-
* Numbered sibling pages with Previous and Next.
|
|
7
|
-
*
|
|
8
|
-
* @family Navigation
|
|
9
|
-
* @when `Pagination` for numbered sibling pages. A table of server pages takes `DataTable`'s own
|
|
10
|
-
* Previous and Next under its card; the card's footer strip holds the count or the paging.
|
|
11
|
-
* @instead Appending rows in place is a `Button` with `PendingLabel` (*Load more*). A fixed
|
|
12
|
-
* comparison passes `pagination={false}` and stays whole.
|
|
13
|
-
* @behaviour Boundaries are disabled. While the next page loads both buttons disable and the rows
|
|
14
|
-
* stay. The order and the page live in the URL. The labels hide under `sm`, leaving the chevrons.
|
|
15
|
-
* @words *Previous*, *Next*. The footer is a count with its noun or *Page 1 of 6*, never a help
|
|
16
|
-
* sentence.
|
|
17
|
-
* @access A labelled `nav`; the current page has `aria-current="page"`; the arrows read *Go to
|
|
18
|
-
* previous page*; a pending button is `aria-busy`.
|
|
19
|
-
*/
|
|
20
|
-
function Pagination({ className, ...props }) {
|
|
21
|
-
return (_jsx("nav", { "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props }));
|
|
22
|
-
}
|
|
23
|
-
function PaginationContent({ className, ...props }) {
|
|
24
|
-
return (_jsx("ul", { "data-slot": "pagination-content", className: cn("flex items-center gap-0.5", className), ...props }));
|
|
25
|
-
}
|
|
26
|
-
function PaginationItem({ ...props }) {
|
|
27
|
-
return _jsx("li", { "data-slot": "pagination-item", ...props });
|
|
28
|
-
}
|
|
29
|
-
function PaginationLink({ className, isActive, size = "icon", ...props }) {
|
|
30
|
-
return (_jsx(Button, { variant: isActive ? "outline" : "ghost", size: size, className: cn(className), nativeButton: false, render: _jsx("a", { "aria-current": isActive ? "page" : undefined, "data-slot": "pagination-link", "data-active": isActive, ...props }) }));
|
|
31
|
-
}
|
|
32
|
-
function PaginationPrevious({ className, text = "Previous", ...props }) {
|
|
33
|
-
return (_jsxs(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("pl-1.5!", className), ...props, children: [_jsx(ChevronLeftIcon, { "data-icon": "inline-start" }), _jsx("span", { className: "hidden sm:block", children: text })] }));
|
|
34
|
-
}
|
|
35
|
-
function PaginationNext({ className, text = "Next", ...props }) {
|
|
36
|
-
return (_jsxs(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("pr-1.5!", className), ...props, children: [_jsx("span", { className: "hidden sm:block", children: text }), _jsx(ChevronRightIcon, { "data-icon": "inline-end" })] }));
|
|
37
|
-
}
|
|
38
|
-
function PaginationEllipsis({ className, ...props }) {
|
|
39
|
-
return (_jsxs("span", { "aria-hidden": true, "data-slot": "pagination-ellipsis", className: cn("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [_jsx(MoreHorizontalIcon, {}), _jsx("span", { className: "sr-only", children: "More pages" })] }));
|
|
40
|
-
}
|
|
41
|
-
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, };
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
type PluginSlotBoundaryStatus = "ready" | "warning" | "error" | "disabled";
|
|
3
|
-
type PluginPermissionLevel = "safe" | "review" | "risk" | "denied";
|
|
4
|
-
type PluginPermission = {
|
|
5
|
-
id: string;
|
|
6
|
-
label: React.ReactNode;
|
|
7
|
-
level?: PluginPermissionLevel;
|
|
8
|
-
description?: React.ReactNode;
|
|
9
|
-
};
|
|
10
|
-
type PluginSlotBoundaryProps = Omit<React.ComponentProps<"section">, "title"> & {
|
|
11
|
-
title: React.ReactNode;
|
|
12
|
-
description?: React.ReactNode;
|
|
13
|
-
status?: PluginSlotBoundaryStatus;
|
|
14
|
-
permissions?: PluginPermission[];
|
|
15
|
-
warning?: React.ReactNode;
|
|
16
|
-
error?: React.ReactNode;
|
|
17
|
-
redactionGuidance?: React.ReactNode;
|
|
18
|
-
actions?: React.ReactNode;
|
|
19
|
-
footer?: React.ReactNode;
|
|
20
|
-
children: React.ReactNode;
|
|
21
|
-
contentLabel?: string;
|
|
22
|
-
contentClassName?: string;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* The frame around content a plugin draws inside a product.
|
|
26
|
-
*
|
|
27
|
-
* @family Other
|
|
28
|
-
* @when Any surface a plugin renders into: it names the plugin, its permissions and its state
|
|
29
|
-
* around the plugin's own content.
|
|
30
|
-
* @instead The product's own sections are `SettingsSection` or `ObjectSection`.
|
|
31
|
-
* @behaviour A title and description, the permissions with their levels, a warning or an error when
|
|
32
|
-
* given, then the plugin's content in a labelled region and its footer. `disabled` dims the
|
|
33
|
-
* content.
|
|
34
|
-
* @words The plugin's title as the plugin names itself; permissions are short nouns with a sentence
|
|
35
|
-
* each.
|
|
36
|
-
* @access The permissions are a labelled list and the plugin's content a region labelled
|
|
37
|
-
* `contentLabel`, so a reader knows where the plugin begins and ends.
|
|
38
|
-
*/
|
|
39
|
-
declare function PluginSlotBoundary({ title, description, status, permissions, warning, error, redactionGuidance, actions, footer, children, contentLabel, className, contentClassName, ...props }: PluginSlotBoundaryProps): React.JSX.Element;
|
|
40
|
-
export { PluginSlotBoundary };
|
|
41
|
-
export type { PluginPermission, PluginPermissionLevel, PluginSlotBoundaryProps, PluginSlotBoundaryStatus, };
|
|
42
|
-
//# sourceMappingURL=plugin-slot-boundary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-slot-boundary.d.ts","sourceRoot":"","sources":["../../src/components/plugin-slot-boundary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,KAAK,wBAAwB,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAC3E,KAAK,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnE,KAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B,CAAC;AAEF,KAAK,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9E,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAeF;;;;;;;;;;;;;;GAcG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,MAAgB,EAChB,WAAgB,EAChB,OAAO,EACP,KAAK,EACL,iBAA4C,EAC5C,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAA+B,EAC/B,SAAS,EACT,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,uBAAuB,qBAoGzB;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { AlertTriangleIcon, LockKeyholeIcon, ShieldAlertIcon, ShieldCheckIcon } from "lucide-react";
|
|
4
|
-
import { cn } from "../lib/utils.js";
|
|
5
|
-
import { Alert, AlertDescription, AlertTitle } from "./alert.js";
|
|
6
|
-
import { Badge } from "./badge.js";
|
|
7
|
-
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./card.js";
|
|
8
|
-
const permissionBadgeVariants = {
|
|
9
|
-
safe: "secondary",
|
|
10
|
-
review: "outline",
|
|
11
|
-
risk: "default",
|
|
12
|
-
denied: "destructive",
|
|
13
|
-
};
|
|
14
|
-
const defaultRedactionGuidance = "Plugin content should be synthetic or redacted. Do not render secrets, environment variable values, raw terminal output, or hidden reasoning.";
|
|
15
|
-
/**
|
|
16
|
-
* The frame around content a plugin draws inside a product.
|
|
17
|
-
*
|
|
18
|
-
* @family Other
|
|
19
|
-
* @when Any surface a plugin renders into: it names the plugin, its permissions and its state
|
|
20
|
-
* around the plugin's own content.
|
|
21
|
-
* @instead The product's own sections are `SettingsSection` or `ObjectSection`.
|
|
22
|
-
* @behaviour A title and description, the permissions with their levels, a warning or an error when
|
|
23
|
-
* given, then the plugin's content in a labelled region and its footer. `disabled` dims the
|
|
24
|
-
* content.
|
|
25
|
-
* @words The plugin's title as the plugin names itself; permissions are short nouns with a sentence
|
|
26
|
-
* each.
|
|
27
|
-
* @access The permissions are a labelled list and the plugin's content a region labelled
|
|
28
|
-
* `contentLabel`, so a reader knows where the plugin begins and ends.
|
|
29
|
-
*/
|
|
30
|
-
function PluginSlotBoundary({ title, description, status = "ready", permissions = [], warning, error, redactionGuidance = defaultRedactionGuidance, actions, footer, children, contentLabel = "Plugin content", className, contentClassName, ...props }) {
|
|
31
|
-
const statusIcon = status === "error" ? (_jsx(ShieldAlertIcon, { "data-icon": true, className: "size-4" })) : status === "warning" ? (_jsx(AlertTriangleIcon, { "data-icon": true, className: "size-4" })) : status === "disabled" ? (_jsx(LockKeyholeIcon, { "data-icon": true, className: "size-4" })) : (_jsx(ShieldCheckIcon, { "data-icon": true, className: "size-4" }));
|
|
32
|
-
return (_jsx("section", { "data-slot": "plugin-slot-boundary", "data-status": status, className: className, ...props, children: _jsxs(Card, { className: "overflow-hidden", children: [_jsxs(CardHeader, { children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { className: "grid min-w-0 gap-1", children: [_jsxs(CardTitle, { className: "flex items-center gap-2", children: [statusIcon, _jsx("span", { className: "min-w-0 truncate", children: title })] }), description && _jsx(CardDescription, { children: description })] }), actions && (_jsx("div", { "data-slot": "plugin-slot-boundary-actions", className: "flex shrink-0 items-center gap-2", children: actions }))] }), permissions.length > 0 && (_jsx("div", { "data-slot": "plugin-slot-boundary-permissions", className: "flex flex-wrap items-center gap-2", "aria-label": "Plugin permissions", children: permissions.map((permission) => {
|
|
33
|
-
const level = permission.level ?? "review";
|
|
34
|
-
return (_jsx(Badge, { "data-slot": "plugin-slot-boundary-permission", "data-level": level, variant: permissionBadgeVariants[level], title:
|
|
35
|
-
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- description is a ReactNode; only a string can be a title attribute.
|
|
36
|
-
typeof permission.description === "string"
|
|
37
|
-
? permission.description
|
|
38
|
-
: undefined, children: permission.label }, permission.id));
|
|
39
|
-
}) }))] }), _jsxs(CardContent, { className: "grid gap-4", children: [warning && (_jsxs(Alert, { "data-slot": "plugin-slot-boundary-warning", children: [_jsx(AlertTriangleIcon, { "data-icon": true }), _jsx(AlertTitle, { children: "Review before continuing" }), _jsx(AlertDescription, { children: warning })] })), error && (_jsxs(Alert, { "data-slot": "plugin-slot-boundary-error", variant: "destructive", children: [_jsx(ShieldAlertIcon, { "data-icon": true }), _jsx(AlertTitle, { children: "Plugin content unavailable" }), _jsx(AlertDescription, { children: error })] })), _jsx("div", { "data-slot": "plugin-slot-boundary-content", "aria-label": contentLabel, className: cn("max-h-96 min-w-0 overflow-auto rounded-sm border bg-background p-4 text-sm break-words", status === "disabled" && "pointer-events-none opacity-60", contentClassName), children: children })] }), (redactionGuidance || footer) && (_jsxs(CardFooter, { className: "flex flex-col items-start gap-2 border-t text-sm text-muted-foreground", children: [redactionGuidance && (_jsx("p", { "data-slot": "plugin-slot-boundary-redaction", children: redactionGuidance })), footer && _jsx("div", { "data-slot": "plugin-slot-boundary-footer", children: footer })] }))] }) }));
|
|
40
|
-
}
|
|
41
|
-
export { PluginSlotBoundary };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type KeyboardEvent, type MouseEvent, type ReactNode } from "react";
|
|
2
|
-
interface StatusRowProps extends Omit<React.ComponentProps<"div">, "onClick" | "onKeyDown"> {
|
|
3
|
-
leading?: ReactNode;
|
|
4
|
-
onActivate?: (event: KeyboardEvent | MouseEvent) => void;
|
|
5
|
-
trailing?: ReactNode;
|
|
6
|
-
trailingVisible?: boolean;
|
|
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
|
-
*/
|
|
22
|
-
declare function StatusRow({ children, className, leading, onActivate, trailing, trailingVisible, ...props }: StatusRowProps): import("react").JSX.Element;
|
|
23
|
-
interface StatusSectionProps {
|
|
24
|
-
accessory?: ReactNode;
|
|
25
|
-
children: ReactNode;
|
|
26
|
-
defaultCollapsed?: boolean;
|
|
27
|
-
icon?: ReactNode;
|
|
28
|
-
label: ReactNode;
|
|
29
|
-
}
|
|
30
|
-
declare function StatusSection({ accessory, children, defaultCollapsed, icon, label, }: StatusSectionProps): import("react").JSX.Element;
|
|
31
|
-
export { StatusRow, StatusSection };
|
|
32
|
-
//# sourceMappingURL=status-row.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { ChevronRightIcon } from "lucide-react";
|
|
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
|
-
*/
|
|
20
|
-
function StatusRow({ children, className, leading, onActivate, trailing, trailingVisible = false, ...props }) {
|
|
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
|
|
22
|
-
? (event) => {
|
|
23
|
-
if (event.key === "Enter" || event.key === " ") {
|
|
24
|
-
event.preventDefault();
|
|
25
|
-
onActivate(event);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
: undefined, role: onActivate ? "button" : undefined, tabIndex: onActivate ? 0 : undefined, ...props, children: [leading !== undefined ? (_jsx("span", { className: "flex size-3.5 shrink-0 items-center justify-center", children: leading })) : null, _jsx("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: children }), trailing ? (_jsx("div", { className: cn("flex shrink-0 items-center gap-0.5", !trailingVisible &&
|
|
29
|
-
"opacity-0 group-hover/status-row:opacity-100 group-focus-within/status-row:opacity-100"), children: trailing })) : null] }));
|
|
30
|
-
}
|
|
31
|
-
function StatusSection({ accessory, children, defaultCollapsed = true, icon, label, }) {
|
|
32
|
-
const [collapsed, setCollapsed] = useState(defaultCollapsed);
|
|
33
|
-
return (_jsxs("div", { "data-slot": "status-section", children: [_jsxs("div", { className: "flex items-center gap-1 pr-1", children: [_jsxs("button", { "aria-expanded": !collapsed, className: "nc-transition-paint flex min-w-0 flex-1 items-center gap-1.5 px-2 py-1 text-left text-xs font-normal text-muted-foreground hover:text-foreground", onClick: () => setCollapsed((value) => !value), type: "button", children: [_jsx(ChevronRightIcon, { "aria-hidden": "true", className: cn("nc-transition-transform size-3 shrink-0", !collapsed && "rotate-90"), "data-icon": "inline-start" }), icon ? _jsx("span", { className: "flex shrink-0 items-center", children: icon }) : null, _jsx("span", { className: "truncate", children: label })] }), accessory ? _jsx("div", { className: "flex shrink-0 items-center gap-1", children: accessory }) : null] }), !collapsed ? _jsx("div", { className: "px-1 pb-0.5", children: children }) : null] }));
|
|
34
|
-
}
|
|
35
|
-
export { StatusRow, StatusSection };
|