tembro 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/actions/action-menu.cjs +1 -1
- package/dist/components/actions/action-menu.d.ts +13 -1
- package/dist/components/actions/action-menu.js +87 -61
- package/dist/components/actions/button-group.cjs +1 -1
- package/dist/components/actions/button-group.d.ts +9 -1
- package/dist/components/actions/button-group.js +58 -14
- package/dist/components/actions/copy-button.cjs +1 -1
- package/dist/components/actions/copy-button.d.ts +2 -1
- package/dist/components/actions/copy-button.js +13 -11
- package/dist/components/calendar/calendar.cjs +1 -1
- package/dist/components/calendar/calendar.d.ts +14 -1
- package/dist/components/calendar/calendar.js +207 -128
- package/dist/components/calendar/date-picker.cjs +1 -1
- package/dist/components/calendar/date-picker.d.ts +3 -1
- package/dist/components/calendar/date-picker.js +57 -27
- package/dist/components/calendar/date-range-picker.cjs +1 -1
- package/dist/components/calendar/date-range-picker.d.ts +10 -1
- package/dist/components/calendar/date-range-picker.js +149 -64
- package/dist/components/data-table/data-table-toolbar.cjs +1 -1
- package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
- package/dist/components/data-table/data-table-toolbar.js +36 -23
- package/dist/components/data-table/data-table.cjs +1 -1
- package/dist/components/data-table/data-table.d.ts +6 -4
- package/dist/components/data-table/data-table.js +87 -79
- package/dist/components/data-table/demo.cjs +1 -1
- package/dist/components/data-table/demo.js +3 -13
- package/dist/components/data-table/index.cjs +1 -1
- package/dist/components/data-table/index.js +5 -5
- package/dist/components/data-table/public.cjs +1 -1
- package/dist/components/data-table/public.d.ts +1 -6
- package/dist/components/data-table/public.js +7 -12
- package/dist/components/display/activity-feed.cjs +1 -1
- package/dist/components/display/activity-feed.d.ts +12 -1
- package/dist/components/display/activity-feed.js +69 -47
- package/dist/components/display/carousel.cjs +1 -1
- package/dist/components/display/carousel.d.ts +10 -1
- package/dist/components/display/carousel.js +68 -23
- package/dist/components/display/code-block.cjs +2 -1
- package/dist/components/display/code-block.d.ts +3 -1
- package/dist/components/display/code-block.js +33 -19
- package/dist/components/display/comparison-card.cjs +1 -1
- package/dist/components/display/comparison-card.d.ts +3 -3
- package/dist/components/display/comparison-card.js +14 -38
- package/dist/components/display/data-state.cjs +1 -1
- package/dist/components/display/data-state.d.ts +12 -2
- package/dist/components/display/data-state.js +80 -42
- package/dist/components/display/demo.cjs +1 -1
- package/dist/components/display/demo.js +1 -5
- package/dist/components/display/index.cjs +1 -1
- package/dist/components/display/index.d.ts +0 -8
- package/dist/components/display/index.js +21 -29
- package/dist/components/feedback/alert.cjs +1 -1
- package/dist/components/feedback/alert.d.ts +6 -1
- package/dist/components/feedback/alert.js +49 -19
- package/dist/components/feedback/index.cjs +1 -1
- package/dist/components/feedback/index.d.ts +0 -2
- package/dist/components/feedback/index.js +3 -5
- package/dist/components/filters/demo.cjs +1 -1
- package/dist/components/filters/demo.js +1 -5
- package/dist/components/filters/filter-bar.cjs +1 -1
- package/dist/components/filters/filter-bar.d.ts +15 -1
- package/dist/components/filters/filter-bar.js +94 -50
- package/dist/components/filters/index.cjs +1 -1
- package/dist/components/filters/index.d.ts +0 -1
- package/dist/components/filters/index.js +3 -4
- package/dist/components/form/demo.cjs +1 -1
- package/dist/components/form/demo.js +1 -2
- package/dist/components/form/form-field-shell.cjs +1 -1
- package/dist/components/form/form-field-shell.d.ts +17 -3
- package/dist/components/form/form-field-shell.js +54 -40
- package/dist/components/form/form-input.cjs +1 -1
- package/dist/components/form/form-input.js +278 -217
- package/dist/components/form/form-select.cjs +1 -1
- package/dist/components/form/form-select.js +47 -33
- package/dist/components/form/form-switch.cjs +1 -1
- package/dist/components/form/form-switch.js +79 -66
- package/dist/components/form/form-textarea.cjs +1 -1
- package/dist/components/form/form-textarea.js +59 -48
- package/dist/components/form/index.cjs +1 -1
- package/dist/components/form/index.d.ts +0 -1
- package/dist/components/form/index.js +11 -12
- package/dist/components/form/public.cjs +1 -1
- package/dist/components/form/public.d.ts +0 -9
- package/dist/components/form/public.js +7 -16
- package/dist/components/inputs/async-select.cjs +1 -1
- package/dist/components/inputs/async-select.d.ts +11 -2
- package/dist/components/inputs/async-select.js +278 -270
- package/dist/components/inputs/combobox.cjs +1 -1
- package/dist/components/inputs/combobox.d.ts +5 -1
- package/dist/components/inputs/combobox.js +52 -19
- package/dist/components/inputs/index.cjs +1 -1
- package/dist/components/inputs/index.d.ts +0 -2
- package/dist/components/inputs/index.js +3 -5
- package/dist/components/inputs/public.cjs +1 -1
- package/dist/components/inputs/public.d.ts +0 -2
- package/dist/components/inputs/public.js +3 -5
- package/dist/components/inputs/simple-select.cjs +1 -1
- package/dist/components/inputs/simple-select.d.ts +2 -1
- package/dist/components/inputs/simple-select.js +32 -16
- package/dist/components/layout/app-sidebar.cjs +1 -1
- package/dist/components/layout/app-sidebar.d.ts +4 -1
- package/dist/components/layout/app-sidebar.js +152 -132
- package/dist/components/layout/breadcrumbs.cjs +1 -1
- package/dist/components/layout/breadcrumbs.d.ts +2 -1
- package/dist/components/layout/breadcrumbs.js +10 -10
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.d.ts +0 -1
- package/dist/components/layout/index.js +4 -5
- package/dist/components/layout/public.cjs +1 -1
- package/dist/components/layout/public.d.ts +0 -1
- package/dist/components/layout/public.js +2 -3
- package/dist/components/layout/stat-card.cjs +1 -1
- package/dist/components/layout/stat-card.d.ts +8 -1
- package/dist/components/layout/stat-card.js +33 -11
- package/dist/components/modern/calendar-scheduler.cjs +1 -1
- package/dist/components/modern/calendar-scheduler.d.ts +2 -1
- package/dist/components/modern/calendar-scheduler.js +21 -12
- package/dist/components/modern/index.cjs +1 -1
- package/dist/components/modern/index.d.ts +0 -4
- package/dist/components/modern/index.js +12 -16
- package/dist/components/overlay/alert-dialog.cjs +1 -1
- package/dist/components/overlay/alert-dialog.d.ts +15 -1
- package/dist/components/overlay/alert-dialog.js +102 -27
- package/dist/components/overlay/drawer.cjs +1 -1
- package/dist/components/overlay/drawer.d.ts +4 -1
- package/dist/components/overlay/drawer.js +20 -17
- package/dist/components/patterns/index.cjs +1 -1
- package/dist/components/patterns/index.d.ts +0 -1
- package/dist/components/patterns/index.js +1 -2
- package/dist/components/patterns/public.cjs +1 -1
- package/dist/components/patterns/public.d.ts +0 -1
- package/dist/components/patterns/public.js +1 -2
- package/dist/components/ui/button/index.cjs +1 -1
- package/dist/components/ui/button/index.d.ts +3 -1
- package/dist/components/ui/button/index.js +7 -5
- package/dist/components/ui/checkbox/index.cjs +1 -1
- package/dist/components/ui/checkbox/index.d.ts +8 -0
- package/dist/components/ui/checkbox/index.js +16 -14
- package/dist/components/ui/collapse/index.cjs +1 -1
- package/dist/components/ui/collapse/index.d.ts +17 -3
- package/dist/components/ui/collapse/index.js +88 -33
- package/dist/components/ui/dialog/index.cjs +1 -1
- package/dist/components/ui/dialog/index.d.ts +2 -1
- package/dist/components/ui/dialog/index.js +6 -4
- package/dist/components/ui/dropdown-menu/index.cjs +1 -1
- package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
- package/dist/components/ui/dropdown-menu/index.js +87 -62
- package/dist/index.cjs +1 -1
- package/dist/index.js +145 -177
- package/dist/public-component-surface.cjs +1 -1
- package/dist/public-component-surface.js +0 -80
- package/dist/showcase/component-api-schema.cjs +1 -1
- package/dist/showcase/component-api-schema.js +2 -2
- package/dist/showcase/create-demo.cjs +20 -34
- package/dist/showcase/create-demo.js +15 -16
- package/dist/showcase/fallback.cjs +3 -3
- package/dist/showcase/fallback.js +287 -451
- package/dist/showcase/premium/accordion/showcase.cjs +1 -1
- package/dist/showcase/premium/accordion/showcase.js +36 -5
- package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
- package/dist/showcase/premium/action-menu/showcase.js +26 -8
- package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
- package/dist/showcase/premium/activity-feed/showcase.js +60 -36
- package/dist/showcase/premium/alert/showcase.cjs +1 -1
- package/dist/showcase/premium/alert/showcase.js +41 -18
- package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
- package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
- package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
- package/dist/showcase/premium/async-multi-select/mock.js +5 -5
- package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
- package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
- package/dist/showcase/premium/async-select/mock.cjs +1 -1
- package/dist/showcase/premium/async-select/mock.js +1 -1
- package/dist/showcase/premium/async-select/showcase.cjs +1 -1
- package/dist/showcase/premium/async-select/showcase.js +69 -22
- package/dist/showcase/premium/button/showcase.cjs +1 -1
- package/dist/showcase/premium/button/showcase.js +49 -3
- package/dist/showcase/premium/button-group/showcase.cjs +1 -1
- package/dist/showcase/premium/button-group/showcase.js +53 -29
- package/dist/showcase/premium/calendar/showcase.cjs +1 -1
- package/dist/showcase/premium/calendar/showcase.js +7 -2
- package/dist/showcase/premium/carousel/showcase.cjs +1 -1
- package/dist/showcase/premium/carousel/showcase.js +95 -47
- package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
- package/dist/showcase/premium/checkbox/showcase.js +143 -67
- package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
- package/dist/showcase/premium/clearable-input/mock.js +3 -2
- package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
- package/dist/showcase/premium/clearable-input/showcase.js +8 -2
- package/dist/showcase/premium/collapse/showcase.cjs +1 -1
- package/dist/showcase/premium/collapse/showcase.js +7 -0
- package/dist/showcase/premium/combobox/showcase.cjs +1 -1
- package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
- package/dist/showcase/premium/combobox/showcase.js +56 -47
- package/dist/showcase/premium/data-table/showcase.cjs +1 -1
- package/dist/showcase/premium/data-table/showcase.js +138 -46
- package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
- package/dist/showcase/premium/data-table-parts/showcase.js +13 -13
- package/dist/showcase/premium/date-input/mock.cjs +1 -1
- package/dist/showcase/premium/date-input/mock.js +1 -1
- package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
- package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
- package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
- package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
- package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
- package/dist/showcase/premium/form-wrapper/mock.js +4 -4
- package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
- package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
- package/dist/showcase/premium/index.cjs +1 -1
- package/dist/showcase/premium/index.js +467 -574
- package/dist/showcase/premium/input/mock.cjs +4 -1
- package/dist/showcase/premium/input/mock.js +1 -1
- package/dist/showcase/premium/masked-input/mock.cjs +1 -1
- package/dist/showcase/premium/masked-input/mock.js +1 -1
- package/dist/showcase/premium/money-input/mock.cjs +1 -1
- package/dist/showcase/premium/money-input/mock.js +1 -1
- package/dist/showcase/premium/number-input/mock.cjs +1 -1
- package/dist/showcase/premium/number-input/mock.js +1 -1
- package/dist/showcase/premium/phone-input/mock.cjs +1 -1
- package/dist/showcase/premium/phone-input/mock.js +1 -1
- package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
- package/dist/showcase/premium/quantity-input/mock.js +1 -1
- package/dist/showcase/premium/simple-select/mock.cjs +1 -1
- package/dist/showcase/premium/simple-select/mock.js +1 -1
- package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
- package/dist/showcase/premium/simple-select/showcase.js +4 -2
- package/dist/showcase/preview-catalog.cjs +7 -10
- package/dist/showcase/preview-catalog.js +7 -7
- package/dist/showcase/registry-quality.cjs +1 -1
- package/dist/showcase/registry-quality.js +0 -24
- package/dist/showcase/registry-specific.cjs +1 -1
- package/dist/showcase/registry-specific.js +149 -383
- package/dist/showcase/render-registry-preview.cjs +1 -1
- package/dist/showcase/render-registry-preview.js +163 -195
- package/dist/showcase/site-data.cjs +1 -1
- package/dist/showcase/site-data.js +197 -941
- package/dist/showcase/supplemental.cjs +1 -1
- package/dist/showcase/supplemental.js +1 -1
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +33 -59
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +2 -2
- package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
- package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
- package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
- package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
- package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
- package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
- package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
- package/packages/cli/vendor/src/components/data-table/data-table.tsx +65 -53
- package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
- package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
- package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
- package/packages/cli/vendor/src/components/display/carousel.tsx +88 -2
- package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
- package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
- package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
- package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
- package/packages/cli/vendor/src/components/display/index.ts +0 -8
- package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
- package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
- package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
- package/packages/cli/vendor/src/components/filters/index.ts +0 -1
- package/packages/cli/vendor/src/components/form/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
- package/packages/cli/vendor/src/components/form/form-input.tsx +118 -11
- package/packages/cli/vendor/src/components/form/form-select.tsx +26 -3
- package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
- package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
- package/packages/cli/vendor/src/components/form/index.ts +0 -1
- package/packages/cli/vendor/src/components/form/public.ts +0 -11
- package/packages/cli/vendor/src/components/inputs/async-select.tsx +126 -82
- package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
- package/packages/cli/vendor/src/components/inputs/index.ts +0 -2
- package/packages/cli/vendor/src/components/inputs/public.ts +0 -2
- package/packages/cli/vendor/src/components/inputs/simple-select.tsx +52 -24
- package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
- package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
- package/packages/cli/vendor/src/components/layout/index.ts +0 -1
- package/packages/cli/vendor/src/components/layout/public.ts +0 -1
- package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
- package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
- package/packages/cli/vendor/src/components/modern/index.ts +1 -5
- package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
- package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
- package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
- package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
- package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
- package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
- package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
- package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
- package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
- package/packages/cli/vendor/src/public-component-surface.ts +0 -16
- package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
- package/packages/cli/vendor/src/showcase/create-demo.tsx +31 -46
- package/packages/cli/vendor/src/showcase/fallback.tsx +83 -263
- package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
- package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
- package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
- package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
- package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
- package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
- package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
- package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
- package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
- package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
- package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
- package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
- package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
- package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
- package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
- package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
- package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
- package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
- package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +11 -11
- package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
- package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
- package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
- package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
- package/packages/cli/vendor/src/showcase/premium/index.ts +7 -46
- package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
- package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
- package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
- package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -30
- package/packages/cli/vendor/src/showcase/registry-specific.tsx +3 -178
- package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +18 -51
- package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
- package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
- package/packages/cli/vendor/src/showcase/tembro-registry.json +206 -280
- package/registry.json +251 -329
- package/dist/components/display/aspect-ratio.cjs +0 -1
- package/dist/components/display/aspect-ratio.d.ts +0 -6
- package/dist/components/display/aspect-ratio.js +0 -21
- package/dist/components/display/entity-card.cjs +0 -1
- package/dist/components/display/entity-card.d.ts +0 -18
- package/dist/components/display/entity-card.js +0 -61
- package/dist/components/display/entity-header.cjs +0 -1
- package/dist/components/display/entity-header.d.ts +0 -13
- package/dist/components/display/entity-header.js +0 -52
- package/dist/components/display/file-card.cjs +0 -1
- package/dist/components/display/file-card.d.ts +0 -14
- package/dist/components/display/file-card.js +0 -59
- package/dist/components/display/float-button.cjs +0 -1
- package/dist/components/display/float-button.d.ts +0 -6
- package/dist/components/display/float-button.js +0 -20
- package/dist/components/display/key-value-card.cjs +0 -1
- package/dist/components/display/key-value-card.d.ts +0 -16
- package/dist/components/display/key-value-card.js +0 -35
- package/dist/components/display/keyboard-shortcut.cjs +0 -1
- package/dist/components/display/keyboard-shortcut.d.ts +0 -7
- package/dist/components/display/keyboard-shortcut.js +0 -18
- package/dist/components/display/skeleton-form.cjs +0 -1
- package/dist/components/display/skeleton-form.d.ts +0 -9
- package/dist/components/display/skeleton-form.js +0 -31
- package/dist/components/display/skeleton-table.cjs +0 -1
- package/dist/components/display/skeleton-table.d.ts +0 -9
- package/dist/components/display/skeleton-table.js +0 -42
- package/dist/components/display/tag-list.cjs +0 -1
- package/dist/components/display/tag-list.d.ts +0 -17
- package/dist/components/display/tag-list.js +0 -30
- package/dist/components/display/watermark.cjs +0 -1
- package/dist/components/display/watermark.d.ts +0 -6
- package/dist/components/display/watermark.js +0 -23
- package/dist/components/feedback/empty-search-state.cjs +0 -1
- package/dist/components/feedback/empty-search-state.d.ts +0 -11
- package/dist/components/feedback/empty-search-state.js +0 -45
- package/dist/components/feedback/empty-state.cjs +0 -1
- package/dist/components/feedback/empty-state.d.ts +0 -11
- package/dist/components/feedback/empty-state.js +0 -38
- package/dist/components/filters/filter-chips.cjs +0 -1
- package/dist/components/filters/filter-chips.d.ts +0 -18
- package/dist/components/filters/filter-chips.js +0 -61
- package/dist/components/form/repeater-field.cjs +0 -1
- package/dist/components/form/repeater-field.d.ts +0 -16
- package/dist/components/form/repeater-field.js +0 -48
- package/dist/components/inputs/cascader.cjs +0 -1
- package/dist/components/inputs/cascader.d.ts +0 -13
- package/dist/components/inputs/cascader.js +0 -58
- package/dist/components/inputs/mention-input.cjs +0 -1
- package/dist/components/inputs/mention-input.d.ts +0 -18
- package/dist/components/inputs/mention-input.js +0 -96
- package/dist/components/layout/stack.cjs +0 -1
- package/dist/components/layout/stack.d.ts +0 -23
- package/dist/components/layout/stack.js +0 -57
- package/dist/components/modern/affix.cjs +0 -1
- package/dist/components/modern/affix.d.ts +0 -7
- package/dist/components/modern/affix.js +0 -18
- package/dist/components/patterns/form-builder-presets.cjs +0 -1
- package/dist/components/patterns/form-builder-presets.d.ts +0 -1
- package/dist/components/patterns/form-builder-presets.js +0 -2
- package/dist/components/patterns/form-builder.cjs +0 -1
- package/dist/components/patterns/form-builder.d.ts +0 -109
- package/dist/components/patterns/form-builder.js +0 -263
- package/dist/showcase/premium/affix/index.cjs +0 -1
- package/dist/showcase/premium/affix/index.d.ts +0 -2
- package/dist/showcase/premium/affix/index.js +0 -3
- package/dist/showcase/premium/affix/mock.cjs +0 -12
- package/dist/showcase/premium/affix/mock.d.ts +0 -2
- package/dist/showcase/premium/affix/mock.js +0 -15
- package/dist/showcase/premium/affix/showcase.cjs +0 -1
- package/dist/showcase/premium/affix/showcase.d.ts +0 -2
- package/dist/showcase/premium/affix/showcase.js +0 -64
- package/dist/showcase/premium/aspect-ratio/index.cjs +0 -1
- package/dist/showcase/premium/aspect-ratio/index.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/index.js +0 -3
- package/dist/showcase/premium/aspect-ratio/mock.cjs +0 -11
- package/dist/showcase/premium/aspect-ratio/mock.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/mock.js +0 -26
- package/dist/showcase/premium/aspect-ratio/showcase.cjs +0 -1
- package/dist/showcase/premium/aspect-ratio/showcase.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/showcase.js +0 -53
- package/dist/showcase/premium/cascader/index.cjs +0 -1
- package/dist/showcase/premium/cascader/index.d.ts +0 -2
- package/dist/showcase/premium/cascader/index.js +0 -3
- package/dist/showcase/premium/cascader/mock.cjs +0 -9
- package/dist/showcase/premium/cascader/mock.d.ts +0 -2
- package/dist/showcase/premium/cascader/mock.js +0 -19
- package/dist/showcase/premium/cascader/showcase.cjs +0 -1
- package/dist/showcase/premium/cascader/showcase.d.ts +0 -2
- package/dist/showcase/premium/cascader/showcase.js +0 -43
- package/dist/showcase/premium/empty-state/index.cjs +0 -1
- package/dist/showcase/premium/empty-state/index.d.ts +0 -2
- package/dist/showcase/premium/empty-state/index.js +0 -3
- package/dist/showcase/premium/empty-state/mock.cjs +0 -14
- package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
- package/dist/showcase/premium/empty-state/mock.js +0 -31
- package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
- package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
- package/dist/showcase/premium/empty-state/showcase.js +0 -99
- package/dist/showcase/premium/float-button/index.cjs +0 -1
- package/dist/showcase/premium/float-button/index.d.ts +0 -2
- package/dist/showcase/premium/float-button/index.js +0 -3
- package/dist/showcase/premium/float-button/mock.cjs +0 -10
- package/dist/showcase/premium/float-button/mock.d.ts +0 -2
- package/dist/showcase/premium/float-button/mock.js +0 -15
- package/dist/showcase/premium/float-button/showcase.cjs +0 -1
- package/dist/showcase/premium/float-button/showcase.d.ts +0 -2
- package/dist/showcase/premium/float-button/showcase.js +0 -28
- package/dist/showcase/premium/form-builder/index.cjs +0 -1
- package/dist/showcase/premium/form-builder/index.d.ts +0 -2
- package/dist/showcase/premium/form-builder/index.js +0 -3
- package/dist/showcase/premium/form-builder/mock.cjs +0 -57
- package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
- package/dist/showcase/premium/form-builder/mock.js +0 -40
- package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
- package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
- package/dist/showcase/premium/form-builder/showcase.js +0 -69
- package/dist/showcase/premium/keyboard-shortcut/index.cjs +0 -1
- package/dist/showcase/premium/keyboard-shortcut/index.d.ts +0 -2
- package/dist/showcase/premium/keyboard-shortcut/index.js +0 -3
- package/dist/showcase/premium/keyboard-shortcut/mock.cjs +0 -5
- package/dist/showcase/premium/keyboard-shortcut/mock.d.ts +0 -2
- package/dist/showcase/premium/keyboard-shortcut/mock.js +0 -26
- package/dist/showcase/premium/keyboard-shortcut/showcase.cjs +0 -1
- package/dist/showcase/premium/keyboard-shortcut/showcase.d.ts +0 -1
- package/dist/showcase/premium/keyboard-shortcut/showcase.js +0 -64
- package/dist/showcase/premium/mention-input/index.cjs +0 -1
- package/dist/showcase/premium/mention-input/index.d.ts +0 -2
- package/dist/showcase/premium/mention-input/index.js +0 -3
- package/dist/showcase/premium/mention-input/mock.cjs +0 -11
- package/dist/showcase/premium/mention-input/mock.d.ts +0 -2
- package/dist/showcase/premium/mention-input/mock.js +0 -19
- package/dist/showcase/premium/mention-input/showcase.cjs +0 -1
- package/dist/showcase/premium/mention-input/showcase.d.ts +0 -2
- package/dist/showcase/premium/mention-input/showcase.js +0 -35
- package/dist/showcase/premium/skeleton-form/index.cjs +0 -1
- package/dist/showcase/premium/skeleton-form/index.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/index.js +0 -3
- package/dist/showcase/premium/skeleton-form/mock.cjs +0 -5
- package/dist/showcase/premium/skeleton-form/mock.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/mock.js +0 -19
- package/dist/showcase/premium/skeleton-form/showcase.cjs +0 -1
- package/dist/showcase/premium/skeleton-form/showcase.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/showcase.js +0 -52
- package/dist/showcase/premium/skeleton-table/index.cjs +0 -1
- package/dist/showcase/premium/skeleton-table/index.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/index.js +0 -3
- package/dist/showcase/premium/skeleton-table/mock.cjs +0 -5
- package/dist/showcase/premium/skeleton-table/mock.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/mock.js +0 -19
- package/dist/showcase/premium/skeleton-table/showcase.cjs +0 -1
- package/dist/showcase/premium/skeleton-table/showcase.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/showcase.js +0 -59
- package/dist/showcase/premium/stack/index.cjs +0 -1
- package/dist/showcase/premium/stack/index.d.ts +0 -2
- package/dist/showcase/premium/stack/index.js +0 -3
- package/dist/showcase/premium/stack/mock.cjs +0 -10
- package/dist/showcase/premium/stack/mock.d.ts +0 -2
- package/dist/showcase/premium/stack/mock.js +0 -26
- package/dist/showcase/premium/stack/showcase.cjs +0 -1
- package/dist/showcase/premium/stack/showcase.d.ts +0 -1
- package/dist/showcase/premium/stack/showcase.js +0 -47
- package/dist/showcase/premium/tag-list/index.cjs +0 -1
- package/dist/showcase/premium/tag-list/index.d.ts +0 -2
- package/dist/showcase/premium/tag-list/index.js +0 -3
- package/dist/showcase/premium/tag-list/mock.cjs +0 -12
- package/dist/showcase/premium/tag-list/mock.d.ts +0 -2
- package/dist/showcase/premium/tag-list/mock.js +0 -26
- package/dist/showcase/premium/tag-list/showcase.cjs +0 -1
- package/dist/showcase/premium/tag-list/showcase.d.ts +0 -2
- package/dist/showcase/premium/tag-list/showcase.js +0 -83
- package/dist/showcase/premium/watermark/index.cjs +0 -1
- package/dist/showcase/premium/watermark/index.d.ts +0 -2
- package/dist/showcase/premium/watermark/index.js +0 -3
- package/dist/showcase/premium/watermark/mock.cjs +0 -11
- package/dist/showcase/premium/watermark/mock.d.ts +0 -2
- package/dist/showcase/premium/watermark/mock.js +0 -26
- package/dist/showcase/premium/watermark/showcase.cjs +0 -1
- package/dist/showcase/premium/watermark/showcase.d.ts +0 -2
- package/dist/showcase/premium/watermark/showcase.js +0 -34
- package/packages/cli/vendor/src/components/display/aspect-ratio.tsx +0 -22
- package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
- package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
- package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
- package/packages/cli/vendor/src/components/display/float-button.tsx +0 -27
- package/packages/cli/vendor/src/components/display/key-value-card.tsx +0 -50
- package/packages/cli/vendor/src/components/display/keyboard-shortcut.tsx +0 -31
- package/packages/cli/vendor/src/components/display/skeleton-form.tsx +0 -51
- package/packages/cli/vendor/src/components/display/skeleton-table.tsx +0 -59
- package/packages/cli/vendor/src/components/display/tag-list.tsx +0 -52
- package/packages/cli/vendor/src/components/display/watermark.tsx +0 -20
- package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
- package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
- package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
- package/packages/cli/vendor/src/components/form/repeater-field.tsx +0 -93
- package/packages/cli/vendor/src/components/inputs/cascader.tsx +0 -41
- package/packages/cli/vendor/src/components/inputs/mention-input.tsx +0 -162
- package/packages/cli/vendor/src/components/layout/stack.tsx +0 -106
- package/packages/cli/vendor/src/components/modern/affix.tsx +0 -21
- package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
- package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
- package/packages/cli/vendor/src/showcase/premium/affix/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/affix/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/affix/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/cascader/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/cascader/mock.ts +0 -24
- package/packages/cli/vendor/src/showcase/premium/cascader/showcase.tsx +0 -20
- package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
- package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
- package/packages/cli/vendor/src/showcase/premium/float-button/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/float-button/mock.ts +0 -24
- package/packages/cli/vendor/src/showcase/premium/float-button/showcase.tsx +0 -21
- package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
- package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/showcase.tsx +0 -42
- package/packages/cli/vendor/src/showcase/premium/mention-input/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/mention-input/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/mention-input/showcase.tsx +0 -27
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/showcase.tsx +0 -34
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/stack/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/stack/mock.ts +0 -25
- package/packages/cli/vendor/src/showcase/premium/stack/showcase.tsx +0 -22
- package/packages/cli/vendor/src/showcase/premium/tag-list/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/tag-list/mock.ts +0 -27
- package/packages/cli/vendor/src/showcase/premium/tag-list/showcase.tsx +0 -55
- package/packages/cli/vendor/src/showcase/premium/watermark/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/watermark/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/watermark/showcase.tsx +0 -26
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
|
|
1
3
|
import { Badge, Button, Combobox } from "@/index"
|
|
2
4
|
|
|
3
5
|
import type { ComponentDemoProps } from "../types"
|
|
@@ -15,6 +17,7 @@ const teammateOptions = [
|
|
|
15
17
|
export function ComboboxShowcase({ state, setState }: ComponentDemoProps) {
|
|
16
18
|
const currentValue = teammateOptions.some((option) => option.value === state.selectValue) ? state.selectValue : "azamat"
|
|
17
19
|
const currentOption = teammateOptions.find((option) => option.value === currentValue) ?? teammateOptions[0]
|
|
20
|
+
const [searchValue, setSearchValue] = React.useState("")
|
|
18
21
|
|
|
19
22
|
return (
|
|
20
23
|
<div className="space-y-5">
|
|
@@ -45,6 +48,10 @@ export function ComboboxShowcase({ state, setState }: ComponentDemoProps) {
|
|
|
45
48
|
onValueChange={(value) => setState({ selectValue: value ?? "azamat" })}
|
|
46
49
|
placeholder="Choose teammate"
|
|
47
50
|
searchPlaceholder="Search teammate..."
|
|
51
|
+
clearable
|
|
52
|
+
allowDeselect
|
|
53
|
+
showSelectedDescription
|
|
54
|
+
onSearchChange={setSearchValue}
|
|
48
55
|
/>
|
|
49
56
|
</div>
|
|
50
57
|
</div>
|
|
@@ -68,6 +75,7 @@ export function ComboboxShowcase({ state, setState }: ComponentDemoProps) {
|
|
|
68
75
|
<p className="mt-2 text-sm leading-6 aui-text-muted">
|
|
69
76
|
Use quick actions below to verify that the value stays controlled outside the dropdown itself.
|
|
70
77
|
</p>
|
|
78
|
+
<p className="mt-2 text-sm leading-6 aui-text-muted">Search query: {searchValue || "empty"}</p>
|
|
71
79
|
</div>
|
|
72
80
|
<div className="flex flex-wrap gap-2">
|
|
73
81
|
<Button type="button" size="sm" onClick={() => setState({ selectValue: "nodira" })}>
|
|
@@ -5,13 +5,12 @@ import {
|
|
|
5
5
|
Badge,
|
|
6
6
|
Button,
|
|
7
7
|
DataTable,
|
|
8
|
-
DataTableBulkActions,
|
|
9
8
|
DataTableColumnVisibilityMenu,
|
|
10
9
|
DataTableSortableHeader,
|
|
11
|
-
|
|
12
|
-
createDataTableActionsColumn,
|
|
13
|
-
createDataTableSelectColumn,
|
|
10
|
+
SimpleSelect,
|
|
14
11
|
} from "@/index"
|
|
12
|
+
import { createDataTableActionsColumn } from "@/components/data-table/data-table-actions-column"
|
|
13
|
+
import { createDataTableSelectColumn } from "@/components/data-table/data-table-select-column"
|
|
15
14
|
|
|
16
15
|
type DataTableDemoRow = {
|
|
17
16
|
invoice: string
|
|
@@ -26,17 +25,25 @@ const rows: DataTableDemoRow[] = [
|
|
|
26
25
|
{ invoice: "INV-4821", customer: "Acme Studio", owner: "Azamat", amount: "$12,420", status: "Paid", updatedAt: "2m ago" },
|
|
27
26
|
{ invoice: "INV-4822", customer: "Northwind", owner: "Madina", amount: "$8,120", status: "Review", updatedAt: "10m ago" },
|
|
28
27
|
{ invoice: "INV-4823", customer: "Globex", owner: "Jasur", amount: "$4,880", status: "Draft", updatedAt: "22m ago" },
|
|
28
|
+
{ invoice: "INV-4824", customer: "Pixel Union", owner: "Azamat", amount: "$17,300", status: "Paid", updatedAt: "44m ago" },
|
|
29
|
+
{ invoice: "INV-4825", customer: "Meridian Labs", owner: "Madina", amount: "$2,180", status: "Review", updatedAt: "1h ago" },
|
|
30
|
+
{ invoice: "INV-4826", customer: "Orbit Cloud", owner: "Jasur", amount: "$9,040", status: "Draft", updatedAt: "3h ago" },
|
|
29
31
|
]
|
|
30
32
|
|
|
31
33
|
export function DataTableShowcase() {
|
|
32
34
|
const [search, setSearch] = React.useState("")
|
|
33
|
-
const [
|
|
35
|
+
const [statusFilter, setStatusFilter] = React.useState("all")
|
|
36
|
+
const [ownerFilter, setOwnerFilter] = React.useState("all")
|
|
37
|
+
const [rowSelection, setRowSelection] = React.useState<Record<string, boolean>>({})
|
|
34
38
|
|
|
35
39
|
const filteredRows = rows.filter((row) => {
|
|
36
40
|
const normalized = search.trim().toLowerCase()
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
const matchesSearch = !normalized || `${row.invoice} ${row.customer} ${row.owner} ${row.amount}`.toLowerCase().includes(normalized)
|
|
42
|
+
const matchesStatus = statusFilter === "all" || row.status === statusFilter
|
|
43
|
+
const matchesOwner = ownerFilter === "all" || row.owner === ownerFilter
|
|
44
|
+
return matchesSearch && matchesStatus && matchesOwner
|
|
39
45
|
})
|
|
46
|
+
const selectedCount = Object.values(rowSelection).filter(Boolean).length
|
|
40
47
|
|
|
41
48
|
const columns = React.useMemo<ColumnDef<DataTableDemoRow>[]>(
|
|
42
49
|
() => [
|
|
@@ -94,7 +101,7 @@ export function DataTableShowcase() {
|
|
|
94
101
|
</div>
|
|
95
102
|
<div className="rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3">
|
|
96
103
|
<p className="text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted">State</p>
|
|
97
|
-
<p className="mt-2 text-lg font-semibold aui-text-strong">Live</p>
|
|
104
|
+
<p className="mt-2 text-lg font-semibold aui-text-strong">{search || statusFilter !== "all" || ownerFilter !== "all" ? "Filtered" : "Live"}</p>
|
|
98
105
|
</div>
|
|
99
106
|
</div>
|
|
100
107
|
</div>
|
|
@@ -104,24 +111,67 @@ export function DataTableShowcase() {
|
|
|
104
111
|
data={filteredRows}
|
|
105
112
|
getRowId={(row) => row.invoice}
|
|
106
113
|
enableRowSelection
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
114
|
+
rowSelection={rowSelection}
|
|
115
|
+
title="Invoices"
|
|
116
|
+
description="Search, filter, visibility controls, bulk actions and row actions should stay inside one install-ready table surface."
|
|
117
|
+
features={{
|
|
118
|
+
search: true,
|
|
119
|
+
columnVisibility: true,
|
|
120
|
+
bulkActions: true,
|
|
121
|
+
}}
|
|
122
|
+
search={{
|
|
123
|
+
value: search,
|
|
124
|
+
onValueChange: setSearch,
|
|
125
|
+
placeholder: "Search invoice, customer...",
|
|
126
|
+
clearable: true,
|
|
127
|
+
}}
|
|
128
|
+
filters={
|
|
129
|
+
<>
|
|
130
|
+
<SimpleSelect
|
|
131
|
+
value={statusFilter}
|
|
132
|
+
onValueChange={(value) => setStatusFilter(value ?? "all")}
|
|
133
|
+
options={[
|
|
134
|
+
{ value: "all", label: "All statuses" },
|
|
135
|
+
{ value: "Paid", label: "Paid" },
|
|
136
|
+
{ value: "Review", label: "Review" },
|
|
137
|
+
{ value: "Draft", label: "Draft" },
|
|
138
|
+
]}
|
|
139
|
+
triggerClassName="min-w-40"
|
|
140
|
+
/>
|
|
141
|
+
<SimpleSelect
|
|
142
|
+
value={ownerFilter}
|
|
143
|
+
onValueChange={(value) => setOwnerFilter(value ?? "all")}
|
|
144
|
+
options={[
|
|
145
|
+
{ value: "all", label: "All owners" },
|
|
146
|
+
{ value: "Azamat", label: "Azamat" },
|
|
147
|
+
{ value: "Madina", label: "Madina" },
|
|
148
|
+
{ value: "Jasur", label: "Jasur" },
|
|
149
|
+
]}
|
|
150
|
+
triggerClassName="min-w-36"
|
|
151
|
+
/>
|
|
152
|
+
</>
|
|
153
|
+
}
|
|
154
|
+
summary={
|
|
155
|
+
<>
|
|
156
|
+
<Badge variant="outline">{filteredRows.length} rows</Badge>
|
|
157
|
+
<Badge variant="outline">{selectedCount} selected</Badge>
|
|
158
|
+
<Badge variant="outline">
|
|
159
|
+
{search || statusFilter !== "all" || ownerFilter !== "all" ? "Filtered view" : "Live view"}
|
|
160
|
+
</Badge>
|
|
161
|
+
</>
|
|
162
|
+
}
|
|
163
|
+
toolbarActions={({ table }) => (
|
|
164
|
+
<div className="flex items-center gap-2">
|
|
165
|
+
<DataTableColumnVisibilityMenu table={table} />
|
|
166
|
+
<Button size="sm" variant="outline">Export</Button>
|
|
167
|
+
</div>
|
|
168
|
+
)}
|
|
169
|
+
bulkActions={[
|
|
170
|
+
{ key: "export", label: "Export selected", onSelect: () => undefined },
|
|
171
|
+
{ key: "archive", label: "Archive selected", destructive: true, onSelect: () => undefined },
|
|
172
|
+
]}
|
|
122
173
|
onRowSelectionChange={(selection) => {
|
|
123
|
-
|
|
124
|
-
setSelectedCount(Object.values(value).filter(Boolean).length)
|
|
174
|
+
setRowSelection((current) => (typeof selection === "function" ? selection(current) : selection))
|
|
125
175
|
}}
|
|
126
176
|
onRowClick={() => undefined}
|
|
127
177
|
renderMobileCard={(row) => (
|
|
@@ -139,8 +189,8 @@ export function DataTableShowcase() {
|
|
|
139
189
|
pageIndex: 0,
|
|
140
190
|
pageSize: 5,
|
|
141
191
|
rowCount: filteredRows.length,
|
|
142
|
-
pageCount: 1,
|
|
143
|
-
pageSizeOptions: [5],
|
|
192
|
+
pageCount: Math.max(Math.ceil(filteredRows.length / 5), 1),
|
|
193
|
+
pageSizeOptions: [5, 10],
|
|
144
194
|
onPageChange: () => undefined,
|
|
145
195
|
onPageSizeChange: () => undefined,
|
|
146
196
|
}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react"
|
|
2
|
-
import type { ColumnDef, RowSelectionState } from "@tanstack/react-table"
|
|
2
|
+
import type { ColumnDef, Row, RowSelectionState } from "@tanstack/react-table"
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
Badge,
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
DataTable,
|
|
8
8
|
DataTableBulkActions,
|
|
9
9
|
DataTableColumnVisibilityMenu,
|
|
10
|
-
DataTableSavedFilters,
|
|
11
10
|
DataTableSortableHeader,
|
|
12
11
|
DataTableViewPresets,
|
|
13
12
|
SearchInput,
|
|
14
|
-
createDataTableActionsColumn,
|
|
15
|
-
createDataTableSelectColumn,
|
|
16
13
|
} from "@/index"
|
|
14
|
+
import { createDataTableActionsColumn } from "@/components/data-table/data-table-actions-column"
|
|
15
|
+
import { DataTableSavedFilters } from "@/components/data-table/data-table-saved-filters"
|
|
16
|
+
import { createDataTableSelectColumn } from "@/components/data-table/data-table-select-column"
|
|
17
17
|
|
|
18
18
|
import { buildDataTableDemoRows, dataTableDemoPresets, type DataTableDemoRow } from "./data"
|
|
19
19
|
|
|
@@ -40,9 +40,9 @@ function buildColumns(setNotes: (value: string) => void): ColumnDef<DataTableDem
|
|
|
40
40
|
accessorKey: "customer",
|
|
41
41
|
header: ({ column }) => <DataTableSortableHeader column={column}>Customer</DataTableSortableHeader>,
|
|
42
42
|
},
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
{
|
|
44
|
+
accessorKey: "status",
|
|
45
|
+
header: "Status",
|
|
46
46
|
cell: ({ row }) => (
|
|
47
47
|
<Badge variant={row.original.status === "Paid" ? "secondary" : row.original.status === "Review" ? "outline" : "destructive"}>
|
|
48
48
|
{row.original.status}
|
|
@@ -54,7 +54,7 @@ function buildColumns(setNotes: (value: string) => void): ColumnDef<DataTableDem
|
|
|
54
54
|
header: ({ column }) => <DataTableSortableHeader column={column}>Amount</DataTableSortableHeader>,
|
|
55
55
|
},
|
|
56
56
|
createDataTableActionsColumn<DataTableDemoRow>({
|
|
57
|
-
getActions: (_row
|
|
57
|
+
getActions: (_row: Row<DataTableDemoRow>, original: DataTableDemoRow) => [
|
|
58
58
|
{ key: "open", label: "Open detail", onSelect: () => setNotes(`${original.invoice} opened from row action`) },
|
|
59
59
|
{ key: "archive", label: "Archive", destructive: true, onSelect: () => setNotes(`${original.invoice} sent to archive`) },
|
|
60
60
|
],
|
|
@@ -129,9 +129,9 @@ export function DataTablePartShowcase({
|
|
|
129
129
|
{ id: "risk", name: "At risk", filters: {} },
|
|
130
130
|
]}
|
|
131
131
|
activeFilterId={view === "all" ? "all" : view === "finance" ? "finance" : "risk"}
|
|
132
|
-
onSelectFilter={(id) => setView(id === "finance" ? "finance" : id === "risk" ? "at-risk" : "all")}
|
|
133
|
-
onSaveFilter={(name) => setNotes(`Saved filter created: ${name}`)}
|
|
134
|
-
onDeleteFilter={(id) => setNotes(`Saved filter deleted: ${id}`)}
|
|
132
|
+
onSelectFilter={(id: string) => setView(id === "finance" ? "finance" : id === "risk" ? "at-risk" : "all")}
|
|
133
|
+
onSaveFilter={(name: string) => setNotes(`Saved filter created: ${name}`)}
|
|
134
|
+
onDeleteFilter={(id: string) => setNotes(`Saved filter deleted: ${id}`)}
|
|
135
135
|
onClearFilters={() => setView("all")}
|
|
136
136
|
/>
|
|
137
137
|
</div>
|
|
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
|
|
|
2
2
|
|
|
3
3
|
export const dateInputMock: ComponentDemoMock = {
|
|
4
4
|
code: `import { useState } from "react"
|
|
5
|
-
import { DateInput } from "
|
|
5
|
+
import { DateInput } from "tembro"
|
|
6
6
|
|
|
7
7
|
export function Example() {
|
|
8
8
|
const [value, setValue] = useState("2026-06-19")
|
|
@@ -15,6 +15,13 @@ export function DateRangePickerShowcase({ mode }: ComponentDemoProps) {
|
|
|
15
15
|
min="2026-06-01"
|
|
16
16
|
max="2026-12-31"
|
|
17
17
|
disabledDates={["2026-06-21", "2026-06-22"]}
|
|
18
|
+
closeOnPresetSelect
|
|
19
|
+
presets={[
|
|
20
|
+
{ label: "This week", value: { from: "2026-06-01", to: "2026-06-07" } },
|
|
21
|
+
{ label: "Next 14 days", value: { from: "2026-06-08", to: "2026-06-20" } },
|
|
22
|
+
{ label: "Q3", value: { from: "2026-07-01", to: "2026-09-30" } },
|
|
23
|
+
]}
|
|
24
|
+
labels={{ placeholder: "Choose reporting range", apply: "Apply range", clear: "Clear", start: "Start", end: "End" }}
|
|
18
25
|
/>
|
|
19
26
|
<p className="aui-text-subtle text-sm">Range: {value.from} → {value.to}</p>
|
|
20
27
|
<p className="aui-text-muted text-sm">Mode: {mode}</p>
|
|
@@ -7,11 +7,15 @@ import {
|
|
|
7
7
|
DropdownMenuContent,
|
|
8
8
|
DropdownMenuGroup,
|
|
9
9
|
DropdownMenuItem,
|
|
10
|
+
DropdownMenuItemDescription,
|
|
10
11
|
DropdownMenuLabel,
|
|
11
12
|
DropdownMenuRadioGroup,
|
|
12
13
|
DropdownMenuRadioItem,
|
|
13
14
|
DropdownMenuSeparator,
|
|
14
15
|
DropdownMenuShortcut,
|
|
16
|
+
DropdownMenuSub,
|
|
17
|
+
DropdownMenuSubContent,
|
|
18
|
+
DropdownMenuSubTrigger,
|
|
15
19
|
DropdownMenuTrigger,
|
|
16
20
|
} from "@/index"
|
|
17
21
|
|
|
@@ -22,6 +26,8 @@ const panelClass = "border-t border-[color:var(--aui-divider)] py-6"
|
|
|
22
26
|
export function DropdownMenuShowcase({ mode }: ComponentDemoProps) {
|
|
23
27
|
const [status, setStatus] = React.useState("private")
|
|
24
28
|
const [notifications, setNotifications] = React.useState(true)
|
|
29
|
+
const [compact, setCompact] = React.useState(false)
|
|
30
|
+
const [keepOpen, setKeepOpen] = React.useState(false)
|
|
25
31
|
|
|
26
32
|
return (
|
|
27
33
|
<div className="space-y-0">
|
|
@@ -46,6 +52,10 @@ export function DropdownMenuShowcase({ mode }: ComponentDemoProps) {
|
|
|
46
52
|
<p className="text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted">Route</p>
|
|
47
53
|
<p className="mt-2 text-lg font-semibold aui-text-strong">{mode === "playground" ? "Interactive" : "Docs"}</p>
|
|
48
54
|
</div>
|
|
55
|
+
<div className="rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3">
|
|
56
|
+
<p className="text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted">Menu close</p>
|
|
57
|
+
<p className="mt-2 text-lg font-semibold aui-text-strong">{keepOpen ? "Pinned open" : "Auto close"}</p>
|
|
58
|
+
</div>
|
|
49
59
|
</div>
|
|
50
60
|
</div>
|
|
51
61
|
</section>
|
|
@@ -63,12 +73,45 @@ export function DropdownMenuShowcase({ mode }: ComponentDemoProps) {
|
|
|
63
73
|
</DropdownMenuTrigger>
|
|
64
74
|
<DropdownMenuContent>
|
|
65
75
|
<DropdownMenuLabel>Workspace actions</DropdownMenuLabel>
|
|
66
|
-
<DropdownMenuItem>
|
|
67
|
-
|
|
76
|
+
<DropdownMenuItem>
|
|
77
|
+
<span className="grid gap-0.5">
|
|
78
|
+
<span>Open workspace</span>
|
|
79
|
+
<DropdownMenuItemDescription>Go to the main dashboard route</DropdownMenuItemDescription>
|
|
80
|
+
</span>
|
|
81
|
+
<DropdownMenuShortcut>↵</DropdownMenuShortcut>
|
|
82
|
+
</DropdownMenuItem>
|
|
83
|
+
<DropdownMenuItem disabled>
|
|
84
|
+
<span className="grid gap-0.5">
|
|
85
|
+
<span>Delete from archive</span>
|
|
86
|
+
<DropdownMenuItemDescription>Locked until retention expires</DropdownMenuItemDescription>
|
|
87
|
+
</span>
|
|
88
|
+
</DropdownMenuItem>
|
|
68
89
|
<DropdownMenuSeparator />
|
|
69
|
-
<DropdownMenuCheckboxItem
|
|
90
|
+
<DropdownMenuCheckboxItem
|
|
91
|
+
checked={notifications}
|
|
92
|
+
closeOnSelect={!keepOpen}
|
|
93
|
+
onCheckedChange={(value) => setNotifications(Boolean(value))}
|
|
94
|
+
>
|
|
70
95
|
Notification access
|
|
71
96
|
</DropdownMenuCheckboxItem>
|
|
97
|
+
<DropdownMenuCheckboxItem
|
|
98
|
+
checked={compact}
|
|
99
|
+
closeOnSelect={!keepOpen}
|
|
100
|
+
onCheckedChange={(value) => setCompact(Boolean(value))}
|
|
101
|
+
>
|
|
102
|
+
Compact density
|
|
103
|
+
</DropdownMenuCheckboxItem>
|
|
104
|
+
<DropdownMenuCheckboxItem checked={keepOpen} closeOnSelect={false} onCheckedChange={(value) => setKeepOpen(Boolean(value))}>
|
|
105
|
+
Keep menu open
|
|
106
|
+
</DropdownMenuCheckboxItem>
|
|
107
|
+
<DropdownMenuSub>
|
|
108
|
+
<DropdownMenuSubTrigger>Export</DropdownMenuSubTrigger>
|
|
109
|
+
<DropdownMenuSubContent>
|
|
110
|
+
<DropdownMenuItem>CSV</DropdownMenuItem>
|
|
111
|
+
<DropdownMenuItem>PDF summary</DropdownMenuItem>
|
|
112
|
+
<DropdownMenuItem>JSON payload</DropdownMenuItem>
|
|
113
|
+
</DropdownMenuSubContent>
|
|
114
|
+
</DropdownMenuSub>
|
|
72
115
|
<DropdownMenuGroup>
|
|
73
116
|
<DropdownMenuRadioGroup value={status} onValueChange={(value) => setStatus(value)}>
|
|
74
117
|
<DropdownMenuRadioItem value="public">Public</DropdownMenuRadioItem>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ComponentDemoMock } from "../types"
|
|
2
2
|
|
|
3
|
-
export const formRHFWrapperMock: ComponentDemoMock = {
|
|
4
|
-
code: `import { useForm } from "react-hook-form"
|
|
5
|
-
import { Button,
|
|
6
|
-
|
|
7
|
-
type DemoValues = {
|
|
8
|
-
name: string
|
|
3
|
+
export const formRHFWrapperMock: ComponentDemoMock = {
|
|
4
|
+
code: `import { useForm } from "react-hook-form"
|
|
5
|
+
import { Button, FormInput, FormSwitch, FormTextarea } from "tembro"
|
|
6
|
+
|
|
7
|
+
type DemoValues = {
|
|
8
|
+
name: string
|
|
9
9
|
ownerPhone: string
|
|
10
10
|
price: number | null
|
|
11
11
|
notes: string
|
|
@@ -27,24 +27,22 @@ export function Example() {
|
|
|
27
27
|
console.log(values)
|
|
28
28
|
})
|
|
29
29
|
|
|
30
|
-
return (
|
|
31
|
-
<form onSubmit={onSubmit} className="space-y-4">
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<FormInput
|
|
47
|
-
control={form.control}
|
|
30
|
+
return (
|
|
31
|
+
<form onSubmit={onSubmit} className="space-y-4">
|
|
32
|
+
<FormInput
|
|
33
|
+
control={form.control}
|
|
34
|
+
name="name"
|
|
35
|
+
label="Workspace name"
|
|
36
|
+
required
|
|
37
|
+
placeholder="Write a workspace title"
|
|
38
|
+
rules={{
|
|
39
|
+
required: "Workspace name is required",
|
|
40
|
+
minLength: { value: 3, message: "At least 3 characters" },
|
|
41
|
+
}}
|
|
42
|
+
/>
|
|
43
|
+
|
|
44
|
+
<FormInput
|
|
45
|
+
control={form.control}
|
|
48
46
|
name="ownerPhone"
|
|
49
47
|
kind="phone"
|
|
50
48
|
label="Owner phone"
|
|
@@ -75,10 +73,10 @@ export function Example() {
|
|
|
75
73
|
|
|
76
74
|
<Button type="submit">Save</Button>
|
|
77
75
|
</form>
|
|
78
|
-
)`
|
|
79
|
-
,
|
|
80
|
-
htmlCode: '<form><label for="workspace">Workspace</label><input id="workspace" value="Azamat UI" /></form>',
|
|
81
|
-
cliCommand: "npx tembro add form-
|
|
76
|
+
)`
|
|
77
|
+
,
|
|
78
|
+
htmlCode: '<form><label for="workspace">Workspace</label><input id="workspace" value="Azamat UI" /></form>',
|
|
79
|
+
cliCommand: "npx tembro add form-input form-textarea form-switch",
|
|
82
80
|
highlights: ["control + name contract", "Universal `kind` variants", "Error display and required markers", "Consistent wrapper shell behavior"],
|
|
83
81
|
relatedBlockSlugs: ["settings-form", "crm-dashboard", "users-table"],
|
|
84
82
|
scenarios: [
|
|
@@ -96,17 +94,31 @@ export function Example() {
|
|
|
96
94
|
],
|
|
97
95
|
}
|
|
98
96
|
|
|
99
|
-
export const formSelectMock: ComponentDemoMock = {
|
|
100
|
-
code: `import { useForm } from "react-hook-form"
|
|
101
|
-
import { Button, FormSelect } from "tembro"
|
|
102
|
-
|
|
103
|
-
const statusOptions = [
|
|
104
|
-
{ label: "Draft", value: "draft" },
|
|
105
|
-
{ label: "Review", value: "review" },
|
|
106
|
-
{ label: "Live", value: "live" },
|
|
107
|
-
]
|
|
108
|
-
|
|
109
|
-
|
|
97
|
+
export const formSelectMock: ComponentDemoMock = {
|
|
98
|
+
code: `import { useForm } from "react-hook-form"
|
|
99
|
+
import { Button, FormSelect } from "tembro"
|
|
100
|
+
|
|
101
|
+
const statusOptions = [
|
|
102
|
+
{ label: "Draft", value: "draft" },
|
|
103
|
+
{ label: "Review", value: "review" },
|
|
104
|
+
{ label: "Live", value: "live" },
|
|
105
|
+
]
|
|
106
|
+
|
|
107
|
+
const workspaceOptions = [
|
|
108
|
+
{ value: "workspace-alpha", label: "Workspace Alpha", description: "Core design system route" },
|
|
109
|
+
{ value: "workspace-beta", label: "Workspace Beta", description: "CRM rollout workspace" },
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
async function loadWorkspaces(search: string) {
|
|
113
|
+
const query = search.trim().toLowerCase()
|
|
114
|
+
return workspaceOptions.filter((option) => !query || option.label.toLowerCase().includes(query))
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
async function loadWorkspace(value: string) {
|
|
118
|
+
return workspaceOptions.find((option) => option.value === value) ?? null
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export function Example() {
|
|
110
122
|
const form = useForm({
|
|
111
123
|
defaultValues: {
|
|
112
124
|
status: "review",
|
|
@@ -152,11 +164,25 @@ export function Example() {
|
|
|
152
164
|
],
|
|
153
165
|
}
|
|
154
166
|
|
|
155
|
-
export const formAsyncSelectMock: ComponentDemoMock = {
|
|
156
|
-
code: `import { useForm } from "react-hook-form"
|
|
157
|
-
import { Button, FormAsyncSelect } from "tembro"
|
|
158
|
-
|
|
159
|
-
|
|
167
|
+
export const formAsyncSelectMock: ComponentDemoMock = {
|
|
168
|
+
code: `import { useForm } from "react-hook-form"
|
|
169
|
+
import { Button, FormAsyncSelect } from "tembro"
|
|
170
|
+
|
|
171
|
+
const workspaceOptions = [
|
|
172
|
+
{ value: "workspace-alpha", label: "Workspace Alpha", description: "Core design system route" },
|
|
173
|
+
{ value: "workspace-beta", label: "Workspace Beta", description: "CRM rollout workspace" },
|
|
174
|
+
]
|
|
175
|
+
|
|
176
|
+
async function loadWorkspaces(search: string) {
|
|
177
|
+
const query = search.trim().toLowerCase()
|
|
178
|
+
return workspaceOptions.filter((option) => !query || option.label.toLowerCase().includes(query))
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
async function loadWorkspace(value: string) {
|
|
182
|
+
return workspaceOptions.find((option) => option.value === value) ?? null
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export function Example() {
|
|
160
186
|
const form = useForm({
|
|
161
187
|
defaultValues: {
|
|
162
188
|
ownerId: "workspace-alpha",
|