tembro 2.0.3 → 2.0.5
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/actions/action-menu.cjs +1 -1
- package/dist/components/actions/action-menu.d.ts +13 -1
- package/dist/components/actions/action-menu.js +87 -61
- package/dist/components/actions/button-group.cjs +1 -1
- package/dist/components/actions/button-group.d.ts +9 -1
- package/dist/components/actions/button-group.js +58 -14
- package/dist/components/actions/copy-button.cjs +1 -1
- package/dist/components/actions/copy-button.d.ts +2 -1
- package/dist/components/actions/copy-button.js +13 -11
- package/dist/components/calendar/calendar.cjs +1 -1
- package/dist/components/calendar/calendar.d.ts +14 -1
- package/dist/components/calendar/calendar.js +207 -128
- package/dist/components/calendar/date-picker.cjs +1 -1
- package/dist/components/calendar/date-picker.d.ts +3 -1
- package/dist/components/calendar/date-picker.js +57 -27
- package/dist/components/calendar/date-range-picker.cjs +1 -1
- package/dist/components/calendar/date-range-picker.d.ts +10 -1
- package/dist/components/calendar/date-range-picker.js +149 -64
- package/dist/components/data-table/data-table-toolbar.cjs +1 -1
- package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
- package/dist/components/data-table/data-table-toolbar.js +36 -23
- package/dist/components/data-table/data-table.cjs +1 -1
- package/dist/components/data-table/data-table.d.ts +6 -4
- package/dist/components/data-table/data-table.js +87 -79
- package/dist/components/data-table/demo.cjs +1 -1
- package/dist/components/data-table/demo.js +3 -13
- package/dist/components/data-table/index.cjs +1 -1
- package/dist/components/data-table/index.js +5 -5
- package/dist/components/data-table/public.cjs +1 -1
- package/dist/components/data-table/public.d.ts +1 -6
- package/dist/components/data-table/public.js +7 -12
- package/dist/components/display/activity-feed.cjs +1 -1
- package/dist/components/display/activity-feed.d.ts +12 -1
- package/dist/components/display/activity-feed.js +69 -47
- package/dist/components/display/carousel.cjs +1 -1
- package/dist/components/display/carousel.d.ts +10 -1
- package/dist/components/display/carousel.js +68 -23
- package/dist/components/display/code-block.cjs +2 -1
- package/dist/components/display/code-block.d.ts +3 -1
- package/dist/components/display/code-block.js +33 -19
- package/dist/components/display/comparison-card.cjs +1 -1
- package/dist/components/display/comparison-card.d.ts +3 -3
- package/dist/components/display/comparison-card.js +14 -38
- package/dist/components/display/data-state.cjs +1 -1
- package/dist/components/display/data-state.d.ts +12 -2
- package/dist/components/display/data-state.js +80 -42
- package/dist/components/display/demo.cjs +1 -1
- package/dist/components/display/demo.js +1 -5
- package/dist/components/display/index.cjs +1 -1
- package/dist/components/display/index.d.ts +0 -8
- package/dist/components/display/index.js +21 -29
- package/dist/components/feedback/alert.cjs +1 -1
- package/dist/components/feedback/alert.d.ts +6 -1
- package/dist/components/feedback/alert.js +49 -19
- package/dist/components/feedback/index.cjs +1 -1
- package/dist/components/feedback/index.d.ts +0 -2
- package/dist/components/feedback/index.js +3 -5
- package/dist/components/filters/demo.cjs +1 -1
- package/dist/components/filters/demo.js +1 -5
- package/dist/components/filters/filter-bar.cjs +1 -1
- package/dist/components/filters/filter-bar.d.ts +15 -1
- package/dist/components/filters/filter-bar.js +94 -50
- package/dist/components/filters/index.cjs +1 -1
- package/dist/components/filters/index.d.ts +0 -1
- package/dist/components/filters/index.js +3 -4
- package/dist/components/form/demo.cjs +1 -1
- package/dist/components/form/demo.js +1 -2
- package/dist/components/form/form-field-shell.cjs +1 -1
- package/dist/components/form/form-field-shell.d.ts +17 -3
- package/dist/components/form/form-field-shell.js +54 -40
- package/dist/components/form/form-input.cjs +1 -1
- package/dist/components/form/form-input.js +278 -217
- package/dist/components/form/form-select.cjs +1 -1
- package/dist/components/form/form-select.js +47 -33
- package/dist/components/form/form-switch.cjs +1 -1
- package/dist/components/form/form-switch.js +79 -66
- package/dist/components/form/form-textarea.cjs +1 -1
- package/dist/components/form/form-textarea.js +59 -48
- package/dist/components/form/index.cjs +1 -1
- package/dist/components/form/index.d.ts +0 -1
- package/dist/components/form/index.js +11 -12
- package/dist/components/form/public.cjs +1 -1
- package/dist/components/form/public.d.ts +0 -9
- package/dist/components/form/public.js +7 -16
- package/dist/components/inputs/async-select.cjs +1 -1
- package/dist/components/inputs/async-select.d.ts +11 -2
- package/dist/components/inputs/async-select.js +278 -270
- package/dist/components/inputs/combobox.cjs +1 -1
- package/dist/components/inputs/combobox.d.ts +5 -1
- package/dist/components/inputs/combobox.js +52 -19
- package/dist/components/inputs/index.cjs +1 -1
- package/dist/components/inputs/index.d.ts +0 -2
- package/dist/components/inputs/index.js +3 -5
- package/dist/components/inputs/public.cjs +1 -1
- package/dist/components/inputs/public.d.ts +0 -2
- package/dist/components/inputs/public.js +3 -5
- package/dist/components/inputs/simple-select.cjs +1 -1
- package/dist/components/inputs/simple-select.d.ts +2 -1
- package/dist/components/inputs/simple-select.js +32 -16
- package/dist/components/layout/app-sidebar.cjs +1 -1
- package/dist/components/layout/app-sidebar.d.ts +4 -1
- package/dist/components/layout/app-sidebar.js +152 -132
- package/dist/components/layout/breadcrumbs.cjs +1 -1
- package/dist/components/layout/breadcrumbs.d.ts +2 -1
- package/dist/components/layout/breadcrumbs.js +10 -10
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.d.ts +0 -1
- package/dist/components/layout/index.js +4 -5
- package/dist/components/layout/public.cjs +1 -1
- package/dist/components/layout/public.d.ts +0 -1
- package/dist/components/layout/public.js +2 -3
- package/dist/components/layout/stat-card.cjs +1 -1
- package/dist/components/layout/stat-card.d.ts +8 -1
- package/dist/components/layout/stat-card.js +33 -11
- package/dist/components/modern/calendar-scheduler.cjs +1 -1
- package/dist/components/modern/calendar-scheduler.d.ts +2 -1
- package/dist/components/modern/calendar-scheduler.js +21 -12
- package/dist/components/modern/index.cjs +1 -1
- package/dist/components/modern/index.d.ts +0 -4
- package/dist/components/modern/index.js +12 -16
- package/dist/components/overlay/alert-dialog.cjs +1 -1
- package/dist/components/overlay/alert-dialog.d.ts +15 -1
- package/dist/components/overlay/alert-dialog.js +102 -27
- package/dist/components/overlay/drawer.cjs +1 -1
- package/dist/components/overlay/drawer.d.ts +4 -1
- package/dist/components/overlay/drawer.js +20 -17
- package/dist/components/patterns/index.cjs +1 -1
- package/dist/components/patterns/index.d.ts +0 -1
- package/dist/components/patterns/index.js +1 -2
- package/dist/components/patterns/public.cjs +1 -1
- package/dist/components/patterns/public.d.ts +0 -1
- package/dist/components/patterns/public.js +1 -2
- package/dist/components/ui/button/index.cjs +1 -1
- package/dist/components/ui/button/index.d.ts +3 -1
- package/dist/components/ui/button/index.js +7 -5
- package/dist/components/ui/checkbox/index.cjs +1 -1
- package/dist/components/ui/checkbox/index.d.ts +8 -0
- package/dist/components/ui/checkbox/index.js +16 -14
- package/dist/components/ui/collapse/index.cjs +1 -1
- package/dist/components/ui/collapse/index.d.ts +17 -3
- package/dist/components/ui/collapse/index.js +88 -33
- package/dist/components/ui/dialog/index.cjs +1 -1
- package/dist/components/ui/dialog/index.d.ts +2 -1
- package/dist/components/ui/dialog/index.js +6 -4
- package/dist/components/ui/dropdown-menu/index.cjs +1 -1
- package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
- package/dist/components/ui/dropdown-menu/index.js +87 -62
- package/dist/index.cjs +1 -1
- package/dist/index.js +145 -177
- package/dist/public-component-surface.cjs +1 -1
- package/dist/public-component-surface.js +0 -80
- package/dist/showcase/component-api-schema.cjs +1 -1
- package/dist/showcase/component-api-schema.js +2 -2
- package/dist/showcase/create-demo.cjs +20 -34
- package/dist/showcase/create-demo.js +15 -16
- package/dist/showcase/fallback.cjs +3 -3
- package/dist/showcase/fallback.js +287 -451
- package/dist/showcase/premium/accordion/showcase.cjs +1 -1
- package/dist/showcase/premium/accordion/showcase.js +36 -5
- package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
- package/dist/showcase/premium/action-menu/showcase.js +26 -8
- package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
- package/dist/showcase/premium/activity-feed/showcase.js +60 -36
- package/dist/showcase/premium/alert/showcase.cjs +1 -1
- package/dist/showcase/premium/alert/showcase.js +41 -18
- package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
- package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
- package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
- package/dist/showcase/premium/async-multi-select/mock.js +5 -5
- package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
- package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
- package/dist/showcase/premium/async-select/mock.cjs +1 -1
- package/dist/showcase/premium/async-select/mock.js +1 -1
- package/dist/showcase/premium/async-select/showcase.cjs +1 -1
- package/dist/showcase/premium/async-select/showcase.js +69 -22
- package/dist/showcase/premium/button/showcase.cjs +1 -1
- package/dist/showcase/premium/button/showcase.js +49 -3
- package/dist/showcase/premium/button-group/showcase.cjs +1 -1
- package/dist/showcase/premium/button-group/showcase.js +53 -29
- package/dist/showcase/premium/calendar/showcase.cjs +1 -1
- package/dist/showcase/premium/calendar/showcase.js +7 -2
- package/dist/showcase/premium/carousel/showcase.cjs +1 -1
- package/dist/showcase/premium/carousel/showcase.js +95 -47
- package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
- package/dist/showcase/premium/checkbox/showcase.js +143 -67
- package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
- package/dist/showcase/premium/clearable-input/mock.js +3 -2
- package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
- package/dist/showcase/premium/clearable-input/showcase.js +8 -2
- package/dist/showcase/premium/collapse/showcase.cjs +1 -1
- package/dist/showcase/premium/collapse/showcase.js +7 -0
- package/dist/showcase/premium/combobox/showcase.cjs +1 -1
- package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
- package/dist/showcase/premium/combobox/showcase.js +56 -47
- package/dist/showcase/premium/data-table/showcase.cjs +1 -1
- package/dist/showcase/premium/data-table/showcase.js +138 -46
- package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
- package/dist/showcase/premium/data-table-parts/showcase.js +13 -13
- package/dist/showcase/premium/date-input/mock.cjs +1 -1
- package/dist/showcase/premium/date-input/mock.js +1 -1
- package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
- package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
- package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
- package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
- package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
- package/dist/showcase/premium/form-wrapper/mock.js +4 -4
- package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
- package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
- package/dist/showcase/premium/index.cjs +1 -1
- package/dist/showcase/premium/index.js +467 -574
- package/dist/showcase/premium/input/mock.cjs +4 -1
- package/dist/showcase/premium/input/mock.js +1 -1
- package/dist/showcase/premium/masked-input/mock.cjs +1 -1
- package/dist/showcase/premium/masked-input/mock.js +1 -1
- package/dist/showcase/premium/money-input/mock.cjs +1 -1
- package/dist/showcase/premium/money-input/mock.js +1 -1
- package/dist/showcase/premium/number-input/mock.cjs +1 -1
- package/dist/showcase/premium/number-input/mock.js +1 -1
- package/dist/showcase/premium/phone-input/mock.cjs +1 -1
- package/dist/showcase/premium/phone-input/mock.js +1 -1
- package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
- package/dist/showcase/premium/quantity-input/mock.js +1 -1
- package/dist/showcase/premium/simple-select/mock.cjs +1 -1
- package/dist/showcase/premium/simple-select/mock.js +1 -1
- package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
- package/dist/showcase/premium/simple-select/showcase.js +4 -2
- package/dist/showcase/preview-catalog.cjs +7 -10
- package/dist/showcase/preview-catalog.js +7 -7
- package/dist/showcase/registry-quality.cjs +1 -1
- package/dist/showcase/registry-quality.js +0 -24
- package/dist/showcase/registry-specific.cjs +1 -1
- package/dist/showcase/registry-specific.js +149 -383
- package/dist/showcase/render-registry-preview.cjs +1 -1
- package/dist/showcase/render-registry-preview.js +163 -195
- package/dist/showcase/site-data.cjs +1 -1
- package/dist/showcase/site-data.js +197 -941
- package/dist/showcase/supplemental.cjs +1 -1
- package/dist/showcase/supplemental.js +1 -1
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +33 -59
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +2 -2
- package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
- package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
- package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
- package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
- package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
- package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
- package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
- package/packages/cli/vendor/src/components/data-table/data-table.tsx +65 -53
- package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
- package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
- package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
- package/packages/cli/vendor/src/components/display/carousel.tsx +88 -2
- package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
- package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
- package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
- package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
- package/packages/cli/vendor/src/components/display/index.ts +0 -8
- package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
- package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
- package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
- package/packages/cli/vendor/src/components/filters/index.ts +0 -1
- package/packages/cli/vendor/src/components/form/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
- package/packages/cli/vendor/src/components/form/form-input.tsx +118 -11
- package/packages/cli/vendor/src/components/form/form-select.tsx +26 -3
- package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
- package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
- package/packages/cli/vendor/src/components/form/index.ts +0 -1
- package/packages/cli/vendor/src/components/form/public.ts +0 -11
- package/packages/cli/vendor/src/components/inputs/async-select.tsx +126 -82
- package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
- package/packages/cli/vendor/src/components/inputs/index.ts +0 -2
- package/packages/cli/vendor/src/components/inputs/public.ts +0 -2
- package/packages/cli/vendor/src/components/inputs/simple-select.tsx +52 -24
- package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
- package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
- package/packages/cli/vendor/src/components/layout/index.ts +0 -1
- package/packages/cli/vendor/src/components/layout/public.ts +0 -1
- package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
- package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
- package/packages/cli/vendor/src/components/modern/index.ts +1 -5
- package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
- package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
- package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
- package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
- package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
- package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
- package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
- package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
- package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
- package/packages/cli/vendor/src/public-component-surface.ts +0 -16
- package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
- package/packages/cli/vendor/src/showcase/create-demo.tsx +31 -46
- package/packages/cli/vendor/src/showcase/fallback.tsx +83 -263
- package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
- package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
- package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
- package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
- package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
- package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
- package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
- package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
- package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
- package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
- package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
- package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
- package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
- package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
- package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
- package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
- package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
- package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
- package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +11 -11
- package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
- package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
- package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
- package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
- package/packages/cli/vendor/src/showcase/premium/index.ts +7 -46
- package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
- package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
- package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
- package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -30
- package/packages/cli/vendor/src/showcase/registry-specific.tsx +3 -178
- package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +18 -51
- package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
- package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
- package/packages/cli/vendor/src/showcase/tembro-registry.json +206 -280
- package/registry.json +251 -329
- package/dist/components/display/aspect-ratio.cjs +0 -1
- package/dist/components/display/aspect-ratio.d.ts +0 -6
- package/dist/components/display/aspect-ratio.js +0 -21
- package/dist/components/display/entity-card.cjs +0 -1
- package/dist/components/display/entity-card.d.ts +0 -18
- package/dist/components/display/entity-card.js +0 -61
- package/dist/components/display/entity-header.cjs +0 -1
- package/dist/components/display/entity-header.d.ts +0 -13
- package/dist/components/display/entity-header.js +0 -52
- package/dist/components/display/file-card.cjs +0 -1
- package/dist/components/display/file-card.d.ts +0 -14
- package/dist/components/display/file-card.js +0 -59
- package/dist/components/display/float-button.cjs +0 -1
- package/dist/components/display/float-button.d.ts +0 -6
- package/dist/components/display/float-button.js +0 -20
- package/dist/components/display/key-value-card.cjs +0 -1
- package/dist/components/display/key-value-card.d.ts +0 -16
- package/dist/components/display/key-value-card.js +0 -35
- package/dist/components/display/keyboard-shortcut.cjs +0 -1
- package/dist/components/display/keyboard-shortcut.d.ts +0 -7
- package/dist/components/display/keyboard-shortcut.js +0 -18
- package/dist/components/display/skeleton-form.cjs +0 -1
- package/dist/components/display/skeleton-form.d.ts +0 -9
- package/dist/components/display/skeleton-form.js +0 -31
- package/dist/components/display/skeleton-table.cjs +0 -1
- package/dist/components/display/skeleton-table.d.ts +0 -9
- package/dist/components/display/skeleton-table.js +0 -42
- package/dist/components/display/tag-list.cjs +0 -1
- package/dist/components/display/tag-list.d.ts +0 -17
- package/dist/components/display/tag-list.js +0 -30
- package/dist/components/display/watermark.cjs +0 -1
- package/dist/components/display/watermark.d.ts +0 -6
- package/dist/components/display/watermark.js +0 -23
- package/dist/components/feedback/empty-search-state.cjs +0 -1
- package/dist/components/feedback/empty-search-state.d.ts +0 -11
- package/dist/components/feedback/empty-search-state.js +0 -45
- package/dist/components/feedback/empty-state.cjs +0 -1
- package/dist/components/feedback/empty-state.d.ts +0 -11
- package/dist/components/feedback/empty-state.js +0 -38
- package/dist/components/filters/filter-chips.cjs +0 -1
- package/dist/components/filters/filter-chips.d.ts +0 -18
- package/dist/components/filters/filter-chips.js +0 -61
- package/dist/components/form/repeater-field.cjs +0 -1
- package/dist/components/form/repeater-field.d.ts +0 -16
- package/dist/components/form/repeater-field.js +0 -48
- package/dist/components/inputs/cascader.cjs +0 -1
- package/dist/components/inputs/cascader.d.ts +0 -13
- package/dist/components/inputs/cascader.js +0 -58
- package/dist/components/inputs/mention-input.cjs +0 -1
- package/dist/components/inputs/mention-input.d.ts +0 -18
- package/dist/components/inputs/mention-input.js +0 -96
- package/dist/components/layout/stack.cjs +0 -1
- package/dist/components/layout/stack.d.ts +0 -23
- package/dist/components/layout/stack.js +0 -57
- package/dist/components/modern/affix.cjs +0 -1
- package/dist/components/modern/affix.d.ts +0 -7
- package/dist/components/modern/affix.js +0 -18
- package/dist/components/patterns/form-builder-presets.cjs +0 -1
- package/dist/components/patterns/form-builder-presets.d.ts +0 -1
- package/dist/components/patterns/form-builder-presets.js +0 -2
- package/dist/components/patterns/form-builder.cjs +0 -1
- package/dist/components/patterns/form-builder.d.ts +0 -109
- package/dist/components/patterns/form-builder.js +0 -263
- package/dist/showcase/premium/affix/index.cjs +0 -1
- package/dist/showcase/premium/affix/index.d.ts +0 -2
- package/dist/showcase/premium/affix/index.js +0 -3
- package/dist/showcase/premium/affix/mock.cjs +0 -12
- package/dist/showcase/premium/affix/mock.d.ts +0 -2
- package/dist/showcase/premium/affix/mock.js +0 -15
- package/dist/showcase/premium/affix/showcase.cjs +0 -1
- package/dist/showcase/premium/affix/showcase.d.ts +0 -2
- package/dist/showcase/premium/affix/showcase.js +0 -64
- package/dist/showcase/premium/aspect-ratio/index.cjs +0 -1
- package/dist/showcase/premium/aspect-ratio/index.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/index.js +0 -3
- package/dist/showcase/premium/aspect-ratio/mock.cjs +0 -11
- package/dist/showcase/premium/aspect-ratio/mock.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/mock.js +0 -26
- package/dist/showcase/premium/aspect-ratio/showcase.cjs +0 -1
- package/dist/showcase/premium/aspect-ratio/showcase.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/showcase.js +0 -53
- package/dist/showcase/premium/cascader/index.cjs +0 -1
- package/dist/showcase/premium/cascader/index.d.ts +0 -2
- package/dist/showcase/premium/cascader/index.js +0 -3
- package/dist/showcase/premium/cascader/mock.cjs +0 -9
- package/dist/showcase/premium/cascader/mock.d.ts +0 -2
- package/dist/showcase/premium/cascader/mock.js +0 -19
- package/dist/showcase/premium/cascader/showcase.cjs +0 -1
- package/dist/showcase/premium/cascader/showcase.d.ts +0 -2
- package/dist/showcase/premium/cascader/showcase.js +0 -43
- package/dist/showcase/premium/empty-state/index.cjs +0 -1
- package/dist/showcase/premium/empty-state/index.d.ts +0 -2
- package/dist/showcase/premium/empty-state/index.js +0 -3
- package/dist/showcase/premium/empty-state/mock.cjs +0 -14
- package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
- package/dist/showcase/premium/empty-state/mock.js +0 -31
- package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
- package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
- package/dist/showcase/premium/empty-state/showcase.js +0 -99
- package/dist/showcase/premium/float-button/index.cjs +0 -1
- package/dist/showcase/premium/float-button/index.d.ts +0 -2
- package/dist/showcase/premium/float-button/index.js +0 -3
- package/dist/showcase/premium/float-button/mock.cjs +0 -10
- package/dist/showcase/premium/float-button/mock.d.ts +0 -2
- package/dist/showcase/premium/float-button/mock.js +0 -15
- package/dist/showcase/premium/float-button/showcase.cjs +0 -1
- package/dist/showcase/premium/float-button/showcase.d.ts +0 -2
- package/dist/showcase/premium/float-button/showcase.js +0 -28
- package/dist/showcase/premium/form-builder/index.cjs +0 -1
- package/dist/showcase/premium/form-builder/index.d.ts +0 -2
- package/dist/showcase/premium/form-builder/index.js +0 -3
- package/dist/showcase/premium/form-builder/mock.cjs +0 -57
- package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
- package/dist/showcase/premium/form-builder/mock.js +0 -40
- package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
- package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
- package/dist/showcase/premium/form-builder/showcase.js +0 -69
- package/dist/showcase/premium/keyboard-shortcut/index.cjs +0 -1
- package/dist/showcase/premium/keyboard-shortcut/index.d.ts +0 -2
- package/dist/showcase/premium/keyboard-shortcut/index.js +0 -3
- package/dist/showcase/premium/keyboard-shortcut/mock.cjs +0 -5
- package/dist/showcase/premium/keyboard-shortcut/mock.d.ts +0 -2
- package/dist/showcase/premium/keyboard-shortcut/mock.js +0 -26
- package/dist/showcase/premium/keyboard-shortcut/showcase.cjs +0 -1
- package/dist/showcase/premium/keyboard-shortcut/showcase.d.ts +0 -1
- package/dist/showcase/premium/keyboard-shortcut/showcase.js +0 -64
- package/dist/showcase/premium/mention-input/index.cjs +0 -1
- package/dist/showcase/premium/mention-input/index.d.ts +0 -2
- package/dist/showcase/premium/mention-input/index.js +0 -3
- package/dist/showcase/premium/mention-input/mock.cjs +0 -11
- package/dist/showcase/premium/mention-input/mock.d.ts +0 -2
- package/dist/showcase/premium/mention-input/mock.js +0 -19
- package/dist/showcase/premium/mention-input/showcase.cjs +0 -1
- package/dist/showcase/premium/mention-input/showcase.d.ts +0 -2
- package/dist/showcase/premium/mention-input/showcase.js +0 -35
- package/dist/showcase/premium/skeleton-form/index.cjs +0 -1
- package/dist/showcase/premium/skeleton-form/index.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/index.js +0 -3
- package/dist/showcase/premium/skeleton-form/mock.cjs +0 -5
- package/dist/showcase/premium/skeleton-form/mock.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/mock.js +0 -19
- package/dist/showcase/premium/skeleton-form/showcase.cjs +0 -1
- package/dist/showcase/premium/skeleton-form/showcase.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/showcase.js +0 -52
- package/dist/showcase/premium/skeleton-table/index.cjs +0 -1
- package/dist/showcase/premium/skeleton-table/index.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/index.js +0 -3
- package/dist/showcase/premium/skeleton-table/mock.cjs +0 -5
- package/dist/showcase/premium/skeleton-table/mock.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/mock.js +0 -19
- package/dist/showcase/premium/skeleton-table/showcase.cjs +0 -1
- package/dist/showcase/premium/skeleton-table/showcase.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/showcase.js +0 -59
- package/dist/showcase/premium/stack/index.cjs +0 -1
- package/dist/showcase/premium/stack/index.d.ts +0 -2
- package/dist/showcase/premium/stack/index.js +0 -3
- package/dist/showcase/premium/stack/mock.cjs +0 -10
- package/dist/showcase/premium/stack/mock.d.ts +0 -2
- package/dist/showcase/premium/stack/mock.js +0 -26
- package/dist/showcase/premium/stack/showcase.cjs +0 -1
- package/dist/showcase/premium/stack/showcase.d.ts +0 -1
- package/dist/showcase/premium/stack/showcase.js +0 -47
- package/dist/showcase/premium/tag-list/index.cjs +0 -1
- package/dist/showcase/premium/tag-list/index.d.ts +0 -2
- package/dist/showcase/premium/tag-list/index.js +0 -3
- package/dist/showcase/premium/tag-list/mock.cjs +0 -12
- package/dist/showcase/premium/tag-list/mock.d.ts +0 -2
- package/dist/showcase/premium/tag-list/mock.js +0 -26
- package/dist/showcase/premium/tag-list/showcase.cjs +0 -1
- package/dist/showcase/premium/tag-list/showcase.d.ts +0 -2
- package/dist/showcase/premium/tag-list/showcase.js +0 -83
- package/dist/showcase/premium/watermark/index.cjs +0 -1
- package/dist/showcase/premium/watermark/index.d.ts +0 -2
- package/dist/showcase/premium/watermark/index.js +0 -3
- package/dist/showcase/premium/watermark/mock.cjs +0 -11
- package/dist/showcase/premium/watermark/mock.d.ts +0 -2
- package/dist/showcase/premium/watermark/mock.js +0 -26
- package/dist/showcase/premium/watermark/showcase.cjs +0 -1
- package/dist/showcase/premium/watermark/showcase.d.ts +0 -2
- package/dist/showcase/premium/watermark/showcase.js +0 -34
- package/packages/cli/vendor/src/components/display/aspect-ratio.tsx +0 -22
- package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
- package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
- package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
- package/packages/cli/vendor/src/components/display/float-button.tsx +0 -27
- package/packages/cli/vendor/src/components/display/key-value-card.tsx +0 -50
- package/packages/cli/vendor/src/components/display/keyboard-shortcut.tsx +0 -31
- package/packages/cli/vendor/src/components/display/skeleton-form.tsx +0 -51
- package/packages/cli/vendor/src/components/display/skeleton-table.tsx +0 -59
- package/packages/cli/vendor/src/components/display/tag-list.tsx +0 -52
- package/packages/cli/vendor/src/components/display/watermark.tsx +0 -20
- package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
- package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
- package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
- package/packages/cli/vendor/src/components/form/repeater-field.tsx +0 -93
- package/packages/cli/vendor/src/components/inputs/cascader.tsx +0 -41
- package/packages/cli/vendor/src/components/inputs/mention-input.tsx +0 -162
- package/packages/cli/vendor/src/components/layout/stack.tsx +0 -106
- package/packages/cli/vendor/src/components/modern/affix.tsx +0 -21
- package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
- package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
- package/packages/cli/vendor/src/showcase/premium/affix/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/affix/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/affix/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/cascader/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/cascader/mock.ts +0 -24
- package/packages/cli/vendor/src/showcase/premium/cascader/showcase.tsx +0 -20
- package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
- package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
- package/packages/cli/vendor/src/showcase/premium/float-button/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/float-button/mock.ts +0 -24
- package/packages/cli/vendor/src/showcase/premium/float-button/showcase.tsx +0 -21
- package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
- package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/showcase.tsx +0 -42
- package/packages/cli/vendor/src/showcase/premium/mention-input/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/mention-input/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/mention-input/showcase.tsx +0 -27
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/showcase.tsx +0 -34
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/stack/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/stack/mock.ts +0 -25
- package/packages/cli/vendor/src/showcase/premium/stack/showcase.tsx +0 -22
- package/packages/cli/vendor/src/showcase/premium/tag-list/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/tag-list/mock.ts +0 -27
- package/packages/cli/vendor/src/showcase/premium/tag-list/showcase.tsx +0 -55
- package/packages/cli/vendor/src/showcase/premium/watermark/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/watermark/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/watermark/showcase.tsx +0 -26
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import * as React from "react"
|
|
2
2
|
import { useForm, useWatch } from "react-hook-form"
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Badge,
|
|
6
|
+
Button,
|
|
7
|
+
FormInput,
|
|
8
|
+
FormSelect,
|
|
9
|
+
FormSwitch,
|
|
10
|
+
FormTextarea,
|
|
11
|
+
} from "@/index"
|
|
12
|
+
import { FormDatePicker } from "@/components/form/form-date-picker"
|
|
13
|
+
import { FormDateRangePicker } from "@/components/form/form-date-range-picker"
|
|
5
14
|
|
|
6
15
|
import type { ComponentDemoProps } from "../types"
|
|
7
16
|
|
|
@@ -11,6 +20,15 @@ type DemoValues = {
|
|
|
11
20
|
budget: number | null
|
|
12
21
|
notes: string
|
|
13
22
|
active: boolean
|
|
23
|
+
query: string
|
|
24
|
+
password: string
|
|
25
|
+
dueDate: string
|
|
26
|
+
period: {
|
|
27
|
+
from: string
|
|
28
|
+
to: string
|
|
29
|
+
}
|
|
30
|
+
periodFrom: string
|
|
31
|
+
periodTo: string
|
|
14
32
|
status: string
|
|
15
33
|
ownerId: string
|
|
16
34
|
}
|
|
@@ -55,6 +73,15 @@ export function FormWrapperShowcase({ mode }: ComponentDemoProps) {
|
|
|
55
73
|
budget: 120,
|
|
56
74
|
notes: "RHF wrapper coverage for control, name, and validation.",
|
|
57
75
|
active: true,
|
|
76
|
+
query: "billing",
|
|
77
|
+
password: "",
|
|
78
|
+
dueDate: "2026-07-18",
|
|
79
|
+
period: {
|
|
80
|
+
from: "2026-07-01",
|
|
81
|
+
to: "2026-07-14",
|
|
82
|
+
},
|
|
83
|
+
periodFrom: "2026-07-01",
|
|
84
|
+
periodTo: "2026-07-14",
|
|
58
85
|
status: "review",
|
|
59
86
|
ownerId: "workspace-alpha",
|
|
60
87
|
},
|
|
@@ -63,7 +90,7 @@ export function FormWrapperShowcase({ mode }: ComponentDemoProps) {
|
|
|
63
90
|
const activeValue = useWatch({ control: form.control, name: "active" })
|
|
64
91
|
const slug = pathname.split("/").filter(Boolean).at(-1)
|
|
65
92
|
|
|
66
|
-
if (slug === "form-select") {
|
|
93
|
+
if (slug === "form-select" || slug === "form-async-select") {
|
|
67
94
|
return (
|
|
68
95
|
<div className="grid gap-4 xl:grid-cols-2">
|
|
69
96
|
<FormSelect control={form.control} name="status" label="Release status" options={[...statusOptions]} />
|
|
@@ -80,15 +107,101 @@ export function FormWrapperShowcase({ mode }: ComponentDemoProps) {
|
|
|
80
107
|
)
|
|
81
108
|
}
|
|
82
109
|
|
|
83
|
-
if (slug === "form-
|
|
110
|
+
if (slug === "form-search-input") {
|
|
111
|
+
return (
|
|
112
|
+
<FormInput
|
|
113
|
+
control={form.control}
|
|
114
|
+
name="query"
|
|
115
|
+
kind="search"
|
|
116
|
+
label="Search query"
|
|
117
|
+
description="Search wrapper should keep label, hint and result-ready spacing together."
|
|
118
|
+
placeholder="Search workspaces"
|
|
119
|
+
/>
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (slug === "form-password-input") {
|
|
84
124
|
return (
|
|
85
|
-
<
|
|
125
|
+
<FormInput
|
|
86
126
|
control={form.control}
|
|
87
|
-
name="
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
127
|
+
name="password"
|
|
128
|
+
kind="password"
|
|
129
|
+
label="Workspace password"
|
|
130
|
+
description="Password wrapper keeps toggle behavior inside the same form shell."
|
|
131
|
+
placeholder="Enter secure password"
|
|
132
|
+
/>
|
|
133
|
+
)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (slug === "form-number-input") {
|
|
137
|
+
return (
|
|
138
|
+
<FormInput
|
|
139
|
+
control={form.control}
|
|
140
|
+
name="budget"
|
|
141
|
+
kind="number"
|
|
142
|
+
label="Budget"
|
|
143
|
+
description="Numeric wrapper keeps parsed value handling inside the field contract."
|
|
144
|
+
min={0}
|
|
145
|
+
max={999999}
|
|
146
|
+
/>
|
|
147
|
+
)
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (slug === "form-phone-input") {
|
|
151
|
+
return (
|
|
152
|
+
<FormInput
|
|
153
|
+
control={form.control}
|
|
154
|
+
name="ownerPhone"
|
|
155
|
+
kind="phone"
|
|
156
|
+
label="Owner phone"
|
|
157
|
+
description="Phone wrapper preserves stable raw value while showing a formatted UI."
|
|
158
|
+
/>
|
|
159
|
+
)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (slug === "form-date-input") {
|
|
163
|
+
return (
|
|
164
|
+
<FormInput
|
|
165
|
+
control={form.control}
|
|
166
|
+
name="dueDate"
|
|
167
|
+
kind="date"
|
|
168
|
+
label="Due date"
|
|
169
|
+
description="Use the lightweight date input wrapper when string date entry is enough."
|
|
170
|
+
/>
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (slug === "form-date-range-input") {
|
|
175
|
+
return (
|
|
176
|
+
<FormInput
|
|
177
|
+
control={form.control}
|
|
178
|
+
name="period"
|
|
179
|
+
kind="date-range"
|
|
180
|
+
label="Reporting period"
|
|
181
|
+
description="Range input wrapper keeps from/to fields under one shell."
|
|
182
|
+
/>
|
|
183
|
+
)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (slug === "form-date-picker") {
|
|
187
|
+
return (
|
|
188
|
+
<FormDatePicker
|
|
189
|
+
control={form.control}
|
|
190
|
+
name="dueDate"
|
|
191
|
+
label="Launch date"
|
|
192
|
+
description="Use the picker wrapper when calendar selection matters more than raw typing."
|
|
193
|
+
/>
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
if (slug === "form-date-range-picker") {
|
|
198
|
+
return (
|
|
199
|
+
<FormDateRangePicker
|
|
200
|
+
control={form.control}
|
|
201
|
+
fromName="periodFrom"
|
|
202
|
+
toName="periodTo"
|
|
203
|
+
label="Launch window"
|
|
204
|
+
description="Popover range picker keeps both fields synchronized inside one wrapper."
|
|
92
205
|
/>
|
|
93
206
|
)
|
|
94
207
|
}
|
|
@@ -96,9 +209,13 @@ export function FormWrapperShowcase({ mode }: ComponentDemoProps) {
|
|
|
96
209
|
return (
|
|
97
210
|
<form className="space-y-5">
|
|
98
211
|
<div className="grid gap-4 xl:grid-cols-2">
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
212
|
+
<FormInput
|
|
213
|
+
control={form.control}
|
|
214
|
+
name="name"
|
|
215
|
+
label="Workspace name"
|
|
216
|
+
description="Shared shell keeps required marker, helper text and error spacing aligned."
|
|
217
|
+
required
|
|
218
|
+
/>
|
|
102
219
|
|
|
103
220
|
<FormInput control={form.control} name="ownerPhone" kind="phone" label="Owner phone" />
|
|
104
221
|
<FormInput control={form.control} name="budget" kind="number" label="Budget" min={0} max={999999} />
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
import * as React from "react"
|
|
2
|
-
|
|
3
1
|
import type { ComponentDemoBundle } from "./types"
|
|
4
2
|
|
|
5
3
|
import { alertMock, AlertShowcase } from "./alert"
|
|
6
4
|
import { AlertDialogShowcase, alertDialogMock } from "./alert-dialog"
|
|
7
5
|
import { accordionMock, AccordionShowcase } from "./accordion"
|
|
8
|
-
import { affixMock, AffixShowcase } from "./affix"
|
|
9
6
|
import { activityFeedMock, ActivityFeedShowcase } from "./activity-feed"
|
|
10
7
|
import { ActionMenuShowcase, actionMenuMock } from "./action-menu"
|
|
11
8
|
import { appShellMock, AppShellShowcase } from "./app-shell"
|
|
12
9
|
import { appSidebarMock, AppSidebarShowcase } from "./app-sidebar"
|
|
13
|
-
import { asyncMultiSelectMock, AsyncMultiSelectShowcase } from "./async-multi-select"
|
|
14
10
|
import { asyncSelectMock, AsyncSelectShowcase } from "./async-select"
|
|
15
|
-
import {
|
|
16
|
-
import { cascaderMock, CascaderShowcase } from "./cascader"
|
|
11
|
+
import { asyncMultiSelectMock, AsyncMultiSelectShowcase } from "./async-multi-select"
|
|
17
12
|
import { avatarMock, AvatarShowcase } from "./avatar"
|
|
18
13
|
import { carouselMock, CarouselShowcase } from "./carousel"
|
|
19
|
-
import {
|
|
14
|
+
import { clearableInputMock, ClearableInputShowcase } from "./clearable-input"
|
|
20
15
|
import { jsonInputMock, JsonInputShowcase } from "./json-input"
|
|
21
|
-
import { mentionInputMock, MentionInputShowcase } from "./mention-input"
|
|
22
16
|
import { qrCodeMock, QRCodeShowcase } from "./qr-code"
|
|
23
17
|
import { menubarMock, MenubarShowcase } from "./menubar"
|
|
24
18
|
import { navigationMenuMock, NavigationMenuShowcase } from "./navigation-menu"
|
|
@@ -33,25 +27,15 @@ import { cardMock, CardShowcase } from "./card"
|
|
|
33
27
|
import { checkboxMock, CheckboxShowcase } from "./checkbox"
|
|
34
28
|
import { codeBlockMock, CodeBlockShowcase } from "./code-block"
|
|
35
29
|
import { dualListPickerMock, DualListPickerShowcase } from "./dual-list-picker"
|
|
36
|
-
import { ClearableInputShowcase, clearableInputMock } from "./clearable-input"
|
|
37
30
|
import { collapseMock, CollapseShowcase } from "./collapse"
|
|
38
31
|
import { comboboxMock, ComboboxShowcase } from "./combobox"
|
|
39
32
|
import { commandBarMock, CommandBarShowcase } from "./command-bar"
|
|
40
|
-
import { ConfirmDialogShowcase, confirmDialogMock } from "./confirm-dialog"
|
|
41
33
|
import { commandPaletteMock, CommandPaletteShowcase } from "./command-palette"
|
|
34
|
+
import { ConfirmDialogShowcase, confirmDialogMock } from "./confirm-dialog"
|
|
42
35
|
import { copyButtonMock, CopyButtonShowcase } from "./copy-button"
|
|
43
36
|
import { copyFieldMock, CopyFieldShowcase } from "./copy-field"
|
|
44
37
|
import { dataStateMock, DataStateShowcase } from "./data-state"
|
|
45
38
|
import { dataTableMock, DataTableShowcase } from "./data-table"
|
|
46
|
-
import {
|
|
47
|
-
DataTablePartShowcase,
|
|
48
|
-
dataTableActionsColumnMock,
|
|
49
|
-
dataTablePaginationMock,
|
|
50
|
-
dataTableRowActionsMock,
|
|
51
|
-
dataTableSavedFiltersMock,
|
|
52
|
-
dataTableSelectColumnMock,
|
|
53
|
-
dataTableToolbarMock,
|
|
54
|
-
} from "./data-table-parts"
|
|
55
39
|
import { dateInputMock, DateInputShowcase } from "./date-input"
|
|
56
40
|
import { DatePickerShowcase, datePickerMock } from "./date-picker"
|
|
57
41
|
import { DateRangeInputShowcase, dateRangeInputMock } from "./date-range-input"
|
|
@@ -61,14 +45,11 @@ import { descriptionsMock, DescriptionsShowcase } from "./descriptions"
|
|
|
61
45
|
import { dialogMock, DialogShowcase } from "./dialog"
|
|
62
46
|
import { dropdownMenuMock, DropdownMenuShowcase } from "./dropdown-menu"
|
|
63
47
|
import { DrawerShowcase, drawerMock } from "./drawer"
|
|
64
|
-
import { emptyStateMock, EmptyStateShowcase } from "./empty-state"
|
|
65
|
-
import { FormBuilderShowcase, formBuilderMock } from "./form-builder"
|
|
66
48
|
import { FormWrapperShowcase, formAsyncSelectMock, formRHFWrapperMock, formSelectMock } from "./form-wrapper"
|
|
67
49
|
import { hoverCardMock, HoverCardShowcase } from "./hover-card"
|
|
68
50
|
import { kanbanBoardMock, KanbanBoardShowcase } from "./kanban-board"
|
|
69
51
|
import { infoCardMock, InfoCardShowcase } from "./info-card"
|
|
70
52
|
import { inputMock, InputShowcase } from "./input"
|
|
71
|
-
import { keyboardShortcutMock, KeyboardShortcutShowcase } from "./keyboard-shortcut"
|
|
72
53
|
import { kbdMock, KbdShowcase } from "./kbd"
|
|
73
54
|
import { listMock, ListShowcase } from "./list"
|
|
74
55
|
import { loadingStateMock, LoadingStateShowcase } from "./loading-state"
|
|
@@ -88,9 +69,6 @@ import { pageContainerMock, PageContainerShowcase } from "./page-container"
|
|
|
88
69
|
import { pageHeaderMock, PageHeaderShowcase } from "./page-header"
|
|
89
70
|
import { PageTabsShowcase, pageTabsMock } from "./page-tabs"
|
|
90
71
|
import { sectionMock, SectionShowcase } from "./section"
|
|
91
|
-
import { stackMock, StackShowcase } from "./stack"
|
|
92
|
-
import { skeletonFormMock, SkeletonFormShowcase } from "./skeleton-form"
|
|
93
|
-
import { skeletonTableMock, SkeletonTableShowcase } from "./skeleton-table"
|
|
94
72
|
import { phoneInputMock, PhoneInputShowcase } from "./phone-input"
|
|
95
73
|
import { pageStateMock, PageStateShowcase } from "./page-state"
|
|
96
74
|
import { paginationMock, PaginationShowcase } from "./pagination"
|
|
@@ -115,7 +93,6 @@ import { spinnerMock, SpinnerShowcase } from "./spinner"
|
|
|
115
93
|
import { statisticMock, StatisticShowcase } from "./statistic"
|
|
116
94
|
import { switchMock, SwitchShowcase } from "./switch"
|
|
117
95
|
import { TagInputShowcase, tagInputMock } from "./tag-input"
|
|
118
|
-
import { tagListMock, TagListShowcase } from "./tag-list"
|
|
119
96
|
import { tableMock, TableShowcase } from "./table"
|
|
120
97
|
import { tabsMock, TabsShowcase } from "./tabs"
|
|
121
98
|
import { textareaMock, TextareaShowcase } from "./textarea"
|
|
@@ -129,7 +106,6 @@ import { fileUploadMock, FileUploadShowcase } from "./file-upload"
|
|
|
129
106
|
import { imageUploadMock, ImageUploadShowcase } from "./image-upload"
|
|
130
107
|
import { passwordInputMock, PasswordInputShowcase } from "./password-input"
|
|
131
108
|
import { ratingMock, RatingShowcase } from "./rating"
|
|
132
|
-
import { watermarkMock, WatermarkShowcase } from "./watermark"
|
|
133
109
|
|
|
134
110
|
export { defaultComponentDemoState } from "./types"
|
|
135
111
|
export type { ComponentDemoBundle, ComponentDemoMock, ComponentDemoProps, ComponentDemoState } from "./types"
|
|
@@ -138,21 +114,17 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
|
|
|
138
114
|
alert: { mock: alertMock, Showcase: AlertShowcase },
|
|
139
115
|
"alert-dialog": { mock: alertDialogMock, Showcase: AlertDialogShowcase },
|
|
140
116
|
accordion: { mock: accordionMock, Showcase: AccordionShowcase },
|
|
141
|
-
affix: { mock: affixMock, Showcase: AffixShowcase },
|
|
142
117
|
"action-menu": { mock: actionMenuMock, Showcase: ActionMenuShowcase },
|
|
143
118
|
button: { mock: buttonMock, Showcase: ButtonShowcase },
|
|
144
119
|
"button-group": { mock: buttonGroupMock, Showcase: ButtonGroupShowcase },
|
|
145
120
|
calendar: { mock: calendarMock, Showcase: CalendarShowcase },
|
|
146
121
|
"calendar-scheduler": { mock: calendarSchedulerMock, Showcase: CalendarSchedulerShowcase },
|
|
147
|
-
"cascader": { mock: cascaderMock, Showcase: CascaderShowcase },
|
|
148
122
|
"command-bar": { mock: commandBarMock, Showcase: CommandBarShowcase },
|
|
149
123
|
"command-palette": { mock: commandPaletteMock, Showcase: CommandPaletteShowcase },
|
|
150
124
|
"carousel": { mock: carouselMock, Showcase: CarouselShowcase },
|
|
151
125
|
"clearable-input": { mock: clearableInputMock, Showcase: ClearableInputShowcase },
|
|
152
126
|
"code-block": { mock: codeBlockMock, Showcase: CodeBlockShowcase },
|
|
153
|
-
"aspect-ratio": { mock: aspectRatioMock, Showcase: AspectRatioShowcase },
|
|
154
127
|
"dual-list-picker": { mock: dualListPickerMock, Showcase: DualListPickerShowcase },
|
|
155
|
-
"float-button": { mock: floatButtonMock, Showcase: FloatButtonShowcase },
|
|
156
128
|
divider: { mock: dividerMock, Showcase: DividerShowcase },
|
|
157
129
|
input: { mock: inputMock, Showcase: InputShowcase },
|
|
158
130
|
textarea: { mock: textareaMock, Showcase: TextareaShowcase },
|
|
@@ -182,7 +154,6 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
|
|
|
182
154
|
rating: { mock: ratingMock, Showcase: RatingShowcase },
|
|
183
155
|
"masked-input": { mock: maskedInputMock, Showcase: MaskedInputShowcase },
|
|
184
156
|
"phone-input": { mock: phoneInputMock, Showcase: PhoneInputShowcase },
|
|
185
|
-
"mention-input": { mock: mentionInputMock, Showcase: MentionInputShowcase },
|
|
186
157
|
"search-input": { mock: searchInputMock, Showcase: SearchInputShowcase },
|
|
187
158
|
slider: { mock: sliderMock, Showcase: SliderShowcase },
|
|
188
159
|
"time-picker": { mock: timePickerMock, Showcase: TimePickerShowcase },
|
|
@@ -206,12 +177,10 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
|
|
|
206
177
|
"hover-card": { mock: hoverCardMock, Showcase: HoverCardShowcase },
|
|
207
178
|
"right-click-menu": { mock: rightClickMenuMock, Showcase: RightClickMenuShowcase },
|
|
208
179
|
"data-table": { mock: dataTableMock, Showcase: DataTableShowcase },
|
|
209
|
-
"data-table-
|
|
210
|
-
"data-table-
|
|
211
|
-
"data-table-
|
|
212
|
-
"data-table-
|
|
213
|
-
"data-table-select-column": { mock: dataTableSelectColumnMock, Showcase: (props) => React.createElement(DataTablePartShowcase, { ...props, slug: "data-table-select-column" }) },
|
|
214
|
-
"data-table-saved-filters": { mock: dataTableSavedFiltersMock, Showcase: (props) => React.createElement(DataTablePartShowcase, { ...props, slug: "data-table-saved-filters" }) },
|
|
180
|
+
"data-table-column-visibility-menu": { mock: dataTableMock, Showcase: DataTableShowcase },
|
|
181
|
+
"data-table-sortable-header": { mock: dataTableMock, Showcase: DataTableShowcase },
|
|
182
|
+
"data-table-bulk-actions": { mock: dataTableMock, Showcase: DataTableShowcase },
|
|
183
|
+
"data-table-view-presets": { mock: dataTableMock, Showcase: DataTableShowcase },
|
|
215
184
|
"saved-filter-select": { mock: savedFilterSelectMock, Showcase: SavedFilterSelectShowcase },
|
|
216
185
|
"form-field": { mock: formRHFWrapperMock, Showcase: FormWrapperShowcase },
|
|
217
186
|
"form-field-shell": { mock: formRHFWrapperMock, Showcase: FormWrapperShowcase },
|
|
@@ -228,7 +197,6 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
|
|
|
228
197
|
"form-date-range-input": { mock: formRHFWrapperMock, Showcase: FormWrapperShowcase },
|
|
229
198
|
"form-date-picker": { mock: formRHFWrapperMock, Showcase: FormWrapperShowcase },
|
|
230
199
|
"form-date-range-picker": { mock: formRHFWrapperMock, Showcase: FormWrapperShowcase },
|
|
231
|
-
"form-builder": { mock: formBuilderMock, Showcase: FormBuilderShowcase },
|
|
232
200
|
"segmented-control": { mock: segmentedControlMock, Showcase: SegmentedControlShowcase },
|
|
233
201
|
skeleton: { mock: skeletonMock, Showcase: SkeletonShowcase },
|
|
234
202
|
spinner: { mock: spinnerMock, Showcase: SpinnerShowcase },
|
|
@@ -249,18 +217,13 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
|
|
|
249
217
|
list: { mock: listMock, Showcase: ListShowcase },
|
|
250
218
|
"property-grid": { mock: propertyGridMock, Showcase: PropertyGridShowcase },
|
|
251
219
|
"activity-feed": { mock: activityFeedMock, Showcase: ActivityFeedShowcase },
|
|
252
|
-
"empty-state": { mock: emptyStateMock, Showcase: EmptyStateShowcase },
|
|
253
220
|
"loading-state": { mock: loadingStateMock, Showcase: LoadingStateShowcase },
|
|
254
221
|
"data-state": { mock: dataStateMock, Showcase: DataStateShowcase },
|
|
255
|
-
"keyboard-shortcut": { mock: keyboardShortcutMock, Showcase: KeyboardShortcutShowcase },
|
|
256
222
|
progress: { mock: progressMock, Showcase: ProgressShowcase },
|
|
257
223
|
result: { mock: resultMock, Showcase: ResultShowcase },
|
|
258
224
|
"resizable-panel": { mock: resizablePanelMock, Showcase: ResizablePanelShowcase },
|
|
259
225
|
section: { mock: sectionMock, Showcase: SectionShowcase },
|
|
260
|
-
stack: { mock: stackMock, Showcase: StackShowcase },
|
|
261
226
|
statistic: { mock: statisticMock, Showcase: StatisticShowcase },
|
|
262
|
-
"skeleton-form": { mock: skeletonFormMock, Showcase: SkeletonFormShowcase },
|
|
263
|
-
"skeleton-table": { mock: skeletonTableMock, Showcase: SkeletonTableShowcase },
|
|
264
227
|
"sticky-footer-bar": { mock: stickyFooterBarMock, Showcase: StickyFooterBarShowcase },
|
|
265
228
|
"rich-text-editor": { mock: richTextEditorMock, Showcase: RichTextEditorShowcase },
|
|
266
229
|
tour: { mock: tourMock, Showcase: TourShowcase },
|
|
@@ -270,9 +233,7 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
|
|
|
270
233
|
"tree-view": { mock: treeViewMock, Showcase: TreeViewShowcase },
|
|
271
234
|
"file-upload": { mock: fileUploadMock, Showcase: FileUploadShowcase },
|
|
272
235
|
"image-upload": { mock: imageUploadMock, Showcase: ImageUploadShowcase },
|
|
273
|
-
watermark: { mock: watermarkMock, Showcase: WatermarkShowcase },
|
|
274
236
|
"scroll-box": { mock: scrollBoxMock, Showcase: ScrollBoxShowcase },
|
|
275
|
-
"tag-list": { mock: tagListMock, Showcase: TagListShowcase },
|
|
276
237
|
timeline: { mock: timelineMock, Showcase: TimelineShowcase },
|
|
277
238
|
toast: { mock: toastMock, Showcase: ToastShowcase },
|
|
278
239
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ComponentDemoMock } from "../types"
|
|
2
2
|
|
|
3
|
-
export const inputMock: ComponentDemoMock = {
|
|
4
|
-
code: `import { Label, Input } from "tembro"\n\nexport function Example() {\n return (\n <form className="space-y-4">\n <div>\n <Label htmlFor="support-email">Support email</Label>\n <Input id="support-email" type="email" defaultValue="team@acme.io" required />\n </div>\n\n <div>\n <Label htmlFor="component-search">Search components</Label>\n <Input\n id="component-search"\n value={query}\n onValueChange={setQuery}\n placeholder="Search by slug or title"\n clearable\n trailingAction={<span className="text-xs text-muted-foreground">12 results</span>}\n replaceTrailingWhenClear={false}\n />\n </div>\n\n <div>\n <Label htmlFor="api-prefix">Cost estimate</Label>\n <Input\n id="api-prefix"\n defaultValue="120"\n readOnly\n trailing={<span className="text-sm aui-text-muted">USD</span>}\n />\n </div>\n\n <div>\n <Label htmlFor="disabled-input">Locked status</Label>\n <Input id="disabled-input" disabled value="Locked while syncing" />\n </div>\n </form>\n )\n}\n`,
|
|
3
|
+
export const inputMock: ComponentDemoMock = {
|
|
4
|
+
code: `import { useState } from "react"\nimport { Label, Input } from "tembro"\n\nexport function Example() {\n const [query, setQuery] = useState("buttons")\n\n return (\n <form className="space-y-4">\n <div>\n <Label htmlFor="support-email">Support email</Label>\n <Input id="support-email" type="email" defaultValue="team@acme.io" required />\n </div>\n\n <div>\n <Label htmlFor="component-search">Search components</Label>\n <Input\n id="component-search"\n value={query}\n onValueChange={setQuery}\n placeholder="Search by slug or title"\n clearable\n trailingAction={<span className="text-xs text-muted-foreground">12 results</span>}\n replaceTrailingWhenClear={false}\n />\n </div>\n\n <div>\n <Label htmlFor="api-prefix">Cost estimate</Label>\n <Input\n id="api-prefix"\n defaultValue="120"\n readOnly\n trailing={<span className="text-sm aui-text-muted">USD</span>}\n />\n </div>\n\n <div>\n <Label htmlFor="disabled-input">Locked status</Label>\n <Input id="disabled-input" disabled value="Locked while syncing" />\n </div>\n </form>\n )\n}\n`,
|
|
5
5
|
htmlCode: `<label for="example">Search components</label>\n<input id="example" data-slot="input" type="text" placeholder="Search components..." />`,
|
|
6
6
|
cliCommand: "npx tembro add input",
|
|
7
7
|
highlights: [
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const maskedInputMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { MaskedInput } from "
|
|
5
|
+
import { MaskedInput } from "tembro"
|
|
6
6
|
|
|
7
7
|
export function Example() {
|
|
8
8
|
const [value, setValue] = useState("AA-123")
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const moneyInputMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { MoneyInput } from "
|
|
5
|
+
import { MoneyInput } from "tembro"
|
|
6
6
|
|
|
7
7
|
export function Example() {
|
|
8
8
|
const [value, setValue] = useState<number | null>(2990.5)
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const numberInputMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { NumberInput, parseNumberInput } from "
|
|
5
|
+
import { NumberInput, parseNumberInput } from "tembro"
|
|
6
6
|
|
|
7
7
|
export function Example() {
|
|
8
8
|
const [value, setValue] = useState<number | null>(14)
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const phoneInputMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { PhoneInput } from "
|
|
5
|
+
import { PhoneInput } from "tembro"
|
|
6
6
|
|
|
7
7
|
export function Example() {
|
|
8
8
|
const [value, setValue] = useState("+998 90 123 45 67")
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const quantityInputMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { QuantityInput } from "
|
|
5
|
+
import { QuantityInput } from "tembro"
|
|
6
6
|
|
|
7
7
|
export function Example() {
|
|
8
8
|
const [quantity, setQuantity] = useState<number | null>(3)
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const simpleSelectMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { Button, SimpleSelect } from "
|
|
5
|
+
import { Button, SimpleSelect } from "tembro"
|
|
6
6
|
|
|
7
7
|
const selectOptions = [
|
|
8
8
|
{ value: "public", label: "Public", disabled: false },
|
|
@@ -31,6 +31,7 @@ export function SimpleSelectShowcase({ mode }: ComponentDemoProps) {
|
|
|
31
31
|
placeholder="Visibility"
|
|
32
32
|
searchable
|
|
33
33
|
clearable
|
|
34
|
+
showSelectedDescription
|
|
34
35
|
/>
|
|
35
36
|
<div className="grid gap-3 md:grid-cols-3">
|
|
36
37
|
<div className="rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm">
|
|
@@ -46,7 +47,7 @@ export function SimpleSelectShowcase({ mode }: ComponentDemoProps) {
|
|
|
46
47
|
<p className="mt-2 aui-text-muted">Choose this for local option lists before moving to AsyncSelect.</p>
|
|
47
48
|
</div>
|
|
48
49
|
</div>
|
|
49
|
-
<SimpleSelect key={uncontrolledKey} defaultValue="public" options={options} />
|
|
50
|
+
<SimpleSelect key={uncontrolledKey} defaultValue="public" options={options} showSelectedDescription />
|
|
50
51
|
<div className="flex flex-wrap gap-2">
|
|
51
52
|
<Button variant="outline" size="sm" onClick={() => setValue(undefined)}>
|
|
52
53
|
Clear controlled
|
|
@@ -13,49 +13,49 @@ export const previewSurfaceCatalog: PreviewSurfaceRecord[] = [
|
|
|
13
13
|
slug: "dashboard-01",
|
|
14
14
|
title: "Dashboard with sidebar",
|
|
15
15
|
command: "npx tembro init --template next --defaults\nnpx tembro add app-sidebar metric-grid data-table",
|
|
16
|
-
code: `import { AppSidebar
|
|
16
|
+
code: `import { AppSidebar, MetricGrid } from "tembro"\n\nexport function Dashboard01() {\n return <AppSidebar />\n}`,
|
|
17
17
|
tone: "dashboard",
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
slug: "table-01",
|
|
21
21
|
title: "Advanced invoice table",
|
|
22
22
|
command: "npx tembro add data-table",
|
|
23
|
-
code: `import { DataTable } from "
|
|
23
|
+
code: `import { DataTable } from "tembro"\n\nexport function Table01() {\n return <DataTable columns={columns} data={rows} />\n}`,
|
|
24
24
|
tone: "table",
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
slug: "auth-01",
|
|
28
28
|
title: "Authentication screen",
|
|
29
29
|
command: "npx tembro add input button",
|
|
30
|
-
code: `import { Button
|
|
30
|
+
code: `import { Button, Input } from "tembro"\n\nexport function Auth01() {\n return (\n <div className="space-y-3">\n <Input placeholder="Email" type="email" />\n <Input placeholder="Password" type="password" />\n <Button>Sign in</Button>\n </div>\n )\n}`,
|
|
31
31
|
tone: "auth",
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
slug: "product-01",
|
|
35
35
|
title: "Commerce product detail",
|
|
36
36
|
command: "npx tembro add badge button",
|
|
37
|
-
code: `import { Badge
|
|
37
|
+
code: `import { Badge, Button } from "tembro"\n\nexport function Product01() {\n return (\n <div className="space-y-2">\n <Badge>Featured</Badge>\n <div>Starter kit bundle</div>\n <Button>Buy now</Button>\n </div>\n )\n}`,
|
|
38
38
|
tone: "product",
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
slug: "command-01",
|
|
42
42
|
title: "Command palette",
|
|
43
43
|
command: "npx tembro add command-palette",
|
|
44
|
-
code: `import { CommandPalette } from "
|
|
44
|
+
code: `import { CommandPalette } from "tembro"\n\nexport function Command01() {\n return <CommandPalette />\n}`,
|
|
45
45
|
tone: "command",
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
slug: "calendar-01",
|
|
49
49
|
title: "Calendar and date picker",
|
|
50
50
|
command: "npx tembro add calendar date-picker",
|
|
51
|
-
code: `import { Calendar } from "
|
|
51
|
+
code: `import { Calendar } from "tembro"\n\nexport function Calendar01() {\n return <Calendar />\n}`,
|
|
52
52
|
tone: "calendar",
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
slug: "upload-01",
|
|
56
56
|
title: "Upload workspace",
|
|
57
57
|
command: "npx tembro add file-upload image-upload",
|
|
58
|
-
code: `import { FileUpload } from "
|
|
58
|
+
code: `import { FileUpload } from "tembro"\n\nexport function Upload01() {\n return <FileUpload />\n}`,
|
|
59
59
|
tone: "upload",
|
|
60
60
|
},
|
|
61
61
|
]
|
|
@@ -13,15 +13,11 @@ export const registryQualityDemoRegistry = createShowcaseDemoRegistry([
|
|
|
13
13
|
component("form-switch", "FormSwitch", "form", "Boolean form control with shell-level label and hint handling."),
|
|
14
14
|
component("form-date-picker", "FormDatePicker", "form", "Popover date picker wrapper with RHF integration."),
|
|
15
15
|
component("form-date-range-picker", "FormDateRangePicker", "form", "Range date picker wrapper for planning and reporting flows."),
|
|
16
|
-
component("repeater-field", "RepeaterField", "form", "Repeating row editor for dynamic field arrays."),
|
|
17
|
-
|
|
18
|
-
component("dialog-actions", "DialogActions", "overlay", "Modal footer action row with cancel, secondary and primary actions."),
|
|
19
16
|
component("alert-dialog", "AlertDialog", "overlay", "Destructive confirmation dialog with loading-ready action states."),
|
|
20
17
|
component("drawer", "Drawer", "overlay", "Side panel for contextual details without leaving the page."),
|
|
21
18
|
|
|
22
19
|
component("pagination", "Pagination", "navigation", "Controlled page navigation with edge buttons and active state."),
|
|
23
20
|
component("nav-tabs", "NavTabs", "navigation", "Navigation tabs for switching related document sections."),
|
|
24
|
-
component("anchor-nav", "AnchorNav", "navigation", "Section jump navigation for long detail pages."),
|
|
25
21
|
component("page-tabs", "PageTabs", "navigation", "Top-level page tab strip for route-sized sections."),
|
|
26
22
|
component("stepper-tabs", "StepperTabs", "navigation", "Step-like tabs for setup and onboarding progress."),
|
|
27
23
|
|
|
@@ -29,8 +25,6 @@ export const registryQualityDemoRegistry = createShowcaseDemoRegistry([
|
|
|
29
25
|
component("number-input", "NumberInput", "inputs", "Numeric entry for counts, thresholds, and reporting controls."),
|
|
30
26
|
component("phone-input", "PhoneInput", "inputs", "Phone input with stable raw and masked value handling."),
|
|
31
27
|
component("money-input", "MoneyInput", "inputs", "Currency entry for billing, finance and KPI editing flows."),
|
|
32
|
-
component("date-input", "DateInput", "inputs", "Single-date field for compact forms and filter bars."),
|
|
33
|
-
component("date-range-input", "DateRangeInput", "inputs", "Date range surface for reporting and booking windows."),
|
|
34
28
|
component("simple-select", "SimpleSelect", "inputs", "Static local-option select for dashboards and settings forms."),
|
|
35
29
|
component("async-select", "AsyncSelect", "inputs", "Remote-loaded select for large server-backed option sets."),
|
|
36
30
|
component("combobox", "Combobox", "inputs", "Searchable local choice input for reassignment and command-like selection."),
|
|
@@ -38,33 +32,23 @@ export const registryQualityDemoRegistry = createShowcaseDemoRegistry([
|
|
|
38
32
|
component("range-slider", "RangeSlider", "inputs", "Two-handle slider for min/max filtering."),
|
|
39
33
|
component("rating", "Rating", "inputs", "Compact score input for feedback and review flows."),
|
|
40
34
|
component("otp-input", "OtpInput", "inputs", "One-time code entry with fixed-length slots."),
|
|
41
|
-
component("color-input", "ColorInput", "inputs", "Theme and accent color field with native color selection."),
|
|
42
35
|
component("inline-editable", "InlineEditable", "inputs", "Inline editing primitive for dense tables and configuration rows."),
|
|
43
36
|
component("tag-input", "TagInput", "inputs", "Tokenized text input for labels, skills, and quick filters."),
|
|
44
37
|
|
|
45
|
-
component("description-list", "DescriptionList", "display", "Structured key-value details for entity, invoice and profile pages."),
|
|
46
38
|
component("progress", "Progress", "display", "Linear progress with label, value formatter, tone and indeterminate state."),
|
|
47
39
|
component("progress-circle", "ProgressCircle", "display", "Compact circular progress for sidebars and status cards."),
|
|
48
40
|
component("timeline", "Timeline", "display", "Vertical or horizontal event stream for workflow history."),
|
|
49
41
|
component("status-dot", "StatusDot", "display", "Tiny live status indicator with optional pulse animation."),
|
|
50
42
|
component("user-card", "UserCard", "display", "User summary row with avatar, metadata and actions."),
|
|
51
|
-
component("
|
|
52
|
-
component("entity-header", "EntityHeader", "display", "Top summary row for a customer, invoice, or workspace."),
|
|
53
|
-
component("notification-center", "NotificationCenter", "display", "Compact activity and notifications stream."),
|
|
54
|
-
component("entity-card", "EntityCard", "display", "Structured summary card with title, meta, state and actions."),
|
|
55
|
-
component("file-card", "FileCard", "display", "Compact file summary with state and actions."),
|
|
43
|
+
component("notification-center", "NotificationCenter", "display", "Compact activity and notifications stream."),
|
|
56
44
|
component("data-list", "DataList", "display", "Readable title and description rows for compact operational lists."),
|
|
57
45
|
component("status-legend", "StatusLegend", "display", "Explain status meaning and counts in a compact legend."),
|
|
58
|
-
component("trend-card", "TrendCard", "display", "Metric summary card with trend context."),
|
|
59
|
-
component("comparison-card", "ComparisonCard", "display", "Compare current and previous values in one compact card."),
|
|
46
|
+
component("trend-card", "TrendCard", "display", "Metric summary card with trend context."),
|
|
60
47
|
|
|
61
48
|
component("action-menu", "ActionMenu", "actions", "Compact dropdown action menu for rows and cards."),
|
|
62
49
|
component("button-group", "ButtonGroup", "actions", "Grouped action buttons for view switching and compact controls."),
|
|
63
50
|
component("quick-action-grid", "QuickActionGrid", "actions", "Action launcher grid for dense dashboard shortcuts."),
|
|
64
|
-
component("filter-
|
|
65
|
-
component("data-table-saved-filters", "SavedFilterSelect", "actions", "Saved filter chips and quick view controls."),
|
|
66
|
-
component("filter-bar", "FilterBar", "actions", "Search, filters, active-count and reset actions in one toolbar."),
|
|
67
|
-
component("command-palette", "CommandPalette", "actions", "Keyboard command surface for global navigation and actions."),
|
|
51
|
+
component("filter-bar", "FilterBar", "actions", "Search, filters, active-count and reset actions in one toolbar."),
|
|
68
52
|
|
|
69
53
|
component("app-header", "AppHeader", "layout", "Sticky product header with left, center and right slots."),
|
|
70
54
|
component("section-header", "SectionHeader", "layout", "Reusable section title block with actions and metadata."),
|
|
@@ -73,17 +57,7 @@ export const registryQualityDemoRegistry = createShowcaseDemoRegistry([
|
|
|
73
57
|
component("alert", "Alert", "feedback", "Inline feedback banner for success, warning, info, and error states."),
|
|
74
58
|
component("page-state", "PageState", "feedback", "Full-page completion or blocked state with next actions."),
|
|
75
59
|
|
|
76
|
-
component("
|
|
77
|
-
component("data-table-toolbar", "DataTableToolbar", "data-table", "Toolbar surface for DataTable search, filters and actions."),
|
|
78
|
-
component("data-table-column-visibility-menu", "DataTableColumnVisibilityMenu", "data-table", "Column visibility menu pattern for table views."),
|
|
79
|
-
component("data-table-select-column", "DataTableSelectColumn", "data-table", "Selection column pattern for bulk table workflows."),
|
|
80
|
-
component("data-table-sortable-header", "DataTableSortableHeader", "data-table", "Sortable header trigger with clear visual state."),
|
|
81
|
-
component("data-table-row-actions", "DataTableRowActions", "data-table", "Row action menu for inspect, duplicate and archive operations."),
|
|
82
|
-
component("data-table-actions-column", "DataTableActionsColumn", "data-table", "Reusable actions column for DataTable definitions."),
|
|
83
|
-
component("data-table-bulk-actions", "DataTableBulkActions", "data-table", "Bulk action bar for selected rows."),
|
|
84
|
-
component("data-table-view-presets", "DataTableViewPresets", "data-table", "Saved table view presets for operational dashboards."),
|
|
85
|
-
|
|
86
|
-
component("calendar", "Calendar", "calendar", "Single month calendar surface for date picker and scheduling flows."),
|
|
60
|
+
component("calendar", "Calendar", "calendar", "Single month calendar surface for date picker and scheduling flows."),
|
|
87
61
|
|
|
88
62
|
component("file-upload", "FileUpload", "upload", "Full file upload surface with dropzone, action button and helper text."),
|
|
89
63
|
component("image-upload", "ImageUpload", "upload", "Image upload pattern with preview-oriented copy."),
|