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
|
@@ -53,11 +53,25 @@ var e = {
|
|
|
53
53
|
description: "Icon rendered after the label. Use for forward navigation or external transitions."
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
|
-
name: "
|
|
56
|
+
name: "iconOnly",
|
|
57
57
|
type: "boolean",
|
|
58
58
|
defaultValue: "false",
|
|
59
|
-
description: "
|
|
60
|
-
example: "
|
|
59
|
+
description: "Switches default sizing to the icon button size while keeping Button semantics.",
|
|
60
|
+
example: "iconOnly aria-label=\"Download\""
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "fullWidth",
|
|
64
|
+
type: "boolean",
|
|
65
|
+
defaultValue: "false",
|
|
66
|
+
description: "Expands the button to fill its parent width.",
|
|
67
|
+
example: "fullWidth"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "pressed",
|
|
71
|
+
type: "boolean",
|
|
72
|
+
defaultValue: "false",
|
|
73
|
+
description: "Marks toggle-like button state with aria-pressed and selected styling.",
|
|
74
|
+
example: "pressed={active}"
|
|
61
75
|
},
|
|
62
76
|
{
|
|
63
77
|
name: "className",
|
|
@@ -123,6 +137,13 @@ var e = {
|
|
|
123
137
|
defaultValue: "-",
|
|
124
138
|
description: "Uncontrolled initial value."
|
|
125
139
|
},
|
|
140
|
+
{
|
|
141
|
+
name: "kind",
|
|
142
|
+
type: "'text' | 'search' | 'password' | 'number' | 'phone' | 'money' | 'quantity' | 'masked' | 'date' | 'date-range'",
|
|
143
|
+
defaultValue: "'text'",
|
|
144
|
+
description: "Routes Input into a supported preset without teaching a new public component name first.",
|
|
145
|
+
example: "kind=\"search\""
|
|
146
|
+
},
|
|
126
147
|
{
|
|
127
148
|
name: "onChange",
|
|
128
149
|
type: "ChangeEventHandler<HTMLInputElement>",
|
|
@@ -149,6 +170,18 @@ var e = {
|
|
|
149
170
|
defaultValue: "-",
|
|
150
171
|
description: "Short hint for empty input state."
|
|
151
172
|
},
|
|
173
|
+
{
|
|
174
|
+
name: "leading",
|
|
175
|
+
type: "ReactNode",
|
|
176
|
+
defaultValue: "-",
|
|
177
|
+
description: "Non-interactive leading slot for icons, prefixes, or labels."
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: "trailing",
|
|
181
|
+
type: "ReactNode",
|
|
182
|
+
defaultValue: "-",
|
|
183
|
+
description: "Passive trailing slot for units, counts, or status copy."
|
|
184
|
+
},
|
|
152
185
|
{
|
|
153
186
|
name: "clearable",
|
|
154
187
|
type: "boolean",
|
|
@@ -181,6 +214,24 @@ var e = {
|
|
|
181
214
|
defaultValue: "false",
|
|
182
215
|
description: "Clears the value on Escape when clearable mode is active."
|
|
183
216
|
},
|
|
217
|
+
{
|
|
218
|
+
name: "helperText",
|
|
219
|
+
type: "ReactNode",
|
|
220
|
+
defaultValue: "-",
|
|
221
|
+
description: "Support copy rendered below the field."
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
name: "errorText",
|
|
225
|
+
type: "ReactNode",
|
|
226
|
+
defaultValue: "-",
|
|
227
|
+
description: "Validation copy rendered below the field and connected to danger styling."
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: "showCharacterCount",
|
|
231
|
+
type: "boolean",
|
|
232
|
+
defaultValue: "false",
|
|
233
|
+
description: "Shows current length and maxLength when available."
|
|
234
|
+
},
|
|
184
235
|
{
|
|
185
236
|
name: "disabled",
|
|
186
237
|
type: "boolean",
|
|
@@ -235,23 +286,23 @@ var e = {
|
|
|
235
286
|
select: {
|
|
236
287
|
slug: "select",
|
|
237
288
|
source: "metadata",
|
|
238
|
-
summary: "Primary selection surface. Start with Select
|
|
289
|
+
summary: "Primary single-selection surface. Start with Select for finite option sets, then use AsyncSelect with isMulti only when remote loading or multi-value behavior is required.",
|
|
239
290
|
props: [
|
|
240
291
|
{
|
|
241
292
|
name: "value",
|
|
242
|
-
type: "string |
|
|
293
|
+
type: "string | null",
|
|
243
294
|
defaultValue: "-",
|
|
244
|
-
description: "Controlled selected value.
|
|
295
|
+
description: "Controlled selected value."
|
|
245
296
|
},
|
|
246
297
|
{
|
|
247
298
|
name: "defaultValue",
|
|
248
|
-
type: "string |
|
|
299
|
+
type: "string | null",
|
|
249
300
|
defaultValue: "-",
|
|
250
301
|
description: "Uncontrolled initial selected value."
|
|
251
302
|
},
|
|
252
303
|
{
|
|
253
304
|
name: "onValueChange",
|
|
254
|
-
type: "(value: string |
|
|
305
|
+
type: "(value: string | undefined) => void",
|
|
255
306
|
defaultValue: "-",
|
|
256
307
|
description: "Called when the selected value changes.",
|
|
257
308
|
example: "onValueChange={setStatus}"
|
|
@@ -263,6 +314,12 @@ var e = {
|
|
|
263
314
|
required: !0,
|
|
264
315
|
description: "Selectable option list."
|
|
265
316
|
},
|
|
317
|
+
{
|
|
318
|
+
name: "groups",
|
|
319
|
+
type: "Array<{ label?: ReactNode; options: SelectOption[] }>",
|
|
320
|
+
defaultValue: "-",
|
|
321
|
+
description: "Grouped selectable options for longer finite lists."
|
|
322
|
+
},
|
|
266
323
|
{
|
|
267
324
|
name: "placeholder",
|
|
268
325
|
type: "string",
|
|
@@ -282,10 +339,34 @@ var e = {
|
|
|
282
339
|
description: "Enables local filtering on the main Select surface."
|
|
283
340
|
},
|
|
284
341
|
{
|
|
285
|
-
name: "
|
|
342
|
+
name: "clearable",
|
|
286
343
|
type: "boolean",
|
|
287
344
|
defaultValue: "false",
|
|
288
|
-
description: "
|
|
345
|
+
description: "Shows a clear action when a value is selected."
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
name: "loading",
|
|
349
|
+
type: "boolean",
|
|
350
|
+
defaultValue: "false",
|
|
351
|
+
description: "Disables selection and renders a loading state."
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
name: "emptyLabel",
|
|
355
|
+
type: "ReactNode",
|
|
356
|
+
defaultValue: "'No options found'",
|
|
357
|
+
description: "Empty state content for local filtering."
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
name: "emptyMessage",
|
|
361
|
+
type: "ReactNode",
|
|
362
|
+
defaultValue: "-",
|
|
363
|
+
description: "Alias for empty state content used by newer docs."
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
name: "renderOption",
|
|
367
|
+
type: "(option, state) => ReactNode",
|
|
368
|
+
defaultValue: "-",
|
|
369
|
+
description: "Custom option renderer for richer rows."
|
|
289
370
|
}
|
|
290
371
|
],
|
|
291
372
|
examples: [
|
|
@@ -297,6 +378,10 @@ var e = {
|
|
|
297
378
|
title: "Searchable primary select",
|
|
298
379
|
code: "<Select value={owner} onValueChange={setOwner} searchable options={ownerOptions} />"
|
|
299
380
|
},
|
|
381
|
+
{
|
|
382
|
+
title: "Grouped select",
|
|
383
|
+
code: "<Select value={region} onValueChange={setRegion} groups={regionGroups} searchable />"
|
|
384
|
+
},
|
|
300
385
|
{
|
|
301
386
|
title: "Async member direction",
|
|
302
387
|
code: "// Prefer Select first; use AsyncSelect only when remote loading is required."
|
|
@@ -308,6 +393,98 @@ var e = {
|
|
|
308
393
|
"Do not replace long forms with hidden select menus."
|
|
309
394
|
]
|
|
310
395
|
},
|
|
396
|
+
textarea: {
|
|
397
|
+
slug: "textarea",
|
|
398
|
+
source: "metadata",
|
|
399
|
+
summary: "Multi-line text entry surface with helper, error, read-only, disabled and character-count support.",
|
|
400
|
+
props: [
|
|
401
|
+
{
|
|
402
|
+
name: "value",
|
|
403
|
+
type: "string",
|
|
404
|
+
defaultValue: "-",
|
|
405
|
+
description: "Controlled textarea value."
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
name: "defaultValue",
|
|
409
|
+
type: "string",
|
|
410
|
+
defaultValue: "-",
|
|
411
|
+
description: "Uncontrolled initial value."
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
name: "onChange",
|
|
415
|
+
type: "ChangeEventHandler<HTMLTextAreaElement>",
|
|
416
|
+
defaultValue: "-",
|
|
417
|
+
description: "Native change handler."
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: "onValueChange",
|
|
421
|
+
type: "(value: string) => void",
|
|
422
|
+
defaultValue: "-",
|
|
423
|
+
description: "Direct text callback for controlled flows."
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
name: "rows",
|
|
427
|
+
type: "number",
|
|
428
|
+
defaultValue: "-",
|
|
429
|
+
description: "Initial visible row count."
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
name: "maxLength",
|
|
433
|
+
type: "number",
|
|
434
|
+
defaultValue: "-",
|
|
435
|
+
description: "Native maximum character length."
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
name: "helperText",
|
|
439
|
+
type: "ReactNode",
|
|
440
|
+
defaultValue: "-",
|
|
441
|
+
description: "Support copy rendered below the field."
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
name: "errorText",
|
|
445
|
+
type: "ReactNode",
|
|
446
|
+
defaultValue: "-",
|
|
447
|
+
description: "Validation copy rendered below the field and danger styling."
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
name: "showCharacterCount",
|
|
451
|
+
type: "boolean",
|
|
452
|
+
defaultValue: "false",
|
|
453
|
+
description: "Shows current length and maxLength when available."
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
name: "disabled",
|
|
457
|
+
type: "boolean",
|
|
458
|
+
defaultValue: "false",
|
|
459
|
+
description: "Disables editing."
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
name: "readOnly",
|
|
463
|
+
type: "boolean",
|
|
464
|
+
defaultValue: "false",
|
|
465
|
+
description: "Keeps content copyable while preventing edits."
|
|
466
|
+
}
|
|
467
|
+
],
|
|
468
|
+
examples: [
|
|
469
|
+
{
|
|
470
|
+
title: "Controlled note",
|
|
471
|
+
code: "<Textarea value={note} onValueChange={setNote} helperText=\"Internal note\" />"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
title: "Limited feedback",
|
|
475
|
+
code: "<Textarea maxLength={240} showCharacterCount />"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
title: "Error state",
|
|
479
|
+
code: "<Textarea errorText=\"Please add at least 10 characters.\" />"
|
|
480
|
+
}
|
|
481
|
+
],
|
|
482
|
+
accessibility: [
|
|
483
|
+
"Pair textareas with visible labels.",
|
|
484
|
+
"Use helper and error copy instead of placeholder-only instructions.",
|
|
485
|
+
"Keep read-only distinct from disabled."
|
|
486
|
+
]
|
|
487
|
+
},
|
|
311
488
|
"data-table": {
|
|
312
489
|
slug: "data-table",
|
|
313
490
|
source: "metadata",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-registry-preview.cjs");let t=require("react/jsx-runtime");function n(e,t,n,r,i=t){let a=m(e);return{slug:e,title:a,component:t,kind:n,summary:r,importName:i,highlights:[`${a} renders with realistic dashboard data instead of an empty shell.`,`${t} stays isolated so copy, install and preview remain component-scoped.`,u(n)],scenarios:[{title:`Use when`,description:d(n,r)},{title:`Implementation`,description:f(e,i)}]}}function r(e){return Object.fromEntries(e.map(e=>[e.slug,{mock:i(e),Showcase:n=>(0,t.jsx)(l,{definition:e,...n})}]))}function i(e){return{cliCommand:`npx tembro add ${e.slug}`,code:a(e),highlights:e.highlights,scenarios:e.scenarios,capabilityNotes:c(e)}}function a(e){return o[e.slug]??s(e)}var o={"search-input":`import {
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./render-registry-preview.cjs");let t=require("react/jsx-runtime");function n(e,t,n,r,i=t){let a=m(e);return{slug:e,title:a,component:t,kind:n,summary:r,importName:i,highlights:[`${a} renders with realistic dashboard data instead of an empty shell.`,`${t} stays isolated so copy, install and preview remain component-scoped.`,u(n)],scenarios:[{title:`Use when`,description:d(n,r)},{title:`Implementation`,description:f(e,i)}]}}function r(e){return Object.fromEntries(e.map(e=>[e.slug,{mock:i(e),Showcase:n=>(0,t.jsx)(l,{definition:e,...n})}]))}function i(e){return{cliCommand:`npx tembro add ${e.slug}`,code:a(e),highlights:e.highlights,scenarios:e.scenarios,capabilityNotes:c(e)}}function a(e){return o[e.slug]??s(e)}var o={"search-input":`import { Input } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Demo() {
|
|
4
4
|
return (
|
|
5
|
-
<
|
|
5
|
+
<Input
|
|
6
|
+
type="search"
|
|
6
7
|
value="invoice"
|
|
7
8
|
onValueChange={(value) => console.log(value)}
|
|
8
9
|
placeholder="Search invoices..."
|
|
@@ -61,12 +62,12 @@ export function Demo() {
|
|
|
61
62
|
]}
|
|
62
63
|
/>
|
|
63
64
|
)
|
|
64
|
-
}`,"filter-bar":`import { Button, FilterBar,
|
|
65
|
+
}`,"filter-bar":`import { Button, FilterBar, Input } from "tembro"
|
|
65
66
|
|
|
66
67
|
export function Demo() {
|
|
67
68
|
return (
|
|
68
69
|
<FilterBar
|
|
69
|
-
search={<
|
|
70
|
+
search={<Input type="search" value="" placeholder="Search rows..." readOnly />}
|
|
70
71
|
chips={[
|
|
71
72
|
{ key: "status", label: "Status", value: "Active", tone: "success" },
|
|
72
73
|
{ key: "owner", label: "Owner", value: "Azamat" },
|
|
@@ -46,14 +46,14 @@ function o(e) {
|
|
|
46
46
|
return s[e.slug] ?? c(e);
|
|
47
47
|
}
|
|
48
48
|
var s = {
|
|
49
|
-
"search-input": "import {
|
|
49
|
+
"search-input": "import { Input } from \"tembro\"\n\nexport function Demo() {\n return (\n <Input\n type=\"search\"\n value=\"invoice\"\n onValueChange={(value) => console.log(value)}\n placeholder=\"Search invoices...\"\n resultCount={12}\n shortcut=\"Ctrl K\"\n />\n )\n}",
|
|
50
50
|
"password-input": "import { PasswordInput } from \"tembro\"\n\nexport function Demo() {\n return <PasswordInput placeholder=\"Enter secure token\" autoComplete=\"current-password\" />\n}",
|
|
51
51
|
"clearable-input": "import { Input } from \"tembro\"\n\nexport function Demo() {\n return <Input defaultValue=\"Azamat UI\" placeholder=\"Search customer\" clearable />\n}",
|
|
52
52
|
"tag-input": "import { TagInput } from \"tembro\"\n\nexport function Demo() {\n return <TagInput defaultValue={[\"dashboard\", \"billing\"]} placeholder=\"Add tag\" />\n}",
|
|
53
53
|
"action-menu": "import { ActionMenu, Button } from \"tembro\"\n\nexport function Demo() {\n return (\n <ActionMenu\n label=\"Row actions\"\n actions={[\n { key: \"open\", label: \"Open\" },\n { key: \"duplicate\", label: \"Duplicate\" },\n { key: \"archive\", label: \"Archive\", destructive: true },\n ]}\n trigger={<Button variant=\"outline\">Actions</Button>}\n />\n )\n}",
|
|
54
54
|
"button-group": "import { ButtonGroup } from \"tembro\"\n\nexport function Demo() {\n return (\n <ButtonGroup\n items={[\n { key: \"day\", label: \"Day\" },\n { key: \"week\", label: \"Week\" },\n { key: \"month\", label: \"Month\" },\n ]}\n />\n )\n}",
|
|
55
55
|
"quick-action-grid": "import { QuickActionGrid } from \"tembro\"\n\nexport function Demo() {\n return (\n <QuickActionGrid\n columns={3}\n items={[\n { key: \"new\", label: \"New invoice\", description: \"Create a billing row.\" },\n { key: \"import\", label: \"Import CSV\", description: \"Upload operational data.\" },\n { key: \"share\", label: \"Share\", description: \"Invite a teammate.\" },\n ]}\n />\n )\n}",
|
|
56
|
-
"filter-bar": "import { Button, FilterBar,
|
|
56
|
+
"filter-bar": "import { Button, FilterBar, Input } from \"tembro\"\n\nexport function Demo() {\n return (\n <FilterBar\n search={<Input type=\"search\" value=\"\" placeholder=\"Search rows...\" readOnly />}\n chips={[\n { key: \"status\", label: \"Status\", value: \"Active\", tone: \"success\" },\n { key: \"owner\", label: \"Owner\", value: \"Azamat\" },\n ]}\n filters={<Button variant=\"outline\">Status</Button>}\n actions={<Button>Export</Button>}\n onReset={() => undefined}\n />\n )\n}",
|
|
57
57
|
"description-list": "import { DescriptionList } from \"tembro\"\n\nexport function Demo() {\n return (\n <DescriptionList\n title=\"Invoice details\"\n items={[\n { key: \"id\", label: \"Invoice\", value: \"#4821\" },\n { key: \"amount\", label: \"Amount\", value: \"$12,420\" },\n { key: \"status\", label: \"Status\", value: \"Paid\" },\n ]}\n />\n )\n}",
|
|
58
58
|
"stat-card": "import { StatCard } from \"tembro\"\n\nexport function Demo() {\n return (\n <StatCard\n title=\"Revenue\"\n value=\"$84.2k\"\n description=\"Compared with last month\"\n trend={{ value: \"+12.4%\", tone: \"success\" }}\n helperText=\"Updated just now\"\n />\n )\n}",
|
|
59
59
|
pagination: "import { Pagination } from \"tembro\"\n\nexport function Demo() {\n return <Pagination page={3} pageCount={9} onPageChange={(page) => console.log(page)} />\n}",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../components/ui/button/index.cjs"),t=require("../components/actions/button-group.cjs"),n=require("../components/actions/copy-button.cjs"),r=require("../components/actions/copy-field.cjs"),i=require("../components/ui/input/index.cjs"),a=require("../components/ui/card/index.cjs"),o=require("../components/ui/badge/index.cjs"),s=require("../components/ui/accordion/index.cjs"),c=require("../components/ui/skeleton/index.cjs"),
|
|
2
|
-
npx tembro add button`}):X.slug===`copy-button`?(0,Y.jsx)(n.CopyButton,{value:`npx tembro add button`,children:`Copy command`}):X.slug===`copy-field`?(0,Y.jsx)(r.CopyField,{label:`CLI command`,description:`Quick source-copy command`,value:`npx tembro add input`}):X.slug===`data-state`?(0,Y.jsx)(j.DataState,{status:`empty`,title:`No matching rows`,description:`Try another filter or import the first record.`,actions:(0,Y.jsx)(e.Button,{size:`sm`,children:`Import CSV`})}):X.slug===`descriptions`?(0,Y.jsx)(O.Descriptions,{title:`Workspace details`,columns:3,items:[{key:`owner`,label:`Owner`,value:`Azamat UI`},{key:`plan`,label:`Plan`,value:`Scale`},{key:`renewal`,label:`Renewal`,value:`Jul 14, 2026`}]}):X.slug===`divider`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium`,children:`Section above`}),(0,Y.jsx)(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../components/ui/button/index.cjs"),t=require("../components/actions/button-group.cjs"),n=require("../components/actions/copy-button.cjs"),r=require("../components/actions/copy-field.cjs"),i=require("../components/ui/input/index.cjs"),a=require("../components/ui/card/index.cjs"),o=require("../components/ui/badge/index.cjs"),s=require("../components/ui/accordion/index.cjs"),c=require("../components/ui/skeleton/index.cjs"),ee=require("../components/ui/divider/index.cjs"),l=require("../components/ui/segmented-control/index.cjs"),u=require("../components/ui/spinner/index.cjs"),d=require("../components/actions/quick-action-grid.cjs"),f=require("../components/layout/section.cjs"),p=require("../components/layout/sticky-footer-bar.cjs"),m=require("../components/navigation/page-tabs.cjs"),h=require("../components/navigation/stepper-tabs.cjs"),g=require("../components/filters/filter-bar.cjs"),_=require("../components/filters/saved-filter-select.cjs"),v=require("../components/inputs/color-input.cjs"),y=require("../components/inputs/otp-input.cjs"),b=require("../components/inputs/quantity-stepper.cjs"),x=require("../components/inputs/rating.cjs"),S=require("../components/inputs/slider.cjs"),te=require("../components/inputs/tag-input.cjs"),C=require("../components/inputs/json-input.cjs"),w=require("../components/inputs/time-picker.cjs"),T=require("../components/feedback/alert.cjs"),E=require("../components/feedback/page-state.cjs"),D=require("../components/display/avatar.cjs"),O=require("../components/display/descriptions.cjs"),k=require("../components/display/kanban.cjs"),A=require("../components/display/code-block.cjs"),j=require("../components/display/data-state.cjs"),M=require("../components/display/list.cjs"),N=require("../components/display/property-grid.cjs"),P=require("../components/display/statistic.cjs"),F=require("../components/display/status-legend.cjs"),I=require("../components/display/tree-view.cjs"),L=require("../components/layout/stat-card.cjs"),R=require("../components/display/carousel.cjs"),z=require("../components/display/qr-code.cjs"),B=require("../components/display/tag.cjs"),V=require("../components/display/typography.cjs"),H=require("../components/modern/calendar-scheduler.cjs"),U=require("../components/modern/dual-list-picker.cjs"),W=require("../components/modern/menubar.cjs"),G=require("../components/modern/navigation-menu.cjs"),K=require("../components/modern/resizable-panel.cjs"),q=require("../components/modern/rich-text-editor.cjs"),J=require("../components/modern/tour.cjs");let Y=require("react/jsx-runtime");function X({item:e,groupLabel:t,importSnippet:n}){let r=Z(e.slug);return{Showcase:n=>(0,Y.jsx)(Q,{...n,item:e,groupLabel:t}),mock:{cliCommand:`npx tembro add ${e.slug}`,code:`${n}\n\nexport function Example() {\n return <${r} />\n}`,highlights:e.features,scenarios:e.features.slice(0,3).map(t=>({title:t,description:`${e.title} can be copied into your app and adjusted locally.`})),capabilityNotes:e.features.slice(0,3)}}}function Z(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function Q({item:e,groupLabel:t,state:n,setState:r,mode:i}){let a=e.features.length?e.features:[t,`CLI add`,`Local file`];return(0,Y.jsxs)(`div`,{className:`space-y-5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5 border-b border-[color:var(--aui-divider)] pb-5 lg:flex-row lg:items-start lg:justify-between`,children:[(0,Y.jsxs)(`div`,{className:`max-w-xl`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-semibold uppercase tracking-[0.22em] text-[color:var(--aui-brand-strong)]`,children:`CLI component`}),(0,Y.jsx)(`h3`,{className:`mt-2.5 text-2xl font-semibold tracking-tight text-[color:var(--aui-page-foreground)]`,children:e.title}),(0,Y.jsx)(`p`,{className:`mt-3 text-sm leading-7 text-[color:var(--aui-page-muted)]`,children:"Copy this component into your app and adjust it inside your own `components` folder."})]}),(0,Y.jsx)(`div`,{className:`rounded-full border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] px-3 py-1.5 text-[11px] font-semibold uppercase tracking-[0.18em] text-[color:var(--aui-page-muted-strong)]`,children:i===`docs`?`Docs`:`Preview`})]}),(0,Y.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:a.slice(0,3).map(e=>(0,Y.jsxs)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-3.5`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-semibold text-[color:var(--aui-page-foreground)]`,children:e}),(0,Y.jsx)(`p`,{className:`mt-1.5 text-xs leading-5 text-[color:var(--aui-page-muted)]`,children:`Lives in your local component source.`})]},e))}),(0,Y.jsx)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-code-bg)] px-4 py-3`,children:(0,Y.jsxs)(`code`,{className:`text-sm text-[color:var(--aui-code-fg)]`,children:[`npx tembro add `,e.slug]})}),(0,Y.jsx)(`div`,{className:`rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4 sm:p-5`,children:$(e,t,n,r,i)})]})}function $(X,Z,Q,$,ne){return X.slug===`accordion`?(0,Y.jsx)(s.Accordion,{type:`single`,defaultValue:`api`,items:[{key:`api`,title:`Single open section`,description:`Open one section at a time.`,content:`Use one expanded panel when the page needs compact disclosure.`},{key:`states`,title:`State handling`,description:`Controlled or uncontrolled usage.`,content:`Use one expanded section for FAQs, settings clusters, and compact disclosure flows.`}]}):X.slug===`avatar`?(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4`,children:[(0,Y.jsx)(D.Avatar,{name:`Azamat UI`}),(0,Y.jsx)(D.Avatar,{fallback:`AJ`,shape:`rounded`}),(0,Y.jsx)(D.AvatarGroup,{items:[{key:`1`,name:`Azamat`},{key:`2`,name:`Nodir`},{key:`3`,name:`Dilshod`},{key:`4`,name:`Madina`}]})]}):X.slug===`calendar-scheduler`?(0,Y.jsx)(H.CalendarScheduler,{events:[{id:`1`,title:`Design review`,date:`Mon`,time:`10:00`,tone:`default`},{id:`2`,title:`Release QA`,date:`Tue`,time:`14:00`,tone:`warning`},{id:`3`,title:`Go live`,date:`Fri`,time:`09:30`,tone:`success`}]}):X.slug===`carousel`?(0,Y.jsxs)(R.Carousel,{index:0,children:[(0,Y.jsx)(R.CarouselItem,{children:(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-5`,children:[(0,Y.jsx)(`p`,{className:`text-lg font-semibold`,children:`Release dashboard`}),(0,Y.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Compact KPI slide for weekly review.`})]})})}),(0,Y.jsx)(R.CarouselItem,{children:(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-5`,children:[(0,Y.jsx)(`p`,{className:`text-lg font-semibold`,children:`Customer health`}),(0,Y.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Second slide with account risk summary.`})]})})})]}):X.slug===`code-block`?(0,Y.jsx)(A.CodeBlock,{title:`Install`,language:`bash`,code:`npx tembro init --template next
|
|
2
|
+
npx tembro add button`}):X.slug===`copy-button`?(0,Y.jsx)(n.CopyButton,{value:`npx tembro add button`,children:`Copy command`}):X.slug===`copy-field`?(0,Y.jsx)(r.CopyField,{label:`CLI command`,description:`Quick source-copy command`,value:`npx tembro add input`}):X.slug===`data-state`?(0,Y.jsx)(j.DataState,{status:`empty`,title:`No matching rows`,description:`Try another filter or import the first record.`,actions:(0,Y.jsx)(e.Button,{size:`sm`,children:`Import CSV`})}):X.slug===`descriptions`?(0,Y.jsx)(O.Descriptions,{title:`Workspace details`,columns:3,items:[{key:`owner`,label:`Owner`,value:`Azamat UI`},{key:`plan`,label:`Plan`,value:`Scale`},{key:`renewal`,label:`Renewal`,value:`Jul 14, 2026`}]}):X.slug===`divider`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium`,children:`Section above`}),(0,Y.jsx)(ee.Divider,{label:`Summary`}),(0,Y.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Section below`})]}):X.slug===`dual-list-picker`?(0,Y.jsx)(U.DualListPicker,{picked:[`billing`,`support`],items:[{value:`billing`,label:`Billing`},{value:`support`,label:`Support`},{value:`analytics`,label:`Analytics`},{value:`security`,label:`Security`}]}):X.slug===`segmented-control`?(0,Y.jsx)(l.SegmentedControl,{options:[{value:`overview`,label:`Overview`},{value:`activity`,label:`Activity`},{value:`settings`,label:`Settings`}],defaultValue:`overview`}):X.slug===`spinner`?(0,Y.jsxs)(`div`,{className:`flex items-center gap-5`,children:[(0,Y.jsx)(u.Spinner,{size:`xs`}),(0,Y.jsx)(u.Spinner,{size:`sm`}),(0,Y.jsx)(u.Spinner,{size:`md`}),(0,Y.jsx)(u.Spinner,{size:`lg`})]}):X.slug===`skeleton`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(c.Skeleton,{className:`h-10 w-full`}),(0,Y.jsx)(c.SkeletonText,{rows:3}),(0,Y.jsx)(c.SkeletonCard,{avatar:!0})]}):X.slug===`slider`?(0,Y.jsx)(S.Slider,{label:`Spacing scale`,description:`Adjust dashboard density.`,defaultValue:64,showValue:!0}):X.slug===`statistic`?(0,Y.jsxs)(P.StatisticGrid,{columns:3,children:[(0,Y.jsx)(P.StatisticCard,{label:`ARR`,value:`$84.2k`,change:`+12.4%`,trend:`up`,description:`vs previous month`}),(0,Y.jsx)(P.Statistic,{label:`MRR`,value:`$7.0k`,change:`+3.1%`,trend:`up`,description:`Live subscriptions`}),(0,Y.jsx)(P.Statistic,{label:`Churn`,value:`1.9%`,change:`-0.4%`,trend:`down`,description:`Healthy range`})]}):X.slug===`sticky-footer-bar`?(0,Y.jsxs)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)]`,children:[(0,Y.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`Scrollable page content`}),(0,Y.jsx)(p.StickyFooterBar,{start:(0,Y.jsx)(`div`,{className:`text-sm font-medium`,children:`2 unsaved changes`}),end:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(e.Button,{size:`sm`,variant:`outline`,children:`Discard`}),(0,Y.jsx)(e.Button,{size:`sm`,children:`Save`})]})})]}):X.slug===`tag`?(0,Y.jsxs)(B.TagGroup,{children:[(0,Y.jsx)(B.Tag,{children:`Default`}),(0,Y.jsx)(B.Tag,{tone:`success`,children:`Live`}),(0,Y.jsx)(B.Tag,{tone:`warning`,children:`Review`}),(0,Y.jsx)(B.Tag,{tone:`danger`,children:`Blocked`})]}):X.slug===`time-picker`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(w.TimePicker,{label:`Start time`,defaultValue:`09:30`}),(0,Y.jsx)(w.TimeRangePicker,{from:`09:30`,to:`17:30`})]}):X.slug===`tour`?(0,Y.jsx)(J.Tour,{index:1,steps:[{title:`Workspace setup`,description:`Initialize theme tokens first.`},{title:`Component add`,description:`Copy only the component you need.`},{title:`Detail route`,description:`Open docs, API and preview together.`}]}):X.slug===`tree-view`?(0,Y.jsx)(I.TreeView,{defaultExpandedKeys:[`components`,`inputs`],selectedKey:`button`,items:[{key:`components`,label:`Components`,children:[{key:`inputs`,label:`Inputs`,children:[{key:`button`,label:`Button`},{key:`input`,label:`Input`}]}]}]}):X.slug===`typography`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(V.Heading,{level:2,children:`Dashboard typography`}),(0,Y.jsx)(V.Text,{children:`Readable defaults for product copy and operational labels.`}),(0,Y.jsx)(`blockquote`,{className:`border-l-4 pl-4 italic text-muted-foreground`,children:`Ship simple text hierarchy before adding decorative layout layers.`}),(0,Y.jsxs)(V.Text,{muted:!0,size:`sm`,children:[`Use `,(0,Y.jsx)(V.Mark,{children:`Mark`}),` only for emphasis that matters.`]})]}):X.slug===`range-slider`?(0,Y.jsx)(S.RangeSlider,{label:`Revenue band`,description:`Filter a metric window.`,defaultValue:[20,80],showValue:!0}):X.slug===`rating`?(0,Y.jsx)(x.Rating,{defaultValue:4,labels:{clear:`Reset`}}):X.slug===`otp-input`?(0,Y.jsx)(y.OtpInput,{value:Q.textValue.replace(/\D/g,``).slice(0,6),onValueChange:e=>$({textValue:e})}):X.slug===`color-input`?(0,Y.jsx)(v.ColorInput,{defaultValue:`#22c55e`,label:`Accent color`,description:`Theme token preview.`}):X.slug===`tag-input`?(0,Y.jsx)(te.TagInput,{defaultValue:[`dashboard`,`beta`,`ops`],placeholder:`Add label`}):X.slug===`button-group`?(0,Y.jsx)(t.ButtonGroup,{items:[{key:`day`,label:`Day`},{key:`week`,label:`Week`},{key:`month`,label:`Month`}]}):X.slug===`quick-action-grid`||X.slug===`command-bar`?(0,Y.jsx)(d.QuickActionGrid,{columns:X.slug===`command-bar`?4:3,compact:X.slug===`command-bar`,items:[{key:`new`,label:`New invoice`,description:`Create a fresh billing row.`,badge:`N`},{key:`import`,label:`Import CSV`,description:`Bring finance data into the table.`,badge:`I`},{key:`share`,label:`Share workspace`,description:`Invite team members to the route.`,badge:`S`}]}):X.slug===`data-table-saved-filters`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(g.FilterBar,{chips:[{key:`status`,label:`Status`,value:`Active`,tone:`success`},{key:`owner`,label:`Owner`,value:`Azamat`,tone:`default`},{key:`region`,label:`Region`,value:`APAC`,tone:`info`}],onRemoveChip:()=>void 0,onReset:()=>void 0}),(0,Y.jsx)(t.ButtonGroup,{attached:!1,items:[{key:`default`,label:`Default`,variant:`secondary`},{key:`billing`,label:`Billing`},{key:`ops`,label:`Operations`}]})]}):X.slug===`page-tabs`?(0,Y.jsx)(m.PageTabs,{value:`overview`,variant:`pills`,items:[{value:`overview`,label:`Overview`},{value:`usage`,label:`Usage`},{value:`api`,label:`API`,badge:`3`}]}):X.slug===`stepper-tabs`?(0,Y.jsx)(h.StepperTabs,{value:`billing`,items:[{value:`profile`,label:`Profile`,description:`Team and owner details`,completed:!0},{value:`billing`,label:`Billing`,description:`Payment and invoices`},{value:`review`,label:`Review`,description:`Confirm release`}]}):X.slug===`alert`?(0,Y.jsx)(T.Alert,{tone:`warning`,title:`Review needed`,description:`Billing rules changed and one approval is pending.`,action:(0,Y.jsx)(e.Button,{size:`sm`,children:`Open`})}):X.slug===`page-state`?(0,Y.jsx)(E.PageState,{title:`Workspace connected`,description:`The route is ready to accept live data and team actions.`,tone:`success`,action:(0,Y.jsx)(e.Button,{size:`sm`,children:`Continue`})}):X.slug===`data-list`||X.slug===`list`?(0,Y.jsx)(M.List,{items:[{key:`1`,title:`Enterprise plan`,description:`Priority support and SSO`,extra:`$499`},{key:`2`,title:`Growth plan`,description:`Most used by product teams`,extra:`$199`},{key:`3`,title:`Starter plan`,description:`Lightweight team setup`,extra:`$49`}]}):X.slug===`status-legend`?(0,Y.jsx)(F.StatusLegend,{title:`Delivery states`,items:[{key:`live`,label:`Live`,description:`Healthy production routes`,tone:`success`,count:18},{key:`review`,label:`Review`,description:`Awaiting QA approval`,tone:`warning`,count:4},{key:`blocked`,label:`Blocked`,description:`Needs engineering action`,tone:`danger`,count:1}]}):X.slug===`trend-card`||X.slug===`comparison-card`?(0,Y.jsx)(L.StatCard,{title:X.slug===`trend-card`?`Weekly revenue`:`Current vs previous`,value:`$84.2k`,description:`Compared with last month`,trend:{value:`+12.4%`,tone:`success`}}):X.slug===`delta-badge`?(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(o.Badge,{variant:`secondary`,children:`+12.4%`}),(0,Y.jsx)(o.Badge,{variant:`outline`,children:`-3.1%`}),(0,Y.jsx)(o.Badge,{variant:`destructive`,children:`Risk`})]}):X.slug===`notification-center`?(0,Y.jsx)(M.List,{items:[{key:`1`,title:`Build completed`,description:`Dashboard docs deployment is live.`,extra:`Now`},{key:`2`,title:`New comment`,description:`Review requested on DataTable API.`,extra:`8m`},{key:`3`,title:`Publish reminder`,description:`Package version is ready for release.`,extra:`1h`}]}):X.slug===`inline-editable`?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row`,children:[(0,Y.jsx)(i.Input,{value:Q.textValue,onChange:e=>$({textValue:e.currentTarget.value})}),(0,Y.jsx)(e.Button,{size:`sm`,children:`Save label`})]}):X.slug===`json-input`?(0,Y.jsx)(C.JsonInput,{value:`{
|
|
3
3
|
"workspace": "azamat-ui",
|
|
4
4
|
"theme": "dashboard"
|
|
5
|
-
}`,onValueChange:()=>void 0,rows:7}):X.slug===`kanban`?(0,Y.jsx)(k.KanbanBoard,{columns:[{key:`todo`,title:`Todo`,cards:[{key:`1`,title:`Polish Button demo`,description:`Improve interactive preview states.`}]},{key:`progress`,title:`In progress`,cards:[{key:`2`,title:`Refresh Input docs`,description:`Clean API notes and examples.`}]},{key:`done`,title:`Done`,cards:[{key:`3`,title:`Publish 1.0.0`,description:`Release package and sync docs.`}]}]}):X.slug===`menubar`?(0,Y.jsxs)(W.Menubar,{children:[(0,Y.jsxs)(W.MenubarMenu,{children:[(0,Y.jsx)(W.MenubarTrigger,{children:`File`}),(0,Y.jsxs)(W.MenubarContent,{className:`relative mt-2`,children:[(0,Y.jsx)(W.MenubarItem,{children:`New page`}),(0,Y.jsx)(W.MenubarItem,{children:`Duplicate`})]})]}),(0,Y.jsx)(W.MenubarMenu,{children:(0,Y.jsx)(W.MenubarTrigger,{children:`Edit`})}),(0,Y.jsx)(W.MenubarMenu,{children:(0,Y.jsx)(W.MenubarTrigger,{children:`View`})})]}):X.slug===`navigation-menu`?(0,Y.jsx)(G.NavigationMenu,{children:(0,Y.jsxs)(G.NavigationMenuList,{children:[(0,Y.jsx)(G.NavigationMenuItem,{children:(0,Y.jsx)(G.NavigationMenuLink,{href:`#`,active:!0,children:`Overview`})}),(0,Y.jsx)(G.NavigationMenuItem,{children:(0,Y.jsx)(G.NavigationMenuLink,{href:`#`,children:`Components`})}),(0,Y.jsx)(G.NavigationMenuItem,{children:(0,Y.jsx)(G.NavigationMenuLink,{href:`#`,children:`Docs`})})]})}):X.slug===`overlay`?(0,Y.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-4`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:`Dialog`}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Focused confirmation and forms.`})]})}),(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-4`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:`Popover`}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Compact contextual actions.`})]})}),(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-4`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:`Sheet`}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Side panel workflows.`})]})})]}):X.slug===`property-grid`?(0,Y.jsx)(N.PropertyGrid,{columns:3,items:[{key:`framework`,label:`Framework`,value:`Next.js`,description:`App Router setup`},{key:`theme`,label:`Theme`,value:`Light / Dark`,description:`CSS tokens ready`},{key:`mode`,label:`Mode`,value:`Source-copy`,description:`Editable local files`}]}):X.slug===`qr-code`?(0,Y.jsx)(z.QRCode,{value:`https://azamat-ui.vercel.app`,alt:`Azamat UI`}):X.slug===`quantity-stepper`?(0,Y.jsx)(b.QuantityStepper,{defaultValue:3,min:1,max:10}):X.slug===`resizable-panel`?(0,Y.jsxs)(K.ResizablePanelGroup,{children:[(0,Y.jsxs)(K.ResizablePanel,{defaultSize:`45%`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium`,children:`Preview panel`}),(0,Y.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Resize this surface in product screens with long content.`})]}),(0,Y.jsx)(K.ResizableHandle,{}),(0,Y.jsxs)(K.ResizablePanel,{defaultSize:`55%`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium`,children:`Inspector panel`}),(0,Y.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Use for side-by-side data and editing tools.`})]})]}):X.slug===`rich-text-editor`?(0,Y.jsx)(q.RichTextEditor,{value:`<p><strong>Release note</strong> with product details.</p>`,onValueChange:()=>void 0}):X.slug===`saved-filter-select`?(0,Y.jsx)(_.SavedFilterSelect,{value:`billing`,filters:[{value:`billing`,label:`Billing`,description:`Invoices and payment status`},{value:`ops`,label:`Operations`,description:`Queues and workload`},{value:`owners`,label:`Owner: Azamat`,description:`Assigned records only`}],onValueChange:()=>void 0,onSave:()=>void 0,onDelete:()=>void 0}):X.slug===`section`?(0,Y.jsx)(f.Section,{title:`Revenue summary`,description:`Section wrapper for grouped content and actions.`,actions:(0,Y.jsx)(e.Button,{size:`sm`,children:`Export`}),bordered:!0,children:(0,Y.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Place chart, filters, table or any route content inside.`})}):X.category===`Forms`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(i.Input,{value:Q.textValue,onChange:e=>$({textValue:e.currentTarget.value}),placeholder:`${X.title} preview`}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Generic field preview for this form surface.`})]}):X.category===`Overlay`?(0,Y.jsxs)(`div`,{className:`grid gap-4 rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-sm font-semibold text-[color:var(--aui-page-foreground)]`,children:X.title}),(0,Y.jsx)(`p`,{className:`mt-2 max-w-xl text-sm leading-6 text-[color:var(--aui-page-muted)]`,children:`Overlay surfaces should stay compact, focused, and secondary to the route behind them.`})]}),(0,Y.jsx)(o.Badge,{variant:`outline`,children:`Overlay`})]}),(0,Y.jsx)(`div`,{className:`rounded-2xl border border-dashed border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,Y.jsx)(e.Button,{variant:`ghost`,children:`Cancel`}),(0,Y.jsx)(e.Button,{variant:`outline`,children:`Save draft`}),(0,Y.jsx)(e.Button,{children:`Confirm`})]})})]}):X.category===`Data Display`?(0,Y.jsxs)(`div`,{className:`grid gap-4 rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-lg font-semibold`,children:X.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Display surfaces should prioritize readable values, compact metadata, and clear scanning order.`})]}),(0,Y.jsx)(o.Badge,{variant:`outline`,children:
|
|
5
|
+
}`,onValueChange:()=>void 0,rows:7}):X.slug===`kanban`?(0,Y.jsx)(k.KanbanBoard,{columns:[{key:`todo`,title:`Todo`,cards:[{key:`1`,title:`Polish Button demo`,description:`Improve interactive preview states.`}]},{key:`progress`,title:`In progress`,cards:[{key:`2`,title:`Refresh Input docs`,description:`Clean API notes and examples.`}]},{key:`done`,title:`Done`,cards:[{key:`3`,title:`Publish 1.0.0`,description:`Release package and sync docs.`}]}]}):X.slug===`menubar`?(0,Y.jsxs)(W.Menubar,{children:[(0,Y.jsxs)(W.MenubarMenu,{children:[(0,Y.jsx)(W.MenubarTrigger,{children:`File`}),(0,Y.jsxs)(W.MenubarContent,{className:`relative mt-2`,children:[(0,Y.jsx)(W.MenubarItem,{children:`New page`}),(0,Y.jsx)(W.MenubarItem,{children:`Duplicate`})]})]}),(0,Y.jsx)(W.MenubarMenu,{children:(0,Y.jsx)(W.MenubarTrigger,{children:`Edit`})}),(0,Y.jsx)(W.MenubarMenu,{children:(0,Y.jsx)(W.MenubarTrigger,{children:`View`})})]}):X.slug===`navigation-menu`?(0,Y.jsx)(G.NavigationMenu,{children:(0,Y.jsxs)(G.NavigationMenuList,{children:[(0,Y.jsx)(G.NavigationMenuItem,{children:(0,Y.jsx)(G.NavigationMenuLink,{href:`#`,active:!0,children:`Overview`})}),(0,Y.jsx)(G.NavigationMenuItem,{children:(0,Y.jsx)(G.NavigationMenuLink,{href:`#`,children:`Components`})}),(0,Y.jsx)(G.NavigationMenuItem,{children:(0,Y.jsx)(G.NavigationMenuLink,{href:`#`,children:`Docs`})})]})}):X.slug===`overlay`?(0,Y.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-4`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:`Dialog`}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Focused confirmation and forms.`})]})}),(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-4`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:`Popover`}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Compact contextual actions.`})]})}),(0,Y.jsx)(a.Card,{children:(0,Y.jsxs)(a.CardContent,{className:`p-4`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:`Sheet`}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Side panel workflows.`})]})})]}):X.slug===`property-grid`?(0,Y.jsx)(N.PropertyGrid,{columns:3,items:[{key:`framework`,label:`Framework`,value:`Next.js`,description:`App Router setup`},{key:`theme`,label:`Theme`,value:`Light / Dark`,description:`CSS tokens ready`},{key:`mode`,label:`Mode`,value:`Source-copy`,description:`Editable local files`}]}):X.slug===`qr-code`?(0,Y.jsx)(z.QRCode,{value:`https://azamat-ui.vercel.app`,alt:`Azamat UI`}):X.slug===`quantity-stepper`?(0,Y.jsx)(b.QuantityStepper,{defaultValue:3,min:1,max:10}):X.slug===`resizable-panel`?(0,Y.jsxs)(K.ResizablePanelGroup,{children:[(0,Y.jsxs)(K.ResizablePanel,{defaultSize:`45%`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium`,children:`Preview panel`}),(0,Y.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Resize this surface in product screens with long content.`})]}),(0,Y.jsx)(K.ResizableHandle,{}),(0,Y.jsxs)(K.ResizablePanel,{defaultSize:`55%`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium`,children:`Inspector panel`}),(0,Y.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Use for side-by-side data and editing tools.`})]})]}):X.slug===`rich-text-editor`?(0,Y.jsx)(q.RichTextEditor,{value:`<p><strong>Release note</strong> with product details.</p>`,onValueChange:()=>void 0}):X.slug===`saved-filter-select`?(0,Y.jsx)(_.SavedFilterSelect,{value:`billing`,filters:[{value:`billing`,label:`Billing`,description:`Invoices and payment status`},{value:`ops`,label:`Operations`,description:`Queues and workload`},{value:`owners`,label:`Owner: Azamat`,description:`Assigned records only`}],onValueChange:()=>void 0,onSave:()=>void 0,onDelete:()=>void 0}):X.slug===`section`?(0,Y.jsx)(f.Section,{title:`Revenue summary`,description:`Section wrapper for grouped content and actions.`,actions:(0,Y.jsx)(e.Button,{size:`sm`,children:`Export`}),bordered:!0,children:(0,Y.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`Place chart, filters, table or any route content inside.`})}):X.category===`Forms`?(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Y.jsx)(i.Input,{value:Q.textValue,onChange:e=>$({textValue:e.currentTarget.value}),placeholder:`${X.title} preview`}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Generic field preview for this form surface.`})]}):X.category===`Overlay`?(0,Y.jsxs)(`div`,{className:`grid gap-4 rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-sm font-semibold text-[color:var(--aui-page-foreground)]`,children:X.title}),(0,Y.jsx)(`p`,{className:`mt-2 max-w-xl text-sm leading-6 text-[color:var(--aui-page-muted)]`,children:`Overlay surfaces should stay compact, focused, and secondary to the route behind them.`})]}),(0,Y.jsx)(o.Badge,{variant:`outline`,children:`Overlay`})]}),(0,Y.jsx)(`div`,{className:`rounded-2xl border border-dashed border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,Y.jsx)(e.Button,{variant:`ghost`,children:`Cancel`}),(0,Y.jsx)(e.Button,{variant:`outline`,children:`Save draft`}),(0,Y.jsx)(e.Button,{children:`Confirm`})]})})]}):X.category===`Data Display`?(0,Y.jsxs)(`div`,{className:`grid gap-4 rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-lg font-semibold`,children:X.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Display surfaces should prioritize readable values, compact metadata, and clear scanning order.`})]}),(0,Y.jsx)(o.Badge,{variant:`outline`,children:ne})]}),(0,Y.jsx)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[{label:`Primary value`,value:`84.2k`,note:`Strong first read`},{label:`Supporting meta`,value:`12 teams`,note:`Context stays secondary`},{label:`Status`,value:`Live`,note:`One concise badge or tone`}].map(e=>(0,Y.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] px-4 py-3`,children:[(0,Y.jsx)(`p`,{className:`text-xs uppercase tracking-[0.18em] text-muted-foreground`,children:e.label}),(0,Y.jsx)(`p`,{className:`mt-2 text-lg font-semibold text-[color:var(--aui-page-foreground)]`,children:e.value}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:e.note})]},e.label))})]}):(0,Y.jsx)(`div`,{className:`rounded-2xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`,children:(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-lg font-semibold`,children:X.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Neutral starter preview for this surface. Copy it into your app, then shape the final state with your real data and props.`})]}),(0,Y.jsx)(o.Badge,{variant:`outline`,children:X.category})]})})}exports.createGenericShowcaseDemo=X;
|