@iamsaroj/smart-ui 0.2.0
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/CHANGELOG.md +35 -0
- package/LICENSE +21 -0
- package/README.md +49 -0
- package/dist/calendar-engine/agenda-view.d.ts +8 -0
- package/dist/calendar-engine/agenda-view.d.ts.map +1 -0
- package/dist/calendar-engine/agenda-view.js +26 -0
- package/dist/calendar-engine/agenda-view.js.map +1 -0
- package/dist/calendar-engine/booking.d.ts +13 -0
- package/dist/calendar-engine/booking.d.ts.map +1 -0
- package/dist/calendar-engine/booking.js +45 -0
- package/dist/calendar-engine/booking.js.map +1 -0
- package/dist/calendar-engine/calendar-utils.d.ts +74 -0
- package/dist/calendar-engine/calendar-utils.d.ts.map +1 -0
- package/dist/calendar-engine/calendar-utils.js +221 -0
- package/dist/calendar-engine/calendar-utils.js.map +1 -0
- package/dist/calendar-engine/calendar.d.ts +62 -0
- package/dist/calendar-engine/calendar.d.ts.map +1 -0
- package/dist/calendar-engine/calendar.js +81 -0
- package/dist/calendar-engine/calendar.js.map +1 -0
- package/dist/calendar-engine/event-color.d.ts +20 -0
- package/dist/calendar-engine/event-color.d.ts.map +1 -0
- package/dist/calendar-engine/event-color.js +59 -0
- package/dist/calendar-engine/event-color.js.map +1 -0
- package/dist/calendar-engine/index.d.ts +11 -0
- package/dist/calendar-engine/index.d.ts.map +1 -0
- package/dist/calendar-engine/index.js +6 -0
- package/dist/calendar-engine/index.js.map +1 -0
- package/dist/calendar-engine/month-view.d.ts +10 -0
- package/dist/calendar-engine/month-view.d.ts.map +1 -0
- package/dist/calendar-engine/month-view.js +72 -0
- package/dist/calendar-engine/month-view.js.map +1 -0
- package/dist/calendar-engine/recurrence.d.ts +47 -0
- package/dist/calendar-engine/recurrence.d.ts.map +1 -0
- package/dist/calendar-engine/recurrence.js +209 -0
- package/dist/calendar-engine/recurrence.js.map +1 -0
- package/dist/calendar-engine/shared.d.ts +72 -0
- package/dist/calendar-engine/shared.d.ts.map +1 -0
- package/dist/calendar-engine/shared.js +34 -0
- package/dist/calendar-engine/shared.js.map +1 -0
- package/dist/calendar-engine/time-grid-view.d.ts +13 -0
- package/dist/calendar-engine/time-grid-view.d.ts.map +1 -0
- package/dist/calendar-engine/time-grid-view.js +203 -0
- package/dist/calendar-engine/time-grid-view.js.map +1 -0
- package/dist/calendar-engine/types.d.ts +138 -0
- package/dist/calendar-engine/types.d.ts.map +1 -0
- package/dist/calendar-engine/types.js +2 -0
- package/dist/calendar-engine/types.js.map +1 -0
- package/dist/calendar-engine/use-calendar.d.ts +7 -0
- package/dist/calendar-engine/use-calendar.d.ts.map +1 -0
- package/dist/calendar-engine/use-calendar.js +25 -0
- package/dist/calendar-engine/use-calendar.js.map +1 -0
- package/dist/components/accordion.d.ts +7 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +10 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +19 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert-dialog.js +18 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.d.ts +11 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +20 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/aspect-ratio.d.ts +5 -0
- package/dist/components/aspect-ratio.d.ts.map +1 -0
- package/dist/components/aspect-ratio.js +7 -0
- package/dist/components/aspect-ratio.js.map +1 -0
- package/dist/components/avatar.d.ts +12 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/avatar.js +11 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +8 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +33 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +11 -0
- package/dist/components/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb.js +23 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button.d.ts +9 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +34 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.d.ts +11 -0
- package/dist/components/calendar.d.ts.map +1 -0
- package/dist/components/calendar.js +77 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.d.ts +12 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +11 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.d.ts +29 -0
- package/dist/components/carousel.d.ts.map +1 -0
- package/dist/components/carousel.js +94 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.d.ts +45 -0
- package/dist/components/chart.d.ts.map +1 -0
- package/dist/components/chart.js +133 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.d.ts +4 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +8 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.d.ts +6 -0
- package/dist/components/collapsible.d.ts.map +1 -0
- package/dist/components/collapsible.js +7 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.d.ts +35 -0
- package/dist/components/combobox.d.ts.map +1 -0
- package/dist/components/combobox.js +45 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command.d.ts +20 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/command.js +18 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/context-menu.d.ts +30 -0
- package/dist/components/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu.js +22 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/data-table.d.ts +12 -0
- package/dist/components/data-table.d.ts.map +1 -0
- package/dist/components/data-table.js +44 -0
- package/dist/components/data-table.js.map +1 -0
- package/dist/components/date-picker.d.ts +33 -0
- package/dist/components/date-picker.d.ts.map +1 -0
- package/dist/components/date-picker.js +29 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/dialog.d.ts +18 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +18 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.d.ts +14 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/drawer.js +15 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +30 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu.js +22 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/hover-card.d.ts +6 -0
- package/dist/components/hover-card.d.ts.map +1 -0
- package/dist/components/hover-card.js +8 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/input-group.d.ts +19 -0
- package/dist/components/input-group.d.ts.map +1 -0
- package/dist/components/input-group.js +46 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input-otp.d.ts +12 -0
- package/dist/components/input-otp.d.ts.map +1 -0
- package/dist/components/input-otp.js +16 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.d.ts +4 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +6 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/kbd.d.ts +5 -0
- package/dist/components/kbd.d.ts.map +1 -0
- package/dist/components/kbd.js +6 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/label.d.ts +4 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +5 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/menubar.d.ts +30 -0
- package/dist/components/menubar.d.ts.map +1 -0
- package/dist/components/menubar.js +24 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/navigation-menu.d.ts +12 -0
- package/dist/components/navigation-menu.d.ts.map +1 -0
- package/dist/components/navigation-menu.js +18 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/pagination.d.ts +18 -0
- package/dist/components/pagination.d.ts.map +1 -0
- package/dist/components/pagination.js +13 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.d.ts +10 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +12 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.d.ts +8 -0
- package/dist/components/progress.d.ts.map +1 -0
- package/dist/components/progress.js +10 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.d.ts +6 -0
- package/dist/components/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group.js +9 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/scroll-area.d.ts +5 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/scroll-area.js +8 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +16 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +16 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +4 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/separator.js +6 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.d.ts +15 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +18 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.d.ts +64 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar.js +224 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.d.ts +3 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +5 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +4 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +13 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.d.ts +4 -0
- package/dist/components/sonner.d.ts.map +1 -0
- package/dist/components/sonner.js +25 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/switch.d.ts +6 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +7 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +11 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +12 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +11 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +23 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +4 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +5 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toggle-group.d.ts +11 -0
- package/dist/components/toggle-group.d.ts.map +1 -0
- package/dist/components/toggle-group.js +22 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.d.ts +9 -0
- package/dist/components/toggle.d.ts.map +1 -0
- package/dist/components/toggle.js +25 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.d.ts +7 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +10 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/data-grid/action-column-cell.d.ts +41 -0
- package/dist/data-grid/action-column-cell.d.ts.map +1 -0
- package/dist/data-grid/action-column-cell.js +114 -0
- package/dist/data-grid/action-column-cell.js.map +1 -0
- package/dist/data-grid/action-column.d.ts +144 -0
- package/dist/data-grid/action-column.d.ts.map +1 -0
- package/dist/data-grid/action-column.js +156 -0
- package/dist/data-grid/action-column.js.map +1 -0
- package/dist/data-grid/create-page-fetcher.d.ts +57 -0
- package/dist/data-grid/create-page-fetcher.d.ts.map +1 -0
- package/dist/data-grid/create-page-fetcher.js +41 -0
- package/dist/data-grid/create-page-fetcher.js.map +1 -0
- package/dist/data-grid/data-grid.d.ts +65 -0
- package/dist/data-grid/data-grid.d.ts.map +1 -0
- package/dist/data-grid/data-grid.js +95 -0
- package/dist/data-grid/data-grid.js.map +1 -0
- package/dist/data-grid/empty-state.d.ts +13 -0
- package/dist/data-grid/empty-state.d.ts.map +1 -0
- package/dist/data-grid/empty-state.js +6 -0
- package/dist/data-grid/empty-state.js.map +1 -0
- package/dist/data-grid/formula-guard.d.ts +22 -0
- package/dist/data-grid/formula-guard.d.ts.map +1 -0
- package/dist/data-grid/formula-guard.js +28 -0
- package/dist/data-grid/formula-guard.js.map +1 -0
- package/dist/data-grid/grid-internals.d.ts +16 -0
- package/dist/data-grid/grid-internals.d.ts.map +1 -0
- package/dist/data-grid/grid-internals.js +73 -0
- package/dist/data-grid/grid-internals.js.map +1 -0
- package/dist/data-grid/grid-theme.d.ts +8 -0
- package/dist/data-grid/grid-theme.d.ts.map +1 -0
- package/dist/data-grid/grid-theme.js +23 -0
- package/dist/data-grid/grid-theme.js.map +1 -0
- package/dist/data-grid/grid-toolbar.d.ts +40 -0
- package/dist/data-grid/grid-toolbar.d.ts.map +1 -0
- package/dist/data-grid/grid-toolbar.js +13 -0
- package/dist/data-grid/grid-toolbar.js.map +1 -0
- package/dist/data-grid/index.d.ts +10 -0
- package/dist/data-grid/index.d.ts.map +1 -0
- package/dist/data-grid/index.js +9 -0
- package/dist/data-grid/index.js.map +1 -0
- package/dist/data-grid/pagination.d.ts +146 -0
- package/dist/data-grid/pagination.d.ts.map +1 -0
- package/dist/data-grid/pagination.js +128 -0
- package/dist/data-grid/pagination.js.map +1 -0
- package/dist/data-grid/server-data-grid.d.ts +109 -0
- package/dist/data-grid/server-data-grid.d.ts.map +1 -0
- package/dist/data-grid/server-data-grid.js +240 -0
- package/dist/data-grid/server-data-grid.js.map +1 -0
- package/dist/data-grid/server-grid-internals.d.ts +79 -0
- package/dist/data-grid/server-grid-internals.d.ts.map +1 -0
- package/dist/data-grid/server-grid-internals.js +137 -0
- package/dist/data-grid/server-grid-internals.js.map +1 -0
- package/dist/data-grid/use-action-column.d.ts +22 -0
- package/dist/data-grid/use-action-column.d.ts.map +1 -0
- package/dist/data-grid/use-action-column.js +63 -0
- package/dist/data-grid/use-action-column.js.map +1 -0
- package/dist/data-grid/use-server-grid-selection.d.ts +35 -0
- package/dist/data-grid/use-server-grid-selection.d.ts.map +1 -0
- package/dist/data-grid/use-server-grid-selection.js +81 -0
- package/dist/data-grid/use-server-grid-selection.js.map +1 -0
- package/dist/form-engine/base.d.ts +19 -0
- package/dist/form-engine/base.d.ts.map +1 -0
- package/dist/form-engine/base.js +2 -0
- package/dist/form-engine/base.js.map +1 -0
- package/dist/form-engine/field-registry.d.ts +285 -0
- package/dist/form-engine/field-registry.d.ts.map +1 -0
- package/dist/form-engine/field-registry.js +306 -0
- package/dist/form-engine/field-registry.js.map +1 -0
- package/dist/form-engine/field-types.d.ts +201 -0
- package/dist/form-engine/field-types.d.ts.map +1 -0
- package/dist/form-engine/field-types.js +14 -0
- package/dist/form-engine/field-types.js.map +1 -0
- package/dist/form-engine/index.d.ts +20 -0
- package/dist/form-engine/index.d.ts.map +1 -0
- package/dist/form-engine/index.js +21 -0
- package/dist/form-engine/index.js.map +1 -0
- package/dist/form-engine/smart-checkbox-field.d.ts +5 -0
- package/dist/form-engine/smart-checkbox-field.d.ts.map +1 -0
- package/dist/form-engine/smart-checkbox-field.js +9 -0
- package/dist/form-engine/smart-checkbox-field.js.map +1 -0
- package/dist/form-engine/smart-checkbox-group-field.d.ts +10 -0
- package/dist/form-engine/smart-checkbox-group-field.d.ts.map +1 -0
- package/dist/form-engine/smart-checkbox-group-field.js +5 -0
- package/dist/form-engine/smart-checkbox-group-field.js.map +1 -0
- package/dist/form-engine/smart-combobox-field.d.ts +11 -0
- package/dist/form-engine/smart-combobox-field.d.ts.map +1 -0
- package/dist/form-engine/smart-combobox-field.js +5 -0
- package/dist/form-engine/smart-combobox-field.js.map +1 -0
- package/dist/form-engine/smart-date-field.d.ts +8 -0
- package/dist/form-engine/smart-date-field.d.ts.map +1 -0
- package/dist/form-engine/smart-date-field.js +17 -0
- package/dist/form-engine/smart-date-field.js.map +1 -0
- package/dist/form-engine/smart-date-range-field.d.ts +15 -0
- package/dist/form-engine/smart-date-range-field.d.ts.map +1 -0
- package/dist/form-engine/smart-date-range-field.js +25 -0
- package/dist/form-engine/smart-date-range-field.js.map +1 -0
- package/dist/form-engine/smart-datetime-field.d.ts +12 -0
- package/dist/form-engine/smart-datetime-field.d.ts.map +1 -0
- package/dist/form-engine/smart-datetime-field.js +12 -0
- package/dist/form-engine/smart-datetime-field.js.map +1 -0
- package/dist/form-engine/smart-form-internals.d.ts +14 -0
- package/dist/form-engine/smart-form-internals.d.ts.map +1 -0
- package/dist/form-engine/smart-form-internals.js +64 -0
- package/dist/form-engine/smart-form-internals.js.map +1 -0
- package/dist/form-engine/smart-form.d.ts +55 -0
- package/dist/form-engine/smart-form.d.ts.map +1 -0
- package/dist/form-engine/smart-form.js +229 -0
- package/dist/form-engine/smart-form.js.map +1 -0
- package/dist/form-engine/smart-input-field.d.ts +9 -0
- package/dist/form-engine/smart-input-field.d.ts.map +1 -0
- package/dist/form-engine/smart-input-field.js +5 -0
- package/dist/form-engine/smart-input-field.js.map +1 -0
- package/dist/form-engine/smart-month-field.d.ts +8 -0
- package/dist/form-engine/smart-month-field.d.ts.map +1 -0
- package/dist/form-engine/smart-month-field.js +12 -0
- package/dist/form-engine/smart-month-field.js.map +1 -0
- package/dist/form-engine/smart-multi-select-field.d.ts +11 -0
- package/dist/form-engine/smart-multi-select-field.d.ts.map +1 -0
- package/dist/form-engine/smart-multi-select-field.js +5 -0
- package/dist/form-engine/smart-multi-select-field.js.map +1 -0
- package/dist/form-engine/smart-number-field.d.ts +22 -0
- package/dist/form-engine/smart-number-field.d.ts.map +1 -0
- package/dist/form-engine/smart-number-field.js +115 -0
- package/dist/form-engine/smart-number-field.js.map +1 -0
- package/dist/form-engine/smart-password-field.d.ts +7 -0
- package/dist/form-engine/smart-password-field.d.ts.map +1 -0
- package/dist/form-engine/smart-password-field.js +5 -0
- package/dist/form-engine/smart-password-field.js.map +1 -0
- package/dist/form-engine/smart-radio-group-field.d.ts +10 -0
- package/dist/form-engine/smart-radio-group-field.d.ts.map +1 -0
- package/dist/form-engine/smart-radio-group-field.js +5 -0
- package/dist/form-engine/smart-radio-group-field.js.map +1 -0
- package/dist/form-engine/smart-segmented-field.d.ts +9 -0
- package/dist/form-engine/smart-segmented-field.d.ts.map +1 -0
- package/dist/form-engine/smart-segmented-field.js +5 -0
- package/dist/form-engine/smart-segmented-field.js.map +1 -0
- package/dist/form-engine/smart-select-field.d.ts +10 -0
- package/dist/form-engine/smart-select-field.d.ts.map +1 -0
- package/dist/form-engine/smart-select-field.js +5 -0
- package/dist/form-engine/smart-select-field.js.map +1 -0
- package/dist/form-engine/smart-slug-field.d.ts +12 -0
- package/dist/form-engine/smart-slug-field.d.ts.map +1 -0
- package/dist/form-engine/smart-slug-field.js +14 -0
- package/dist/form-engine/smart-slug-field.js.map +1 -0
- package/dist/form-engine/smart-switch-field.d.ts +5 -0
- package/dist/form-engine/smart-switch-field.d.ts.map +1 -0
- package/dist/form-engine/smart-switch-field.js +9 -0
- package/dist/form-engine/smart-switch-field.js.map +1 -0
- package/dist/form-engine/smart-tel-field.d.ts +7 -0
- package/dist/form-engine/smart-tel-field.d.ts.map +1 -0
- package/dist/form-engine/smart-tel-field.js +6 -0
- package/dist/form-engine/smart-tel-field.js.map +1 -0
- package/dist/form-engine/smart-text-editor-field.d.ts +15 -0
- package/dist/form-engine/smart-text-editor-field.d.ts.map +1 -0
- package/dist/form-engine/smart-text-editor-field.js +5 -0
- package/dist/form-engine/smart-text-editor-field.js.map +1 -0
- package/dist/form-engine/smart-textarea-field.d.ts +8 -0
- package/dist/form-engine/smart-textarea-field.d.ts.map +1 -0
- package/dist/form-engine/smart-textarea-field.js +5 -0
- package/dist/form-engine/smart-textarea-field.js.map +1 -0
- package/dist/form-engine/smart-time-field.d.ts +10 -0
- package/dist/form-engine/smart-time-field.d.ts.map +1 -0
- package/dist/form-engine/smart-time-field.js +5 -0
- package/dist/form-engine/smart-time-field.js.map +1 -0
- package/dist/form-engine/smart-time-range-field.d.ts +13 -0
- package/dist/form-engine/smart-time-range-field.d.ts.map +1 -0
- package/dist/form-engine/smart-time-range-field.js +5 -0
- package/dist/form-engine/smart-time-range-field.js.map +1 -0
- package/dist/form-engine/smart-year-field.d.ts +8 -0
- package/dist/form-engine/smart-year-field.d.ts.map +1 -0
- package/dist/form-engine/smart-year-field.js +5 -0
- package/dist/form-engine/smart-year-field.js.map +1 -0
- package/dist/form-engine/smart-yesno-field.d.ts +12 -0
- package/dist/form-engine/smart-yesno-field.d.ts.map +1 -0
- package/dist/form-engine/smart-yesno-field.js +14 -0
- package/dist/form-engine/smart-yesno-field.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +17 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/lexical-text-editor/SmartTextEditor.d.ts +61 -0
- package/dist/lexical-text-editor/SmartTextEditor.d.ts.map +1 -0
- package/dist/lexical-text-editor/SmartTextEditor.js +145 -0
- package/dist/lexical-text-editor/SmartTextEditor.js.map +1 -0
- package/dist/lexical-text-editor/editor-nodes.d.ts +3 -0
- package/dist/lexical-text-editor/editor-nodes.d.ts.map +1 -0
- package/dist/lexical-text-editor/editor-nodes.js +25 -0
- package/dist/lexical-text-editor/editor-nodes.js.map +1 -0
- package/dist/lexical-text-editor/editor-theme.d.ts +3 -0
- package/dist/lexical-text-editor/editor-theme.d.ts.map +1 -0
- package/dist/lexical-text-editor/editor-theme.js +78 -0
- package/dist/lexical-text-editor/editor-theme.js.map +1 -0
- package/dist/lexical-text-editor/index.d.ts +8 -0
- package/dist/lexical-text-editor/index.d.ts.map +1 -0
- package/dist/lexical-text-editor/index.js +6 -0
- package/dist/lexical-text-editor/index.js.map +1 -0
- package/dist/lexical-text-editor/nodes/image-node.d.ts +41 -0
- package/dist/lexical-text-editor/nodes/image-node.d.ts.map +1 -0
- package/dist/lexical-text-editor/nodes/image-node.js +89 -0
- package/dist/lexical-text-editor/nodes/image-node.js.map +1 -0
- package/dist/lexical-text-editor/nodes/page-break-node.d.ts +25 -0
- package/dist/lexical-text-editor/nodes/page-break-node.d.ts.map +1 -0
- package/dist/lexical-text-editor/nodes/page-break-node.js +84 -0
- package/dist/lexical-text-editor/nodes/page-break-node.js.map +1 -0
- package/dist/lexical-text-editor/plugins/auto-link-plugin.d.ts +3 -0
- package/dist/lexical-text-editor/plugins/auto-link-plugin.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/auto-link-plugin.js +12 -0
- package/dist/lexical-text-editor/plugins/auto-link-plugin.js.map +1 -0
- package/dist/lexical-text-editor/plugins/code-highlight-plugin.d.ts +6 -0
- package/dist/lexical-text-editor/plugins/code-highlight-plugin.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/code-highlight-plugin.js +14 -0
- package/dist/lexical-text-editor/plugins/code-highlight-plugin.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/align-menu.d.ts +7 -0
- package/dist/lexical-text-editor/plugins/toolbar/align-menu.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/align-menu.js +8 -0
- package/dist/lexical-text-editor/plugins/toolbar/align-menu.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/block-format-menu.d.ts +20 -0
- package/dist/lexical-text-editor/plugins/toolbar/block-format-menu.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/block-format-menu.js +78 -0
- package/dist/lexical-text-editor/plugins/toolbar/block-format-menu.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/constants.d.ts +36 -0
- package/dist/lexical-text-editor/plugins/toolbar/constants.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/constants.js +67 -0
- package/dist/lexical-text-editor/plugins/toolbar/constants.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/inline-marks.d.ts +14 -0
- package/dist/lexical-text-editor/plugins/toolbar/inline-marks.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/inline-marks.js +129 -0
- package/dist/lexical-text-editor/plugins/toolbar/inline-marks.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/insert-menu.d.ts +8 -0
- package/dist/lexical-text-editor/plugins/toolbar/insert-menu.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/insert-menu.js +87 -0
- package/dist/lexical-text-editor/plugins/toolbar/insert-menu.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/link-editor.d.ts +11 -0
- package/dist/lexical-text-editor/plugins/toolbar/link-editor.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/link-editor.js +51 -0
- package/dist/lexical-text-editor/plugins/toolbar/link-editor.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/primitives.d.ts +39 -0
- package/dist/lexical-text-editor/plugins/toolbar/primitives.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/primitives.js +47 -0
- package/dist/lexical-text-editor/plugins/toolbar/primitives.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-insert-commands.d.ts +9 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-insert-commands.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-insert-commands.js +29 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-insert-commands.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-toolbar-state.d.ts +30 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-toolbar-state.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-toolbar-state.js +128 -0
- package/dist/lexical-text-editor/plugins/toolbar/use-toolbar-state.js.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar-plugin.d.ts +8 -0
- package/dist/lexical-text-editor/plugins/toolbar-plugin.d.ts.map +1 -0
- package/dist/lexical-text-editor/plugins/toolbar-plugin.js +51 -0
- package/dist/lexical-text-editor/plugins/toolbar-plugin.js.map +1 -0
- package/dist/lexical-text-editor/sanitize.d.ts +24 -0
- package/dist/lexical-text-editor/sanitize.d.ts.map +1 -0
- package/dist/lexical-text-editor/sanitize.js +140 -0
- package/dist/lexical-text-editor/sanitize.js.map +1 -0
- package/dist/lib/format.d.ts +17 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +40 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/leading-space.d.ts +28 -0
- package/dist/lib/leading-space.d.ts.map +1 -0
- package/dist/lib/leading-space.js +34 -0
- package/dist/lib/leading-space.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +4 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/xlsx.d.ts +80 -0
- package/dist/lib/xlsx.d.ts.map +1 -0
- package/dist/lib/xlsx.js +377 -0
- package/dist/lib/xlsx.js.map +1 -0
- package/dist/search-engine/build-query.d.ts +29 -0
- package/dist/search-engine/build-query.d.ts.map +1 -0
- package/dist/search-engine/build-query.js +51 -0
- package/dist/search-engine/build-query.js.map +1 -0
- package/dist/search-engine/index.d.ts +15 -0
- package/dist/search-engine/index.d.ts.map +1 -0
- package/dist/search-engine/index.js +13 -0
- package/dist/search-engine/index.js.map +1 -0
- package/dist/search-engine/smart-search-form.d.ts +92 -0
- package/dist/search-engine/smart-search-form.d.ts.map +1 -0
- package/dist/search-engine/smart-search-form.js +136 -0
- package/dist/search-engine/smart-search-form.js.map +1 -0
- package/dist/search-engine/types.d.ts +40 -0
- package/dist/search-engine/types.d.ts.map +1 -0
- package/dist/search-engine/types.js +11 -0
- package/dist/search-engine/types.js.map +1 -0
- package/dist/smart-components/buttons/action-button.d.ts +66 -0
- package/dist/smart-components/buttons/action-button.d.ts.map +1 -0
- package/dist/smart-components/buttons/action-button.js +79 -0
- package/dist/smart-components/buttons/action-button.js.map +1 -0
- package/dist/smart-components/buttons/action-buttons.d.ts +122 -0
- package/dist/smart-components/buttons/action-buttons.d.ts.map +1 -0
- package/dist/smart-components/buttons/action-buttons.js +42 -0
- package/dist/smart-components/buttons/action-buttons.js.map +1 -0
- package/dist/smart-components/buttons/action-config.d.ts +181 -0
- package/dist/smart-components/buttons/action-config.d.ts.map +1 -0
- package/dist/smart-components/buttons/action-config.js +128 -0
- package/dist/smart-components/buttons/action-config.js.map +1 -0
- package/dist/smart-components/buttons/index.d.ts +4 -0
- package/dist/smart-components/buttons/index.d.ts.map +1 -0
- package/dist/smart-components/buttons/index.js +7 -0
- package/dist/smart-components/buttons/index.js.map +1 -0
- package/dist/smart-components/loading-overlay.d.ts +16 -0
- package/dist/smart-components/loading-overlay.d.ts.map +1 -0
- package/dist/smart-components/loading-overlay.js +13 -0
- package/dist/smart-components/loading-overlay.js.map +1 -0
- package/dist/smart-components/page/index.d.ts +19 -0
- package/dist/smart-components/page/index.d.ts.map +1 -0
- package/dist/smart-components/page/index.js +33 -0
- package/dist/smart-components/page/index.js.map +1 -0
- package/dist/smart-components/page/layouts/page-states.d.ts +17 -0
- package/dist/smart-components/page/layouts/page-states.d.ts.map +1 -0
- package/dist/smart-components/page/layouts/page-states.js +12 -0
- package/dist/smart-components/page/layouts/page-states.js.map +1 -0
- package/dist/smart-components/page/layouts/slot-buckets.d.ts +21 -0
- package/dist/smart-components/page/layouts/slot-buckets.d.ts.map +1 -0
- package/dist/smart-components/page/layouts/slot-buckets.js +2 -0
- package/dist/smart-components/page/layouts/slot-buckets.js.map +1 -0
- package/dist/smart-components/page/layouts/split-layout.d.ts +13 -0
- package/dist/smart-components/page/layouts/split-layout.d.ts.map +1 -0
- package/dist/smart-components/page/layouts/split-layout.js +14 -0
- package/dist/smart-components/page/layouts/split-layout.js.map +1 -0
- package/dist/smart-components/page/layouts/standard-layout.d.ts +18 -0
- package/dist/smart-components/page/layouts/standard-layout.d.ts.map +1 -0
- package/dist/smart-components/page/layouts/standard-layout.js +61 -0
- package/dist/smart-components/page/layouts/standard-layout.js.map +1 -0
- package/dist/smart-components/page/page-context.d.ts +51 -0
- package/dist/smart-components/page/page-context.d.ts.map +1 -0
- package/dist/smart-components/page/page-context.js +21 -0
- package/dist/smart-components/page/page-context.js.map +1 -0
- package/dist/smart-components/page/slot.d.ts +19 -0
- package/dist/smart-components/page/slot.d.ts.map +1 -0
- package/dist/smart-components/page/slot.js +18 -0
- package/dist/smart-components/page/slot.js.map +1 -0
- package/dist/smart-components/page/smart-grid-area.d.ts +75 -0
- package/dist/smart-components/page/smart-grid-area.d.ts.map +1 -0
- package/dist/smart-components/page/smart-grid-area.js +61 -0
- package/dist/smart-components/page/smart-grid-area.js.map +1 -0
- package/dist/smart-components/page/smart-page-container.d.ts +66 -0
- package/dist/smart-components/page/smart-page-container.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-container.js +93 -0
- package/dist/smart-components/page/smart-page-container.js.map +1 -0
- package/dist/smart-components/page/smart-page-content.d.ts +70 -0
- package/dist/smart-components/page/smart-page-content.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-content.js +78 -0
- package/dist/smart-components/page/smart-page-content.js.map +1 -0
- package/dist/smart-components/page/smart-page-empty.d.ts +47 -0
- package/dist/smart-components/page/smart-page-empty.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-empty.js +37 -0
- package/dist/smart-components/page/smart-page-empty.js.map +1 -0
- package/dist/smart-components/page/smart-page-error.d.ts +59 -0
- package/dist/smart-components/page/smart-page-error.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-error.js +45 -0
- package/dist/smart-components/page/smart-page-error.js.map +1 -0
- package/dist/smart-components/page/smart-page-filters.d.ts +38 -0
- package/dist/smart-components/page/smart-page-filters.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-filters.js +33 -0
- package/dist/smart-components/page/smart-page-filters.js.map +1 -0
- package/dist/smart-components/page/smart-page-footer.d.ts +49 -0
- package/dist/smart-components/page/smart-page-footer.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-footer.js +49 -0
- package/dist/smart-components/page/smart-page-footer.js.map +1 -0
- package/dist/smart-components/page/smart-page-header.d.ts +145 -0
- package/dist/smart-components/page/smart-page-header.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-header.js +129 -0
- package/dist/smart-components/page/smart-page-header.js.map +1 -0
- package/dist/smart-components/page/smart-page-hero.d.ts +43 -0
- package/dist/smart-components/page/smart-page-hero.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-hero.js +42 -0
- package/dist/smart-components/page/smart-page-hero.js.map +1 -0
- package/dist/smart-components/page/smart-page-loading.d.ts +31 -0
- package/dist/smart-components/page/smart-page-loading.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-loading.js +29 -0
- package/dist/smart-components/page/smart-page-loading.js.map +1 -0
- package/dist/smart-components/page/smart-page-search.d.ts +39 -0
- package/dist/smart-components/page/smart-page-search.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-search.js +38 -0
- package/dist/smart-components/page/smart-page-search.js.map +1 -0
- package/dist/smart-components/page/smart-page-section.d.ts +55 -0
- package/dist/smart-components/page/smart-page-section.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-section.js +41 -0
- package/dist/smart-components/page/smart-page-section.js.map +1 -0
- package/dist/smart-components/page/smart-page-status-bar.d.ts +34 -0
- package/dist/smart-components/page/smart-page-status-bar.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-status-bar.js +33 -0
- package/dist/smart-components/page/smart-page-status-bar.js.map +1 -0
- package/dist/smart-components/page/smart-page-tabs.d.ts +93 -0
- package/dist/smart-components/page/smart-page-tabs.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page-tabs.js +87 -0
- package/dist/smart-components/page/smart-page-tabs.js.map +1 -0
- package/dist/smart-components/page/smart-page.d.ts +141 -0
- package/dist/smart-components/page/smart-page.d.ts.map +1 -0
- package/dist/smart-components/page/smart-page.js +295 -0
- package/dist/smart-components/page/smart-page.js.map +1 -0
- package/dist/smart-components/page/smart-sidebar.d.ts +70 -0
- package/dist/smart-components/page/smart-sidebar.d.ts.map +1 -0
- package/dist/smart-components/page/smart-sidebar.js +54 -0
- package/dist/smart-components/page/smart-sidebar.js.map +1 -0
- package/dist/smart-components/page/smart-toolbar.d.ts +40 -0
- package/dist/smart-components/page/smart-toolbar.d.ts.map +1 -0
- package/dist/smart-components/page/smart-toolbar.js +39 -0
- package/dist/smart-components/page/smart-toolbar.js.map +1 -0
- package/dist/smart-components/search-input.d.ts +20 -0
- package/dist/smart-components/search-input.d.ts.map +1 -0
- package/dist/smart-components/search-input.js +12 -0
- package/dist/smart-components/search-input.js.map +1 -0
- package/dist/smart-components/smart-accordion.d.ts +53 -0
- package/dist/smart-components/smart-accordion.d.ts.map +1 -0
- package/dist/smart-components/smart-accordion.js +33 -0
- package/dist/smart-components/smart-accordion.js.map +1 -0
- package/dist/smart-components/smart-alert.d.ts +44 -0
- package/dist/smart-components/smart-alert.d.ts.map +1 -0
- package/dist/smart-components/smart-alert.js +27 -0
- package/dist/smart-components/smart-alert.js.map +1 -0
- package/dist/smart-components/smart-avatar.d.ts +3 -0
- package/dist/smart-components/smart-avatar.d.ts.map +1 -0
- package/dist/smart-components/smart-avatar.js +4 -0
- package/dist/smart-components/smart-avatar.js.map +1 -0
- package/dist/smart-components/smart-badge.d.ts +28 -0
- package/dist/smart-components/smart-badge.d.ts.map +1 -0
- package/dist/smart-components/smart-badge.js +24 -0
- package/dist/smart-components/smart-badge.js.map +1 -0
- package/dist/smart-components/smart-breadcrumb.d.ts +43 -0
- package/dist/smart-components/smart-breadcrumb.d.ts.map +1 -0
- package/dist/smart-components/smart-breadcrumb.js +37 -0
- package/dist/smart-components/smart-breadcrumb.js.map +1 -0
- package/dist/smart-components/smart-button.d.ts +22 -0
- package/dist/smart-components/smart-button.d.ts.map +1 -0
- package/dist/smart-components/smart-button.js +15 -0
- package/dist/smart-components/smart-button.js.map +1 -0
- package/dist/smart-components/smart-calendar.d.ts +78 -0
- package/dist/smart-components/smart-calendar.d.ts.map +1 -0
- package/dist/smart-components/smart-calendar.js +45 -0
- package/dist/smart-components/smart-calendar.js.map +1 -0
- package/dist/smart-components/smart-card.d.ts +55 -0
- package/dist/smart-components/smart-card.d.ts.map +1 -0
- package/dist/smart-components/smart-card.js +37 -0
- package/dist/smart-components/smart-card.js.map +1 -0
- package/dist/smart-components/smart-checkbox-group.d.ts +48 -0
- package/dist/smart-components/smart-checkbox-group.d.ts.map +1 -0
- package/dist/smart-components/smart-checkbox-group.js +48 -0
- package/dist/smart-components/smart-checkbox-group.js.map +1 -0
- package/dist/smart-components/smart-checkbox.d.ts +34 -0
- package/dist/smart-components/smart-checkbox.d.ts.map +1 -0
- package/dist/smart-components/smart-checkbox.js +34 -0
- package/dist/smart-components/smart-checkbox.js.map +1 -0
- package/dist/smart-components/smart-combobox.d.ts +36 -0
- package/dist/smart-components/smart-combobox.d.ts.map +1 -0
- package/dist/smart-components/smart-combobox.js +32 -0
- package/dist/smart-components/smart-combobox.js.map +1 -0
- package/dist/smart-components/smart-confirm-dialog.d.ts +63 -0
- package/dist/smart-components/smart-confirm-dialog.d.ts.map +1 -0
- package/dist/smart-components/smart-confirm-dialog.js +45 -0
- package/dist/smart-components/smart-confirm-dialog.js.map +1 -0
- package/dist/smart-components/smart-context-menu.d.ts +58 -0
- package/dist/smart-components/smart-context-menu.d.ts.map +1 -0
- package/dist/smart-components/smart-context-menu.js +38 -0
- package/dist/smart-components/smart-context-menu.js.map +1 -0
- package/dist/smart-components/smart-date-picker.d.ts +99 -0
- package/dist/smart-components/smart-date-picker.d.ts.map +1 -0
- package/dist/smart-components/smart-date-picker.js +78 -0
- package/dist/smart-components/smart-date-picker.js.map +1 -0
- package/dist/smart-components/smart-date-range-picker.d.ts +37 -0
- package/dist/smart-components/smart-date-range-picker.d.ts.map +1 -0
- package/dist/smart-components/smart-date-range-picker.js +38 -0
- package/dist/smart-components/smart-date-range-picker.js.map +1 -0
- package/dist/smart-components/smart-dialog.d.ts +75 -0
- package/dist/smart-components/smart-dialog.d.ts.map +1 -0
- package/dist/smart-components/smart-dialog.js +61 -0
- package/dist/smart-components/smart-dialog.js.map +1 -0
- package/dist/smart-components/smart-drawer.d.ts +48 -0
- package/dist/smart-components/smart-drawer.d.ts.map +1 -0
- package/dist/smart-components/smart-drawer.js +32 -0
- package/dist/smart-components/smart-drawer.js.map +1 -0
- package/dist/smart-components/smart-field.d.ts +47 -0
- package/dist/smart-components/smart-field.d.ts.map +1 -0
- package/dist/smart-components/smart-field.js +44 -0
- package/dist/smart-components/smart-field.js.map +1 -0
- package/dist/smart-components/smart-input-group.d.ts +60 -0
- package/dist/smart-components/smart-input-group.d.ts.map +1 -0
- package/dist/smart-components/smart-input-group.js +40 -0
- package/dist/smart-components/smart-input-group.js.map +1 -0
- package/dist/smart-components/smart-input.d.ts +46 -0
- package/dist/smart-components/smart-input.d.ts.map +1 -0
- package/dist/smart-components/smart-input.js +36 -0
- package/dist/smart-components/smart-input.js.map +1 -0
- package/dist/smart-components/smart-label.d.ts +22 -0
- package/dist/smart-components/smart-label.d.ts.map +1 -0
- package/dist/smart-components/smart-label.js +17 -0
- package/dist/smart-components/smart-label.js.map +1 -0
- package/dist/smart-components/smart-month-picker.d.ts +30 -0
- package/dist/smart-components/smart-month-picker.d.ts.map +1 -0
- package/dist/smart-components/smart-month-picker.js +53 -0
- package/dist/smart-components/smart-month-picker.js.map +1 -0
- package/dist/smart-components/smart-multi-select.d.ts +38 -0
- package/dist/smart-components/smart-multi-select.d.ts.map +1 -0
- package/dist/smart-components/smart-multi-select.js +56 -0
- package/dist/smart-components/smart-multi-select.js.map +1 -0
- package/dist/smart-components/smart-native-select.d.ts +45 -0
- package/dist/smart-components/smart-native-select.d.ts.map +1 -0
- package/dist/smart-components/smart-native-select.js +33 -0
- package/dist/smart-components/smart-native-select.js.map +1 -0
- package/dist/smart-components/smart-nav-sidebar.d.ts +47 -0
- package/dist/smart-components/smart-nav-sidebar.d.ts.map +1 -0
- package/dist/smart-components/smart-nav-sidebar.js +37 -0
- package/dist/smart-components/smart-nav-sidebar.js.map +1 -0
- package/dist/smart-components/smart-password-input.d.ts +31 -0
- package/dist/smart-components/smart-password-input.d.ts.map +1 -0
- package/dist/smart-components/smart-password-input.js +30 -0
- package/dist/smart-components/smart-password-input.js.map +1 -0
- package/dist/smart-components/smart-radio-group.d.ts +58 -0
- package/dist/smart-components/smart-radio-group.d.ts.map +1 -0
- package/dist/smart-components/smart-radio-group.js +49 -0
- package/dist/smart-components/smart-radio-group.js.map +1 -0
- package/dist/smart-components/smart-segmented.d.ts +33 -0
- package/dist/smart-components/smart-segmented.d.ts.map +1 -0
- package/dist/smart-components/smart-segmented.js +25 -0
- package/dist/smart-components/smart-segmented.js.map +1 -0
- package/dist/smart-components/smart-select.d.ts +71 -0
- package/dist/smart-components/smart-select.d.ts.map +1 -0
- package/dist/smart-components/smart-select.js +44 -0
- package/dist/smart-components/smart-select.js.map +1 -0
- package/dist/smart-components/smart-separator.d.ts +3 -0
- package/dist/smart-components/smart-separator.d.ts.map +1 -0
- package/dist/smart-components/smart-separator.js +4 -0
- package/dist/smart-components/smart-separator.js.map +1 -0
- package/dist/smart-components/smart-sheet.d.ts +79 -0
- package/dist/smart-components/smart-sheet.d.ts.map +1 -0
- package/dist/smart-components/smart-sheet.js +47 -0
- package/dist/smart-components/smart-sheet.js.map +1 -0
- package/dist/smart-components/smart-stat-card.d.ts +47 -0
- package/dist/smart-components/smart-stat-card.d.ts.map +1 -0
- package/dist/smart-components/smart-stat-card.js +35 -0
- package/dist/smart-components/smart-stat-card.js.map +1 -0
- package/dist/smart-components/smart-stepper.d.ts +24 -0
- package/dist/smart-components/smart-stepper.d.ts.map +1 -0
- package/dist/smart-components/smart-stepper.js +24 -0
- package/dist/smart-components/smart-stepper.js.map +1 -0
- package/dist/smart-components/smart-switch.d.ts +34 -0
- package/dist/smart-components/smart-switch.d.ts.map +1 -0
- package/dist/smart-components/smart-switch.js +34 -0
- package/dist/smart-components/smart-switch.js.map +1 -0
- package/dist/smart-components/smart-textarea.d.ts +38 -0
- package/dist/smart-components/smart-textarea.d.ts.map +1 -0
- package/dist/smart-components/smart-textarea.js +28 -0
- package/dist/smart-components/smart-textarea.js.map +1 -0
- package/dist/smart-components/smart-time-picker.d.ts +59 -0
- package/dist/smart-components/smart-time-picker.d.ts.map +1 -0
- package/dist/smart-components/smart-time-picker.js +129 -0
- package/dist/smart-components/smart-time-picker.js.map +1 -0
- package/dist/smart-components/smart-time-range-picker.d.ts +39 -0
- package/dist/smart-components/smart-time-range-picker.d.ts.map +1 -0
- package/dist/smart-components/smart-time-range-picker.js +26 -0
- package/dist/smart-components/smart-time-range-picker.js.map +1 -0
- package/dist/smart-components/smart-toaster.d.ts +10 -0
- package/dist/smart-components/smart-toaster.d.ts.map +1 -0
- package/dist/smart-components/smart-toaster.js +21 -0
- package/dist/smart-components/smart-toaster.js.map +1 -0
- package/dist/smart-components/smart-year-picker.d.ts +29 -0
- package/dist/smart-components/smart-year-picker.d.ts.map +1 -0
- package/dist/smart-components/smart-year-picker.js +43 -0
- package/dist/smart-components/smart-year-picker.js.map +1 -0
- package/dist/smart-components/spinner.d.ts +10 -0
- package/dist/smart-components/spinner.d.ts.map +1 -0
- package/dist/smart-components/spinner.js +5 -0
- package/dist/smart-components/spinner.js.map +1 -0
- package/dist/transfer-list-engine/index.d.ts +5 -0
- package/dist/transfer-list-engine/index.d.ts.map +1 -0
- package/dist/transfer-list-engine/index.js +3 -0
- package/dist/transfer-list-engine/index.js.map +1 -0
- package/dist/transfer-list-engine/transfer-list.d.ts +53 -0
- package/dist/transfer-list-engine/transfer-list.d.ts.map +1 -0
- package/dist/transfer-list-engine/transfer-list.js +190 -0
- package/dist/transfer-list-engine/transfer-list.js.map +1 -0
- package/dist/transfer-list-engine/transfer-utils.d.ts +30 -0
- package/dist/transfer-list-engine/transfer-utils.d.ts.map +1 -0
- package/dist/transfer-list-engine/transfer-utils.js +69 -0
- package/dist/transfer-list-engine/transfer-utils.js.map +1 -0
- package/dist/transfer-list-engine/types.d.ts +51 -0
- package/dist/transfer-list-engine/types.d.ts.map +1 -0
- package/dist/transfer-list-engine/types.js +2 -0
- package/dist/transfer-list-engine/types.js.map +1 -0
- package/dist/tree-engine/index.d.ts +6 -0
- package/dist/tree-engine/index.d.ts.map +1 -0
- package/dist/tree-engine/index.js +3 -0
- package/dist/tree-engine/index.js.map +1 -0
- package/dist/tree-engine/tree-utils.d.ts +84 -0
- package/dist/tree-engine/tree-utils.d.ts.map +1 -0
- package/dist/tree-engine/tree-utils.js +271 -0
- package/dist/tree-engine/tree-utils.js.map +1 -0
- package/dist/tree-engine/tree.d.ts +98 -0
- package/dist/tree-engine/tree.d.ts.map +1 -0
- package/dist/tree-engine/tree.js +430 -0
- package/dist/tree-engine/tree.js.map +1 -0
- package/dist/tree-engine/types.d.ts +85 -0
- package/dist/tree-engine/types.d.ts.map +1 -0
- package/dist/tree-engine/types.js +2 -0
- package/dist/tree-engine/types.js.map +1 -0
- package/dist/tree-engine/use-tree.d.ts +12 -0
- package/dist/tree-engine/use-tree.d.ts.map +1 -0
- package/dist/tree-engine/use-tree.js +34 -0
- package/dist/tree-engine/use-tree.js.map +1 -0
- package/package.json +158 -0
- package/src/styles/globals.css +161 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import type { FieldDefinition } from "./field-types";
|
|
4
|
+
import { type FieldRegistry } from "./field-registry";
|
|
5
|
+
export interface SmartFormProps<T extends Record<string, unknown>> {
|
|
6
|
+
/** Zod schema — the single source of truth for validation *and* required-ness. */
|
|
7
|
+
schema: z.ZodType<T>;
|
|
8
|
+
/** Controlled form data. Seeds the form on mount and stays mirrored to edits. */
|
|
9
|
+
data?: T;
|
|
10
|
+
/** Kept in sync with every edit — no manual per-field wiring required. */
|
|
11
|
+
setData?: (data: T) => void;
|
|
12
|
+
fields: FieldDefinition<T>[];
|
|
13
|
+
/** Number of grid columns. Default `1`. */
|
|
14
|
+
columns?: 1 | 2 | 3 | 4;
|
|
15
|
+
/** Called with the parsed, validated values on a successful submit. */
|
|
16
|
+
onSubmit?: (data: T) => void | Promise<void>;
|
|
17
|
+
/** `id` on the `<form>`, so a submit button placed outside can drive it via `form={id}`. */
|
|
18
|
+
id?: string;
|
|
19
|
+
/** Label for the submit button. Pass `null` to suppress and use `children` instead. */
|
|
20
|
+
submitLabel?: React.ReactNode | null;
|
|
21
|
+
/** Label for an optional reset button (resets to the initial `data`). */
|
|
22
|
+
resetLabel?: string;
|
|
23
|
+
/** Rendered inside the form after the field grid (replaces default button row when provided). */
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
className?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Custom field registry, merged over the built-in one. Use {@link registerField}
|
|
28
|
+
* to add or override field types without forking the engine.
|
|
29
|
+
*/
|
|
30
|
+
registry?: FieldRegistry;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Declarative form engine on **TanStack Form + Zod**: supply a Zod schema and a
|
|
34
|
+
* field definition array — the engine renders the right control for each field,
|
|
35
|
+
* validates against the schema (live, per-field), and surfaces errors inline.
|
|
36
|
+
*
|
|
37
|
+
* The schema is the single source of truth: validation *and* the required
|
|
38
|
+
* asterisk are both derived from it, so field definitions stay UI-only. Pass
|
|
39
|
+
* `data`/`setData` to mirror the live values into your own state (e.g. a preview
|
|
40
|
+
* panel or async load); both are optional — the form owns its state either way.
|
|
41
|
+
*
|
|
42
|
+
* ```tsx
|
|
43
|
+
* const schema = z.object({ name: z.string().min(1), email: z.email().optional() })
|
|
44
|
+
* type Form = z.infer<typeof schema>
|
|
45
|
+
*
|
|
46
|
+
* const fields: FieldDefinition<Form>[] = [
|
|
47
|
+
* { name: "name", type: "text", label: "Name" },
|
|
48
|
+
* { name: "email", type: "email", label: "Email" },
|
|
49
|
+
* ]
|
|
50
|
+
*
|
|
51
|
+
* <SmartForm schema={schema} fields={fields} onSubmit={(value) => save(value)} />
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare const SmartForm: <T extends Record<string, unknown>>({ schema, data, setData, fields, columns, onSubmit, id, submitLabel, resetLabel, children, className, registry: registryProp, }: SmartFormProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
//# sourceMappingURL=smart-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-form.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,eAAe,CAAA;AAC7E,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AAgBzB,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,kFAAkF;IAClF,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,4FAA4F;IAC5F,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,uFAAuF;IACvF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;IACpC,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iIAa1D,cAAc,CAAC,CAAC,CAAC,4CAkOnB,CAAA"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { useForm } from "@tanstack/react-form";
|
|
6
|
+
import { cn } from "@iamsaroj/smart-ui/lib/utils";
|
|
7
|
+
import { Button } from "@iamsaroj/smart-ui/components/button";
|
|
8
|
+
import { deepEqual, isFieldRequired } from "./smart-form-internals";
|
|
9
|
+
import { defaultFieldRegistry, } from "./field-registry";
|
|
10
|
+
import { useSelector } from "@tanstack/react-store";
|
|
11
|
+
const COLS = {
|
|
12
|
+
1: "grid-cols-1",
|
|
13
|
+
2: "grid-cols-2",
|
|
14
|
+
3: "grid-cols-3",
|
|
15
|
+
4: "grid-cols-4",
|
|
16
|
+
};
|
|
17
|
+
const SPAN = {
|
|
18
|
+
1: "col-span-1",
|
|
19
|
+
2: "col-span-2",
|
|
20
|
+
3: "col-span-3",
|
|
21
|
+
4: "col-span-4",
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Declarative form engine on **TanStack Form + Zod**: supply a Zod schema and a
|
|
25
|
+
* field definition array — the engine renders the right control for each field,
|
|
26
|
+
* validates against the schema (live, per-field), and surfaces errors inline.
|
|
27
|
+
*
|
|
28
|
+
* The schema is the single source of truth: validation *and* the required
|
|
29
|
+
* asterisk are both derived from it, so field definitions stay UI-only. Pass
|
|
30
|
+
* `data`/`setData` to mirror the live values into your own state (e.g. a preview
|
|
31
|
+
* panel or async load); both are optional — the form owns its state either way.
|
|
32
|
+
*
|
|
33
|
+
* ```tsx
|
|
34
|
+
* const schema = z.object({ name: z.string().min(1), email: z.email().optional() })
|
|
35
|
+
* type Form = z.infer<typeof schema>
|
|
36
|
+
*
|
|
37
|
+
* const fields: FieldDefinition<Form>[] = [
|
|
38
|
+
* { name: "name", type: "text", label: "Name" },
|
|
39
|
+
* { name: "email", type: "email", label: "Email" },
|
|
40
|
+
* ]
|
|
41
|
+
*
|
|
42
|
+
* <SmartForm schema={schema} fields={fields} onSubmit={(value) => save(value)} />
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export const SmartForm = ({ schema, data, setData, fields, columns = 1, onSubmit, id, submitLabel = "Submit", resetLabel, children, className, registry: registryProp, }) => {
|
|
46
|
+
// Resolved once per form: custom entries merged over the built-in registry.
|
|
47
|
+
const registry = React.useMemo(() => registryProp
|
|
48
|
+
? { ...defaultFieldRegistry, ...registryProp }
|
|
49
|
+
: defaultFieldRegistry, [registryProp]);
|
|
50
|
+
// The empty value a field starts at when `data` omits it — sourced from the
|
|
51
|
+
// registry entry so custom field types bring their own default.
|
|
52
|
+
const defaultForField = React.useCallback((field) => registry[field.type]?.defaultValue, [registry]);
|
|
53
|
+
// Mount-time defaults: field-type blanks, overridden by any provided `data`.
|
|
54
|
+
const defaultValues = React.useMemo(() => {
|
|
55
|
+
const base = {};
|
|
56
|
+
for (const field of fields)
|
|
57
|
+
base[field.name] = defaultForField(field);
|
|
58
|
+
return { ...base, ...data };
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
}, []);
|
|
61
|
+
// The current form baseline. Kept in sync with `form.reset` in the reconcile
|
|
62
|
+
// effect so it matches the `defaultValues` TanStack re-applies on every render
|
|
63
|
+
// (`useForm` calls `form.update(opts)` each render): if they diverged, that
|
|
64
|
+
// update would revert an adopted external value straight back to the stale
|
|
65
|
+
// mount baseline.
|
|
66
|
+
const [baseline, setBaseline] = React.useState(defaultValues);
|
|
67
|
+
// Fields the schema treats as optional (and that aren't forced required in the
|
|
68
|
+
// definition). For these, an empty string means "not provided", so it should
|
|
69
|
+
// pass rather than fail — e.g. `z.email().optional()` shouldn't flag a blank.
|
|
70
|
+
const optionalKeys = React.useMemo(() => {
|
|
71
|
+
const set = new Set();
|
|
72
|
+
for (const field of fields) {
|
|
73
|
+
if (field.required)
|
|
74
|
+
continue;
|
|
75
|
+
if (!isFieldRequired(schema, field.name))
|
|
76
|
+
set.add(field.name);
|
|
77
|
+
}
|
|
78
|
+
return set;
|
|
79
|
+
}, [schema, fields]);
|
|
80
|
+
// Normalize empty optional strings to `undefined` before validation so an
|
|
81
|
+
// optional field only validates once the user actually types something.
|
|
82
|
+
// Required fields keep their empty string, so their own messages still fire.
|
|
83
|
+
const validationSchema = React.useMemo(() => z.preprocess((raw) => {
|
|
84
|
+
if (raw == null || typeof raw !== "object")
|
|
85
|
+
return raw;
|
|
86
|
+
const out = { ...raw };
|
|
87
|
+
for (const key of optionalKeys)
|
|
88
|
+
if (out[key] === "")
|
|
89
|
+
out[key] = undefined;
|
|
90
|
+
return out;
|
|
91
|
+
}, schema), [schema, optionalKeys]);
|
|
92
|
+
const form = useForm({
|
|
93
|
+
defaultValues: baseline,
|
|
94
|
+
// Zod v4 schemas are Standard Schemas; TanStack types the validator input as
|
|
95
|
+
// `T` while Zod reports `unknown`. Runtime-identical, so the cast only bridges
|
|
96
|
+
// that TS-only divergence — validation runs exactly as written.
|
|
97
|
+
validators: {
|
|
98
|
+
onChange: validationSchema,
|
|
99
|
+
onSubmit: validationSchema,
|
|
100
|
+
},
|
|
101
|
+
onSubmit: ({ value }) => onSubmit?.(value),
|
|
102
|
+
});
|
|
103
|
+
const values = useSelector(form.store, (state) => state.values);
|
|
104
|
+
// A submit attempt should reveal every error, even for fields never blurred.
|
|
105
|
+
const submitAttempted = useSelector(form.store, (state) => state.submissionAttempts > 0);
|
|
106
|
+
const lastSyncedRef = React.useRef(defaultValues);
|
|
107
|
+
// Set right before we push our own edits into `setData`, so the resulting
|
|
108
|
+
// `data` change is recognized as *our* echo (not an external override) and
|
|
109
|
+
// doesn't trigger a form reset — see the two sync effects below.
|
|
110
|
+
const selfUpdateRef = React.useRef(false);
|
|
111
|
+
const formRef = React.useRef(null);
|
|
112
|
+
// On a failed submit, move focus to the first field (in definition order) that
|
|
113
|
+
// has an error, so the user lands right where they need to fix things.
|
|
114
|
+
const focusFirstError = React.useCallback(() => {
|
|
115
|
+
for (const field of fields) {
|
|
116
|
+
const meta = form.getFieldMeta(field.name);
|
|
117
|
+
if (!meta || (meta.errors?.length ?? 0) === 0)
|
|
118
|
+
continue;
|
|
119
|
+
const wrapper = formRef.current?.querySelector(`[data-field="${CSS.escape(field.name)}"]`);
|
|
120
|
+
// Focus the first focusable control inside the field — works across every
|
|
121
|
+
// control type (input, trigger button, etc.) without threading ids around.
|
|
122
|
+
wrapper
|
|
123
|
+
?.querySelector('input, select, textarea, button, [tabindex]:not([tabindex="-1"]), [contenteditable="true"]')
|
|
124
|
+
?.focus();
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}, [fields, form]);
|
|
128
|
+
// Mirror live form values back into the consumer's `setData`.
|
|
129
|
+
React.useEffect(() => {
|
|
130
|
+
if (!setData)
|
|
131
|
+
return;
|
|
132
|
+
if (deepEqual(values, lastSyncedRef.current))
|
|
133
|
+
return;
|
|
134
|
+
lastSyncedRef.current = values;
|
|
135
|
+
// Flag the `data` update this triggers as self-originated so the reconcile
|
|
136
|
+
// effect skips it. Without this, rapid edits race: `values` runs ahead of
|
|
137
|
+
// the mirrored `data`, the reconcile effect sees them differ and resets the
|
|
138
|
+
// form back to the stale `data`, which loops (max update depth).
|
|
139
|
+
selfUpdateRef.current = true;
|
|
140
|
+
setData(values);
|
|
141
|
+
}, [values, setData]);
|
|
142
|
+
// Reconcile external `data` changes (async load / programmatic reset) into the
|
|
143
|
+
// form — e.g. `setData(EMPTY)` after a successful submit. `form.reset(values)`
|
|
144
|
+
// adopts them as the new baseline and clears *all* state (field meta *and*
|
|
145
|
+
// `submissionAttempts`), so the fresh values start pristine: no lingering
|
|
146
|
+
// blurred/touched flags and no leftover submit attempt keeping errors visible.
|
|
147
|
+
React.useEffect(() => {
|
|
148
|
+
if (data === undefined)
|
|
149
|
+
return;
|
|
150
|
+
// Ignore the `data` change our own mirror effect just produced — adopting it
|
|
151
|
+
// back into the form would fight live edits (and can loop under rapid input).
|
|
152
|
+
if (selfUpdateRef.current) {
|
|
153
|
+
selfUpdateRef.current = false;
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (deepEqual(data, lastSyncedRef.current))
|
|
157
|
+
return;
|
|
158
|
+
lastSyncedRef.current = data;
|
|
159
|
+
const base = {};
|
|
160
|
+
for (const field of fields)
|
|
161
|
+
base[field.name] = defaultForField(field);
|
|
162
|
+
const next = { ...base, ...data };
|
|
163
|
+
// Advance the baseline in lockstep so the per-render `form.update(opts)` sees
|
|
164
|
+
// no defaultValues change and leaves the freshly adopted values in place.
|
|
165
|
+
setBaseline(next);
|
|
166
|
+
form.reset(next);
|
|
167
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
168
|
+
}, [data]);
|
|
169
|
+
return (_jsxs("form", { ref: formRef, id: id, noValidate: true, onSubmit: (e) => {
|
|
170
|
+
e.preventDefault();
|
|
171
|
+
e.stopPropagation();
|
|
172
|
+
void form.handleSubmit().then(focusFirstError);
|
|
173
|
+
}, className: cn("grid gap-4", COLS[columns], className), children: [fields.map((field) => {
|
|
174
|
+
if (field.hidden?.(values))
|
|
175
|
+
return null;
|
|
176
|
+
const spanClass = field.colSpan ? SPAN[field.colSpan] : undefined;
|
|
177
|
+
const required = field.required ?? isFieldRequired(schema, field.name);
|
|
178
|
+
return (_jsx(form.Field, { name: field.name, children: (fieldApi) => {
|
|
179
|
+
// Validation runs live (`onChange` schema), but errors only *display*
|
|
180
|
+
// after the field is blurred — so typing doesn't flash an error, yet
|
|
181
|
+
// once shown it clears in real time as the value becomes valid. A
|
|
182
|
+
// submit attempt reveals errors on every field, blurred or not.
|
|
183
|
+
const meta = fieldApi.state.meta;
|
|
184
|
+
const error = meta.isBlurred || submitAttempted
|
|
185
|
+
? getErrorMessage(meta.errors)
|
|
186
|
+
: undefined;
|
|
187
|
+
return (_jsx("div", { className: spanClass, "data-field": field.name, onBlur: () => fieldApi.handleBlur(), children: _jsx(FieldRenderer, { field: field, registry: registry, required: required, value: fieldApi.state.value, onChange: (v) => fieldApi.handleChange(v), error: error }) }));
|
|
188
|
+
} }, field.name));
|
|
189
|
+
}), children !== undefined ? (_jsx("div", { className: SPAN[columns], children: children })) : submitLabel !== null ? (_jsxs("div", { className: cn("flex items-center justify-end gap-2 pt-1", SPAN[columns]), children: [resetLabel && (_jsx(Button, { type: "button", variant: "outline", onClick: () => form.reset(), children: resetLabel })), _jsx(form.Subscribe, { selector: (state) => state.isSubmitting, children: (isSubmitting) => (_jsx(Button, { type: "submit", disabled: isSubmitting, children: submitLabel })) })] })) : null] }));
|
|
190
|
+
};
|
|
191
|
+
const isStandardSchemaIssue = (value) => typeof value === "object" &&
|
|
192
|
+
value !== null &&
|
|
193
|
+
"message" in value &&
|
|
194
|
+
typeof value.message === "string";
|
|
195
|
+
/** Normalize TanStack field errors (strings or Standard-Schema issues) to text. */
|
|
196
|
+
const getErrorMessage = (errors) => {
|
|
197
|
+
const first = errors?.[0];
|
|
198
|
+
if (first == null)
|
|
199
|
+
return undefined;
|
|
200
|
+
if (typeof first === "string")
|
|
201
|
+
return first;
|
|
202
|
+
if (isStandardSchemaIssue(first))
|
|
203
|
+
return first.message;
|
|
204
|
+
return undefined;
|
|
205
|
+
};
|
|
206
|
+
const FieldRenderer = ({ field, registry, required, value, onChange, error, }) => {
|
|
207
|
+
const entry = registry[field.type];
|
|
208
|
+
if (!entry)
|
|
209
|
+
return null;
|
|
210
|
+
const common = {
|
|
211
|
+
label: field.label,
|
|
212
|
+
placeholder: field.placeholder,
|
|
213
|
+
description: field.description,
|
|
214
|
+
error,
|
|
215
|
+
required,
|
|
216
|
+
disabled: field.disabled,
|
|
217
|
+
};
|
|
218
|
+
const Component = entry.component;
|
|
219
|
+
return (_jsx(Component, { ...entry.mapProps({
|
|
220
|
+
// Every union variant is assignable to the wide resolved shape the
|
|
221
|
+
// registry reads from; the union narrows *authoring*, not runtime. The
|
|
222
|
+
// `hidden` callback is contravariant in `T`, so bridge via `unknown`.
|
|
223
|
+
field: field,
|
|
224
|
+
common,
|
|
225
|
+
value,
|
|
226
|
+
setValue: onChange,
|
|
227
|
+
}) }));
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=smart-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-form.js","sourceRoot":"","sources":["../../src/form-engine/smart-form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FieldBaseProps } from "./base";
|
|
2
|
+
export interface SmartInputFieldProps extends FieldBaseProps<string> {
|
|
3
|
+
type?: "text" | "email" | "url";
|
|
4
|
+
maxLength?: number;
|
|
5
|
+
autoComplete?: string;
|
|
6
|
+
}
|
|
7
|
+
/** Single-line text input for `text`, `email`, and `url` string values. */
|
|
8
|
+
export declare const SmartInputField: ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, id, type, maxLength, autoComplete, }: SmartInputFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=smart-input-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-input-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-input-field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAClE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,wIAe7B,oBAAoB,4CAkBtB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SmartInput } from "@iamsaroj/smart-ui/smart-components/smart-input";
|
|
3
|
+
/** Single-line text input for `text`, `email`, and `url` string values. */
|
|
4
|
+
export const SmartInputField = ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, id, type = "text", maxLength, autoComplete, }) => (_jsx(SmartInput, { id: id, type: type, value: data, placeholder: placeholder, label: label, description: description, error: error, required: required, disabled: disabled, readOnly: readOnly, maxLength: maxLength, autoComplete: autoComplete, "aria-invalid": error ? true : undefined, onChange: (e) => setData(e.target.value), fieldClassName: className }));
|
|
5
|
+
//# sourceMappingURL=smart-input-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-input-field.js","sourceRoot":"","sources":["../../src/form-engine/smart-input-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAA;AAS5E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,EAAE,EACF,IAAI,GAAG,MAAM,EACb,SAAS,EACT,YAAY,GACS,EAAE,EAAE,CAAC,CAC1B,KAAC,UAAU,IACT,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,kBACZ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACtC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,cAAc,EAAE,SAAS,GACzB,CACH,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FieldBaseProps } from "./base";
|
|
2
|
+
export interface SmartMonthFieldProps extends Omit<FieldBaseProps<string>, "readOnly"> {
|
|
3
|
+
fromYear?: number;
|
|
4
|
+
toYear?: number;
|
|
5
|
+
}
|
|
6
|
+
/** Month field — stores a `"YYYY-MM"` string; empty means "unset". */
|
|
7
|
+
export declare const SmartMonthField: ({ data, setData, label, placeholder, description, error, required, disabled, className, fromYear, toYear, }: SmartMonthFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=smart-month-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-month-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-month-field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,cAAc,CAAC,MAAM,CAAC,EACtB,UAAU,CACX;IACC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,sEAAsE;AACtE,eAAO,MAAM,eAAe,GAAI,6GAY7B,oBAAoB,4CAwBtB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SmartMonthPicker } from "@iamsaroj/smart-ui/smart-components/smart-month-picker";
|
|
3
|
+
/** Month field — stores a `"YYYY-MM"` string; empty means "unset". */
|
|
4
|
+
export const SmartMonthField = ({ data, setData, label, placeholder, description, error, required, disabled, className, fromYear, toYear, }) => {
|
|
5
|
+
const [y, m] = data ? data.split("-").map(Number) : [];
|
|
6
|
+
const value = y && m ? new Date(y, m - 1, 1) : undefined;
|
|
7
|
+
const toValue = (date) => date
|
|
8
|
+
? `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, "0")}`
|
|
9
|
+
: "";
|
|
10
|
+
return (_jsx(SmartMonthPicker, { value: value, onValueChange: (date) => setData(toValue(date)), label: label, description: description, error: error, required: required, disabled: disabled, fromYear: fromYear, toYear: toYear, placeholder: placeholder, fieldClassName: className }));
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=smart-month-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-month-field.js","sourceRoot":"","sources":["../../src/form-engine/smart-month-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAA;AAWzF,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,GACe,EAAE,EAAE;IACzB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAExD,MAAM,OAAO,GAAG,CAAC,IAAsB,EAAU,EAAE,CACjD,IAAI;QACF,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;QACzE,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACL,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,SAAS,GACzB,CACH,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type SmartMultiSelectOption } from "@iamsaroj/smart-ui/smart-components/smart-multi-select";
|
|
2
|
+
import type { FieldBaseProps } from "./base";
|
|
3
|
+
export type { SmartMultiSelectOption };
|
|
4
|
+
export interface SmartMultiSelectFieldProps extends FieldBaseProps<string[]> {
|
|
5
|
+
options?: SmartMultiSelectOption[];
|
|
6
|
+
maxSelected?: number;
|
|
7
|
+
searchPlaceholder?: string;
|
|
8
|
+
}
|
|
9
|
+
/** Searchable multi-choice select bound to a string-array value. */
|
|
10
|
+
export declare const SmartMultiSelectField: ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, options, maxSelected, searchPlaceholder, }: SmartMultiSelectFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=smart-multi-select-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-multi-select-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-multi-select-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wDAAwD,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAEtC,MAAM,WAAW,0BAA2B,SAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;IAC1E,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,GAAI,8IAcnC,0BAA0B,4CAe5B,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SmartMultiSelect, } from "@iamsaroj/smart-ui/smart-components/smart-multi-select";
|
|
3
|
+
/** Searchable multi-choice select bound to a string-array value. */
|
|
4
|
+
export const SmartMultiSelectField = ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, options = [], maxSelected, searchPlaceholder, }) => (_jsx(SmartMultiSelect, { value: data, onValueChange: setData, placeholder: placeholder, label: label, description: description, error: error, required: required, options: options, maxSelected: maxSelected, searchPlaceholder: searchPlaceholder, disabled: disabled || readOnly, fieldClassName: className }));
|
|
5
|
+
//# sourceMappingURL=smart-multi-select-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-multi-select-field.js","sourceRoot":"","sources":["../../src/form-engine/smart-multi-select-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,gBAAgB,GAEjB,MAAM,wDAAwD,CAAA;AAW/D,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,WAAW,EACX,iBAAiB,GACU,EAAE,EAAE,CAAC,CAChC,KAAC,gBAAgB,IACf,KAAK,EAAE,IAAI,EACX,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,cAAc,EAAE,SAAS,GACzB,CACH,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FieldBaseProps } from "./base";
|
|
2
|
+
export interface SmartNumberFieldProps extends FieldBaseProps<number | null> {
|
|
3
|
+
decimalScale?: number;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
step?: number;
|
|
7
|
+
/** Constrain to whole numbers — truncates decimals on blur, defaults `step` to 1. */
|
|
8
|
+
integer?: boolean;
|
|
9
|
+
/** Leading addon text, e.g. `"$"` for a currency field. */
|
|
10
|
+
prefix?: string;
|
|
11
|
+
/** Trailing addon text, e.g. `"%"` for a percentage field. */
|
|
12
|
+
suffix?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Numeric input bound to a `number | null` value. Sanitizes keystrokes to a
|
|
16
|
+
* valid number (preserving in-progress input like `"-"` or `"1."`), clamps to
|
|
17
|
+
* `min`/`max` on blur, and supports arrow-key stepping. Renders leading/trailing
|
|
18
|
+
* addons via an input group when `prefix`/`suffix` are set (e.g. currency,
|
|
19
|
+
* percentage); otherwise uses the lighter plain input.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SmartNumberField: ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, id, decimalScale, min, max, step, integer, prefix, suffix, }: SmartNumberFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=smart-number-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-number-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-number-field.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,gKAmB9B,qBAAqB,4CAyHvB,CAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { SmartInput } from "@iamsaroj/smart-ui/smart-components/smart-input";
|
|
4
|
+
import { SmartInputGroup } from "@iamsaroj/smart-ui/smart-components/smart-input-group";
|
|
5
|
+
/**
|
|
6
|
+
* Numeric input bound to a `number | null` value. Sanitizes keystrokes to a
|
|
7
|
+
* valid number (preserving in-progress input like `"-"` or `"1."`), clamps to
|
|
8
|
+
* `min`/`max` on blur, and supports arrow-key stepping. Renders leading/trailing
|
|
9
|
+
* addons via an input group when `prefix`/`suffix` are set (e.g. currency,
|
|
10
|
+
* percentage); otherwise uses the lighter plain input.
|
|
11
|
+
*/
|
|
12
|
+
export const SmartNumberField = ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, id, decimalScale, min, max, step, integer, prefix, suffix, }) => {
|
|
13
|
+
const effectiveStep = step ?? 1;
|
|
14
|
+
const format = React.useCallback((n) => {
|
|
15
|
+
if (integer)
|
|
16
|
+
return String(Math.trunc(n));
|
|
17
|
+
return decimalScale !== undefined ? n.toFixed(decimalScale) : String(n);
|
|
18
|
+
}, [decimalScale, integer]);
|
|
19
|
+
// Strip characters that can never belong to a number while preserving valid
|
|
20
|
+
// in-progress input ("-", "1.", "1.20"), so letters never render in the field.
|
|
21
|
+
const sanitize = React.useCallback((raw) => {
|
|
22
|
+
let s = raw.replace(integer ? /[^0-9-]/g : /[^0-9.-]/g, "");
|
|
23
|
+
// Keep a minus sign only when it leads the value.
|
|
24
|
+
const negative = s.startsWith("-");
|
|
25
|
+
s = s.replace(/-/g, "");
|
|
26
|
+
if (negative)
|
|
27
|
+
s = "-" + s;
|
|
28
|
+
if (!integer) {
|
|
29
|
+
// Keep only the first decimal point.
|
|
30
|
+
const dot = s.indexOf(".");
|
|
31
|
+
if (dot !== -1) {
|
|
32
|
+
s = s.slice(0, dot + 1) + s.slice(dot + 1).replace(/\./g, "");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return s;
|
|
36
|
+
}, [integer]);
|
|
37
|
+
const parse = React.useCallback((raw) => {
|
|
38
|
+
const cleaned = sanitize(raw);
|
|
39
|
+
if (!cleaned || cleaned === "-" || cleaned === ".")
|
|
40
|
+
return null;
|
|
41
|
+
const n = Number(cleaned);
|
|
42
|
+
if (Number.isNaN(n))
|
|
43
|
+
return null;
|
|
44
|
+
return integer ? Math.trunc(n) : n;
|
|
45
|
+
}, [integer, sanitize]);
|
|
46
|
+
const [text, setText] = React.useState(() => data === null ? "" : format(data));
|
|
47
|
+
const emittedRef = React.useRef(data);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
if (Object.is(data, emittedRef.current))
|
|
50
|
+
return;
|
|
51
|
+
emittedRef.current = data;
|
|
52
|
+
setText(data === null ? "" : format(data));
|
|
53
|
+
}, [data, format]);
|
|
54
|
+
const emit = (next) => {
|
|
55
|
+
emittedRef.current = next;
|
|
56
|
+
setData(next);
|
|
57
|
+
};
|
|
58
|
+
const clamp = (n) => {
|
|
59
|
+
let clamped = n;
|
|
60
|
+
if (min !== undefined)
|
|
61
|
+
clamped = Math.max(min, clamped);
|
|
62
|
+
if (max !== undefined)
|
|
63
|
+
clamped = Math.min(max, clamped);
|
|
64
|
+
return clamped;
|
|
65
|
+
};
|
|
66
|
+
const handleBlur = () => {
|
|
67
|
+
const parsed = parse(text);
|
|
68
|
+
if (parsed === null) {
|
|
69
|
+
setText("");
|
|
70
|
+
emit(null);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const clamped = clamp(parsed);
|
|
74
|
+
emit(clamped);
|
|
75
|
+
setText(format(clamped));
|
|
76
|
+
};
|
|
77
|
+
const handleChange = (e) => {
|
|
78
|
+
const next = sanitize(e.target.value);
|
|
79
|
+
setText(next);
|
|
80
|
+
emit(parse(next));
|
|
81
|
+
};
|
|
82
|
+
const handleKeyDown = (e) => {
|
|
83
|
+
if (e.key === "ArrowUp" || e.key === "ArrowDown") {
|
|
84
|
+
e.preventDefault();
|
|
85
|
+
const dir = e.key === "ArrowUp" ? 1 : -1;
|
|
86
|
+
const next = clamp((parse(text) ?? 0) + dir * effectiveStep);
|
|
87
|
+
emit(next);
|
|
88
|
+
setText(format(next));
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const shared = {
|
|
92
|
+
id,
|
|
93
|
+
inputMode: (integer ? "numeric" : "decimal"),
|
|
94
|
+
value: text,
|
|
95
|
+
placeholder,
|
|
96
|
+
label,
|
|
97
|
+
description,
|
|
98
|
+
error,
|
|
99
|
+
required,
|
|
100
|
+
disabled,
|
|
101
|
+
readOnly,
|
|
102
|
+
"aria-invalid": error ? true : undefined,
|
|
103
|
+
fieldClassName: className,
|
|
104
|
+
onChange: handleChange,
|
|
105
|
+
onBlur: handleBlur,
|
|
106
|
+
onKeyDown: handleKeyDown,
|
|
107
|
+
};
|
|
108
|
+
// Currency / percentage-style fields render addons via an input group; plain
|
|
109
|
+
// numbers stay on the lighter SmartInput.
|
|
110
|
+
if (prefix != null || suffix != null) {
|
|
111
|
+
return (_jsx(SmartInputGroup, { ...shared, leadingText: prefix, trailingText: suffix }));
|
|
112
|
+
}
|
|
113
|
+
return _jsx(SmartInput, { type: "text", ...shared });
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=smart-number-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-number-field.js","sourceRoot":"","sources":["../../src/form-engine/smart-number-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FieldBaseProps } from "./base";
|
|
2
|
+
export interface SmartPasswordFieldProps extends FieldBaseProps<string> {
|
|
3
|
+
autoComplete?: string;
|
|
4
|
+
}
|
|
5
|
+
/** Masked password input with a show/hide toggle. */
|
|
6
|
+
export declare const SmartPasswordField: ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, id, autoComplete, }: SmartPasswordFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=smart-password-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-password-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-password-field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAAC,MAAM,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,GAAI,uHAahC,uBAAuB,4CAgBzB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SmartPasswordInput } from "@iamsaroj/smart-ui/smart-components/smart-password-input";
|
|
3
|
+
/** Masked password input with a show/hide toggle. */
|
|
4
|
+
export const SmartPasswordField = ({ data, setData, label, placeholder, description, error, required, disabled, readOnly, className, id, autoComplete, }) => (_jsx(SmartPasswordInput, { id: id, value: data, placeholder: placeholder, label: label, description: description, error: error, required: required, disabled: disabled, readOnly: readOnly, autoComplete: autoComplete, "aria-invalid": error ? true : undefined, onChange: (e) => setData(e.target.value), fieldClassName: className }));
|
|
5
|
+
//# sourceMappingURL=smart-password-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-password-field.js","sourceRoot":"","sources":["../../src/form-engine/smart-password-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAO7F,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,EAAE,EACF,YAAY,GACY,EAAE,EAAE,CAAC,CAC7B,KAAC,kBAAkB,IACjB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,kBACZ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACtC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,cAAc,EAAE,SAAS,GACzB,CACH,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type SmartRadioOption } from "@iamsaroj/smart-ui/smart-components/smart-radio-group";
|
|
2
|
+
import type { FieldBaseProps } from "./base";
|
|
3
|
+
export type { SmartRadioOption };
|
|
4
|
+
export interface SmartRadioGroupFieldProps extends Omit<FieldBaseProps<string>, "placeholder" | "readOnly"> {
|
|
5
|
+
options?: SmartRadioOption[];
|
|
6
|
+
orientation?: "horizontal" | "vertical";
|
|
7
|
+
}
|
|
8
|
+
/** Single choice from a visible radio group. */
|
|
9
|
+
export declare const SmartRadioGroupField: ({ data, setData, label, description, error, required, disabled, className, options, orientation, }: SmartRadioGroupFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=smart-radio-group-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-radio-group-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-radio-group-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,uDAAuD,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CACrD,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,GAAG,UAAU,CAC3B;IACC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;CACxC;AAED,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,GAAI,oGAWlC,yBAAyB,4CAa3B,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SmartRadioGroup, } from "@iamsaroj/smart-ui/smart-components/smart-radio-group";
|
|
3
|
+
/** Single choice from a visible radio group. */
|
|
4
|
+
export const SmartRadioGroupField = ({ data, setData, label, description, error, required, disabled, className, options = [], orientation, }) => (_jsx(SmartRadioGroup, { value: data, onValueChange: setData, label: label, description: description, error: error, required: required, items: options, disabled: disabled, orientation: orientation, fieldClassName: className }));
|
|
5
|
+
//# sourceMappingURL=smart-radio-group-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-radio-group-field.js","sourceRoot":"","sources":["../../src/form-engine/smart-radio-group-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,eAAe,GAEhB,MAAM,uDAAuD,CAAA;AAa9D,gDAAgD;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,WAAW,GACe,EAAE,EAAE,CAAC,CAC/B,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,EACX,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,SAAS,GACzB,CACH,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type SmartSegmentedOption } from "@iamsaroj/smart-ui/smart-components/smart-segmented";
|
|
2
|
+
import type { FieldBaseProps } from "./base";
|
|
3
|
+
export type { SmartSegmentedOption };
|
|
4
|
+
export interface SmartSegmentedFieldProps extends Omit<FieldBaseProps<string>, "placeholder" | "readOnly"> {
|
|
5
|
+
options?: SmartSegmentedOption[];
|
|
6
|
+
}
|
|
7
|
+
/** Single choice rendered as a segmented control. */
|
|
8
|
+
export declare const SmartSegmentedField: ({ data, setData, label, description, error, required, disabled, className, options, }: SmartSegmentedFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=smart-segmented-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-segmented-field.d.ts","sourceRoot":"","sources":["../../src/form-engine/smart-segmented-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qDAAqD,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,YAAY,EAAE,oBAAoB,EAAE,CAAA;AAEpC,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,GAAG,UAAU,CAC3B;IACC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACjC;AAED,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,GAAI,uFAUjC,wBAAwB,4CAY1B,CAAA"}
|