@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 @@
|
|
|
1
|
+
{"version":3,"file":"left-nav-section.js","sources":["../../../../src/components/layout/left-nav-layout/left-nav-section.tsx"],"sourcesContent":["import { ReactNode, useState, useRef, useEffect } from 'react';\nimport Icon from '../../system/icon/icon';\n\nexport type LeftNavSectionProps = {\n /** Section content (typically LeftNavItem components) */\n children: ReactNode;\n /** Optional section header label (hidden in collapsed mode) */\n label?: string;\n /** Additional CSS classes applied to the section container */\n className?: string;\n /** Enable collapsible behavior for the section */\n collapsible?: boolean;\n /** Default collapsed state (only applies when collapsible is true) */\n defaultCollapsed?: boolean;\n /** Unique identifier for localStorage persistence. If not provided, label is used. */\n id?: string;\n};\n\n/**\n * LeftNavSection - Section grouping for LeftNavLayout navigation items\n *\n * Groups related navigation items together with an optional label.\n * In collapsed mode, the label is hidden but the grouping is preserved.\n * Supports collapsible behavior with smooth animations and localStorage persistence.\n *\n * @example\n * ```tsx\n * <LeftNavSection label=\"Main\">\n * <LeftNavItem icon={<HomeIcon />} href=\"/\">Home</LeftNavItem>\n * <LeftNavItem icon={<DashboardIcon />} href=\"/dashboard\">Dashboard</LeftNavItem>\n * </LeftNavSection>\n *\n * <LeftNavSection label=\"Settings\" collapsible defaultCollapsed id=\"settings-section\">\n * <LeftNavItem icon={<SettingsIcon />} href=\"/settings\">Settings</LeftNavItem>\n * </LeftNavSection>\n * ```\n */\nfunction LeftNavSection({\n children,\n label,\n className = '',\n collapsible = false,\n defaultCollapsed = false,\n id\n}: Readonly<LeftNavSectionProps>) {\n const STORAGE_KEY = 'left-nav-sections';\n\n // Generate unique identifier from id or label\n const sectionId = id || label || null;\n\n // Helper to read all section states from localStorage\n const getSectionStates = (): Record<string, boolean> => {\n if (typeof window === 'undefined') return {};\n\n try {\n const stored = localStorage.getItem(STORAGE_KEY);\n return stored ? JSON.parse(stored) : {};\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Failed to read section states from localStorage:', error);\n return {};\n }\n };\n\n // Helper to save a section state to localStorage\n const saveSectionState = (sectionKey: string, collapsed: boolean) => {\n try {\n const states = getSectionStates();\n states[sectionKey] = collapsed;\n localStorage.setItem(STORAGE_KEY, JSON.stringify(states));\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Failed to save section state to localStorage:', error);\n }\n };\n\n // Initialize collapsed state from localStorage if collapsible\n const [isCollapsed, setIsCollapsed] = useState(() => {\n if (!collapsible || !sectionId) return defaultCollapsed;\n\n const states = getSectionStates();\n return sectionId in states ? states[sectionId] : defaultCollapsed;\n });\n\n const [isNavCollapsed, setIsNavCollapsed] = useState(false);\n const contentRef = useRef<HTMLDivElement>(null);\n const sectionRef = useRef<HTMLDivElement>(null);\n\n // Check if parent nav is collapsed (icon-only mode)\n useEffect(() => {\n const checkNavCollapsed = () => {\n const navElement = sectionRef.current?.closest('nav');\n if (navElement) {\n setIsNavCollapsed(navElement.getAttribute('data-collapsed') === 'true');\n }\n };\n\n checkNavCollapsed();\n\n const navElement = sectionRef.current?.closest('nav');\n if (navElement) {\n const observer = new MutationObserver(checkNavCollapsed);\n observer.observe(navElement, {\n attributes: true,\n attributeFilter: ['data-collapsed']\n });\n return () => observer.disconnect();\n }\n\n return undefined;\n }, []);\n\n const toggleCollapsed = () => {\n if (collapsible) {\n const newState = !isCollapsed;\n setIsCollapsed(newState);\n\n // Persist to localStorage\n if (sectionId) {\n saveSectionState(sectionId, newState);\n }\n }\n };\n\n // Auto-expand when nav is in icon-only mode\n const effectiveCollapsed = isNavCollapsed ? false : isCollapsed;\n\n return (\n <div ref={sectionRef} className={`py-1 [&:last-child>*:last-child]:hidden ${className}`}>\n {/* Section Label - Hidden in collapsed mode */}\n {label && (\n <div\n className={`\n px-3 mb-1.5 mt-1\n text-xs font-semibold uppercase tracking-wider\n text-muted-foreground\n [nav[data-collapsed='true']_&]:hidden\n ${collapsible ? 'cursor-pointer hover:text-foreground transition-colors flex items-center justify-between gap-2' : ''}\n `}\n onClick={toggleCollapsed}\n role={collapsible ? 'button' : undefined}\n aria-expanded={collapsible ? !effectiveCollapsed : undefined}\n tabIndex={collapsible ? 0 : undefined}\n onKeyDown={\n collapsible\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggleCollapsed();\n }\n }\n : undefined\n }\n >\n <span>{label}</span>\n {collapsible && (\n <Icon\n name=\"chevron-down\"\n size=\"xs\"\n className={`transition-transform duration-200 ${effectiveCollapsed ? '-rotate-90' : ''}`}\n />\n )}\n </div>\n )}\n\n {/* Section Items */}\n <div\n ref={contentRef}\n className={`space-y-0.5 overflow-hidden transition-all duration-200 ${effectiveCollapsed && collapsible ? 'max-h-0 opacity-0' : 'max-h-[2000px] opacity-100'}`}\n >\n {children}\n </div>\n\n {/* Divider - Subtle separator between sections (hidden on last section) */}\n <div className=\"h-px bg-border mx-3 mt-1.5\" aria-hidden=\"true\" />\n </div>\n );\n}\n\nLeftNavSection.displayName = 'LeftNavSection';\n\nexport default LeftNavSection;\n"],"names":["navElement"],"mappings":";;;AAqCA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB;AACF,GAAkC;AAChC,QAAM,cAAc;AAGpB,QAAM,YAAY,MAAM,SAAS;AAGjC,QAAM,mBAAmB,MAA+B;AACtD,QAAI,OAAO,WAAW,YAAa,QAAO,CAAA;AAE1C,QAAI;AACF,YAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,aAAO,SAAS,KAAK,MAAM,MAAM,IAAI,CAAA;AAAA,IACvC,SAAS,OAAO;AAEd,cAAQ,KAAK,oDAAoD,KAAK;AACtE,aAAO,CAAA;AAAA,IACT;AAAA,EACF;AAGA,QAAM,mBAAmB,CAAC,YAAoB,cAAuB;AACnE,QAAI;AACF,YAAM,SAAS,iBAAA;AACf,aAAO,UAAU,IAAI;AACrB,mBAAa,QAAQ,aAAa,KAAK,UAAU,MAAM,CAAC;AAAA,IAC1D,SAAS,OAAO;AAEd,cAAQ,KAAK,iDAAiD,KAAK;AAAA,IACrE;AAAA,EACF;AAGA,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,MAAM;AACnD,QAAI,CAAC,eAAe,CAAC,UAAW,QAAO;AAEvC,UAAM,SAAS,iBAAA;AACf,WAAO,aAAa,SAAS,OAAO,SAAS,IAAI;AAAA,EACnD,CAAC;AAED,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,aAAa,OAAuB,IAAI;AAC9C,QAAM,aAAa,OAAuB,IAAI;AAG9C,YAAU,MAAM;AACd,UAAM,oBAAoB,MAAM;AAC9B,YAAMA,cAAa,WAAW,SAAS,QAAQ,KAAK;AACpD,UAAIA,aAAY;AACd,0BAAkBA,YAAW,aAAa,gBAAgB,MAAM,MAAM;AAAA,MACxE;AAAA,IACF;AAEA,sBAAA;AAEA,UAAM,aAAa,WAAW,SAAS,QAAQ,KAAK;AACpD,QAAI,YAAY;AACd,YAAM,WAAW,IAAI,iBAAiB,iBAAiB;AACvD,eAAS,QAAQ,YAAY;AAAA,QAC3B,YAAY;AAAA,QACZ,iBAAiB,CAAC,gBAAgB;AAAA,MAAA,CACnC;AACD,aAAO,MAAM,SAAS,WAAA;AAAA,IACxB;AAEA,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AAEL,QAAM,kBAAkB,MAAM;AAC5B,QAAI,aAAa;AACf,YAAM,WAAW,CAAC;AAClB,qBAAe,QAAQ;AAGvB,UAAI,WAAW;AACb,yBAAiB,WAAW,QAAQ;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAGA,QAAM,qBAAqB,iBAAiB,QAAQ;AAEpD,8BACG,OAAA,EAAI,KAAK,YAAY,WAAW,2CAA2C,SAAS,IAElF,UAAA;AAAA,IAAA,SACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,cAKP,cAAc,mGAAmG,EAAE;AAAA;AAAA,QAEvH,SAAS;AAAA,QACT,MAAM,cAAc,WAAW;AAAA,QAC/B,iBAAe,cAAc,CAAC,qBAAqB;AAAA,QACnD,UAAU,cAAc,IAAI;AAAA,QAC5B,WACE,cACI,CAAC,MAAM;AACL,cAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,cAAE,eAAA;AACF,4BAAA;AAAA,UACF;AAAA,QACF,IACA;AAAA,QAGN,UAAA;AAAA,UAAA,oBAAC,UAAM,UAAA,MAAA,CAAM;AAAA,UACZ,eACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,MAAK;AAAA,cACL,WAAW,qCAAqC,qBAAqB,eAAe,EAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QACxF;AAAA,MAAA;AAAA,IAAA;AAAA,IAMN;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW,2DAA2D,sBAAsB,cAAc,sBAAsB,4BAA4B;AAAA,QAE3J;AAAA,MAAA;AAAA,IAAA;AAAA,IAIH,oBAAC,OAAA,EAAI,WAAU,8BAA6B,eAAY,OAAA,CAAO;AAAA,EAAA,GACjE;AAEJ;AAEA,eAAe,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type PageProps = {
|
|
3
|
+
/** Page content */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Additional CSS classes */
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Page - Semantic wrapper for page-level content
|
|
10
|
+
* Provides consistent structure with main element and background styling
|
|
11
|
+
*/
|
|
12
|
+
declare function Page({ children, className }: Readonly<PageProps>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare namespace Page {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
16
|
+
export default Page;
|
|
17
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page/page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,SAAS,GAAG;IACtB,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,iBAAS,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,2CAE9D;kBAFQ,IAAI;;;AAMb,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
function Page({ children, className = "" }) {
|
|
3
|
+
return /* @__PURE__ */ jsx("main", { className: `min-h-screen bg-background ${className}`, children });
|
|
4
|
+
}
|
|
5
|
+
Page.displayName = "Page";
|
|
6
|
+
export {
|
|
7
|
+
Page as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sources":["../../../../src/components/layout/page/page.tsx"],"sourcesContent":["import React from 'react';\n\nexport type PageProps = {\n /** Page content */\n children: React.ReactNode;\n /** Additional CSS classes */\n className?: string;\n};\n\n/**\n * Page - Semantic wrapper for page-level content\n * Provides consistent structure with main element and background styling\n */\nfunction Page({ children, className = '' }: Readonly<PageProps>) {\n return <main className={`min-h-screen bg-background ${className}`}>{children}</main>;\n}\n\nPage.displayName = 'Page';\n\nexport default Page;\n"],"names":[],"mappings":";AAaA,SAAS,KAAK,EAAE,UAAU,YAAY,MAA2B;AAC/D,6BAAQ,QAAA,EAAK,WAAW,8BAA8B,SAAS,IAAK,UAAS;AAC/E;AAEA,KAAK,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page-header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type PageHeaderProps = {
|
|
3
|
+
/** Page title text */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Optional description text displayed below the title */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Optional badge or label component displayed next to the title */
|
|
8
|
+
badge?: React.ReactNode;
|
|
9
|
+
/** Additional CSS classes applied to the header container */
|
|
10
|
+
className?: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* PageHeader - Standard page title and description layout
|
|
14
|
+
* Used at the top of demo/showcase pages
|
|
15
|
+
*/
|
|
16
|
+
declare function PageHeader({ title, description, badge, className }: Readonly<PageHeaderProps>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare namespace PageHeader {
|
|
18
|
+
var displayName: string;
|
|
19
|
+
}
|
|
20
|
+
export default PageHeader;
|
|
21
|
+
//# sourceMappingURL=page-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page-header/page-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,eAAe,GAAG;IAC5B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAc,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,2CAa3F;kBAbQ,UAAU;;;AAiBnB,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import Heading from "../../typography/heading/heading.js";
|
|
3
|
+
import Text from "../../typography/text/text.js";
|
|
4
|
+
function PageHeader({ title, description, badge, className = "" }) {
|
|
5
|
+
return /* @__PURE__ */ jsxs("div", { className: `mb-8 sm:mb-12 ${className}`, children: [
|
|
6
|
+
/* @__PURE__ */ jsxs(Heading, { level: 1, hasMargin: true, children: [
|
|
7
|
+
title,
|
|
8
|
+
" ",
|
|
9
|
+
badge
|
|
10
|
+
] }),
|
|
11
|
+
description && /* @__PURE__ */ jsx(Text, { hasMargin: true, variant: "muted", className: "mt-2", children: description })
|
|
12
|
+
] });
|
|
13
|
+
}
|
|
14
|
+
PageHeader.displayName = "PageHeader";
|
|
15
|
+
export {
|
|
16
|
+
PageHeader as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=page-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header.js","sources":["../../../../src/components/layout/page-header/page-header.tsx"],"sourcesContent":["import React from 'react';\n\nimport Heading from '../../typography/heading/heading';\nimport Text from '../../typography/text/text';\n\nexport type PageHeaderProps = {\n /** Page title text */\n title: string;\n /** Optional description text displayed below the title */\n description?: string;\n /** Optional badge or label component displayed next to the title */\n badge?: React.ReactNode;\n /** Additional CSS classes applied to the header container */\n className?: string;\n};\n\n/**\n * PageHeader - Standard page title and description layout\n * Used at the top of demo/showcase pages\n */\nfunction PageHeader({ title, description, badge, className = '' }: Readonly<PageHeaderProps>) {\n return (\n <div className={`mb-8 sm:mb-12 ${className}`}>\n <Heading level={1} hasMargin>\n {title} {badge}\n </Heading>\n {description && (\n <Text hasMargin variant=\"muted\" className=\"mt-2\">\n {description}\n </Text>\n )}\n </div>\n );\n}\n\nPageHeader.displayName = 'PageHeader';\n\nexport default PageHeader;\n"],"names":[],"mappings":";;;AAoBA,SAAS,WAAW,EAAE,OAAO,aAAa,OAAO,YAAY,MAAiC;AAC5F,SACE,qBAAC,OAAA,EAAI,WAAW,iBAAiB,SAAS,IACxC,UAAA;AAAA,IAAA,qBAAC,SAAA,EAAQ,OAAO,GAAG,WAAS,MACzB,UAAA;AAAA,MAAA;AAAA,MAAM;AAAA,MAAE;AAAA,IAAA,GACX;AAAA,IACC,mCACE,MAAA,EAAK,WAAS,MAAC,SAAQ,SAAQ,WAAU,QACvC,UAAA,YAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;AAEA,WAAW,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page-transition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface PageTransitionProps {
|
|
3
|
+
/** Page content */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Animation duration in milliseconds */
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Animation type */
|
|
8
|
+
type?: 'fade' | 'slide' | 'scale' | 'none';
|
|
9
|
+
/** Additional CSS classes */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* PageTransition - Centralized transition component for smooth animations
|
|
14
|
+
*
|
|
15
|
+
* The standard way to add animated transitions in Hydn UI.
|
|
16
|
+
* Use this component instead of custom CSS animations for consistency.
|
|
17
|
+
*
|
|
18
|
+
* Features:
|
|
19
|
+
* - Multiple animation types (fade, slide, scale)
|
|
20
|
+
* - Customizable duration
|
|
21
|
+
* - Lightweight CSS animations using Tailwind's animate-in utilities
|
|
22
|
+
* - Accessible (respects prefers-reduced-motion)
|
|
23
|
+
* - Already used internally by Tabs component
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* // Basic fade transition
|
|
28
|
+
* <PageTransition>
|
|
29
|
+
* <YourPageContent />
|
|
30
|
+
* </PageTransition>
|
|
31
|
+
*
|
|
32
|
+
* // Slide animation
|
|
33
|
+
* <PageTransition type="slide">
|
|
34
|
+
* <YourPageContent />
|
|
35
|
+
* </PageTransition>
|
|
36
|
+
*
|
|
37
|
+
* // Custom duration
|
|
38
|
+
* <PageTransition type="fade" duration={500}>
|
|
39
|
+
* <YourPageContent />
|
|
40
|
+
* </PageTransition>
|
|
41
|
+
*
|
|
42
|
+
* // With React Router
|
|
43
|
+
* <Route path="/about" element={
|
|
44
|
+
* <PageTransition>
|
|
45
|
+
* <AboutPage />
|
|
46
|
+
* </PageTransition>
|
|
47
|
+
* } />
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare const PageTransition: React.FC<PageTransitionProps>;
|
|
51
|
+
export default PageTransition;
|
|
52
|
+
//# sourceMappingURL=page-transition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-transition.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/page-transition/page-transition.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6CxD,CAAC;AAIF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
const PageTransition = ({
|
|
4
|
+
children,
|
|
5
|
+
duration = 300,
|
|
6
|
+
type = "fade",
|
|
7
|
+
className = ""
|
|
8
|
+
}) => {
|
|
9
|
+
const [isVisible, setIsVisible] = React.useState(false);
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
requestAnimationFrame(() => {
|
|
12
|
+
requestAnimationFrame(() => {
|
|
13
|
+
setIsVisible(true);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}, []);
|
|
17
|
+
const getAnimationStyles = () => {
|
|
18
|
+
if (type === "none") return "";
|
|
19
|
+
const baseClasses = "transition-all ease-out";
|
|
20
|
+
const durationClass = `duration-[${duration}ms]`;
|
|
21
|
+
if (!isVisible) {
|
|
22
|
+
switch (type) {
|
|
23
|
+
case "fade":
|
|
24
|
+
return `${baseClasses} ${durationClass} opacity-0 translate-y-1`;
|
|
25
|
+
case "slide":
|
|
26
|
+
return `${baseClasses} ${durationClass} opacity-0 translate-y-3`;
|
|
27
|
+
case "scale":
|
|
28
|
+
return `${baseClasses} ${durationClass} opacity-0 scale-[0.99]`;
|
|
29
|
+
default:
|
|
30
|
+
return `${baseClasses} ${durationClass} opacity-0 translate-y-1`;
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
return `${baseClasses} ${durationClass} opacity-100 translate-y-0 scale-100`;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
return /* @__PURE__ */ jsx("div", { className: `${getAnimationStyles()} ${className}`.trim(), children });
|
|
37
|
+
};
|
|
38
|
+
PageTransition.displayName = "PageTransition";
|
|
39
|
+
export {
|
|
40
|
+
PageTransition,
|
|
41
|
+
PageTransition as default
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=page-transition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-transition.js","sources":["../../../../src/components/layout/page-transition/page-transition.tsx"],"sourcesContent":["/**\n * PageTransition Component\n *\n * ARCHITECTURE NOTE:\n * This is the centralized transition component for Hydn UI.\n * It replaces custom CSS transitions and ensures consistency across the library.\n *\n * Components using PageTransition:\n * - Tabs component (for tab content switching)\n * - App layouts (for page route transitions)\n *\n * ❌ DON'T: Create new custom transition CSS classes\n * ✅ DO: Use this component for any transition needs\n */\n\nimport React from 'react';\n\nexport interface PageTransitionProps {\n /** Page content */\n children: React.ReactNode;\n /** Animation duration in milliseconds */\n duration?: number;\n /** Animation type */\n type?: 'fade' | 'slide' | 'scale' | 'none';\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * PageTransition - Centralized transition component for smooth animations\n *\n * The standard way to add animated transitions in Hydn UI.\n * Use this component instead of custom CSS animations for consistency.\n *\n * Features:\n * - Multiple animation types (fade, slide, scale)\n * - Customizable duration\n * - Lightweight CSS animations using Tailwind's animate-in utilities\n * - Accessible (respects prefers-reduced-motion)\n * - Already used internally by Tabs component\n *\n * @example\n * ```tsx\n * // Basic fade transition\n * <PageTransition>\n * <YourPageContent />\n * </PageTransition>\n *\n * // Slide animation\n * <PageTransition type=\"slide\">\n * <YourPageContent />\n * </PageTransition>\n *\n * // Custom duration\n * <PageTransition type=\"fade\" duration={500}>\n * <YourPageContent />\n * </PageTransition>\n *\n * // With React Router\n * <Route path=\"/about\" element={\n * <PageTransition>\n * <AboutPage />\n * </PageTransition>\n * } />\n * ```\n */\nexport const PageTransition: React.FC<PageTransitionProps> = ({\n children,\n duration = 300,\n type = 'fade',\n className = ''\n}) => {\n const [isVisible, setIsVisible] = React.useState(false);\n\n // Trigger animation on mount with slight delay for smoother effect\n React.useEffect(() => {\n // Double RAF for better reliability and smoother start\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setIsVisible(true);\n });\n });\n }, []);\n\n // Animation class mapping - using standard CSS transitions for reliability\n const getAnimationStyles = () => {\n if (type === 'none') return '';\n\n // Use ease-out for smoother, more natural animation\n const baseClasses = 'transition-all ease-out';\n const durationClass = `duration-[${duration}ms]`;\n\n if (!isVisible) {\n // Initial state (hidden)\n switch (type) {\n case 'fade':\n return `${baseClasses} ${durationClass} opacity-0 translate-y-1`;\n case 'slide':\n return `${baseClasses} ${durationClass} opacity-0 translate-y-3`;\n case 'scale':\n return `${baseClasses} ${durationClass} opacity-0 scale-[0.99]`;\n default:\n return `${baseClasses} ${durationClass} opacity-0 translate-y-1`;\n }\n } else {\n // Animated state (visible)\n return `${baseClasses} ${durationClass} opacity-100 translate-y-0 scale-100`;\n }\n };\n\n return <div className={`${getAnimationStyles()} ${className}`.trim()}>{children}</div>;\n};\n\nPageTransition.displayName = 'PageTransition';\n\nexport default PageTransition;\n"],"names":[],"mappings":";;AAkEO,MAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AACd,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,KAAK;AAGtD,QAAM,UAAU,MAAM;AAEpB,0BAAsB,MAAM;AAC1B,4BAAsB,MAAM;AAC1B,qBAAa,IAAI;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAAA,EACH,GAAG,CAAA,CAAE;AAGL,QAAM,qBAAqB,MAAM;AAC/B,QAAI,SAAS,OAAQ,QAAO;AAG5B,UAAM,cAAc;AACpB,UAAM,gBAAgB,aAAa,QAAQ;AAE3C,QAAI,CAAC,WAAW;AAEd,cAAQ,MAAA;AAAA,QACN,KAAK;AACH,iBAAO,GAAG,WAAW,IAAI,aAAa;AAAA,QACxC,KAAK;AACH,iBAAO,GAAG,WAAW,IAAI,aAAa;AAAA,QACxC,KAAK;AACH,iBAAO,GAAG,WAAW,IAAI,aAAa;AAAA,QACxC;AACE,iBAAO,GAAG,WAAW,IAAI,aAAa;AAAA,MAAA;AAAA,IAE5C,OAAO;AAEL,aAAO,GAAG,WAAW,IAAI,aAAa;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,oBAAC,OAAA,EAAI,WAAW,GAAG,mBAAA,CAAoB,IAAI,SAAS,GAAG,KAAA,GAAS,SAAA,CAAS;AAClF;AAEA,eAAe,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/section/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { SectionPaddingSize } from '../../../theme/size-tokens';
|
|
2
|
+
export interface SectionProps {
|
|
3
|
+
/**
|
|
4
|
+
* Content to render inside the section
|
|
5
|
+
*/
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Background variant
|
|
9
|
+
* @default 'default'
|
|
10
|
+
*/
|
|
11
|
+
variant?: 'default' | 'muted' | 'primary' | 'dark';
|
|
12
|
+
/**
|
|
13
|
+
* Vertical padding size - uses unified size system
|
|
14
|
+
* @default 'lg'
|
|
15
|
+
*/
|
|
16
|
+
padding?: SectionPaddingSize;
|
|
17
|
+
/**
|
|
18
|
+
* Additional CSS classes
|
|
19
|
+
*/
|
|
20
|
+
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* HTML id attribute
|
|
23
|
+
*/
|
|
24
|
+
id?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Section component for page layout sections
|
|
28
|
+
* Uses unified size system from theme/size-tokens
|
|
29
|
+
*/
|
|
30
|
+
declare function Section({ children, variant, padding, className, id }: SectionProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare namespace Section {
|
|
32
|
+
var displayName: string;
|
|
33
|
+
}
|
|
34
|
+
export default Section;
|
|
35
|
+
//# sourceMappingURL=section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/section/section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnD;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,iBAAS,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAmB,EAAE,OAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,YAAY,2CAkBhG;kBAlBQ,OAAO;;;AAsBhB,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { sectionPadding } from "../../../theme/size-tokens.js";
|
|
3
|
+
function Section({ children, variant = "default", padding = "none", className, id }) {
|
|
4
|
+
const paddingClasses = sectionPadding[padding];
|
|
5
|
+
const variantClasses = {
|
|
6
|
+
default: "bg-background",
|
|
7
|
+
muted: "bg-muted/20",
|
|
8
|
+
primary: "bg-primary text-primary-foreground",
|
|
9
|
+
dark: "bg-background-dark text-foreground-dark"
|
|
10
|
+
};
|
|
11
|
+
const classes = ["w-full", paddingClasses, variantClasses[variant], className].filter(Boolean).join(" ");
|
|
12
|
+
return /* @__PURE__ */ jsx("section", { id, className: classes, children });
|
|
13
|
+
}
|
|
14
|
+
Section.displayName = "Section";
|
|
15
|
+
export {
|
|
16
|
+
Section as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section.js","sources":["../../../../src/components/layout/section/section.tsx"],"sourcesContent":["import { sectionPadding, SectionPaddingSize } from '../../../theme/size-tokens';\n\nexport interface SectionProps {\n /**\n * Content to render inside the section\n */\n children: React.ReactNode;\n\n /**\n * Background variant\n * @default 'default'\n */\n variant?: 'default' | 'muted' | 'primary' | 'dark';\n\n /**\n * Vertical padding size - uses unified size system\n * @default 'lg'\n */\n padding?: SectionPaddingSize;\n\n /**\n * Additional CSS classes\n */\n className?: string;\n\n /**\n * HTML id attribute\n */\n id?: string;\n}\n\n/**\n * Section component for page layout sections\n * Uses unified size system from theme/size-tokens\n */\nfunction Section({ children, variant = 'default', padding = 'none', className, id }: SectionProps) {\n const paddingClasses = sectionPadding[padding];\n\n // Build variant classes\n const variantClasses = {\n default: 'bg-background',\n muted: 'bg-muted/20',\n primary: 'bg-primary text-primary-foreground',\n dark: 'bg-background-dark text-foreground-dark'\n };\n\n const classes = ['w-full', paddingClasses, variantClasses[variant], className].filter(Boolean).join(' ');\n\n return (\n <section id={id} className={classes}>\n {children}\n </section>\n );\n}\n\nSection.displayName = 'Section';\n\nexport default Section;\n"],"names":[],"mappings":";;AAmCA,SAAS,QAAQ,EAAE,UAAU,UAAU,WAAW,UAAU,QAAQ,WAAW,MAAoB;AACjG,QAAM,iBAAiB,eAAe,OAAO;AAG7C,QAAM,iBAAiB;AAAA,IACrB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,EAAA;AAGR,QAAM,UAAU,CAAC,UAAU,gBAAgB,eAAe,OAAO,GAAG,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAEvG,SACE,oBAAC,WAAA,EAAQ,IAAQ,WAAW,SACzB,UACH;AAEJ;AAEA,QAAQ,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/section-header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type SectionHeaderProps = {
|
|
3
|
+
/** Section heading text */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Optional description text displayed below the title */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Optional badge or label component displayed next to the title */
|
|
8
|
+
badge?: React.ReactNode;
|
|
9
|
+
/** HTML heading level (h2, h3, or h4) */
|
|
10
|
+
level?: 2 | 3 | 4;
|
|
11
|
+
/** Additional CSS classes applied to the header container */
|
|
12
|
+
className?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* SectionHeader - Standard section title and description layout
|
|
16
|
+
* Used for section headings within demo/showcase pages
|
|
17
|
+
*/
|
|
18
|
+
declare function SectionHeader({ title, description, badge, level, className }: Readonly<SectionHeaderProps>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare namespace SectionHeader {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
export default SectionHeader;
|
|
23
|
+
//# sourceMappingURL=section-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/section-header/section-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,yCAAyC;IACzC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,iBAAS,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAS,EAAE,SAAc,EAAE,EAAE,QAAQ,CAAC,kBAAkB,CAAC,2CAS5G;kBATQ,aAAa;;;AAatB,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import Heading from "../../typography/heading/heading.js";
|
|
3
|
+
import Text from "../../typography/text/text.js";
|
|
4
|
+
function SectionHeader({ title, description, badge, level = 2, className = "" }) {
|
|
5
|
+
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
6
|
+
/* @__PURE__ */ jsxs(Heading, { level, hasMargin: true, children: [
|
|
7
|
+
title,
|
|
8
|
+
" ",
|
|
9
|
+
badge
|
|
10
|
+
] }),
|
|
11
|
+
description && /* @__PURE__ */ jsx(Text, { hasMargin: true, children: description })
|
|
12
|
+
] });
|
|
13
|
+
}
|
|
14
|
+
SectionHeader.displayName = "SectionHeader";
|
|
15
|
+
export {
|
|
16
|
+
SectionHeader as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=section-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.js","sources":["../../../../src/components/layout/section-header/section-header.tsx"],"sourcesContent":["import React from 'react';\n\nimport Heading from '../../typography/heading/heading';\nimport Text from '../../typography/text/text';\n\nexport type SectionHeaderProps = {\n /** Section heading text */\n title: string;\n /** Optional description text displayed below the title */\n description?: string;\n /** Optional badge or label component displayed next to the title */\n badge?: React.ReactNode;\n /** HTML heading level (h2, h3, or h4) */\n level?: 2 | 3 | 4;\n /** Additional CSS classes applied to the header container */\n className?: string;\n};\n\n/**\n * SectionHeader - Standard section title and description layout\n * Used for section headings within demo/showcase pages\n */\nfunction SectionHeader({ title, description, badge, level = 2, className = '' }: Readonly<SectionHeaderProps>) {\n return (\n <div className={className}>\n <Heading level={level} hasMargin>\n {title} {badge}\n </Heading>\n {description && <Text hasMargin>{description}</Text>}\n </div>\n );\n}\n\nSectionHeader.displayName = 'SectionHeader';\n\nexport default SectionHeader;\n"],"names":[],"mappings":";;;AAsBA,SAAS,cAAc,EAAE,OAAO,aAAa,OAAO,QAAQ,GAAG,YAAY,MAAoC;AAC7G,SACE,qBAAC,SAAI,WACH,UAAA;AAAA,IAAA,qBAAC,SAAA,EAAQ,OAAc,WAAS,MAC7B,UAAA;AAAA,MAAA;AAAA,MAAM;AAAA,MAAE;AAAA,IAAA,GACX;AAAA,IACC,eAAe,oBAAC,MAAA,EAAK,WAAS,MAAE,UAAA,YAAA,CAAY;AAAA,EAAA,GAC/C;AAEJ;AAEA,cAAc,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/settings-page/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SettingItemProps {
|
|
3
|
+
/** Setting label/description */
|
|
4
|
+
label: string;
|
|
5
|
+
/** Setting control (Switch, Select, Button, etc.) */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
/** Additional help text below the label */
|
|
8
|
+
helpText?: string;
|
|
9
|
+
/** Layout direction */
|
|
10
|
+
layout?: 'horizontal' | 'vertical';
|
|
11
|
+
/** Additional CSS classes */
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* SettingItem - Individual setting row
|
|
16
|
+
*
|
|
17
|
+
* Displays a setting label with its control (Switch, Select, etc.).
|
|
18
|
+
* Automatically handles layout and styling for consistency.
|
|
19
|
+
*
|
|
20
|
+
* Features:
|
|
21
|
+
* - Horizontal layout (default) for switches and compact controls
|
|
22
|
+
* - Vertical layout for form selects and larger controls
|
|
23
|
+
* - Optional help text
|
|
24
|
+
* - Hover state for better UX
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* // Horizontal (switches, radios)
|
|
29
|
+
* <SettingItem label="Enable notifications">
|
|
30
|
+
* <Switch checked={enabled} onChange={handleChange} />
|
|
31
|
+
* </SettingItem>
|
|
32
|
+
*
|
|
33
|
+
* // Vertical (selects, textareas)
|
|
34
|
+
* <SettingItem label="Language" layout="vertical">
|
|
35
|
+
* <FormSelect value={language}>...</FormSelect>
|
|
36
|
+
* </SettingItem>
|
|
37
|
+
*
|
|
38
|
+
* // With help text
|
|
39
|
+
* <SettingItem
|
|
40
|
+
* label="Data sharing"
|
|
41
|
+
* helpText="Help us improve by sharing anonymous usage data"
|
|
42
|
+
* >
|
|
43
|
+
* <Switch checked={share} onChange={handleChange} />
|
|
44
|
+
* </SettingItem>
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare const SettingItem: {
|
|
48
|
+
({ label, children, helpText, layout, className }: SettingItemProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
displayName: string;
|
|
50
|
+
};
|
|
51
|
+
export default SettingItem;
|
|
52
|
+
//# sourceMappingURL=setting-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-item.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/settings-page/setting-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACnC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,WAAW;uDAA0E,gBAAgB;;CAkCjH,CAAC;AAIF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import Text from "../../typography/text/text.js";
|
|
3
|
+
const SettingItem = ({ label, children, helpText, layout = "horizontal", className = "" }) => {
|
|
4
|
+
if (layout === "vertical") {
|
|
5
|
+
return /* @__PURE__ */ jsxs("div", { className: `space-y-2 ${className}`, children: [
|
|
6
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
7
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", weight: "medium", children: label }),
|
|
8
|
+
helpText && /* @__PURE__ */ jsx(Text, { size: "xs", variant: "muted", className: "mt-1", children: helpText })
|
|
9
|
+
] }),
|
|
10
|
+
children
|
|
11
|
+
] });
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ jsxs(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
className: `flex items-center justify-between py-2 px-3 rounded-lg hover:bg-base-200/50 transition-colors ${className}`,
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 mr-4", children: [
|
|
19
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", children: label }),
|
|
20
|
+
helpText && /* @__PURE__ */ jsx(Text, { size: "xs", variant: "muted", className: "mt-1", children: helpText })
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ jsx("div", { className: "shrink-0", children })
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
SettingItem.displayName = "SettingItem";
|
|
28
|
+
export {
|
|
29
|
+
SettingItem
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=setting-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting-item.js","sources":["../../../../src/components/layout/settings-page/setting-item.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport Text from '../../typography/text/text';\n\nexport interface SettingItemProps {\n /** Setting label/description */\n label: string;\n /** Setting control (Switch, Select, Button, etc.) */\n children: ReactNode;\n /** Additional help text below the label */\n helpText?: string;\n /** Layout direction */\n layout?: 'horizontal' | 'vertical';\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * SettingItem - Individual setting row\n *\n * Displays a setting label with its control (Switch, Select, etc.).\n * Automatically handles layout and styling for consistency.\n *\n * Features:\n * - Horizontal layout (default) for switches and compact controls\n * - Vertical layout for form selects and larger controls\n * - Optional help text\n * - Hover state for better UX\n *\n * @example\n * ```tsx\n * // Horizontal (switches, radios)\n * <SettingItem label=\"Enable notifications\">\n * <Switch checked={enabled} onChange={handleChange} />\n * </SettingItem>\n *\n * // Vertical (selects, textareas)\n * <SettingItem label=\"Language\" layout=\"vertical\">\n * <FormSelect value={language}>...</FormSelect>\n * </SettingItem>\n *\n * // With help text\n * <SettingItem\n * label=\"Data sharing\"\n * helpText=\"Help us improve by sharing anonymous usage data\"\n * >\n * <Switch checked={share} onChange={handleChange} />\n * </SettingItem>\n * ```\n */\nexport const SettingItem = ({ label, children, helpText, layout = 'horizontal', className = '' }: SettingItemProps) => {\n if (layout === 'vertical') {\n return (\n <div className={`space-y-2 ${className}`}>\n <div>\n <Text size=\"sm\" weight=\"medium\">\n {label}\n </Text>\n {helpText && (\n <Text size=\"xs\" variant=\"muted\" className=\"mt-1\">\n {helpText}\n </Text>\n )}\n </div>\n {children}\n </div>\n );\n }\n\n return (\n <div\n className={`flex items-center justify-between py-2 px-3 rounded-lg hover:bg-base-200/50 transition-colors ${className}`}\n >\n <div className=\"flex-1 mr-4\">\n <Text size=\"sm\">{label}</Text>\n {helpText && (\n <Text size=\"xs\" variant=\"muted\" className=\"mt-1\">\n {helpText}\n </Text>\n )}\n </div>\n <div className=\"shrink-0\">{children}</div>\n </div>\n );\n};\n\nSettingItem.displayName = 'SettingItem';\n\nexport default SettingItem;\n"],"names":[],"mappings":";;AAkDO,MAAM,cAAc,CAAC,EAAE,OAAO,UAAU,UAAU,SAAS,cAAc,YAAY,SAA2B;AACrH,MAAI,WAAW,YAAY;AACzB,WACE,qBAAC,OAAA,EAAI,WAAW,aAAa,SAAS,IACpC,UAAA;AAAA,MAAA,qBAAC,OAAA,EACC,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAK,MAAK,MAAK,QAAO,UACpB,UAAA,OACH;AAAA,QACC,gCACE,MAAA,EAAK,MAAK,MAAK,SAAQ,SAAQ,WAAU,QACvC,UAAA,SAAA,CACH;AAAA,MAAA,GAEJ;AAAA,MACC;AAAA,IAAA,GACH;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,iGAAiG,SAAS;AAAA,MAErH,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,eACb,UAAA;AAAA,UAAA,oBAAC,MAAA,EAAK,MAAK,MAAM,UAAA,OAAM;AAAA,UACtB,gCACE,MAAA,EAAK,MAAK,MAAK,SAAQ,SAAQ,WAAU,QACvC,UAAA,SAAA,CACH;AAAA,QAAA,GAEJ;AAAA,QACA,oBAAC,OAAA,EAAI,WAAU,YAAY,SAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AAEA,YAAY,cAAc;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SettingsPageProps {
|
|
3
|
+
/** Page title */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Page description */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Settings sections */
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
/** Additional CSS classes */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* SettingsPage - Consistent wrapper for settings pages
|
|
14
|
+
*
|
|
15
|
+
* Provides standard layout and styling for settings/preferences pages.
|
|
16
|
+
* Use with SettingsSection and SettingItem for complete consistency.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <SettingsPage
|
|
21
|
+
* title="Privacy Settings"
|
|
22
|
+
* description="Control your privacy and data sharing preferences"
|
|
23
|
+
* >
|
|
24
|
+
* <SettingsSection title="Profile Visibility">
|
|
25
|
+
* <SettingItem label="Make profile visible">
|
|
26
|
+
* <Switch checked={visible} onChange={handleChange} />
|
|
27
|
+
* </SettingItem>
|
|
28
|
+
* </SettingsSection>
|
|
29
|
+
* </SettingsPage>
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare const SettingsPage: {
|
|
33
|
+
({ title, description, children, className }: SettingsPageProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
export default SettingsPage;
|
|
37
|
+
//# sourceMappingURL=settings-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-page.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/settings-page/settings-page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlC,MAAM,WAAW,iBAAiB;IAChC,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY;kDAAsD,iBAAiB;;CAW/F,CAAC;AAIF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import Heading from "../../typography/heading/heading.js";
|
|
3
|
+
import Text from "../../typography/text/text.js";
|
|
4
|
+
import Stack from "../stack/stack.js";
|
|
5
|
+
const SettingsPage = ({ title, description, children, className = "" }) => {
|
|
6
|
+
return /* @__PURE__ */ jsxs(Stack, { spacing: "lg", className, children: [
|
|
7
|
+
/* @__PURE__ */ jsxs(Stack, { spacing: "sm", children: [
|
|
8
|
+
/* @__PURE__ */ jsx(Heading, { level: 1, children: title }),
|
|
9
|
+
description && /* @__PURE__ */ jsx(Text, { variant: "muted", children: description })
|
|
10
|
+
] }),
|
|
11
|
+
/* @__PURE__ */ jsx(Stack, { spacing: "xl", children })
|
|
12
|
+
] });
|
|
13
|
+
};
|
|
14
|
+
SettingsPage.displayName = "SettingsPage";
|
|
15
|
+
export {
|
|
16
|
+
SettingsPage
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=settings-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-page.js","sources":["../../../../src/components/layout/settings-page/settings-page.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport Heading from '../../typography/heading/heading';\nimport Text from '../../typography/text/text';\nimport Stack from '../stack/stack';\n\nexport interface SettingsPageProps {\n /** Page title */\n title: string;\n /** Page description */\n description?: string;\n /** Settings sections */\n children: ReactNode;\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * SettingsPage - Consistent wrapper for settings pages\n *\n * Provides standard layout and styling for settings/preferences pages.\n * Use with SettingsSection and SettingItem for complete consistency.\n *\n * @example\n * ```tsx\n * <SettingsPage\n * title=\"Privacy Settings\"\n * description=\"Control your privacy and data sharing preferences\"\n * >\n * <SettingsSection title=\"Profile Visibility\">\n * <SettingItem label=\"Make profile visible\">\n * <Switch checked={visible} onChange={handleChange} />\n * </SettingItem>\n * </SettingsSection>\n * </SettingsPage>\n * ```\n */\nexport const SettingsPage = ({ title, description, children, className = '' }: SettingsPageProps) => {\n return (\n <Stack spacing=\"lg\" className={className}>\n <Stack spacing=\"sm\">\n <Heading level={1}>{title}</Heading>\n {description && <Text variant=\"muted\">{description}</Text>}\n </Stack>\n\n <Stack spacing=\"xl\">{children}</Stack>\n </Stack>\n );\n};\n\nSettingsPage.displayName = 'SettingsPage';\n\nexport default SettingsPage;\n"],"names":[],"mappings":";;;;AAqCO,MAAM,eAAe,CAAC,EAAE,OAAO,aAAa,UAAU,YAAY,SAA4B;AACnG,SACE,qBAAC,OAAA,EAAM,SAAQ,MAAK,WAClB,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAM,SAAQ,MACb,UAAA;AAAA,MAAA,oBAAC,SAAA,EAAQ,OAAO,GAAI,UAAA,OAAM;AAAA,MACzB,eAAe,oBAAC,MAAA,EAAK,SAAQ,SAAS,UAAA,YAAA,CAAY;AAAA,IAAA,GACrD;AAAA,IAEA,oBAAC,OAAA,EAAM,SAAQ,MAAM,SAAA,CAAS;AAAA,EAAA,GAChC;AAEJ;AAEA,aAAa,cAAc;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SettingsSectionProps {
|
|
3
|
+
/** Section title */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Section description (optional) */
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Setting items or custom content */
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
/** Additional CSS classes */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* SettingsSection - Group related settings together
|
|
14
|
+
*
|
|
15
|
+
* Creates a visually distinct section within a SettingsPage.
|
|
16
|
+
* Use with SettingItem components for individual settings.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <SettingsSection
|
|
21
|
+
* title="Appearance"
|
|
22
|
+
* description="Customize how the app looks"
|
|
23
|
+
* >
|
|
24
|
+
* <SettingItem label="Theme">
|
|
25
|
+
* <FormSelect value={theme}>...</FormSelect>
|
|
26
|
+
* </SettingItem>
|
|
27
|
+
* </SettingsSection>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const SettingsSection: {
|
|
31
|
+
({ title, description, children, className }: SettingsSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
export default SettingsSection;
|
|
35
|
+
//# sourceMappingURL=settings-section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-section.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/settings-page/settings-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlC,MAAM,WAAW,oBAAoB;IACnC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe;kDAAsD,oBAAoB;;CAgBrG,CAAC;AAIF,eAAe,eAAe,CAAC"}
|