@nadicodeai/ui 12.1.102 → 12.1.104
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 +19 -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,27 +1,42 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { Info, TriangleAlert, X } from "lucide-react";
|
|
3
|
+
import { CreditCard, Info, LogOut, Mail, Search, TriangleAlert, X } from "lucide-react";
|
|
4
4
|
import { useState } from "react";
|
|
5
5
|
import { Alert, AlertDescription, AlertTitle } from "../../components/alert.js";
|
|
6
6
|
import { Button } from "../../components/button.js";
|
|
7
7
|
import { EmptyState } from "../../components/empty-state.js";
|
|
8
8
|
import { EntryProgress, EntryStageList } from "../../components/entry-scene.js";
|
|
9
|
-
import {
|
|
9
|
+
import { DropdownMenu, DropdownMenuCommand, DropdownMenuContent, DropdownMenuTrigger, } from "../../components/dropdown-menu.js";
|
|
10
|
+
import { HoverCard, HoverCardContent, HoverCardSummary, HoverCardTrigger, } from "../../components/hover-card.js";
|
|
11
|
+
import { Kbd } from "../../components/kbd.js";
|
|
10
12
|
import { MessageNotice } from "../../components/message-notice.js";
|
|
11
13
|
import { NoticeBanner } from "../../components/notice-banner.js";
|
|
12
|
-
import { PendingLabel } from "../../components/pending-label.js";
|
|
13
14
|
import { LabelledPicture, PictureLabel } from "../../components/picture-label.js";
|
|
14
|
-
import {
|
|
15
|
+
import { RecordTime } from "../../components/record-time.js";
|
|
16
|
+
import { Skeleton, SkeletonRegion } from "../../components/skeleton.js";
|
|
15
17
|
import { Toaster } from "../../components/sonner.js";
|
|
16
18
|
import { showMessageToast } from "../../components/toast.js";
|
|
17
19
|
import { Tooltip, TooltipContent, TooltipTrigger } from "../../components/tooltip.js";
|
|
18
20
|
import { UpdateCard } from "../../components/update-card.js";
|
|
19
21
|
import { WaitingLine } from "../../components/waiting-line.js";
|
|
20
22
|
import { useEmptyArt } from "../assets.js";
|
|
21
|
-
import { FAILED_READ, nothing, sampleMessage } from "../samples.js";
|
|
23
|
+
import { FAILED_READ, MAILBOXES, NOW, nothing, sampleMessage } from "../samples.js";
|
|
24
|
+
function Captioned({ caption, children }) {
|
|
25
|
+
return (_jsxs("div", { className: "grid gap-2", children: [_jsx("span", { className: "text-body-sm text-muted-foreground", children: caption }), children] }));
|
|
26
|
+
}
|
|
22
27
|
function EmptyStateSpecimen() {
|
|
23
28
|
const art = useEmptyArt();
|
|
24
|
-
return (_jsxs("div", { className: "grid gap-
|
|
29
|
+
return (_jsxs("div", { className: "grid gap-6", children: [_jsx(Captioned, { caption: "First use, with a link to the documentation", children: _jsx(EmptyState, { action: { label: "Add mailbox", onClick: nothing }, description: "Every address your Agents read and send from lives here.", docs: {
|
|
30
|
+
label: "How mailboxes work",
|
|
31
|
+
link: _jsx("a", { href: "/docs/mailboxes" }),
|
|
32
|
+
external: true,
|
|
33
|
+
}, kind: "firstUse", picture: art.mail, scope: "region", title: "No mailboxes yet" }) }), _jsx(Captioned, { caption: "Nothing yet, no results and cleared, swapping inside one live region", children: _jsxs("div", { "aria-live": "polite", className: "grid gap-4", children: [_jsx(EmptyState, { kind: "nothingYet", message: "Nothing has been sent from this mailbox yet.", scope: "card" }), _jsx(EmptyState, { clear: { label: "Clear search", onClick: nothing }, kind: "noResults", message: "No mailbox matches \u201Cbilling\u201D.", scope: "card" }), _jsx(EmptyState, { kind: "cleared", message: "You're all caught up.", scope: "card" })] }) }), _jsx(Captioned, { caption: "Cleared and nothing yet as one line, in a card that lists a few items", children: _jsx("div", { className: "grid max-w-75 gap-4 rounded-sm ring-1 ring-border", children: _jsx(EmptyState, { kind: "cleared", message: "No customer waits on anyone.", scope: "line" }) }) }), _jsx(Captioned, { caption: "Denied, on a page", children: _jsx(EmptyState, { action: { label: "Request access", onClick: nothing }, description: "Billing is open to the owners of Acme. Ask Marta Rossi, the owner, to open it for you.", kind: "denied", scope: "page", title: "You can't open billing" }) }), _jsx(Captioned, { caption: "Failed, with the request ID to paste into a support thread", children: _jsx(EmptyState, { kind: "failed", message: FAILED_READ, reference: {
|
|
34
|
+
label: "Request ID",
|
|
35
|
+
value: "iad1::abc12-1760000000000-9f3c",
|
|
36
|
+
copyLabel: "Copy request ID",
|
|
37
|
+
copiedLabel: "Copied",
|
|
38
|
+
copyFailedLabel: "Couldn't copy",
|
|
39
|
+
}, scope: "region" }) }), _jsx(Captioned, { caption: "Failed, in a card: the answer of an ErrorCard", children: _jsx(EmptyState, { kind: "failed", message: FAILED_READ, scope: "card" }) })] }));
|
|
25
40
|
}
|
|
26
41
|
function LabelledPictureSpecimen() {
|
|
27
42
|
const art = useEmptyArt();
|
|
@@ -29,17 +44,21 @@ function LabelledPictureSpecimen() {
|
|
|
29
44
|
}
|
|
30
45
|
function PendingLabelSpecimen() {
|
|
31
46
|
const [pending, setPending] = useState(false);
|
|
32
|
-
return (_jsxs(
|
|
47
|
+
return (_jsxs(DropdownMenu, { onOpenChange: (open) => (open ? undefined : setPending(false)), children: [_jsx(DropdownMenuTrigger, { render: _jsx(Button, { variant: "outline" }), children: "Account" }), _jsx(DropdownMenuContent, { align: "start", children: _jsx(DropdownMenuCommand, { closeOnClick: false, icon: _jsx(LogOut, {}), loading: pending, loadingLabel: "Signing out", onClick: () => setPending(true), children: "Sign out" }) })] }));
|
|
33
48
|
}
|
|
34
49
|
function ToasterSpecimen() {
|
|
35
|
-
return (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: () => showMessageToast(sampleMessage("Mailbox removed"), { tone: "success" }), variant: "outline", children: "Remove mailbox" }), _jsx(Toaster, {})] }));
|
|
50
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(Button, { onClick: () => showMessageToast(sampleMessage("Mailbox removed"), { tone: "success" }), variant: "outline", children: "Remove mailbox" }), _jsx(Button, { onClick: () => showMessageToast(sampleMessage("Couldn't remove pec@acme.it", "The mailbox is still connected."), { tone: "error" }), variant: "outline", children: "Remove mailbox that fails" })] }), _jsx(Toaster, { closeLabel: "Close notification", regionLabel: "Notifications" })] }));
|
|
36
51
|
}
|
|
37
52
|
function UpdateCardSpecimen() {
|
|
38
53
|
const [updated, setUpdated] = useState(false);
|
|
39
|
-
return (_jsx("div", { className: "
|
|
54
|
+
return (_jsxs("div", { className: "flex items-start gap-4", children: [_jsx("div", { className: "w-64", children: updated ? (_jsx(UpdateCard, { dismiss: { label: "Dismiss", onClick: () => setUpdated(false) }, state: "updated", title: "Nadia is up to date", version: "12.2.0" })) : (_jsx(UpdateCard, { action: { label: "Restart to update", onClick: () => setUpdated(true) }, state: "available", title: "A new Nadia is ready", version: "12.2.0" })) }), _jsx(UpdateCard, { action: { label: "Restart to update", onClick: nothing }, narrow: true, state: "available", title: "A new Nadia is ready", version: "12.2.0" })] }));
|
|
55
|
+
}
|
|
56
|
+
function SkeletonRegionSpecimen() {
|
|
57
|
+
const [busy, setBusy] = useState(true);
|
|
58
|
+
return (_jsxs("div", { className: "grid max-w-sm gap-3", children: [_jsx(Button, { onClick: () => setBusy((current) => !current), size: "sm", variant: "outline", children: busy ? "Show the mailboxes" : "Show the placeholders" }), _jsx(SkeletonRegion, { busy: busy, className: "grid gap-3", children: MAILBOXES.map((mailbox) => busy ? (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Skeleton, { height: 32, shape: "circle", width: 32 }), _jsx(Skeleton, { boxHeight: 20, height: 12, width: 200 })] }, mailbox.id)) : (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Mail, { "aria-hidden": "true", className: "size-8 rounded-full bg-muted p-2" }), _jsx("span", { className: "text-body-md", children: mailbox.address })] }, mailbox.id))) })] }));
|
|
40
59
|
}
|
|
41
60
|
export const FEEDBACK = {
|
|
42
|
-
Alert: () => (_jsxs("div", { className: "grid max-w-lg gap-3", children: [_jsxs(Alert, { variant: "info", children: [_jsx(Info, { "aria-hidden": "true" }), _jsx(AlertTitle, { children: "Approvals are on" }), _jsx(AlertDescription, { children: "Payments over \u20AC 500 wait for you." })] }), _jsxs(Alert, { variant: "warning", children: [_jsx(TriangleAlert, { "aria-hidden": "true" }), _jsx(AlertTitle, { children: "WhatsApp needs a new code" }), _jsx(AlertDescription, { children: "Messages wait until it is paired again." })] })] })),
|
|
61
|
+
Alert: () => (_jsxs("div", { className: "grid max-w-lg gap-3", children: [_jsxs(Alert, { variant: "info", children: [_jsx(Info, { "aria-hidden": "true" }), _jsx(AlertTitle, { children: "Approvals are on" }), _jsx(AlertDescription, { children: "Payments over \u20AC 500 wait for you." })] }), _jsxs(Alert, { variant: "warning", children: [_jsx(TriangleAlert, { "aria-hidden": "true" }), _jsx(AlertTitle, { children: "WhatsApp needs a new code" }), _jsx(AlertDescription, { children: "Messages wait until it is paired again." })] }), _jsxs(Alert, { variant: "destructive", children: [_jsx(TriangleAlert, { "aria-hidden": "true" }), _jsx(AlertTitle, { children: "Payment failed" }), _jsx(AlertDescription, { children: "Agents stop at the end of the billing cycle." })] })] })),
|
|
43
62
|
EmptyState: EmptyStateSpecimen,
|
|
44
63
|
EntryProgress: () => (_jsx("div", { className: "max-w-sm", children: _jsx(EntryProgress, { count: "27 of 40 files", fraction: 27 / 40 }) })),
|
|
45
64
|
EntryStageList: () => (_jsx(EntryStageList, { stages: [
|
|
@@ -47,18 +66,23 @@ export const FEEDBACK = {
|
|
|
47
66
|
{ id: "install", label: "Install her tools", mark: "current" },
|
|
48
67
|
{ id: "sign-in", label: "Sign in", mark: "pending" },
|
|
49
68
|
] })),
|
|
50
|
-
HoverCard: () => (_jsxs(
|
|
69
|
+
HoverCard: () => (_jsxs("div", { className: "flex flex-wrap items-center gap-6", children: [_jsx(RecordTime, { at: "2026-10-14T07:00:00Z", now: NOW, phrase: (when) => `Updated ${when}`, timeZone: "Europe/Rome" }), _jsx(RecordTime, { at: null, mode: "clock", children: "Pending" }), _jsxs(HoverCard, { children: [_jsx(HoverCardTrigger, { render: _jsx("button", { className: "text-sm underline decoration-dotted", type: "button" }), children: "Portal" }), _jsx(HoverCardContent, { children: _jsx(HoverCardSummary, { action: { label: "Open project", href: "#" }, detail: "nadicode / portal", facts: [
|
|
70
|
+
{ label: "Plan", value: "Pro" },
|
|
71
|
+
{ label: "Region", value: "Frankfurt" },
|
|
72
|
+
{ label: "Last active", value: null },
|
|
73
|
+
], missingLabel: "Not reported", name: "Portal" }) })] })] })),
|
|
51
74
|
LabelledPicture: LabelledPictureSpecimen,
|
|
52
75
|
MessageNotice: () => (_jsxs("div", { className: "grid max-w-lg gap-4", children: [_jsx(MessageNotice, { message: sampleMessage("Couldn't remove pec@acme.it", "The mailbox is still connected.", [
|
|
53
76
|
{ label: "Try again", onClick: nothing },
|
|
54
77
|
]), placement: "action" }), _jsx(MessageNotice, { message: sampleMessage("Billing is paused", "Agents stop at the end of the cycle.", [
|
|
55
78
|
{ label: "Update payment", onClick: nothing },
|
|
56
|
-
]), placement: "section", tone: "warning" })] })),
|
|
57
|
-
NoticeBanner: () => (
|
|
79
|
+
]), placement: "section", tone: "warning" }), _jsx(MessageNotice, { message: sampleMessage("Orders is read-only for you", "Ask an owner of Acme to change who can write to it."), placement: "section", tone: "info" })] })),
|
|
80
|
+
NoticeBanner: () => (_jsxs("div", { className: "grid max-w-lg gap-6", children: [_jsx(Captioned, { caption: "Warning, with a label and a command", children: _jsx(NoticeBanner, { action: { label: "Open Slack settings", onClick: nothing }, description: "Agents can't post to Slack until it is connected again.", label: "Slack", liveRegion: "off", title: "Slack is disconnected", tone: "warning" }) }), _jsx(Captioned, { caption: "Destructive, with its own icon and a link", children: _jsx(NoticeBanner, { action: { label: "Update payment method", link: _jsx("a", { href: "#billing" }) }, description: "Agents stop at the end of the billing cycle.", icon: CreditCard, label: "Billing", liveRegion: "polite", title: "Your last payment failed", tone: "destructive" }) })] })),
|
|
58
81
|
PendingLabel: PendingLabelSpecimen,
|
|
59
|
-
Skeleton: () => (_jsxs(
|
|
82
|
+
Skeleton: () => (_jsxs(SkeletonRegion, { busy: true, className: "grid max-w-sm gap-3", children: [_jsx(Skeleton, { boxHeight: 20, height: 16, width: "75%" }), _jsx(Skeleton, { height: 16, width: 160 }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Skeleton, { height: 32, shape: "circle", width: 32 }), _jsx(Skeleton, { height: 48, shape: "squared", width: 48 })] }), _jsx(Skeleton, { height: 100, width: "100%", children: null }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Skeleton, { children: _jsx(Button, { children: "Save changes" }) }), _jsx(Skeleton, { show: false, children: _jsx(Button, { children: "Save changes" }) })] })] })),
|
|
83
|
+
SkeletonRegion: SkeletonRegionSpecimen,
|
|
60
84
|
Toaster: ToasterSpecimen,
|
|
61
|
-
Tooltip: () => (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { "aria-label": "Remove attachment", size: "icon", variant: "ghost" }), children: _jsx(X, { "aria-hidden": "true" }) }), _jsx(TooltipContent, { children: "Remove attachment" })] })),
|
|
85
|
+
Tooltip: () => (_jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { "aria-label": "Remove attachment", size: "icon", variant: "ghost" }), children: _jsx(X, { "aria-hidden": "true" }) }), _jsx(TooltipContent, { children: "Remove attachment" })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { "aria-label": "Search", size: "icon", variant: "outline" }), children: _jsx(Search, { "aria-hidden": "true" }) }), _jsxs(TooltipContent, { children: ["Search ", _jsx(Kbd, { children: "/" })] })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { "aria-label": "Find a mailbox", size: "icon", variant: "outline" }), children: _jsx(Mail, { "aria-hidden": "true" }) }), _jsxs(TooltipContent, { children: ["Find a mailbox ", _jsx(Kbd, { meta: true, children: "K" })] })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { variant: "outline" }), children: "Without a stem" }), _jsx(TooltipContent, { arrow: false, children: "Pinned to the button" })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { variant: "outline" }), children: "Monthly limit" }), _jsx(TooltipContent, { centerText: false, children: "Limit: 400 runs a month. It resets on 1 November and unused runs do not carry over." })] })] })),
|
|
62
86
|
UpdateCard: UpdateCardSpecimen,
|
|
63
87
|
WaitingLine: () => (_jsxs("div", { className: "grid max-w-sm gap-2 text-sm", children: ["Connecting Telegram", _jsx(WaitingLine, { label: "Connecting Telegram" })] })),
|
|
64
88
|
};
|
|
@@ -3,15 +3,13 @@ export declare const SPECIMENS: {
|
|
|
3
3
|
AspectRatio: () => import("react").JSX.Element;
|
|
4
4
|
BrandField: () => import("react").JSX.Element;
|
|
5
5
|
Carousel: () => import("react").JSX.Element;
|
|
6
|
-
ChannelView: () => import("react").JSX.Element;
|
|
7
6
|
Collapsible: () => import("react").JSX.Element;
|
|
8
7
|
CompanyCard: () => import("react").JSX.Element;
|
|
9
8
|
Disclosure: () => import("react").JSX.Element;
|
|
10
|
-
ExpandableBlock: () => import("react").JSX.Element;
|
|
11
9
|
HiveScene: () => import("react").JSX.Element;
|
|
12
10
|
NadiaPresence: () => import("react").JSX.Element;
|
|
13
11
|
NumberedSteps: () => import("react").JSX.Element;
|
|
14
|
-
|
|
12
|
+
Prose: () => import("react").JSX.Element;
|
|
15
13
|
ReadingColumn: () => import("react").JSX.Element;
|
|
16
14
|
ResizablePanelGroup: () => import("react").JSX.Element;
|
|
17
15
|
ScrollArea: () => import("react").JSX.Element;
|
|
@@ -38,7 +36,6 @@ export declare const SPECIMENS: {
|
|
|
38
36
|
Drawer: () => import("react").JSX.Element;
|
|
39
37
|
DropdownMenu: () => import("react").JSX.Element;
|
|
40
38
|
GlassControl: () => import("react").JSX.Element;
|
|
41
|
-
Menubar: () => import("react").JSX.Element;
|
|
42
39
|
MenuChoiceRow: () => import("react").JSX.Element;
|
|
43
40
|
Popover: () => import("react").JSX.Element;
|
|
44
41
|
Sheet: () => import("react").JSX.Element;
|
|
@@ -53,12 +50,12 @@ export declare const SPECIMENS: {
|
|
|
53
50
|
NoticeBanner: () => import("react").JSX.Element;
|
|
54
51
|
PendingLabel: () => import("react").JSX.Element;
|
|
55
52
|
Skeleton: () => import("react").JSX.Element;
|
|
53
|
+
SkeletonRegion: () => import("react").JSX.Element;
|
|
56
54
|
Toaster: () => import("react").JSX.Element;
|
|
57
55
|
Tooltip: () => import("react").JSX.Element;
|
|
58
56
|
UpdateCard: () => import("react").JSX.Element;
|
|
59
57
|
WaitingLine: () => import("react").JSX.Element;
|
|
60
58
|
AgentCard: () => import("react").JSX.Element;
|
|
61
|
-
ApprovalRow: () => import("react").JSX.Element;
|
|
62
59
|
Card: () => import("react").JSX.Element;
|
|
63
60
|
CardRow: () => import("react").JSX.Element;
|
|
64
61
|
CodeBlock: () => import("react").JSX.Element;
|
|
@@ -68,7 +65,7 @@ export declare const SPECIMENS: {
|
|
|
68
65
|
FileDiff: () => import("react").JSX.Element;
|
|
69
66
|
Item: () => import("react").JSX.Element;
|
|
70
67
|
Kbd: () => import("react").JSX.Element;
|
|
71
|
-
|
|
68
|
+
MiddleTruncate: () => import("react").JSX.Element;
|
|
72
69
|
ObjectFacts: () => import("react").JSX.Element;
|
|
73
70
|
PairingCode: () => import("react").JSX.Element;
|
|
74
71
|
Progress: () => import("react").JSX.Element;
|
|
@@ -76,22 +73,24 @@ export declare const SPECIMENS: {
|
|
|
76
73
|
RecordTime: () => import("react").JSX.Element;
|
|
77
74
|
RunTimeline: () => import("react").JSX.Element;
|
|
78
75
|
SettingsFactsSection: () => import("react").JSX.Element;
|
|
79
|
-
|
|
76
|
+
Snippet: () => import("react").JSX.Element;
|
|
80
77
|
Table: () => import("react").JSX.Element;
|
|
81
78
|
TableCard: () => import("react").JSX.Element;
|
|
82
79
|
TableValue: () => import("react").JSX.Element;
|
|
80
|
+
TextWithCopyButton: () => import("react").JSX.Element;
|
|
83
81
|
UsageMeter: () => import("react").JSX.Element;
|
|
84
82
|
AgentListRow: () => import("react").JSX.Element;
|
|
85
83
|
Breadcrumb: () => import("react").JSX.Element;
|
|
86
84
|
CommandDialog: () => import("react").JSX.Element;
|
|
87
|
-
DashboardShell: () => import("react").JSX.Element;
|
|
88
85
|
DesktopAppShell: () => import("react").JSX.Element;
|
|
89
86
|
Footer: () => import("react").JSX.Element;
|
|
90
|
-
NavigationMenu: () => import("react").JSX.Element;
|
|
91
|
-
Pagination: () => import("react").JSX.Element;
|
|
92
87
|
PortalSidebarFrame: () => import("react").JSX.Element;
|
|
93
88
|
ScopeSwitcher: () => import("react").JSX.Element;
|
|
94
89
|
Sidebar: () => import("react").JSX.Element;
|
|
90
|
+
SidebarBrand: () => import("react").JSX.Element;
|
|
91
|
+
SidebarFind: () => import("react").JSX.Element;
|
|
92
|
+
SidebarFrame: () => import("react").JSX.Element;
|
|
93
|
+
SidebarMenuChevron: () => import("react").JSX.Element;
|
|
95
94
|
SidebarSections: () => import("react").JSX.Element;
|
|
96
95
|
Tabs: () => import("react").JSX.Element;
|
|
97
96
|
TabsNav: () => import("react").JSX.Element;
|
|
@@ -103,41 +102,50 @@ export declare const SPECIMENS: {
|
|
|
103
102
|
Avatar: () => import("react").JSX.Element;
|
|
104
103
|
Badge: () => import("react").JSX.Element;
|
|
105
104
|
BrandWordmark: () => import("react").JSX.Element;
|
|
105
|
+
CheckCounts: () => import("react").JSX.Element;
|
|
106
106
|
FileTypeIcon: () => import("react").JSX.Element;
|
|
107
|
+
Gauge: () => import("react").JSX.Element;
|
|
107
108
|
IdentityMark: () => import("react").JSX.Element;
|
|
108
|
-
MetaLabel: () => import("react").JSX.Element;
|
|
109
109
|
ModelIdentity: () => import("react").JSX.Element;
|
|
110
110
|
ModelMark: () => import("react").JSX.Element;
|
|
111
111
|
PlatformMark: () => import("react").JSX.Element;
|
|
112
|
+
ProgressChecklist: () => import("react").JSX.Element;
|
|
112
113
|
RecordIdentity: () => import("react").JSX.Element;
|
|
113
114
|
StatusBadge: () => import("react").JSX.Element;
|
|
114
115
|
StatusDot: () => import("react").JSX.Element;
|
|
115
116
|
Tag: () => import("react").JSX.Element;
|
|
116
117
|
Checkbox: () => import("react").JSX.Element;
|
|
118
|
+
ChoiceboxGroup: () => import("react").JSX.Element;
|
|
117
119
|
CollectionSort: () => import("react").JSX.Element;
|
|
118
120
|
Combobox: () => import("react").JSX.Element;
|
|
119
121
|
ModelSelect: () => import("react").JSX.Element;
|
|
122
|
+
MultiSelect: () => import("react").JSX.Element;
|
|
120
123
|
RadioGroup: () => import("react").JSX.Element;
|
|
121
124
|
SegmentedChoice: () => import("react").JSX.Element;
|
|
125
|
+
SegmentedControl: () => import("react").JSX.Element;
|
|
122
126
|
Select: () => import("react").JSX.Element;
|
|
123
127
|
Switch: () => import("react").JSX.Element;
|
|
128
|
+
ThemeModeSegments: () => import("react").JSX.Element;
|
|
124
129
|
ThemeModeSwitcher: () => import("react").JSX.Element;
|
|
125
130
|
Toggle: () => import("react").JSX.Element;
|
|
126
131
|
ToggleGroup: () => import("react").JSX.Element;
|
|
127
132
|
Calendar: () => import("react").JSX.Element;
|
|
133
|
+
ClearableInput: () => import("react").JSX.Element;
|
|
128
134
|
CollectionSearch: () => import("react").JSX.Element;
|
|
129
135
|
Field: () => import("react").JSX.Element;
|
|
130
|
-
Form: () => import("react").JSX.Element;
|
|
131
136
|
Input: () => import("react").JSX.Element;
|
|
132
137
|
InputGroup: () => import("react").JSX.Element;
|
|
133
138
|
InputOTP: () => import("react").JSX.Element;
|
|
134
139
|
Label: () => import("react").JSX.Element;
|
|
135
140
|
NativeSelect: () => import("react").JSX.Element;
|
|
141
|
+
SettingsRows: () => import("react").JSX.Element;
|
|
136
142
|
SettingsField: () => import("react").JSX.Element;
|
|
137
143
|
Slider: () => import("react").JSX.Element;
|
|
138
144
|
Textarea: () => import("react").JSX.Element;
|
|
139
145
|
Button: () => import("react").JSX.Element;
|
|
146
|
+
ButtonLink: () => import("react").JSX.Element;
|
|
140
147
|
ButtonGroup: () => import("react").JSX.Element;
|
|
148
|
+
LoadMoreButton: () => import("react").JSX.Element;
|
|
141
149
|
CopyButton: () => import("react").JSX.Element;
|
|
142
150
|
PageActions: () => import("react").JSX.Element;
|
|
143
151
|
ActivityFeed: () => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/showcase/specimens/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/showcase/specimens/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYiB,CAAC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
declare function CalendarSpecimen(): import("react").JSX.Element;
|
|
2
2
|
declare function CollectionSearchSpecimen(): import("react").JSX.Element;
|
|
3
|
-
declare function
|
|
3
|
+
declare function ClearableInputSpecimen(): import("react").JSX.Element;
|
|
4
4
|
declare function InputGroupSpecimen(): import("react").JSX.Element;
|
|
5
5
|
declare function InputOTPSpecimen(): import("react").JSX.Element;
|
|
6
6
|
declare function SliderSpecimen(): import("react").JSX.Element;
|
|
7
|
+
declare function SettingsRowsSpecimen(): import("react").JSX.Element;
|
|
7
8
|
export declare const INPUTS: {
|
|
8
9
|
Calendar: typeof CalendarSpecimen;
|
|
10
|
+
ClearableInput: typeof ClearableInputSpecimen;
|
|
9
11
|
CollectionSearch: typeof CollectionSearchSpecimen;
|
|
10
12
|
Field: () => import("react").JSX.Element;
|
|
11
|
-
Form: typeof FormSpecimen;
|
|
12
13
|
Input: () => import("react").JSX.Element;
|
|
13
14
|
InputGroup: typeof InputGroupSpecimen;
|
|
14
15
|
InputOTP: typeof InputOTPSpecimen;
|
|
15
16
|
Label: () => import("react").JSX.Element;
|
|
16
17
|
NativeSelect: () => import("react").JSX.Element;
|
|
18
|
+
SettingsRows: typeof SettingsRowsSpecimen;
|
|
17
19
|
SettingsField: () => import("react").JSX.Element;
|
|
18
20
|
Slider: typeof SliderSpecimen;
|
|
19
21
|
Textarea: () => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../src/showcase/specimens/inputs.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../src/showcase/specimens/inputs.tsx"],"names":[],"mappings":"AA6BA,iBAAS,gBAAgB,gCAexB;AAED,iBAAS,wBAAwB,gCAqBhC;AAED,iBAAS,sBAAsB,gCAiC9B;AAED,iBAAS,kBAAkB,gCAqC1B;AAED,iBAAS,gBAAgB,gCA2BxB;AAED,iBAAS,cAAc,gCAuCtB;AAqBD,iBAAS,oBAAoB,gCAsD5B;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAoHQ,CAAC"}
|
|
@@ -1,60 +1,103 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { AtSign, Clock, Globe, Search } from "lucide-react";
|
|
4
4
|
import { useState } from "react";
|
|
5
|
-
import { useForm } from "react-hook-form";
|
|
6
|
-
import { Button } from "../../components/button.js";
|
|
7
5
|
import { Calendar } from "../../components/calendar.js";
|
|
6
|
+
import { ClearableInput } from "../../components/clearable-input.js";
|
|
8
7
|
import { CollectionSearch } from "../../components/collection-search.js";
|
|
9
8
|
import { Field, FieldDescription, FieldError, FieldLabel } from "../../components/field.js";
|
|
10
|
-
import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "../../components/form.js";
|
|
11
9
|
import { Input } from "../../components/input.js";
|
|
12
10
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, } from "../../components/input-group.js";
|
|
13
11
|
import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "../../components/input-otp.js";
|
|
14
12
|
import { Label } from "../../components/label.js";
|
|
15
13
|
import { NativeSelect, NativeSelectOption } from "../../components/native-select.js";
|
|
16
|
-
import { SettingsField } from "../../components/settings-section.js";
|
|
14
|
+
import { SettingsField, SettingsRows, SettingsSection } from "../../components/settings-section.js";
|
|
17
15
|
import { Slider } from "../../components/slider.js";
|
|
18
16
|
import { Switch } from "../../components/switch.js";
|
|
19
17
|
import { Textarea } from "../../components/textarea.js";
|
|
18
|
+
import { nothing } from "../samples.js";
|
|
20
19
|
function CalendarSpecimen() {
|
|
21
20
|
const [range, setRange] = useState({
|
|
22
21
|
from: new Date(2026, 9, 7),
|
|
23
22
|
to: new Date(2026, 9, 13),
|
|
24
23
|
});
|
|
25
|
-
return (_jsx(Calendar, { defaultMonth: new Date(2026, 9, 1), mode: "range", onSelect: setRange, selected: range }));
|
|
24
|
+
return (_jsx(Calendar, { defaultMonth: new Date(2026, 9, 1), maxValue: new Date(2026, 9, 16), minValue: new Date(2026, 9, 5), mode: "range", onSelect: setRange, selected: range }));
|
|
26
25
|
}
|
|
27
26
|
function CollectionSearchSpecimen() {
|
|
28
27
|
const [value, setValue] = useState("");
|
|
29
|
-
|
|
28
|
+
const [query, setQuery] = useState("preventivi");
|
|
29
|
+
return (_jsxs("div", { className: "grid max-w-sm gap-3", children: [_jsx(CollectionSearch, { clearLabel: "Clear search", label: "Find a skill", onValueChange: setValue, value: value }), _jsx(CollectionSearch, { clearLabel: "Clear search", label: "Find a skill", loading: true, onValueChange: setQuery, shortcut: { meta: true, children: "K" }, value: query })] }));
|
|
30
30
|
}
|
|
31
|
-
function
|
|
32
|
-
const
|
|
33
|
-
|
|
31
|
+
function ClearableInputSpecimen() {
|
|
32
|
+
const [reference, setReference] = useState("INV-2026-0412");
|
|
33
|
+
const [filter, setFilter] = useState("");
|
|
34
|
+
const [mailboxFilter, setMailboxFilter] = useState("pec");
|
|
35
|
+
return (_jsxs("div", { className: "grid max-w-sm gap-3", children: [_jsx(ClearableInput, { "aria-label": "Invoice reference", clearLabel: "Clear reference", onValueChange: setReference, value: reference }), _jsx(ClearableInput, { "aria-label": "Filter Agents", clearLabel: "Clear filter", onValueChange: setFilter, placeholder: "Filter Agents", prefix: _jsx(AtSign, { "aria-hidden": "true" }), shortcut: { meta: true, children: "K" }, size: "lg", value: filter }), _jsx(ClearableInput, { "aria-label": "Filter mailboxes", clearLabel: "Clear filter", loading: true, onValueChange: setMailboxFilter, placeholder: "Filter mailboxes", size: "sm", value: mailboxFilter })] }));
|
|
34
36
|
}
|
|
35
37
|
function InputGroupSpecimen() {
|
|
36
38
|
const [value, setValue] = useState("acme.it");
|
|
37
|
-
return (_jsxs("div", { className: "grid max-w-sm gap-3", children: [_jsxs(InputGroup, { children: [_jsx(InputGroupAddon, { children: _jsx(InputGroupText, { children: "https://" }) }), _jsx(InputGroupInput, { "aria-label": "Website", onChange: (event) => setValue(event.target.value), value: value }), _jsx(InputGroupAddon, { align: "inline-end", children: _jsx(InputGroupButton, {
|
|
39
|
+
return (_jsxs("div", { className: "grid max-w-sm gap-3", children: [_jsxs(InputGroup, { children: [_jsx(InputGroupAddon, { children: _jsx(InputGroupText, { children: "https://" }) }), _jsx(InputGroupInput, { "aria-label": "Website", onChange: (event) => setValue(event.target.value), value: value }), _jsx(InputGroupAddon, { align: "inline-end", children: _jsx(InputGroupButton, { onClick: nothing, size: "sm", variant: "ghost", children: "Check" }) })] }), _jsxs(InputGroup, { size: "lg", children: [_jsx(InputGroupAddon, { children: _jsx(Globe, { "aria-hidden": "true" }) }), _jsx(InputGroupInput, { "aria-label": "Domain", defaultValue: "acme.it" }), _jsx(InputGroupAddon, { align: "inline-end", children: _jsx(InputGroupButton, { "aria-label": "Search domain", onClick: nothing, size: "icon", variant: "ghost", children: _jsx(Search, { "aria-hidden": "true" }) }) })] })] }));
|
|
38
40
|
}
|
|
39
41
|
function InputOTPSpecimen() {
|
|
40
42
|
const [code, setCode] = useState("");
|
|
41
43
|
return (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { htmlFor: "showcase-otp", children: "Code from your authenticator app" }), _jsxs(InputOTP, { autoComplete: "one-time-code", id: "showcase-otp", inputMode: "numeric", maxLength: 6, onChange: setCode, value: code, children: [_jsxs(InputOTPGroup, { children: [_jsx(InputOTPSlot, { index: 0 }), _jsx(InputOTPSlot, { index: 1 }), _jsx(InputOTPSlot, { index: 2 })] }), _jsx(InputOTPSeparator, {}), _jsxs(InputOTPGroup, { children: [_jsx(InputOTPSlot, { index: 3 }), _jsx(InputOTPSlot, { index: 4 }), _jsx(InputOTPSlot, { index: 5 })] })] })] }));
|
|
42
44
|
}
|
|
43
45
|
function SliderSpecimen() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
return (_jsxs("div", { className: "grid max-w-sm gap-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Slider, { defaultValue: [400], format: { style: "currency", currency: "EUR", maximumFractionDigits: 0 }, label: "Monthly limit", max: 1000, min: 0, showEndInput: true, step: 50 }), _jsx("p", { className: "text-sm text-muted-foreground", children: "From \u20AC0 to \u20AC1,000, in steps of \u20AC50." })] }), _jsx(Slider, { defaultValue: [200, 600], format: { style: "currency", currency: "EUR", maximumFractionDigits: 0 }, label: "Invoice amount", max: 1000, min: 0, showEndInput: true, showStartInput: true, step: 50 }), _jsx(Slider, { defaultValue: [200, 600], disabled: true, format: { style: "currency", currency: "EUR", maximumFractionDigits: 0 }, label: "Invoice amount, locked", max: 1000, min: 0, showEndInput: true, showStartInput: true, step: 50 }), _jsx(CommittedSliderSpecimen, {})] }));
|
|
47
|
+
}
|
|
48
|
+
function CommittedSliderSpecimen() {
|
|
49
|
+
const [committed, setCommitted] = useState(50);
|
|
50
|
+
return (_jsxs("div", { className: "grid gap-2", children: [_jsx(Slider, { defaultValue: [50], label: "Volume", max: 100, min: 0, onValueCommitted: ([next]) => setCommitted(next), step: 1 }), _jsxs("p", { className: "text-sm text-muted-foreground tabular-nums", children: ["Last committed: ", committed] })] }));
|
|
51
|
+
}
|
|
52
|
+
const STATE_LABELS = { on: "Enabled", off: "Disabled" };
|
|
53
|
+
function SettingsRowsSpecimen() {
|
|
54
|
+
const [approvals, setApprovals] = useState(true);
|
|
55
|
+
const [reminders, setReminders] = useState(false);
|
|
56
|
+
const [zone, setZone] = useState("Europe/Rome");
|
|
57
|
+
return (_jsxs("div", { className: "grid gap-6", children: [_jsx(SettingsSection, { description: "Choose which events ask for your attention.", title: "Notifications", children: _jsx(SettingsRows, { kind: "switch", rows: [
|
|
58
|
+
{
|
|
59
|
+
id: "showcase-rows-approvals",
|
|
60
|
+
label: "Approvals",
|
|
61
|
+
info: { label: "About approvals", text: "An Agent waits for you before it sends." },
|
|
62
|
+
checked: approvals,
|
|
63
|
+
onCheckedChange: setApprovals,
|
|
64
|
+
name: "approvals",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: "showcase-rows-reminders",
|
|
68
|
+
label: "Reminders",
|
|
69
|
+
info: { label: "About reminders", text: "A nudge when an invoice is overdue." },
|
|
70
|
+
checked: reminders,
|
|
71
|
+
onCheckedChange: setReminders,
|
|
72
|
+
name: "reminders",
|
|
73
|
+
},
|
|
74
|
+
], stateLabels: STATE_LABELS }) }), _jsx(SettingsSection, { description: "Dates and times follow this choice.", title: "Region", children: _jsx(SettingsRows, { kind: "select", rows: [
|
|
75
|
+
{
|
|
76
|
+
id: "showcase-rows-zone",
|
|
77
|
+
label: "Time zone",
|
|
78
|
+
info: { label: "About time zone", text: "Reports are cut at midnight here." },
|
|
79
|
+
value: zone,
|
|
80
|
+
onValueChange: setZone,
|
|
81
|
+
name: "zone",
|
|
82
|
+
options: [
|
|
83
|
+
{ value: "Europe/London", label: "London" },
|
|
84
|
+
{ value: "Europe/Rome", label: "Rome" },
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
] }) })] }));
|
|
46
88
|
}
|
|
47
89
|
export const INPUTS = {
|
|
48
90
|
Calendar: CalendarSpecimen,
|
|
91
|
+
ClearableInput: ClearableInputSpecimen,
|
|
49
92
|
CollectionSearch: CollectionSearchSpecimen,
|
|
50
|
-
Field: () => (_jsxs("div", { className: "grid max-w-sm gap-6", children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "showcase-email", children: "Billing email" }), _jsx(FieldDescription, { children: "Invoices and receipts go here." }), _jsx(Input, { id: "showcase-email", placeholder: "amministrazione@acme.it", type: "email" })] }), _jsxs(Field, { "data-invalid": "true", children: [_jsx(FieldLabel, { htmlFor: "showcase-email-wrong", children: "Billing email" }), _jsx(Input, { "aria-describedby": "showcase-email-error", "aria-invalid": "true", defaultValue: "amministrazione", id: "showcase-email-wrong", type: "email" }), _jsx(FieldError, { id: "showcase-email-error", children: "Enter a full address, like name@company.it." })] })] })),
|
|
51
|
-
|
|
52
|
-
Input: () => (_jsxs("div", { className: "grid max-w-sm gap-2", children: [_jsx(Label, { htmlFor: "showcase-company", children: "Company name" }), _jsx(Input, { autoComplete: "organization", id: "showcase-company", placeholder: "Bizeta Arredamenti" })] })),
|
|
93
|
+
Field: () => (_jsxs("div", { className: "grid max-w-sm gap-6", children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "showcase-email", id: "showcase-email-label", children: "Billing email" }), _jsx(FieldDescription, { children: "Invoices and receipts go here." }), _jsx(Input, { "aria-labelledby": "showcase-email-label", id: "showcase-email", placeholder: "amministrazione@acme.it", type: "email" })] }), _jsxs(Field, { "data-invalid": "true", children: [_jsx(FieldLabel, { htmlFor: "showcase-email-wrong", id: "showcase-email-wrong-label", children: "Billing email" }), _jsx(Input, { "aria-describedby": "showcase-email-error", "aria-invalid": "true", "aria-labelledby": "showcase-email-wrong-label", defaultValue: "amministrazione", id: "showcase-email-wrong", type: "email" }), _jsx(FieldError, { id: "showcase-email-error", children: "Enter a full address, like name@company.it." })] })] })),
|
|
94
|
+
Input: () => (_jsxs("div", { className: "grid max-w-sm gap-4", children: [_jsx(Input, { autoComplete: "organization", id: "showcase-company", label: "Company name", placeholder: "Bizeta Arredamenti" }), _jsx(Input, { "aria-label": "Website, small", defaultValue: "acme", prefix: "https://", size: "sm", suffix: ".com" }), _jsx(Input, { "aria-label": "Website", defaultValue: "acme", prefix: "https://", suffix: ".com" }), _jsx(Input, { error: "Enter a full address, like name@company.it.", id: "showcase-email-error", label: "Billing email", size: "lg", type: "email", defaultValue: "amministrazione", suffix: _jsx(AtSign, { "aria-hidden": "true" }) })] })),
|
|
53
95
|
InputGroup: InputGroupSpecimen,
|
|
54
96
|
InputOTP: InputOTPSpecimen,
|
|
55
97
|
Label: () => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { id: "showcase-approvals" }), _jsx(Label, { htmlFor: "showcase-approvals", children: "Approvals" })] })),
|
|
56
|
-
NativeSelect: () => (_jsxs("div", { className: "grid max-w-sm gap-
|
|
57
|
-
|
|
98
|
+
NativeSelect: () => (_jsxs("div", { className: "grid max-w-sm gap-4", children: [_jsxs(NativeSelect, { defaultValue: "Europe/Rome", id: "showcase-zone", label: "Time zone", children: [_jsx(NativeSelectOption, { value: "Europe/London", children: "London" }), _jsx(NativeSelectOption, { value: "Europe/Rome", children: "Rome" }), _jsx(NativeSelectOption, { value: "America/New_York", children: "New York" }), _jsx(NativeSelectOption, { value: "Asia/Tokyo", children: "Tokyo" })] }), _jsxs(NativeSelect, { "aria-label": "Time zone, large", defaultValue: "Europe/Rome", prefix: _jsx(Clock, { "aria-hidden": "true" }), size: "lg", children: [_jsx(NativeSelectOption, { value: "Europe/London", children: "London" }), _jsx(NativeSelectOption, { value: "Europe/Rome", children: "Rome" }), _jsx(NativeSelectOption, { value: "America/New_York", children: "New York" }), _jsx(NativeSelectOption, { value: "Asia/Tokyo", children: "Tokyo" })] })] })),
|
|
99
|
+
SettingsRows: SettingsRowsSpecimen,
|
|
100
|
+
SettingsField: () => (_jsx("div", { className: "max-w-md", children: _jsx(SettingsField, { id: "showcase-sender", label: "Sender name", children: ({ controlProps }) => _jsx(Input, { ...controlProps, defaultValue: "Acme Quotes" }) }) })),
|
|
58
101
|
Slider: SliderSpecimen,
|
|
59
|
-
Textarea: () => (_jsxs("div", { className: "grid max-w-md gap-
|
|
102
|
+
Textarea: () => (_jsxs("div", { className: "grid max-w-md gap-4", children: [_jsx(Textarea, { id: "showcase-instructions", label: "Instructions", placeholder: "Reply in Italian, and copy the sales team on every quote." }), _jsx(Textarea, { error: "Add at least one line the Agent can follow.", id: "showcase-notes", label: "Handover notes", size: "lg" })] })),
|
|
60
103
|
};
|
|
@@ -10,7 +10,6 @@ export declare const MENUS: {
|
|
|
10
10
|
Drawer: () => import("react").JSX.Element;
|
|
11
11
|
DropdownMenu: () => import("react").JSX.Element;
|
|
12
12
|
GlassControl: () => import("react").JSX.Element;
|
|
13
|
-
Menubar: () => import("react").JSX.Element;
|
|
14
13
|
MenuChoiceRow: typeof MenuRowsSpecimen;
|
|
15
14
|
Popover: () => import("react").JSX.Element;
|
|
16
15
|
Sheet: () => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menus.d.ts","sourceRoot":"","sources":["../../../src/showcase/specimens/menus.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menus.d.ts","sourceRoot":"","sources":["../../../src/showcase/specimens/menus.tsx"],"names":[],"mappings":"AAkHA,iBAAS,mBAAmB,gCA8B3B;AAED,iBAAS,gBAAgB,gCA0BxB;AAqDD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CA+MS,CAAC"}
|
|
@@ -1,25 +1,48 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Copy, Pencil, Settings2 } from "lucide-react";
|
|
3
|
+
import { ArrowRightLeft, ChevronDown, Copy, Pencil, Settings2, Trash2 } from "lucide-react";
|
|
4
4
|
import { useState } from "react";
|
|
5
5
|
import { AccountMenu } from "../../components/account-menu.js";
|
|
6
6
|
import { ActionContextMenu, ActionMenu } from "../../components/action-menu.js";
|
|
7
7
|
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "../../components/alert-dialog.js";
|
|
8
8
|
import { Button } from "../../components/button.js";
|
|
9
|
-
import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuTrigger, } from "../../components/context-menu.js";
|
|
10
|
-
import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "../../components/dialog.js";
|
|
11
|
-
import { Drawer, DrawerBody, DrawerContent, DrawerDescription, DrawerHeader, DrawerTitle, DrawerTrigger, } from "../../components/drawer.js";
|
|
12
|
-
import { DropdownMenu, DropdownMenuCommand, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuTrigger, } from "../../components/dropdown-menu.js";
|
|
9
|
+
import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuLink, ContextMenuTrigger, } from "../../components/context-menu.js";
|
|
10
|
+
import { Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "../../components/dialog.js";
|
|
11
|
+
import { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "../../components/drawer.js";
|
|
12
|
+
import { DropdownMenu, DropdownMenuCommand, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuLink, DropdownMenuSeparator, DropdownMenuTrigger, } from "../../components/dropdown-menu.js";
|
|
13
13
|
import { GlassControl } from "../../components/glass-control.js";
|
|
14
14
|
import { Input } from "../../components/input.js";
|
|
15
|
-
import {
|
|
16
|
-
import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger, } from "../../components/menubar.js";
|
|
15
|
+
import { Kbd } from "../../components/kbd.js";
|
|
17
16
|
import { MenuChoiceRow } from "../../components/menu-choice-row.js";
|
|
18
17
|
import { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, } from "../../components/popover.js";
|
|
19
|
-
import {
|
|
18
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../components/select.js";
|
|
19
|
+
import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, } from "../../components/sheet.js";
|
|
20
20
|
import { ThemeModeMenu } from "../../components/theme-mode-switcher.js";
|
|
21
21
|
import { nothing, RECORD_COMMANDS } from "../samples.js";
|
|
22
22
|
const THEME_LABELS = { light: "Light", dark: "Dark", system: "System" };
|
|
23
|
+
const REGIONS = [
|
|
24
|
+
{ value: "fra1", label: "Frankfurt" },
|
|
25
|
+
{ value: "mxp1", label: "Milan" },
|
|
26
|
+
{ value: "cdg1", label: "Paris" },
|
|
27
|
+
];
|
|
28
|
+
const LOCKED_RECORD_COMMANDS = [
|
|
29
|
+
{ label: "Rename mailbox", icon: _jsx(Pencil, {}), onClick: nothing },
|
|
30
|
+
{
|
|
31
|
+
label: "Transfer mailbox",
|
|
32
|
+
icon: _jsx(ArrowRightLeft, {}),
|
|
33
|
+
locked: true,
|
|
34
|
+
reason: "Only an owner can transfer a mailbox",
|
|
35
|
+
onClick: nothing,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
label: "Remove mailbox",
|
|
39
|
+
icon: _jsx(Trash2, {}),
|
|
40
|
+
destructive: true,
|
|
41
|
+
locked: true,
|
|
42
|
+
reason: "Only an owner can remove a mailbox",
|
|
43
|
+
onClick: nothing,
|
|
44
|
+
},
|
|
45
|
+
];
|
|
23
46
|
function AccountMenuSpecimen() {
|
|
24
47
|
const [theme, setTheme] = useState("system");
|
|
25
48
|
const [language, setLanguage] = useState("en");
|
|
@@ -31,7 +54,7 @@ function AccountMenuSpecimen() {
|
|
|
31
54
|
{ value: "it", label: "Italiano", content: "IT" },
|
|
32
55
|
],
|
|
33
56
|
value: language,
|
|
34
|
-
}, settings: { label: "
|
|
57
|
+
}, settings: { label: "Account settings", onClick: nothing }, side: "bottom", signOut: {
|
|
35
58
|
label: "Sign out",
|
|
36
59
|
pendingLabel: "Signing out",
|
|
37
60
|
pending: false,
|
|
@@ -41,24 +64,31 @@ function AccountMenuSpecimen() {
|
|
|
41
64
|
function MenuRowsSpecimen() {
|
|
42
65
|
const [theme, setTheme] = useState("system");
|
|
43
66
|
const [density, setDensity] = useState("comfortable");
|
|
44
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { render: _jsx(Button, { variant: "outline", children: "Preferences" }) }), _jsxs(DropdownMenuContent, { align: "start", children: [_jsx(ThemeModeMenu, { label: "Theme", labels: THEME_LABELS, onValueChange: setTheme, value: theme }), _jsx(MenuChoiceRow, { label: "Density", onValueChange: setDensity, options: [
|
|
67
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { render: _jsx(Button, { suffix: _jsx(ChevronDown, {}), variant: "outline", children: "Preferences" }) }), _jsxs(DropdownMenuContent, { align: "start", children: [_jsx(ThemeModeMenu, { label: "Theme", labels: THEME_LABELS, onValueChange: setTheme, value: theme }), _jsx(MenuChoiceRow, { label: "Density", onValueChange: setDensity, options: [
|
|
45
68
|
{ value: "comfortable", label: "Comfortable", content: "Aa" },
|
|
46
69
|
{ value: "compact", label: "Compact", content: "aa" },
|
|
47
70
|
], value: density })] })] }));
|
|
48
71
|
}
|
|
72
|
+
function CreateDatabaseDialog() {
|
|
73
|
+
const [region, setRegion] = useState("fra1");
|
|
74
|
+
const regionLabel = REGIONS.find((option) => option.value === region)?.label;
|
|
75
|
+
return (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", children: "Create database" }) }), _jsxs(DialogContent, { closeLabel: "Close", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Create database" }), _jsx(DialogDescription, { children: "The region cannot be changed once it exists." })] }), _jsx(DialogBody, { children: _jsx("div", { className: "grid gap-2", children: _jsxs(Select, { onValueChange: (next) => setRegion(next ?? "fra1"), value: region, children: [_jsx(SelectTrigger, { id: "showcase-database-region", label: "Region", children: _jsx(SelectValue, { children: regionLabel }) }), _jsx(SelectContent, { children: REGIONS.map((option) => (_jsx(SelectItem, { value: option.value, children: option.label }, option.value))) })] }) }) }), _jsxs(DialogFooter, { children: [_jsx(DialogClose, { render: _jsx(Button, { variant: "outline", children: "Cancel" }) }), _jsx(Button, { children: "Create database" })] })] })] }));
|
|
76
|
+
}
|
|
77
|
+
function RossiOtticaSheet() {
|
|
78
|
+
return (_jsxs(SheetContent, { closeLabel: "Close", children: [_jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: "Rossi Ottica" }), _jsx(SheetDescription, { children: "Partner since March 2026, 4 customers." })] }), _jsxs(SheetFooter, { children: [_jsx(SheetClose, { render: _jsx(Button, { variant: "outline", children: "Close" }) }), _jsx(Button, { children: "Open Rossi Ottica" })] })] }));
|
|
79
|
+
}
|
|
49
80
|
export const MENUS = {
|
|
50
81
|
AccountMenu: AccountMenuSpecimen,
|
|
51
82
|
ActionContextMenu: () => (_jsx(ActionContextMenu, { commands: RECORD_COMMANDS, label: "More for pec@acme.it", record: "pec@acme.it", children: _jsx("div", { className: "max-w-sm rounded-md border border-dashed border-border p-6 text-sm text-muted-foreground", children: "Right-click pec@acme.it" }) })),
|
|
52
|
-
ActionMenu: () => (_jsxs("div", { className: "flex items-center gap-2
|
|
83
|
+
ActionMenu: () => (_jsxs("div", { className: "grid gap-2 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2", children: ["pec@acme.it", _jsx(ActionMenu, { commands: RECORD_COMMANDS, label: "More for pec@acme.it", record: "pec@acme.it" })] }), _jsxs("div", { className: "flex items-center gap-2", children: ["fatture@acme.it", _jsx(ActionMenu, { commands: LOCKED_RECORD_COMMANDS, label: "More for fatture@acme.it", record: "fatture@acme.it" })] })] })),
|
|
53
84
|
AlertDialog: () => (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { render: _jsx(Button, { variant: "outline", children: "Remove mailbox" }) }), _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: "Remove pec@acme.it" }), _jsx(AlertDialogDescription, { children: "Agents stop reading and sending from this address." })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Cancel" }), _jsx(AlertDialogAction, { variant: "destructive", children: "Remove mailbox" })] })] })] })),
|
|
54
|
-
ContextMenu: () => (_jsxs(ContextMenu, { children: [_jsx(ContextMenuTrigger, { className: "block max-w-sm rounded-md border border-dashed border-border p-6 text-sm text-muted-foreground", children: "Right-click the canvas" }), _jsxs(ContextMenuContent, { children: [_jsx(ContextMenuItem, { children: "Paste" }), _jsx(ContextMenuItem, { children: "Select all" })] })] })),
|
|
55
|
-
Dialog: () => (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", children: "Add MCP server" }) }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Add MCP server" }), _jsx(DialogDescription, { children: "Agents can call its tools once it is added." })] }),
|
|
56
|
-
Drawer: () => (_jsxs(Drawer, { children: [_jsx(DrawerTrigger, { render: _jsx(Button, { variant: "outline", children: "Connect Telegram" }) }), _jsxs(DrawerContent, { children: [_jsxs(DrawerHeader, { children: [_jsx(DrawerTitle, { children: "Connect Telegram" }), _jsx(DrawerDescription, { children: "Step 1 of 2: open the bot on your phone." })] }), _jsx(DrawerBody, { className: "text-sm text-muted-foreground", children: "Scan the code with Telegram, then come back here." })] })] })),
|
|
57
|
-
DropdownMenu: () => (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { render: _jsx(Button, { variant: "outline", children: "Actions" }) }),
|
|
85
|
+
ContextMenu: () => (_jsxs(ContextMenu, { children: [_jsx(ContextMenuTrigger, { className: "block max-w-sm rounded-md border border-dashed border-border p-6 text-sm text-muted-foreground", children: "Right-click the canvas" }), _jsxs(ContextMenuContent, { "aria-label": "Canvas", children: [_jsx(ContextMenuItem, { children: "Paste" }), _jsx(ContextMenuItem, { children: "Select all" }), _jsx(ContextMenuLink, { href: "#canvas-guide", children: "Open canvas guide" })] })] })),
|
|
86
|
+
Dialog: () => (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", children: "Add MCP server" }) }), _jsxs(DialogContent, { closeLabel: "Close", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Add MCP server" }), _jsx(DialogDescription, { children: "Agents can call its tools once it is added." })] }), _jsx(DialogBody, { children: _jsx(Input, { id: "showcase-mcp-url", label: "Address", placeholder: "https://mcp.acme.it", type: "url" }) }), _jsxs(DialogFooter, { children: [_jsx(DialogClose, { render: _jsx(Button, { variant: "outline", children: "Cancel" }) }), _jsx(Button, { children: "Add server" })] })] })] }), _jsx(CreateDatabaseDialog, {}), _jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", children: "Connect mailbox" }) }), _jsxs(DialogContent, { closeLabel: "Close", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "pec@acme.it is connected" }), _jsx(DialogDescription, { children: "Agents can read and send from this address." })] }), _jsx(DialogFooter, { children: _jsx(DialogClose, { render: _jsx(Button, { children: "Done" }) }) })] })] })] })),
|
|
87
|
+
Drawer: () => (_jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [_jsxs(Drawer, { height: 320, children: [_jsx(DrawerTrigger, { render: _jsx(Button, { variant: "outline", children: "Connect Telegram" }) }), _jsxs(DrawerContent, { children: [_jsxs(DrawerHeader, { children: [_jsx(DrawerTitle, { children: "Connect Telegram" }), _jsx(DrawerDescription, { children: "Step 1 of 2: open the bot on your phone." })] }), _jsx(DrawerBody, { className: "text-sm text-muted-foreground", children: "Scan the code with Telegram, then come back here." }), _jsxs(DrawerFooter, { children: [_jsx(Button, { children: "Continue" }), _jsx(DrawerClose, { render: _jsx(Button, { variant: "outline", children: "Cancel" }) })] })] })] }), _jsx("span", { className: "text-sm text-muted-foreground", children: "Phone only: it rises from the bottom edge." })] })),
|
|
88
|
+
DropdownMenu: () => (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { render: _jsx(Button, { suffix: _jsx(ChevronDown, {}), variant: "outline", children: "Actions" }) }), _jsxs(DropdownMenuContent, { align: "start", children: [_jsxs(DropdownMenuGroup, { children: [_jsx(DropdownMenuLabel, { children: "pec@acme.it" }), _jsx(DropdownMenuCommand, { icon: _jsx(Pencil, {}), children: "Rename mailbox" }), _jsx(DropdownMenuCommand, { icon: _jsx(Copy, {}), suffix: _jsx(Kbd, { meta: true, size: "sm", children: "C" }), children: "Copy address" }), _jsx(DropdownMenuCommand, { disabledReason: "Connect the mailbox first", icon: _jsx(Copy, {}), children: "Copy password" })] }), _jsx(DropdownMenuSeparator, {}), _jsx(DropdownMenuCommand, { icon: _jsx(Trash2, {}), variant: "destructive", children: "Remove mailbox" })] })] }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { render: _jsx(Button, { suffix: _jsx(ChevronDown, {}), variant: "outline", children: "Manage" }) }), _jsx(DropdownMenuContent, { align: "start", children: _jsxs(DropdownMenuGroup, { children: [_jsx(DropdownMenuLabel, { children: "Rossi Ottica" }), _jsx(DropdownMenuLink, { href: "#billing", children: "Open billing" }), _jsx(DropdownMenuCommand, { icon: _jsx(ArrowRightLeft, {}), locked: true, reason: "Only an owner can transfer a mailbox", children: "Transfer mailbox" })] }) })] })] })),
|
|
58
89
|
GlassControl: () => (_jsxs(GlassControl, { className: "flex w-fit items-center gap-2 p-2", children: [_jsx(Button, { variant: "ghost", children: "Day" }), _jsx(Button, { variant: "ghost", children: "Week" }), _jsx(Button, { variant: "ghost", children: "Month" })] })),
|
|
59
|
-
Menubar: () => (_jsxs(Menubar, { children: [_jsxs(MenubarMenu, { children: [_jsx(MenubarTrigger, { children: "File" }), _jsxs(MenubarContent, { children: [_jsx(MenubarItem, { children: "New chat" }), _jsx(MenubarItem, { children: "Export chat" })] })] }), _jsxs(MenubarMenu, { children: [_jsx(MenubarTrigger, { children: "Edit" }), _jsx(MenubarContent, { children: _jsx(MenubarItem, { children: "Copy message" }) })] })] })),
|
|
60
90
|
MenuChoiceRow: MenuRowsSpecimen,
|
|
61
91
|
Popover: () => (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { render: _jsx(Button, { variant: "outline", children: "Filter" }) }), _jsx(PopoverContent, { align: "start", children: _jsxs(PopoverHeader, { children: [_jsx(PopoverTitle, { children: "Filter skills" }), _jsx(PopoverDescription, { children: "Show the skills every Agent has." })] }) })] })),
|
|
62
|
-
Sheet: () => (_jsxs(Sheet, { children: [_jsx(SheetTrigger, { render: _jsx(Button, { variant: "outline", children: "Inspect Rossi Ottica" }) }), _jsx(
|
|
92
|
+
Sheet: () => (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Sheet, { children: [_jsx(SheetTrigger, { render: _jsx(Button, { variant: "outline", children: "Inspect Rossi Ottica" }) }), _jsx(RossiOtticaSheet, {})] }), _jsxs(Sheet, { modal: true, children: [_jsx(SheetTrigger, { render: _jsx(Button, { variant: "outline", children: "Inspect Rossi Ottica, page dimmed" }) }), _jsx(RossiOtticaSheet, {})] })] })),
|
|
63
93
|
ThemeModeMenu: MenuRowsSpecimen,
|
|
64
94
|
};
|