tembro 2.0.5 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/calendar/calendar.cjs +1 -1
- package/dist/components/calendar/calendar.d.ts +2 -1
- package/dist/components/calendar/calendar.js +126 -122
- package/dist/components/calendar/date-range-picker.cjs +1 -1
- package/dist/components/calendar/date-range-picker.d.ts +2 -1
- package/dist/components/calendar/date-range-picker.js +39 -39
- package/dist/components/charts/charts.cjs +1 -1
- package/dist/components/charts/charts.d.ts +13 -4
- package/dist/components/charts/charts.js +76 -46
- package/dist/components/charts/progress-ring.cjs +1 -1
- package/dist/components/charts/progress-ring.d.ts +3 -1
- package/dist/components/charts/progress-ring.js +11 -10
- package/dist/components/data-table/data-table-column-visibility-menu.cjs +1 -1
- package/dist/components/data-table/data-table-column-visibility-menu.d.ts +4 -1
- package/dist/components/data-table/data-table-column-visibility-menu.js +36 -8
- package/dist/components/data-table/data-table-pagination.cjs +1 -1
- package/dist/components/data-table/data-table-pagination.js +4 -4
- package/dist/components/data-table/data-table-toolbar.cjs +1 -1
- package/dist/components/data-table/data-table-toolbar.js +12 -13
- package/dist/components/data-table/data-table.cjs +1 -1
- package/dist/components/data-table/data-table.d.ts +2 -2
- package/dist/components/data-table/data-table.js +2 -1
- package/dist/components/display/carousel.cjs +1 -1
- package/dist/components/display/carousel.d.ts +15 -1
- package/dist/components/display/carousel.js +128 -86
- package/dist/components/display/code-block.cjs +2 -2
- package/dist/components/display/code-block.d.ts +2 -1
- package/dist/components/display/code-block.js +17 -12
- package/dist/components/display/delta-badge.cjs +1 -1
- package/dist/components/display/delta-badge.d.ts +2 -1
- package/dist/components/display/delta-badge.js +11 -7
- package/dist/components/display/kanban.cjs +1 -1
- package/dist/components/display/kanban.d.ts +4 -1
- package/dist/components/display/kanban.js +60 -33
- package/dist/components/display/metric-grid.cjs +1 -1
- package/dist/components/display/metric-grid.d.ts +1 -0
- package/dist/components/display/metric-grid.js +1 -1
- package/dist/components/display/qr-code.cjs +1 -1
- package/dist/components/display/qr-code.d.ts +2 -1
- package/dist/components/display/qr-code.js +19 -16
- package/dist/components/display/smart-card.d.ts +1 -1
- package/dist/components/display/status-legend.d.ts +1 -1
- package/dist/components/display/tag.cjs +1 -1
- package/dist/components/display/tag.d.ts +2 -1
- package/dist/components/display/tag.js +28 -22
- package/dist/components/display/tree-view.cjs +1 -1
- package/dist/components/display/tree-view.d.ts +9 -1
- package/dist/components/display/tree-view.js +104 -40
- package/dist/components/display/trend-card.cjs +1 -1
- package/dist/components/display/trend-card.js +27 -41
- package/dist/components/feedback/alert.cjs +1 -1
- package/dist/components/feedback/alert.d.ts +2 -1
- package/dist/components/feedback/alert.js +6 -6
- package/dist/components/feedback/loading-state.cjs +1 -1
- package/dist/components/feedback/loading-state.d.ts +3 -1
- package/dist/components/feedback/loading-state.js +23 -10
- package/dist/components/feedback/page-state.cjs +1 -1
- package/dist/components/feedback/page-state.d.ts +2 -1
- package/dist/components/feedback/page-state.js +7 -4
- package/dist/components/form/form-field-shell.cjs +1 -1
- package/dist/components/form/form-field-shell.d.ts +4 -2
- package/dist/components/form/form-field-shell.js +57 -41
- package/dist/components/form/form-input.cjs +1 -1
- package/dist/components/form/form-input.d.ts +3 -4
- package/dist/components/form/form-input.js +259 -257
- package/dist/components/form/form-select.cjs +1 -1
- package/dist/components/form/form-select.d.ts +2 -2
- package/dist/components/form/form-select.js +8 -6
- package/dist/components/form/form-switch.cjs +1 -1
- package/dist/components/form/form-switch.d.ts +1 -1
- package/dist/components/form/form-switch.js +58 -54
- package/dist/components/form/form-textarea.cjs +1 -1
- package/dist/components/form/form-textarea.d.ts +1 -1
- package/dist/components/form/form-textarea.js +29 -27
- package/dist/components/inputs/async-select.d.ts +3 -0
- package/dist/components/inputs/search-input.d.ts +3 -0
- package/dist/components/inputs/simple-select.cjs +1 -1
- package/dist/components/inputs/simple-select.d.ts +10 -32
- package/dist/components/inputs/simple-select.js +5 -101
- package/dist/components/layout/app-sidebar.cjs +1 -1
- package/dist/components/layout/app-sidebar.d.ts +1 -0
- package/dist/components/layout/app-sidebar.js +36 -36
- package/dist/components/layout/breadcrumbs.cjs +1 -1
- package/dist/components/layout/breadcrumbs.d.ts +2 -1
- package/dist/components/layout/breadcrumbs.js +7 -7
- package/dist/components/modern/calendar-scheduler.cjs +1 -1
- package/dist/components/modern/calendar-scheduler.d.ts +5 -1
- package/dist/components/modern/calendar-scheduler.js +47 -28
- package/dist/components/modern/dual-list-picker.cjs +1 -1
- package/dist/components/modern/dual-list-picker.d.ts +5 -1
- package/dist/components/modern/dual-list-picker.js +81 -23
- package/dist/components/modern/rich-text-editor.cjs +1 -1
- package/dist/components/modern/rich-text-editor.d.ts +3 -1
- package/dist/components/modern/rich-text-editor.js +12 -9
- package/dist/components/modern/tour.cjs +1 -1
- package/dist/components/modern/tour.d.ts +5 -1
- package/dist/components/modern/tour.js +57 -35
- package/dist/components/navigation/command-bar.cjs +1 -1
- package/dist/components/navigation/command-bar.d.ts +3 -1
- package/dist/components/navigation/command-bar.js +10 -7
- package/dist/components/navigation/demo.cjs +1 -1
- package/dist/components/navigation/demo.js +0 -1
- package/dist/components/navigation/nav-tabs.cjs +1 -1
- package/dist/components/navigation/nav-tabs.js +39 -27
- package/dist/components/navigation/page-tabs.cjs +1 -1
- package/dist/components/navigation/page-tabs.js +41 -30
- package/dist/components/navigation/pagination.cjs +1 -1
- package/dist/components/navigation/pagination.d.ts +7 -1
- package/dist/components/navigation/pagination.js +48 -25
- package/dist/components/notifications/notification-center.cjs +1 -1
- package/dist/components/notifications/notification-center.d.ts +3 -1
- package/dist/components/notifications/notification-center.js +56 -38
- package/dist/components/notifications/toast.cjs +1 -1
- package/dist/components/notifications/toast.d.ts +1 -0
- package/dist/components/notifications/toast.js +4 -0
- package/dist/components/overlay/alert-dialog.cjs +1 -1
- package/dist/components/overlay/alert-dialog.js +1 -1
- package/dist/components/overlay/confirm-dialog.cjs +1 -1
- package/dist/components/overlay/confirm-dialog.d.ts +4 -2
- package/dist/components/overlay/confirm-dialog.js +31 -22
- package/dist/components/overlay/drawer.cjs +1 -1
- package/dist/components/overlay/drawer.d.ts +3 -1
- package/dist/components/overlay/drawer.js +24 -16
- package/dist/components/ui/accordion/index.d.ts +4 -0
- package/dist/components/ui/badge/index.cjs +1 -1
- package/dist/components/ui/badge/index.d.ts +1 -1
- package/dist/components/ui/badge/index.js +2 -1
- package/dist/components/ui/button/index.cjs +1 -1
- package/dist/components/ui/button/index.d.ts +2 -1
- package/dist/components/ui/button/index.js +13 -10
- package/dist/components/ui/card/index.cjs +1 -1
- package/dist/components/ui/card/index.d.ts +13 -2
- package/dist/components/ui/card/index.js +74 -49
- package/dist/components/ui/dialog/index.cjs +1 -1
- package/dist/components/ui/dialog/index.js +2 -1
- package/dist/components/ui/hover-card.cjs +1 -1
- package/dist/components/ui/hover-card.d.ts +11 -3
- package/dist/components/ui/hover-card.js +29 -24
- package/dist/components/ui/input/index.cjs +1 -1
- package/dist/components/ui/input/index.d.ts +9 -1
- package/dist/components/ui/input/index.js +63 -30
- package/dist/components/ui/popover/index.cjs +1 -1
- package/dist/components/ui/popover/index.d.ts +2 -2
- package/dist/components/ui/popover/index.js +6 -5
- package/dist/components/ui/radio-group/index.cjs +1 -1
- package/dist/components/ui/radio-group/index.d.ts +5 -1
- package/dist/components/ui/radio-group/index.js +50 -16
- package/dist/components/ui/right-click-menu/index.cjs +1 -1
- package/dist/components/ui/right-click-menu/index.d.ts +5 -1
- package/dist/components/ui/right-click-menu/index.js +77 -23
- package/dist/components/ui/segmented-control/index.cjs +1 -1
- package/dist/components/ui/segmented-control/index.d.ts +2 -1
- package/dist/components/ui/segmented-control/index.js +23 -11
- package/dist/components/ui/select/index.cjs +1 -1
- package/dist/components/ui/select/index.d.ts +40 -1
- package/dist/components/ui/select/index.js +159 -48
- package/dist/components/ui/switch/index.cjs +1 -1
- package/dist/components/ui/switch/index.d.ts +18 -0
- package/dist/components/ui/switch/index.js +47 -17
- package/dist/components/ui/tabs/index.cjs +1 -1
- package/dist/components/ui/tabs/index.d.ts +14 -4
- package/dist/components/ui/tabs/index.js +11 -8
- package/dist/components/ui/textarea/index.cjs +1 -1
- package/dist/components/ui/textarea/index.d.ts +10 -2
- package/dist/components/ui/textarea/index.js +37 -8
- package/dist/components/ui/textarea.cjs +1 -0
- package/dist/components/ui/textarea.d.ts +1 -0
- package/dist/components/ui/textarea.js +2 -0
- package/dist/components/ui/tooltip/index.cjs +1 -1
- package/dist/components/ui/tooltip/index.d.ts +11 -3
- package/dist/components/ui/tooltip/index.js +41 -20
- package/dist/components/upload/file-upload.cjs +1 -1
- package/dist/components/upload/file-upload.d.ts +8 -1
- package/dist/components/upload/file-upload.js +132 -100
- package/dist/components/upload/image-upload.cjs +1 -1
- package/dist/components/upload/image-upload.d.ts +5 -1
- package/dist/components/upload/image-upload.js +34 -9
- package/dist/index.cjs +1 -1
- package/dist/index.js +31 -31
- package/dist/public-component-surface.cjs +1 -1
- package/dist/public-component-surface.js +15 -0
- package/dist/showcase/component-api-schema.cjs +1 -1
- package/dist/showcase/component-api-schema.js +187 -10
- package/dist/showcase/create-demo.cjs +5 -4
- package/dist/showcase/create-demo.js +2 -2
- package/dist/showcase/fallback.cjs +3 -3
- package/dist/showcase/fallback.js +221 -243
- package/dist/showcase/premium/alert/showcase.cjs +1 -1
- package/dist/showcase/premium/alert/showcase.js +1 -0
- package/dist/showcase/premium/app-sidebar/showcase.cjs +1 -1
- package/dist/showcase/premium/app-sidebar/showcase.js +1 -0
- package/dist/showcase/premium/badge/showcase.cjs +1 -1
- package/dist/showcase/premium/badge/showcase.js +7 -0
- package/dist/showcase/premium/badge/types.d.ts +1 -1
- package/dist/showcase/premium/breadcrumbs/showcase.cjs +1 -1
- package/dist/showcase/premium/breadcrumbs/showcase.js +12 -1
- package/dist/showcase/premium/button/mock.cjs +1 -4
- package/dist/showcase/premium/button/mock.js +1 -1
- package/dist/showcase/premium/button/showcase.cjs +1 -1
- package/dist/showcase/premium/button/showcase.js +2 -2
- package/dist/showcase/premium/card/showcase.cjs +1 -1
- package/dist/showcase/premium/card/showcase.js +96 -47
- package/dist/showcase/premium/carousel/showcase.cjs +1 -1
- package/dist/showcase/premium/carousel/showcase.js +76 -49
- package/dist/showcase/premium/command-bar/showcase.cjs +1 -1
- package/dist/showcase/premium/command-bar/showcase.js +2 -0
- package/dist/showcase/premium/data-table/mock.cjs +12 -11
- package/dist/showcase/premium/data-table/mock.js +1 -1
- package/dist/showcase/premium/data-table/showcase.cjs +1 -1
- package/dist/showcase/premium/data-table/showcase.js +1 -1
- package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
- package/dist/showcase/premium/data-table-parts/showcase.js +3 -1
- package/dist/showcase/premium/file-upload/showcase.cjs +1 -1
- package/dist/showcase/premium/file-upload/showcase.js +25 -4
- package/dist/showcase/premium/image-upload/showcase.cjs +1 -1
- package/dist/showcase/premium/image-upload/showcase.js +4 -1
- package/dist/showcase/premium/index.cjs +1 -1
- package/dist/showcase/premium/index.js +396 -402
- package/dist/showcase/premium/loading-state/showcase.cjs +1 -1
- package/dist/showcase/premium/loading-state/showcase.js +3 -1
- package/dist/showcase/premium/metric-grid/showcase.cjs +1 -1
- package/dist/showcase/premium/metric-grid/showcase.js +96 -28
- package/dist/showcase/premium/notification-center/showcase.cjs +1 -1
- package/dist/showcase/premium/notification-center/showcase.js +7 -3
- package/dist/showcase/premium/page-state/showcase.cjs +1 -1
- package/dist/showcase/premium/page-state/showcase.js +5 -1
- package/dist/showcase/premium/pagination/showcase.cjs +1 -1
- package/dist/showcase/premium/pagination/showcase.js +15 -2
- package/dist/showcase/premium/popover/showcase.cjs +1 -1
- package/dist/showcase/premium/popover/showcase.js +85 -50
- package/dist/showcase/premium/radio-group/showcase.cjs +1 -1
- package/dist/showcase/premium/radio-group/showcase.js +27 -4
- package/dist/showcase/premium/right-click-menu/showcase.cjs +1 -1
- package/dist/showcase/premium/right-click-menu/showcase.js +56 -43
- package/dist/showcase/premium/segmented-control/showcase.cjs +1 -1
- package/dist/showcase/premium/segmented-control/showcase.js +1 -0
- package/dist/showcase/premium/select/data.cjs +1 -1
- package/dist/showcase/premium/select/data.js +69 -34
- package/dist/showcase/premium/select/mock.cjs +20 -8
- package/dist/showcase/premium/select/mock.js +3 -2
- package/dist/showcase/premium/select/showcase.cjs +1 -1
- package/dist/showcase/premium/select/showcase.js +101 -86
- package/dist/showcase/premium/select/types.d.ts +3 -0
- package/dist/showcase/premium/statistic/showcase.cjs +1 -1
- package/dist/showcase/premium/statistic/showcase.js +57 -25
- package/dist/showcase/premium/switch/showcase.cjs +1 -1
- package/dist/showcase/premium/switch/showcase.js +25 -14
- package/dist/showcase/premium/tabs/showcase.cjs +1 -1
- package/dist/showcase/premium/tabs/showcase.js +171 -48
- package/dist/showcase/premium/textarea/mock.cjs +12 -4
- package/dist/showcase/premium/textarea/mock.js +1 -1
- package/dist/showcase/premium/textarea/showcase.cjs +1 -1
- package/dist/showcase/premium/textarea/showcase.js +8 -3
- package/dist/showcase/premium/toast/showcase.cjs +1 -1
- package/dist/showcase/premium/toast/showcase.js +32 -6
- package/dist/showcase/premium/types.d.ts +1 -1
- package/dist/showcase/registry-quality.cjs +1 -1
- package/dist/showcase/registry-quality.js +1 -0
- package/dist/showcase/registry-specific.cjs +1 -1
- package/dist/showcase/registry-specific.js +78 -74
- package/dist/showcase/render-registry-preview.cjs +1 -1
- package/dist/showcase/render-registry-preview.js +90 -108
- package/dist/showcase/site-data.cjs +1 -1
- package/dist/showcase/site-data.js +60 -21
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +34 -20
- package/dist/showcase/types.d.ts +1 -1
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +31 -31
- package/packages/cli/vendor/src/components/calendar/calendar.tsx +59 -50
- package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +7 -4
- package/packages/cli/vendor/src/components/charts/charts.tsx +109 -66
- package/packages/cli/vendor/src/components/charts/progress-ring.tsx +37 -26
- package/packages/cli/vendor/src/components/data-table/data-table-column-visibility-menu.tsx +41 -22
- package/packages/cli/vendor/src/components/data-table/data-table-pagination.tsx +7 -7
- package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +8 -6
- package/packages/cli/vendor/src/components/data-table/data-table.tsx +21 -20
- package/packages/cli/vendor/src/components/display/carousel.tsx +102 -9
- package/packages/cli/vendor/src/components/display/code-block.tsx +22 -2
- package/packages/cli/vendor/src/components/display/delta-badge.tsx +11 -11
- package/packages/cli/vendor/src/components/display/kanban.tsx +103 -57
- package/packages/cli/vendor/src/components/display/metric-grid.tsx +16 -13
- package/packages/cli/vendor/src/components/display/qr-code.tsx +17 -15
- package/packages/cli/vendor/src/components/display/smart-card.tsx +1 -1
- package/packages/cli/vendor/src/components/display/status-legend.tsx +1 -1
- package/packages/cli/vendor/src/components/display/tag.tsx +39 -21
- package/packages/cli/vendor/src/components/display/tree-view.tsx +221 -84
- package/packages/cli/vendor/src/components/display/trend-card.tsx +6 -40
- package/packages/cli/vendor/src/components/feedback/alert.tsx +3 -1
- package/packages/cli/vendor/src/components/feedback/loading-state.tsx +33 -17
- package/packages/cli/vendor/src/components/feedback/page-state.tsx +8 -7
- package/packages/cli/vendor/src/components/form/form-field-shell.tsx +37 -8
- package/packages/cli/vendor/src/components/form/form-input.tsx +11 -12
- package/packages/cli/vendor/src/components/form/form-select.tsx +6 -4
- package/packages/cli/vendor/src/components/form/form-switch.tsx +9 -3
- package/packages/cli/vendor/src/components/form/form-textarea.tsx +6 -2
- package/packages/cli/vendor/src/components/inputs/async-select.tsx +11 -8
- package/packages/cli/vendor/src/components/inputs/search-input.tsx +5 -2
- package/packages/cli/vendor/src/components/inputs/simple-select.tsx +20 -190
- package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +3 -1
- package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +3 -1
- package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +28 -13
- package/packages/cli/vendor/src/components/modern/dual-list-picker.tsx +103 -35
- package/packages/cli/vendor/src/components/modern/rich-text-editor.tsx +25 -22
- package/packages/cli/vendor/src/components/modern/tour.tsx +47 -29
- package/packages/cli/vendor/src/components/navigation/command-bar.tsx +6 -0
- package/packages/cli/vendor/src/components/navigation/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/navigation/nav-tabs.tsx +38 -29
- package/packages/cli/vendor/src/components/navigation/page-tabs.tsx +35 -23
- package/packages/cli/vendor/src/components/navigation/pagination.tsx +65 -31
- package/packages/cli/vendor/src/components/notifications/notification-center.tsx +64 -39
- package/packages/cli/vendor/src/components/notifications/toast.tsx +23 -21
- package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +1 -1
- package/packages/cli/vendor/src/components/overlay/confirm-dialog.tsx +45 -22
- package/packages/cli/vendor/src/components/overlay/drawer.tsx +18 -5
- package/packages/cli/vendor/src/components/ui/accordion/index.tsx +4 -0
- package/packages/cli/vendor/src/components/ui/badge/index.tsx +2 -1
- package/packages/cli/vendor/src/components/ui/button/index.tsx +11 -5
- package/packages/cli/vendor/src/components/ui/card/index.tsx +95 -25
- package/packages/cli/vendor/src/components/ui/dialog/index.tsx +2 -1
- package/packages/cli/vendor/src/components/ui/hover-card.tsx +54 -28
- package/packages/cli/vendor/src/components/ui/input/index.tsx +98 -0
- package/packages/cli/vendor/src/components/ui/popover/index.tsx +10 -8
- package/packages/cli/vendor/src/components/ui/radio-group/index.tsx +55 -6
- package/packages/cli/vendor/src/components/ui/right-click-menu/index.tsx +120 -9
- package/packages/cli/vendor/src/components/ui/segmented-control/index.tsx +29 -3
- package/packages/cli/vendor/src/components/ui/select/index.tsx +260 -34
- package/packages/cli/vendor/src/components/ui/switch/index.tsx +71 -6
- package/packages/cli/vendor/src/components/ui/tabs/index.tsx +22 -6
- package/packages/cli/vendor/src/components/ui/textarea/index.tsx +105 -15
- package/packages/cli/vendor/src/components/ui/textarea.tsx +2 -0
- package/packages/cli/vendor/src/components/ui/tooltip/index.tsx +67 -22
- package/packages/cli/vendor/src/components/upload/file-upload.tsx +120 -57
- package/packages/cli/vendor/src/components/upload/image-upload.tsx +71 -24
- package/packages/cli/vendor/src/public-component-surface.ts +3 -0
- package/packages/cli/vendor/src/showcase/component-api-schema.ts +79 -41
- package/packages/cli/vendor/src/showcase/create-demo.tsx +16 -15
- package/packages/cli/vendor/src/showcase/fallback.tsx +4 -19
- package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/app-sidebar/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/badge/showcase.tsx +4 -2
- package/packages/cli/vendor/src/showcase/premium/badge/types.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/breadcrumbs/showcase.tsx +3 -1
- package/packages/cli/vendor/src/showcase/premium/button/mock.ts +2 -5
- package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +2 -2
- package/packages/cli/vendor/src/showcase/premium/card/showcase.tsx +26 -1
- package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +19 -3
- package/packages/cli/vendor/src/showcase/premium/command-bar/showcase.tsx +1 -1
- package/packages/cli/vendor/src/showcase/premium/data-table/mock.ts +26 -25
- package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +3 -3
- package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +3 -3
- package/packages/cli/vendor/src/showcase/premium/file-upload/showcase.tsx +21 -1
- package/packages/cli/vendor/src/showcase/premium/image-upload/showcase.tsx +4 -1
- package/packages/cli/vendor/src/showcase/premium/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/loading-state/showcase.tsx +1 -1
- package/packages/cli/vendor/src/showcase/premium/metric-grid/showcase.tsx +36 -4
- package/packages/cli/vendor/src/showcase/premium/notification-center/showcase.tsx +4 -3
- package/packages/cli/vendor/src/showcase/premium/page-state/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/pagination/showcase.tsx +13 -1
- package/packages/cli/vendor/src/showcase/premium/popover/showcase.tsx +27 -11
- package/packages/cli/vendor/src/showcase/premium/radio-group/showcase.tsx +13 -1
- package/packages/cli/vendor/src/showcase/premium/right-click-menu/showcase.tsx +8 -5
- package/packages/cli/vendor/src/showcase/premium/segmented-control/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/select/data.ts +12 -3
- package/packages/cli/vendor/src/showcase/premium/select/mock.ts +4 -4
- package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +35 -22
- package/packages/cli/vendor/src/showcase/premium/select/types.ts +3 -0
- package/packages/cli/vendor/src/showcase/premium/statistic/showcase.tsx +10 -1
- package/packages/cli/vendor/src/showcase/premium/switch/showcase.tsx +15 -6
- package/packages/cli/vendor/src/showcase/premium/tabs/showcase.tsx +48 -1
- package/packages/cli/vendor/src/showcase/premium/textarea/mock.ts +12 -4
- package/packages/cli/vendor/src/showcase/premium/textarea/showcase.tsx +5 -0
- package/packages/cli/vendor/src/showcase/premium/toast/showcase.tsx +17 -1
- package/packages/cli/vendor/src/showcase/premium/types.ts +1 -1
- package/packages/cli/vendor/src/showcase/registry-quality.ts +3 -2
- package/packages/cli/vendor/src/showcase/registry-specific.tsx +7 -8
- package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +5 -21
- package/packages/cli/vendor/src/showcase/site-data.tsx +21 -15
- package/packages/cli/vendor/src/showcase/tembro-registry.json +42 -20
- package/packages/cli/vendor/src/showcase/types.ts +1 -1
- package/registry.json +18 -6
|
@@ -1,80 +1,81 @@
|
|
|
1
1
|
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
2
|
import { Tabs as t, TabsContent as n, TabsList as r, TabsTrigger as i } from "../../../components/ui/tabs/index.js";
|
|
3
3
|
import { tabsDemoPanels as a } from "./data.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ActivityIcon as o, BellIcon as s, FileTextIcon as c, SettingsIcon as l, ShieldIcon as u, UsersIcon as d } from "lucide-react";
|
|
5
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
5
6
|
//#region src/showcase/premium/tabs/showcase.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
let
|
|
9
|
-
return /* @__PURE__ */
|
|
7
|
+
var m = "rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5";
|
|
8
|
+
function h({ state: h, setState: g }) {
|
|
9
|
+
let _ = a.find((e) => e.value === h.activeTab);
|
|
10
|
+
return /* @__PURE__ */ p("div", {
|
|
10
11
|
className: "space-y-5",
|
|
11
12
|
children: [
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
+
/* @__PURE__ */ p("section", {
|
|
13
14
|
className: "rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6",
|
|
14
15
|
children: [
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
+
/* @__PURE__ */ f("p", {
|
|
16
17
|
className: "text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted",
|
|
17
18
|
children: "View switching"
|
|
18
19
|
}),
|
|
19
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ f("h3", {
|
|
20
21
|
className: "aui-text-strong mt-3 text-2xl font-semibold tracking-tight",
|
|
21
22
|
children: "Tabs should read like page sections"
|
|
22
23
|
}),
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
+
/* @__PURE__ */ f("p", {
|
|
24
25
|
className: "aui-text-muted mt-3 max-w-2xl text-sm leading-6",
|
|
25
26
|
children: "Overview, activity and settings stay separated without turning the screen into a navigation maze."
|
|
26
27
|
})
|
|
27
28
|
]
|
|
28
29
|
}),
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ p("section", {
|
|
30
31
|
className: "grid gap-3 md:grid-cols-3",
|
|
31
32
|
children: [
|
|
32
|
-
/* @__PURE__ */
|
|
33
|
-
className:
|
|
33
|
+
/* @__PURE__ */ p("div", {
|
|
34
|
+
className: m,
|
|
34
35
|
children: [
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
+
/* @__PURE__ */ f("p", {
|
|
36
37
|
className: "text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted",
|
|
37
38
|
children: "Current tab"
|
|
38
39
|
}),
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ f("p", {
|
|
40
41
|
className: "mt-3 text-lg font-semibold aui-text-strong",
|
|
41
|
-
children:
|
|
42
|
+
children: _?.label
|
|
42
43
|
}),
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
+
/* @__PURE__ */ f("p", {
|
|
44
45
|
className: "mt-2 text-sm leading-6 aui-text-muted",
|
|
45
46
|
children: "The selected view should feel like a real section change, not a tiny state toggle."
|
|
46
47
|
})
|
|
47
48
|
]
|
|
48
49
|
}),
|
|
49
|
-
/* @__PURE__ */
|
|
50
|
-
className:
|
|
50
|
+
/* @__PURE__ */ p("div", {
|
|
51
|
+
className: m,
|
|
51
52
|
children: [
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ f("p", {
|
|
53
54
|
className: "text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted",
|
|
54
55
|
children: "Sections"
|
|
55
56
|
}),
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
+
/* @__PURE__ */ p("p", {
|
|
57
58
|
className: "mt-3 text-lg font-semibold aui-text-strong",
|
|
58
59
|
children: [a.length, " surfaces"]
|
|
59
60
|
}),
|
|
60
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */ f("p", {
|
|
61
62
|
className: "mt-2 text-sm leading-6 aui-text-muted",
|
|
62
63
|
children: "Use a small number of high-signal tabs so the layout stays readable."
|
|
63
64
|
})
|
|
64
65
|
]
|
|
65
66
|
}),
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
-
className:
|
|
67
|
+
/* @__PURE__ */ p("div", {
|
|
68
|
+
className: m,
|
|
68
69
|
children: [
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ f("p", {
|
|
70
71
|
className: "text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted",
|
|
71
72
|
children: "Pattern"
|
|
72
73
|
}),
|
|
73
|
-
/* @__PURE__ */
|
|
74
|
+
/* @__PURE__ */ f("p", {
|
|
74
75
|
className: "mt-3 text-lg font-semibold aui-text-strong",
|
|
75
76
|
children: "Page sections"
|
|
76
77
|
}),
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ f("p", {
|
|
78
79
|
className: "mt-2 text-sm leading-6 aui-text-muted",
|
|
79
80
|
children: "Tabs work best when each panel owns a distinct slice of the workflow."
|
|
80
81
|
})
|
|
@@ -82,45 +83,167 @@ function l({ state: l, setState: u }) {
|
|
|
82
83
|
})
|
|
83
84
|
]
|
|
84
85
|
}),
|
|
85
|
-
/* @__PURE__ */
|
|
86
|
-
className:
|
|
87
|
-
children: /* @__PURE__ */
|
|
88
|
-
value:
|
|
89
|
-
onValueChange: (e) =>
|
|
90
|
-
children: [/* @__PURE__ */
|
|
91
|
-
|
|
92
|
-
children: e
|
|
93
|
-
|
|
86
|
+
/* @__PURE__ */ f("div", {
|
|
87
|
+
className: m,
|
|
88
|
+
children: /* @__PURE__ */ p(t, {
|
|
89
|
+
value: h.activeTab,
|
|
90
|
+
onValueChange: (e) => g({ activeTab: e }),
|
|
91
|
+
children: [/* @__PURE__ */ f(r, {
|
|
92
|
+
overflow: "scroll",
|
|
93
|
+
children: a.map((e) => /* @__PURE__ */ f(i, {
|
|
94
|
+
value: e.value,
|
|
95
|
+
children: e.label
|
|
96
|
+
}, e.value))
|
|
97
|
+
}), a.map((e) => /* @__PURE__ */ f(n, {
|
|
94
98
|
value: e.value,
|
|
95
99
|
className: "aui-text-muted mt-4 border-t border-[color:var(--aui-divider)] pt-4 text-sm leading-6",
|
|
96
100
|
children: e.content
|
|
97
101
|
}, e.value))]
|
|
98
102
|
})
|
|
99
103
|
}),
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
className:
|
|
102
|
-
children: /* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ f("section", {
|
|
105
|
+
className: m,
|
|
106
|
+
children: /* @__PURE__ */ p("div", {
|
|
107
|
+
className: "grid gap-6 xl:grid-cols-[0.9fr_1.1fr]",
|
|
108
|
+
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
|
|
109
|
+
className: "text-lg font-semibold aui-text-strong",
|
|
110
|
+
children: "Variants and overflow"
|
|
111
|
+
}), /* @__PURE__ */ f("p", {
|
|
112
|
+
className: "mt-2 max-w-xl text-sm leading-6 aui-text-muted",
|
|
113
|
+
children: "The same primitive covers underline navigation, compact density, icon labels, and long mobile tab rows."
|
|
114
|
+
})] }), /* @__PURE__ */ p("div", {
|
|
115
|
+
className: "grid gap-4",
|
|
116
|
+
children: [
|
|
117
|
+
/* @__PURE__ */ f(t, {
|
|
118
|
+
defaultValue: "activity",
|
|
119
|
+
children: /* @__PURE__ */ p(r, {
|
|
120
|
+
variant: "underline",
|
|
121
|
+
overflow: "scroll",
|
|
122
|
+
children: [
|
|
123
|
+
/* @__PURE__ */ p(i, {
|
|
124
|
+
variant: "underline",
|
|
125
|
+
value: "activity",
|
|
126
|
+
children: [/* @__PURE__ */ f(o, {}), "Activity"]
|
|
127
|
+
}),
|
|
128
|
+
/* @__PURE__ */ p(i, {
|
|
129
|
+
variant: "underline",
|
|
130
|
+
value: "files",
|
|
131
|
+
children: [/* @__PURE__ */ f(c, {}), "Files"]
|
|
132
|
+
}),
|
|
133
|
+
/* @__PURE__ */ p(i, {
|
|
134
|
+
variant: "underline",
|
|
135
|
+
value: "members",
|
|
136
|
+
children: [/* @__PURE__ */ f(d, {}), "Members"]
|
|
137
|
+
}),
|
|
138
|
+
/* @__PURE__ */ p(i, {
|
|
139
|
+
variant: "underline",
|
|
140
|
+
value: "security",
|
|
141
|
+
children: [/* @__PURE__ */ f(u, {}), "Security"]
|
|
142
|
+
}),
|
|
143
|
+
/* @__PURE__ */ p(i, {
|
|
144
|
+
variant: "underline",
|
|
145
|
+
value: "settings",
|
|
146
|
+
children: [/* @__PURE__ */ f(l, {}), "Settings"]
|
|
147
|
+
})
|
|
148
|
+
]
|
|
149
|
+
})
|
|
150
|
+
}),
|
|
151
|
+
/* @__PURE__ */ f(t, {
|
|
152
|
+
defaultValue: "compact",
|
|
153
|
+
children: /* @__PURE__ */ p(r, {
|
|
154
|
+
variant: "compact",
|
|
155
|
+
overflow: "wrap",
|
|
156
|
+
children: [
|
|
157
|
+
/* @__PURE__ */ f(i, {
|
|
158
|
+
variant: "compact",
|
|
159
|
+
value: "compact",
|
|
160
|
+
children: "Compact"
|
|
161
|
+
}),
|
|
162
|
+
/* @__PURE__ */ p(i, {
|
|
163
|
+
variant: "compact",
|
|
164
|
+
value: "alerts",
|
|
165
|
+
children: [/* @__PURE__ */ f(s, {}), "Alerts"]
|
|
166
|
+
}),
|
|
167
|
+
/* @__PURE__ */ f(i, {
|
|
168
|
+
variant: "compact",
|
|
169
|
+
value: "audit",
|
|
170
|
+
children: "Audit"
|
|
171
|
+
})
|
|
172
|
+
]
|
|
173
|
+
})
|
|
174
|
+
}),
|
|
175
|
+
/* @__PURE__ */ p(t, {
|
|
176
|
+
defaultValue: "vertical",
|
|
177
|
+
orientation: "vertical",
|
|
178
|
+
className: "grid gap-3 sm:grid-cols-[180px_1fr]",
|
|
179
|
+
children: [
|
|
180
|
+
/* @__PURE__ */ p(r, {
|
|
181
|
+
variant: "pills",
|
|
182
|
+
overflow: "wrap",
|
|
183
|
+
className: "grid",
|
|
184
|
+
children: [
|
|
185
|
+
/* @__PURE__ */ f(i, {
|
|
186
|
+
variant: "pills",
|
|
187
|
+
value: "vertical",
|
|
188
|
+
children: "Vertical"
|
|
189
|
+
}),
|
|
190
|
+
/* @__PURE__ */ f(i, {
|
|
191
|
+
variant: "pills",
|
|
192
|
+
value: "pills",
|
|
193
|
+
children: "Pills"
|
|
194
|
+
}),
|
|
195
|
+
/* @__PURE__ */ f(i, {
|
|
196
|
+
variant: "pills",
|
|
197
|
+
value: "overflow",
|
|
198
|
+
children: "Overflow"
|
|
199
|
+
})
|
|
200
|
+
]
|
|
201
|
+
}),
|
|
202
|
+
/* @__PURE__ */ f(n, {
|
|
203
|
+
value: "vertical",
|
|
204
|
+
className: "mt-0 rounded-xl border border-[color:var(--aui-divider)] p-4 text-sm leading-6 aui-text-muted",
|
|
205
|
+
children: "Vertical tabs keep local settings readable when each panel has a larger form."
|
|
206
|
+
}),
|
|
207
|
+
/* @__PURE__ */ f(n, {
|
|
208
|
+
value: "pills",
|
|
209
|
+
className: "mt-0 rounded-xl border border-[color:var(--aui-divider)] p-4 text-sm leading-6 aui-text-muted",
|
|
210
|
+
children: "Pill tabs carry a stronger selected state for dense dashboards."
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ f(n, {
|
|
213
|
+
value: "overflow",
|
|
214
|
+
className: "mt-0 rounded-xl border border-[color:var(--aui-divider)] p-4 text-sm leading-6 aui-text-muted",
|
|
215
|
+
children: "Scroll overflow keeps long labels accessible on small screens."
|
|
216
|
+
})
|
|
217
|
+
]
|
|
218
|
+
})
|
|
219
|
+
]
|
|
220
|
+
})]
|
|
221
|
+
})
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ f("section", {
|
|
224
|
+
className: m,
|
|
225
|
+
children: /* @__PURE__ */ p("div", {
|
|
103
226
|
className: "flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between",
|
|
104
|
-
children: [/* @__PURE__ */
|
|
105
|
-
/* @__PURE__ */
|
|
227
|
+
children: [/* @__PURE__ */ p("div", { children: [
|
|
228
|
+
/* @__PURE__ */ f("p", {
|
|
106
229
|
className: "text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted",
|
|
107
230
|
children: "Live state"
|
|
108
231
|
}),
|
|
109
|
-
/* @__PURE__ */
|
|
232
|
+
/* @__PURE__ */ p("h4", {
|
|
110
233
|
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
111
|
-
children: ["Active tab: ",
|
|
234
|
+
children: ["Active tab: ", _?.label]
|
|
112
235
|
}),
|
|
113
|
-
/* @__PURE__ */
|
|
236
|
+
/* @__PURE__ */ f("p", {
|
|
114
237
|
className: "mt-2 text-sm leading-6 aui-text-muted",
|
|
115
238
|
children: "Change tabs above or jump directly to a common product section."
|
|
116
239
|
})
|
|
117
|
-
] }), /* @__PURE__ */
|
|
240
|
+
] }), /* @__PURE__ */ f("div", {
|
|
118
241
|
className: "flex flex-wrap gap-2",
|
|
119
|
-
children: a.map((t) => /* @__PURE__ */
|
|
242
|
+
children: a.map((t) => /* @__PURE__ */ f(e, {
|
|
120
243
|
type: "button",
|
|
121
244
|
size: "sm",
|
|
122
|
-
variant:
|
|
123
|
-
onClick: () =>
|
|
245
|
+
variant: h.activeTab === t.value ? "default" : "secondary",
|
|
246
|
+
onClick: () => g({ activeTab: t.value }),
|
|
124
247
|
children: t.label
|
|
125
248
|
}, t.value))
|
|
126
249
|
})]
|
|
@@ -130,4 +253,4 @@ function l({ state: l, setState: u }) {
|
|
|
130
253
|
});
|
|
131
254
|
}
|
|
132
255
|
//#endregion
|
|
133
|
-
export {
|
|
256
|
+
export { h as TabsShowcase };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { FormEvent, useState } from "react"
|
|
2
|
-
import { Textarea } from "
|
|
2
|
+
import { Textarea } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [note, setNote] = useState("")
|
|
@@ -12,11 +12,19 @@ export function Example() {
|
|
|
12
12
|
|
|
13
13
|
return (
|
|
14
14
|
<form onSubmit={submit} className="space-y-3">
|
|
15
|
-
<Textarea
|
|
16
|
-
|
|
15
|
+
<Textarea
|
|
16
|
+
rows={6}
|
|
17
|
+
value={note}
|
|
18
|
+
onValueChange={setNote}
|
|
19
|
+
placeholder="Write your message..."
|
|
20
|
+
helperText="Keep instructions visible below the field."
|
|
21
|
+
errorText={error ? "Please enter at least 10 characters." : undefined}
|
|
22
|
+
maxLength={240}
|
|
23
|
+
showCharacterCount
|
|
24
|
+
/>
|
|
25
|
+
<Textarea rows={4} defaultValue="Internal changelog draft..." helperText="Draft copy" />
|
|
17
26
|
<Textarea readOnly value="Locked review comment" rows={3} />
|
|
18
27
|
<button type="submit">Submit</button>
|
|
19
|
-
{error ? <p className="text-sm text-red-600">Please enter at least 10 characters.</p> : null}
|
|
20
28
|
</form>
|
|
21
29
|
)
|
|
22
30
|
}`,htmlCode:`<textarea data-slot="textarea" placeholder="Write your message..." rows="6"></textarea>`,cliCommand:`npx tembro add textarea`,highlights:[`Long-form notes`,`Multiline forms`,`Rows/height control`,`Validation-friendly error context`],relatedBlockSlugs:[`settings-form`,`auth-sign-in`,`pricing-section`],scenarios:[{title:`Support notes`,description:`Capture longer messages with 6+ rows without layout shift.`},{title:`Release notes`,description:`Use multiline fields for changelog and update summaries.`},{title:`Review comments`,description:`Keep readOnly previews for policy or audit style workflows.`},{title:`Internal description editor`,description:`Combine rows with validation text and section headers.`}],capabilityNotes:[`Designed for multi-line content with enough vertical rhythm for long text.`,`Supports controlled/uncontrolled usage with rows customization.`,`Should demonstrate empty, filled and read-only states in form contexts.`,`Pairs well with form shells and richer editorial patterns.`]};exports.textareaMock=e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/textarea/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { FormEvent, useState } from \"react\"\nimport { Textarea } from \"
|
|
3
|
+
code: "import { FormEvent, useState } from \"react\"\nimport { Textarea } from \"tembro\"\n\nexport function Example() {\n const [note, setNote] = useState(\"\")\n const [error, setError] = useState(false)\n\n function submit(event: FormEvent<HTMLFormElement>) {\n event.preventDefault()\n setError(note.trim().length < 10)\n }\n\n return (\n <form onSubmit={submit} className=\"space-y-3\">\n <Textarea\n rows={6}\n value={note}\n onValueChange={setNote}\n placeholder=\"Write your message...\"\n helperText=\"Keep instructions visible below the field.\"\n errorText={error ? \"Please enter at least 10 characters.\" : undefined}\n maxLength={240}\n showCharacterCount\n />\n <Textarea rows={4} defaultValue=\"Internal changelog draft...\" helperText=\"Draft copy\" />\n <Textarea readOnly value=\"Locked review comment\" rows={3} />\n <button type=\"submit\">Submit</button>\n </form>\n )\n}",
|
|
4
4
|
htmlCode: "<textarea data-slot=\"textarea\" placeholder=\"Write your message...\" rows=\"6\"></textarea>",
|
|
5
5
|
cliCommand: "npx tembro add textarea",
|
|
6
6
|
highlights: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/textarea/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("./data.cjs");let i=require("react/jsx-runtime");var a=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function o({state:o,setState:s}){return(0,i.jsxs)(`div`,{className:`space-y-5`,children:[(0,i.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Long-form entry`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Textarea should feel calm and readable`}),(0,i.jsx)(`p`,{className:`mt-3 max-w-lg text-sm leading-6 aui-text-muted`,children:`Use it for notes, summaries, and message bodies. The preview should focus on readability, resize behavior, and passive states instead of raw field duplication.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Editable`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Read-only`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Resizable`})]})]}),(0,i.jsxs)(`div`,{className:`mt-6 grid gap-4 xl:grid-cols-[1.12fr_0.88fr]`,children:[(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Internal note`}),(0,i.jsx)(`div`,{className:`mt-3`,children:(0,i.jsx)(t.Textarea,{value:o.textareaValue,onChange:e=>s({textareaValue:e.target.value}),rows:r.textareaDemoFields[0].rows,className:`${r.textareaDemoFields[0].minHeight} resize-y`,placeholder:r.textareaDemoFields[0].placeholder})})]}),(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Current length`}),(0,i.jsxs)(`p`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:[o.textareaValue.length,` chars`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Long text surfaces should stay readable before they become decorative. Keep line-height, contrast, and padding stable as content grows.`})]})]})]}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Live state`}),(0,i.jsxs)(`h4`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:[`Draft length: `,o.textareaValue.length,` characters`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Fill or clear the note to verify controlled textarea behavior and visual density.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(e.Button,{type:`button`,size:`sm`,onClick:()=>s({textareaValue:`Customer prefers weekly status updates and a shorter approval cycle.`}),children:`Fill sample`}),(0,i.jsx)(e.Button,{type:`button`,size:`sm`,variant:`secondary`,onClick:()=>s({textareaValue:``}),children:`Clear`})]})]})}),(0,i.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,i.jsxs)(`section`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Pre-filled draft`}),(0,i.jsx)(`div`,{className:`mt-3`,children:(0,i.jsx)(t.Textarea,{defaultValue:r.textareaDemoFields[1].defaultValue,rows:r.textareaDemoFields[1].rows,className:`${r.textareaDemoFields[1].minHeight} resize-none
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/textarea/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("./data.cjs");let i=require("react/jsx-runtime");var a=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function o({state:o,setState:s}){return(0,i.jsxs)(`div`,{className:`space-y-5`,children:[(0,i.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Long-form entry`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Textarea should feel calm and readable`}),(0,i.jsx)(`p`,{className:`mt-3 max-w-lg text-sm leading-6 aui-text-muted`,children:`Use it for notes, summaries, and message bodies. The preview should focus on readability, resize behavior, and passive states instead of raw field duplication.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Editable`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Read-only`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Resizable`})]})]}),(0,i.jsxs)(`div`,{className:`mt-6 grid gap-4 xl:grid-cols-[1.12fr_0.88fr]`,children:[(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Internal note`}),(0,i.jsx)(`div`,{className:`mt-3`,children:(0,i.jsx)(t.Textarea,{value:o.textareaValue,onChange:e=>s({textareaValue:e.target.value}),rows:r.textareaDemoFields[0].rows,className:`${r.textareaDemoFields[0].minHeight} resize-y`,placeholder:r.textareaDemoFields[0].placeholder,helperText:`Visible helper copy keeps instructions outside the placeholder.`,maxLength:240,showCharacterCount:!0})})]}),(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Current length`}),(0,i.jsxs)(`p`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:[o.textareaValue.length,` chars`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Long text surfaces should stay readable before they become decorative. Keep line-height, contrast, and padding stable as content grows.`})]})]})]}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Live state`}),(0,i.jsxs)(`h4`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:[`Draft length: `,o.textareaValue.length,` characters`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Fill or clear the note to verify controlled textarea behavior and visual density.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(e.Button,{type:`button`,size:`sm`,onClick:()=>s({textareaValue:`Customer prefers weekly status updates and a shorter approval cycle.`}),children:`Fill sample`}),(0,i.jsx)(e.Button,{type:`button`,size:`sm`,variant:`secondary`,onClick:()=>s({textareaValue:``}),children:`Clear`})]})]})}),(0,i.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,i.jsxs)(`section`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Pre-filled draft`}),(0,i.jsx)(`div`,{className:`mt-3`,children:(0,i.jsx)(t.Textarea,{defaultValue:r.textareaDemoFields[1].defaultValue,rows:r.textareaDemoFields[1].rows,className:`${r.textareaDemoFields[1].minHeight} resize-none`,helperText:`Uncontrolled draft with stable helper spacing.`})})]}),(0,i.jsxs)(`section`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Read-only copy`}),(0,i.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,i.jsx)(t.Textarea,{value:r.textareaDemoFields[2].defaultValue,readOnly:r.textareaDemoFields[2].readOnly,rows:r.textareaDemoFields[2].rows,className:`${r.textareaDemoFields[2].minHeight} resize-none opacity-70`,errorText:o.textareaValue.trim().length>0&&o.textareaValue.trim().length<10?`Draft needs at least 10 characters.`:void 0}),(0,i.jsx)(`p`,{className:`text-sm leading-6 aui-text-muted`,children:`Read-only textareas should still be easy to scan and copy without looking like disabled, broken, or low-priority content.`})]})]})]})]})}exports.TextareaShowcase=o;
|
|
@@ -63,7 +63,10 @@ function s({ state: s, setState: c }) {
|
|
|
63
63
|
onChange: (e) => c({ textareaValue: e.target.value }),
|
|
64
64
|
rows: r[0].rows,
|
|
65
65
|
className: `${r[0].minHeight} resize-y`,
|
|
66
|
-
placeholder: r[0].placeholder
|
|
66
|
+
placeholder: r[0].placeholder,
|
|
67
|
+
helperText: "Visible helper copy keeps instructions outside the placeholder.",
|
|
68
|
+
maxLength: 240,
|
|
69
|
+
showCharacterCount: !0
|
|
67
70
|
})
|
|
68
71
|
})]
|
|
69
72
|
}), /* @__PURE__ */ a("div", {
|
|
@@ -135,7 +138,8 @@ function s({ state: s, setState: c }) {
|
|
|
135
138
|
children: /* @__PURE__ */ i(t, {
|
|
136
139
|
defaultValue: r[1].defaultValue,
|
|
137
140
|
rows: r[1].rows,
|
|
138
|
-
className: `${r[1].minHeight} resize-none
|
|
141
|
+
className: `${r[1].minHeight} resize-none`,
|
|
142
|
+
helperText: "Uncontrolled draft with stable helper spacing."
|
|
139
143
|
})
|
|
140
144
|
})]
|
|
141
145
|
}), /* @__PURE__ */ a("section", {
|
|
@@ -149,7 +153,8 @@ function s({ state: s, setState: c }) {
|
|
|
149
153
|
value: r[2].defaultValue,
|
|
150
154
|
readOnly: r[2].readOnly,
|
|
151
155
|
rows: r[2].rows,
|
|
152
|
-
className: `${r[2].minHeight} resize-none opacity-70
|
|
156
|
+
className: `${r[2].minHeight} resize-none opacity-70`,
|
|
157
|
+
errorText: s.textareaValue.trim().length > 0 && s.textareaValue.trim().length < 10 ? "Draft needs at least 10 characters." : void 0
|
|
153
158
|
}), /* @__PURE__ */ i("p", {
|
|
154
159
|
className: "text-sm leading-6 aui-text-muted",
|
|
155
160
|
children: "Read-only textareas should still be easy to scan and copy without looking like disabled, broken, or low-priority content."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("../../../components/notifications/toast.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function s({mode:e}){let[s,c]=i.useState(0),{addToast:l,success:u,warning:d,error:f,
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("../../../components/notifications/toast.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function s({mode:e}){let[s,c]=i.useState(0),{addToast:l,success:u,warning:d,error:f,promise:p,clearToasts:m,toasts:h,dismissToast:g}=r.useToast();return(0,a.jsxs)(`div`,{className:`space-y-5`,children:[(0,a.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,a.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between`,children:[(0,a.jsxs)(`div`,{className:`max-w-xl`,children:[(0,a.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Transient feedback`}),(0,a.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Toasts should report short-lived outcomes`}),(0,a.jsx)(`p`,{className:`mt-3 max-w-lg text-sm leading-6 aui-text-muted`,children:`Use them for short confirmations and lightweight warnings. Critical blocking states should remain on the page, not vanish into transient notifications.`})]}),(0,a.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,a.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Success`}),(0,a.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Warning`}),(0,a.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Error`})]})]}),(0,a.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2`,children:[(0,a.jsx)(t.Button,{size:`sm`,onClick:()=>{c(e=>e+1),l({title:`Sync started`,description:`Sync run ${s+1} has started.`,tone:`info`})},children:`Add toast`}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:()=>{c(e=>e+1),u({title:`Saved`,description:`Project updated successfully.`,tone:`success`})},children:`Success`}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:()=>{c(e=>e+1),d(`Please confirm required metadata before publish.`)},children:`Warning`}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:()=>{c(e=>e+1),f({title:`Request failed`,description:`Failure occurred while saving item #${s+1}`})},children:`Error`}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:()=>{p(new Promise(e=>{window.setTimeout(()=>e(`Export ready`),1200)}),{loading:{title:`Preparing export`,description:`Building CSV package.`,group:`Export`},success:e=>({title:e,description:`Download can start now.`,group:`Export`}),error:()=>({title:`Export failed`,description:`Retry after refreshing.`,group:`Export`})})},children:`Promise`}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:m,children:`Clear all`})]})]}),(0,a.jsxs)(`div`,{className:o,children:[(0,a.jsxs)(`p`,{className:`mb-2 text-sm aui-text-muted`,children:[`Active toasts: `,h.length]}),(0,a.jsx)(`div`,{className:`grid gap-2`,children:h.length===0?(0,a.jsx)(`div`,{className:`rounded-lg border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg-alt)] px-3 py-2 text-sm aui-text-muted`,children:`No active toasts`}):h.map(e=>(0,a.jsxs)(`div`,{className:`flex items-start justify-between rounded-lg border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg-alt)] px-3 py-2 text-sm`,children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:e.title??`Untitled`}),(0,a.jsx)(`p`,{className:`aui-text-muted`,children:e.description})]}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:()=>g(e.id),children:`Dismiss`})]},e.id))})]}),null]})}function c({mode:e}){return(0,a.jsx)(r.ToastProvider,{position:`top-right`,defaultDuration:3e3,maxToasts:5,pauseOnHover:e===`playground`,children:(0,a.jsx)(s,{mode:e})})}exports.ToastShowcase=c;
|
|
@@ -6,7 +6,7 @@ import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
|
6
6
|
//#region src/showcase/premium/toast/showcase.tsx
|
|
7
7
|
var s = "rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5";
|
|
8
8
|
function c({ mode: n }) {
|
|
9
|
-
let [c, l] = i.useState(0), { addToast: u, success: d, warning: f, error: p,
|
|
9
|
+
let [c, l] = i.useState(0), { addToast: u, success: d, warning: f, error: p, promise: m, clearToasts: h, toasts: g, dismissToast: _ } = r();
|
|
10
10
|
return /* @__PURE__ */ o("div", {
|
|
11
11
|
className: "space-y-5",
|
|
12
12
|
children: [
|
|
@@ -98,7 +98,33 @@ function c({ mode: n }) {
|
|
|
98
98
|
/* @__PURE__ */ a(e, {
|
|
99
99
|
size: "sm",
|
|
100
100
|
variant: "outline",
|
|
101
|
-
onClick:
|
|
101
|
+
onClick: () => {
|
|
102
|
+
m(new Promise((e) => {
|
|
103
|
+
window.setTimeout(() => e("Export ready"), 1200);
|
|
104
|
+
}), {
|
|
105
|
+
loading: {
|
|
106
|
+
title: "Preparing export",
|
|
107
|
+
description: "Building CSV package.",
|
|
108
|
+
group: "Export"
|
|
109
|
+
},
|
|
110
|
+
success: (e) => ({
|
|
111
|
+
title: e,
|
|
112
|
+
description: "Download can start now.",
|
|
113
|
+
group: "Export"
|
|
114
|
+
}),
|
|
115
|
+
error: () => ({
|
|
116
|
+
title: "Export failed",
|
|
117
|
+
description: "Retry after refreshing.",
|
|
118
|
+
group: "Export"
|
|
119
|
+
})
|
|
120
|
+
});
|
|
121
|
+
},
|
|
122
|
+
children: "Promise"
|
|
123
|
+
}),
|
|
124
|
+
/* @__PURE__ */ a(e, {
|
|
125
|
+
size: "sm",
|
|
126
|
+
variant: "outline",
|
|
127
|
+
onClick: h,
|
|
102
128
|
children: "Clear all"
|
|
103
129
|
})
|
|
104
130
|
]
|
|
@@ -108,13 +134,13 @@ function c({ mode: n }) {
|
|
|
108
134
|
className: s,
|
|
109
135
|
children: [/* @__PURE__ */ o("p", {
|
|
110
136
|
className: "mb-2 text-sm aui-text-muted",
|
|
111
|
-
children: ["Active toasts: ",
|
|
137
|
+
children: ["Active toasts: ", g.length]
|
|
112
138
|
}), /* @__PURE__ */ a("div", {
|
|
113
139
|
className: "grid gap-2",
|
|
114
|
-
children:
|
|
140
|
+
children: g.length === 0 ? /* @__PURE__ */ a("div", {
|
|
115
141
|
className: "rounded-lg border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg-alt)] px-3 py-2 text-sm aui-text-muted",
|
|
116
142
|
children: "No active toasts"
|
|
117
|
-
}) :
|
|
143
|
+
}) : g.map((t) => /* @__PURE__ */ o("div", {
|
|
118
144
|
className: "flex items-start justify-between rounded-lg border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg-alt)] px-3 py-2 text-sm",
|
|
119
145
|
children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
120
146
|
className: "font-medium aui-text-strong",
|
|
@@ -125,7 +151,7 @@ function c({ mode: n }) {
|
|
|
125
151
|
})] }), /* @__PURE__ */ a(e, {
|
|
126
152
|
size: "sm",
|
|
127
153
|
variant: "outline",
|
|
128
|
-
onClick: () =>
|
|
154
|
+
onClick: () => _(t.id),
|
|
129
155
|
children: "Dismiss"
|
|
130
156
|
})]
|
|
131
157
|
}, t.id))
|
|
@@ -5,7 +5,7 @@ export type ComponentDemoState = {
|
|
|
5
5
|
checked: boolean;
|
|
6
6
|
switchOn: boolean;
|
|
7
7
|
selectValue: string;
|
|
8
|
-
badgeVariant: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link";
|
|
8
|
+
badgeVariant: "default" | "secondary" | "soft" | "destructive" | "outline" | "ghost" | "link";
|
|
9
9
|
cardCompact: boolean;
|
|
10
10
|
activeTab: "overview" | "activity" | "settings";
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`button`,`Button`,`actions`,`Primary action surface for clicks, submit, and quick triggers in dashboard workflows.`),e.component(`input`,`Input`,`inputs`,`Single-line text input for quick edits, queries, and form fields.`),e.component(`select`,`Select`,`inputs`,`Select component with menu-driven single choice workflows.`),e.component(`dialog`,`Dialog`,`overlay`,`Modal surface for confirmation, forms, and contextual workflows.`),e.component(`data-table`,`DataTable`,`data-table`,`High density table with search, filters, rows, actions and pagination context.`),e.component(`date-picker`,`DatePicker`,`calendar`,`Date picker surface for period and event selection.`),e.component(`form-input`,`FormInput`,`form`,`Input wrapper with RHF-ready metadata and helper text.`),e.component(`form-select`,`FormSelect`,`form`,`Select wrapper for controlled local and async choice fields.`),e.component(`form-textarea`,`FormTextarea`,`form`,`Textarea wrapper with helper, validation and consistent spacing.`),e.component(`form-switch`,`FormSwitch`,`form`,`Boolean form control with shell-level label and hint handling.`),e.component(`form-date-picker`,`FormDatePicker`,`form`,`Popover date picker wrapper with RHF integration.`),e.component(`form-date-range-picker`,`FormDateRangePicker`,`form`,`Range date picker wrapper for planning and reporting flows.`),e.component(`alert-dialog`,`AlertDialog`,`overlay`,`Destructive confirmation dialog with loading-ready action states.`),e.component(`drawer`,`Drawer`,`overlay`,`Side panel for contextual details without leaving the page.`),e.component(`pagination`,`Pagination`,`navigation`,`Controlled page navigation with edge buttons and active state.`),e.component(`nav-tabs`,`NavTabs`,`navigation`,`Navigation tabs for switching related document sections.`),e.component(`page-tabs`,`PageTabs`,`navigation`,`Top-level page tab strip for route-sized sections.`),e.component(`stepper-tabs`,`StepperTabs`,`navigation`,`Step-like tabs for setup and onboarding progress.`),e.component(`password-input`,`PasswordInput`,`inputs`,`Password field with visibility toggle and secure autocomplete defaults.`),e.component(`number-input`,`NumberInput`,`inputs`,`Numeric entry for counts, thresholds, and reporting controls.`),e.component(`phone-input`,`PhoneInput`,`inputs`,`Phone input with stable raw and masked value handling.`),e.component(`money-input`,`MoneyInput`,`inputs`,`Currency entry for billing, finance and KPI editing flows.`),e.component(`simple-select`,`SimpleSelect`,`inputs`,`Static local-option select for dashboards and settings forms.`),e.component(`async-select`,`AsyncSelect`,`inputs`,`Remote-loaded select for large server-backed option sets.`),e.component(`combobox`,`Combobox`,`inputs`,`Searchable local choice input for reassignment and command-like selection.`),e.component(`slider`,`Slider`,`inputs`,`Single value range control for density, threshold, and score tuning.`),e.component(`range-slider`,`RangeSlider`,`inputs`,`Two-handle slider for min/max filtering.`),e.component(`rating`,`Rating`,`inputs`,`Compact score input for feedback and review flows.`),e.component(`otp-input`,`OtpInput`,`inputs`,`One-time code entry with fixed-length slots.`),e.component(`inline-editable`,`InlineEditable`,`inputs`,`Inline editing primitive for dense tables and configuration rows.`),e.component(`tag-input`,`TagInput`,`inputs`,`Tokenized text input for labels, skills, and quick filters.`),e.component(`progress`,`Progress`,`display`,`Linear progress with label, value formatter, tone and indeterminate state.`),e.component(`progress-circle`,`ProgressCircle`,`display`,`Compact circular progress for sidebars and status cards.`),e.component(`timeline`,`Timeline`,`display`,`Vertical or horizontal event stream for workflow history.`),e.component(`status-dot`,`StatusDot`,`display`,`Tiny live status indicator with optional pulse animation.`),e.component(`user-card`,`UserCard`,`display`,`User summary row with avatar, metadata and actions.`),e.component(`notification-center`,`NotificationCenter`,`display`,`Compact activity and notifications stream.`),e.component(`data-list`,`DataList`,`display`,`Readable title and description rows for compact operational lists.`),e.component(`status-legend`,`StatusLegend`,`display`,`Explain status meaning and counts in a compact legend.`),e.component(`trend-card`,`TrendCard`,`display`,`Metric summary card with trend context.`),e.component(`action-menu`,`ActionMenu`,`actions`,`Compact dropdown action menu for rows and cards.`),e.component(`button-group`,`ButtonGroup`,`actions`,`Grouped action buttons for view switching and compact controls.`),e.component(`quick-action-grid`,`QuickActionGrid`,`actions`,`Action launcher grid for dense dashboard shortcuts.`),e.component(`filter-bar`,`FilterBar`,`actions`,`Search, filters, active-count and reset actions in one toolbar.`),e.component(`app-header`,`AppHeader`,`layout`,`Sticky product header with left, center and right slots.`),e.component(`section-header`,`SectionHeader`,`layout`,`Reusable section title block with actions and metadata.`),e.component(`stat-card`,`StatCard`,`layout`,`Dashboard stat card for KPI, trend and helper text.`),e.component(`alert`,`Alert`,`feedback`,`Inline feedback banner for success, warning, info, and error states.`),e.component(`page-state`,`PageState`,`feedback`,`Full-page completion or blocked state with next actions.`),e.component(`calendar`,`Calendar`,`calendar`,`Single month calendar surface for date picker and scheduling flows.`),e.component(`file-upload`,`FileUpload`,`upload`,`Full file upload surface with dropzone, action button and helper text.`),e.component(`image-upload`,`ImageUpload`,`upload`,`Image upload pattern with preview-oriented copy.`),e.component(`file-dropzone`,`FileDropzone`,`upload`,`Lightweight file dropzone primitive for custom upload flows.`),e.component(`stepper`,`Stepper`,`wizard`,`Clickable step navigation for multi-step forms.`),e.component(`wizard`,`Wizard`,`wizard`,`Stepper, content and footer controls combined into one workflow.`),e.component(`resource-page`,`ResourcePage`,`patterns`,`Full resource index page shell for admin dashboards.`),e.component(`resource-detail-page`,`ResourceDetailPage`,`patterns`,`Detail page shell with title, metadata and sections.`)]);exports.registryQualityDemoRegistry=t;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`button`,`Button`,`actions`,`Primary action surface for clicks, submit, and quick triggers in dashboard workflows.`),e.component(`input`,`Input`,`inputs`,`Single-line text input for quick edits, queries, and form fields.`),e.component(`select`,`Select`,`inputs`,`Select component with menu-driven single choice workflows.`),e.component(`dialog`,`Dialog`,`overlay`,`Modal surface for confirmation, forms, and contextual workflows.`),e.component(`data-table`,`DataTable`,`data-table`,`High density table with search, filters, rows, actions and pagination context.`),e.component(`date-picker`,`DatePicker`,`calendar`,`Date picker surface for period and event selection.`),e.component(`form-input`,`FormInput`,`form`,`Input wrapper with RHF-ready metadata and helper text.`),e.component(`form-select`,`FormSelect`,`form`,`Select wrapper for controlled local and async choice fields.`),e.component(`form-textarea`,`FormTextarea`,`form`,`Textarea wrapper with helper, validation and consistent spacing.`),e.component(`form-switch`,`FormSwitch`,`form`,`Boolean form control with shell-level label and hint handling.`),e.component(`form-date-picker`,`FormDatePicker`,`form`,`Popover date picker wrapper with RHF integration.`),e.component(`form-date-range-picker`,`FormDateRangePicker`,`form`,`Range date picker wrapper for planning and reporting flows.`),e.component(`alert-dialog`,`AlertDialog`,`overlay`,`Destructive confirmation dialog with loading-ready action states.`),e.component(`drawer`,`Drawer`,`overlay`,`Side panel for contextual details without leaving the page.`),e.component(`pagination`,`Pagination`,`navigation`,`Controlled page navigation with edge buttons and active state.`),e.component(`nav-tabs`,`NavTabs`,`navigation`,`Navigation tabs for switching related document sections.`),e.component(`page-tabs`,`PageTabs`,`navigation`,`Top-level page tab strip for route-sized sections.`),e.component(`stepper-tabs`,`StepperTabs`,`navigation`,`Step-like tabs for setup and onboarding progress.`),e.component(`password-input`,`PasswordInput`,`inputs`,`Password field with visibility toggle and secure autocomplete defaults.`),e.component(`number-input`,`NumberInput`,`inputs`,`Numeric entry for counts, thresholds, and reporting controls.`),e.component(`phone-input`,`PhoneInput`,`inputs`,`Phone input with stable raw and masked value handling.`),e.component(`money-input`,`MoneyInput`,`inputs`,`Currency entry for billing, finance and KPI editing flows.`),e.component(`simple-select`,`SimpleSelect`,`inputs`,`Static local-option select for dashboards and settings forms.`),e.component(`async-select`,`AsyncSelect`,`inputs`,`Remote-loaded select for large server-backed option sets.`),e.component(`combobox`,`Combobox`,`inputs`,`Searchable local choice input for reassignment and command-like selection.`),e.component(`slider`,`Slider`,`inputs`,`Single value range control for density, threshold, and score tuning.`),e.component(`range-slider`,`RangeSlider`,`inputs`,`Two-handle slider for min/max filtering.`),e.component(`rating`,`Rating`,`inputs`,`Compact score input for feedback and review flows.`),e.component(`otp-input`,`OtpInput`,`inputs`,`One-time code entry with fixed-length slots.`),e.component(`inline-editable`,`InlineEditable`,`inputs`,`Inline editing primitive for dense tables and configuration rows.`),e.component(`tag-input`,`TagInput`,`inputs`,`Tokenized text input for labels, skills, and quick filters.`),e.component(`progress`,`Progress`,`display`,`Linear progress with label, value formatter, tone and indeterminate state.`),e.component(`progress-circle`,`ProgressCircle`,`display`,`Compact circular progress for sidebars and status cards.`),e.component(`timeline`,`Timeline`,`display`,`Vertical or horizontal event stream for workflow history.`),e.component(`status-dot`,`StatusDot`,`display`,`Tiny live status indicator with optional pulse animation.`),e.component(`user-card`,`UserCard`,`display`,`User summary row with avatar, metadata and actions.`),e.component(`notification-center`,`NotificationCenter`,`display`,`Compact activity and notifications stream.`),e.component(`data-list`,`DataList`,`display`,`Readable title and description rows for compact operational lists.`),e.component(`status-legend`,`StatusLegend`,`display`,`Explain status meaning and counts in a compact legend.`),e.component(`trend-card`,`TrendCard`,`display`,`Metric summary card with trend context.`),e.component(`action-menu`,`ActionMenu`,`actions`,`Compact dropdown action menu for rows and cards.`),e.component(`button-group`,`ButtonGroup`,`actions`,`Grouped action buttons for view switching and compact controls.`),e.component(`quick-action-grid`,`QuickActionGrid`,`actions`,`Action launcher grid for dense dashboard shortcuts.`),e.component(`filter-bar`,`FilterBar`,`actions`,`Search, filters, active-count and reset actions in one toolbar.`),e.component(`app-header`,`AppHeader`,`layout`,`Sticky product header with left, center and right slots.`),e.component(`app-shell`,`AppShell`,`layout`,`Responsive application shell with sidebar, header and content regions.`),e.component(`section-header`,`SectionHeader`,`layout`,`Reusable section title block with actions and metadata.`),e.component(`stat-card`,`StatCard`,`layout`,`Dashboard stat card for KPI, trend and helper text.`),e.component(`alert`,`Alert`,`feedback`,`Inline feedback banner for success, warning, info, and error states.`),e.component(`page-state`,`PageState`,`feedback`,`Full-page completion or blocked state with next actions.`),e.component(`calendar`,`Calendar`,`calendar`,`Single month calendar surface for date picker and scheduling flows.`),e.component(`file-upload`,`FileUpload`,`upload`,`Full file upload surface with dropzone, action button and helper text.`),e.component(`image-upload`,`ImageUpload`,`upload`,`Image upload pattern with preview-oriented copy.`),e.component(`file-dropzone`,`FileDropzone`,`upload`,`Lightweight file dropzone primitive for custom upload flows.`),e.component(`stepper`,`Stepper`,`wizard`,`Clickable step navigation for multi-step forms.`),e.component(`wizard`,`Wizard`,`wizard`,`Stepper, content and footer controls combined into one workflow.`),e.component(`resource-page`,`ResourcePage`,`patterns`,`Full resource index page shell for admin dashboards.`),e.component(`resource-detail-page`,`ResourceDetailPage`,`patterns`,`Detail page shell with title, metadata and sections.`)]);exports.registryQualityDemoRegistry=t;
|
|
@@ -46,6 +46,7 @@ var n = t([
|
|
|
46
46
|
e("quick-action-grid", "QuickActionGrid", "actions", "Action launcher grid for dense dashboard shortcuts."),
|
|
47
47
|
e("filter-bar", "FilterBar", "actions", "Search, filters, active-count and reset actions in one toolbar."),
|
|
48
48
|
e("app-header", "AppHeader", "layout", "Sticky product header with left, center and right slots."),
|
|
49
|
+
e("app-shell", "AppShell", "layout", "Responsive application shell with sidebar, header and content regions."),
|
|
49
50
|
e("section-header", "SectionHeader", "layout", "Reusable section title block with actions and metadata."),
|
|
50
51
|
e("stat-card", "StatCard", "layout", "Dashboard stat card for KPI, trend and helper text."),
|
|
51
52
|
e("alert", "Alert", "feedback", "Inline feedback banner for success, warning, info, and error states."),
|