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
|
@@ -18,7 +18,38 @@ function i({ mode: i }) {
|
|
|
18
18
|
}),
|
|
19
19
|
min: "2026-06-01",
|
|
20
20
|
max: "2026-12-31",
|
|
21
|
-
disabledDates: ["2026-06-21", "2026-06-22"]
|
|
21
|
+
disabledDates: ["2026-06-21", "2026-06-22"],
|
|
22
|
+
closeOnPresetSelect: !0,
|
|
23
|
+
presets: [
|
|
24
|
+
{
|
|
25
|
+
label: "This week",
|
|
26
|
+
value: {
|
|
27
|
+
from: "2026-06-01",
|
|
28
|
+
to: "2026-06-07"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: "Next 14 days",
|
|
33
|
+
value: {
|
|
34
|
+
from: "2026-06-08",
|
|
35
|
+
to: "2026-06-20"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
label: "Q3",
|
|
40
|
+
value: {
|
|
41
|
+
from: "2026-07-01",
|
|
42
|
+
to: "2026-09-30"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
labels: {
|
|
47
|
+
placeholder: "Choose reporting range",
|
|
48
|
+
apply: "Apply range",
|
|
49
|
+
clear: "Clear",
|
|
50
|
+
start: "Start",
|
|
51
|
+
end: "End"
|
|
52
|
+
}
|
|
22
53
|
}),
|
|
23
54
|
/* @__PURE__ */ r("p", {
|
|
24
55
|
className: "aui-text-subtle text-sm",
|
|
@@ -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/dropdown-menu/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a=`border-t border-[color:var(--aui-divider)] py-6`;function o({mode:e}){let[o,s]=r.useState(`private`),[c,l]=r.useState(!0);return(0,i.jsxs)(`div`,{className:`space-y-0`,children:[(0,i.jsx)(`section`,{className:`pb-6`,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Dropdown menu`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Secondary actions belong here`}),(0,i.jsx)(`p`,{className:`mt-3 text-sm leading-6 aui-text-muted`,children:`Use one trigger for quick actions, tiny settings, and destructive follow-ups.`})]}),(0,i.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]`,children:[(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Status`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:o===`public`?`Public`:`Private`})]}),(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Notifications`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:c?`On`:`Off`})]}),(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Route`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:e===`playground`?`Interactive`:`Docs`})]})]})]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Live menu`}),(0,i.jsx)(`h4`,{className:`mt-2 text-xl font-semibold tracking-tight aui-text-strong`,children:`Open and verify small state changes`})]}),(0,i.jsxs)(n.DropdownMenu,{children:[(0,i.jsx)(n.DropdownMenuTrigger,{children:(0,i.jsx)(t.Button,{children:`Open menu`})}),(0,i.jsxs)(n.DropdownMenuContent,{children:[(0,i.jsx)(n.DropdownMenuLabel,{children:`Workspace actions`}),(0,i.
|
|
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/dropdown-menu/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a=`border-t border-[color:var(--aui-divider)] py-6`;function o({mode:e}){let[o,s]=r.useState(`private`),[c,l]=r.useState(!0),[u,d]=r.useState(!1),[f,p]=r.useState(!1);return(0,i.jsxs)(`div`,{className:`space-y-0`,children:[(0,i.jsx)(`section`,{className:`pb-6`,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Dropdown menu`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Secondary actions belong here`}),(0,i.jsx)(`p`,{className:`mt-3 text-sm leading-6 aui-text-muted`,children:`Use one trigger for quick actions, tiny settings, and destructive follow-ups.`})]}),(0,i.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]`,children:[(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Status`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:o===`public`?`Public`:`Private`})]}),(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Notifications`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:c?`On`:`Off`})]}),(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Route`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:e===`playground`?`Interactive`:`Docs`})]}),(0,i.jsxs)(`div`,{className:`rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Menu close`}),(0,i.jsx)(`p`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:f?`Pinned open`:`Auto close`})]})]})]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted`,children:`Live menu`}),(0,i.jsx)(`h4`,{className:`mt-2 text-xl font-semibold tracking-tight aui-text-strong`,children:`Open and verify small state changes`})]}),(0,i.jsxs)(n.DropdownMenu,{children:[(0,i.jsx)(n.DropdownMenuTrigger,{children:(0,i.jsx)(t.Button,{children:`Open menu`})}),(0,i.jsxs)(n.DropdownMenuContent,{children:[(0,i.jsx)(n.DropdownMenuLabel,{children:`Workspace actions`}),(0,i.jsxs)(n.DropdownMenuItem,{children:[(0,i.jsxs)(`span`,{className:`grid gap-0.5`,children:[(0,i.jsx)(`span`,{children:`Open workspace`}),(0,i.jsx)(n.DropdownMenuItemDescription,{children:`Go to the main dashboard route`})]}),(0,i.jsx)(n.DropdownMenuShortcut,{children:`↵`})]}),(0,i.jsx)(n.DropdownMenuItem,{disabled:!0,children:(0,i.jsxs)(`span`,{className:`grid gap-0.5`,children:[(0,i.jsx)(`span`,{children:`Delete from archive`}),(0,i.jsx)(n.DropdownMenuItemDescription,{children:`Locked until retention expires`})]})}),(0,i.jsx)(n.DropdownMenuSeparator,{}),(0,i.jsx)(n.DropdownMenuCheckboxItem,{checked:c,closeOnSelect:!f,onCheckedChange:e=>l(!!e),children:`Notification access`}),(0,i.jsx)(n.DropdownMenuCheckboxItem,{checked:u,closeOnSelect:!f,onCheckedChange:e=>d(!!e),children:`Compact density`}),(0,i.jsx)(n.DropdownMenuCheckboxItem,{checked:f,closeOnSelect:!1,onCheckedChange:e=>p(!!e),children:`Keep menu open`}),(0,i.jsxs)(n.DropdownMenuSub,{children:[(0,i.jsx)(n.DropdownMenuSubTrigger,{children:`Export`}),(0,i.jsxs)(n.DropdownMenuSubContent,{children:[(0,i.jsx)(n.DropdownMenuItem,{children:`CSV`}),(0,i.jsx)(n.DropdownMenuItem,{children:`PDF summary`}),(0,i.jsx)(n.DropdownMenuItem,{children:`JSON payload`})]})]}),(0,i.jsx)(n.DropdownMenuGroup,{children:(0,i.jsxs)(n.DropdownMenuRadioGroup,{value:o,onValueChange:e=>s(e),children:[(0,i.jsx)(n.DropdownMenuRadioItem,{value:`public`,children:`Public`}),(0,i.jsx)(n.DropdownMenuRadioItem,{value:`private`,children:`Private`})]})}),(0,i.jsx)(n.DropdownMenuSeparator,{}),(0,i.jsxs)(n.DropdownMenuItem,{variant:`destructive`,children:[`Remove workspace`,(0,i.jsx)(n.DropdownMenuShortcut,{children:`⌘D`})]})]})]})]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsx)(`div`,{className:`border-y border-[color:var(--aui-divider)]`,children:[`Keep the main CTA outside the menu.`,`Use radio and checkbox items only for very small settings.`,`Destructive items should still be explicit and easy to notice.`].map(e=>(0,i.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))})})]})}exports.DropdownMenuShowcase=o;
|
|
@@ -1,125 +1,159 @@
|
|
|
1
1
|
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
|
-
import { DropdownMenu as t, DropdownMenuCheckboxItem as n, DropdownMenuContent as r, DropdownMenuGroup as i, DropdownMenuItem as a,
|
|
3
|
-
import * as
|
|
4
|
-
import { jsx as
|
|
2
|
+
import { DropdownMenu as t, DropdownMenuCheckboxItem as n, DropdownMenuContent as r, DropdownMenuGroup as i, DropdownMenuItem as a, DropdownMenuItemDescription as o, DropdownMenuLabel as s, DropdownMenuRadioGroup as c, DropdownMenuRadioItem as l, DropdownMenuSeparator as u, DropdownMenuShortcut as d, DropdownMenuSub as f, DropdownMenuSubContent as p, DropdownMenuSubTrigger as m, DropdownMenuTrigger as h } from "../../../components/ui/dropdown-menu/index.js";
|
|
3
|
+
import * as g from "react";
|
|
4
|
+
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
5
5
|
//#region src/showcase/premium/dropdown-menu/showcase.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
let [
|
|
9
|
-
return /* @__PURE__ */
|
|
6
|
+
var y = "border-t border-[color:var(--aui-divider)] py-6";
|
|
7
|
+
function b({ mode: b }) {
|
|
8
|
+
let [x, S] = g.useState("private"), [C, w] = g.useState(!0), [T, E] = g.useState(!1), [D, O] = g.useState(!1);
|
|
9
|
+
return /* @__PURE__ */ v("div", {
|
|
10
10
|
className: "space-y-0",
|
|
11
11
|
children: [
|
|
12
|
-
/* @__PURE__ */
|
|
12
|
+
/* @__PURE__ */ _("section", {
|
|
13
13
|
className: "pb-6",
|
|
14
|
-
children: /* @__PURE__ */
|
|
14
|
+
children: /* @__PURE__ */ v("div", {
|
|
15
15
|
className: "flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between",
|
|
16
|
-
children: [/* @__PURE__ */
|
|
16
|
+
children: [/* @__PURE__ */ v("div", {
|
|
17
17
|
className: "max-w-xl",
|
|
18
18
|
children: [
|
|
19
|
-
/* @__PURE__ */
|
|
19
|
+
/* @__PURE__ */ _("p", {
|
|
20
20
|
className: "text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted",
|
|
21
21
|
children: "Dropdown menu"
|
|
22
22
|
}),
|
|
23
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */ _("h3", {
|
|
24
24
|
className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
|
|
25
25
|
children: "Secondary actions belong here"
|
|
26
26
|
}),
|
|
27
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */ _("p", {
|
|
28
28
|
className: "mt-3 text-sm leading-6 aui-text-muted",
|
|
29
29
|
children: "Use one trigger for quick actions, tiny settings, and destructive follow-ups."
|
|
30
30
|
})
|
|
31
31
|
]
|
|
32
|
-
}), /* @__PURE__ */
|
|
32
|
+
}), /* @__PURE__ */ v("div", {
|
|
33
33
|
className: "grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]",
|
|
34
34
|
children: [
|
|
35
|
-
/* @__PURE__ */
|
|
35
|
+
/* @__PURE__ */ v("div", {
|
|
36
36
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
37
|
-
children: [/* @__PURE__ */
|
|
37
|
+
children: [/* @__PURE__ */ _("p", {
|
|
38
38
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
39
39
|
children: "Status"
|
|
40
|
-
}), /* @__PURE__ */
|
|
40
|
+
}), /* @__PURE__ */ _("p", {
|
|
41
41
|
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
42
|
-
children:
|
|
42
|
+
children: x === "public" ? "Public" : "Private"
|
|
43
43
|
})]
|
|
44
44
|
}),
|
|
45
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ v("div", {
|
|
46
46
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
47
|
-
children: [/* @__PURE__ */
|
|
47
|
+
children: [/* @__PURE__ */ _("p", {
|
|
48
48
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
49
49
|
children: "Notifications"
|
|
50
|
-
}), /* @__PURE__ */
|
|
50
|
+
}), /* @__PURE__ */ _("p", {
|
|
51
51
|
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
52
|
-
children:
|
|
52
|
+
children: C ? "On" : "Off"
|
|
53
53
|
})]
|
|
54
54
|
}),
|
|
55
|
-
/* @__PURE__ */
|
|
55
|
+
/* @__PURE__ */ v("div", {
|
|
56
56
|
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
57
|
-
children: [/* @__PURE__ */
|
|
57
|
+
children: [/* @__PURE__ */ _("p", {
|
|
58
58
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
59
59
|
children: "Route"
|
|
60
|
-
}), /* @__PURE__ */
|
|
60
|
+
}), /* @__PURE__ */ _("p", {
|
|
61
61
|
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
62
|
-
children:
|
|
62
|
+
children: b === "playground" ? "Interactive" : "Docs"
|
|
63
|
+
})]
|
|
64
|
+
}),
|
|
65
|
+
/* @__PURE__ */ v("div", {
|
|
66
|
+
className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
|
|
67
|
+
children: [/* @__PURE__ */ _("p", {
|
|
68
|
+
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
69
|
+
children: "Menu close"
|
|
70
|
+
}), /* @__PURE__ */ _("p", {
|
|
71
|
+
className: "mt-2 text-lg font-semibold aui-text-strong",
|
|
72
|
+
children: D ? "Pinned open" : "Auto close"
|
|
63
73
|
})]
|
|
64
74
|
})
|
|
65
75
|
]
|
|
66
76
|
})]
|
|
67
77
|
})
|
|
68
78
|
}),
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
className:
|
|
71
|
-
children: /* @__PURE__ */
|
|
79
|
+
/* @__PURE__ */ _("section", {
|
|
80
|
+
className: y,
|
|
81
|
+
children: /* @__PURE__ */ v("div", {
|
|
72
82
|
className: "flex flex-col gap-5 xl:flex-row xl:items-start xl:justify-between",
|
|
73
|
-
children: [/* @__PURE__ */
|
|
83
|
+
children: [/* @__PURE__ */ v("div", {
|
|
74
84
|
className: "max-w-xl",
|
|
75
|
-
children: [/* @__PURE__ */
|
|
85
|
+
children: [/* @__PURE__ */ _("p", {
|
|
76
86
|
className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
|
|
77
87
|
children: "Live menu"
|
|
78
|
-
}), /* @__PURE__ */
|
|
88
|
+
}), /* @__PURE__ */ _("h4", {
|
|
79
89
|
className: "mt-2 text-xl font-semibold tracking-tight aui-text-strong",
|
|
80
90
|
children: "Open and verify small state changes"
|
|
81
91
|
})]
|
|
82
|
-
}), /* @__PURE__ */
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
/* @__PURE__ */
|
|
85
|
-
|
|
92
|
+
}), /* @__PURE__ */ v(t, { children: [/* @__PURE__ */ _(h, { children: /* @__PURE__ */ _(e, { children: "Open menu" }) }), /* @__PURE__ */ v(r, { children: [
|
|
93
|
+
/* @__PURE__ */ _(s, { children: "Workspace actions" }),
|
|
94
|
+
/* @__PURE__ */ v(a, { children: [/* @__PURE__ */ v("span", {
|
|
95
|
+
className: "grid gap-0.5",
|
|
96
|
+
children: [/* @__PURE__ */ _("span", { children: "Open workspace" }), /* @__PURE__ */ _(o, { children: "Go to the main dashboard route" })]
|
|
97
|
+
}), /* @__PURE__ */ _(d, { children: "↵" })] }),
|
|
98
|
+
/* @__PURE__ */ _(a, {
|
|
86
99
|
disabled: !0,
|
|
87
|
-
children:
|
|
100
|
+
children: /* @__PURE__ */ v("span", {
|
|
101
|
+
className: "grid gap-0.5",
|
|
102
|
+
children: [/* @__PURE__ */ _("span", { children: "Delete from archive" }), /* @__PURE__ */ _(o, { children: "Locked until retention expires" })]
|
|
103
|
+
})
|
|
88
104
|
}),
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
-
/* @__PURE__ */
|
|
91
|
-
checked:
|
|
92
|
-
|
|
105
|
+
/* @__PURE__ */ _(u, {}),
|
|
106
|
+
/* @__PURE__ */ _(n, {
|
|
107
|
+
checked: C,
|
|
108
|
+
closeOnSelect: !D,
|
|
109
|
+
onCheckedChange: (e) => w(!!e),
|
|
93
110
|
children: "Notification access"
|
|
94
111
|
}),
|
|
95
|
-
/* @__PURE__ */
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
112
|
+
/* @__PURE__ */ _(n, {
|
|
113
|
+
checked: T,
|
|
114
|
+
closeOnSelect: !D,
|
|
115
|
+
onCheckedChange: (e) => E(!!e),
|
|
116
|
+
children: "Compact density"
|
|
117
|
+
}),
|
|
118
|
+
/* @__PURE__ */ _(n, {
|
|
119
|
+
checked: D,
|
|
120
|
+
closeOnSelect: !1,
|
|
121
|
+
onCheckedChange: (e) => O(!!e),
|
|
122
|
+
children: "Keep menu open"
|
|
123
|
+
}),
|
|
124
|
+
/* @__PURE__ */ v(f, { children: [/* @__PURE__ */ _(m, { children: "Export" }), /* @__PURE__ */ v(p, { children: [
|
|
125
|
+
/* @__PURE__ */ _(a, { children: "CSV" }),
|
|
126
|
+
/* @__PURE__ */ _(a, { children: "PDF summary" }),
|
|
127
|
+
/* @__PURE__ */ _(a, { children: "JSON payload" })
|
|
128
|
+
] })] }),
|
|
129
|
+
/* @__PURE__ */ _(i, { children: /* @__PURE__ */ v(c, {
|
|
130
|
+
value: x,
|
|
131
|
+
onValueChange: (e) => S(e),
|
|
132
|
+
children: [/* @__PURE__ */ _(l, {
|
|
99
133
|
value: "public",
|
|
100
134
|
children: "Public"
|
|
101
|
-
}), /* @__PURE__ */
|
|
135
|
+
}), /* @__PURE__ */ _(l, {
|
|
102
136
|
value: "private",
|
|
103
137
|
children: "Private"
|
|
104
138
|
})]
|
|
105
139
|
}) }),
|
|
106
|
-
/* @__PURE__ */
|
|
107
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ _(u, {}),
|
|
141
|
+
/* @__PURE__ */ v(a, {
|
|
108
142
|
variant: "destructive",
|
|
109
|
-
children: ["Remove workspace", /* @__PURE__ */
|
|
143
|
+
children: ["Remove workspace", /* @__PURE__ */ _(d, { children: "⌘D" })]
|
|
110
144
|
})
|
|
111
145
|
] })] })]
|
|
112
146
|
})
|
|
113
147
|
}),
|
|
114
|
-
/* @__PURE__ */
|
|
115
|
-
className:
|
|
116
|
-
children: /* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ _("section", {
|
|
149
|
+
className: y,
|
|
150
|
+
children: /* @__PURE__ */ _("div", {
|
|
117
151
|
className: "border-y border-[color:var(--aui-divider)]",
|
|
118
152
|
children: [
|
|
119
153
|
"Keep the main CTA outside the menu.",
|
|
120
154
|
"Use radio and checkbox items only for very small settings.",
|
|
121
155
|
"Destructive items should still be explicit and easy to notice."
|
|
122
|
-
].map((e) => /* @__PURE__ */
|
|
156
|
+
].map((e) => /* @__PURE__ */ _("div", {
|
|
123
157
|
className: "border-b border-[color:var(--aui-divider)] py-3 text-sm leading-6 aui-text-muted last:border-b-0",
|
|
124
158
|
children: e
|
|
125
159
|
}, e))
|
|
@@ -129,4 +163,4 @@ function g({ mode: g }) {
|
|
|
129
163
|
});
|
|
130
164
|
}
|
|
131
165
|
//#endregion
|
|
132
|
-
export {
|
|
166
|
+
export { b as DropdownMenuShowcase };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useForm } from "react-hook-form"
|
|
2
|
-
import { Button,
|
|
2
|
+
import { Button, FormInput, FormSwitch, FormTextarea } from "tembro"
|
|
3
3
|
|
|
4
4
|
type DemoValues = {
|
|
5
5
|
name: string
|
|
@@ -26,19 +26,17 @@ export function Example() {
|
|
|
26
26
|
|
|
27
27
|
return (
|
|
28
28
|
<form onSubmit={onSubmit} className="space-y-4">
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/>
|
|
41
|
-
</FormFieldShell>
|
|
29
|
+
<FormInput
|
|
30
|
+
control={form.control}
|
|
31
|
+
name="name"
|
|
32
|
+
label="Workspace name"
|
|
33
|
+
required
|
|
34
|
+
placeholder="Write a workspace title"
|
|
35
|
+
rules={{
|
|
36
|
+
required: "Workspace name is required",
|
|
37
|
+
minLength: { value: 3, message: "At least 3 characters" },
|
|
38
|
+
}}
|
|
39
|
+
/>
|
|
42
40
|
|
|
43
41
|
<FormInput
|
|
44
42
|
control={form.control}
|
|
@@ -72,7 +70,7 @@ export function Example() {
|
|
|
72
70
|
|
|
73
71
|
<Button type="submit">Save</Button>
|
|
74
72
|
</form>
|
|
75
|
-
)`,htmlCode:`<form><label for="workspace">Workspace</label><input id="workspace" value="Azamat UI" /></form>`,cliCommand:`npx tembro add form-
|
|
73
|
+
)`,htmlCode:`<form><label for="workspace">Workspace</label><input id="workspace" value="Azamat UI" /></form>`,cliCommand:`npx tembro add form-input form-textarea form-switch`,highlights:[`control + name contract`,"Universal `kind` variants",`Error display and required markers`,`Consistent wrapper shell behavior`],relatedBlockSlugs:[`settings-form`,`crm-dashboard`,`users-table`],scenarios:[{title:`Required validation`,description:"Use `rules` for required and length constraints and show errors in shell."},{title:`Error display`,description:`Inject custom error messages for required and domain checks.`},{title:`Read-only states`,description:`Support locked and disabled states from parent screens.`},{title:`Unified layout`,description:`Keep one shell language for input, select and toggle types without multiplying wrapper names.`}],capabilityNotes:["Use `control` and `name` from a shared `useForm` call for every field wrapper.","Prefer `FormInput kind=...` and `FormSelect kind=...` for new work; keep alias wrappers only for migration.","Pass RHF `rules` or `validate` to each wrapper, instead of inline ad-hoc checks.","`required` should be explicit both in copy (UI marker) and schema.","Render validation messages through wrapper-level `error` or formState errors for consistent spacing."]},t={code:`import { useForm } from "react-hook-form"
|
|
76
74
|
import { Button, FormSelect } from "tembro"
|
|
77
75
|
|
|
78
76
|
const statusOptions = [
|
|
@@ -81,6 +79,20 @@ const statusOptions = [
|
|
|
81
79
|
{ label: "Live", value: "live" },
|
|
82
80
|
]
|
|
83
81
|
|
|
82
|
+
const workspaceOptions = [
|
|
83
|
+
{ value: "workspace-alpha", label: "Workspace Alpha", description: "Core design system route" },
|
|
84
|
+
{ value: "workspace-beta", label: "Workspace Beta", description: "CRM rollout workspace" },
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
async function loadWorkspaces(search: string) {
|
|
88
|
+
const query = search.trim().toLowerCase()
|
|
89
|
+
return workspaceOptions.filter((option) => !query || option.label.toLowerCase().includes(query))
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async function loadWorkspace(value: string) {
|
|
93
|
+
return workspaceOptions.find((option) => option.value === value) ?? null
|
|
94
|
+
}
|
|
95
|
+
|
|
84
96
|
export function Example() {
|
|
85
97
|
const form = useForm({
|
|
86
98
|
defaultValues: {
|
|
@@ -114,6 +126,20 @@ export function Example() {
|
|
|
114
126
|
}`,cliCommand:`npx tembro add form-select`,highlights:[`One RHF select wrapper`,`Simple + async under one API`,`Shared shell labels and errors`,`Preferred select-form entry`],relatedBlockSlugs:[`settings-form`,`crm-dashboard`,`users-table`],scenarios:[{title:`Static form choices`,description:`Use the default FormSelect mode for known statuses, roles, or visibility controls.`},{title:`Remote edit flows`,description:`Switch to kind="async" when the form hydrates saved entity values from remote search results.`},{title:`Shared validation shell`,description:`Keep labels, descriptions, and errors aligned across simple and async field variants.`}],capabilityNotes:[`Prefer FormSelect for new select fields instead of splitting wrappers too early.`,`Use kind="async" only when loading and hydration are remote concerns.`,`Keep the RHF contract identical while the field interaction model changes underneath.`]},n={code:`import { useForm } from "react-hook-form"
|
|
115
127
|
import { Button, FormAsyncSelect } from "tembro"
|
|
116
128
|
|
|
129
|
+
const workspaceOptions = [
|
|
130
|
+
{ value: "workspace-alpha", label: "Workspace Alpha", description: "Core design system route" },
|
|
131
|
+
{ value: "workspace-beta", label: "Workspace Beta", description: "CRM rollout workspace" },
|
|
132
|
+
]
|
|
133
|
+
|
|
134
|
+
async function loadWorkspaces(search: string) {
|
|
135
|
+
const query = search.trim().toLowerCase()
|
|
136
|
+
return workspaceOptions.filter((option) => !query || option.label.toLowerCase().includes(query))
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
async function loadWorkspace(value: string) {
|
|
140
|
+
return workspaceOptions.find((option) => option.value === value) ?? null
|
|
141
|
+
}
|
|
142
|
+
|
|
117
143
|
export function Example() {
|
|
118
144
|
const form = useForm({
|
|
119
145
|
defaultValues: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//#region src/showcase/premium/form-wrapper/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useForm } from \"react-hook-form\"\nimport { Button,
|
|
3
|
+
code: "import { useForm } from \"react-hook-form\"\nimport { Button, FormInput, FormSwitch, FormTextarea } from \"tembro\"\n\ntype DemoValues = {\n name: string\n ownerPhone: string\n price: number | null\n notes: string\n active: boolean\n}\n\nexport function Example() {\n const form = useForm<DemoValues>({\n defaultValues: {\n name: \"Azamat UI\",\n ownerPhone: \"+998 90 123 45 67\",\n price: 120,\n notes: \"Use control, name, rules, error, and required labels.\",\n active: true,\n },\n })\n\n const onSubmit = form.handleSubmit((values) => {\n console.log(values)\n })\n\n return (\n <form onSubmit={onSubmit} className=\"space-y-4\">\n <FormInput\n control={form.control}\n name=\"name\"\n label=\"Workspace name\"\n required\n placeholder=\"Write a workspace title\"\n rules={{\n required: \"Workspace name is required\",\n minLength: { value: 3, message: \"At least 3 characters\" },\n }}\n />\n\n <FormInput\n control={form.control}\n name=\"ownerPhone\"\n kind=\"phone\"\n label=\"Owner phone\"\n description=\"Use canonical phone value for API payloads.\"\n rules={{ required: \"Phone number is required\" }}\n />\n\n <FormInput\n control={form.control}\n name=\"price\"\n kind=\"number\"\n label=\"Budget\"\n min={0}\n max={100000}\n required\n />\n\n <FormTextarea\n control={form.control}\n name=\"notes\"\n label=\"Notes\"\n required\n rows={3}\n description=\"RHF handles error and required states.\"\n />\n\n <FormSwitch control={form.control} name=\"active\" label=\"Active\" />\n\n <Button type=\"submit\">Save</Button>\n </form>\n )",
|
|
4
4
|
htmlCode: "<form><label for=\"workspace\">Workspace</label><input id=\"workspace\" value=\"Azamat UI\" /></form>",
|
|
5
|
-
cliCommand: "npx tembro add form-
|
|
5
|
+
cliCommand: "npx tembro add form-input form-textarea form-switch",
|
|
6
6
|
highlights: [
|
|
7
7
|
"control + name contract",
|
|
8
8
|
"Universal `kind` variants",
|
|
@@ -40,7 +40,7 @@ var e = {
|
|
|
40
40
|
"Render validation messages through wrapper-level `error` or formState errors for consistent spacing."
|
|
41
41
|
]
|
|
42
42
|
}, t = {
|
|
43
|
-
code: "import { useForm } from \"react-hook-form\"\nimport { Button, FormSelect } from \"tembro\"\n\nconst statusOptions = [\n { label: \"Draft\", value: \"draft\" },\n { label: \"Review\", value: \"review\" },\n { label: \"Live\", value: \"live\" },\n]\n\nexport function Example() {\n const form = useForm({\n defaultValues: {\n status: \"review\",\n ownerId: \"workspace-alpha\",\n },\n })\n\n return (\n <form className=\"space-y-4\">\n <FormSelect\n control={form.control}\n name=\"status\"\n label=\"Release status\"\n options={statusOptions}\n placeholder=\"Choose status\"\n />\n\n <FormSelect\n control={form.control}\n name=\"ownerId\"\n kind=\"async\"\n label=\"Linked workspace\"\n loadOptions={loadWorkspaces}\n loadSelectedOption={loadWorkspace}\n />\n\n <Button type=\"submit\">Save</Button>\n </form>\n )\n}",
|
|
43
|
+
code: "import { useForm } from \"react-hook-form\"\nimport { Button, FormSelect } from \"tembro\"\n\nconst statusOptions = [\n { label: \"Draft\", value: \"draft\" },\n { label: \"Review\", value: \"review\" },\n { label: \"Live\", value: \"live\" },\n]\n\nconst workspaceOptions = [\n { value: \"workspace-alpha\", label: \"Workspace Alpha\", description: \"Core design system route\" },\n { value: \"workspace-beta\", label: \"Workspace Beta\", description: \"CRM rollout workspace\" },\n]\n\nasync function loadWorkspaces(search: string) {\n const query = search.trim().toLowerCase()\n return workspaceOptions.filter((option) => !query || option.label.toLowerCase().includes(query))\n}\n\nasync function loadWorkspace(value: string) {\n return workspaceOptions.find((option) => option.value === value) ?? null\n}\n\nexport function Example() {\n const form = useForm({\n defaultValues: {\n status: \"review\",\n ownerId: \"workspace-alpha\",\n },\n })\n\n return (\n <form className=\"space-y-4\">\n <FormSelect\n control={form.control}\n name=\"status\"\n label=\"Release status\"\n options={statusOptions}\n placeholder=\"Choose status\"\n />\n\n <FormSelect\n control={form.control}\n name=\"ownerId\"\n kind=\"async\"\n label=\"Linked workspace\"\n loadOptions={loadWorkspaces}\n loadSelectedOption={loadWorkspace}\n />\n\n <Button type=\"submit\">Save</Button>\n </form>\n )\n}",
|
|
44
44
|
cliCommand: "npx tembro add form-select",
|
|
45
45
|
highlights: [
|
|
46
46
|
"One RHF select wrapper",
|
|
@@ -73,7 +73,7 @@ var e = {
|
|
|
73
73
|
"Keep the RHF contract identical while the field interaction model changes underneath."
|
|
74
74
|
]
|
|
75
75
|
}, n = {
|
|
76
|
-
code: "import { useForm } from \"react-hook-form\"\nimport { Button, FormAsyncSelect } from \"tembro\"\n\nexport function Example() {\n const form = useForm({\n defaultValues: {\n ownerId: \"workspace-alpha\",\n },\n })\n\n return (\n <form className=\"space-y-4\">\n <FormAsyncSelect\n control={form.control}\n name=\"ownerId\"\n label=\"Linked workspace\"\n loadOptions={loadWorkspaces}\n loadSelectedOption={loadWorkspace}\n />\n\n <Button type=\"submit\">Save</Button>\n </form>\n )\n}\n\n// New work should prefer:\n// <FormSelect control={form.control} name=\"ownerId\" kind=\"async\" ... />",
|
|
76
|
+
code: "import { useForm } from \"react-hook-form\"\nimport { Button, FormAsyncSelect } from \"tembro\"\n\nconst workspaceOptions = [\n { value: \"workspace-alpha\", label: \"Workspace Alpha\", description: \"Core design system route\" },\n { value: \"workspace-beta\", label: \"Workspace Beta\", description: \"CRM rollout workspace\" },\n]\n\nasync function loadWorkspaces(search: string) {\n const query = search.trim().toLowerCase()\n return workspaceOptions.filter((option) => !query || option.label.toLowerCase().includes(query))\n}\n\nasync function loadWorkspace(value: string) {\n return workspaceOptions.find((option) => option.value === value) ?? null\n}\n\nexport function Example() {\n const form = useForm({\n defaultValues: {\n ownerId: \"workspace-alpha\",\n },\n })\n\n return (\n <form className=\"space-y-4\">\n <FormAsyncSelect\n control={form.control}\n name=\"ownerId\"\n label=\"Linked workspace\"\n loadOptions={loadWorkspaces}\n loadSelectedOption={loadWorkspace}\n />\n\n <Button type=\"submit\">Save</Button>\n </form>\n )\n}\n\n// New work should prefer:\n// <FormSelect control={form.control} name=\"ownerId\" kind=\"async\" ... />",
|
|
77
77
|
cliCommand: "npx tembro add form-async-select",
|
|
78
78
|
highlights: [
|
|
79
79
|
"Compatibility alias",
|
|
@@ -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/form/form-
|
|
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/form/form-input.cjs"),i=require("../../../components/form/form-select.cjs"),a=require("../../../components/form/form-switch.cjs"),o=require("../../../components/form/form-textarea.cjs"),s=require("../../../components/form/form-date-picker.cjs"),c=require("../../../components/form/form-date-range-picker.cjs");let l=require("react");l=e.__toESM(l,1);let u=require("react/jsx-runtime"),d=require("react-hook-form");var f=[{label:`Draft`,value:`draft`},{label:`Review`,value:`review`},{label:`Live`,value:`live`}],p=[{value:`workspace-alpha`,label:`Workspace Alpha`,description:`Core design system route`},{value:`workspace-beta`,label:`Workspace Beta`,description:`CRM rollout workspace`},{value:`workspace-gamma`,label:`Workspace Gamma`,description:`Billing and pricing flows`}];function m(e){let t=e.trim().toLowerCase();return Promise.resolve(p.filter(e=>!t||e.label.toLowerCase().includes(t)).map(e=>({...e})))}function h(e){let t=p.find(t=>t.value===e);return Promise.resolve(t?{...t}:null)}function g({mode:e}){let[g,_]=l.useState(``);l.useEffect(()=>{_(window.location.pathname)},[]);let v=(0,d.useForm)({defaultValues:{name:`Azamat UI`,ownerPhone:`+998 90 123 45 67`,budget:120,notes:`RHF wrapper coverage for control, name, and validation.`,active:!0,query:`billing`,password:``,dueDate:`2026-07-18`,period:{from:`2026-07-01`,to:`2026-07-14`},periodFrom:`2026-07-01`,periodTo:`2026-07-14`,status:`review`,ownerId:`workspace-alpha`}}),y=(0,d.useWatch)({control:v.control,name:`active`}),b=g.split(`/`).filter(Boolean).at(-1);return b===`form-select`||b===`form-async-select`?(0,u.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,u.jsx)(i.FormSelect,{control:v.control,name:`status`,label:`Release status`,options:[...f]}),(0,u.jsx)(i.FormSelect,{control:v.control,name:`ownerId`,kind:`async`,label:`Linked workspace`,defaultOptions:p.map(e=>({...e})),loadOptions:m,loadSelectedOption:h})]}):b===`form-search-input`?(0,u.jsx)(r.FormInput,{control:v.control,name:`query`,kind:`search`,label:`Search query`,description:`Search wrapper should keep label, hint and result-ready spacing together.`,placeholder:`Search workspaces`}):b===`form-password-input`?(0,u.jsx)(r.FormInput,{control:v.control,name:`password`,kind:`password`,label:`Workspace password`,description:`Password wrapper keeps toggle behavior inside the same form shell.`,placeholder:`Enter secure password`}):b===`form-number-input`?(0,u.jsx)(r.FormInput,{control:v.control,name:`budget`,kind:`number`,label:`Budget`,description:`Numeric wrapper keeps parsed value handling inside the field contract.`,min:0,max:999999}):b===`form-phone-input`?(0,u.jsx)(r.FormInput,{control:v.control,name:`ownerPhone`,kind:`phone`,label:`Owner phone`,description:`Phone wrapper preserves stable raw value while showing a formatted UI.`}):b===`form-date-input`?(0,u.jsx)(r.FormInput,{control:v.control,name:`dueDate`,kind:`date`,label:`Due date`,description:`Use the lightweight date input wrapper when string date entry is enough.`}):b===`form-date-range-input`?(0,u.jsx)(r.FormInput,{control:v.control,name:`period`,kind:`date-range`,label:`Reporting period`,description:`Range input wrapper keeps from/to fields under one shell.`}):b===`form-date-picker`?(0,u.jsx)(s.FormDatePicker,{control:v.control,name:`dueDate`,label:`Launch date`,description:`Use the picker wrapper when calendar selection matters more than raw typing.`}):b===`form-date-range-picker`?(0,u.jsx)(c.FormDateRangePicker,{control:v.control,fromName:`periodFrom`,toName:`periodTo`,label:`Launch window`,description:`Popover range picker keeps both fields synchronized inside one wrapper.`}):(0,u.jsxs)(`form`,{className:`space-y-5`,children:[(0,u.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,u.jsx)(r.FormInput,{control:v.control,name:`name`,label:`Workspace name`,description:`Shared shell keeps required marker, helper text and error spacing aligned.`,required:!0}),(0,u.jsx)(r.FormInput,{control:v.control,name:`ownerPhone`,kind:`phone`,label:`Owner phone`}),(0,u.jsx)(r.FormInput,{control:v.control,name:`budget`,kind:`number`,label:`Budget`,min:0,max:999999}),(0,u.jsx)(o.FormTextarea,{control:v.control,name:`notes`,label:`Notes`,rows:3})]}),(0,u.jsx)(a.FormSwitch,{control:v.control,name:`active`,label:`Active`}),(0,u.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,u.jsx)(t.Button,{type:`button`,children:`Save`}),(0,u.jsx)(t.Button,{type:`button`,variant:`outline`,onClick:()=>v.reset(),children:`Reset`}),(0,u.jsx)(n.Badge,{variant:`outline`,children:e===`playground`?`Interactive`:y?`Active`:`Paused`})]})]})}exports.FormWrapperShowcase=g;
|
|
@@ -1,11 +1,11 @@
|
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { FormInput as n } from "../../../components/form/form-input.js";
|
|
4
|
+
import { FormSelect as r } from "../../../components/form/form-select.js";
|
|
5
|
+
import { FormSwitch as i } from "../../../components/form/form-switch.js";
|
|
6
|
+
import { FormTextarea as a } from "../../../components/form/form-textarea.js";
|
|
7
|
+
import { FormDatePicker as o } from "../../../components/form/form-date-picker.js";
|
|
8
|
+
import { FormDateRangePicker as s } from "../../../components/form/form-date-range-picker.js";
|
|
9
9
|
import * as c from "react";
|
|
10
10
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
11
11
|
import { useForm as d, useWatch as f } from "react-hook-form";
|
|
@@ -59,20 +59,29 @@ function _({ mode: _ }) {
|
|
|
59
59
|
budget: 120,
|
|
60
60
|
notes: "RHF wrapper coverage for control, name, and validation.",
|
|
61
61
|
active: !0,
|
|
62
|
+
query: "billing",
|
|
63
|
+
password: "",
|
|
64
|
+
dueDate: "2026-07-18",
|
|
65
|
+
period: {
|
|
66
|
+
from: "2026-07-01",
|
|
67
|
+
to: "2026-07-14"
|
|
68
|
+
},
|
|
69
|
+
periodFrom: "2026-07-01",
|
|
70
|
+
periodTo: "2026-07-14",
|
|
62
71
|
status: "review",
|
|
63
72
|
ownerId: "workspace-alpha"
|
|
64
73
|
} }), x = f({
|
|
65
74
|
control: b.control,
|
|
66
75
|
name: "active"
|
|
67
76
|
}), S = v.split("/").filter(Boolean).at(-1);
|
|
68
|
-
return S === "form-select" ? /* @__PURE__ */ u("div", {
|
|
77
|
+
return S === "form-select" || S === "form-async-select" ? /* @__PURE__ */ u("div", {
|
|
69
78
|
className: "grid gap-4 xl:grid-cols-2",
|
|
70
|
-
children: [/* @__PURE__ */ l(
|
|
79
|
+
children: [/* @__PURE__ */ l(r, {
|
|
71
80
|
control: b.control,
|
|
72
81
|
name: "status",
|
|
73
82
|
label: "Release status",
|
|
74
83
|
options: [...p]
|
|
75
|
-
}), /* @__PURE__ */ l(
|
|
84
|
+
}), /* @__PURE__ */ l(r, {
|
|
76
85
|
control: b.control,
|
|
77
86
|
name: "ownerId",
|
|
78
87
|
kind: "async",
|
|
@@ -81,13 +90,57 @@ function _({ mode: _ }) {
|
|
|
81
90
|
loadOptions: h,
|
|
82
91
|
loadSelectedOption: g
|
|
83
92
|
})]
|
|
84
|
-
}) : S === "form-
|
|
93
|
+
}) : S === "form-search-input" ? /* @__PURE__ */ l(n, {
|
|
85
94
|
control: b.control,
|
|
86
|
-
name: "
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
name: "query",
|
|
96
|
+
kind: "search",
|
|
97
|
+
label: "Search query",
|
|
98
|
+
description: "Search wrapper should keep label, hint and result-ready spacing together.",
|
|
99
|
+
placeholder: "Search workspaces"
|
|
100
|
+
}) : S === "form-password-input" ? /* @__PURE__ */ l(n, {
|
|
101
|
+
control: b.control,
|
|
102
|
+
name: "password",
|
|
103
|
+
kind: "password",
|
|
104
|
+
label: "Workspace password",
|
|
105
|
+
description: "Password wrapper keeps toggle behavior inside the same form shell.",
|
|
106
|
+
placeholder: "Enter secure password"
|
|
107
|
+
}) : S === "form-number-input" ? /* @__PURE__ */ l(n, {
|
|
108
|
+
control: b.control,
|
|
109
|
+
name: "budget",
|
|
110
|
+
kind: "number",
|
|
111
|
+
label: "Budget",
|
|
112
|
+
description: "Numeric wrapper keeps parsed value handling inside the field contract.",
|
|
113
|
+
min: 0,
|
|
114
|
+
max: 999999
|
|
115
|
+
}) : S === "form-phone-input" ? /* @__PURE__ */ l(n, {
|
|
116
|
+
control: b.control,
|
|
117
|
+
name: "ownerPhone",
|
|
118
|
+
kind: "phone",
|
|
119
|
+
label: "Owner phone",
|
|
120
|
+
description: "Phone wrapper preserves stable raw value while showing a formatted UI."
|
|
121
|
+
}) : S === "form-date-input" ? /* @__PURE__ */ l(n, {
|
|
122
|
+
control: b.control,
|
|
123
|
+
name: "dueDate",
|
|
124
|
+
kind: "date",
|
|
125
|
+
label: "Due date",
|
|
126
|
+
description: "Use the lightweight date input wrapper when string date entry is enough."
|
|
127
|
+
}) : S === "form-date-range-input" ? /* @__PURE__ */ l(n, {
|
|
128
|
+
control: b.control,
|
|
129
|
+
name: "period",
|
|
130
|
+
kind: "date-range",
|
|
131
|
+
label: "Reporting period",
|
|
132
|
+
description: "Range input wrapper keeps from/to fields under one shell."
|
|
133
|
+
}) : S === "form-date-picker" ? /* @__PURE__ */ l(o, {
|
|
134
|
+
control: b.control,
|
|
135
|
+
name: "dueDate",
|
|
136
|
+
label: "Launch date",
|
|
137
|
+
description: "Use the picker wrapper when calendar selection matters more than raw typing."
|
|
138
|
+
}) : S === "form-date-range-picker" ? /* @__PURE__ */ l(s, {
|
|
139
|
+
control: b.control,
|
|
140
|
+
fromName: "periodFrom",
|
|
141
|
+
toName: "periodTo",
|
|
142
|
+
label: "Launch window",
|
|
143
|
+
description: "Popover range picker keeps both fields synchronized inside one wrapper."
|
|
91
144
|
}) : /* @__PURE__ */ u("form", {
|
|
92
145
|
className: "space-y-5",
|
|
93
146
|
children: [
|
|
@@ -95,23 +148,19 @@ function _({ mode: _ }) {
|
|
|
95
148
|
className: "grid gap-4 xl:grid-cols-2",
|
|
96
149
|
children: [
|
|
97
150
|
/* @__PURE__ */ l(n, {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
name: "name",
|
|
104
|
-
label: "Workspace name",
|
|
105
|
-
required: !0
|
|
106
|
-
})
|
|
151
|
+
control: b.control,
|
|
152
|
+
name: "name",
|
|
153
|
+
label: "Workspace name",
|
|
154
|
+
description: "Shared shell keeps required marker, helper text and error spacing aligned.",
|
|
155
|
+
required: !0
|
|
107
156
|
}),
|
|
108
|
-
/* @__PURE__ */ l(
|
|
157
|
+
/* @__PURE__ */ l(n, {
|
|
109
158
|
control: b.control,
|
|
110
159
|
name: "ownerPhone",
|
|
111
160
|
kind: "phone",
|
|
112
161
|
label: "Owner phone"
|
|
113
162
|
}),
|
|
114
|
-
/* @__PURE__ */ l(
|
|
163
|
+
/* @__PURE__ */ l(n, {
|
|
115
164
|
control: b.control,
|
|
116
165
|
name: "budget",
|
|
117
166
|
kind: "number",
|
|
@@ -119,7 +168,7 @@ function _({ mode: _ }) {
|
|
|
119
168
|
min: 0,
|
|
120
169
|
max: 999999
|
|
121
170
|
}),
|
|
122
|
-
/* @__PURE__ */ l(
|
|
171
|
+
/* @__PURE__ */ l(a, {
|
|
123
172
|
control: b.control,
|
|
124
173
|
name: "notes",
|
|
125
174
|
label: "Notes",
|
|
@@ -127,7 +176,7 @@ function _({ mode: _ }) {
|
|
|
127
176
|
})
|
|
128
177
|
]
|
|
129
178
|
}),
|
|
130
|
-
/* @__PURE__ */ l(
|
|
179
|
+
/* @__PURE__ */ l(i, {
|
|
131
180
|
control: b.control,
|
|
132
181
|
name: "active",
|
|
133
182
|
label: "Active"
|