@hyddenlabs/hydn-ui 0.3.0-alpha.99 → 0.3.1
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/README.md +46 -29
- package/dist/components/branding/google-logo.d.ts +14 -0
- package/dist/components/branding/google-logo.d.ts.map +1 -0
- package/dist/components/branding/google-logo.js +49 -0
- package/dist/components/branding/google-logo.js.map +1 -0
- package/dist/components/branding/hydden-logo.d.ts +14 -0
- package/dist/components/branding/hydden-logo.d.ts.map +1 -0
- package/dist/components/branding/hydden-logo.js +8 -0
- package/dist/components/branding/hydden-logo.js.map +1 -0
- package/dist/components/branding/microsoft-logo.d.ts +14 -0
- package/dist/components/branding/microsoft-logo.d.ts.map +1 -0
- package/dist/components/branding/microsoft-logo.js +25 -0
- package/dist/components/branding/microsoft-logo.js.map +1 -0
- package/dist/components/data-display/avatar/avatar.d.ts +24 -0
- package/dist/components/data-display/avatar/avatar.d.ts.map +1 -0
- package/dist/components/data-display/avatar/avatar.js +25 -0
- package/dist/components/data-display/avatar/avatar.js.map +1 -0
- package/dist/components/data-display/avatar/index.d.ts +3 -0
- package/dist/components/data-display/avatar/index.d.ts.map +1 -0
- package/dist/components/data-display/badge/badge.d.ts +24 -0
- package/dist/components/data-display/badge/badge.d.ts.map +1 -0
- package/dist/components/data-display/badge/badge.js +27 -0
- package/dist/components/data-display/badge/badge.js.map +1 -0
- package/dist/components/data-display/badge/index.d.ts +5 -0
- package/dist/components/data-display/badge/index.d.ts.map +1 -0
- package/dist/components/data-display/badge/status-label.d.ts +25 -0
- package/dist/components/data-display/badge/status-label.d.ts.map +1 -0
- package/dist/components/data-display/badge/status-label.js +63 -0
- package/dist/components/data-display/badge/status-label.js.map +1 -0
- package/dist/components/data-display/chip/chip.d.ts +42 -0
- package/dist/components/data-display/chip/chip.d.ts.map +1 -0
- package/dist/components/data-display/chip/chip.js +79 -0
- package/dist/components/data-display/chip/chip.js.map +1 -0
- package/dist/components/data-display/chip/index.d.ts +3 -0
- package/dist/components/data-display/chip/index.d.ts.map +1 -0
- package/dist/components/data-display/code-block/code-block.d.ts +17 -0
- package/dist/components/data-display/code-block/code-block.d.ts.map +1 -0
- package/dist/components/data-display/code-block/code-block.js +34 -0
- package/dist/components/data-display/code-block/code-block.js.map +1 -0
- package/dist/components/data-display/data-table/data-table.d.ts +226 -0
- package/dist/components/data-display/data-table/data-table.d.ts.map +1 -0
- package/dist/components/data-display/data-table/data-table.js +404 -0
- package/dist/components/data-display/data-table/data-table.js.map +1 -0
- package/dist/components/data-display/data-table/index.d.ts +5 -0
- package/dist/components/data-display/data-table/index.d.ts.map +1 -0
- package/dist/components/data-display/data-table/use-table.d.ts +42 -0
- package/dist/components/data-display/data-table/use-table.d.ts.map +1 -0
- package/dist/components/data-display/data-table/use-table.js +120 -0
- package/dist/components/data-display/data-table/use-table.js.map +1 -0
- package/dist/components/data-display/empty-state/empty-state.d.ts +8 -0
- package/dist/components/data-display/empty-state/empty-state.d.ts.map +1 -0
- package/dist/components/data-display/empty-state/empty-state.js +17 -0
- package/dist/components/data-display/empty-state/empty-state.js.map +1 -0
- package/dist/components/data-display/empty-state/index.d.ts +3 -0
- package/dist/components/data-display/empty-state/index.d.ts.map +1 -0
- package/dist/components/data-display/list/index.d.ts +3 -0
- package/dist/components/data-display/list/index.d.ts.map +1 -0
- package/dist/components/data-display/list/list.d.ts +31 -0
- package/dist/components/data-display/list/list.d.ts.map +1 -0
- package/dist/components/data-display/list/list.js +16 -0
- package/dist/components/data-display/list/list.js.map +1 -0
- package/dist/components/data-display/table/index.d.ts +3 -0
- package/dist/components/data-display/table/index.d.ts.map +1 -0
- package/dist/components/data-display/table/table.d.ts +101 -0
- package/dist/components/data-display/table/table.d.ts.map +1 -0
- package/dist/components/data-display/table/table.js +98 -0
- package/dist/components/data-display/table/table.js.map +1 -0
- package/dist/components/data-display/timeline/index.d.ts +3 -0
- package/dist/components/data-display/timeline/index.d.ts.map +1 -0
- package/dist/components/data-display/timeline/timeline.d.ts +57 -0
- package/dist/components/data-display/timeline/timeline.d.ts.map +1 -0
- package/dist/components/data-display/timeline/timeline.js +52 -0
- package/dist/components/data-display/timeline/timeline.js.map +1 -0
- package/dist/components/feedback/alert/alert.d.ts +27 -0
- package/dist/components/feedback/alert/alert.d.ts.map +1 -0
- package/dist/components/feedback/alert/alert.js +86 -0
- package/dist/components/feedback/alert/alert.js.map +1 -0
- package/dist/components/feedback/alert/index.d.ts +3 -0
- package/dist/components/feedback/alert/index.d.ts.map +1 -0
- package/dist/components/feedback/dialog/delete-dialog.d.ts +41 -0
- package/dist/components/feedback/dialog/delete-dialog.d.ts.map +1 -0
- package/dist/components/feedback/dialog/delete-dialog.js +52 -0
- package/dist/components/feedback/dialog/delete-dialog.js.map +1 -0
- package/dist/components/feedback/dialog/dialog.d.ts +24 -0
- package/dist/components/feedback/dialog/dialog.d.ts.map +1 -0
- package/dist/components/feedback/dialog/dialog.js +15 -0
- package/dist/components/feedback/dialog/dialog.js.map +1 -0
- package/dist/components/feedback/dialog/index.d.ts +5 -0
- package/dist/components/feedback/dialog/index.d.ts.map +1 -0
- package/dist/components/feedback/error-page/error-400.d.ts +22 -0
- package/dist/components/feedback/error-page/error-400.d.ts.map +1 -0
- package/dist/components/feedback/error-page/error-400.js +28 -0
- package/dist/components/feedback/error-page/error-400.js.map +1 -0
- package/dist/components/feedback/error-page/error-401.d.ts +26 -0
- package/dist/components/feedback/error-page/error-401.d.ts.map +1 -0
- package/dist/components/feedback/error-page/error-401.js +33 -0
- package/dist/components/feedback/error-page/error-401.js.map +1 -0
- package/dist/components/feedback/error-page/error-403.d.ts +26 -0
- package/dist/components/feedback/error-page/error-403.d.ts.map +1 -0
- package/dist/components/feedback/error-page/error-403.js +33 -0
- package/dist/components/feedback/error-page/error-403.js.map +1 -0
- package/dist/components/feedback/error-page/error-404.d.ts +26 -0
- package/dist/components/feedback/error-page/error-404.d.ts.map +1 -0
- package/dist/components/feedback/error-page/error-404.js +33 -0
- package/dist/components/feedback/error-page/error-404.js.map +1 -0
- package/dist/components/feedback/error-page/index.d.ts +9 -0
- package/dist/components/feedback/error-page/index.d.ts.map +1 -0
- package/dist/components/feedback/loading-container/index.d.ts +3 -0
- package/dist/components/feedback/loading-container/index.d.ts.map +1 -0
- package/dist/components/feedback/loading-container/loading-container.d.ts +16 -0
- package/dist/components/feedback/loading-container/loading-container.d.ts.map +1 -0
- package/dist/components/feedback/loading-container/loading-container.js +28 -0
- package/dist/components/feedback/loading-container/loading-container.js.map +1 -0
- package/dist/components/feedback/modal/index.d.ts +3 -0
- package/dist/components/feedback/modal/index.d.ts.map +1 -0
- package/dist/components/feedback/modal/modal.d.ts +33 -0
- package/dist/components/feedback/modal/modal.d.ts.map +1 -0
- package/dist/components/feedback/modal/modal.js +88 -0
- package/dist/components/feedback/modal/modal.js.map +1 -0
- package/dist/components/feedback/overlay/useOverlay.d.ts +24 -0
- package/dist/components/feedback/overlay/useOverlay.d.ts.map +1 -0
- package/dist/components/feedback/overlay/useOverlay.js +119 -0
- package/dist/components/feedback/overlay/useOverlay.js.map +1 -0
- package/dist/components/feedback/popover/index.d.ts +3 -0
- package/dist/components/feedback/popover/index.d.ts.map +1 -0
- package/dist/components/feedback/popover/popover.d.ts +25 -0
- package/dist/components/feedback/popover/popover.d.ts.map +1 -0
- package/dist/components/feedback/popover/popover.js +118 -0
- package/dist/components/feedback/popover/popover.js.map +1 -0
- package/dist/components/feedback/progress-bar/index.d.ts +3 -0
- package/dist/components/feedback/progress-bar/index.d.ts.map +1 -0
- package/dist/components/feedback/progress-bar/progress-bar.d.ts +22 -0
- package/dist/components/feedback/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/feedback/progress-bar/progress-bar.js +27 -0
- package/dist/components/feedback/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/feedback/skeleton/index.d.ts +3 -0
- package/dist/components/feedback/skeleton/index.d.ts.map +1 -0
- package/dist/components/feedback/skeleton/skeleton.d.ts +19 -0
- package/dist/components/feedback/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/feedback/skeleton/skeleton.js +28 -0
- package/dist/components/feedback/skeleton/skeleton.js.map +1 -0
- package/dist/components/feedback/smooth-transition/index.d.ts +3 -0
- package/dist/components/feedback/smooth-transition/index.d.ts.map +1 -0
- package/dist/components/feedback/smooth-transition/smooth-transition.d.ts +68 -0
- package/dist/components/feedback/smooth-transition/smooth-transition.d.ts.map +1 -0
- package/dist/components/feedback/smooth-transition/smooth-transition.js +89 -0
- package/dist/components/feedback/smooth-transition/smooth-transition.js.map +1 -0
- package/dist/components/feedback/spinner/index.d.ts +3 -0
- package/dist/components/feedback/spinner/index.d.ts.map +1 -0
- package/dist/components/feedback/spinner/spinner.d.ts +21 -0
- package/dist/components/feedback/spinner/spinner.d.ts.map +1 -0
- package/dist/components/feedback/spinner/spinner.js +27 -0
- package/dist/components/feedback/spinner/spinner.js.map +1 -0
- package/dist/components/feedback/toast/index.d.ts +3 -0
- package/dist/components/feedback/toast/index.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.d.ts +23 -0
- package/dist/components/feedback/toast/toast.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.js +45 -0
- package/dist/components/feedback/toast/toast.js.map +1 -0
- package/dist/components/feedback/tooltip/index.d.ts +3 -0
- package/dist/components/feedback/tooltip/index.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/tooltip.d.ts +39 -0
- package/dist/components/feedback/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/tooltip.js +129 -0
- package/dist/components/feedback/tooltip/tooltip.js.map +1 -0
- package/dist/components/forms/button/button-with-icon.d.ts +18 -0
- package/dist/components/forms/button/button-with-icon.d.ts.map +1 -0
- package/dist/components/forms/button/button-with-icon.js +15 -0
- package/dist/components/forms/button/button-with-icon.js.map +1 -0
- package/dist/components/forms/button/button.d.ts +66 -0
- package/dist/components/forms/button/button.d.ts.map +1 -0
- package/dist/components/forms/button/button.examples.d.ts +73 -0
- package/dist/components/forms/button/button.examples.d.ts.map +1 -0
- package/dist/components/forms/button/button.js +118 -0
- package/dist/components/forms/button/button.js.map +1 -0
- package/dist/components/forms/button/icon-button.d.ts +23 -0
- package/dist/components/forms/button/icon-button.d.ts.map +1 -0
- package/dist/components/forms/button/icon-button.js +85 -0
- package/dist/components/forms/button/icon-button.js.map +1 -0
- package/dist/components/forms/button/index.d.ts +10 -0
- package/dist/components/forms/button/index.d.ts.map +1 -0
- package/dist/components/forms/button/inline-button.d.ts +45 -0
- package/dist/components/forms/button/inline-button.d.ts.map +1 -0
- package/dist/components/forms/button/inline-button.js +59 -0
- package/dist/components/forms/button/inline-button.js.map +1 -0
- package/dist/components/forms/button-group/button-group.d.ts +20 -0
- package/dist/components/forms/button-group/button-group.d.ts.map +1 -0
- package/dist/components/forms/button-group/button-group.js +24 -0
- package/dist/components/forms/button-group/button-group.js.map +1 -0
- package/dist/components/forms/button-group/index.d.ts +3 -0
- package/dist/components/forms/button-group/index.d.ts.map +1 -0
- package/dist/components/forms/calendar/calendar.d.ts +37 -0
- package/dist/components/forms/calendar/calendar.d.ts.map +1 -0
- package/dist/components/forms/calendar/calendar.js +131 -0
- package/dist/components/forms/calendar/calendar.js.map +1 -0
- package/dist/components/forms/calendar/index.d.ts +3 -0
- package/dist/components/forms/calendar/index.d.ts.map +1 -0
- package/dist/components/forms/checkbox/checkbox.d.ts +31 -0
- package/dist/components/forms/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/forms/checkbox/checkbox.js +39 -0
- package/dist/components/forms/checkbox/checkbox.js.map +1 -0
- package/dist/components/forms/checkbox/index.d.ts +3 -0
- package/dist/components/forms/checkbox/index.d.ts.map +1 -0
- package/dist/components/forms/code/code.d.ts +32 -0
- package/dist/components/forms/code/code.d.ts.map +1 -0
- package/dist/components/forms/code/code.js +31 -0
- package/dist/components/forms/code/code.js.map +1 -0
- package/dist/components/forms/code/index.d.ts +1 -0
- package/dist/components/forms/code/index.d.ts.map +1 -0
- package/dist/components/forms/date-picker/date-picker.d.ts +72 -0
- package/dist/components/forms/date-picker/date-picker.d.ts.map +1 -0
- package/dist/components/forms/date-picker/date-picker.js +173 -0
- package/dist/components/forms/date-picker/date-picker.js.map +1 -0
- package/dist/components/forms/date-picker/index.d.ts +3 -0
- package/dist/components/forms/date-picker/index.d.ts.map +1 -0
- package/dist/components/forms/editable-text/editable-text.d.ts +59 -0
- package/dist/components/forms/editable-text/editable-text.d.ts.map +1 -0
- package/dist/components/forms/editable-text/editable-text.js +188 -0
- package/dist/components/forms/editable-text/editable-text.js.map +1 -0
- package/dist/components/forms/editable-text/index.d.ts +3 -0
- package/dist/components/forms/editable-text/index.d.ts.map +1 -0
- package/dist/components/forms/fieldset/fieldset.d.ts +46 -0
- package/dist/components/forms/fieldset/fieldset.d.ts.map +1 -0
- package/dist/components/forms/fieldset/fieldset.js +40 -0
- package/dist/components/forms/fieldset/fieldset.js.map +1 -0
- package/dist/components/forms/fieldset/index.d.ts +3 -0
- package/dist/components/forms/fieldset/index.d.ts.map +1 -0
- package/dist/components/forms/form/form-example.d.ts +11 -0
- package/dist/components/forms/form/form-example.d.ts.map +1 -0
- package/dist/components/forms/form/form.d.ts +44 -0
- package/dist/components/forms/form/form.d.ts.map +1 -0
- package/dist/components/forms/form/form.js +39 -0
- package/dist/components/forms/form/form.js.map +1 -0
- package/dist/components/forms/form/index.d.ts +3 -0
- package/dist/components/forms/form/index.d.ts.map +1 -0
- package/dist/components/forms/form-checkbox/form-checkbox.d.ts +27 -0
- package/dist/components/forms/form-checkbox/form-checkbox.d.ts.map +1 -0
- package/dist/components/forms/form-checkbox/form-checkbox.js +58 -0
- package/dist/components/forms/form-checkbox/form-checkbox.js.map +1 -0
- package/dist/components/forms/form-checkbox/index.d.ts +3 -0
- package/dist/components/forms/form-checkbox/index.d.ts.map +1 -0
- package/dist/components/forms/form-checkbox-group/form-checkbox-group.d.ts +40 -0
- package/dist/components/forms/form-checkbox-group/form-checkbox-group.d.ts.map +1 -0
- package/dist/components/forms/form-checkbox-group/form-checkbox-group.js +74 -0
- package/dist/components/forms/form-checkbox-group/form-checkbox-group.js.map +1 -0
- package/dist/components/forms/form-field/form-field.d.ts +53 -0
- package/dist/components/forms/form-field/form-field.d.ts.map +1 -0
- package/dist/components/forms/form-field/form-field.js +56 -0
- package/dist/components/forms/form-field/form-field.js.map +1 -0
- package/dist/components/forms/form-field/index.d.ts +3 -0
- package/dist/components/forms/form-field/index.d.ts.map +1 -0
- package/dist/components/forms/form-input/form-input.d.ts +60 -0
- package/dist/components/forms/form-input/form-input.d.ts.map +1 -0
- package/dist/components/forms/form-input/form-input.js +53 -0
- package/dist/components/forms/form-input/form-input.js.map +1 -0
- package/dist/components/forms/form-select/form-select.d.ts +32 -0
- package/dist/components/forms/form-select/form-select.d.ts.map +1 -0
- package/dist/components/forms/form-select/form-select.js +34 -0
- package/dist/components/forms/form-select/form-select.js.map +1 -0
- package/dist/components/forms/form-textarea/form-textarea.d.ts +31 -0
- package/dist/components/forms/form-textarea/form-textarea.d.ts.map +1 -0
- package/dist/components/forms/form-textarea/form-textarea.js +34 -0
- package/dist/components/forms/form-textarea/form-textarea.js.map +1 -0
- package/dist/components/forms/input/index.d.ts +3 -0
- package/dist/components/forms/input/index.d.ts.map +1 -0
- package/dist/components/forms/input/input.d.ts +71 -0
- package/dist/components/forms/input/input.d.ts.map +1 -0
- package/dist/components/forms/input/input.js +64 -0
- package/dist/components/forms/input/input.js.map +1 -0
- package/dist/components/forms/input-group/index.d.ts +3 -0
- package/dist/components/forms/input-group/index.d.ts.map +1 -0
- package/dist/components/forms/input-group/input-group.d.ts +43 -0
- package/dist/components/forms/input-group/input-group.d.ts.map +1 -0
- package/dist/components/forms/input-group/input-group.js +55 -0
- package/dist/components/forms/input-group/input-group.js.map +1 -0
- package/dist/components/forms/multi-select/index.d.ts +3 -0
- package/dist/components/forms/multi-select/index.d.ts.map +1 -0
- package/dist/components/forms/multi-select/multi-select.d.ts +75 -0
- package/dist/components/forms/multi-select/multi-select.d.ts.map +1 -0
- package/dist/components/forms/multi-select/multi-select.js +259 -0
- package/dist/components/forms/multi-select/multi-select.js.map +1 -0
- package/dist/components/forms/radio/index.d.ts +3 -0
- package/dist/components/forms/radio/index.d.ts.map +1 -0
- package/dist/components/forms/radio/radio.d.ts +31 -0
- package/dist/components/forms/radio/radio.d.ts.map +1 -0
- package/dist/components/forms/radio/radio.js +74 -0
- package/dist/components/forms/radio/radio.js.map +1 -0
- package/dist/components/forms/radio-group/index.d.ts +3 -0
- package/dist/components/forms/radio-group/index.d.ts.map +1 -0
- package/dist/components/forms/radio-group/radio-group.d.ts +32 -0
- package/dist/components/forms/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/forms/radio-group/radio-group.js +28 -0
- package/dist/components/forms/radio-group/radio-group.js.map +1 -0
- package/dist/components/forms/select/index.d.ts +5 -0
- package/dist/components/forms/select/index.d.ts.map +1 -0
- package/dist/components/forms/select/select-item.d.ts +16 -0
- package/dist/components/forms/select/select-item.d.ts.map +1 -0
- package/dist/components/forms/select/select-item.js +9 -0
- package/dist/components/forms/select/select-item.js.map +1 -0
- package/dist/components/forms/select/select.d.ts +52 -0
- package/dist/components/forms/select/select.d.ts.map +1 -0
- package/dist/components/forms/select/select.js +51 -0
- package/dist/components/forms/select/select.js.map +1 -0
- package/dist/components/forms/slider/index.d.ts +3 -0
- package/dist/components/forms/slider/index.d.ts.map +1 -0
- package/dist/components/forms/slider/slider.d.ts +21 -0
- package/dist/components/forms/slider/slider.d.ts.map +1 -0
- package/dist/components/forms/slider/slider.js +65 -0
- package/dist/components/forms/slider/slider.js.map +1 -0
- package/dist/components/forms/switch/index.d.ts +3 -0
- package/dist/components/forms/switch/index.d.ts.map +1 -0
- package/dist/components/forms/switch/switch.d.ts +30 -0
- package/dist/components/forms/switch/switch.d.ts.map +1 -0
- package/dist/components/forms/switch/switch.js +104 -0
- package/dist/components/forms/switch/switch.js.map +1 -0
- package/dist/components/forms/textarea/index.d.ts +3 -0
- package/dist/components/forms/textarea/index.d.ts.map +1 -0
- package/dist/components/forms/textarea/textarea.d.ts +54 -0
- package/dist/components/forms/textarea/textarea.d.ts.map +1 -0
- package/dist/components/forms/textarea/textarea.js +55 -0
- package/dist/components/forms/textarea/textarea.js.map +1 -0
- package/dist/components/index.d.ts +124 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/layout/accordion/accordion.d.ts +30 -0
- package/dist/components/layout/accordion/accordion.d.ts.map +1 -0
- package/dist/components/layout/accordion/accordion.js +38 -0
- package/dist/components/layout/accordion/accordion.js.map +1 -0
- package/dist/components/layout/accordion/index.d.ts +3 -0
- package/dist/components/layout/accordion/index.d.ts.map +1 -0
- package/dist/components/layout/action-card/action-card.d.ts +37 -0
- package/dist/components/layout/action-card/action-card.d.ts.map +1 -0
- package/dist/components/layout/action-card/action-card.js +104 -0
- package/dist/components/layout/action-card/action-card.js.map +1 -0
- package/dist/components/layout/action-card/index.d.ts +3 -0
- package/dist/components/layout/action-card/index.d.ts.map +1 -0
- package/dist/components/layout/card/card-actions.d.ts +47 -0
- package/dist/components/layout/card/card-actions.d.ts.map +1 -0
- package/dist/components/layout/card/card-actions.js +30 -0
- package/dist/components/layout/card/card-actions.js.map +1 -0
- package/dist/components/layout/card/card-body.d.ts +26 -0
- package/dist/components/layout/card/card-body.d.ts.map +1 -0
- package/dist/components/layout/card/card-body.js +22 -0
- package/dist/components/layout/card/card-body.js.map +1 -0
- package/dist/components/layout/card/card-figure.d.ts +50 -0
- package/dist/components/layout/card/card-figure.d.ts.map +1 -0
- package/dist/components/layout/card/card-figure.js +27 -0
- package/dist/components/layout/card/card-figure.js.map +1 -0
- package/dist/components/layout/card/card-footer.d.ts +46 -0
- package/dist/components/layout/card/card-footer.d.ts.map +1 -0
- package/dist/components/layout/card/card-footer.js +39 -0
- package/dist/components/layout/card/card-footer.js.map +1 -0
- package/dist/components/layout/card/card-header.d.ts +41 -0
- package/dist/components/layout/card/card-header.d.ts.map +1 -0
- package/dist/components/layout/card/card-header.js +27 -0
- package/dist/components/layout/card/card-header.js.map +1 -0
- package/dist/components/layout/card/card-title.d.ts +43 -0
- package/dist/components/layout/card/card-title.d.ts.map +1 -0
- package/dist/components/layout/card/card-title.js +21 -0
- package/dist/components/layout/card/card-title.js.map +1 -0
- package/dist/components/layout/card/card.d.ts +74 -0
- package/dist/components/layout/card/card.d.ts.map +1 -0
- package/dist/components/layout/card/card.js +64 -0
- package/dist/components/layout/card/card.js.map +1 -0
- package/dist/components/layout/card/index.d.ts +15 -0
- package/dist/components/layout/card/index.d.ts.map +1 -0
- package/dist/components/layout/container/container.d.ts +33 -0
- package/dist/components/layout/container/container.d.ts.map +1 -0
- package/dist/components/layout/container/container.js +36 -0
- package/dist/components/layout/container/container.js.map +1 -0
- package/dist/components/layout/container/index.d.ts +3 -0
- package/dist/components/layout/container/index.d.ts.map +1 -0
- package/dist/components/layout/divider/divider.d.ts +15 -0
- package/dist/components/layout/divider/divider.d.ts.map +1 -0
- package/dist/components/layout/divider/divider.js +10 -0
- package/dist/components/layout/divider/divider.js.map +1 -0
- package/dist/components/layout/divider/index.d.ts +3 -0
- package/dist/components/layout/divider/index.d.ts.map +1 -0
- package/dist/components/layout/drawer/drawer.d.ts +35 -0
- package/dist/components/layout/drawer/drawer.d.ts.map +1 -0
- package/dist/components/layout/drawer/drawer.js +108 -0
- package/dist/components/layout/drawer/drawer.js.map +1 -0
- package/dist/components/layout/drawer/index.d.ts +3 -0
- package/dist/components/layout/drawer/index.d.ts.map +1 -0
- package/dist/components/layout/feature-section/feature-section.d.ts +36 -0
- package/dist/components/layout/feature-section/feature-section.d.ts.map +1 -0
- package/dist/components/layout/feature-section/feature-section.js +37 -0
- package/dist/components/layout/feature-section/feature-section.js.map +1 -0
- package/dist/components/layout/feature-section/index.d.ts +3 -0
- package/dist/components/layout/feature-section/index.d.ts.map +1 -0
- package/dist/components/layout/footer/footer.d.ts +37 -0
- package/dist/components/layout/footer/footer.d.ts.map +1 -0
- package/dist/components/layout/footer/footer.js +36 -0
- package/dist/components/layout/footer/footer.js.map +1 -0
- package/dist/components/layout/footer/index.d.ts +3 -0
- package/dist/components/layout/footer/index.d.ts.map +1 -0
- package/dist/components/layout/grid/grid.d.ts +66 -0
- package/dist/components/layout/grid/grid.d.ts.map +1 -0
- package/dist/components/layout/grid/grid.js +62 -0
- package/dist/components/layout/grid/grid.js.map +1 -0
- package/dist/components/layout/grid/index.d.ts +3 -0
- package/dist/components/layout/grid/index.d.ts.map +1 -0
- package/dist/components/layout/hero/hero.d.ts +61 -0
- package/dist/components/layout/hero/hero.d.ts.map +1 -0
- package/dist/components/layout/hero/hero.js +79 -0
- package/dist/components/layout/hero/hero.js.map +1 -0
- package/dist/components/layout/hero/index.d.ts +3 -0
- package/dist/components/layout/hero/index.d.ts.map +1 -0
- package/dist/components/layout/left-nav-layout/index.d.ts +7 -0
- package/dist/components/layout/left-nav-layout/index.d.ts.map +1 -0
- package/dist/components/layout/left-nav-layout/left-nav-item.d.ts +56 -0
- package/dist/components/layout/left-nav-layout/left-nav-item.d.ts.map +1 -0
- package/dist/components/layout/left-nav-layout/left-nav-item.js +105 -0
- package/dist/components/layout/left-nav-layout/left-nav-item.js.map +1 -0
- package/dist/components/layout/left-nav-layout/left-nav-layout.d.ts +67 -0
- package/dist/components/layout/left-nav-layout/left-nav-layout.d.ts.map +1 -0
- package/dist/components/layout/left-nav-layout/left-nav-layout.js +182 -0
- package/dist/components/layout/left-nav-layout/left-nav-layout.js.map +1 -0
- package/dist/components/layout/left-nav-layout/left-nav-section.d.ts +40 -0
- package/dist/components/layout/left-nav-layout/left-nav-section.d.ts.map +1 -0
- package/dist/components/layout/left-nav-layout/left-nav-section.js +119 -0
- package/dist/components/layout/left-nav-layout/left-nav-section.js.map +1 -0
- package/dist/components/layout/page/index.d.ts +3 -0
- package/dist/components/layout/page/index.d.ts.map +1 -0
- package/dist/components/layout/page/page.d.ts +17 -0
- package/dist/components/layout/page/page.d.ts.map +1 -0
- package/dist/components/layout/page/page.js +9 -0
- package/dist/components/layout/page/page.js.map +1 -0
- package/dist/components/layout/page-header/index.d.ts +3 -0
- package/dist/components/layout/page-header/index.d.ts.map +1 -0
- package/dist/components/layout/page-header/page-header.d.ts +21 -0
- package/dist/components/layout/page-header/page-header.d.ts.map +1 -0
- package/dist/components/layout/page-header/page-header.js +18 -0
- package/dist/components/layout/page-header/page-header.js.map +1 -0
- package/dist/components/layout/page-transition/index.d.ts +3 -0
- package/dist/components/layout/page-transition/index.d.ts.map +1 -0
- package/dist/components/layout/page-transition/page-transition.d.ts +52 -0
- package/dist/components/layout/page-transition/page-transition.d.ts.map +1 -0
- package/dist/components/layout/page-transition/page-transition.js +43 -0
- package/dist/components/layout/page-transition/page-transition.js.map +1 -0
- package/dist/components/layout/section/index.d.ts +3 -0
- package/dist/components/layout/section/index.d.ts.map +1 -0
- package/dist/components/layout/section/section.d.ts +35 -0
- package/dist/components/layout/section/section.d.ts.map +1 -0
- package/dist/components/layout/section/section.js +18 -0
- package/dist/components/layout/section/section.js.map +1 -0
- package/dist/components/layout/section-header/index.d.ts +3 -0
- package/dist/components/layout/section-header/index.d.ts.map +1 -0
- package/dist/components/layout/section-header/section-header.d.ts +23 -0
- package/dist/components/layout/section-header/section-header.d.ts.map +1 -0
- package/dist/components/layout/section-header/section-header.js +18 -0
- package/dist/components/layout/section-header/section-header.js.map +1 -0
- package/dist/components/layout/settings-page/index.d.ts +4 -0
- package/dist/components/layout/settings-page/index.d.ts.map +1 -0
- package/dist/components/layout/settings-page/setting-item.d.ts +52 -0
- package/dist/components/layout/settings-page/setting-item.d.ts.map +1 -0
- package/dist/components/layout/settings-page/setting-item.js +31 -0
- package/dist/components/layout/settings-page/setting-item.js.map +1 -0
- package/dist/components/layout/settings-page/settings-page.d.ts +37 -0
- package/dist/components/layout/settings-page/settings-page.d.ts.map +1 -0
- package/dist/components/layout/settings-page/settings-page.js +18 -0
- package/dist/components/layout/settings-page/settings-page.js.map +1 -0
- package/dist/components/layout/settings-page/settings-section.d.ts +35 -0
- package/dist/components/layout/settings-page/settings-section.d.ts.map +1 -0
- package/dist/components/layout/settings-page/settings-section.js +17 -0
- package/dist/components/layout/settings-page/settings-section.js.map +1 -0
- package/dist/components/layout/stack/index.d.ts +3 -0
- package/dist/components/layout/stack/index.d.ts.map +1 -0
- package/dist/components/layout/stack/stack.d.ts +33 -0
- package/dist/components/layout/stack/stack.d.ts.map +1 -0
- package/dist/components/layout/stack/stack.js +44 -0
- package/dist/components/layout/stack/stack.js.map +1 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +61 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +30 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts +3 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/navigation/dropdown/dropdown.d.ts +83 -0
- package/dist/components/navigation/dropdown/dropdown.d.ts.map +1 -0
- package/dist/components/navigation/dropdown/dropdown.js +295 -0
- package/dist/components/navigation/dropdown/dropdown.js.map +1 -0
- package/dist/components/navigation/dropdown/index.d.ts +5 -0
- package/dist/components/navigation/dropdown/index.d.ts.map +1 -0
- package/dist/components/navigation/nav/index.d.ts +3 -0
- package/dist/components/navigation/nav/index.d.ts.map +1 -0
- package/dist/components/navigation/nav/nav.d.ts +24 -0
- package/dist/components/navigation/nav/nav.d.ts.map +1 -0
- package/dist/components/navigation/nav/nav.js +32 -0
- package/dist/components/navigation/nav/nav.js.map +1 -0
- package/dist/components/navigation/nav-dropdown/index.d.ts +5 -0
- package/dist/components/navigation/nav-dropdown/index.d.ts.map +1 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown-item.d.ts +17 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown-item.d.ts.map +1 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown-item.js +17 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown-item.js.map +1 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown.d.ts +20 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown.d.ts.map +1 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown.js +24 -0
- package/dist/components/navigation/nav-dropdown/nav-dropdown.js.map +1 -0
- package/dist/components/navigation/navbar/index.d.ts +9 -0
- package/dist/components/navigation/navbar/index.d.ts.map +1 -0
- package/dist/components/navigation/navbar/navbar-brand.d.ts +23 -0
- package/dist/components/navigation/navbar/navbar-brand.d.ts.map +1 -0
- package/dist/components/navigation/navbar/navbar-brand.js +21 -0
- package/dist/components/navigation/navbar/navbar-brand.js.map +1 -0
- package/dist/components/navigation/navbar/navbar-link.d.ts +23 -0
- package/dist/components/navigation/navbar/navbar-link.d.ts.map +1 -0
- package/dist/components/navigation/navbar/navbar-link.js +34 -0
- package/dist/components/navigation/navbar/navbar-link.js.map +1 -0
- package/dist/components/navigation/navbar/navbar-toggle.d.ts +34 -0
- package/dist/components/navigation/navbar/navbar-toggle.d.ts.map +1 -0
- package/dist/components/navigation/navbar/navbar-toggle.js +37 -0
- package/dist/components/navigation/navbar/navbar-toggle.js.map +1 -0
- package/dist/components/navigation/navbar/navbar.d.ts +33 -0
- package/dist/components/navigation/navbar/navbar.d.ts.map +1 -0
- package/dist/components/navigation/navbar/navbar.js +40 -0
- package/dist/components/navigation/navbar/navbar.js.map +1 -0
- package/dist/components/navigation/notification-dropdown/index.d.ts +3 -0
- package/dist/components/navigation/notification-dropdown/index.d.ts.map +1 -0
- package/dist/components/navigation/notification-dropdown/notification-dropdown.d.ts +59 -0
- package/dist/components/navigation/notification-dropdown/notification-dropdown.d.ts.map +1 -0
- package/dist/components/navigation/notification-dropdown/notification-dropdown.js +456 -0
- package/dist/components/navigation/notification-dropdown/notification-dropdown.js.map +1 -0
- package/dist/components/navigation/pagination/index.d.ts +3 -0
- package/dist/components/navigation/pagination/index.d.ts.map +1 -0
- package/dist/components/navigation/pagination/pagination.d.ts +21 -0
- package/dist/components/navigation/pagination/pagination.d.ts.map +1 -0
- package/dist/components/navigation/pagination/pagination.js +72 -0
- package/dist/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/components/navigation/scroll-nav/index.d.ts +3 -0
- package/dist/components/navigation/scroll-nav/index.d.ts.map +1 -0
- package/dist/components/navigation/scroll-nav/scroll-nav.d.ts +53 -0
- package/dist/components/navigation/scroll-nav/scroll-nav.d.ts.map +1 -0
- package/dist/components/navigation/scroll-nav/scroll-nav.js +188 -0
- package/dist/components/navigation/scroll-nav/scroll-nav.js.map +1 -0
- package/dist/components/navigation/sidebar/index.d.ts +3 -0
- package/dist/components/navigation/sidebar/index.d.ts.map +1 -0
- package/dist/components/navigation/sidebar/sidebar.d.ts +18 -0
- package/dist/components/navigation/sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/navigation/sidebar/sidebar.js +41 -0
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -0
- package/dist/components/navigation/stepper/index.d.ts +3 -0
- package/dist/components/navigation/stepper/index.d.ts.map +1 -0
- package/dist/components/navigation/stepper/stepper.d.ts +50 -0
- package/dist/components/navigation/stepper/stepper.d.ts.map +1 -0
- package/dist/components/navigation/stepper/stepper.js +159 -0
- package/dist/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +3 -0
- package/dist/components/navigation/tabs/index.d.ts.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +32 -0
- package/dist/components/navigation/tabs/tabs.d.ts.map +1 -0
- package/dist/components/navigation/tabs/tabs.js +61 -0
- package/dist/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/components/system/auth-provider/auth-provider.d.ts +103 -0
- package/dist/components/system/auth-provider/auth-provider.d.ts.map +1 -0
- package/dist/components/system/auth-provider/auth-provider.js +118 -0
- package/dist/components/system/auth-provider/auth-provider.js.map +1 -0
- package/dist/components/system/auth-provider/auth-utils.d.ts +32 -0
- package/dist/components/system/auth-provider/auth-utils.d.ts.map +1 -0
- package/dist/components/system/auth-provider/auth-utils.js +83 -0
- package/dist/components/system/auth-provider/auth-utils.js.map +1 -0
- package/dist/components/system/auth-provider/index.d.ts +4 -0
- package/dist/components/system/auth-provider/index.d.ts.map +1 -0
- package/dist/components/system/color-mode-toggle/color-mode-toggle.d.ts +18 -0
- package/dist/components/system/color-mode-toggle/color-mode-toggle.d.ts.map +1 -0
- package/dist/components/system/color-mode-toggle/color-mode-toggle.js +27 -0
- package/dist/components/system/color-mode-toggle/color-mode-toggle.js.map +1 -0
- package/dist/components/system/color-mode-toggle/index.d.ts +3 -0
- package/dist/components/system/color-mode-toggle/index.d.ts.map +1 -0
- package/dist/components/system/error-boundary/error-boundary.d.ts +21 -0
- package/dist/components/system/error-boundary/error-boundary.d.ts.map +1 -0
- package/dist/components/system/icon/icon.d.ts +35 -0
- package/dist/components/system/icon/icon.d.ts.map +1 -0
- package/dist/components/system/icon/icon.js +83 -0
- package/dist/components/system/icon/icon.js.map +1 -0
- package/dist/components/system/icon/index.d.ts +3 -0
- package/dist/components/system/icon/index.d.ts.map +1 -0
- package/dist/components/system/theme-provider/index.d.ts +3 -0
- package/dist/components/system/theme-provider/index.d.ts.map +1 -0
- package/dist/components/system/theme-provider/theme-provider.d.ts +40 -0
- package/dist/components/system/theme-provider/theme-provider.d.ts.map +1 -0
- package/dist/components/system/theme-provider/theme-provider.js +55 -0
- package/dist/components/system/theme-provider/theme-provider.js.map +1 -0
- package/dist/components/typography/code/code.d.ts +24 -0
- package/dist/components/typography/code/code.d.ts.map +1 -0
- package/dist/components/typography/code/code.js +18 -0
- package/dist/components/typography/code/code.js.map +1 -0
- package/dist/components/typography/code/index.d.ts +3 -0
- package/dist/components/typography/code/index.d.ts.map +1 -0
- package/dist/components/typography/heading/heading.d.ts +32 -0
- package/dist/components/typography/heading/heading.d.ts.map +1 -0
- package/dist/components/typography/heading/heading.js +39 -0
- package/dist/components/typography/heading/heading.js.map +1 -0
- package/dist/components/typography/heading/index.d.ts +3 -0
- package/dist/components/typography/heading/index.d.ts.map +1 -0
- package/dist/components/typography/link/index.d.ts +3 -0
- package/dist/components/typography/link/index.d.ts.map +1 -0
- package/dist/components/typography/link/link.d.ts +44 -0
- package/dist/components/typography/link/link.d.ts.map +1 -0
- package/dist/components/typography/link/link.js +72 -0
- package/dist/components/typography/link/link.js.map +1 -0
- package/dist/components/typography/text/index.d.ts +3 -0
- package/dist/components/typography/text/index.d.ts.map +1 -0
- package/dist/components/typography/text/text.d.ts +104 -0
- package/dist/components/typography/text/text.d.ts.map +1 -0
- package/dist/components/typography/text/text.js +148 -0
- package/dist/components/typography/text/text.js.map +1 -0
- package/dist/components.d.ts +2 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/hooks/useDebounce.d.ts +29 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +26 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useScrollReset.d.ts +11 -0
- package/dist/hooks/useScrollReset.d.ts.map +1 -0
- package/dist/hooks/useScrollReset.js +55 -0
- package/dist/hooks/useScrollReset.js.map +1 -0
- package/dist/humans.txt +8 -0
- package/dist/icons/logo.svg +9 -0
- package/dist/index.d.ts +7 -1170
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +287 -4333
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +16 -0
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/robots.txt +5 -0
- package/dist/sitemap.xml +8 -0
- package/dist/staticwebapp.config.json +23 -0
- package/dist/style.css +2 -2
- package/dist/styles.d.ts +9 -0
- package/dist/theme/hydn-presets.d.ts +4 -0
- package/dist/theme/hydn-presets.d.ts.map +1 -0
- package/dist/theme/size-tokens.d.ts +686 -0
- package/dist/theme/size-tokens.d.ts.map +1 -0
- package/dist/theme/size-tokens.js +636 -0
- package/dist/theme/size-tokens.js.map +1 -0
- package/dist/theme/tokens.d.ts +116 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/theme/tokens.js +164 -0
- package/dist/theme/tokens.js.map +1 -0
- package/dist/utils/debounce.d.ts +7 -0
- package/dist/utils/debounce.d.ts.map +1 -0
- package/dist/utils/debounce.js +40 -0
- package/dist/utils/debounce.js.map +1 -0
- package/package.json +49 -43
- package/dist/index.cjs +0 -4425
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -1170
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FormEvent, ReactNode } from 'react';
|
|
2
|
+
import { FormSpacing } from '../../../theme/size-tokens';
|
|
3
|
+
export type FormProps = {
|
|
4
|
+
/** Form content - typically FormField, Fieldset, or Button components */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** Form submission handler - automatically prevents default */
|
|
7
|
+
onSubmit?: (e: FormEvent<HTMLFormElement>) => void;
|
|
8
|
+
/** HTML form method */
|
|
9
|
+
method?: 'get' | 'post';
|
|
10
|
+
/** Form action URL for native submission */
|
|
11
|
+
action?: string;
|
|
12
|
+
/** Disable browser validation */
|
|
13
|
+
noValidate?: boolean;
|
|
14
|
+
/** HTML id attribute */
|
|
15
|
+
id?: string;
|
|
16
|
+
/** Accessible label for screen readers */
|
|
17
|
+
ariaLabel?: string;
|
|
18
|
+
/** Spacing between form elements */
|
|
19
|
+
spacing?: FormSpacing;
|
|
20
|
+
/** Additional CSS classes applied to the form element */
|
|
21
|
+
className?: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Form - Semantic form wrapper with layout support
|
|
25
|
+
*
|
|
26
|
+
* Automatically prevents default on submit when onSubmit is provided.
|
|
27
|
+
* Uses flexbox for layout with configurable direction, spacing, and alignment.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* <Form onSubmit={handleSubmit} spacing="md">
|
|
32
|
+
* <FormField label="Email" required>
|
|
33
|
+
* <Input type="email" />
|
|
34
|
+
* </FormField>
|
|
35
|
+
* <Button type="submit">Submit</Button>
|
|
36
|
+
* </Form>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
declare function Form({ children, onSubmit, method, action, noValidate, id, ariaLabel, spacing, className }: Readonly<FormProps>): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
declare namespace Form {
|
|
41
|
+
var displayName: string;
|
|
42
|
+
}
|
|
43
|
+
export default Form;
|
|
44
|
+
//# sourceMappingURL=form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form/form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG;IACtB,yEAAyE;IACzE,QAAQ,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IACnD,uBAAuB;IACvB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AAEH,iBAAS,IAAI,CAAC,EACZ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAkB,EAClB,EAAE,EACF,SAAS,EACT,OAAc,EACd,SAAS,EACV,EAAE,QAAQ,CAAC,SAAS,CAAC,2CAqBrB;kBA/BQ,IAAI;;;AAmCb,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { clsx } from "../../../node_modules/clsx/dist/clsx.js";
|
|
3
|
+
import { formSpacing } from "../../../theme/size-tokens.js";
|
|
4
|
+
function Form({
|
|
5
|
+
children,
|
|
6
|
+
onSubmit,
|
|
7
|
+
method,
|
|
8
|
+
action,
|
|
9
|
+
noValidate = false,
|
|
10
|
+
id,
|
|
11
|
+
ariaLabel,
|
|
12
|
+
spacing = "md",
|
|
13
|
+
className
|
|
14
|
+
}) {
|
|
15
|
+
const handleSubmit = (e) => {
|
|
16
|
+
if (onSubmit) {
|
|
17
|
+
e.preventDefault();
|
|
18
|
+
onSubmit(e);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
"form",
|
|
23
|
+
{
|
|
24
|
+
onSubmit: handleSubmit,
|
|
25
|
+
method,
|
|
26
|
+
action,
|
|
27
|
+
noValidate,
|
|
28
|
+
id,
|
|
29
|
+
"aria-label": ariaLabel,
|
|
30
|
+
className: clsx("flex flex-col", formSpacing[spacing], className),
|
|
31
|
+
children
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
Form.displayName = "Form";
|
|
36
|
+
export {
|
|
37
|
+
Form as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../../../src/components/forms/form/form.tsx"],"sourcesContent":["import { FormEvent, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { formSpacing, type FormSpacing } from '../../../theme/size-tokens';\n\nexport type FormProps = {\n /** Form content - typically FormField, Fieldset, or Button components */\n children: ReactNode;\n /** Form submission handler - automatically prevents default */\n onSubmit?: (e: FormEvent<HTMLFormElement>) => void;\n /** HTML form method */\n method?: 'get' | 'post';\n /** Form action URL for native submission */\n action?: string;\n /** Disable browser validation */\n noValidate?: boolean;\n /** HTML id attribute */\n id?: string;\n /** Accessible label for screen readers */\n ariaLabel?: string;\n /** Spacing between form elements */\n spacing?: FormSpacing;\n /** Additional CSS classes applied to the form element */\n className?: string;\n};\n\n/**\n * Form - Semantic form wrapper with layout support\n *\n * Automatically prevents default on submit when onSubmit is provided.\n * Uses flexbox for layout with configurable direction, spacing, and alignment.\n *\n * @example\n * ```tsx\n * <Form onSubmit={handleSubmit} spacing=\"md\">\n * <FormField label=\"Email\" required>\n * <Input type=\"email\" />\n * </FormField>\n * <Button type=\"submit\">Submit</Button>\n * </Form>\n * ```\n */\n\nfunction Form({\n children,\n onSubmit,\n method,\n action,\n noValidate = false,\n id,\n ariaLabel,\n spacing = 'md',\n className\n}: Readonly<FormProps>) {\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n if (onSubmit) {\n e.preventDefault();\n onSubmit(e);\n }\n };\n\n return (\n <form\n onSubmit={handleSubmit}\n method={method}\n action={action}\n noValidate={noValidate}\n id={id}\n aria-label={ariaLabel}\n className={clsx('flex flex-col', formSpacing[spacing], className)}\n >\n {children}\n </form>\n );\n}\n\nForm.displayName = 'Form';\n\nexport default Form;\n"],"names":[],"mappings":";;;AA2CA,SAAS,KAAK;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AACF,GAAwB;AACtB,QAAM,eAAe,CAAC,MAAkC;AACtD,QAAI,UAAU;AACZ,QAAE,eAAA;AACF,eAAS,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ,WAAW,KAAK,iBAAiB,YAAY,OAAO,GAAG,SAAS;AAAA,MAE/D;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,KAAK,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CheckboxProps } from '../checkbox/checkbox';
|
|
2
|
+
import { FormSpacing } from '../../../theme/size-tokens';
|
|
3
|
+
export type FormCheckboxProps = Omit<CheckboxProps, 'ariaLabel' | 'id' | 'aria-describedby'> & {
|
|
4
|
+
/** Label text displayed next to the checkbox */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Helper text displayed below the checkbox */
|
|
7
|
+
helperText?: string;
|
|
8
|
+
/** Error message to display */
|
|
9
|
+
error?: string;
|
|
10
|
+
/** Shows required asterisk next to label */
|
|
11
|
+
required?: boolean;
|
|
12
|
+
/** HTML id attribute for the checkbox */
|
|
13
|
+
id?: string;
|
|
14
|
+
/** Spacing between checkbox/label and helper text */
|
|
15
|
+
spacing?: FormSpacing;
|
|
16
|
+
/** Associates the checkbox with additional descriptive text (merged with internal message reference) */
|
|
17
|
+
'aria-describedby'?: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* FormCheckbox - Checkbox with built-in label and optional helper/error text
|
|
21
|
+
*/
|
|
22
|
+
declare function FormCheckbox({ label, helperText, error, required, spacing, id: providedId, disabled, validationState, className, 'aria-describedby': userAriaDescribedby, ...checkboxProps }: Readonly<FormCheckboxProps>): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare namespace FormCheckbox {
|
|
24
|
+
var displayName: string;
|
|
25
|
+
}
|
|
26
|
+
export default FormCheckbox;
|
|
27
|
+
//# sourceMappingURL=form-checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-checkbox/form-checkbox.tsx"],"names":[],"mappings":"AAEA,OAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAElG,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,GAAG,kBAAkB,CAAC,GAAG;IAC7F,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wGAAwG;IACxG,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,OAAc,EACd,EAAE,EAAE,UAAU,EACd,QAAQ,EACR,eAAe,EACf,SAAS,EACT,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,aAAa,EACjB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAwC7B;kBApDQ,YAAY;;;AAwDrB,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
3
|
+
import Checkbox from "../checkbox/checkbox.js";
|
|
4
|
+
import { formSpacing, validationTextClasses } from "../../../theme/size-tokens.js";
|
|
5
|
+
function FormCheckbox({
|
|
6
|
+
label,
|
|
7
|
+
helperText,
|
|
8
|
+
error,
|
|
9
|
+
required = false,
|
|
10
|
+
spacing = "xs",
|
|
11
|
+
id: providedId,
|
|
12
|
+
disabled,
|
|
13
|
+
validationState,
|
|
14
|
+
className,
|
|
15
|
+
"aria-describedby": userAriaDescribedby,
|
|
16
|
+
...checkboxProps
|
|
17
|
+
}) {
|
|
18
|
+
const autoId = useId();
|
|
19
|
+
const inputId = providedId ?? autoId;
|
|
20
|
+
const messageId = `${inputId}-message`;
|
|
21
|
+
const resolvedValidationState = error ? "error" : validationState;
|
|
22
|
+
const hasMessage = !!(error || helperText);
|
|
23
|
+
const ariaDescribedby = [hasMessage ? messageId : void 0, userAriaDescribedby].filter(Boolean).join(" ") || void 0;
|
|
24
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex flex-col ${formSpacing[spacing]}`, children: [
|
|
25
|
+
/* @__PURE__ */ jsxs("label", { htmlFor: inputId, className: "inline-flex items-center gap-2 text-sm text-foreground w-fit", children: [
|
|
26
|
+
/* @__PURE__ */ jsx(
|
|
27
|
+
Checkbox,
|
|
28
|
+
{
|
|
29
|
+
...checkboxProps,
|
|
30
|
+
id: inputId,
|
|
31
|
+
disabled,
|
|
32
|
+
validationState: resolvedValidationState,
|
|
33
|
+
className,
|
|
34
|
+
ariaLabel: label,
|
|
35
|
+
"aria-describedby": ariaDescribedby
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsxs("span", { className: disabled ? "text-muted-foreground" : "text-foreground", children: [
|
|
39
|
+
label,
|
|
40
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-error ml-1", children: "*" })
|
|
41
|
+
] })
|
|
42
|
+
] }),
|
|
43
|
+
hasMessage && /* @__PURE__ */ jsx(
|
|
44
|
+
"p",
|
|
45
|
+
{
|
|
46
|
+
id: messageId,
|
|
47
|
+
className: `text-sm ${error ? validationTextClasses.error : validationTextClasses.neutral}`,
|
|
48
|
+
"aria-live": "polite",
|
|
49
|
+
children: error || helperText
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
FormCheckbox.displayName = "FormCheckbox";
|
|
55
|
+
export {
|
|
56
|
+
FormCheckbox as default
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=form-checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-checkbox.js","sources":["../../../../src/components/forms/form-checkbox/form-checkbox.tsx"],"sourcesContent":["import { useId } from 'react';\n\nimport Checkbox, { type CheckboxProps } from '../checkbox/checkbox';\nimport { formSpacing, validationTextClasses, type FormSpacing } from '../../../theme/size-tokens';\n\nexport type FormCheckboxProps = Omit<CheckboxProps, 'ariaLabel' | 'id' | 'aria-describedby'> & {\n /** Label text displayed next to the checkbox */\n label: string;\n /** Helper text displayed below the checkbox */\n helperText?: string;\n /** Error message to display */\n error?: string;\n /** Shows required asterisk next to label */\n required?: boolean;\n /** HTML id attribute for the checkbox */\n id?: string;\n /** Spacing between checkbox/label and helper text */\n spacing?: FormSpacing;\n /** Associates the checkbox with additional descriptive text (merged with internal message reference) */\n 'aria-describedby'?: string;\n};\n\n/**\n * FormCheckbox - Checkbox with built-in label and optional helper/error text\n */\nfunction FormCheckbox({\n label,\n helperText,\n error,\n required = false,\n spacing = 'xs',\n id: providedId,\n disabled,\n validationState,\n className,\n 'aria-describedby': userAriaDescribedby,\n ...checkboxProps\n}: Readonly<FormCheckboxProps>) {\n const autoId = useId();\n const inputId = providedId ?? autoId;\n const messageId = `${inputId}-message`;\n const resolvedValidationState = error ? 'error' : validationState;\n const hasMessage = !!(error || helperText);\n\n // Merge internal message reference with user-provided aria-describedby\n const ariaDescribedby =\n [hasMessage ? messageId : undefined, userAriaDescribedby].filter(Boolean).join(' ') || undefined;\n\n return (\n <div className={`flex flex-col ${formSpacing[spacing]}`}>\n <label htmlFor={inputId} className=\"inline-flex items-center gap-2 text-sm text-foreground w-fit\">\n <Checkbox\n {...checkboxProps}\n id={inputId}\n disabled={disabled}\n validationState={resolvedValidationState}\n className={className}\n ariaLabel={label}\n aria-describedby={ariaDescribedby}\n />\n <span className={disabled ? 'text-muted-foreground' : 'text-foreground'}>\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </span>\n </label>\n\n {hasMessage && (\n <p\n id={messageId}\n className={`text-sm ${error ? validationTextClasses.error : validationTextClasses.neutral}`}\n aria-live=\"polite\"\n >\n {error || helperText}\n </p>\n )}\n </div>\n );\n}\n\nFormCheckbox.displayName = 'FormCheckbox';\n\nexport default FormCheckbox;\n"],"names":[],"mappings":";;;;AAyBA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV,IAAI;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,GAAG;AACL,GAAgC;AAC9B,QAAM,SAAS,MAAA;AACf,QAAM,UAAU,cAAc;AAC9B,QAAM,YAAY,GAAG,OAAO;AAC5B,QAAM,0BAA0B,QAAQ,UAAU;AAClD,QAAM,aAAa,CAAC,EAAE,SAAS;AAG/B,QAAM,kBACJ,CAAC,aAAa,YAAY,QAAW,mBAAmB,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAEzF,8BACG,OAAA,EAAI,WAAW,iBAAiB,YAAY,OAAO,CAAC,IACnD,UAAA;AAAA,IAAA,qBAAC,SAAA,EAAM,SAAS,SAAS,WAAU,gEACjC,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACE,GAAG;AAAA,UACJ,IAAI;AAAA,UACJ;AAAA,UACA,iBAAiB;AAAA,UACjB;AAAA,UACA,WAAW;AAAA,UACX,oBAAkB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEpB,qBAAC,QAAA,EAAK,WAAW,WAAW,0BAA0B,mBACnD,UAAA;AAAA,QAAA;AAAA,QACA,YAAY,oBAAC,QAAA,EAAK,WAAU,mBAAkB,UAAA,IAAA,CAAC;AAAA,MAAA,EAAA,CAClD;AAAA,IAAA,GACF;AAAA,IAEC,cACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QACJ,WAAW,WAAW,QAAQ,sBAAsB,QAAQ,sBAAsB,OAAO;AAAA,QACzF,aAAU;AAAA,QAET,UAAA,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GAEJ;AAEJ;AAEA,aAAa,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FormSpacing, InputWidth } from '../../../theme/size-tokens';
|
|
3
|
+
import { Alignment } from '../../../theme/tokens';
|
|
4
|
+
export type FormCheckboxGroupProps = {
|
|
5
|
+
/** Checkbox components or custom checkbox rows */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
/** Label text displayed above the checkbox group */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** Helper text displayed below the checkbox group */
|
|
10
|
+
helperText?: string;
|
|
11
|
+
/** Error message to display */
|
|
12
|
+
error?: string;
|
|
13
|
+
/** Shows required asterisk next to label */
|
|
14
|
+
required?: boolean;
|
|
15
|
+
/** Disables all checkboxes within the group */
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/** HTML id attribute for the fieldset */
|
|
18
|
+
id?: string;
|
|
19
|
+
/** Spacing between label, group, and helper/error text */
|
|
20
|
+
spacing?: FormSpacing;
|
|
21
|
+
/** Spacing between checkbox items */
|
|
22
|
+
itemSpacing?: FormSpacing;
|
|
23
|
+
/** Layout direction for the checkbox list */
|
|
24
|
+
orientation?: 'horizontal' | 'vertical';
|
|
25
|
+
/** Width of the group - uses semantic sizing */
|
|
26
|
+
width?: InputWidth;
|
|
27
|
+
/** Aligns the group - left, center, or right */
|
|
28
|
+
align?: Alignment;
|
|
29
|
+
/** Reserve space for helper/error text to prevent layout shift */
|
|
30
|
+
reserveMessageSpace?: boolean;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* FormCheckboxGroup - Checkbox list wrapper with label and validation messaging
|
|
34
|
+
*/
|
|
35
|
+
declare function FormCheckboxGroup({ children, label, helperText, error, required, disabled, id, spacing, itemSpacing, orientation, width, align, reserveMessageSpace }: Readonly<FormCheckboxGroupProps>): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
declare namespace FormCheckboxGroup {
|
|
37
|
+
var displayName: string;
|
|
38
|
+
}
|
|
39
|
+
export default FormCheckboxGroup;
|
|
40
|
+
//# sourceMappingURL=form-checkbox-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-checkbox-group.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-checkbox-group/form-checkbox-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,kDAAkD;IAClD,QAAQ,EAAE,SAAS,CAAC;IACpB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qCAAqC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,gDAAgD;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAoCF;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,QAAgB,EAChB,EAAE,EACF,OAAc,EACd,WAAkB,EAClB,WAAwB,EACxB,KAAc,EACd,KAAgB,EAChB,mBAA2B,EAC5B,EAAE,QAAQ,CAAC,sBAAsB,CAAC,2CA0BlC;kBAxCQ,iBAAiB;;;AA4C1B,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import FormField from "../form-field/form-field.js";
|
|
3
|
+
import { formSpacing } from "../../../theme/size-tokens.js";
|
|
4
|
+
import Fieldset from "../fieldset/fieldset.js";
|
|
5
|
+
function CheckboxGroupField({
|
|
6
|
+
children,
|
|
7
|
+
itemSpacing,
|
|
8
|
+
orientation,
|
|
9
|
+
validationState,
|
|
10
|
+
disabled,
|
|
11
|
+
id,
|
|
12
|
+
"aria-describedby": ariaDescribedBy
|
|
13
|
+
}) {
|
|
14
|
+
const orientationClasses = orientation === "horizontal" ? "flex flex-row flex-wrap" : "flex flex-col";
|
|
15
|
+
return /* @__PURE__ */ jsx(
|
|
16
|
+
Fieldset,
|
|
17
|
+
{
|
|
18
|
+
id,
|
|
19
|
+
disabled,
|
|
20
|
+
"aria-describedby": ariaDescribedBy,
|
|
21
|
+
"aria-invalid": validationState === "error" ? "true" : void 0,
|
|
22
|
+
bordered: false,
|
|
23
|
+
children: /* @__PURE__ */ jsx("div", { className: `${orientationClasses} ${formSpacing[itemSpacing]}`, children })
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function FormCheckboxGroup({
|
|
28
|
+
children,
|
|
29
|
+
label,
|
|
30
|
+
helperText,
|
|
31
|
+
error,
|
|
32
|
+
required = false,
|
|
33
|
+
disabled = false,
|
|
34
|
+
id,
|
|
35
|
+
spacing = "sm",
|
|
36
|
+
itemSpacing = "sm",
|
|
37
|
+
orientation = "vertical",
|
|
38
|
+
width = "full",
|
|
39
|
+
align = "center",
|
|
40
|
+
reserveMessageSpace = false
|
|
41
|
+
}) {
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
FormField,
|
|
44
|
+
{
|
|
45
|
+
label,
|
|
46
|
+
helperText,
|
|
47
|
+
spacing,
|
|
48
|
+
error,
|
|
49
|
+
required,
|
|
50
|
+
disabled,
|
|
51
|
+
id,
|
|
52
|
+
width,
|
|
53
|
+
align,
|
|
54
|
+
reserveMessageSpace,
|
|
55
|
+
children: /* @__PURE__ */ jsx(
|
|
56
|
+
CheckboxGroupField,
|
|
57
|
+
{
|
|
58
|
+
itemSpacing,
|
|
59
|
+
orientation,
|
|
60
|
+
validationState: error ? "error" : void 0,
|
|
61
|
+
disabled,
|
|
62
|
+
id,
|
|
63
|
+
"aria-describedby": id && (helperText || error) ? `${id}-helper-text` : void 0,
|
|
64
|
+
children
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
FormCheckboxGroup.displayName = "FormCheckboxGroup";
|
|
71
|
+
export {
|
|
72
|
+
FormCheckboxGroup as default
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=form-checkbox-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-checkbox-group.js","sources":["../../../../src/components/forms/form-checkbox-group/form-checkbox-group.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport FormField, { type ValidationState } from '../form-field/form-field';\nimport { formSpacing, type FormSpacing, type InputWidth } from '../../../theme/size-tokens';\nimport { type Alignment } from '../../../theme/tokens';\nimport Fieldset from '../../forms/fieldset/fieldset';\n\nexport type FormCheckboxGroupProps = {\n /** Checkbox components or custom checkbox rows */\n children: ReactNode;\n /** Label text displayed above the checkbox group */\n label?: string;\n /** Helper text displayed below the checkbox group */\n helperText?: string;\n /** Error message to display */\n error?: string;\n /** Shows required asterisk next to label */\n required?: boolean;\n /** Disables all checkboxes within the group */\n disabled?: boolean;\n /** HTML id attribute for the fieldset */\n id?: string;\n /** Spacing between label, group, and helper/error text */\n spacing?: FormSpacing;\n /** Spacing between checkbox items */\n itemSpacing?: FormSpacing;\n /** Layout direction for the checkbox list */\n orientation?: 'horizontal' | 'vertical';\n /** Width of the group - uses semantic sizing */\n width?: InputWidth;\n /** Aligns the group - left, center, or right */\n align?: Alignment;\n /** Reserve space for helper/error text to prevent layout shift */\n reserveMessageSpace?: boolean;\n};\n\ntype CheckboxGroupFieldProps = {\n children: ReactNode;\n itemSpacing: FormSpacing;\n orientation: 'horizontal' | 'vertical';\n validationState?: ValidationState;\n disabled?: boolean;\n id?: string;\n 'aria-describedby'?: string;\n};\n\nfunction CheckboxGroupField({\n children,\n itemSpacing,\n orientation,\n validationState,\n disabled,\n id,\n 'aria-describedby': ariaDescribedBy\n}: Readonly<CheckboxGroupFieldProps>) {\n const orientationClasses = orientation === 'horizontal' ? 'flex flex-row flex-wrap' : 'flex flex-col';\n\n return (\n <Fieldset\n id={id}\n disabled={disabled}\n aria-describedby={ariaDescribedBy}\n aria-invalid={validationState === 'error' ? 'true' : undefined}\n bordered={false}\n >\n <div className={`${orientationClasses} ${formSpacing[itemSpacing]}`}>{children}</div>\n </Fieldset>\n );\n}\n\n/**\n * FormCheckboxGroup - Checkbox list wrapper with label and validation messaging\n */\nfunction FormCheckboxGroup({\n children,\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n id,\n spacing = 'sm',\n itemSpacing = 'sm',\n orientation = 'vertical',\n width = 'full',\n align = 'center',\n reserveMessageSpace = false\n}: Readonly<FormCheckboxGroupProps>) {\n return (\n <FormField\n label={label}\n helperText={helperText}\n spacing={spacing}\n error={error}\n required={required}\n disabled={disabled}\n id={id}\n width={width}\n align={align}\n reserveMessageSpace={reserveMessageSpace}\n >\n <CheckboxGroupField\n itemSpacing={itemSpacing}\n orientation={orientation}\n validationState={error ? 'error' : undefined}\n disabled={disabled}\n id={id}\n aria-describedby={id && (helperText || error) ? `${id}-helper-text` : undefined}\n >\n {children}\n </CheckboxGroupField>\n </FormField>\n );\n}\n\nFormCheckboxGroup.displayName = 'FormCheckboxGroup';\n\nexport default FormCheckboxGroup;\n"],"names":[],"mappings":";;;;AA8CA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AACtB,GAAsC;AACpC,QAAM,qBAAqB,gBAAgB,eAAe,4BAA4B;AAEtF,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,oBAAkB;AAAA,MAClB,gBAAc,oBAAoB,UAAU,SAAS;AAAA,MACrD,UAAU;AAAA,MAEV,UAAA,oBAAC,OAAA,EAAI,WAAW,GAAG,kBAAkB,IAAI,YAAY,WAAW,CAAC,IAAK,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGrF;AAKA,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,sBAAsB;AACxB,GAAqC;AACnC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,iBAAiB,QAAQ,UAAU;AAAA,UACnC;AAAA,UACA;AAAA,UACA,oBAAkB,OAAO,cAAc,SAAS,GAAG,EAAE,iBAAiB;AAAA,UAErE;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;AAEA,kBAAkB,cAAc;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ValidationState, FormSpacing, InputWidth } from '../../../theme/size-tokens';
|
|
3
|
+
import { Alignment } from '../../../theme/tokens';
|
|
4
|
+
export type { ValidationState };
|
|
5
|
+
export type FormFieldProps = {
|
|
6
|
+
/** Form input component - typically Input, Select, Textarea, etc. */
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
/** Label text displayed above the input */
|
|
9
|
+
label?: string;
|
|
10
|
+
/** Error message to display */
|
|
11
|
+
error?: string;
|
|
12
|
+
/** Helper text displayed below input */
|
|
13
|
+
helperText?: string;
|
|
14
|
+
/** Shows required asterisk next to label */
|
|
15
|
+
required?: boolean;
|
|
16
|
+
/** Spacing between label, input, and helper text */
|
|
17
|
+
spacing?: FormSpacing;
|
|
18
|
+
/** Disables the form field and child input */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** HTML id for the input - auto-generated if not provided */
|
|
21
|
+
id?: string;
|
|
22
|
+
/** Same as id - use when you want the label's htmlFor to match the input id (accessibility) */
|
|
23
|
+
htmlFor?: string;
|
|
24
|
+
/** Width of the form field - uses semantic sizing */
|
|
25
|
+
width?: InputWidth;
|
|
26
|
+
/** Aligns the form field - left, center, or right */
|
|
27
|
+
align?: Alignment;
|
|
28
|
+
/** Reserve space for helper/error text to prevent layout shift */
|
|
29
|
+
reserveMessageSpace?: boolean;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* FormField - Simple wrapper for form inputs with label and error display
|
|
33
|
+
*
|
|
34
|
+
* For most use cases, prefer the unified components:
|
|
35
|
+
* - FormInput - for text inputs
|
|
36
|
+
* - FormSelect - for dropdowns
|
|
37
|
+
* - FormTextarea - for multi-line text
|
|
38
|
+
*
|
|
39
|
+
* Use FormField when you need to wrap custom or third-party inputs.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* <FormField label="Email" required error={errors.email}>
|
|
44
|
+
* <Input type="email" placeholder="you@example.com" />
|
|
45
|
+
* </FormField>
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
declare function FormField({ children, label, error, helperText, required, spacing, disabled, id: providedId, htmlFor: htmlForId, width, align, reserveMessageSpace }: Readonly<FormFieldProps>): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
declare namespace FormField {
|
|
50
|
+
var displayName: string;
|
|
51
|
+
}
|
|
52
|
+
export default FormField;
|
|
53
|
+
//# sourceMappingURL=form-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqD,MAAM,OAAO,CAAC;AAErF,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,UAAU,EAEhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,uBAAuB,CAAC;AAE1E,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,qEAAqE;IACrE,QAAQ,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,SAAS,CAAC,EACjB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,QAAgB,EAChB,OAAc,EACd,QAAgB,EAChB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,SAAS,EAClB,KAAc,EACd,KAAgB,EAChB,mBAA2B,EAC5B,EAAE,QAAQ,CAAC,cAAc,CAAC,2CAoD1B;kBAjEQ,SAAS;;;AAqElB,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useId, isValidElement, cloneElement } from "react";
|
|
3
|
+
import { inputWidthSizes, formSpacing, validationTextClasses } from "../../../theme/size-tokens.js";
|
|
4
|
+
import { inputAlignClasses } from "../../../theme/tokens.js";
|
|
5
|
+
function FormField({
|
|
6
|
+
children,
|
|
7
|
+
label,
|
|
8
|
+
error,
|
|
9
|
+
helperText,
|
|
10
|
+
required = false,
|
|
11
|
+
spacing = "sm",
|
|
12
|
+
disabled = false,
|
|
13
|
+
id: providedId,
|
|
14
|
+
htmlFor: htmlForId,
|
|
15
|
+
width = "full",
|
|
16
|
+
align = "center",
|
|
17
|
+
reserveMessageSpace = false
|
|
18
|
+
}) {
|
|
19
|
+
const autoId = useId();
|
|
20
|
+
const inputId = providedId ?? htmlForId ?? autoId;
|
|
21
|
+
const validationState = error ? "error" : "neutral";
|
|
22
|
+
const hasMessage = !!(error || helperText);
|
|
23
|
+
const enhancedChild = isValidElement(children) ? cloneElement(
|
|
24
|
+
children,
|
|
25
|
+
{
|
|
26
|
+
validationState,
|
|
27
|
+
...disabled ? { disabled: true } : {},
|
|
28
|
+
id: inputId,
|
|
29
|
+
...hasMessage ? { "aria-describedby": `${inputId}-message` } : {}
|
|
30
|
+
}
|
|
31
|
+
) : children;
|
|
32
|
+
const widthClass = inputWidthSizes[width];
|
|
33
|
+
const alignmentClass = inputAlignClasses[align];
|
|
34
|
+
const shouldReserveSpace = reserveMessageSpace && !helperText;
|
|
35
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex flex-col ${widthClass} ${alignmentClass} ${formSpacing[spacing]}`, children: [
|
|
36
|
+
label && /* @__PURE__ */ jsxs("label", { htmlFor: inputId, className: "text-sm font-semibold text-foreground", children: [
|
|
37
|
+
label,
|
|
38
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-error ml-1", children: "*" })
|
|
39
|
+
] }),
|
|
40
|
+
enhancedChild,
|
|
41
|
+
(helperText || error || shouldReserveSpace) && /* @__PURE__ */ jsx(
|
|
42
|
+
"p",
|
|
43
|
+
{
|
|
44
|
+
id: `${inputId}-message`,
|
|
45
|
+
className: `text-sm ${error ? validationTextClasses.error : validationTextClasses.neutral}`,
|
|
46
|
+
"aria-live": "polite",
|
|
47
|
+
children: error || helperText || " "
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
] });
|
|
51
|
+
}
|
|
52
|
+
FormField.displayName = "FormField";
|
|
53
|
+
export {
|
|
54
|
+
FormField as default
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=form-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.js","sources":["../../../../src/components/forms/form-field/form-field.tsx"],"sourcesContent":["import { ReactNode, ReactElement, cloneElement, isValidElement, useId } from 'react';\n\nimport {\n validationTextClasses,\n formSpacing,\n type ValidationState,\n type FormSpacing,\n type InputWidth,\n inputWidthSizes\n} from '../../../theme/size-tokens';\nimport { type Alignment, inputAlignClasses } from '../../../theme/tokens';\n\nexport type { ValidationState };\n\nexport type FormFieldProps = {\n /** Form input component - typically Input, Select, Textarea, etc. */\n children: ReactNode;\n /** Label text displayed above the input */\n label?: string;\n /** Error message to display */\n error?: string;\n /** Helper text displayed below input */\n helperText?: string;\n /** Shows required asterisk next to label */\n required?: boolean;\n /** Spacing between label, input, and helper text */\n spacing?: FormSpacing;\n /** Disables the form field and child input */\n disabled?: boolean;\n /** HTML id for the input - auto-generated if not provided */\n id?: string;\n /** Same as id - use when you want the label's htmlFor to match the input id (accessibility) */\n htmlFor?: string;\n /** Width of the form field - uses semantic sizing */\n width?: InputWidth;\n /** Aligns the form field - left, center, or right */\n align?: Alignment;\n /** Reserve space for helper/error text to prevent layout shift */\n reserveMessageSpace?: boolean;\n};\n\n/**\n * FormField - Simple wrapper for form inputs with label and error display\n *\n * For most use cases, prefer the unified components:\n * - FormInput - for text inputs\n * - FormSelect - for dropdowns\n * - FormTextarea - for multi-line text\n *\n * Use FormField when you need to wrap custom or third-party inputs.\n *\n * @example\n * ```tsx\n * <FormField label=\"Email\" required error={errors.email}>\n * <Input type=\"email\" placeholder=\"you@example.com\" />\n * </FormField>\n * ```\n */\nfunction FormField({\n children,\n label,\n error,\n helperText,\n required = false,\n spacing = 'sm',\n disabled = false,\n id: providedId,\n htmlFor: htmlForId,\n width = 'full',\n align = 'center',\n reserveMessageSpace = false\n}: Readonly<FormFieldProps>) {\n const autoId = useId();\n const inputId = providedId ?? htmlForId ?? autoId;\n\n const validationState: ValidationState = error ? 'error' : 'neutral';\n const hasMessage = !!(error || helperText);\n\n const enhancedChild = isValidElement(children)\n ? cloneElement(\n children as ReactElement<{\n validationState?: ValidationState;\n disabled?: boolean;\n id?: string;\n 'aria-describedby'?: string;\n }>,\n {\n validationState,\n ...(disabled ? { disabled: true } : {}),\n id: inputId,\n ...(hasMessage ? { 'aria-describedby': `${inputId}-message` } : {})\n }\n )\n : children;\n\n const widthClass = inputWidthSizes[width];\n const alignmentClass = inputAlignClasses[align];\n\n // Only reserve space when there's no helper text but we want to prevent layout shift for errors\n const shouldReserveSpace = reserveMessageSpace && !helperText;\n\n return (\n <div className={`flex flex-col ${widthClass} ${alignmentClass} ${formSpacing[spacing]}`}>\n {label && (\n <label htmlFor={inputId} className=\"text-sm font-semibold text-foreground\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n\n {enhancedChild}\n\n {(helperText || error || shouldReserveSpace) && (\n <p\n id={`${inputId}-message`}\n className={`text-sm ${error ? validationTextClasses.error : validationTextClasses.neutral}`}\n aria-live=\"polite\"\n >\n {error || helperText || '\\u00A0'}\n </p>\n )}\n </div>\n );\n}\n\nFormField.displayName = 'FormField';\n\nexport default FormField;\n"],"names":[],"mappings":";;;;AA0DA,SAAS,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,sBAAsB;AACxB,GAA6B;AAC3B,QAAM,SAAS,MAAA;AACf,QAAM,UAAU,cAAc,aAAa;AAE3C,QAAM,kBAAmC,QAAQ,UAAU;AAC3D,QAAM,aAAa,CAAC,EAAE,SAAS;AAE/B,QAAM,gBAAgB,eAAe,QAAQ,IACzC;AAAA,IACE;AAAA,IAMA;AAAA,MACE;AAAA,MACA,GAAI,WAAW,EAAE,UAAU,KAAA,IAAS,CAAA;AAAA,MACpC,IAAI;AAAA,MACJ,GAAI,aAAa,EAAE,oBAAoB,GAAG,OAAO,eAAe,CAAA;AAAA,IAAC;AAAA,EACnE,IAEF;AAEJ,QAAM,aAAa,gBAAgB,KAAK;AACxC,QAAM,iBAAiB,kBAAkB,KAAK;AAG9C,QAAM,qBAAqB,uBAAuB,CAAC;AAEnD,SACE,qBAAC,OAAA,EAAI,WAAW,iBAAiB,UAAU,IAAI,cAAc,IAAI,YAAY,OAAO,CAAC,IAClF,UAAA;AAAA,IAAA,SACC,qBAAC,SAAA,EAAM,SAAS,SAAS,WAAU,yCAChC,UAAA;AAAA,MAAA;AAAA,MACA,YAAY,oBAAC,QAAA,EAAK,WAAU,mBAAkB,UAAA,IAAA,CAAC;AAAA,IAAA,GAClD;AAAA,IAGD;AAAA,KAEC,cAAc,SAAS,uBACvB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI,GAAG,OAAO;AAAA,QACd,WAAW,WAAW,QAAQ,sBAAsB,QAAQ,sBAAsB,OAAO;AAAA,QACzF,aAAU;AAAA,QAET,mBAAS,cAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAC1B,GAEJ;AAEJ;AAEA,UAAU,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { InputProps } from '../input/input';
|
|
2
|
+
import { FormSpacing } from '../../../theme/size-tokens';
|
|
3
|
+
export type FormInputProps = Omit<InputProps, 'validationState'> & {
|
|
4
|
+
/** Label text displayed above the input */
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Helper text displayed below input */
|
|
7
|
+
helperText?: string;
|
|
8
|
+
/** Spacing between label, input, and helper text */
|
|
9
|
+
spacing?: FormSpacing;
|
|
10
|
+
/** Error message to display */
|
|
11
|
+
error?: string;
|
|
12
|
+
/** Custom validation rule */
|
|
13
|
+
pattern?: string;
|
|
14
|
+
/** Custom validation message */
|
|
15
|
+
title?: string;
|
|
16
|
+
/** Input alignment */
|
|
17
|
+
align?: 'left' | 'center' | 'right';
|
|
18
|
+
/** Reserve space for error message to prevent layout shift */
|
|
19
|
+
reserveMessageSpace?: boolean;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* FormInput - Input wrapped with FormField for label and error display
|
|
23
|
+
*
|
|
24
|
+
* Uses native HTML5 validation. Set `pattern` and `title` for custom validation messages.
|
|
25
|
+
*
|
|
26
|
+
* **Validation State:**
|
|
27
|
+
* - When `error` prop is provided, the validation state is set to 'error', the input displays
|
|
28
|
+
* error styling (red border), and the error message is shown below the input
|
|
29
|
+
* - The `error` prop takes precedence over `helperText` - only one is displayed at a time
|
|
30
|
+
* - Without an error, `helperText` is displayed in default styling
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* // Simple required email
|
|
35
|
+
* <FormInput label="Email" type="email" required placeholder="you@example.com" />
|
|
36
|
+
*
|
|
37
|
+
* // With error state
|
|
38
|
+
* <FormInput label="Email" error="Invalid email address" helperText="We'll never share" />
|
|
39
|
+
*
|
|
40
|
+
* // With custom validation message
|
|
41
|
+
* <FormInput
|
|
42
|
+
* label="Corporate Email"
|
|
43
|
+
* type="email"
|
|
44
|
+
* required
|
|
45
|
+
* pattern=".+@company\.com"
|
|
46
|
+
* title="Please use your company email address"
|
|
47
|
+
* placeholder="you@company.com"
|
|
48
|
+
* />
|
|
49
|
+
*
|
|
50
|
+
* // Number with range
|
|
51
|
+
* <FormInput label="Age" type="number" min={18} max={120} required />
|
|
52
|
+
*
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare function FormInput({ label, helperText, spacing, error, required, disabled, id, pattern, title, width, align, reserveMessageSpace, onChange, ...inputProps }: Readonly<FormInputProps>): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
declare namespace FormInput {
|
|
57
|
+
var displayName: string;
|
|
58
|
+
}
|
|
59
|
+
export default FormInput;
|
|
60
|
+
//# sourceMappingURL=form-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-input.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-input/form-input.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG;IACjE,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,iBAAS,SAAS,CAAC,EAEjB,KAAK,EACL,UAAU,EACV,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,OAAO,EACP,KAAK,EACL,KAAK,EACL,KAAgB,EAChB,mBAA2B,EAC3B,QAAQ,EACR,GAAG,UAAU,EACd,EAAE,QAAQ,CAAC,cAAc,CAAC,2CAyB1B;kBAzCQ,SAAS;;;AA6ClB,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import FormField from "../form-field/form-field.js";
|
|
3
|
+
import Input from "../input/input.js";
|
|
4
|
+
function FormInput({
|
|
5
|
+
// FormField props
|
|
6
|
+
label,
|
|
7
|
+
helperText,
|
|
8
|
+
spacing,
|
|
9
|
+
error,
|
|
10
|
+
required,
|
|
11
|
+
disabled,
|
|
12
|
+
id,
|
|
13
|
+
pattern,
|
|
14
|
+
title,
|
|
15
|
+
width,
|
|
16
|
+
align = "center",
|
|
17
|
+
reserveMessageSpace = false,
|
|
18
|
+
onChange,
|
|
19
|
+
...inputProps
|
|
20
|
+
}) {
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
FormField,
|
|
23
|
+
{
|
|
24
|
+
label,
|
|
25
|
+
helperText,
|
|
26
|
+
spacing,
|
|
27
|
+
error,
|
|
28
|
+
required,
|
|
29
|
+
disabled,
|
|
30
|
+
id,
|
|
31
|
+
width,
|
|
32
|
+
align,
|
|
33
|
+
reserveMessageSpace,
|
|
34
|
+
children: /* @__PURE__ */ jsx(
|
|
35
|
+
Input,
|
|
36
|
+
{
|
|
37
|
+
...inputProps,
|
|
38
|
+
onChange,
|
|
39
|
+
required,
|
|
40
|
+
disabled,
|
|
41
|
+
id,
|
|
42
|
+
pattern,
|
|
43
|
+
title
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
FormInput.displayName = "FormInput";
|
|
50
|
+
export {
|
|
51
|
+
FormInput as default
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=form-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-input.js","sources":["../../../../src/components/forms/form-input/form-input.tsx"],"sourcesContent":["import FormField from '../form-field/form-field';\nimport Input, { type InputProps } from '../input/input';\nimport type { FormSpacing } from '../../../theme/size-tokens';\n\nexport type FormInputProps = Omit<InputProps, 'validationState'> & {\n /** Label text displayed above the input */\n label?: string;\n /** Helper text displayed below input */\n helperText?: string;\n /** Spacing between label, input, and helper text */\n spacing?: FormSpacing;\n /** Error message to display */\n error?: string;\n /** Custom validation rule */\n pattern?: string;\n /** Custom validation message */\n title?: string;\n /** Input alignment */\n align?: 'left' | 'center' | 'right';\n /** Reserve space for error message to prevent layout shift */\n reserveMessageSpace?: boolean;\n};\n\n/**\n * FormInput - Input wrapped with FormField for label and error display\n *\n * Uses native HTML5 validation. Set `pattern` and `title` for custom validation messages.\n *\n * **Validation State:**\n * - When `error` prop is provided, the validation state is set to 'error', the input displays\n * error styling (red border), and the error message is shown below the input\n * - The `error` prop takes precedence over `helperText` - only one is displayed at a time\n * - Without an error, `helperText` is displayed in default styling\n *\n * @example\n * ```tsx\n * // Simple required email\n * <FormInput label=\"Email\" type=\"email\" required placeholder=\"you@example.com\" />\n *\n * // With error state\n * <FormInput label=\"Email\" error=\"Invalid email address\" helperText=\"We'll never share\" />\n *\n * // With custom validation message\n * <FormInput\n * label=\"Corporate Email\"\n * type=\"email\"\n * required\n * pattern=\".+@company\\.com\"\n * title=\"Please use your company email address\"\n * placeholder=\"you@company.com\"\n * />\n *\n * // Number with range\n * <FormInput label=\"Age\" type=\"number\" min={18} max={120} required />\n *\n * ```\n */\nfunction FormInput({\n // FormField props\n label,\n helperText,\n spacing,\n error,\n required,\n disabled,\n id,\n pattern,\n title,\n width,\n align = 'center',\n reserveMessageSpace = false,\n onChange,\n ...inputProps\n}: Readonly<FormInputProps>) {\n return (\n <FormField\n label={label}\n helperText={helperText}\n spacing={spacing}\n error={error}\n required={required}\n disabled={disabled}\n id={id}\n width={width}\n align={align}\n reserveMessageSpace={reserveMessageSpace}\n >\n <Input\n {...inputProps}\n onChange={onChange}\n required={required}\n disabled={disabled}\n id={id}\n pattern={pattern}\n title={title}\n />\n </FormField>\n );\n}\n\nFormInput.displayName = 'FormInput';\n\nexport default FormInput;\n"],"names":[],"mappings":";;;AAyDA,SAAS,UAAU;AAAA;AAAA,EAEjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,sBAAsB;AAAA,EACtB;AAAA,EACA,GAAG;AACL,GAA6B;AAC3B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;AAEA,UAAU,cAAc;"}
|