tembro 2.0.4 → 2.0.6
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-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.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 +8 -6
- package/dist/components/data-table/data-table.js +89 -80
- 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 +16 -1
- package/dist/components/display/carousel.js +71 -26
- 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 -3
- package/dist/components/display/index.js +21 -24
- package/dist/components/display/smart-card.d.ts +1 -1
- package/dist/components/display/status-legend.d.ts +1 -1
- 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/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.d.ts +3 -4
- package/dist/components/form/form-input.js +285 -224
- 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 +49 -35
- 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.js +14 -14
- package/dist/components/form/public.cjs +1 -1
- package/dist/components/form/public.d.ts +0 -8
- package/dist/components/form/public.js +7 -15
- package/dist/components/inputs/async-select.cjs +1 -1
- package/dist/components/inputs/async-select.d.ts +14 -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/search-input.d.ts +3 -0
- package/dist/components/inputs/simple-select.cjs +1 -1
- package/dist/components/inputs/simple-select.d.ts +10 -31
- package/dist/components/inputs/simple-select.js +5 -85
- 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.js +3 -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/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/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/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/components/ui/input/index.cjs +1 -1
- package/dist/components/ui/input/index.d.ts +8 -0
- package/dist/components/ui/input/index.js +63 -30
- package/dist/components/ui/select/index.cjs +1 -1
- package/dist/components/ui/select/index.d.ts +33 -1
- package/dist/components/ui/select/index.js +154 -48
- package/dist/index.cjs +1 -1
- package/dist/index.js +137 -156
- package/dist/public-component-surface.cjs +1 -1
- package/dist/public-component-surface.js +0 -15
- package/dist/showcase/component-api-schema.cjs +1 -1
- package/dist/showcase/component-api-schema.js +2 -2
- package/dist/showcase/create-demo.cjs +23 -36
- package/dist/showcase/create-demo.js +15 -16
- package/dist/showcase/fallback.cjs +3 -3
- package/dist/showcase/fallback.js +275 -265
- 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 +16 -14
- 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 +426 -467
- 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/select/mock.cjs +8 -9
- package/dist/showcase/premium/select/mock.js +1 -1
- package/dist/showcase/premium/select/showcase.cjs +1 -1
- package/dist/showcase/premium/select/showcase.js +76 -86
- 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 -23
- package/dist/showcase/registry-specific.cjs +1 -1
- package/dist/showcase/registry-specific.js +153 -383
- package/dist/showcase/render-registry-preview.cjs +1 -1
- package/dist/showcase/render-registry-preview.js +169 -197
- 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 -51
- 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-pagination.tsx +7 -7
- 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 +86 -73
- 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 +104 -6
- 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 -3
- 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/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/form-field-shell.tsx +72 -34
- package/packages/cli/vendor/src/components/form/form-input.tsx +127 -23
- package/packages/cli/vendor/src/components/form/form-select.tsx +30 -7
- 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/public.ts +0 -9
- package/packages/cli/vendor/src/components/inputs/async-select.tsx +138 -91
- package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
- package/packages/cli/vendor/src/components/inputs/search-input.tsx +5 -2
- package/packages/cli/vendor/src/components/inputs/simple-select.tsx +20 -162
- 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/stat-card.tsx +63 -23
- package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
- 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/card/index.tsx +95 -25
- 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/components/ui/input/index.tsx +98 -0
- package/packages/cli/vendor/src/components/ui/select/index.tsx +227 -34
- package/packages/cli/vendor/src/public-component-surface.ts +0 -3
- package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
- package/packages/cli/vendor/src/showcase/create-demo.tsx +44 -58
- package/packages/cli/vendor/src/showcase/fallback.tsx +80 -99
- 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 +14 -14
- 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 -24
- 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/select/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +13 -21
- 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 -28
- package/packages/cli/vendor/src/showcase/registry-specific.tsx +10 -186
- package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +23 -57
- 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 +11 -58
- package/registry.json +11 -61
- 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/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/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/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/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/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/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/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/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/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
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import {
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
+
import { Label, Input } from "tembro"
|
|
2
3
|
|
|
3
4
|
export function Example() {
|
|
5
|
+
const [query, setQuery] = useState("buttons")
|
|
6
|
+
|
|
4
7
|
return (
|
|
5
8
|
<form className="space-y-4">
|
|
6
9
|
<div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
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
|
+
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",
|
|
4
4
|
htmlCode: "<label for=\"example\">Search components</label>\n<input id=\"example\" data-slot=\"input\" type=\"text\" placeholder=\"Search components...\" />",
|
|
5
5
|
cliCommand: "npx tembro add input",
|
|
6
6
|
highlights: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { MaskedInput } from "
|
|
2
|
+
import { MaskedInput } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [value, setValue] = useState("AA-123")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/masked-input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { MaskedInput } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { MaskedInput } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState(\"AA-123\")\n\n return (\n <MaskedInput\n value={value}\n onValueChange={(nextValue) => setValue(nextValue)}\n mask={(raw: string) => raw.toUpperCase().slice(0, 6).replace(/(.{3})(?=.)/, \"$1-\")}\n placeholder=\"AA-123\"\n />\n )\n}\n",
|
|
4
4
|
htmlCode: "<label for=\"masked\">Referral code</label><input id=\"masked\" type=\"text\" value=\"AA-123\" placeholder=\"AA-123\" />",
|
|
5
5
|
cliCommand: "npx tembro add masked-input",
|
|
6
6
|
highlights: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { MoneyInput } from "
|
|
2
|
+
import { MoneyInput } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [value, setValue] = useState<number | null>(2990.5)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/money-input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { MoneyInput } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { MoneyInput } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState<number | null>(2990.5)\n const [raw, setRaw] = useState(\"$2,990.50\")\n\n return (\n <div className=\"space-y-3\">\n <MoneyInput\n value={value}\n onValueChange={(nextValue, rawValue) => {\n setValue(nextValue)\n setRaw(rawValue)\n }}\n prefix=\"$\"\n inputMode=\"decimal\"\n step={0.5}\n />\n <p className=\"text-sm aui-text-subtle\">\n Numeric value: <strong>{value === null ? \"invalid\" : value}</strong>\n </p>\n <p className=\"text-sm aui-text-muted\">Raw input: {raw}</p>\n <p className=\"text-sm aui-text-muted\">Use inputMode to match expected currency input source.</p>\n </div>\n )\n}",
|
|
4
4
|
htmlCode: "<label for=\"money\">Budget</label><div>$<input id=\"money\" inputmode=\"decimal\" type=\"text\" /></div>",
|
|
5
5
|
cliCommand: "npx tembro add money-input",
|
|
6
6
|
highlights: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { NumberInput, parseNumberInput } from "
|
|
2
|
+
import { NumberInput, parseNumberInput } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [value, setValue] = useState<number | null>(14)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/number-input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { NumberInput, parseNumberInput } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { NumberInput, parseNumberInput } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState<number | null>(14)\n const [raw, setRaw] = useState(\"14\")\n\n return (\n <div className=\"space-y-3\">\n <NumberInput\n value={value}\n onNumberChange={(nextValue) => {\n setValue(nextValue)\n setRaw(String(nextValue ?? \"\"))\n }}\n onChange={(event) => {\n const candidate = parseNumberInput(event.target.value)\n if (candidate === null) setRaw(event.target.value)\n }}\n min={0}\n max={100}\n step={5}\n allowEmpty\n />\n <p className=\"text-sm aui-text-subtle\">\n Parsed numeric: <strong>{value === null ? \"unset\" : value}</strong>\n </p>\n <p className=\"text-sm aui-text-muted\">Raw text: {raw}</p>\n <p className=\"text-sm aui-text-muted\">\n Try entering invalid chars to see how parse and clamp rules apply.\n </p>\n </div>\n )\n}",
|
|
4
4
|
htmlCode: "<label for=\"example-number\">Amount</label><input id=\"example-number\" inputmode=\"decimal\" type=\"text\" />",
|
|
5
5
|
cliCommand: "npx tembro add number-input",
|
|
6
6
|
highlights: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { PhoneInput } from "
|
|
2
|
+
import { PhoneInput } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [value, setValue] = useState("+998 90 123 45 67")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/phone-input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { PhoneInput } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { PhoneInput } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState(\"+998 90 123 45 67\")\n\n return (\n <PhoneInput\n value={value}\n onValueChange={setValue}\n defaultCountry=\"UZ\"\n placeholder=\"+998 90 123 45 67\"\n />\n )\n}\n",
|
|
4
4
|
htmlCode: "<label for=\"phone\">Phone</label><input id=\"phone\" type=\"tel\" inputmode=\"tel\" placeholder=\"+998 90 123 45 67\" />",
|
|
5
5
|
cliCommand: "npx tembro add phone-input",
|
|
6
6
|
highlights: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { QuantityInput } from "
|
|
2
|
+
import { QuantityInput } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [quantity, setQuantity] = useState<number | null>(3)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/quantity-input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { QuantityInput } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { QuantityInput } from \"tembro\"\n\nexport function Example() {\n const [quantity, setQuantity] = useState<number | null>(3)\n\n return (\n <div className=\"space-y-3\">\n <QuantityInput\n value={quantity}\n onValueChange={(nextValue: number | null) => setQuantity(nextValue)}\n min={0}\n max={10}\n step={1}\n showControls\n />\n <p className=\"text-sm aui-text-subtle\">\n Items: <strong>{quantity ?? \"unset\"}</strong>\n </p>\n <p className=\"text-sm aui-text-muted\">\n Controls should stay aligned with adjacent action columns in compact table rows.\n </p>\n <p className=\"text-sm aui-text-muted\">\n Try increment/decrement at bounds to validate guardrails.\n </p>\n </div>\n )\n}",
|
|
4
4
|
htmlCode: "<label for=\"qty\">Quantity</label><input id=\"qty\" type=\"text\" inputmode=\"numeric\" />",
|
|
5
5
|
cliCommand: "npx tembro add quantity-input",
|
|
6
6
|
highlights: [
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Select
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Select } from "tembro"
|
|
2
|
+
|
|
3
|
+
const planOptions = [
|
|
4
|
+
{ value: "starter", label: "Starter" },
|
|
5
|
+
{ value: "growth", label: "Growth" },
|
|
6
|
+
{ value: "enterprise", label: "Enterprise" },
|
|
7
|
+
]
|
|
2
8
|
|
|
3
9
|
export function Example() {
|
|
4
|
-
return
|
|
5
|
-
<Select defaultValue="starter">
|
|
6
|
-
<SelectTrigger><SelectValue /></SelectTrigger>
|
|
7
|
-
<SelectContent>
|
|
8
|
-
<SelectItem value="starter">Starter</SelectItem>
|
|
9
|
-
</SelectContent>
|
|
10
|
-
</Select>
|
|
11
|
-
)
|
|
10
|
+
return <Select defaultValue="starter" options={planOptions} />
|
|
12
11
|
}`,cliCommand:`npx tembro add select`,highlights:[`Primary selection surface`,`Controlled selection`,`Searchable local flow`,`Compact trigger options`],relatedBlockSlugs:[`crm-dashboard`,`users-table`,`dashboard-starter`],scenarios:[{title:`Plan picker`,description:`Switch between starter, growth and enterprise plans.`},{title:`Status filter`,description:`Use select inside dashboards and reporting toolbars.`},{title:`Compact trigger`,description:`Render small controls in dense admin layouts.`},{title:`Grouped options`,description:`Present structured choices without overwhelming the form.`}],capabilityNotes:[`Start here for most static single-choice flows before reaching for helper members.`,`Supports controlled and uncontrolled selected values plus searchable local filtering.`,`Includes trigger sizing for compact or default density layouts.`,`AsyncSelect, AsyncMultiSelect, SimpleSelect, and Combobox should read as related members rather than separate starting points.`]};exports.selectMock=e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/select/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Select
|
|
3
|
+
code: "import { Select } from \"tembro\"\n\nconst planOptions = [\n { value: \"starter\", label: \"Starter\" },\n { value: \"growth\", label: \"Growth\" },\n { value: \"enterprise\", label: \"Enterprise\" },\n]\n\nexport function Example() {\n return <Select defaultValue=\"starter\" options={planOptions} />\n}",
|
|
4
4
|
cliCommand: "npx tembro add select",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Primary selection surface",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("../../../components/ui/select/index.cjs"),i=require("./data.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=`border-t border-[color:var(--aui-divider)] py-6`;function c({state:e,setState:c}){let l=i.selectDemoGroups[0].options,u=i.selectDemoGroups[1].options,d=e.selectValue??l[0].value,f=l.find(e=>e.value===d)??l[0],p=l[1]??l[0],[m,h]=a.useState(`plan`),g=f.value===`enterprise`?[[`Seats`,`Unlimited`],[`Support`,`Dedicated`],[`SLA`,`Priority`]]:f.value===`growth`?[[`Seats`,`25`],[`Support`,`Shared`],[`SLA`,`Same day`]]:[[`Seats`,`5`],[`Support`,`Email`],[`SLA`,`Standard`]];return(0,o.jsxs)(`div`,{className:`space-y-0`,children:[(0,o.jsxs)(`section`,{className:`pb-6`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between`,children:[(0,o.jsxs)(`div`,{className:`max-w-xl`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Selection`}),(0,o.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`One clean select surface first`}),(0,o.jsx)(`p`,{className:`mt-3 text-sm leading-6 aui-text-muted`,children:`Show the default trigger, controlled value, and summary update in one place.`})]}),(0,o.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]`,children:[(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Choice`}),(0,o.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:f.label})]}),(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Mode`}),(0,o.jsx)(`p`,{className:`mt-2 text-lg font-semibold capitalize aui-text-strong`,children:m})]}),(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Options`}),(0,o.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:m===`plan`?l.length:u.length})]})]})]}),(0,o.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2`,children:[(0,o.jsx)(t.Button,{size:`sm`,variant:m===`plan`?`default`:`outline`,onClick:()=>h(`plan`),children:`Default trigger`}),(0,o.jsx)(t.Button,{size:`sm`,variant:m===`density`?`default`:`outline`,onClick:()=>h(`density`),children:`Compact trigger`})]})]}),(0,o.jsx)(`section`,{className:s,children:(0,o.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,0.92fr)_minmax(0,1.08fr)]`,children:[(0,o.jsxs)(`div`,{className:`space-y-4`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Primary select`}),(0,o.jsx)(`h4`,{className:`mt-2 text-xl font-semibold tracking-tight aui-text-strong`,children:m===`plan`?`Standard choice trigger`:`Compact toolbar trigger`})]}),(0,o.jsxs)(`div`,{className:`rounded-[20px] border border-[color:var(--aui-divider)] p-4`,children:[(0,o.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:m===`plan`?`Workspace plan`:`Toolbar density`}),(0,o.jsx)(`div`,{className:`mt-3`,children:m===`plan`?(0,o.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("../../../components/ui/select/index.cjs"),i=require("./data.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=`border-t border-[color:var(--aui-divider)] py-6`;function c({state:e,setState:c}){let l=i.selectDemoGroups[0].options,u=i.selectDemoGroups[1].options,d=e.selectValue??l[0].value,f=l.find(e=>e.value===d)??l[0],p=l[1]??l[0],[m,h]=a.useState(`plan`),g=f.value===`enterprise`?[[`Seats`,`Unlimited`],[`Support`,`Dedicated`],[`SLA`,`Priority`]]:f.value===`growth`?[[`Seats`,`25`],[`Support`,`Shared`],[`SLA`,`Same day`]]:[[`Seats`,`5`],[`Support`,`Email`],[`SLA`,`Standard`]];return(0,o.jsxs)(`div`,{className:`space-y-0`,children:[(0,o.jsxs)(`section`,{className:`pb-6`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between`,children:[(0,o.jsxs)(`div`,{className:`max-w-xl`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Selection`}),(0,o.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`One clean select surface first`}),(0,o.jsx)(`p`,{className:`mt-3 text-sm leading-6 aui-text-muted`,children:`Show the default trigger, controlled value, and summary update in one place.`})]}),(0,o.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]`,children:[(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Choice`}),(0,o.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:f.label})]}),(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Mode`}),(0,o.jsx)(`p`,{className:`mt-2 text-lg font-semibold capitalize aui-text-strong`,children:m})]}),(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Options`}),(0,o.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:m===`plan`?l.length:u.length})]})]})]}),(0,o.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2`,children:[(0,o.jsx)(t.Button,{size:`sm`,variant:m===`plan`?`default`:`outline`,onClick:()=>h(`plan`),children:`Default trigger`}),(0,o.jsx)(t.Button,{size:`sm`,variant:m===`density`?`default`:`outline`,onClick:()=>h(`density`),children:`Compact trigger`})]})]}),(0,o.jsx)(`section`,{className:s,children:(0,o.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,0.92fr)_minmax(0,1.08fr)]`,children:[(0,o.jsxs)(`div`,{className:`space-y-4`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Primary select`}),(0,o.jsx)(`h4`,{className:`mt-2 text-xl font-semibold tracking-tight aui-text-strong`,children:m===`plan`?`Standard choice trigger`:`Compact toolbar trigger`})]}),(0,o.jsxs)(`div`,{className:`rounded-[20px] border border-[color:var(--aui-divider)] p-4`,children:[(0,o.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:m===`plan`?`Workspace plan`:`Toolbar density`}),(0,o.jsx)(`div`,{className:`mt-3`,children:m===`plan`?(0,o.jsx)(r.Select,{value:d,onValueChange:e=>c({selectValue:e??l[0].value}),options:l,triggerClassName:`w-full`}):(0,o.jsx)(r.Select,{defaultValue:u[0].value,options:u,size:`sm`,triggerClassName:`w-full`})})]}),(0,o.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:g.map(([e,t])=>(0,o.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,o.jsx)(`p`,{className:`text-xs aui-text-muted`,children:e}),(0,o.jsx)(`p`,{className:`mt-1 text-sm font-medium aui-text-strong`,children:t})]},e))})]}),(0,o.jsxs)(`div`,{className:`space-y-4`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Controlled result`}),(0,o.jsx)(`h4`,{className:`mt-2 text-xl font-semibold tracking-tight aui-text-strong`,children:f.label})]}),(0,o.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:f.value})]}),(0,o.jsx)(`div`,{className:`border-y border-[color:var(--aui-divider)]`,children:[`Base Select should cover normal forms and static choices first.`,`Async and searchable variants should be documented as upgrades, not parallel defaults.`,`Controlled value must update nearby product UI immediately.`].map(e=>(0,o.jsx)(`div`,{className:`border-b border-[color:var(--aui-divider)] py-3 text-sm leading-6 aui-text-muted last:border-b-0`,children:e},e))}),(0,o.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,o.jsxs)(t.Button,{type:`button`,size:`sm`,onClick:()=>c({selectValue:p.value}),children:[`Choose `,p.label]}),(0,o.jsx)(t.Button,{type:`button`,size:`sm`,variant:`secondary`,onClick:()=>c({selectValue:l[0].value}),children:`Reset`})]})]})]})})]})}exports.SelectShowcase=c;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
2
|
import { Badge as t } from "../../../components/ui/badge/index.js";
|
|
3
|
-
import { Select as n
|
|
4
|
-
import { selectDemoGroups as
|
|
5
|
-
import * as
|
|
6
|
-
import { jsx as
|
|
3
|
+
import { Select as n } from "../../../components/ui/select/index.js";
|
|
4
|
+
import { selectDemoGroups as r } from "./data.js";
|
|
5
|
+
import * as i from "react";
|
|
6
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
7
|
//#region src/showcase/premium/select/showcase.tsx
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
let
|
|
8
|
+
var s = "border-t border-[color:var(--aui-divider)] py-6";
|
|
9
|
+
function c({ state: c, setState: l }) {
|
|
10
|
+
let u = r[0].options, d = r[1].options, f = c.selectValue ?? u[0].value, p = u.find((e) => e.value === f) ?? u[0], m = u[1] ?? u[0], [h, g] = i.useState("plan"), _ = p.value === "enterprise" ? [
|
|
11
11
|
["Seats", "Unlimited"],
|
|
12
12
|
["Support", "Dedicated"],
|
|
13
13
|
["SLA", "Priority"]
|
|
14
|
-
] :
|
|
14
|
+
] : p.value === "growth" ? [
|
|
15
15
|
["Seats", "25"],
|
|
16
16
|
["Support", "Shared"],
|
|
17
17
|
["SLA", "Same day"]
|
|
@@ -20,175 +20,165 @@ function f({ state: f, setState: p }) {
|
|
|
20
20
|
["Support", "Email"],
|
|
21
21
|
["SLA", "Standard"]
|
|
22
22
|
];
|
|
23
|
-
return /* @__PURE__ */
|
|
23
|
+
return /* @__PURE__ */ o("div", {
|
|
24
24
|
className: "space-y-0",
|
|
25
|
-
children: [/* @__PURE__ */
|
|
25
|
+
children: [/* @__PURE__ */ o("section", {
|
|
26
26
|
className: "pb-6",
|
|
27
|
-
children: [/* @__PURE__ */
|
|
27
|
+
children: [/* @__PURE__ */ o("div", {
|
|
28
28
|
className: "flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between",
|
|
29
|
-
children: [/* @__PURE__ */
|
|
29
|
+
children: [/* @__PURE__ */ o("div", {
|
|
30
30
|
className: "max-w-xl",
|
|
31
31
|
children: [
|
|
32
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */ a("p", {
|
|
33
33
|
className: "text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted",
|
|
34
34
|
children: "Selection"
|
|
35
35
|
}),
|
|
36
|
-
/* @__PURE__ */
|
|
36
|
+
/* @__PURE__ */ a("h3", {
|
|
37
37
|
className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
|
|
38
38
|
children: "One clean select surface first"
|
|
39
39
|
}),
|
|
40
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ a("p", {
|
|
41
41
|
className: "mt-3 text-sm leading-6 aui-text-muted",
|
|
42
42
|
children: "Show the default trigger, controlled value, and summary update in one place."
|
|
43
43
|
})
|
|
44
44
|
]
|
|
45
|
-
}), /* @__PURE__ */
|
|
45
|
+
}), /* @__PURE__ */ o("div", {
|
|
46
46
|
className: "grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]",
|
|
47
47
|
children: [
|
|
48
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ o("div", {
|
|
49
49
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
50
|
-
children: [/* @__PURE__ */
|
|
50
|
+
children: [/* @__PURE__ */ a("p", {
|
|
51
51
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
52
52
|
children: "Choice"
|
|
53
|
-
}), /* @__PURE__ */
|
|
53
|
+
}), /* @__PURE__ */ a("p", {
|
|
54
54
|
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
55
|
-
children:
|
|
55
|
+
children: p.label
|
|
56
56
|
})]
|
|
57
57
|
}),
|
|
58
|
-
/* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ o("div", {
|
|
59
59
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
60
|
-
children: [/* @__PURE__ */
|
|
60
|
+
children: [/* @__PURE__ */ a("p", {
|
|
61
61
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
62
62
|
children: "Mode"
|
|
63
|
-
}), /* @__PURE__ */
|
|
63
|
+
}), /* @__PURE__ */ a("p", {
|
|
64
64
|
className: "mt-2 text-lg font-semibold capitalize aui-text-strong",
|
|
65
|
-
children:
|
|
65
|
+
children: h
|
|
66
66
|
})]
|
|
67
67
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ o("div", {
|
|
69
69
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
70
|
-
children: [/* @__PURE__ */
|
|
70
|
+
children: [/* @__PURE__ */ a("p", {
|
|
71
71
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
72
72
|
children: "Options"
|
|
73
|
-
}), /* @__PURE__ */
|
|
73
|
+
}), /* @__PURE__ */ a("p", {
|
|
74
74
|
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
75
|
-
children:
|
|
75
|
+
children: h === "plan" ? u.length : d.length
|
|
76
76
|
})]
|
|
77
77
|
})
|
|
78
78
|
]
|
|
79
79
|
})]
|
|
80
|
-
}), /* @__PURE__ */
|
|
80
|
+
}), /* @__PURE__ */ o("div", {
|
|
81
81
|
className: "mt-6 flex flex-wrap gap-2",
|
|
82
|
-
children: [/* @__PURE__ */
|
|
82
|
+
children: [/* @__PURE__ */ a(e, {
|
|
83
83
|
size: "sm",
|
|
84
|
-
variant:
|
|
85
|
-
onClick: () =>
|
|
84
|
+
variant: h === "plan" ? "default" : "outline",
|
|
85
|
+
onClick: () => g("plan"),
|
|
86
86
|
children: "Default trigger"
|
|
87
|
-
}), /* @__PURE__ */
|
|
87
|
+
}), /* @__PURE__ */ a(e, {
|
|
88
88
|
size: "sm",
|
|
89
|
-
variant:
|
|
90
|
-
onClick: () =>
|
|
89
|
+
variant: h === "density" ? "default" : "outline",
|
|
90
|
+
onClick: () => g("density"),
|
|
91
91
|
children: "Compact trigger"
|
|
92
92
|
})]
|
|
93
93
|
})]
|
|
94
|
-
}), /* @__PURE__ */
|
|
95
|
-
className:
|
|
96
|
-
children: /* @__PURE__ */
|
|
94
|
+
}), /* @__PURE__ */ a("section", {
|
|
95
|
+
className: s,
|
|
96
|
+
children: /* @__PURE__ */ o("div", {
|
|
97
97
|
className: "grid gap-6 xl:grid-cols-[minmax(0,0.92fr)_minmax(0,1.08fr)]",
|
|
98
|
-
children: [/* @__PURE__ */
|
|
98
|
+
children: [/* @__PURE__ */ o("div", {
|
|
99
99
|
className: "space-y-4",
|
|
100
100
|
children: [
|
|
101
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
102
102
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
103
103
|
children: "Primary select"
|
|
104
|
-
}), /* @__PURE__ */
|
|
104
|
+
}), /* @__PURE__ */ a("h4", {
|
|
105
105
|
className: "mt-2 text-xl font-semibold tracking-tight aui-text-strong",
|
|
106
|
-
children:
|
|
106
|
+
children: h === "plan" ? "Standard choice trigger" : "Compact toolbar trigger"
|
|
107
107
|
})] }),
|
|
108
|
-
/* @__PURE__ */
|
|
108
|
+
/* @__PURE__ */ o("div", {
|
|
109
109
|
className: "rounded-[20px] border border-[color:var(--aui-divider)] p-4",
|
|
110
|
-
children: [/* @__PURE__ */
|
|
110
|
+
children: [/* @__PURE__ */ a("p", {
|
|
111
111
|
className: "text-sm font-medium aui-text-muted",
|
|
112
|
-
children:
|
|
113
|
-
}), /* @__PURE__ */
|
|
112
|
+
children: h === "plan" ? "Workspace plan" : "Toolbar density"
|
|
113
|
+
}), /* @__PURE__ */ a("div", {
|
|
114
114
|
className: "mt-3",
|
|
115
|
-
children:
|
|
116
|
-
value:
|
|
117
|
-
onValueChange: (e) =>
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}) : /* @__PURE__ */ u(n, {
|
|
126
|
-
defaultValue: h[0].value,
|
|
127
|
-
children: [/* @__PURE__ */ l(a, {
|
|
128
|
-
size: "sm",
|
|
129
|
-
className: "w-full",
|
|
130
|
-
children: /* @__PURE__ */ l(o, {})
|
|
131
|
-
}), /* @__PURE__ */ l(r, { children: h.map((e) => /* @__PURE__ */ l(i, {
|
|
132
|
-
value: e.value,
|
|
133
|
-
children: e.label
|
|
134
|
-
}, e.value)) })]
|
|
115
|
+
children: h === "plan" ? /* @__PURE__ */ a(n, {
|
|
116
|
+
value: f,
|
|
117
|
+
onValueChange: (e) => l({ selectValue: e ?? u[0].value }),
|
|
118
|
+
options: u,
|
|
119
|
+
triggerClassName: "w-full"
|
|
120
|
+
}) : /* @__PURE__ */ a(n, {
|
|
121
|
+
defaultValue: d[0].value,
|
|
122
|
+
options: d,
|
|
123
|
+
size: "sm",
|
|
124
|
+
triggerClassName: "w-full"
|
|
135
125
|
})
|
|
136
126
|
})]
|
|
137
127
|
}),
|
|
138
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ a("div", {
|
|
139
129
|
className: "grid gap-3 sm:grid-cols-3",
|
|
140
|
-
children:
|
|
130
|
+
children: _.map(([e, t]) => /* @__PURE__ */ o("div", {
|
|
141
131
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
142
|
-
children: [/* @__PURE__ */
|
|
132
|
+
children: [/* @__PURE__ */ a("p", {
|
|
143
133
|
className: "text-xs aui-text-muted",
|
|
144
134
|
children: e
|
|
145
|
-
}), /* @__PURE__ */
|
|
135
|
+
}), /* @__PURE__ */ a("p", {
|
|
146
136
|
className: "mt-1 text-sm font-medium aui-text-strong",
|
|
147
137
|
children: t
|
|
148
138
|
})]
|
|
149
139
|
}, e))
|
|
150
140
|
})
|
|
151
141
|
]
|
|
152
|
-
}), /* @__PURE__ */
|
|
142
|
+
}), /* @__PURE__ */ o("div", {
|
|
153
143
|
className: "space-y-4",
|
|
154
144
|
children: [
|
|
155
|
-
/* @__PURE__ */
|
|
145
|
+
/* @__PURE__ */ o("div", {
|
|
156
146
|
className: "flex items-center justify-between gap-3",
|
|
157
|
-
children: [/* @__PURE__ */
|
|
147
|
+
children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
158
148
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
159
149
|
children: "Controlled result"
|
|
160
|
-
}), /* @__PURE__ */
|
|
150
|
+
}), /* @__PURE__ */ a("h4", {
|
|
161
151
|
className: "mt-2 text-xl font-semibold tracking-tight aui-text-strong",
|
|
162
|
-
children:
|
|
163
|
-
})] }), /* @__PURE__ */
|
|
152
|
+
children: p.label
|
|
153
|
+
})] }), /* @__PURE__ */ a(t, {
|
|
164
154
|
variant: "outline",
|
|
165
155
|
className: "rounded-full",
|
|
166
|
-
children:
|
|
156
|
+
children: p.value
|
|
167
157
|
})]
|
|
168
158
|
}),
|
|
169
|
-
/* @__PURE__ */
|
|
159
|
+
/* @__PURE__ */ a("div", {
|
|
170
160
|
className: "border-y border-[color:var(--aui-divider)]",
|
|
171
161
|
children: [
|
|
172
162
|
"Base Select should cover normal forms and static choices first.",
|
|
173
163
|
"Async and searchable variants should be documented as upgrades, not parallel defaults.",
|
|
174
164
|
"Controlled value must update nearby product UI immediately."
|
|
175
|
-
].map((e) => /* @__PURE__ */
|
|
165
|
+
].map((e) => /* @__PURE__ */ a("div", {
|
|
176
166
|
className: "border-b border-[color:var(--aui-divider)] py-3 text-sm leading-6 aui-text-muted last:border-b-0",
|
|
177
167
|
children: e
|
|
178
168
|
}, e))
|
|
179
169
|
}),
|
|
180
|
-
/* @__PURE__ */
|
|
170
|
+
/* @__PURE__ */ o("div", {
|
|
181
171
|
className: "flex flex-wrap gap-2",
|
|
182
|
-
children: [/* @__PURE__ */
|
|
172
|
+
children: [/* @__PURE__ */ o(e, {
|
|
183
173
|
type: "button",
|
|
184
174
|
size: "sm",
|
|
185
|
-
onClick: () =>
|
|
186
|
-
children: ["Choose ",
|
|
187
|
-
}), /* @__PURE__ */
|
|
175
|
+
onClick: () => l({ selectValue: m.value }),
|
|
176
|
+
children: ["Choose ", m.label]
|
|
177
|
+
}), /* @__PURE__ */ a(e, {
|
|
188
178
|
type: "button",
|
|
189
179
|
size: "sm",
|
|
190
180
|
variant: "secondary",
|
|
191
|
-
onClick: () =>
|
|
181
|
+
onClick: () => l({ selectValue: u[0].value }),
|
|
192
182
|
children: "Reset"
|
|
193
183
|
})]
|
|
194
184
|
})
|
|
@@ -199,4 +189,4 @@ function f({ state: f, setState: p }) {
|
|
|
199
189
|
});
|
|
200
190
|
}
|
|
201
191
|
//#endregion
|
|
202
|
-
export {
|
|
192
|
+
export { c as SelectShowcase };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { Button, SimpleSelect } from "
|
|
2
|
+
import { Button, SimpleSelect } from "tembro"
|
|
3
3
|
|
|
4
4
|
const selectOptions = [
|
|
5
5
|
{ value: "public", label: "Public", disabled: false },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/simple-select/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { Button, SimpleSelect } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { Button, SimpleSelect } from \"tembro\"\n\nconst selectOptions = [\n { value: \"public\", label: \"Public\", disabled: false },\n { value: \"private\", label: \"Private\", disabled: false },\n { value: \"internal\", label: \"Internal\", disabled: false },\n { value: \"archived\", label: \"Archived\", disabled: true },\n]\n\nexport function Example() {\n const [value, setValue] = useState(\"private\")\n\n return (\n <div className=\"space-y-3\">\n <SimpleSelect\n options={selectOptions}\n value={value}\n onValueChange={(nextValue) => setValue(nextValue ?? \"private\")}\n placeholder=\"Visibility\"\n size=\"sm\"\n />\n <div className=\"rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm aui-text-muted\">\n Current visibility: <strong>{value}</strong>\n </div>\n <Button variant=\"outline\" onClick={() => setValue(\"public\")}>Reset public</Button>\n </div>\n )\n}",
|
|
4
4
|
htmlCode: "<button data-slot=\"simple-select-trigger\">Open options</button>",
|
|
5
5
|
cliCommand: "npx tembro add simple-select",
|
|
6
6
|
highlights: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/badge/index.cjs"),n=require("../../../components/inputs/simple-select.cjs"),r=require("../../component-route-data.cjs");let i=require("react"),a=require("react/jsx-runtime");function o({mode:o}){let[s,c]=(0,i.useState)(`private`),[l,u]=(0,i.useState)(0),d=r.routeSimpleSelectOptions,f=d.find(e=>e.value===s);return(0,a.jsxs)(`div`,{className:`space-y-4`,children:[(0,a.jsxs)(`div`,{className:`rounded-[20px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:[(0,a.jsx)(`p`,{className:`text-sm font-medium aui-text-strong`,children:`SimpleSelect is the lightweight static member`}),(0,a.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Use it only when you want a thinner wrapper around the main Select surface for static option lists.`}),(0,a.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,a.jsx)(t.Badge,{variant:`outline`,children:`Static options`}),(0,a.jsx)(t.Badge,{variant:`outline`,children:`Searchable`}),(0,a.jsx)(t.Badge,{variant:`outline`,children:`Clearable`})]})]}),(0,a.jsx)(n.SimpleSelect,{value:s,onValueChange:e=>c(e),options:d,placeholder:`Visibility`,searchable:!0,clearable:!0}),(0,a.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,a.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:`Current value`}),(0,a.jsx)(`p`,{className:`mt-2 aui-text-muted`,children:f?.label??`Nothing selected`})]}),(0,a.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:`Behavior`}),(0,a.jsx)(`p`,{className:`mt-2 aui-text-muted`,children:`Clear icon and disabled items behave inside the same trigger model.`})]}),(0,a.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:`When to use`}),(0,a.jsx)(`p`,{className:`mt-2 aui-text-muted`,children:`Choose this for local option lists before moving to AsyncSelect.`})]})]}),(0,a.jsx)(n.SimpleSelect,{defaultValue:`public`,options:d},l),(0,a.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,a.jsx)(e.Button,{variant:`outline`,size:`sm`,onClick:()=>c(void 0),children:`Clear controlled`}),(0,a.jsx)(e.Button,{variant:`outline`,size:`sm`,onClick:()=>u(e=>e+1),children:`Reset uncontrolled sample`})]}),o===`playground`?(0,a.jsx)(`p`,{className:`aui-text-muted rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:`Controlled selection can power filter states, while uncontrolled default usage is fine for one-off static forms. If the list becomes remote, move back to the Select family and choose AsyncSelect.`}):null]})}exports.SimpleSelectShowcase=o;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/badge/index.cjs"),n=require("../../../components/inputs/simple-select.cjs"),r=require("../../component-route-data.cjs");let i=require("react"),a=require("react/jsx-runtime");function o({mode:o}){let[s,c]=(0,i.useState)(`private`),[l,u]=(0,i.useState)(0),d=r.routeSimpleSelectOptions,f=d.find(e=>e.value===s);return(0,a.jsxs)(`div`,{className:`space-y-4`,children:[(0,a.jsxs)(`div`,{className:`rounded-[20px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:[(0,a.jsx)(`p`,{className:`text-sm font-medium aui-text-strong`,children:`SimpleSelect is the lightweight static member`}),(0,a.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Use it only when you want a thinner wrapper around the main Select surface for static option lists.`}),(0,a.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,a.jsx)(t.Badge,{variant:`outline`,children:`Static options`}),(0,a.jsx)(t.Badge,{variant:`outline`,children:`Searchable`}),(0,a.jsx)(t.Badge,{variant:`outline`,children:`Clearable`})]})]}),(0,a.jsx)(n.SimpleSelect,{value:s,onValueChange:e=>c(e),options:d,placeholder:`Visibility`,searchable:!0,clearable:!0,showSelectedDescription:!0}),(0,a.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,a.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:`Current value`}),(0,a.jsx)(`p`,{className:`mt-2 aui-text-muted`,children:f?.label??`Nothing selected`})]}),(0,a.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:`Behavior`}),(0,a.jsx)(`p`,{className:`mt-2 aui-text-muted`,children:`Clear icon and disabled items behave inside the same trigger model.`})]}),(0,a.jsxs)(`div`,{className:`rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:[(0,a.jsx)(`p`,{className:`font-medium aui-text-strong`,children:`When to use`}),(0,a.jsx)(`p`,{className:`mt-2 aui-text-muted`,children:`Choose this for local option lists before moving to AsyncSelect.`})]})]}),(0,a.jsx)(n.SimpleSelect,{defaultValue:`public`,options:d,showSelectedDescription:!0},l),(0,a.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,a.jsx)(e.Button,{variant:`outline`,size:`sm`,onClick:()=>c(void 0),children:`Clear controlled`}),(0,a.jsx)(e.Button,{variant:`outline`,size:`sm`,onClick:()=>u(e=>e+1),children:`Reset uncontrolled sample`})]}),o===`playground`?(0,a.jsx)(`p`,{className:`aui-text-muted rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface-muted)] px-4 py-3 text-sm`,children:`Controlled selection can power filter states, while uncontrolled default usage is fine for one-off static forms. If the list becomes remote, move back to the Select family and choose AsyncSelect.`}):null]})}exports.SimpleSelectShowcase=o;
|
|
@@ -46,7 +46,8 @@ function s({ mode: s }) {
|
|
|
46
46
|
options: f,
|
|
47
47
|
placeholder: "Visibility",
|
|
48
48
|
searchable: !0,
|
|
49
|
-
clearable: !0
|
|
49
|
+
clearable: !0,
|
|
50
|
+
showSelectedDescription: !0
|
|
50
51
|
}),
|
|
51
52
|
/* @__PURE__ */ o("div", {
|
|
52
53
|
className: "grid gap-3 md:grid-cols-3",
|
|
@@ -85,7 +86,8 @@ function s({ mode: s }) {
|
|
|
85
86
|
}),
|
|
86
87
|
/* @__PURE__ */ a(n, {
|
|
87
88
|
defaultValue: "public",
|
|
88
|
-
options: f
|
|
89
|
+
options: f,
|
|
90
|
+
showSelectedDescription: !0
|
|
89
91
|
}, u),
|
|
90
92
|
/* @__PURE__ */ o("div", {
|
|
91
93
|
className: "flex flex-wrap gap-2",
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=[{slug:`dashboard-01`,title:`Dashboard with sidebar`,command:`npx tembro init --template next --defaults
|
|
2
|
-
npx tembro add app-sidebar metric-grid data-table`,code:`import { AppSidebar } from "
|
|
3
|
-
import { MetricGrid } from "@/components/display/metric-grid"
|
|
2
|
+
npx tembro add app-sidebar metric-grid data-table`,code:`import { AppSidebar, MetricGrid } from "tembro"
|
|
4
3
|
|
|
5
4
|
export function Dashboard01() {
|
|
6
5
|
return <AppSidebar />
|
|
7
|
-
}`,tone:`dashboard`},{slug:`table-01`,title:`Advanced invoice table`,command:`npx tembro add data-table`,code:`import { DataTable } from "
|
|
6
|
+
}`,tone:`dashboard`},{slug:`table-01`,title:`Advanced invoice table`,command:`npx tembro add data-table`,code:`import { DataTable } from "tembro"
|
|
8
7
|
|
|
9
8
|
export function Table01() {
|
|
10
9
|
return <DataTable columns={columns} data={rows} />
|
|
11
|
-
}`,tone:`table`},{slug:`auth-01`,title:`Authentication screen`,command:`npx tembro add input button`,code:`import { Button } from "
|
|
12
|
-
import { Input } from "@/components/ui/input"
|
|
10
|
+
}`,tone:`table`},{slug:`auth-01`,title:`Authentication screen`,command:`npx tembro add input button`,code:`import { Button, Input } from "tembro"
|
|
13
11
|
|
|
14
12
|
export function Auth01() {
|
|
15
13
|
return (
|
|
@@ -19,8 +17,7 @@ export function Auth01() {
|
|
|
19
17
|
<Button>Sign in</Button>
|
|
20
18
|
</div>
|
|
21
19
|
)
|
|
22
|
-
}`,tone:`auth`},{slug:`product-01`,title:`Commerce product detail`,command:`npx tembro add badge button`,code:`import { Badge } from "
|
|
23
|
-
import { Button } from "@/components/ui/button"
|
|
20
|
+
}`,tone:`auth`},{slug:`product-01`,title:`Commerce product detail`,command:`npx tembro add badge button`,code:`import { Badge, Button } from "tembro"
|
|
24
21
|
|
|
25
22
|
export function Product01() {
|
|
26
23
|
return (
|
|
@@ -30,15 +27,15 @@ export function Product01() {
|
|
|
30
27
|
<Button>Buy now</Button>
|
|
31
28
|
</div>
|
|
32
29
|
)
|
|
33
|
-
}`,tone:`product`},{slug:`command-01`,title:`Command palette`,command:`npx tembro add command-palette`,code:`import { CommandPalette } from "
|
|
30
|
+
}`,tone:`product`},{slug:`command-01`,title:`Command palette`,command:`npx tembro add command-palette`,code:`import { CommandPalette } from "tembro"
|
|
34
31
|
|
|
35
32
|
export function Command01() {
|
|
36
33
|
return <CommandPalette />
|
|
37
|
-
}`,tone:`command`},{slug:`calendar-01`,title:`Calendar and date picker`,command:`npx tembro add calendar date-picker`,code:`import { Calendar } from "
|
|
34
|
+
}`,tone:`command`},{slug:`calendar-01`,title:`Calendar and date picker`,command:`npx tembro add calendar date-picker`,code:`import { Calendar } from "tembro"
|
|
38
35
|
|
|
39
36
|
export function Calendar01() {
|
|
40
37
|
return <Calendar />
|
|
41
|
-
}`,tone:`calendar`},{slug:`upload-01`,title:`Upload workspace`,command:`npx tembro add file-upload image-upload`,code:`import { FileUpload } from "
|
|
38
|
+
}`,tone:`calendar`},{slug:`upload-01`,title:`Upload workspace`,command:`npx tembro add file-upload image-upload`,code:`import { FileUpload } from "tembro"
|
|
42
39
|
|
|
43
40
|
export function Upload01() {
|
|
44
41
|
return <FileUpload />
|