tembro 2.0.4 → 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 -3
- package/dist/components/display/index.js +21 -24
- 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.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.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 +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/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.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/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 +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 +20 -34
- 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 +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 +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/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 +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 -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-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 -3
- 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 +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/public.ts +0 -9
- 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/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/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/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 -3
- 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 +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 +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 -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/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 +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 +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,59 +0,0 @@
|
|
|
1
|
-
import { cn as e, stopInteractivePropagation as t } from "../../lib/utils.js";
|
|
2
|
-
import { Button as n } from "../ui/button/index.js";
|
|
3
|
-
import "react";
|
|
4
|
-
import { FileIcon as r, MoreHorizontalIcon as i } from "lucide-react";
|
|
5
|
-
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
-
//#region src/components/display/file-card.tsx
|
|
7
|
-
function s({ name: s, description: c, meta: l, icon: u, preview: d, actions: f, selected: p = !1, disabled: m = !1, onOpen: h, className: g, ..._ }) {
|
|
8
|
-
return /* @__PURE__ */ o("div", {
|
|
9
|
-
"data-slot": "file-card",
|
|
10
|
-
"data-selected": p || void 0,
|
|
11
|
-
"data-disabled": m || void 0,
|
|
12
|
-
className: e("group grid gap-3 rounded-lg border bg-card p-3 transition-colors hover:bg-muted/35 data-[selected=true]:border-primary data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-55", h && "cursor-pointer", g),
|
|
13
|
-
onClick: h,
|
|
14
|
-
..._,
|
|
15
|
-
children: [d && /* @__PURE__ */ a("div", {
|
|
16
|
-
className: "overflow-hidden rounded-md bg-muted",
|
|
17
|
-
children: d
|
|
18
|
-
}), /* @__PURE__ */ o("div", {
|
|
19
|
-
className: "flex items-start gap-3",
|
|
20
|
-
children: [
|
|
21
|
-
/* @__PURE__ */ a("div", {
|
|
22
|
-
className: "flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",
|
|
23
|
-
children: u ?? /* @__PURE__ */ a(r, { className: "size-4" })
|
|
24
|
-
}),
|
|
25
|
-
/* @__PURE__ */ o("div", {
|
|
26
|
-
className: "min-w-0 flex-1",
|
|
27
|
-
children: [
|
|
28
|
-
/* @__PURE__ */ a("div", {
|
|
29
|
-
className: "truncate text-sm font-medium text-foreground",
|
|
30
|
-
children: s
|
|
31
|
-
}),
|
|
32
|
-
c && /* @__PURE__ */ a("div", {
|
|
33
|
-
className: "mt-0.5 line-clamp-2 text-xs text-muted-foreground",
|
|
34
|
-
children: c
|
|
35
|
-
}),
|
|
36
|
-
l && /* @__PURE__ */ a("div", {
|
|
37
|
-
className: "mt-2 text-xs text-muted-foreground",
|
|
38
|
-
children: l
|
|
39
|
-
})
|
|
40
|
-
]
|
|
41
|
-
}),
|
|
42
|
-
f ?? /* @__PURE__ */ o(n, {
|
|
43
|
-
type: "button",
|
|
44
|
-
variant: "ghost",
|
|
45
|
-
size: "icon-xs",
|
|
46
|
-
onClick: t,
|
|
47
|
-
onMouseDown: t,
|
|
48
|
-
onDoubleClick: t,
|
|
49
|
-
children: [/* @__PURE__ */ a(i, {}), /* @__PURE__ */ a("span", {
|
|
50
|
-
className: "sr-only",
|
|
51
|
-
children: "File actions"
|
|
52
|
-
})]
|
|
53
|
-
})
|
|
54
|
-
]
|
|
55
|
-
})]
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
//#endregion
|
|
59
|
-
export { s as FileCard };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o({query:e,title:r=`No results found`,description:o,suggestions:s,onClear:c,clearLabel:l=`Clear search`,className:u,...d}){return(0,a.jsxs)(`div`,{"data-slot":`empty-search-state`,className:t.cn(`flex flex-col items-center justify-center p-8 text-center min-h-[300px]`,u),...d,children:[(0,a.jsx)(`div`,{className:`mb-4 flex size-12 items-center justify-center rounded-full bg-muted/50 text-muted-foreground`,children:(0,a.jsx)(i.SearchXIcon,{className:`size-6`})}),(0,a.jsxs)(`h3`,{className:`text-lg font-semibold tracking-tight`,children:[r,` `,e?`for "${e}"`:``]}),o&&(0,a.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground max-w-sm`,children:o}),s&&(0,a.jsx)(`div`,{className:`mt-4 text-sm text-muted-foreground`,children:s}),c&&(0,a.jsx)(`div`,{className:`mt-6`,children:(0,a.jsx)(n.Button,{variant:`outline`,onClick:c,children:l})})]})}exports.EmptySearchState=o;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export type EmptySearchStateProps = React.ComponentProps<"div"> & {
|
|
3
|
-
query?: string;
|
|
4
|
-
title?: React.ReactNode;
|
|
5
|
-
description?: React.ReactNode;
|
|
6
|
-
suggestions?: React.ReactNode;
|
|
7
|
-
onClear?: () => void;
|
|
8
|
-
clearLabel?: React.ReactNode;
|
|
9
|
-
};
|
|
10
|
-
declare function EmptySearchState({ query, title, description, suggestions, onClear, clearLabel, className, ...props }: EmptySearchStateProps): React.JSX.Element;
|
|
11
|
-
export { EmptySearchState };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { cn as e } from "../../lib/utils.js";
|
|
2
|
-
import { Button as t } from "../ui/button/index.js";
|
|
3
|
-
import "react";
|
|
4
|
-
import { SearchXIcon as n } from "lucide-react";
|
|
5
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
-
//#region src/components/feedback/empty-search-state.tsx
|
|
7
|
-
function a({ query: a, title: o = "No results found", description: s, suggestions: c, onClear: l, clearLabel: u = "Clear search", className: d, ...f }) {
|
|
8
|
-
return /* @__PURE__ */ i("div", {
|
|
9
|
-
"data-slot": "empty-search-state",
|
|
10
|
-
className: e("flex flex-col items-center justify-center p-8 text-center min-h-[300px]", d),
|
|
11
|
-
...f,
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ r("div", {
|
|
14
|
-
className: "mb-4 flex size-12 items-center justify-center rounded-full bg-muted/50 text-muted-foreground",
|
|
15
|
-
children: /* @__PURE__ */ r(n, { className: "size-6" })
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ i("h3", {
|
|
18
|
-
className: "text-lg font-semibold tracking-tight",
|
|
19
|
-
children: [
|
|
20
|
-
o,
|
|
21
|
-
" ",
|
|
22
|
-
a ? `for "${a}"` : ""
|
|
23
|
-
]
|
|
24
|
-
}),
|
|
25
|
-
s && /* @__PURE__ */ r("p", {
|
|
26
|
-
className: "mt-2 text-sm text-muted-foreground max-w-sm",
|
|
27
|
-
children: s
|
|
28
|
-
}),
|
|
29
|
-
c && /* @__PURE__ */ r("div", {
|
|
30
|
-
className: "mt-4 text-sm text-muted-foreground",
|
|
31
|
-
children: c
|
|
32
|
-
}),
|
|
33
|
-
l && /* @__PURE__ */ r("div", {
|
|
34
|
-
className: "mt-6",
|
|
35
|
-
children: /* @__PURE__ */ r(t, {
|
|
36
|
-
variant: "outline",
|
|
37
|
-
onClick: l,
|
|
38
|
-
children: u
|
|
39
|
-
})
|
|
40
|
-
})
|
|
41
|
-
]
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
//#endregion
|
|
45
|
-
export { a as EmptySearchState };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o({className:e,icon:r,title:o=`No data`,description:s,action:c,actionLabel:l,onAction:u,...d}){return(0,a.jsxs)(`div`,{"data-slot":`empty-state`,className:t.cn(`flex min-h-52 flex-col items-center justify-center gap-4 rounded-[var(--radius-3xl)] border border-dashed border-border/80 bg-muted/25 p-10 text-center shadow-sm ring-1 ring-foreground/4`,e),...d,children:[(0,a.jsx)(`div`,{className:`flex size-12 items-center justify-center rounded-full border border-border/70 bg-background/92 text-muted-foreground shadow-[0_1px_0_rgba(255,255,255,0.08)]`,children:r??(0,a.jsx)(i.InboxIcon,{className:`size-5`})}),(0,a.jsxs)(`div`,{className:`grid gap-1.5`,children:[o&&(0,a.jsx)(`h3`,{className:`text-base font-semibold tracking-tight text-foreground`,children:o}),s&&(0,a.jsx)(`p`,{className:`max-w-sm text-sm leading-6 text-muted-foreground`,children:s})]}),c??(l&&u?(0,a.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:u,children:l}):null)]})}exports.EmptyState=o;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export type EmptyStateProps = React.ComponentProps<"div"> & {
|
|
3
|
-
icon?: React.ReactNode;
|
|
4
|
-
title?: React.ReactNode;
|
|
5
|
-
description?: React.ReactNode;
|
|
6
|
-
action?: React.ReactNode;
|
|
7
|
-
actionLabel?: React.ReactNode;
|
|
8
|
-
onAction?: () => void;
|
|
9
|
-
};
|
|
10
|
-
declare function EmptyState({ className, icon, title, description, action, actionLabel, onAction, ...props }: EmptyStateProps): React.JSX.Element;
|
|
11
|
-
export { EmptyState };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { cn as e } from "../../lib/utils.js";
|
|
2
|
-
import { Button as t } from "../ui/button/index.js";
|
|
3
|
-
import "react";
|
|
4
|
-
import { InboxIcon as n } from "lucide-react";
|
|
5
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
-
//#region src/components/feedback/empty-state.tsx
|
|
7
|
-
function a({ className: a, icon: o, title: s = "No data", description: c, action: l, actionLabel: u, onAction: d, ...f }) {
|
|
8
|
-
return /* @__PURE__ */ i("div", {
|
|
9
|
-
"data-slot": "empty-state",
|
|
10
|
-
className: e("flex min-h-52 flex-col items-center justify-center gap-4 rounded-[var(--radius-3xl)] border border-dashed border-border/80 bg-muted/25 p-10 text-center shadow-sm ring-1 ring-foreground/4", a),
|
|
11
|
-
...f,
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ r("div", {
|
|
14
|
-
className: "flex size-12 items-center justify-center rounded-full border border-border/70 bg-background/92 text-muted-foreground shadow-[0_1px_0_rgba(255,255,255,0.08)]",
|
|
15
|
-
children: o ?? /* @__PURE__ */ r(n, { className: "size-5" })
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ i("div", {
|
|
18
|
-
className: "grid gap-1.5",
|
|
19
|
-
children: [s && /* @__PURE__ */ r("h3", {
|
|
20
|
-
className: "text-base font-semibold tracking-tight text-foreground",
|
|
21
|
-
children: s
|
|
22
|
-
}), c && /* @__PURE__ */ r("p", {
|
|
23
|
-
className: "max-w-sm text-sm leading-6 text-muted-foreground",
|
|
24
|
-
children: c
|
|
25
|
-
})]
|
|
26
|
-
}),
|
|
27
|
-
l ?? (u && d ? /* @__PURE__ */ r(t, {
|
|
28
|
-
type: "button",
|
|
29
|
-
variant: "outline",
|
|
30
|
-
size: "sm",
|
|
31
|
-
onClick: d,
|
|
32
|
-
children: u
|
|
33
|
-
}) : null)
|
|
34
|
-
]
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { a as EmptyState };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/badge/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");var s={default:`secondary`,success:`secondary`,warning:`outline`,danger:`destructive`,info:`outline`,muted:`outline`};function c({chips:e,clearLabel:i=`Clear all`,empty:c=`No active filters`,onRemove:l,onClear:u,className:d,...f}){let p=e.filter(e=>!e.hidden);return p.length?(0,o.jsxs)(`div`,{"data-slot":`filter-chips`,className:t.cn(`flex flex-wrap items-center gap-2`,d),...f,children:[p.map(e=>(0,o.jsxs)(r.Badge,{variant:s[e.tone??`default`],className:t.cn(`gap-1.5`,e.disabled&&`opacity-60`),children:[(0,o.jsx)(`span`,{children:e.label}),e.value!==void 0&&(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:e.value}),l&&!e.disabled&&(0,o.jsx)(`button`,{type:`button`,className:`rounded-full p-0.5 hover:bg-muted`,onClick:n=>{t.stopInteractivePropagation(n),l(e.key)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,o.jsx)(a.XIcon,{className:`size-3`})})]},e.key)),u&&(0,o.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`xs`,onClick:e=>{t.stopInteractivePropagation(e),u()},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:i})]}):(0,o.jsx)(`div`,{"data-slot":`filter-chips-empty`,className:t.cn(`text-sm text-muted-foreground`,d),...f,children:c})}exports.FilterChips=c;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export type FilterChip = {
|
|
3
|
-
key: string;
|
|
4
|
-
label: React.ReactNode;
|
|
5
|
-
value?: React.ReactNode;
|
|
6
|
-
tone?: "default" | "success" | "warning" | "danger" | "info" | "muted";
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
hidden?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export type FilterChipsProps = React.ComponentProps<"div"> & {
|
|
11
|
-
chips: FilterChip[];
|
|
12
|
-
clearLabel?: React.ReactNode;
|
|
13
|
-
empty?: React.ReactNode;
|
|
14
|
-
onRemove?: (key: string) => void;
|
|
15
|
-
onClear?: () => void;
|
|
16
|
-
};
|
|
17
|
-
declare function FilterChips({ chips, clearLabel, empty, onRemove, onClear, className, ...props }: FilterChipsProps): React.JSX.Element;
|
|
18
|
-
export { FilterChips };
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { cn as e, stopInteractivePropagation as t } from "../../lib/utils.js";
|
|
2
|
-
import { Button as n } from "../ui/button/index.js";
|
|
3
|
-
import { Badge as r } from "../ui/badge/index.js";
|
|
4
|
-
import "react";
|
|
5
|
-
import { XIcon as i } from "lucide-react";
|
|
6
|
-
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
-
//#region src/components/filters/filter-chips.tsx
|
|
8
|
-
var s = {
|
|
9
|
-
default: "secondary",
|
|
10
|
-
success: "secondary",
|
|
11
|
-
warning: "outline",
|
|
12
|
-
danger: "destructive",
|
|
13
|
-
info: "outline",
|
|
14
|
-
muted: "outline"
|
|
15
|
-
};
|
|
16
|
-
function c({ chips: c, clearLabel: l = "Clear all", empty: u = "No active filters", onRemove: d, onClear: f, className: p, ...m }) {
|
|
17
|
-
let h = c.filter((e) => !e.hidden);
|
|
18
|
-
return h.length ? /* @__PURE__ */ o("div", {
|
|
19
|
-
"data-slot": "filter-chips",
|
|
20
|
-
className: e("flex flex-wrap items-center gap-2", p),
|
|
21
|
-
...m,
|
|
22
|
-
children: [h.map((n) => /* @__PURE__ */ o(r, {
|
|
23
|
-
variant: s[n.tone ?? "default"],
|
|
24
|
-
className: e("gap-1.5", n.disabled && "opacity-60"),
|
|
25
|
-
children: [
|
|
26
|
-
/* @__PURE__ */ a("span", { children: n.label }),
|
|
27
|
-
n.value !== void 0 && /* @__PURE__ */ a("span", {
|
|
28
|
-
className: "text-muted-foreground",
|
|
29
|
-
children: n.value
|
|
30
|
-
}),
|
|
31
|
-
d && !n.disabled && /* @__PURE__ */ a("button", {
|
|
32
|
-
type: "button",
|
|
33
|
-
className: "rounded-full p-0.5 hover:bg-muted",
|
|
34
|
-
onClick: (e) => {
|
|
35
|
-
t(e), d(n.key);
|
|
36
|
-
},
|
|
37
|
-
onMouseDown: t,
|
|
38
|
-
onDoubleClick: t,
|
|
39
|
-
children: /* @__PURE__ */ a(i, { className: "size-3" })
|
|
40
|
-
})
|
|
41
|
-
]
|
|
42
|
-
}, n.key)), f && /* @__PURE__ */ a(n, {
|
|
43
|
-
type: "button",
|
|
44
|
-
variant: "ghost",
|
|
45
|
-
size: "xs",
|
|
46
|
-
onClick: (e) => {
|
|
47
|
-
t(e), f();
|
|
48
|
-
},
|
|
49
|
-
onMouseDown: t,
|
|
50
|
-
onDoubleClick: t,
|
|
51
|
-
children: l
|
|
52
|
-
})]
|
|
53
|
-
}) : /* @__PURE__ */ a("div", {
|
|
54
|
-
"data-slot": "filter-chips-empty",
|
|
55
|
-
className: e("text-sm text-muted-foreground", p),
|
|
56
|
-
...m,
|
|
57
|
-
children: u
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
//#endregion
|
|
61
|
-
export { c as FilterChips };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./form-builder.cjs");exports.asyncSelectField=e.asyncSelectField,exports.customField=e.customField,exports.dateField=e.dateField,exports.dateRangeField=e.dateRangeField,exports.formSection=e.formSection,exports.inputField=e.inputField,exports.numberField=e.numberField,exports.phoneField=e.phoneField,exports.selectField=e.selectField,exports.switchField=e.switchField,exports.textareaField=e.textareaField;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { asyncSelectField, customField, dateField, dateRangeField, formSection, inputField, numberField, phoneField, selectField, switchField, textareaField, } from "./form-builder";
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { asyncSelectField as e, customField as t, dateField as n, dateRangeField as r, formSection as i, inputField as a, numberField as o, phoneField as s, selectField as c, switchField as l, textareaField as u } from "./form-builder.js";
|
|
2
|
-
export { e as asyncSelectField, t as customField, n as dateField, r as dateRangeField, i as formSection, a as inputField, o as numberField, s as phoneField, c as selectField, l as switchField, u as textareaField };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../form/form-input.cjs"),i=require("../form/form-select.cjs"),a=require("../form/form-switch.cjs"),o=require("../form/form-textarea.cjs"),s=require("../form/form-async-select.cjs"),c=require("../form/form-date-input.cjs"),l=require("../form/form-date-range-input.cjs"),u=require("../form/form-number-input.cjs"),d=require("../form/form-phone-input.cjs");let f=require("react");f=e.__toESM(f,1);let p=require("react/jsx-runtime");var m={compact:`gap-3`,default:`gap-4`,comfortable:`gap-6`},h={1:`grid-cols-1`,2:`grid-cols-1 md:grid-cols-2`,3:`grid-cols-1 md:grid-cols-2 xl:grid-cols-3`,4:`grid-cols-1 md:grid-cols-2 xl:grid-cols-4`},g={1:`col-span-1`,2:`md:col-span-2`,3:`xl:col-span-3`,4:`xl:col-span-4`,full:`col-span-full`};function _(e){let{id:t,hidden:n,className:r,colSpan:i,props:a}=e;return{base:{id:t,hidden:n,className:r,colSpan:i},props:a}}function v(e){let{base:t,props:n}=_(e);return{...t,type:`input`,props:n}}function y(e){let{base:t,props:n}=_(e);return{...t,type:`textarea`,props:n}}function b(e){let{base:t,props:n}=_(e);return{...t,type:`select`,props:n}}function x(e){let{base:t,props:n}=_(e);return{...t,type:`async-select`,props:n}}function S(e){let{base:t,props:n}=_(e);return{...t,type:`switch`,props:n}}function C(e){let{base:t,props:n}=_(e);return{...t,type:`number`,props:n}}function w(e){let{base:t,props:n}=_(e);return{...t,type:`phone`,props:n}}function T(e){let{base:t,props:n}=_(e);return{...t,type:`date`,props:n}}function E(e){let{base:t,props:n}=_(e);return{...t,type:`date-range`,props:n}}function D(e){let{id:t,hidden:n,className:r,colSpan:i,render:a}=e;return{id:t,hidden:n,className:r,colSpan:i,type:`custom`,render:a}}function O(e){return e}function k(e,t){let n=r.FormInput,m=i.FormSelect;switch(e.type){case`custom`:return e.render(t);case`input`:return f.createElement(n,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`textarea`:return(0,p.jsx)(o.FormTextarea,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`select`:return f.createElement(m,{control:t.control,disabled:t.disabled,...e.props});case`async-select`:return(0,p.jsx)(s.FormAsyncSelect,{control:t.control,disabled:t.disabled,...e.props});case`switch`:return(0,p.jsx)(a.FormSwitch,{control:t.control,disabled:t.disabled,...e.props});case`number`:return(0,p.jsx)(u.FormNumberInput,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`phone`:return(0,p.jsx)(d.FormPhoneInput,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`date`:return(0,p.jsx)(c.FormDateInput,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`date-range`:return(0,p.jsx)(l.FormDateRangeInput,{control:t.control,fromInputProps:{disabled:t.disabled,readOnly:t.readOnly},toInputProps:{disabled:t.disabled,readOnly:t.readOnly},...e.props});default:return null}}function A({fields:e,sections:t}){return t?.length?t:[{id:`default`,fields:e??[]}]}function j({className:e,control:r,fields:i,sections:a,layout:o=`grid`,density:s=`default`,columns:c=2,disabled:l,readOnly:u,footer:d,submitLabel:_,resetLabel:v,onResetClick:y,isSubmitting:b,sectionClassName:x,fieldClassName:S,footerClassName:C,...w}){let T=A({fields:i,sections:a}),E=f.useMemo(()=>({control:r,disabled:l,readOnly:u}),[r,l,u]);return(0,p.jsxs)(`form`,{"data-slot":`form-builder`,className:t.cn(`grid`,m[s],e),...w,children:[T.filter(e=>!e.hidden).map(e=>(0,p.jsxs)(`section`,{"data-slot":`form-builder-section`,className:t.cn(`grid gap-4`,e.className,x),children:[(e.title||e.description||e.actions)&&(0,p.jsxs)(`div`,{"data-slot":`form-builder-section-header`,className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,p.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[e.title&&(0,p.jsx)(`h2`,{className:`text-base font-semibold leading-none tracking-tight`,children:e.title}),e.description&&(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description})]}),e.actions&&(0,p.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:e.actions})]}),(0,p.jsx)(`div`,{"data-slot":`form-builder-fields`,"data-layout":o,className:t.cn(`grid`,m[s],o===`grid`?h[c]:`grid-cols-1`),children:e.fields.filter(e=>!e.hidden).map(e=>(0,p.jsx)(`div`,{"data-slot":`form-builder-field`,className:t.cn(e.colSpan&&g[e.colSpan],e.className,S),children:k(e,E)},e.id))})]},e.id)),(d||_||v)&&(0,p.jsx)(`div`,{"data-slot":`form-builder-footer`,className:t.cn(`flex flex-wrap items-center justify-end gap-2`,C),children:d??(0,p.jsxs)(p.Fragment,{children:[v&&(0,p.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:l||b,onClick:y,children:v}),_&&(0,p.jsx)(n.Button,{type:`submit`,disabled:l||b,children:_})]})})]})}exports.FormBuilder=j,exports.asyncSelectField=x,exports.customField=D,exports.dateField=T,exports.dateRangeField=E,exports.formSection=O,exports.inputField=v,exports.numberField=C,exports.phoneField=w,exports.renderFormBuilderField=k,exports.selectField=b,exports.switchField=S,exports.textareaField=y;
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { Control, FieldPath, FieldValues } from "react-hook-form";
|
|
3
|
-
import { type FormInputProps } from "@/components/form/form-input";
|
|
4
|
-
import { type FormTextareaProps } from "@/components/form/form-textarea";
|
|
5
|
-
import { type FormSelectProps } from "@/components/form/form-select";
|
|
6
|
-
import { type FormAsyncSelectProps } from "@/components/form/form-async-select";
|
|
7
|
-
import { type FormSwitchProps } from "@/components/form/form-switch";
|
|
8
|
-
import { type FormNumberInputProps } from "@/components/form/form-number-input";
|
|
9
|
-
import { type FormPhoneInputProps } from "@/components/form/form-phone-input";
|
|
10
|
-
import { type FormDateInputProps } from "@/components/form/form-date-input";
|
|
11
|
-
import { type FormDateRangeInputProps } from "@/components/form/form-date-range-input";
|
|
12
|
-
export type FormBuilderLayout = "grid" | "stack";
|
|
13
|
-
export type FormBuilderDensity = "compact" | "default" | "comfortable";
|
|
14
|
-
export type FormBuilderFieldRenderContext<TFieldValues extends FieldValues> = {
|
|
15
|
-
control: Control<TFieldValues>;
|
|
16
|
-
disabled?: boolean;
|
|
17
|
-
readOnly?: boolean;
|
|
18
|
-
};
|
|
19
|
-
type BaseFormBuilderField = {
|
|
20
|
-
id: string;
|
|
21
|
-
hidden?: boolean;
|
|
22
|
-
className?: string;
|
|
23
|
-
colSpan?: 1 | 2 | 3 | 4 | "full";
|
|
24
|
-
};
|
|
25
|
-
export type FormBuilderCustomField<TFieldValues extends FieldValues> = BaseFormBuilderField & {
|
|
26
|
-
type: "custom";
|
|
27
|
-
render: (context: FormBuilderFieldRenderContext<TFieldValues>) => React.ReactNode;
|
|
28
|
-
};
|
|
29
|
-
export type FormBuilderInputField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
30
|
-
type: "input";
|
|
31
|
-
props: Omit<FormInputProps<TFieldValues, TName>, "control">;
|
|
32
|
-
};
|
|
33
|
-
export type FormBuilderTextareaField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
34
|
-
type: "textarea";
|
|
35
|
-
props: Omit<FormTextareaProps<TFieldValues, TName>, "control">;
|
|
36
|
-
};
|
|
37
|
-
export type FormBuilderSelectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
38
|
-
type: "select";
|
|
39
|
-
props: Omit<FormSelectProps<TFieldValues, TName>, "control">;
|
|
40
|
-
};
|
|
41
|
-
export type FormBuilderAsyncSelectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
42
|
-
type: "async-select";
|
|
43
|
-
props: Omit<FormAsyncSelectProps<TFieldValues, TName>, "control">;
|
|
44
|
-
};
|
|
45
|
-
export type FormBuilderSwitchField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
46
|
-
type: "switch";
|
|
47
|
-
props: Omit<FormSwitchProps<TFieldValues, TName>, "control">;
|
|
48
|
-
};
|
|
49
|
-
export type FormBuilderNumberField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
50
|
-
type: "number";
|
|
51
|
-
props: Omit<FormNumberInputProps<TFieldValues, TName>, "control">;
|
|
52
|
-
};
|
|
53
|
-
export type FormBuilderPhoneField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
54
|
-
type: "phone";
|
|
55
|
-
props: Omit<FormPhoneInputProps<TFieldValues, TName>, "control">;
|
|
56
|
-
};
|
|
57
|
-
export type FormBuilderDateField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
58
|
-
type: "date";
|
|
59
|
-
props: Omit<FormDateInputProps<TFieldValues, TName>, "control">;
|
|
60
|
-
};
|
|
61
|
-
export type FormBuilderDateRangeField<TFieldValues extends FieldValues, TFromName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TToName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
|
|
62
|
-
type: "date-range";
|
|
63
|
-
props: Omit<FormDateRangeInputProps<TFieldValues, TFromName, TToName>, "control">;
|
|
64
|
-
};
|
|
65
|
-
export type FormBuilderField<TFieldValues extends FieldValues> = FormBuilderCustomField<TFieldValues> | FormBuilderInputField<TFieldValues> | FormBuilderTextareaField<TFieldValues> | FormBuilderSelectField<TFieldValues> | FormBuilderAsyncSelectField<TFieldValues> | FormBuilderSwitchField<TFieldValues> | FormBuilderNumberField<TFieldValues> | FormBuilderPhoneField<TFieldValues> | FormBuilderDateField<TFieldValues> | FormBuilderDateRangeField<TFieldValues>;
|
|
66
|
-
export type FormBuilderSection<TFieldValues extends FieldValues> = {
|
|
67
|
-
id: string;
|
|
68
|
-
title?: React.ReactNode;
|
|
69
|
-
description?: React.ReactNode;
|
|
70
|
-
actions?: React.ReactNode;
|
|
71
|
-
hidden?: boolean;
|
|
72
|
-
className?: string;
|
|
73
|
-
fields: FormBuilderField<TFieldValues>[];
|
|
74
|
-
};
|
|
75
|
-
export type FormBuilderProps<TFieldValues extends FieldValues> = Omit<React.ComponentProps<"form">, "children"> & {
|
|
76
|
-
control: Control<TFieldValues>;
|
|
77
|
-
fields?: FormBuilderField<TFieldValues>[];
|
|
78
|
-
sections?: FormBuilderSection<TFieldValues>[];
|
|
79
|
-
layout?: FormBuilderLayout;
|
|
80
|
-
density?: FormBuilderDensity;
|
|
81
|
-
columns?: 1 | 2 | 3 | 4;
|
|
82
|
-
disabled?: boolean;
|
|
83
|
-
readOnly?: boolean;
|
|
84
|
-
footer?: React.ReactNode;
|
|
85
|
-
submitLabel?: React.ReactNode;
|
|
86
|
-
resetLabel?: React.ReactNode;
|
|
87
|
-
onResetClick?: () => void;
|
|
88
|
-
isSubmitting?: boolean;
|
|
89
|
-
sectionClassName?: string;
|
|
90
|
-
fieldClassName?: string;
|
|
91
|
-
footerClassName?: string;
|
|
92
|
-
};
|
|
93
|
-
type FieldPresetOptions<TProps> = BaseFormBuilderField & {
|
|
94
|
-
props: TProps;
|
|
95
|
-
};
|
|
96
|
-
declare function inputField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderInputField<TFieldValues, TName>["props"]>): FormBuilderInputField<TFieldValues, TName>;
|
|
97
|
-
declare function textareaField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderTextareaField<TFieldValues, TName>["props"]>): FormBuilderTextareaField<TFieldValues, TName>;
|
|
98
|
-
declare function selectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderSelectField<TFieldValues, TName>["props"]>): FormBuilderSelectField<TFieldValues, TName>;
|
|
99
|
-
declare function asyncSelectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderAsyncSelectField<TFieldValues, TName>["props"]>): FormBuilderAsyncSelectField<TFieldValues, TName>;
|
|
100
|
-
declare function switchField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderSwitchField<TFieldValues, TName>["props"]>): FormBuilderSwitchField<TFieldValues, TName>;
|
|
101
|
-
declare function numberField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderNumberField<TFieldValues, TName>["props"]>): FormBuilderNumberField<TFieldValues, TName>;
|
|
102
|
-
declare function phoneField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderPhoneField<TFieldValues, TName>["props"]>): FormBuilderPhoneField<TFieldValues, TName>;
|
|
103
|
-
declare function dateField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderDateField<TFieldValues, TName>["props"]>): FormBuilderDateField<TFieldValues, TName>;
|
|
104
|
-
declare function dateRangeField<TFieldValues extends FieldValues, TFromName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TToName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderDateRangeField<TFieldValues, TFromName, TToName>["props"]>): FormBuilderDateRangeField<TFieldValues, TFromName, TToName>;
|
|
105
|
-
declare function customField<TFieldValues extends FieldValues>(options: BaseFormBuilderField & Pick<FormBuilderCustomField<TFieldValues>, "render">): FormBuilderCustomField<TFieldValues>;
|
|
106
|
-
declare function formSection<TFieldValues extends FieldValues>(section: FormBuilderSection<TFieldValues>): FormBuilderSection<TFieldValues>;
|
|
107
|
-
declare function renderFormBuilderField<TFieldValues extends FieldValues>(field: FormBuilderField<TFieldValues>, context: FormBuilderFieldRenderContext<TFieldValues>): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
|
|
108
|
-
declare function FormBuilder<TFieldValues extends FieldValues>({ className, control, fields, sections, layout, density, columns, disabled, readOnly, footer, submitLabel, resetLabel, onResetClick, isSubmitting, sectionClassName, fieldClassName, footerClassName, ...props }: FormBuilderProps<TFieldValues>): React.JSX.Element;
|
|
109
|
-
export { FormBuilder, asyncSelectField, customField, dateField, dateRangeField, formSection, inputField, numberField, phoneField, renderFormBuilderField, selectField, switchField, textareaField, };
|