@masaraxui/react 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/components/accordion/accordion.d.ts +30 -0
- package/dist/components/accordion/accordion.js +191 -0
- package/dist/components/accordion/index.d.ts +25 -0
- package/dist/components/accordion/index.js +18 -0
- package/dist/components/alert/alert.d.ts +15 -0
- package/dist/components/alert/alert.js +152 -0
- package/dist/components/alert/index.d.ts +21 -0
- package/dist/components/alert/index.js +16 -0
- package/dist/components/alert-dialog/alert-dialog.d.ts +65 -0
- package/dist/components/alert-dialog/alert-dialog.js +309 -0
- package/dist/components/alert-dialog/index.d.ts +33 -0
- package/dist/components/alert-dialog/index.js +22 -0
- package/dist/components/autocomplete/autocomplete.d.ts +31 -0
- package/dist/components/autocomplete/autocomplete.js +241 -0
- package/dist/components/autocomplete/index.d.ts +25 -0
- package/dist/components/autocomplete/index.js +18 -0
- package/dist/components/avatar/avatar.d.ts +15 -0
- package/dist/components/avatar/avatar.js +93 -0
- package/dist/components/avatar/index.d.ts +17 -0
- package/dist/components/avatar/index.js +14 -0
- package/dist/components/badge/badge.d.ts +19 -0
- package/dist/components/badge/badge.js +87 -0
- package/dist/components/badge/index.d.ts +17 -0
- package/dist/components/badge/index.js +14 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +14 -0
- package/dist/components/breadcrumbs/breadcrumbs.js +84 -0
- package/dist/components/breadcrumbs/index.d.ts +15 -0
- package/dist/components/breadcrumbs/index.js +13 -0
- package/dist/components/button/button.d.ts +10 -0
- package/dist/components/button/button.js +49 -0
- package/dist/components/button/index.d.ts +15 -0
- package/dist/components/button/index.js +13 -0
- package/dist/components/button-group/button-group.d.ts +26 -0
- package/dist/components/button-group/button-group.js +82 -0
- package/dist/components/button-group/index.d.ts +16 -0
- package/dist/components/button-group/index.js +14 -0
- package/dist/components/calendar/calendar.d.ts +71 -0
- package/dist/components/calendar/calendar.js +283 -0
- package/dist/components/calendar/index.d.ts +91 -0
- package/dist/components/calendar/index.js +29 -0
- package/dist/components/calendar-year-picker/calendar-year-picker.d.ts +61 -0
- package/dist/components/calendar-year-picker/calendar-year-picker.js +411 -0
- package/dist/components/calendar-year-picker/index.d.ts +43 -0
- package/dist/components/calendar-year-picker/index.js +18 -0
- package/dist/components/calendar-year-picker/year-picker-context.d.ts +28 -0
- package/dist/components/calendar-year-picker/year-picker-context.js +39 -0
- package/dist/components/card/card.d.ts +22 -0
- package/dist/components/card/card.js +141 -0
- package/dist/components/card/index.d.ts +23 -0
- package/dist/components/card/index.js +17 -0
- package/dist/components/checkbox/checkbox.d.ts +22 -0
- package/dist/components/checkbox/checkbox.js +124 -0
- package/dist/components/checkbox/index.d.ts +19 -0
- package/dist/components/checkbox/index.js +15 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
- package/dist/components/checkbox-group/checkbox-group.js +33 -0
- package/dist/components/checkbox-group/index.d.ts +3 -0
- package/dist/components/checkbox-group/index.js +3 -0
- package/dist/components/chip/chip.d.ts +14 -0
- package/dist/components/chip/chip.js +67 -0
- package/dist/components/chip/index.d.ts +15 -0
- package/dist/components/chip/index.js +13 -0
- package/dist/components/close-button/close-button.d.ts +8 -0
- package/dist/components/close-button/close-button.js +33 -0
- package/dist/components/close-button/index.d.ts +13 -0
- package/dist/components/close-button/index.js +12 -0
- package/dist/components/color-area/color-area.d.ts +11 -0
- package/dist/components/color-area/color-area.js +70 -0
- package/dist/components/color-area/index.d.ts +15 -0
- package/dist/components/color-area/index.js +13 -0
- package/dist/components/color-field/color-field.d.ts +9 -0
- package/dist/components/color-field/color-field.js +29 -0
- package/dist/components/color-field/index.d.ts +22 -0
- package/dist/components/color-field/index.js +18 -0
- package/dist/components/color-input-group/color-input-group.d.ts +19 -0
- package/dist/components/color-input-group/color-input-group.js +98 -0
- package/dist/components/color-input-group/index.d.ts +19 -0
- package/dist/components/color-input-group/index.js +15 -0
- package/dist/components/color-picker/color-picker.d.ts +21 -0
- package/dist/components/color-picker/color-picker.js +86 -0
- package/dist/components/color-picker/index.d.ts +17 -0
- package/dist/components/color-picker/index.js +14 -0
- package/dist/components/color-slider/color-slider.d.ts +50 -0
- package/dist/components/color-slider/color-slider.js +205 -0
- package/dist/components/color-slider/index.d.ts +19 -0
- package/dist/components/color-slider/index.js +15 -0
- package/dist/components/color-swatch/color-swatch.d.ts +8 -0
- package/dist/components/color-swatch/color-swatch.js +31 -0
- package/dist/components/color-swatch/index.d.ts +13 -0
- package/dist/components/color-swatch/index.js +12 -0
- package/dist/components/color-swatch-picker/color-swatch-picker.d.ts +20 -0
- package/dist/components/color-swatch-picker/color-swatch-picker.js +149 -0
- package/dist/components/color-swatch-picker/index.d.ts +19 -0
- package/dist/components/color-swatch-picker/index.js +15 -0
- package/dist/components/combo-box/combo-box.d.ts +34 -0
- package/dist/components/combo-box/combo-box.js +116 -0
- package/dist/components/combo-box/index.d.ts +20 -0
- package/dist/components/combo-box/index.js +16 -0
- package/dist/components/date-field/date-field.d.ts +9 -0
- package/dist/components/date-field/date-field.js +29 -0
- package/dist/components/date-field/index.d.ts +26 -0
- package/dist/components/date-field/index.js +20 -0
- package/dist/components/date-input-group/date-input-group.d.ts +25 -0
- package/dist/components/date-input-group/date-input-group.js +146 -0
- package/dist/components/date-input-group/index.d.ts +23 -0
- package/dist/components/date-input-group/index.js +17 -0
- package/dist/components/date-picker/date-picker.d.ts +30 -0
- package/dist/components/date-picker/date-picker.js +151 -0
- package/dist/components/date-picker/index.d.ts +31 -0
- package/dist/components/date-picker/index.js +15 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts +36 -0
- package/dist/components/date-range-picker/date-range-picker.js +173 -0
- package/dist/components/date-range-picker/index.d.ts +36 -0
- package/dist/components/date-range-picker/index.js +16 -0
- package/dist/components/description/description.d.ts +9 -0
- package/dist/components/description/description.js +22 -0
- package/dist/components/description/index.d.ts +13 -0
- package/dist/components/description/index.js +12 -0
- package/dist/components/disclosure/disclosure.d.ts +27 -0
- package/dist/components/disclosure/disclosure.js +157 -0
- package/dist/components/disclosure/index.d.ts +23 -0
- package/dist/components/disclosure/index.js +17 -0
- package/dist/components/disclosure-group/disclosure-group.d.ts +8 -0
- package/dist/components/disclosure-group/disclosure-group.js +35 -0
- package/dist/components/disclosure-group/index.d.ts +15 -0
- package/dist/components/disclosure-group/index.js +13 -0
- package/dist/components/disclosure-group/use-disclosure-group-navigation.d.ts +14 -0
- package/dist/components/disclosure-group/use-disclosure-group-navigation.js +51 -0
- package/dist/components/drawer/drawer.d.ts +84 -0
- package/dist/components/drawer/drawer.js +439 -0
- package/dist/components/drawer/index.d.ts +69 -0
- package/dist/components/drawer/index.js +22 -0
- package/dist/components/dropdown/dropdown.d.ts +38 -0
- package/dist/components/dropdown/dropdown.js +156 -0
- package/dist/components/dropdown/index.d.ts +29 -0
- package/dist/components/dropdown/index.js +20 -0
- package/dist/components/empty-state/empty-state.d.ts +7 -0
- package/dist/components/empty-state/empty-state.js +20 -0
- package/dist/components/empty-state/index.d.ts +13 -0
- package/dist/components/empty-state/index.js +12 -0
- package/dist/components/error-message/error-message.d.ts +9 -0
- package/dist/components/error-message/error-message.js +22 -0
- package/dist/components/error-message/index.d.ts +13 -0
- package/dist/components/error-message/index.js +12 -0
- package/dist/components/field-error/field-error.d.ts +8 -0
- package/dist/components/field-error/field-error.js +21 -0
- package/dist/components/field-error/index.d.ts +13 -0
- package/dist/components/field-error/index.js +12 -0
- package/dist/components/fieldset/fieldset.d.ts +16 -0
- package/dist/components/fieldset/fieldset.js +88 -0
- package/dist/components/fieldset/index.d.ts +19 -0
- package/dist/components/fieldset/index.js +15 -0
- package/dist/components/form/form.d.ts +7 -0
- package/dist/components/form/form.js +13 -0
- package/dist/components/form/index.d.ts +11 -0
- package/dist/components/form/index.js +11 -0
- package/dist/components/header/header.d.ts +7 -0
- package/dist/components/header/header.js +21 -0
- package/dist/components/header/index.d.ts +9 -0
- package/dist/components/header/index.js +10 -0
- package/dist/components/icons.d.ts +18 -0
- package/dist/components/icons.js +243 -0
- package/dist/components/index.d.ts +84 -0
- package/dist/components/input/index.d.ts +13 -0
- package/dist/components/input/index.js +12 -0
- package/dist/components/input/input.d.ts +8 -0
- package/dist/components/input/input.js +31 -0
- package/dist/components/input-group/index.d.ts +21 -0
- package/dist/components/input-group/index.js +16 -0
- package/dist/components/input-group/input-group.d.ts +20 -0
- package/dist/components/input-group/input-group.js +129 -0
- package/dist/components/input-otp/index.d.ts +22 -0
- package/dist/components/input-otp/index.js +21 -0
- package/dist/components/input-otp/input-otp.d.ts +26 -0
- package/dist/components/input-otp/input-otp.js +139 -0
- package/dist/components/kbd/index.d.ts +19 -0
- package/dist/components/kbd/index.js +15 -0
- package/dist/components/kbd/kbd.constants.d.ts +3 -0
- package/dist/components/kbd/kbd.constants.js +51 -0
- package/dist/components/kbd/kbd.d.ts +24 -0
- package/dist/components/kbd/kbd.js +76 -0
- package/dist/components/label/index.d.ts +13 -0
- package/dist/components/label/index.js +12 -0
- package/dist/components/label/label.d.ts +8 -0
- package/dist/components/label/label.js +27 -0
- package/dist/components/link/index.d.ts +15 -0
- package/dist/components/link/index.js +13 -0
- package/dist/components/link/link.d.ts +10 -0
- package/dist/components/link/link.js +59 -0
- package/dist/components/list-box/index.d.ts +23 -0
- package/dist/components/list-box/index.js +18 -0
- package/dist/components/list-box/list-box.d.ts +9 -0
- package/dist/components/list-box/list-box.js +23 -0
- package/dist/components/list-box-item/index.d.ts +15 -0
- package/dist/components/list-box-item/index.js +13 -0
- package/dist/components/list-box-item/list-box-item.d.ts +15 -0
- package/dist/components/list-box-item/list-box-item.js +77 -0
- package/dist/components/list-box-section/index.d.ts +10 -0
- package/dist/components/list-box-section/index.js +10 -0
- package/dist/components/list-box-section/list-box-section.d.ts +8 -0
- package/dist/components/list-box-section/list-box-section.js +22 -0
- package/dist/components/menu/index.d.ts +24 -0
- package/dist/components/menu/index.js +18 -0
- package/dist/components/menu/menu.d.ts +9 -0
- package/dist/components/menu/menu.js +20 -0
- package/dist/components/menu-item/index.d.ts +17 -0
- package/dist/components/menu-item/index.js +14 -0
- package/dist/components/menu-item/menu-item.d.ts +20 -0
- package/dist/components/menu-item/menu-item.js +123 -0
- package/dist/components/menu-section/index.d.ts +10 -0
- package/dist/components/menu-section/index.js +10 -0
- package/dist/components/menu-section/menu-section.d.ts +8 -0
- package/dist/components/menu-section/menu-section.js +22 -0
- package/dist/components/meter/index.d.ts +34 -0
- package/dist/components/meter/index.js +15 -0
- package/dist/components/meter/meter.d.ts +29 -0
- package/dist/components/meter/meter.js +108 -0
- package/dist/components/modal/index.d.ts +33 -0
- package/dist/components/modal/index.js +22 -0
- package/dist/components/modal/modal.d.ts +53 -0
- package/dist/components/modal/modal.js +288 -0
- package/dist/components/number-field/index.d.ts +21 -0
- package/dist/components/number-field/index.js +16 -0
- package/dist/components/number-field/number-field.d.ts +20 -0
- package/dist/components/number-field/number-field.js +127 -0
- package/dist/components/pagination/index.d.ts +64 -0
- package/dist/components/pagination/index.js +21 -0
- package/dist/components/pagination/pagination.d.ts +84 -0
- package/dist/components/pagination/pagination.js +230 -0
- package/dist/components/popover/index.d.ts +23 -0
- package/dist/components/popover/index.js +17 -0
- package/dist/components/popover/popover.d.ts +24 -0
- package/dist/components/popover/popover.js +153 -0
- package/dist/components/progress-bar/index.d.ts +34 -0
- package/dist/components/progress-bar/index.js +15 -0
- package/dist/components/progress-bar/progress-bar.d.ts +29 -0
- package/dist/components/progress-bar/progress-bar.js +108 -0
- package/dist/components/progress-circle/index.d.ts +34 -0
- package/dist/components/progress-circle/index.js +15 -0
- package/dist/components/progress-circle/progress-circle.d.ts +29 -0
- package/dist/components/progress-circle/progress-circle.js +126 -0
- package/dist/components/rac/components.d.ts +1 -0
- package/dist/components/rac/index.d.ts +5 -0
- package/dist/components/rac/index.js +3 -0
- package/dist/components/rac/types.d.ts +3 -0
- package/dist/components/rac/utils.d.ts +1 -0
- package/dist/components/radio/index.d.ts +19 -0
- package/dist/components/radio/index.js +15 -0
- package/dist/components/radio/radio.d.ts +21 -0
- package/dist/components/radio/radio.js +97 -0
- package/dist/components/radio-group/index.d.ts +13 -0
- package/dist/components/radio-group/index.js +12 -0
- package/dist/components/radio-group/radio-group.d.ts +8 -0
- package/dist/components/radio-group/radio-group.js +27 -0
- package/dist/components/range-calendar/index.d.ts +91 -0
- package/dist/components/range-calendar/index.js +29 -0
- package/dist/components/range-calendar/range-calendar.d.ts +71 -0
- package/dist/components/range-calendar/range-calendar.js +298 -0
- package/dist/components/scroll-shadow/index.d.ts +21 -0
- package/dist/components/scroll-shadow/index.js +13 -0
- package/dist/components/scroll-shadow/scroll-shadow.d.ts +32 -0
- package/dist/components/scroll-shadow/scroll-shadow.js +76 -0
- package/dist/components/scroll-shadow/use-scroll-shadow.d.ts +11 -0
- package/dist/components/scroll-shadow/use-scroll-shadow.js +121 -0
- package/dist/components/search-field/index.d.ts +21 -0
- package/dist/components/search-field/index.js +16 -0
- package/dist/components/search-field/search-field.d.ts +23 -0
- package/dist/components/search-field/search-field.js +127 -0
- package/dist/components/select/index.d.ts +21 -0
- package/dist/components/select/index.js +16 -0
- package/dist/components/select/select.d.ts +24 -0
- package/dist/components/select/select.js +140 -0
- package/dist/components/separator/index.d.ts +13 -0
- package/dist/components/separator/index.js +12 -0
- package/dist/components/separator/separator.d.ts +8 -0
- package/dist/components/separator/separator.js +27 -0
- package/dist/components/skeleton/index.d.ts +13 -0
- package/dist/components/skeleton/index.js +12 -0
- package/dist/components/skeleton/skeleton.d.ts +7 -0
- package/dist/components/skeleton/skeleton.js +25 -0
- package/dist/components/slider/index.d.ts +23 -0
- package/dist/components/slider/index.js +17 -0
- package/dist/components/slider/slider.d.ts +23 -0
- package/dist/components/slider/slider.js +177 -0
- package/dist/components/spinner/index.d.ts +13 -0
- package/dist/components/spinner/index.js +12 -0
- package/dist/components/spinner/spinner.d.ts +7 -0
- package/dist/components/spinner/spinner.js +88 -0
- package/dist/components/surface/index.d.ts +14 -0
- package/dist/components/surface/index.js +13 -0
- package/dist/components/surface/surface.d.ts +12 -0
- package/dist/components/surface/surface.js +34 -0
- package/dist/components/switch/index.d.ts +21 -0
- package/dist/components/switch/index.js +16 -0
- package/dist/components/switch/switch.d.ts +20 -0
- package/dist/components/switch/switch.js +118 -0
- package/dist/components/switch-group/index.d.ts +13 -0
- package/dist/components/switch-group/index.js +12 -0
- package/dist/components/switch-group/switch-group.d.ts +7 -0
- package/dist/components/switch-group/switch-group.js +25 -0
- package/dist/components/table/index.d.ts +38 -0
- package/dist/components/table/index.js +25 -0
- package/dist/components/table/table.d.ts +50 -0
- package/dist/components/table/table.js +283 -0
- package/dist/components/tabs/index.d.ts +25 -0
- package/dist/components/tabs/index.js +18 -0
- package/dist/components/tabs/tabs.d.ts +37 -0
- package/dist/components/tabs/tabs.js +156 -0
- package/dist/components/tag/index.d.ts +15 -0
- package/dist/components/tag/index.js +13 -0
- package/dist/components/tag/tag.d.ts +14 -0
- package/dist/components/tag/tag.js +85 -0
- package/dist/components/tag-group/index.d.ts +15 -0
- package/dist/components/tag-group/index.js +14 -0
- package/dist/components/tag-group/tag-group.d.ts +20 -0
- package/dist/components/tag-group/tag-group.js +59 -0
- package/dist/components/text/index.d.ts +13 -0
- package/dist/components/text/index.js +12 -0
- package/dist/components/text/text.d.ts +8 -0
- package/dist/components/text/text.js +25 -0
- package/dist/components/textarea/index.d.ts +13 -0
- package/dist/components/textarea/index.js +12 -0
- package/dist/components/textarea/textarea.d.ts +8 -0
- package/dist/components/textarea/textarea.js +27 -0
- package/dist/components/textfield/index.d.ts +14 -0
- package/dist/components/textfield/index.js +13 -0
- package/dist/components/textfield/textfield.d.ts +18 -0
- package/dist/components/textfield/textfield.js +39 -0
- package/dist/components/time-field/index.d.ts +26 -0
- package/dist/components/time-field/index.js +20 -0
- package/dist/components/time-field/time-field.d.ts +9 -0
- package/dist/components/time-field/time-field.js +29 -0
- package/dist/components/toast/constants.d.ts +6 -0
- package/dist/components/toast/constants.js +15 -0
- package/dist/components/toast/index.d.ts +75 -0
- package/dist/components/toast/index.js +23 -0
- package/dist/components/toast/toast-queue.d.ts +70 -0
- package/dist/components/toast/toast-queue.js +147 -0
- package/dist/components/toast/toast.d.ts +69 -0
- package/dist/components/toast/toast.js +365 -0
- package/dist/components/toggle-button/index.d.ts +13 -0
- package/dist/components/toggle-button/index.js +12 -0
- package/dist/components/toggle-button/toggle-button.d.ts +8 -0
- package/dist/components/toggle-button/toggle-button.js +36 -0
- package/dist/components/toggle-button-group/index.d.ts +16 -0
- package/dist/components/toggle-button-group/index.js +14 -0
- package/dist/components/toggle-button-group/toggle-button-group.d.ts +25 -0
- package/dist/components/toggle-button-group/toggle-button-group.js +70 -0
- package/dist/components/toolbar/index.d.ts +19 -0
- package/dist/components/toolbar/index.js +12 -0
- package/dist/components/toolbar/toolbar.d.ts +11 -0
- package/dist/components/toolbar/toolbar.js +39 -0
- package/dist/components/tooltip/index.d.ts +19 -0
- package/dist/components/tooltip/index.js +15 -0
- package/dist/components/tooltip/tooltip.d.ts +20 -0
- package/dist/components/tooltip/tooltip.js +106 -0
- package/dist/hooks/index.d.ts +9 -0
- package/dist/hooks/use-css-variable.d.ts +36 -0
- package/dist/hooks/use-css-variable.js +72 -0
- package/dist/hooks/use-is-hydrated.d.ts +19 -0
- package/dist/hooks/use-is-hydrated.js +28 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -0
- package/dist/hooks/use-isomorphic-layout-effect.js +6 -0
- package/dist/hooks/use-list-data.d.ts +111 -0
- package/dist/hooks/use-list-data.js +296 -0
- package/dist/hooks/use-measured-height.d.ts +4 -0
- package/dist/hooks/use-measured-height.js +47 -0
- package/dist/hooks/use-media-query.d.ts +6 -0
- package/dist/hooks/use-media-query.js +50 -0
- package/dist/hooks/use-mounted.d.ts +1 -0
- package/dist/hooks/use-mounted.js +15 -0
- package/dist/hooks/use-overlay-state.d.ts +52 -0
- package/dist/hooks/use-overlay-state.js +70 -0
- package/dist/hooks/use-safe-layout-effect.d.ts +2 -0
- package/dist/hooks/use-safe-layout-effect.js +6 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +190 -0
- package/dist/prerelease.d.ts +4 -0
- package/dist/prerelease.js +50 -0
- package/dist/styles.css +2 -0
- package/dist/utils/assertion.d.ts +9 -0
- package/dist/utils/assertion.js +3 -0
- package/dist/utils/calendar.d.ts +12 -0
- package/dist/utils/calendar.js +52 -0
- package/dist/utils/children.d.ts +9 -0
- package/dist/utils/children.js +17 -0
- package/dist/utils/compose.d.ts +7 -0
- package/dist/utils/compose.js +18 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/logger.d.ts +23 -0
- package/dist/utils/logger.js +78 -0
- package/dist/utils/tv.d.ts +3 -0
- package/dist/utils/variants.d.ts +73 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +5 -0
- package/package.json +406 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import { ComboBoxInputGroup, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger } from "./combo-box";
|
|
3
|
+
export declare const ComboBox: (<T extends object = object>({ children, className, fullWidth, menuTrigger, variant, ...props }: import("./combo-box").ComboBoxRootProps<T>) => import("react/jsx-runtime").JSX.Element) & {
|
|
4
|
+
Root: <T extends object = object>({ children, className, fullWidth, menuTrigger, variant, ...props }: import("./combo-box").ComboBoxRootProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
InputGroup: ({ children, className, ...props }: import("./combo-box").ComboBoxInputGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
Trigger: ({ children, className, ...rest }: import("./combo-box").ComboBoxTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
Popover: ({ children, className, placement, ...props }: import("./combo-box").ComboBoxPopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
};
|
|
9
|
+
export type ComboBox<T extends object = object> = {
|
|
10
|
+
Props: ComponentProps<typeof ComboBoxRoot<T>>;
|
|
11
|
+
RootProps: ComponentProps<typeof ComboBoxRoot<T>>;
|
|
12
|
+
InputGroupProps: ComponentProps<typeof ComboBoxInputGroup>;
|
|
13
|
+
TriggerProps: ComponentProps<typeof ComboBoxTrigger>;
|
|
14
|
+
PopoverProps: ComponentProps<typeof ComboBoxPopover>;
|
|
15
|
+
};
|
|
16
|
+
export { ComboBoxInputGroup, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger };
|
|
17
|
+
export type { ComboBoxRootProps, ComboBoxRootProps as ComboBoxProps, ComboBoxInputGroupProps, ComboBoxTriggerProps, ComboBoxPopoverProps, } from "./combo-box";
|
|
18
|
+
export { ComboBoxContext } from "./combo-box";
|
|
19
|
+
export { comboBoxVariants } from "@masaraxui/styles";
|
|
20
|
+
export type { ComboBoxVariants } from "@masaraxui/styles";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { ComboBoxRoot, ComboBoxPopover, ComboBoxTrigger, ComboBoxInputGroup } from './combo-box.js';
|
|
3
|
+
export { ComboBoxContext } from './combo-box.js';
|
|
4
|
+
export { comboBoxVariants } from '@masaraxui/styles';
|
|
5
|
+
|
|
6
|
+
/* -------------------------------------------------------------------------------------------------
|
|
7
|
+
* Compound Component
|
|
8
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
9
|
+
const ComboBox = Object.assign(ComboBoxRoot, {
|
|
10
|
+
Root: ComboBoxRoot,
|
|
11
|
+
InputGroup: ComboBoxInputGroup,
|
|
12
|
+
Trigger: ComboBoxTrigger,
|
|
13
|
+
Popover: ComboBoxPopover
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { ComboBox, ComboBoxInputGroup, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DateFieldVariants } from "@masaraxui/styles";
|
|
2
|
+
import type { ComponentPropsWithRef } from "react";
|
|
3
|
+
import type { DateValue } from "react-aria-components";
|
|
4
|
+
import { DateField as DateFieldPrimitive } from "react-aria-components";
|
|
5
|
+
interface DateFieldRootProps<T extends DateValue> extends ComponentPropsWithRef<typeof DateFieldPrimitive<T>>, DateFieldVariants {
|
|
6
|
+
}
|
|
7
|
+
declare function DateFieldRoot<T extends DateValue>({ children, className, fullWidth, ...props }: DateFieldRootProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export { DateFieldRoot };
|
|
9
|
+
export type { DateFieldRootProps };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { dateFieldVariants } from '@masaraxui/styles';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { DateField } from 'react-aria-components';
|
|
5
|
+
import { dataAttr } from '../../utils/assertion.js';
|
|
6
|
+
import { composeTwRenderProps } from '../../utils/compose.js';
|
|
7
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
function DateFieldRoot({
|
|
10
|
+
children,
|
|
11
|
+
className,
|
|
12
|
+
fullWidth,
|
|
13
|
+
...props
|
|
14
|
+
}) {
|
|
15
|
+
const styles = React__default.useMemo(() => dateFieldVariants({
|
|
16
|
+
fullWidth
|
|
17
|
+
}), [fullWidth]);
|
|
18
|
+
return /*#__PURE__*/jsx(DateField, {
|
|
19
|
+
"data-required": dataAttr(props.isRequired),
|
|
20
|
+
"data-slot": "date-field",
|
|
21
|
+
...props,
|
|
22
|
+
className: composeTwRenderProps(className, styles),
|
|
23
|
+
children: values => /*#__PURE__*/jsx(Fragment, {
|
|
24
|
+
children: typeof children === "function" ? children(values) : children
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { DateFieldRoot };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix } from "../date-input-group";
|
|
3
|
+
import { DateFieldRoot } from "./date-field";
|
|
4
|
+
export declare const DateField: typeof DateFieldRoot & {
|
|
5
|
+
Root: typeof DateFieldRoot;
|
|
6
|
+
Group: ({ children, className, fullWidth, variant, ...props }: import("../date-input-group").DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
Input: ({ className, ...props }: import("../date-input-group").DateInputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
InputContainer: ({ children, className, ...props }: import("../date-input-group").DateInputGroupInputContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
Segment: ({ className, segment, ...props }: import("../date-input-group").DateInputGroupSegmentProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
Prefix: ({ children, className, ...props }: import("../date-input-group").DateInputGroupPrefixProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
Suffix: ({ children, className, ...props }: import("../date-input-group").DateInputGroupSuffixProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
};
|
|
13
|
+
export type DateField = {
|
|
14
|
+
Props: ComponentProps<typeof DateFieldRoot>;
|
|
15
|
+
RootProps: ComponentProps<typeof DateFieldRoot>;
|
|
16
|
+
GroupProps: ComponentProps<typeof DateInputGroupRoot>;
|
|
17
|
+
InputProps: ComponentProps<typeof DateInputGroupInput>;
|
|
18
|
+
InputContainerProps: ComponentProps<typeof DateInputGroupInputContainer>;
|
|
19
|
+
SegmentProps: ComponentProps<typeof DateInputGroupSegment>;
|
|
20
|
+
PrefixProps: ComponentProps<typeof DateInputGroupPrefix>;
|
|
21
|
+
SuffixProps: ComponentProps<typeof DateInputGroupSuffix>;
|
|
22
|
+
};
|
|
23
|
+
export { DateFieldRoot };
|
|
24
|
+
export type { DateFieldRootProps, DateFieldRootProps as DateFieldProps } from "./date-field";
|
|
25
|
+
export { dateFieldVariants } from "@masaraxui/styles";
|
|
26
|
+
export type { DateFieldVariants } from "@masaraxui/styles";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import '../date-input-group/index.js';
|
|
3
|
+
import { DateFieldRoot } from './date-field.js';
|
|
4
|
+
export { dateFieldVariants } from '@masaraxui/styles';
|
|
5
|
+
import { DateInputGroupSuffix, DateInputGroupPrefix, DateInputGroupSegment, DateInputGroupInputContainer, DateInputGroupInput, DateInputGroupRoot } from '../date-input-group/date-input-group.js';
|
|
6
|
+
|
|
7
|
+
/* -------------------------------------------------------------------------------------------------
|
|
8
|
+
* Compound Component
|
|
9
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
10
|
+
const DateField = Object.assign(DateFieldRoot, {
|
|
11
|
+
Root: DateFieldRoot,
|
|
12
|
+
Group: DateInputGroupRoot,
|
|
13
|
+
Input: DateInputGroupInput,
|
|
14
|
+
InputContainer: DateInputGroupInputContainer,
|
|
15
|
+
Segment: DateInputGroupSegment,
|
|
16
|
+
Prefix: DateInputGroupPrefix,
|
|
17
|
+
Suffix: DateInputGroupSuffix
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { DateField, DateFieldRoot };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DateInputGroupVariants } from "@masaraxui/styles";
|
|
2
|
+
import type { ComponentPropsWithRef } from "react";
|
|
3
|
+
import type { DateInputProps as DateInputPrimitiveProps, DateSegmentProps as DateSegmentPrimitiveProps, DateInputProps as TimeInputPrimitiveProps, DateSegmentProps as TimeSegmentPrimitiveProps } from "react-aria-components";
|
|
4
|
+
import { Group as GroupPrimitive } from "react-aria-components";
|
|
5
|
+
interface DateInputGroupRootProps extends ComponentPropsWithRef<typeof GroupPrimitive>, DateInputGroupVariants {
|
|
6
|
+
}
|
|
7
|
+
declare const DateInputGroupRoot: ({ children, className, fullWidth, variant, ...props }: DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
interface DateInputGroupPrefixProps extends ComponentPropsWithRef<"div"> {
|
|
9
|
+
}
|
|
10
|
+
declare const DateInputGroupPrefix: ({ children, className, ...props }: DateInputGroupPrefixProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
interface DateInputGroupInputProps extends DateInputPrimitiveProps, Partial<Omit<TimeInputPrimitiveProps, keyof DateInputPrimitiveProps>> {
|
|
12
|
+
}
|
|
13
|
+
declare const DateInputGroupInput: ({ className, ...props }: DateInputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
interface DateInputGroupSegmentProps extends DateSegmentPrimitiveProps, Partial<Omit<TimeSegmentPrimitiveProps, keyof DateSegmentPrimitiveProps>> {
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
declare const DateInputGroupSegment: ({ className, segment, ...props }: DateInputGroupSegmentProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
interface DateInputGroupInputContainerProps extends ComponentPropsWithRef<"div"> {
|
|
19
|
+
}
|
|
20
|
+
declare const DateInputGroupInputContainer: ({ children, className, ...props }: DateInputGroupInputContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
interface DateInputGroupSuffixProps extends ComponentPropsWithRef<"div"> {
|
|
22
|
+
}
|
|
23
|
+
declare const DateInputGroupSuffix: ({ children, className, ...props }: DateInputGroupSuffixProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export { DateInputGroupRoot, DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupSegment, DateInputGroupPrefix, DateInputGroupSuffix, };
|
|
25
|
+
export type { DateInputGroupRootProps, DateInputGroupInputProps, DateInputGroupInputContainerProps, DateInputGroupSegmentProps, DateInputGroupPrefixProps, DateInputGroupSuffixProps, };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { dateInputGroupVariants } from '@masaraxui/styles';
|
|
3
|
+
import React__default, { createContext, useContext } from 'react';
|
|
4
|
+
import { Group, DateSegment, DateInput } from 'react-aria-components';
|
|
5
|
+
import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
|
|
6
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
const DateInputGroupContext = /*#__PURE__*/createContext({});
|
|
9
|
+
|
|
10
|
+
/* -------------------------------------------------------------------------------------------------
|
|
11
|
+
* DateInputGroup Root
|
|
12
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
13
|
+
|
|
14
|
+
const DateInputGroupRoot = ({
|
|
15
|
+
children,
|
|
16
|
+
className,
|
|
17
|
+
fullWidth,
|
|
18
|
+
variant,
|
|
19
|
+
...props
|
|
20
|
+
}) => {
|
|
21
|
+
const slots = React__default.useMemo(() => dateInputGroupVariants({
|
|
22
|
+
fullWidth,
|
|
23
|
+
variant
|
|
24
|
+
}), [fullWidth, variant]);
|
|
25
|
+
return /*#__PURE__*/jsx(DateInputGroupContext, {
|
|
26
|
+
value: {
|
|
27
|
+
slots
|
|
28
|
+
},
|
|
29
|
+
children: /*#__PURE__*/jsx(Group, {
|
|
30
|
+
className: composeTwRenderProps(className, slots?.base()),
|
|
31
|
+
"data-slot": "date-input-group",
|
|
32
|
+
...props,
|
|
33
|
+
children: values => /*#__PURE__*/jsx(Fragment, {
|
|
34
|
+
children: typeof children === "function" ? children(values) : children
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/* -------------------------------------------------------------------------------------------------
|
|
41
|
+
* DateInputGroup Prefix
|
|
42
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
43
|
+
|
|
44
|
+
const DateInputGroupPrefix = ({
|
|
45
|
+
children,
|
|
46
|
+
className,
|
|
47
|
+
...props
|
|
48
|
+
}) => {
|
|
49
|
+
const {
|
|
50
|
+
slots
|
|
51
|
+
} = useContext(DateInputGroupContext);
|
|
52
|
+
return /*#__PURE__*/jsx("div", {
|
|
53
|
+
className: composeSlotClassName(slots?.prefix, className),
|
|
54
|
+
"data-slot": "date-input-group-prefix",
|
|
55
|
+
...props,
|
|
56
|
+
children: children
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/* -------------------------------------------------------------------------------------------------
|
|
61
|
+
* DateInputGroup Input
|
|
62
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
63
|
+
|
|
64
|
+
const DateInputGroupInput = ({
|
|
65
|
+
className,
|
|
66
|
+
...props
|
|
67
|
+
}) => {
|
|
68
|
+
const {
|
|
69
|
+
slots
|
|
70
|
+
} = useContext(DateInputGroupContext);
|
|
71
|
+
|
|
72
|
+
// TimeInput and DateInput have compatible interfaces
|
|
73
|
+
// React Aria Components will handle the correct primitive based on parent context (TimeField vs DateField)
|
|
74
|
+
// We use DateInputPrimitive as the default, but it will work with TimeField context
|
|
75
|
+
return /*#__PURE__*/jsx(DateInput, {
|
|
76
|
+
className: composeTwRenderProps(className, slots?.input()),
|
|
77
|
+
"data-slot": "date-input-group-input",
|
|
78
|
+
...props
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/* -------------------------------------------------------------------------------------------------
|
|
83
|
+
* DateInputGroup Segment
|
|
84
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
85
|
+
|
|
86
|
+
const DateInputGroupSegment = ({
|
|
87
|
+
className,
|
|
88
|
+
segment,
|
|
89
|
+
...props
|
|
90
|
+
}) => {
|
|
91
|
+
const {
|
|
92
|
+
slots
|
|
93
|
+
} = useContext(DateInputGroupContext);
|
|
94
|
+
|
|
95
|
+
// TimeSegment and DateSegment have compatible interfaces
|
|
96
|
+
// React Aria Components will handle the correct primitive based on parent context
|
|
97
|
+
// We use DateSegmentPrimitive as the default, but it will work with TimeField context
|
|
98
|
+
return /*#__PURE__*/jsx(DateSegment, {
|
|
99
|
+
className: composeSlotClassName(slots?.segment, className),
|
|
100
|
+
"data-slot": "date-input-group-segment",
|
|
101
|
+
segment: segment,
|
|
102
|
+
...props
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/* -------------------------------------------------------------------------------------------------
|
|
107
|
+
* DateInputGroup InputContainer
|
|
108
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
109
|
+
|
|
110
|
+
const DateInputGroupInputContainer = ({
|
|
111
|
+
children,
|
|
112
|
+
className,
|
|
113
|
+
...props
|
|
114
|
+
}) => {
|
|
115
|
+
const {
|
|
116
|
+
slots
|
|
117
|
+
} = useContext(DateInputGroupContext);
|
|
118
|
+
return /*#__PURE__*/jsx("div", {
|
|
119
|
+
className: composeSlotClassName(slots?.inputContainer, className),
|
|
120
|
+
"data-slot": "date-input-group-input-container",
|
|
121
|
+
...props,
|
|
122
|
+
children: children
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/* -------------------------------------------------------------------------------------------------
|
|
127
|
+
* DateInputGroup Suffix
|
|
128
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
129
|
+
|
|
130
|
+
const DateInputGroupSuffix = ({
|
|
131
|
+
children,
|
|
132
|
+
className,
|
|
133
|
+
...props
|
|
134
|
+
}) => {
|
|
135
|
+
const {
|
|
136
|
+
slots
|
|
137
|
+
} = useContext(DateInputGroupContext);
|
|
138
|
+
return /*#__PURE__*/jsx("div", {
|
|
139
|
+
className: composeSlotClassName(slots?.suffix, className),
|
|
140
|
+
"data-slot": "date-input-group-suffix",
|
|
141
|
+
...props,
|
|
142
|
+
children: children
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix } from "./date-input-group";
|
|
3
|
+
export declare const DateInputGroup: (({ children, className, fullWidth, variant, ...props }: import("./date-input-group").DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
4
|
+
Root: ({ children, className, fullWidth, variant, ...props }: import("./date-input-group").DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
Input: ({ className, ...props }: import("./date-input-group").DateInputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
InputContainer: ({ children, className, ...props }: import("./date-input-group").DateInputGroupInputContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
Segment: ({ className, segment, ...props }: import("./date-input-group").DateInputGroupSegmentProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
Prefix: ({ children, className, ...props }: import("./date-input-group").DateInputGroupPrefixProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
Suffix: ({ children, className, ...props }: import("./date-input-group").DateInputGroupSuffixProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
};
|
|
11
|
+
export type DateInputGroup = {
|
|
12
|
+
Props: ComponentProps<typeof DateInputGroupRoot>;
|
|
13
|
+
RootProps: ComponentProps<typeof DateInputGroupRoot>;
|
|
14
|
+
InputProps: ComponentProps<typeof DateInputGroupInput>;
|
|
15
|
+
InputContainerProps: ComponentProps<typeof DateInputGroupInputContainer>;
|
|
16
|
+
SegmentProps: ComponentProps<typeof DateInputGroupSegment>;
|
|
17
|
+
PrefixProps: ComponentProps<typeof DateInputGroupPrefix>;
|
|
18
|
+
SuffixProps: ComponentProps<typeof DateInputGroupSuffix>;
|
|
19
|
+
};
|
|
20
|
+
export { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix, };
|
|
21
|
+
export type { DateInputGroupRootProps, DateInputGroupRootProps as DateInputGroupProps, DateInputGroupInputProps, DateInputGroupInputContainerProps, DateInputGroupSegmentProps, DateInputGroupPrefixProps, DateInputGroupSuffixProps, } from "./date-input-group";
|
|
22
|
+
export { dateInputGroupVariants } from "@masaraxui/styles";
|
|
23
|
+
export type { DateInputGroupVariants } from "@masaraxui/styles";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { DateInputGroupRoot, DateInputGroupSuffix, DateInputGroupPrefix, DateInputGroupSegment, DateInputGroupInputContainer, DateInputGroupInput } from './date-input-group.js';
|
|
3
|
+
export { dateInputGroupVariants } from '@masaraxui/styles';
|
|
4
|
+
|
|
5
|
+
/* -------------------------------------------------------------------------------------------------
|
|
6
|
+
* Compound Component
|
|
7
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
8
|
+
const DateInputGroup = Object.assign(DateInputGroupRoot, {
|
|
9
|
+
Root: DateInputGroupRoot,
|
|
10
|
+
Input: DateInputGroupInput,
|
|
11
|
+
InputContainer: DateInputGroupInputContainer,
|
|
12
|
+
Segment: DateInputGroupSegment,
|
|
13
|
+
Prefix: DateInputGroupPrefix,
|
|
14
|
+
Suffix: DateInputGroupSuffix
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export { DateInputGroup, DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DatePickerVariants } from "@masaraxui/styles";
|
|
2
|
+
import type { ComponentPropsWithRef } from "react";
|
|
3
|
+
import type { DateValue } from "react-aria-components";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Button as ButtonPrimitive, DatePicker as DatePickerPrimitive, Popover as PopoverPrimitive } from "react-aria-components";
|
|
6
|
+
interface DatePickerRootProps<T extends DateValue> extends ComponentPropsWithRef<typeof DatePickerPrimitive<T>>, DatePickerVariants {
|
|
7
|
+
}
|
|
8
|
+
declare const DatePickerRoot: {
|
|
9
|
+
<T extends DateValue>({ children, className, onOpenChange, ...props }: DatePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
interface DatePickerTriggerProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
|
|
13
|
+
}
|
|
14
|
+
declare const DatePickerTrigger: React.ForwardRefExoticComponent<Omit<DatePickerTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
interface DatePickerTriggerIndicatorProps extends Omit<ComponentPropsWithRef<"span">, "children"> {
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
declare const DatePickerTriggerIndicator: {
|
|
19
|
+
({ children, className, ...props }: DatePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
interface DatePickerPopoverProps extends Omit<ComponentPropsWithRef<typeof PopoverPrimitive>, "children"> {
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
declare const DatePickerPopover: {
|
|
26
|
+
({ children, className, placement, ...props }: DatePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
29
|
+
export { DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator, DatePickerPopover };
|
|
30
|
+
export type { DatePickerRootProps, DatePickerTriggerProps, DatePickerTriggerIndicatorProps, DatePickerPopoverProps, };
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { datePickerVariants } from '@masaraxui/styles';
|
|
3
|
+
import { mergeRefs } from '@react-aria/utils';
|
|
4
|
+
import React__default, { useRef, useEffect, createContext, useContext } from 'react';
|
|
5
|
+
import { DatePicker, Popover, Button } from 'react-aria-components';
|
|
6
|
+
import { dataAttr } from '../../utils/assertion.js';
|
|
7
|
+
import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
|
|
8
|
+
import { IconCalendar } from '../icons.js';
|
|
9
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
10
|
+
import { SurfaceContext } from '../surface/surface.js';
|
|
11
|
+
|
|
12
|
+
const DatePickerContext = /*#__PURE__*/createContext({
|
|
13
|
+
triggerRef: {
|
|
14
|
+
current: null
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
/* -------------------------------------------------------------------------------------------------
|
|
19
|
+
* DatePicker Root
|
|
20
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
21
|
+
|
|
22
|
+
const DatePickerRoot = ({
|
|
23
|
+
children,
|
|
24
|
+
className,
|
|
25
|
+
onOpenChange,
|
|
26
|
+
...props
|
|
27
|
+
}) => {
|
|
28
|
+
const slots = React__default.useMemo(() => datePickerVariants(), []);
|
|
29
|
+
const triggerRef = useRef(null);
|
|
30
|
+
const [isOpen, setIsOpen] = React__default.useState(false);
|
|
31
|
+
const shouldRestoreFocusToTriggerRef = useRef(false);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!isOpen) return;
|
|
34
|
+
const handleGlobalKeyDown = event => {
|
|
35
|
+
if (!event.metaKey && !event.ctrlKey && !event.altKey) {
|
|
36
|
+
shouldRestoreFocusToTriggerRef.current = true;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
window.addEventListener("keydown", handleGlobalKeyDown, true);
|
|
40
|
+
return () => {
|
|
41
|
+
window.removeEventListener("keydown", handleGlobalKeyDown, true);
|
|
42
|
+
};
|
|
43
|
+
}, [isOpen]);
|
|
44
|
+
const handleOpenChange = nextIsOpen => {
|
|
45
|
+
setIsOpen(nextIsOpen);
|
|
46
|
+
if (!nextIsOpen && shouldRestoreFocusToTriggerRef.current) {
|
|
47
|
+
window.requestAnimationFrame(() => {
|
|
48
|
+
triggerRef.current?.focus();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
shouldRestoreFocusToTriggerRef.current = false;
|
|
52
|
+
onOpenChange?.(nextIsOpen);
|
|
53
|
+
};
|
|
54
|
+
return /*#__PURE__*/jsx(DatePickerContext, {
|
|
55
|
+
value: {
|
|
56
|
+
slots,
|
|
57
|
+
triggerRef
|
|
58
|
+
},
|
|
59
|
+
children: /*#__PURE__*/jsx(DatePicker, {
|
|
60
|
+
"data-required": dataAttr(props.isRequired),
|
|
61
|
+
"data-slot": "date-picker",
|
|
62
|
+
...props,
|
|
63
|
+
className: composeTwRenderProps(className, slots?.base()),
|
|
64
|
+
onOpenChange: handleOpenChange,
|
|
65
|
+
children: values => /*#__PURE__*/jsx(Fragment, {
|
|
66
|
+
children: typeof children === "function" ? children(values) : children
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
DatePickerRoot.displayName = "MasaraxUI.DatePicker";
|
|
72
|
+
|
|
73
|
+
/* -------------------------------------------------------------------------------------------------
|
|
74
|
+
* DatePicker Trigger
|
|
75
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
76
|
+
|
|
77
|
+
const DatePickerTrigger = /*#__PURE__*/React__default.forwardRef(({
|
|
78
|
+
children,
|
|
79
|
+
className,
|
|
80
|
+
...props
|
|
81
|
+
}, ref) => {
|
|
82
|
+
const {
|
|
83
|
+
slots,
|
|
84
|
+
triggerRef
|
|
85
|
+
} = useContext(DatePickerContext);
|
|
86
|
+
const contextRefCallback = React__default.useCallback(node => {
|
|
87
|
+
triggerRef.current = node;
|
|
88
|
+
}, [triggerRef]);
|
|
89
|
+
const mergedRef = mergeRefs(contextRefCallback, ref);
|
|
90
|
+
return /*#__PURE__*/jsx(Button, {
|
|
91
|
+
ref: mergedRef,
|
|
92
|
+
className: composeTwRenderProps(className, slots?.trigger()),
|
|
93
|
+
"data-slot": "date-picker-trigger",
|
|
94
|
+
...props,
|
|
95
|
+
children: values => /*#__PURE__*/jsx(Fragment, {
|
|
96
|
+
children: typeof children === "function" ? children(values) : children
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
DatePickerTrigger.displayName = "MasaraxUI.DatePicker.Trigger";
|
|
101
|
+
|
|
102
|
+
/* -------------------------------------------------------------------------------------------------
|
|
103
|
+
* DatePicker Trigger Indicator
|
|
104
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
105
|
+
|
|
106
|
+
const DatePickerTriggerIndicator = ({
|
|
107
|
+
children,
|
|
108
|
+
className,
|
|
109
|
+
...props
|
|
110
|
+
}) => {
|
|
111
|
+
const {
|
|
112
|
+
slots
|
|
113
|
+
} = useContext(DatePickerContext);
|
|
114
|
+
return /*#__PURE__*/jsx("span", {
|
|
115
|
+
"aria-hidden": "true",
|
|
116
|
+
className: composeSlotClassName(slots?.triggerIndicator, className),
|
|
117
|
+
"data-slot": "date-picker-trigger-indicator",
|
|
118
|
+
...props,
|
|
119
|
+
children: children || /*#__PURE__*/jsx(IconCalendar, {})
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
DatePickerTriggerIndicator.displayName = "MasaraxUI.DatePicker.TriggerIndicator";
|
|
123
|
+
|
|
124
|
+
/* -------------------------------------------------------------------------------------------------
|
|
125
|
+
* DatePicker Popover
|
|
126
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
127
|
+
|
|
128
|
+
const DatePickerPopover = ({
|
|
129
|
+
children,
|
|
130
|
+
className,
|
|
131
|
+
placement = "bottom",
|
|
132
|
+
...props
|
|
133
|
+
}) => {
|
|
134
|
+
const {
|
|
135
|
+
slots
|
|
136
|
+
} = useContext(DatePickerContext);
|
|
137
|
+
return /*#__PURE__*/jsx(SurfaceContext, {
|
|
138
|
+
value: {
|
|
139
|
+
variant: "default"
|
|
140
|
+
},
|
|
141
|
+
children: /*#__PURE__*/jsx(Popover, {
|
|
142
|
+
...props,
|
|
143
|
+
className: composeTwRenderProps(className, slots?.popover()),
|
|
144
|
+
placement: placement,
|
|
145
|
+
children: children
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
DatePickerPopover.displayName = "MasaraxUI.DatePicker.Popover";
|
|
150
|
+
|
|
151
|
+
export { DatePickerPopover, DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import { DatePickerPopover, DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator } from "./date-picker";
|
|
3
|
+
export declare const DatePicker: {
|
|
4
|
+
<T extends import("react-aria-components").DateValue>({ children, className, onOpenChange, ...props }: import("./date-picker").DatePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
displayName: string;
|
|
6
|
+
} & {
|
|
7
|
+
Root: {
|
|
8
|
+
<T extends import("react-aria-components").DateValue>({ children, className, onOpenChange, ...props }: import("./date-picker").DatePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
Trigger: import("react").ForwardRefExoticComponent<Omit<import("./date-picker").DatePickerTriggerProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
12
|
+
TriggerIndicator: {
|
|
13
|
+
({ children, className, ...props }: import("./date-picker").DatePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
Popover: {
|
|
17
|
+
({ children, className, placement, ...props }: import("./date-picker").DatePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export type DatePicker = {
|
|
22
|
+
Props: ComponentProps<typeof DatePickerRoot>;
|
|
23
|
+
RootProps: ComponentProps<typeof DatePickerRoot>;
|
|
24
|
+
TriggerProps: ComponentProps<typeof DatePickerTrigger>;
|
|
25
|
+
TriggerIndicatorProps: ComponentProps<typeof DatePickerTriggerIndicator>;
|
|
26
|
+
PopoverProps: ComponentProps<typeof DatePickerPopover>;
|
|
27
|
+
};
|
|
28
|
+
export { DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator, DatePickerPopover };
|
|
29
|
+
export type { DatePickerRootProps, DatePickerRootProps as DatePickerProps, DatePickerTriggerProps, DatePickerTriggerIndicatorProps, DatePickerPopoverProps, } from "./date-picker";
|
|
30
|
+
export { datePickerVariants } from "@masaraxui/styles";
|
|
31
|
+
export type { DatePickerVariants } from "@masaraxui/styles";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { DatePickerRoot, DatePickerPopover, DatePickerTriggerIndicator, DatePickerTrigger } from './date-picker.js';
|
|
3
|
+
export { datePickerVariants } from '@masaraxui/styles';
|
|
4
|
+
|
|
5
|
+
/* -------------------------------------------------------------------------------------------------
|
|
6
|
+
* Compound Component
|
|
7
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
8
|
+
const DatePicker = Object.assign(DatePickerRoot, {
|
|
9
|
+
Root: DatePickerRoot,
|
|
10
|
+
Trigger: DatePickerTrigger,
|
|
11
|
+
TriggerIndicator: DatePickerTriggerIndicator,
|
|
12
|
+
Popover: DatePickerPopover
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export { DatePicker, DatePickerPopover, DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { DateRangePickerVariants } from "@masaraxui/styles";
|
|
2
|
+
import type { ComponentPropsWithRef } from "react";
|
|
3
|
+
import type { DateValue } from "react-aria-components";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Button as ButtonPrimitive, DateRangePicker as DateRangePickerPrimitive, Popover as PopoverPrimitive } from "react-aria-components";
|
|
6
|
+
interface DateRangePickerRootProps<T extends DateValue> extends ComponentPropsWithRef<typeof DateRangePickerPrimitive<T>>, DateRangePickerVariants {
|
|
7
|
+
}
|
|
8
|
+
declare const DateRangePickerRoot: {
|
|
9
|
+
<T extends DateValue>({ children, className, onOpenChange, ...props }: DateRangePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
interface DateRangePickerTriggerProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
|
|
13
|
+
}
|
|
14
|
+
declare const DateRangePickerTrigger: React.ForwardRefExoticComponent<Omit<DateRangePickerTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
interface DateRangePickerTriggerIndicatorProps extends Omit<ComponentPropsWithRef<"span">, "children"> {
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
declare const DateRangePickerTriggerIndicator: {
|
|
19
|
+
({ children, className, ...props }: DateRangePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
interface DateRangePickerRangeSeparatorProps extends ComponentPropsWithRef<"span"> {
|
|
23
|
+
}
|
|
24
|
+
declare const DateRangePickerRangeSeparator: {
|
|
25
|
+
({ children, className, ...props }: DateRangePickerRangeSeparatorProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
interface DateRangePickerPopoverProps extends Omit<ComponentPropsWithRef<typeof PopoverPrimitive>, "children"> {
|
|
29
|
+
children: React.ReactNode;
|
|
30
|
+
}
|
|
31
|
+
declare const DateRangePickerPopover: {
|
|
32
|
+
({ children, className, placement, ...props }: DateRangePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
35
|
+
export { DateRangePickerRoot, DateRangePickerTrigger, DateRangePickerTriggerIndicator, DateRangePickerRangeSeparator, DateRangePickerPopover, };
|
|
36
|
+
export type { DateRangePickerRootProps, DateRangePickerTriggerProps, DateRangePickerTriggerIndicatorProps, DateRangePickerRangeSeparatorProps, DateRangePickerPopoverProps, };
|