@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":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/link/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type LinkProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
href: string;
|
|
5
|
+
/**
|
|
6
|
+
* Whether this is an external link (opens in new tab with icon)
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
external?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Visual variant
|
|
12
|
+
* @default 'default'
|
|
13
|
+
*/
|
|
14
|
+
variant?: 'default' | 'muted' | 'accent' | 'inherit';
|
|
15
|
+
/**
|
|
16
|
+
* When to show underline
|
|
17
|
+
* @default 'hover'
|
|
18
|
+
*/
|
|
19
|
+
underline?: 'hover' | 'always' | 'none';
|
|
20
|
+
/**
|
|
21
|
+
* Text size
|
|
22
|
+
* @default 'md'
|
|
23
|
+
*/
|
|
24
|
+
size?: 'sm' | 'md' | 'lg';
|
|
25
|
+
/**
|
|
26
|
+
* Display behavior
|
|
27
|
+
* @default 'inline'
|
|
28
|
+
*/
|
|
29
|
+
display?: 'inline' | 'block';
|
|
30
|
+
/**
|
|
31
|
+
* Additional CSS classes (use as last resort)
|
|
32
|
+
*/
|
|
33
|
+
className?: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Link - Themed anchor with hover state
|
|
37
|
+
* Automatically uses React Router for internal links
|
|
38
|
+
*/
|
|
39
|
+
declare function Link({ children, href, external, variant, underline, size, display, className }: Readonly<LinkProps>): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
declare namespace Link {
|
|
41
|
+
var displayName: string;
|
|
42
|
+
}
|
|
43
|
+
export default Link;
|
|
44
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/link/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlC,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAErD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAExC;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,iBAAS,IAAI,CAAC,EACZ,QAAQ,EACR,IAAI,EACJ,QAAgB,EAChB,OAAmB,EACnB,SAAmB,EACnB,IAAW,EACX,OAAkB,EAClB,SAAc,EACf,EAAE,QAAQ,CAAC,SAAS,CAAC,2CAqErB;kBA9EQ,IAAI;;;AAkFb,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Link as Link$1 } from "react-router-dom";
|
|
3
|
+
import { textSizes } from "../../../theme/size-tokens.js";
|
|
4
|
+
function Link({
|
|
5
|
+
children,
|
|
6
|
+
href,
|
|
7
|
+
external = false,
|
|
8
|
+
variant = "default",
|
|
9
|
+
underline = "hover",
|
|
10
|
+
size = "md",
|
|
11
|
+
display = "inline",
|
|
12
|
+
className = ""
|
|
13
|
+
}) {
|
|
14
|
+
const variantClasses = {
|
|
15
|
+
default: "text-primary hover:text-primary-hover",
|
|
16
|
+
muted: "text-muted-foreground hover:text-foreground-hover",
|
|
17
|
+
accent: "text-accent hover:text-accent-hover",
|
|
18
|
+
inherit: "text-inherit hover:text-inherit-hover"
|
|
19
|
+
};
|
|
20
|
+
const underlineClasses = {
|
|
21
|
+
hover: "hover:underline",
|
|
22
|
+
always: "underline",
|
|
23
|
+
none: "no-underline"
|
|
24
|
+
};
|
|
25
|
+
const sizeClasses = {
|
|
26
|
+
sm: textSizes.sm,
|
|
27
|
+
md: textSizes.base,
|
|
28
|
+
lg: textSizes.lg
|
|
29
|
+
};
|
|
30
|
+
const displayClasses = {
|
|
31
|
+
inline: "inline",
|
|
32
|
+
block: "block"
|
|
33
|
+
};
|
|
34
|
+
const linkClassName = [
|
|
35
|
+
variantClasses[variant],
|
|
36
|
+
underlineClasses[underline],
|
|
37
|
+
sizeClasses[size],
|
|
38
|
+
displayClasses[display],
|
|
39
|
+
"cursor-pointer transition-colors",
|
|
40
|
+
className
|
|
41
|
+
].filter(Boolean).join(" ");
|
|
42
|
+
if (external) {
|
|
43
|
+
return /* @__PURE__ */ jsxs("a", { href, className: linkClassName, target: "_blank", rel: "noopener noreferrer", children: [
|
|
44
|
+
children,
|
|
45
|
+
/* @__PURE__ */ jsx(
|
|
46
|
+
"svg",
|
|
47
|
+
{
|
|
48
|
+
className: "inline-block w-4 h-4 ml-1",
|
|
49
|
+
fill: "none",
|
|
50
|
+
stroke: "currentColor",
|
|
51
|
+
viewBox: "0 0 24 24",
|
|
52
|
+
"aria-hidden": "true",
|
|
53
|
+
children: /* @__PURE__ */ jsx(
|
|
54
|
+
"path",
|
|
55
|
+
{
|
|
56
|
+
strokeLinecap: "round",
|
|
57
|
+
strokeLinejoin: "round",
|
|
58
|
+
strokeWidth: 2,
|
|
59
|
+
d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
] });
|
|
65
|
+
}
|
|
66
|
+
return /* @__PURE__ */ jsx(Link$1, { to: href, className: linkClassName, children });
|
|
67
|
+
}
|
|
68
|
+
Link.displayName = "Link";
|
|
69
|
+
export {
|
|
70
|
+
Link as default
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","sources":["../../../../src/components/typography/link/link.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\n\nimport { textSizes } from '../../../theme/size-tokens';\n\nexport type LinkProps = {\n children: ReactNode;\n href: string;\n\n /**\n * Whether this is an external link (opens in new tab with icon)\n * @default false\n */\n external?: boolean;\n\n /**\n * Visual variant\n * @default 'default'\n */\n variant?: 'default' | 'muted' | 'accent' | 'inherit';\n\n /**\n * When to show underline\n * @default 'hover'\n */\n underline?: 'hover' | 'always' | 'none';\n\n /**\n * Text size\n * @default 'md'\n */\n size?: 'sm' | 'md' | 'lg';\n\n /**\n * Display behavior\n * @default 'inline'\n */\n display?: 'inline' | 'block';\n\n /**\n * Additional CSS classes (use as last resort)\n */\n className?: string;\n};\n\n/**\n * Link - Themed anchor with hover state\n * Automatically uses React Router for internal links\n */\nfunction Link({\n children,\n href,\n external = false,\n variant = 'default',\n underline = 'hover',\n size = 'md',\n display = 'inline',\n className = ''\n}: Readonly<LinkProps>) {\n // Build variant classes\n const variantClasses = {\n default: 'text-primary hover:text-primary-hover',\n muted: 'text-muted-foreground hover:text-foreground-hover',\n accent: 'text-accent hover:text-accent-hover',\n inherit: 'text-inherit hover:text-inherit-hover'\n };\n\n // Build underline classes\n const underlineClasses = {\n hover: 'hover:underline',\n always: 'underline',\n none: 'no-underline'\n };\n\n // Build size classes from unified system\n const sizeClasses = {\n sm: textSizes.sm,\n md: textSizes.base,\n lg: textSizes.lg\n };\n\n // Build display classes\n const displayClasses = {\n inline: 'inline',\n block: 'block'\n };\n\n const linkClassName = [\n variantClasses[variant],\n underlineClasses[underline],\n sizeClasses[size],\n displayClasses[display],\n 'cursor-pointer transition-colors',\n className\n ]\n .filter(Boolean)\n .join(' ');\n\n // External links use regular anchor tag\n if (external) {\n return (\n <a href={href} className={linkClassName} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n <svg\n className=\"inline-block w-4 h-4 ml-1\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"\n />\n </svg>\n </a>\n );\n }\n\n // Internal links use React Router Link\n return (\n <RouterLink to={href} className={linkClassName}>\n {children}\n </RouterLink>\n );\n}\n\nLink.displayName = 'Link';\n\nexport default Link;\n"],"names":["RouterLink"],"mappings":";;;AAiDA,SAAS,KAAK;AAAA,EACZ;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAU;AAAA,EACV,YAAY;AACd,GAAwB;AAEtB,QAAM,iBAAiB;AAAA,IACrB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,EAAA;AAIX,QAAM,mBAAmB;AAAA,IACvB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EAAA;AAIR,QAAM,cAAc;AAAA,IAClB,IAAI,UAAU;AAAA,IACd,IAAI,UAAU;AAAA,IACd,IAAI,UAAU;AAAA,EAAA;AAIhB,QAAM,iBAAiB;AAAA,IACrB,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAGT,QAAM,gBAAgB;AAAA,IACpB,eAAe,OAAO;AAAA,IACtB,iBAAiB,SAAS;AAAA,IAC1B,YAAY,IAAI;AAAA,IAChB,eAAe,OAAO;AAAA,IACtB;AAAA,IACA;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAGX,MAAI,UAAU;AACZ,WACE,qBAAC,OAAE,MAAY,WAAW,eAAe,QAAO,UAAS,KAAI,uBAC1D,UAAA;AAAA,MAAA;AAAA,MACD;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,eAAY;AAAA,UAEZ,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAc;AAAA,cACd,gBAAe;AAAA,cACf,aAAa;AAAA,cACb,GAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QACJ;AAAA,MAAA;AAAA,IACF,GACF;AAAA,EAEJ;AAGA,6BACGA,QAAA,EAAW,IAAI,MAAM,WAAW,eAC9B,UACH;AAEJ;AAEA,KAAK,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TextSize } from '../../../theme/size-tokens';
|
|
3
|
+
export type TextProps = {
|
|
4
|
+
/** Content to be rendered within the text element */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Semantic HTML element to render
|
|
8
|
+
* @default 'p'
|
|
9
|
+
*/
|
|
10
|
+
as?: 'p' | 'span' | 'label' | 'strong' | 'em' | 'small' | 'mark' | 'del' | 'ins' | 'sub' | 'sup' | 'abbr' | 'cite' | 'q';
|
|
11
|
+
/**
|
|
12
|
+
* Color variant
|
|
13
|
+
* @default 'body'
|
|
14
|
+
*/
|
|
15
|
+
variant?: 'body' | 'muted' | 'small' | 'primary' | 'success' | 'warning' | 'error' | 'inherit';
|
|
16
|
+
/**
|
|
17
|
+
* Text size - uses unified size system
|
|
18
|
+
* @default based on variant
|
|
19
|
+
*/
|
|
20
|
+
size?: TextSize;
|
|
21
|
+
/**
|
|
22
|
+
* Font weight
|
|
23
|
+
* @default 'semibold'
|
|
24
|
+
*/
|
|
25
|
+
weight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold';
|
|
26
|
+
/**
|
|
27
|
+
* Text alignment
|
|
28
|
+
* @default 'left'
|
|
29
|
+
*/
|
|
30
|
+
align?: 'left' | 'center' | 'right' | 'justify';
|
|
31
|
+
/**
|
|
32
|
+
* Line height / leading
|
|
33
|
+
* @default 'normal'
|
|
34
|
+
*/
|
|
35
|
+
leading?: 'none' | 'tight' | 'snug' | 'normal' | 'relaxed' | 'loose';
|
|
36
|
+
/**
|
|
37
|
+
* Letter spacing / tracking
|
|
38
|
+
* @default 'normal'
|
|
39
|
+
*/
|
|
40
|
+
tracking?: 'tighter' | 'tight' | 'normal' | 'wide' | 'wider' | 'widest';
|
|
41
|
+
/**
|
|
42
|
+
* Text transform
|
|
43
|
+
*/
|
|
44
|
+
transform?: 'uppercase' | 'lowercase' | 'capitalize' | 'normal';
|
|
45
|
+
/**
|
|
46
|
+
* Text decoration
|
|
47
|
+
*/
|
|
48
|
+
decoration?: 'underline' | 'line-through' | 'none';
|
|
49
|
+
/**
|
|
50
|
+
* Font style
|
|
51
|
+
*/
|
|
52
|
+
italic?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Truncate text with ellipsis
|
|
55
|
+
*/
|
|
56
|
+
truncate?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Limit text to specified number of lines (uses line-clamp)
|
|
59
|
+
*/
|
|
60
|
+
lineClamp?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
61
|
+
/**
|
|
62
|
+
* Text wrapping behavior
|
|
63
|
+
*/
|
|
64
|
+
wrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';
|
|
65
|
+
/**
|
|
66
|
+
* Word break behavior
|
|
67
|
+
*/
|
|
68
|
+
wordBreak?: 'normal' | 'words' | 'all' | 'keep';
|
|
69
|
+
/**
|
|
70
|
+
* Text opacity (0-100)
|
|
71
|
+
*/
|
|
72
|
+
opacity?: 0 | 25 | 50 | 75 | 100;
|
|
73
|
+
/**
|
|
74
|
+
* Add bottom margin
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
hasMargin?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Make text selectable or not
|
|
80
|
+
*/
|
|
81
|
+
selectable?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Additional CSS classes (use as last resort)
|
|
84
|
+
*/
|
|
85
|
+
className?: string;
|
|
86
|
+
/**
|
|
87
|
+
* ID for the element
|
|
88
|
+
*/
|
|
89
|
+
id?: string;
|
|
90
|
+
/**
|
|
91
|
+
* HTML for attribute (useful when as="label")
|
|
92
|
+
*/
|
|
93
|
+
htmlFor?: string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Text - Versatile typography component for body text
|
|
97
|
+
* Handles all common text styling needs through props
|
|
98
|
+
*/
|
|
99
|
+
declare function Text({ children, as, variant, size, weight, align, leading, tracking, transform, decoration, italic, truncate, lineClamp, wrap, wordBreak, opacity, hasMargin, selectable, className, id, htmlFor }: Readonly<TextProps>): import('react').DetailedReactHTMLElement<Record<string, unknown>, HTMLElement>;
|
|
100
|
+
declare namespace Text {
|
|
101
|
+
var displayName: string;
|
|
102
|
+
}
|
|
103
|
+
export default Text;
|
|
104
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/text/text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,MAAM,SAAS,GAAG;IACtB,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,EAAE,CAAC,EACC,GAAG,GACH,MAAM,GACN,OAAO,GACP,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,GAAG,CAAC;IAER;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAE/F;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IAE3E;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAEhD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAErE;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAExE;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;IAEhE;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,cAAc,GAAG,MAAM,CAAC;IAEnD;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAEhD;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAEjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,iBAAS,IAAI,CAAC,EACZ,QAAQ,EACR,EAAQ,EACR,OAAgB,EAChB,IAAI,EACJ,MAAiB,EACjB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAc,EACd,QAAgB,EAChB,SAAS,EACT,IAAI,EACJ,SAAS,EACT,OAAO,EACP,SAAiB,EACjB,UAAU,EACV,SAAc,EACd,EAAE,EACF,OAAO,EACR,EAAE,QAAQ,CAAC,SAAS,CAAC,kFAwIrB;kBA9JQ,IAAI;;;AAkKb,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
import { textSizes } from "../../../theme/size-tokens.js";
|
|
3
|
+
function Text({
|
|
4
|
+
children,
|
|
5
|
+
as = "p",
|
|
6
|
+
variant = "body",
|
|
7
|
+
size,
|
|
8
|
+
weight = "normal",
|
|
9
|
+
align,
|
|
10
|
+
leading,
|
|
11
|
+
tracking,
|
|
12
|
+
transform,
|
|
13
|
+
decoration,
|
|
14
|
+
italic = false,
|
|
15
|
+
truncate = false,
|
|
16
|
+
lineClamp,
|
|
17
|
+
wrap,
|
|
18
|
+
wordBreak,
|
|
19
|
+
opacity,
|
|
20
|
+
hasMargin = false,
|
|
21
|
+
selectable,
|
|
22
|
+
className = "",
|
|
23
|
+
id,
|
|
24
|
+
htmlFor
|
|
25
|
+
}) {
|
|
26
|
+
const variantClasses = {
|
|
27
|
+
body: "text-foreground",
|
|
28
|
+
muted: "text-muted-foreground",
|
|
29
|
+
small: "text-muted-foreground",
|
|
30
|
+
primary: "text-primary",
|
|
31
|
+
success: "text-success",
|
|
32
|
+
warning: "text-warning",
|
|
33
|
+
error: "text-error",
|
|
34
|
+
inherit: "text-inherit"
|
|
35
|
+
};
|
|
36
|
+
const sizeClasses = textSizes;
|
|
37
|
+
const weightClasses = {
|
|
38
|
+
light: "font-light",
|
|
39
|
+
normal: "font-normal",
|
|
40
|
+
medium: "font-medium",
|
|
41
|
+
semibold: "font-semibold",
|
|
42
|
+
bold: "font-bold",
|
|
43
|
+
extrabold: "font-extrabold"
|
|
44
|
+
};
|
|
45
|
+
const alignClasses = {
|
|
46
|
+
left: "text-left",
|
|
47
|
+
center: "text-center",
|
|
48
|
+
right: "text-right",
|
|
49
|
+
justify: "text-justify"
|
|
50
|
+
};
|
|
51
|
+
const leadingClasses = {
|
|
52
|
+
none: "leading-none",
|
|
53
|
+
tight: "leading-tight",
|
|
54
|
+
snug: "leading-snug",
|
|
55
|
+
normal: "leading-normal",
|
|
56
|
+
relaxed: "leading-relaxed",
|
|
57
|
+
loose: "leading-loose"
|
|
58
|
+
};
|
|
59
|
+
const trackingClasses = {
|
|
60
|
+
tighter: "tracking-tighter",
|
|
61
|
+
tight: "tracking-tight",
|
|
62
|
+
normal: "tracking-normal",
|
|
63
|
+
wide: "tracking-wide",
|
|
64
|
+
wider: "tracking-wider",
|
|
65
|
+
widest: "tracking-widest"
|
|
66
|
+
};
|
|
67
|
+
const transformClasses = {
|
|
68
|
+
uppercase: "uppercase",
|
|
69
|
+
lowercase: "lowercase",
|
|
70
|
+
capitalize: "capitalize",
|
|
71
|
+
normal: "normal-case"
|
|
72
|
+
};
|
|
73
|
+
const decorationClasses = {
|
|
74
|
+
underline: "underline",
|
|
75
|
+
"line-through": "line-through",
|
|
76
|
+
none: "no-underline"
|
|
77
|
+
};
|
|
78
|
+
const wrapClasses = {
|
|
79
|
+
wrap: "text-wrap",
|
|
80
|
+
nowrap: "text-nowrap",
|
|
81
|
+
balance: "text-balance",
|
|
82
|
+
pretty: "text-pretty"
|
|
83
|
+
};
|
|
84
|
+
const wordBreakClasses = {
|
|
85
|
+
normal: "break-normal",
|
|
86
|
+
words: "break-words",
|
|
87
|
+
all: "break-all",
|
|
88
|
+
keep: "break-keep"
|
|
89
|
+
};
|
|
90
|
+
const opacityClasses = {
|
|
91
|
+
0: "opacity-0",
|
|
92
|
+
25: "opacity-25",
|
|
93
|
+
50: "opacity-50",
|
|
94
|
+
75: "opacity-75",
|
|
95
|
+
100: "opacity-100"
|
|
96
|
+
};
|
|
97
|
+
const lineClampClasses = {
|
|
98
|
+
1: "line-clamp-1",
|
|
99
|
+
2: "line-clamp-2",
|
|
100
|
+
3: "line-clamp-3",
|
|
101
|
+
4: "line-clamp-4",
|
|
102
|
+
5: "line-clamp-5",
|
|
103
|
+
6: "line-clamp-6"
|
|
104
|
+
};
|
|
105
|
+
const defaultSizes = {
|
|
106
|
+
body: "lg",
|
|
107
|
+
muted: "base",
|
|
108
|
+
small: "sm",
|
|
109
|
+
primary: "base",
|
|
110
|
+
success: "base",
|
|
111
|
+
warning: "base",
|
|
112
|
+
error: "base",
|
|
113
|
+
inherit: "base"
|
|
114
|
+
};
|
|
115
|
+
const finalSize = size || defaultSizes[variant];
|
|
116
|
+
const margin = hasMargin ? "mb-3 sm:mb-4" : "";
|
|
117
|
+
const classes = [
|
|
118
|
+
variantClasses[variant],
|
|
119
|
+
sizeClasses[finalSize],
|
|
120
|
+
weightClasses[weight],
|
|
121
|
+
margin,
|
|
122
|
+
align && alignClasses[align],
|
|
123
|
+
leading && leadingClasses[leading],
|
|
124
|
+
tracking && trackingClasses[tracking],
|
|
125
|
+
transform && transformClasses[transform],
|
|
126
|
+
decoration && decorationClasses[decoration],
|
|
127
|
+
italic && "italic",
|
|
128
|
+
truncate && "truncate",
|
|
129
|
+
lineClamp && lineClampClasses[lineClamp],
|
|
130
|
+
wrap && wrapClasses[wrap],
|
|
131
|
+
wordBreak && wordBreakClasses[wordBreak],
|
|
132
|
+
opacity !== void 0 && opacityClasses[opacity],
|
|
133
|
+
selectable === true && "select-all",
|
|
134
|
+
selectable === false && "select-none",
|
|
135
|
+
className
|
|
136
|
+
].filter(Boolean).join(" ");
|
|
137
|
+
const elementProps = {
|
|
138
|
+
className: classes,
|
|
139
|
+
...id && { id },
|
|
140
|
+
...htmlFor && as === "label" && { htmlFor }
|
|
141
|
+
};
|
|
142
|
+
return createElement(as, elementProps, children);
|
|
143
|
+
}
|
|
144
|
+
Text.displayName = "Text";
|
|
145
|
+
export {
|
|
146
|
+
Text as default
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../../../src/components/typography/text/text.tsx"],"sourcesContent":["import { ReactNode, createElement } from 'react';\nimport { textSizes, type TextSize } from '../../../theme/size-tokens';\n\nexport type TextProps = {\n /** Content to be rendered within the text element */\n children: ReactNode;\n\n /**\n * Semantic HTML element to render\n * @default 'p'\n */\n as?:\n | 'p'\n | 'span'\n | 'label'\n | 'strong'\n | 'em'\n | 'small'\n | 'mark'\n | 'del'\n | 'ins'\n | 'sub'\n | 'sup'\n | 'abbr'\n | 'cite'\n | 'q';\n\n /**\n * Color variant\n * @default 'body'\n */\n variant?: 'body' | 'muted' | 'small' | 'primary' | 'success' | 'warning' | 'error' | 'inherit';\n\n /**\n * Text size - uses unified size system\n * @default based on variant\n */\n size?: TextSize;\n\n /**\n * Font weight\n * @default 'semibold'\n */\n weight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold';\n\n /**\n * Text alignment\n * @default 'left'\n */\n align?: 'left' | 'center' | 'right' | 'justify';\n\n /**\n * Line height / leading\n * @default 'normal'\n */\n leading?: 'none' | 'tight' | 'snug' | 'normal' | 'relaxed' | 'loose';\n\n /**\n * Letter spacing / tracking\n * @default 'normal'\n */\n tracking?: 'tighter' | 'tight' | 'normal' | 'wide' | 'wider' | 'widest';\n\n /**\n * Text transform\n */\n transform?: 'uppercase' | 'lowercase' | 'capitalize' | 'normal';\n\n /**\n * Text decoration\n */\n decoration?: 'underline' | 'line-through' | 'none';\n\n /**\n * Font style\n */\n italic?: boolean;\n\n /**\n * Truncate text with ellipsis\n */\n truncate?: boolean;\n\n /**\n * Limit text to specified number of lines (uses line-clamp)\n */\n lineClamp?: 1 | 2 | 3 | 4 | 5 | 6;\n\n /**\n * Text wrapping behavior\n */\n wrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';\n\n /**\n * Word break behavior\n */\n wordBreak?: 'normal' | 'words' | 'all' | 'keep';\n\n /**\n * Text opacity (0-100)\n */\n opacity?: 0 | 25 | 50 | 75 | 100;\n\n /**\n * Add bottom margin\n * @default false\n */\n hasMargin?: boolean;\n\n /**\n * Make text selectable or not\n */\n selectable?: boolean;\n\n /**\n * Additional CSS classes (use as last resort)\n */\n className?: string;\n\n /**\n * ID for the element\n */\n id?: string;\n\n /**\n * HTML for attribute (useful when as=\"label\")\n */\n htmlFor?: string;\n};\n\n/**\n * Text - Versatile typography component for body text\n * Handles all common text styling needs through props\n */\nfunction Text({\n children,\n as = 'p',\n variant = 'body',\n size,\n weight = 'normal',\n align,\n leading,\n tracking,\n transform,\n decoration,\n italic = false,\n truncate = false,\n lineClamp,\n wrap,\n wordBreak,\n opacity,\n hasMargin = false,\n selectable,\n className = '',\n id,\n htmlFor\n}: Readonly<TextProps>) {\n const variantClasses = {\n body: 'text-foreground',\n muted: 'text-muted-foreground',\n small: 'text-muted-foreground',\n primary: 'text-primary',\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n inherit: 'text-inherit'\n };\n\n const sizeClasses = textSizes;\n\n const weightClasses = {\n light: 'font-light',\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n extrabold: 'font-extrabold'\n };\n\n const alignClasses = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n justify: 'text-justify'\n };\n\n const leadingClasses = {\n none: 'leading-none',\n tight: 'leading-tight',\n snug: 'leading-snug',\n normal: 'leading-normal',\n relaxed: 'leading-relaxed',\n loose: 'leading-loose'\n };\n\n const trackingClasses = {\n tighter: 'tracking-tighter',\n tight: 'tracking-tight',\n normal: 'tracking-normal',\n wide: 'tracking-wide',\n wider: 'tracking-wider',\n widest: 'tracking-widest'\n };\n\n const transformClasses = {\n uppercase: 'uppercase',\n lowercase: 'lowercase',\n capitalize: 'capitalize',\n normal: 'normal-case'\n };\n\n const decorationClasses = {\n underline: 'underline',\n 'line-through': 'line-through',\n none: 'no-underline'\n };\n\n const wrapClasses = {\n wrap: 'text-wrap',\n nowrap: 'text-nowrap',\n balance: 'text-balance',\n pretty: 'text-pretty'\n };\n\n const wordBreakClasses = {\n normal: 'break-normal',\n words: 'break-words',\n all: 'break-all',\n keep: 'break-keep'\n };\n\n const opacityClasses = {\n 0: 'opacity-0',\n 25: 'opacity-25',\n 50: 'opacity-50',\n 75: 'opacity-75',\n 100: 'opacity-100'\n };\n\n const lineClampClasses = {\n 1: 'line-clamp-1',\n 2: 'line-clamp-2',\n 3: 'line-clamp-3',\n 4: 'line-clamp-4',\n 5: 'line-clamp-5',\n 6: 'line-clamp-6'\n };\n\n const defaultSizes = {\n body: 'lg',\n muted: 'base',\n small: 'sm',\n primary: 'base',\n success: 'base',\n warning: 'base',\n error: 'base',\n inherit: 'base'\n } as const;\n\n const finalSize = size || defaultSizes[variant];\n const margin = hasMargin ? 'mb-3 sm:mb-4' : '';\n\n const classes = [\n variantClasses[variant],\n sizeClasses[finalSize],\n weightClasses[weight],\n margin,\n align && alignClasses[align],\n leading && leadingClasses[leading],\n tracking && trackingClasses[tracking],\n transform && transformClasses[transform],\n decoration && decorationClasses[decoration],\n italic && 'italic',\n truncate && 'truncate',\n lineClamp && lineClampClasses[lineClamp],\n wrap && wrapClasses[wrap],\n wordBreak && wordBreakClasses[wordBreak],\n opacity !== undefined && opacityClasses[opacity],\n selectable === true && 'select-all',\n selectable === false && 'select-none',\n className\n ]\n .filter(Boolean)\n .join(' ');\n\n const elementProps: Record<string, unknown> = {\n className: classes,\n ...(id && { id }),\n ...(htmlFor && as === 'label' && { htmlFor })\n };\n\n return createElement(as, elementProps, children);\n}\n\nText.displayName = 'Text';\n\nexport default Text;\n"],"names":[],"mappings":";;AAsIA,SAAS,KAAK;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,EACL,UAAU;AAAA,EACV;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,iBAAiB;AAAA,IACrB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,EAAA;AAGX,QAAM,cAAc;AAEpB,QAAM,gBAAgB;AAAA,IACpB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAM;AAAA,IACN,WAAW;AAAA,EAAA;AAGb,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,EAAA;AAGX,QAAM,iBAAiB;AAAA,IACrB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAGT,QAAM,kBAAkB;AAAA,IACtB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAGV,QAAM,mBAAmB;AAAA,IACvB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ;AAAA,EAAA;AAGV,QAAM,oBAAoB;AAAA,IACxB,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,MAAM;AAAA,EAAA;AAGR,QAAM,cAAc;AAAA,IAClB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,EAAA;AAGV,QAAM,mBAAmB;AAAA,IACvB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EAAA;AAGR,QAAM,iBAAiB;AAAA,IACrB,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EAAA;AAGP,QAAM,mBAAmB;AAAA,IACvB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAGL,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,EAAA;AAGX,QAAM,YAAY,QAAQ,aAAa,OAAO;AAC9C,QAAM,SAAS,YAAY,iBAAiB;AAE5C,QAAM,UAAU;AAAA,IACd,eAAe,OAAO;AAAA,IACtB,YAAY,SAAS;AAAA,IACrB,cAAc,MAAM;AAAA,IACpB;AAAA,IACA,SAAS,aAAa,KAAK;AAAA,IAC3B,WAAW,eAAe,OAAO;AAAA,IACjC,YAAY,gBAAgB,QAAQ;AAAA,IACpC,aAAa,iBAAiB,SAAS;AAAA,IACvC,cAAc,kBAAkB,UAAU;AAAA,IAC1C,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,aAAa,iBAAiB,SAAS;AAAA,IACvC,QAAQ,YAAY,IAAI;AAAA,IACxB,aAAa,iBAAiB,SAAS;AAAA,IACvC,YAAY,UAAa,eAAe,OAAO;AAAA,IAC/C,eAAe,QAAQ;AAAA,IACvB,eAAe,SAAS;AAAA,IACxB;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,QAAM,eAAwC;AAAA,IAC5C,WAAW;AAAA,IACX,GAAI,MAAM,EAAE,GAAA;AAAA,IACZ,GAAI,WAAW,OAAO,WAAW,EAAE,QAAA;AAAA,EAAQ;AAG7C,SAAO,cAAc,IAAI,cAAc,QAAQ;AACjD;AAEA,KAAK,cAAc;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Debounced } from '../utils/debounce';
|
|
2
|
+
/**
|
|
3
|
+
* Hook that returns a debounced version of a callback function.
|
|
4
|
+
*
|
|
5
|
+
* @param callback - The function to debounce
|
|
6
|
+
* @param delayMs - Delay in milliseconds before invoking the callback
|
|
7
|
+
* @param deps - Optional dependency array (like useEffect). If not provided, callback must be stable.
|
|
8
|
+
* @returns Debounced function with `call`, `flush`, and `cancel` methods
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // With dependencies (recommended)
|
|
12
|
+
* const debounced = useDebounce(() => {
|
|
13
|
+
* console.log('Searching for:', searchQuery);
|
|
14
|
+
* }, 300, [searchQuery]);
|
|
15
|
+
*
|
|
16
|
+
* const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
17
|
+
* setSearchQuery(e.target.value);
|
|
18
|
+
* debounced.call();
|
|
19
|
+
* };
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Without dependencies (callback must be wrapped in useCallback)
|
|
23
|
+
* const debounced = useDebounce(() => {
|
|
24
|
+
* console.log('Searching for:', searchQuery);
|
|
25
|
+
* }, 300);
|
|
26
|
+
*/
|
|
27
|
+
export declare function useDebounce<T extends (...args: unknown[]) => void>(callback: T, delayMs: number, deps?: React.DependencyList): Debounced<T>;
|
|
28
|
+
export default useDebounce;
|
|
29
|
+
//# sourceMappingURL=useDebounce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAChE,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,GAC1B,SAAS,CAAC,CAAC,CAAC,CAyBd;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useRef, useEffect, useMemo } from "react";
|
|
2
|
+
import { debounce } from "../utils/debounce.js";
|
|
3
|
+
function useDebounce(callback, delayMs, deps) {
|
|
4
|
+
const callbackRef = useRef(callback);
|
|
5
|
+
useEffect(
|
|
6
|
+
() => {
|
|
7
|
+
callbackRef.current = callback;
|
|
8
|
+
},
|
|
9
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10
|
+
deps !== void 0 ? deps : [callback]
|
|
11
|
+
);
|
|
12
|
+
const debounced = useMemo(() => {
|
|
13
|
+
return debounce(() => callbackRef.current(), delayMs);
|
|
14
|
+
}, [delayMs]);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
return () => {
|
|
17
|
+
debounced.cancel();
|
|
18
|
+
};
|
|
19
|
+
}, [debounced]);
|
|
20
|
+
return debounced;
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
useDebounce as default,
|
|
24
|
+
useDebounce
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.js","sources":["../../src/hooks/useDebounce.ts"],"sourcesContent":["import { useMemo, useEffect, useRef } from 'react';\nimport { debounce, Debounced } from '@/utils/debounce';\n\n/**\n * Hook that returns a debounced version of a callback function.\n *\n * @param callback - The function to debounce\n * @param delayMs - Delay in milliseconds before invoking the callback\n * @param deps - Optional dependency array (like useEffect). If not provided, callback must be stable.\n * @returns Debounced function with `call`, `flush`, and `cancel` methods\n *\n * @example\n * // With dependencies (recommended)\n * const debounced = useDebounce(() => {\n * console.log('Searching for:', searchQuery);\n * }, 300, [searchQuery]);\n *\n * const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n * setSearchQuery(e.target.value);\n * debounced.call();\n * };\n *\n * @example\n * // Without dependencies (callback must be wrapped in useCallback)\n * const debounced = useDebounce(() => {\n * console.log('Searching for:', searchQuery);\n * }, 300);\n */\nexport function useDebounce<T extends (...args: unknown[]) => void>(\n callback: T,\n delayMs: number,\n deps?: React.DependencyList\n): Debounced<T> {\n const callbackRef = useRef(callback);\n\n // Update ref with dependencies - use callback as dependency if deps not provided\n useEffect(\n () => {\n callbackRef.current = callback;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n deps !== undefined ? deps : [callback]\n );\n\n // Create the debounced function once\n const debounced = useMemo(() => {\n return debounce(() => callbackRef.current(), delayMs) as Debounced<T>;\n }, [delayMs]);\n\n // Cancel any pending debounced calls when the component unmounts\n useEffect(() => {\n return () => {\n debounced.cancel();\n };\n }, [debounced]);\n\n return debounced;\n}\n\nexport default useDebounce;\n"],"names":[],"mappings":";;AA4BO,SAAS,YACd,UACA,SACA,MACc;AACd,QAAM,cAAc,OAAO,QAAQ;AAGnC;AAAA,IACE,MAAM;AACJ,kBAAY,UAAU;AAAA,IACxB;AAAA;AAAA,IAEA,SAAS,SAAY,OAAO,CAAC,QAAQ;AAAA,EAAA;AAIvC,QAAM,YAAY,QAAQ,MAAM;AAC9B,WAAO,SAAS,MAAM,YAAY,QAAA,GAAW,OAAO;AAAA,EACtD,GAAG,CAAC,OAAO,CAAC;AAGZ,YAAU,MAAM;AACd,WAAO,MAAM;AACX,gBAAU,OAAA;AAAA,IACZ;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,SAAO;AACT;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Robust scroll reset on key changes (e.g., route changes).
|
|
4
|
+
* Attempts multiple strategies to ensure scroll position returns to top.
|
|
5
|
+
*
|
|
6
|
+
* @param deps - Dependency array; when any value changes, scroll is reset (e.g. [pathname] for routes).
|
|
7
|
+
* @param container - Optional scroll container (element or ref). If provided, its scrollTop is reset; hash targets are also scrolled into view within it.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useScrollReset(deps: unknown[], container?: HTMLElement | null | RefObject<HTMLElement | null>): void;
|
|
10
|
+
export default useScrollReset;
|
|
11
|
+
//# sourceMappingURL=useScrollReset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollReset.d.ts","sourceRoot":"","sources":["../../src/hooks/useScrollReset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,QA6E7G;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
function useScrollReset(deps, container) {
|
|
3
|
+
useEffect(() => {
|
|
4
|
+
let cancelled = false;
|
|
5
|
+
const maxRaf = 6;
|
|
6
|
+
let rafCount = 0;
|
|
7
|
+
const isRef = (obj) => {
|
|
8
|
+
return typeof obj === "object" && obj !== null && "current" in obj;
|
|
9
|
+
};
|
|
10
|
+
const setAllScrollTop = () => {
|
|
11
|
+
if (cancelled) return;
|
|
12
|
+
try {
|
|
13
|
+
const hash = typeof window !== "undefined" ? window.location.hash : "";
|
|
14
|
+
if (hash && hash.startsWith("#")) {
|
|
15
|
+
const id = decodeURIComponent(hash.slice(1));
|
|
16
|
+
const resolved2 = isRef(container) ? container.current : container;
|
|
17
|
+
const root = resolved2 ?? document;
|
|
18
|
+
const target = root.querySelector ? root.querySelector(`#${CSS.escape(id)}`) : null;
|
|
19
|
+
if (target) {
|
|
20
|
+
try {
|
|
21
|
+
target.scrollIntoView({ block: "start" });
|
|
22
|
+
} catch {
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
} catch {
|
|
28
|
+
}
|
|
29
|
+
window.scrollTo(0, 0);
|
|
30
|
+
const resolved = isRef(container) ? container.current : container;
|
|
31
|
+
if (resolved) resolved.scrollTop = 0;
|
|
32
|
+
document.documentElement.scrollTop = 0;
|
|
33
|
+
document.body.scrollTop = 0;
|
|
34
|
+
};
|
|
35
|
+
setAllScrollTop();
|
|
36
|
+
Promise.resolve().then(() => setAllScrollTop());
|
|
37
|
+
const timeoutId = setTimeout(() => setAllScrollTop(), 0);
|
|
38
|
+
const loop = () => {
|
|
39
|
+
if (cancelled) return;
|
|
40
|
+
setAllScrollTop();
|
|
41
|
+
rafCount += 1;
|
|
42
|
+
if (rafCount < maxRaf) requestAnimationFrame(loop);
|
|
43
|
+
};
|
|
44
|
+
requestAnimationFrame(loop);
|
|
45
|
+
return () => {
|
|
46
|
+
cancelled = true;
|
|
47
|
+
clearTimeout(timeoutId);
|
|
48
|
+
};
|
|
49
|
+
}, deps);
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
useScrollReset as default,
|
|
53
|
+
useScrollReset
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=useScrollReset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollReset.js","sources":["../../src/hooks/useScrollReset.ts"],"sourcesContent":["import { useEffect, RefObject } from 'react';\n\n/**\n * Robust scroll reset on key changes (e.g., route changes).\n * Attempts multiple strategies to ensure scroll position returns to top.\n *\n * @param deps - Dependency array; when any value changes, scroll is reset (e.g. [pathname] for routes).\n * @param container - Optional scroll container (element or ref). If provided, its scrollTop is reset; hash targets are also scrolled into view within it.\n */\nexport function useScrollReset(deps: unknown[], container?: HTMLElement | null | RefObject<HTMLElement | null>) {\n useEffect(() => {\n let cancelled = false;\n const maxRaf = 6;\n let rafCount = 0;\n\n const isRef = (obj: unknown): obj is RefObject<HTMLElement | null> => {\n return typeof obj === 'object' && obj !== null && 'current' in obj;\n };\n\n const setAllScrollTop = () => {\n if (cancelled) return;\n\n // Handle hash navigation if applicable\n try {\n const hash = typeof window !== 'undefined' ? window.location.hash : '';\n if (hash && hash.startsWith('#')) {\n const id = decodeURIComponent(hash.slice(1));\n // Resolve container whether caller passed HTMLElement or RefObject\n const resolved: HTMLElement | null | undefined = isRef(container)\n ? container.current\n : (container as HTMLElement | null | undefined);\n\n // Search within container first, then fallback to document\n const root = resolved ?? document;\n const target = (root as Document | HTMLElement).querySelector\n ? (root as Document | HTMLElement).querySelector(`#${CSS.escape(id)}`)\n : null;\n\n if (target) {\n try {\n (target as HTMLElement).scrollIntoView({ block: 'start' });\n } catch {\n // ignore errors and fall back to not resetting\n }\n\n return;\n }\n }\n } catch {\n // CSS.escape may throw in very old environments; fall back to default behavior\n }\n\n window.scrollTo(0, 0);\n // Resolve container whether caller passed HTMLElement or RefObject\n const resolved: HTMLElement | null | undefined = isRef(container)\n ? container.current\n : (container as HTMLElement | null | undefined);\n if (resolved) resolved.scrollTop = 0;\n document.documentElement.scrollTop = 0;\n document.body.scrollTop = 0;\n };\n\n // Immediate\n setAllScrollTop();\n\n // Microtask flush\n Promise.resolve().then(() => setAllScrollTop());\n\n // Timeout after potential layout shift\n const timeoutId = setTimeout(() => setAllScrollTop(), 0);\n\n // A few RAF retries to combat async mounts\n const loop = () => {\n if (cancelled) return;\n setAllScrollTop();\n rafCount += 1;\n if (rafCount < maxRaf) requestAnimationFrame(loop);\n };\n requestAnimationFrame(loop);\n\n return () => {\n cancelled = true;\n clearTimeout(timeoutId);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\nexport default useScrollReset;\n"],"names":["resolved"],"mappings":";AASO,SAAS,eAAe,MAAiB,WAAgE;AAC9G,YAAU,MAAM;AACd,QAAI,YAAY;AAChB,UAAM,SAAS;AACf,QAAI,WAAW;AAEf,UAAM,QAAQ,CAAC,QAAuD;AACpE,aAAO,OAAO,QAAQ,YAAY,QAAQ,QAAQ,aAAa;AAAA,IACjE;AAEA,UAAM,kBAAkB,MAAM;AAC5B,UAAI,UAAW;AAGf,UAAI;AACF,cAAM,OAAO,OAAO,WAAW,cAAc,OAAO,SAAS,OAAO;AACpE,YAAI,QAAQ,KAAK,WAAW,GAAG,GAAG;AAChC,gBAAM,KAAK,mBAAmB,KAAK,MAAM,CAAC,CAAC;AAE3C,gBAAMA,YAA2C,MAAM,SAAS,IAC5D,UAAU,UACT;AAGL,gBAAM,OAAOA,aAAY;AACzB,gBAAM,SAAU,KAAgC,gBAC3C,KAAgC,cAAc,IAAI,IAAI,OAAO,EAAE,CAAC,EAAE,IACnE;AAEJ,cAAI,QAAQ;AACV,gBAAI;AACD,qBAAuB,eAAe,EAAE,OAAO,SAAS;AAAA,YAC3D,QAAQ;AAAA,YAER;AAEA;AAAA,UACF;AAAA,QACF;AAAA,MACF,QAAQ;AAAA,MAER;AAEA,aAAO,SAAS,GAAG,CAAC;AAEpB,YAAM,WAA2C,MAAM,SAAS,IAC5D,UAAU,UACT;AACL,UAAI,mBAAmB,YAAY;AACnC,eAAS,gBAAgB,YAAY;AACrC,eAAS,KAAK,YAAY;AAAA,IAC5B;AAGA,oBAAA;AAGA,YAAQ,QAAA,EAAU,KAAK,MAAM,iBAAiB;AAG9C,UAAM,YAAY,WAAW,MAAM,gBAAA,GAAmB,CAAC;AAGvD,UAAM,OAAO,MAAM;AACjB,UAAI,UAAW;AACf,sBAAA;AACA,kBAAY;AACZ,UAAI,WAAW,OAAQ,uBAAsB,IAAI;AAAA,IACnD;AACA,0BAAsB,IAAI;AAE1B,WAAO,MAAM;AACX,kBAAY;AACZ,mBAAa,SAAS;AAAA,IACxB;AAAA,EAEF,GAAG,IAAI;AACT;"}
|