@cdx-ui/primitives 0.0.1-beta.140 → 0.0.1-beta.142
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/lib/commonjs/calendar/CalendarGrid.js +33 -0
- package/lib/commonjs/calendar/CalendarGrid.js.map +1 -0
- package/lib/commonjs/calendar/CalendarRoot.js +95 -0
- package/lib/commonjs/calendar/CalendarRoot.js.map +1 -0
- package/lib/commonjs/calendar/context.js +17 -0
- package/lib/commonjs/calendar/context.js.map +1 -0
- package/lib/commonjs/calendar/index.js +27 -0
- package/lib/commonjs/calendar/index.js.map +1 -0
- package/lib/commonjs/calendar/types.js +6 -0
- package/lib/commonjs/calendar/types.js.map +1 -0
- package/lib/commonjs/checkbox/CheckboxRoot.web.js +91 -28
- package/lib/commonjs/checkbox/CheckboxRoot.web.js.map +1 -1
- package/lib/commonjs/checkbox/useCheckboxRoot.js +33 -19
- package/lib/commonjs/checkbox/useCheckboxRoot.js.map +1 -1
- package/lib/commonjs/date-field/DateFieldHiddenInput.js +148 -0
- package/lib/commonjs/date-field/DateFieldHiddenInput.js.map +1 -0
- package/lib/commonjs/date-field/DateFieldInput.js +122 -0
- package/lib/commonjs/date-field/DateFieldInput.js.map +1 -0
- package/lib/commonjs/date-field/DateFieldRoot.js +85 -0
- package/lib/commonjs/date-field/DateFieldRoot.js.map +1 -0
- package/lib/commonjs/date-field/DateFieldSegment.js +92 -0
- package/lib/commonjs/date-field/DateFieldSegment.js.map +1 -0
- package/lib/commonjs/date-field/context.js +19 -0
- package/lib/commonjs/date-field/context.js.map +1 -0
- package/lib/commonjs/date-field/index.js +34 -0
- package/lib/commonjs/date-field/index.js.map +1 -0
- package/lib/commonjs/date-field/segmentIndex.js +23 -0
- package/lib/commonjs/date-field/segmentIndex.js.map +1 -0
- package/lib/commonjs/date-field/segmentKeyboard.js +169 -0
- package/lib/commonjs/date-field/segmentKeyboard.js.map +1 -0
- package/lib/commonjs/date-field/types.js +6 -0
- package/lib/commonjs/date-field/types.js.map +1 -0
- package/lib/commonjs/date-field/useDateFieldSegmentState.js +381 -0
- package/lib/commonjs/date-field/useDateFieldSegmentState.js.map +1 -0
- package/lib/commonjs/date-field/useRangeDateFieldBridge.js +67 -0
- package/lib/commonjs/date-field/useRangeDateFieldBridge.js.map +1 -0
- package/lib/commonjs/date-picker/DatePickerRoot.js +123 -0
- package/lib/commonjs/date-picker/DatePickerRoot.js.map +1 -0
- package/lib/commonjs/date-picker/context.js +17 -0
- package/lib/commonjs/date-picker/context.js.map +1 -0
- package/lib/commonjs/date-picker/index.js +26 -0
- package/lib/commonjs/date-picker/index.js.map +1 -0
- package/lib/commonjs/date-range-picker/DateRangePickerRoot.js +144 -0
- package/lib/commonjs/date-range-picker/DateRangePickerRoot.js.map +1 -0
- package/lib/commonjs/date-range-picker/context.js +23 -0
- package/lib/commonjs/date-range-picker/context.js.map +1 -0
- package/lib/commonjs/date-range-picker/index.js +26 -0
- package/lib/commonjs/date-range-picker/index.js.map +1 -0
- package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js +150 -0
- package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
- package/lib/commonjs/date-time-field/DateTimeFieldInput.js +104 -0
- package/lib/commonjs/date-time-field/DateTimeFieldInput.js.map +1 -0
- package/lib/commonjs/date-time-field/DateTimeFieldRoot.js +159 -0
- package/lib/commonjs/date-time-field/DateTimeFieldRoot.js.map +1 -0
- package/lib/commonjs/date-time-field/DateTimeFieldSegment.js +87 -0
- package/lib/commonjs/date-time-field/DateTimeFieldSegment.js.map +1 -0
- package/lib/commonjs/date-time-field/context.js +17 -0
- package/lib/commonjs/date-time-field/context.js.map +1 -0
- package/lib/commonjs/date-time-field/index.js +40 -0
- package/lib/commonjs/date-time-field/index.js.map +1 -0
- package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js +564 -0
- package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
- package/lib/commonjs/date-time-list/DateTimeListRoot.js +418 -0
- package/lib/commonjs/date-time-list/DateTimeListRoot.js.map +1 -0
- package/lib/commonjs/date-time-list/context.js +26 -0
- package/lib/commonjs/date-time-list/context.js.map +1 -0
- package/lib/commonjs/date-time-list/index.js +62 -0
- package/lib/commonjs/date-time-list/index.js.map +1 -0
- package/lib/commonjs/date-time-picker/DateTimePickerRoot.js +134 -0
- package/lib/commonjs/date-time-picker/DateTimePickerRoot.js.map +1 -0
- package/lib/commonjs/date-time-picker/context.js +17 -0
- package/lib/commonjs/date-time-picker/context.js.map +1 -0
- package/lib/commonjs/date-time-picker/index.js +26 -0
- package/lib/commonjs/date-time-picker/index.js.map +1 -0
- package/lib/commonjs/dialog/DialogRoot.js +1 -1
- package/lib/commonjs/dialog/DialogRoot.js.map +1 -1
- package/lib/commonjs/index.js +148 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/month-calendar/MonthCalendarCell.js +64 -0
- package/lib/commonjs/month-calendar/MonthCalendarCell.js.map +1 -0
- package/lib/commonjs/month-calendar/MonthCalendarRoot.js +103 -0
- package/lib/commonjs/month-calendar/MonthCalendarRoot.js.map +1 -0
- package/lib/commonjs/month-calendar/MonthCalendarYearCell.js +63 -0
- package/lib/commonjs/month-calendar/MonthCalendarYearCell.js.map +1 -0
- package/lib/commonjs/month-calendar/context.js +17 -0
- package/lib/commonjs/month-calendar/context.js.map +1 -0
- package/lib/commonjs/month-calendar/index.js +34 -0
- package/lib/commonjs/month-calendar/index.js.map +1 -0
- package/lib/commonjs/month-picker/MonthPickerRoot.js +118 -0
- package/lib/commonjs/month-picker/MonthPickerRoot.js.map +1 -0
- package/lib/commonjs/month-picker/context.js +17 -0
- package/lib/commonjs/month-picker/context.js.map +1 -0
- package/lib/commonjs/month-picker/index.js +26 -0
- package/lib/commonjs/month-picker/index.js.map +1 -0
- package/lib/commonjs/overlay/useAnchorPosition.js +27 -16
- package/lib/commonjs/overlay/useAnchorPosition.js.map +1 -1
- package/lib/commonjs/overlay/useDismissOverlay.web.js +10 -2
- package/lib/commonjs/overlay/useDismissOverlay.web.js.map +1 -1
- package/lib/commonjs/overlay/useOverlayPosition.js +5 -2
- package/lib/commonjs/overlay/useOverlayPosition.js.map +1 -1
- package/lib/commonjs/portal/portal.js +59 -2
- package/lib/commonjs/portal/portal.js.map +1 -1
- package/lib/commonjs/radio/RadioGroup.js +65 -16
- package/lib/commonjs/radio/RadioGroup.js.map +1 -1
- package/lib/commonjs/radio/RadioRoot.web.js +114 -26
- package/lib/commonjs/radio/RadioRoot.web.js.map +1 -1
- package/lib/commonjs/radio/context.js.map +1 -1
- package/lib/commonjs/radio/useRadioGroupNavigation.js +79 -0
- package/lib/commonjs/radio/useRadioGroupNavigation.js.map +1 -0
- package/lib/commonjs/radio/useRadioRoot.js +14 -13
- package/lib/commonjs/radio/useRadioRoot.js.map +1 -1
- package/lib/commonjs/range-calendar/RangeCalendarRoot.js +148 -0
- package/lib/commonjs/range-calendar/RangeCalendarRoot.js.map +1 -0
- package/lib/commonjs/range-calendar/context.js +17 -0
- package/lib/commonjs/range-calendar/context.js.map +1 -0
- package/lib/commonjs/range-calendar/index.js +20 -0
- package/lib/commonjs/range-calendar/index.js.map +1 -0
- package/lib/commonjs/select/SelectRoot.js +1 -1
- package/lib/commonjs/select/SelectRoot.js.map +1 -1
- package/lib/commonjs/utils/accessibleLabel.js +23 -0
- package/lib/commonjs/utils/accessibleLabel.js.map +1 -0
- package/lib/commonjs/utils/createPortal.web.js +21 -0
- package/lib/commonjs/utils/createPortal.web.js.map +1 -0
- package/lib/module/calendar/CalendarGrid.js +29 -0
- package/lib/module/calendar/CalendarGrid.js.map +1 -0
- package/lib/module/calendar/CalendarRoot.js +91 -0
- package/lib/module/calendar/CalendarRoot.js.map +1 -0
- package/lib/module/calendar/context.js +12 -0
- package/lib/module/calendar/context.js.map +1 -0
- package/lib/module/calendar/index.js +6 -0
- package/lib/module/calendar/index.js.map +1 -0
- package/lib/module/calendar/types.js +4 -0
- package/lib/module/calendar/types.js.map +1 -0
- package/lib/module/checkbox/CheckboxRoot.web.js +92 -29
- package/lib/module/checkbox/CheckboxRoot.web.js.map +1 -1
- package/lib/module/checkbox/useCheckboxRoot.js +34 -20
- package/lib/module/checkbox/useCheckboxRoot.js.map +1 -1
- package/lib/module/date-field/DateFieldHiddenInput.js +146 -0
- package/lib/module/date-field/DateFieldHiddenInput.js.map +1 -0
- package/lib/module/date-field/DateFieldInput.js +118 -0
- package/lib/module/date-field/DateFieldInput.js.map +1 -0
- package/lib/module/date-field/DateFieldRoot.js +81 -0
- package/lib/module/date-field/DateFieldRoot.js.map +1 -0
- package/lib/module/date-field/DateFieldSegment.js +88 -0
- package/lib/module/date-field/DateFieldSegment.js.map +1 -0
- package/lib/module/date-field/context.js +15 -0
- package/lib/module/date-field/context.js.map +1 -0
- package/lib/module/date-field/index.js +7 -0
- package/lib/module/date-field/index.js.map +1 -0
- package/lib/module/date-field/segmentIndex.js +18 -0
- package/lib/module/date-field/segmentIndex.js.map +1 -0
- package/lib/module/date-field/segmentKeyboard.js +157 -0
- package/lib/module/date-field/segmentKeyboard.js.map +1 -0
- package/lib/module/date-field/types.js +4 -0
- package/lib/module/date-field/types.js.map +1 -0
- package/lib/module/date-field/useDateFieldSegmentState.js +378 -0
- package/lib/module/date-field/useDateFieldSegmentState.js.map +1 -0
- package/lib/module/date-field/useRangeDateFieldBridge.js +63 -0
- package/lib/module/date-field/useRangeDateFieldBridge.js.map +1 -0
- package/lib/module/date-picker/DatePickerRoot.js +119 -0
- package/lib/module/date-picker/DatePickerRoot.js.map +1 -0
- package/lib/module/date-picker/context.js +12 -0
- package/lib/module/date-picker/context.js.map +1 -0
- package/lib/module/date-picker/index.js +5 -0
- package/lib/module/date-picker/index.js.map +1 -0
- package/lib/module/date-range-picker/DateRangePickerRoot.js +140 -0
- package/lib/module/date-range-picker/DateRangePickerRoot.js.map +1 -0
- package/lib/module/date-range-picker/context.js +19 -0
- package/lib/module/date-range-picker/context.js.map +1 -0
- package/lib/module/date-range-picker/index.js +5 -0
- package/lib/module/date-range-picker/index.js.map +1 -0
- package/lib/module/date-time-field/DateTimeFieldHiddenInput.js +148 -0
- package/lib/module/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
- package/lib/module/date-time-field/DateTimeFieldInput.js +100 -0
- package/lib/module/date-time-field/DateTimeFieldInput.js.map +1 -0
- package/lib/module/date-time-field/DateTimeFieldRoot.js +154 -0
- package/lib/module/date-time-field/DateTimeFieldRoot.js.map +1 -0
- package/lib/module/date-time-field/DateTimeFieldSegment.js +83 -0
- package/lib/module/date-time-field/DateTimeFieldSegment.js.map +1 -0
- package/lib/module/date-time-field/context.js +12 -0
- package/lib/module/date-time-field/context.js.map +1 -0
- package/lib/module/date-time-field/index.js +7 -0
- package/lib/module/date-time-field/index.js.map +1 -0
- package/lib/module/date-time-field/useDateTimeFieldSegmentState.js +561 -0
- package/lib/module/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
- package/lib/module/date-time-list/DateTimeListRoot.js +416 -0
- package/lib/module/date-time-list/DateTimeListRoot.js.map +1 -0
- package/lib/module/date-time-list/context.js +20 -0
- package/lib/module/date-time-list/context.js.map +1 -0
- package/lib/module/date-time-list/index.js +5 -0
- package/lib/module/date-time-list/index.js.map +1 -0
- package/lib/module/date-time-picker/DateTimePickerRoot.js +130 -0
- package/lib/module/date-time-picker/DateTimePickerRoot.js.map +1 -0
- package/lib/module/date-time-picker/context.js +12 -0
- package/lib/module/date-time-picker/context.js.map +1 -0
- package/lib/module/date-time-picker/index.js +5 -0
- package/lib/module/date-time-picker/index.js.map +1 -0
- package/lib/module/dialog/DialogRoot.js +1 -1
- package/lib/module/dialog/DialogRoot.js.map +1 -1
- package/lib/module/index.js +11 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/month-calendar/MonthCalendarCell.js +60 -0
- package/lib/module/month-calendar/MonthCalendarCell.js.map +1 -0
- package/lib/module/month-calendar/MonthCalendarRoot.js +99 -0
- package/lib/module/month-calendar/MonthCalendarRoot.js.map +1 -0
- package/lib/module/month-calendar/MonthCalendarYearCell.js +59 -0
- package/lib/module/month-calendar/MonthCalendarYearCell.js.map +1 -0
- package/lib/module/month-calendar/context.js +12 -0
- package/lib/module/month-calendar/context.js.map +1 -0
- package/lib/module/month-calendar/index.js +7 -0
- package/lib/module/month-calendar/index.js.map +1 -0
- package/lib/module/month-picker/MonthPickerRoot.js +114 -0
- package/lib/module/month-picker/MonthPickerRoot.js.map +1 -0
- package/lib/module/month-picker/context.js +12 -0
- package/lib/module/month-picker/context.js.map +1 -0
- package/lib/module/month-picker/index.js +5 -0
- package/lib/module/month-picker/index.js.map +1 -0
- package/lib/module/overlay/useAnchorPosition.js +27 -16
- package/lib/module/overlay/useAnchorPosition.js.map +1 -1
- package/lib/module/overlay/useDismissOverlay.web.js +9 -2
- package/lib/module/overlay/useDismissOverlay.web.js.map +1 -1
- package/lib/module/overlay/useOverlayPosition.js +5 -2
- package/lib/module/overlay/useOverlayPosition.js.map +1 -1
- package/lib/module/portal/portal.js +59 -2
- package/lib/module/portal/portal.js.map +1 -1
- package/lib/module/radio/RadioGroup.js +68 -19
- package/lib/module/radio/RadioGroup.js.map +1 -1
- package/lib/module/radio/RadioRoot.web.js +117 -29
- package/lib/module/radio/RadioRoot.web.js.map +1 -1
- package/lib/module/radio/context.js.map +1 -1
- package/lib/module/radio/useRadioGroupNavigation.js +74 -0
- package/lib/module/radio/useRadioGroupNavigation.js.map +1 -0
- package/lib/module/radio/useRadioRoot.js +14 -13
- package/lib/module/radio/useRadioRoot.js.map +1 -1
- package/lib/module/range-calendar/RangeCalendarRoot.js +144 -0
- package/lib/module/range-calendar/RangeCalendarRoot.js.map +1 -0
- package/lib/module/range-calendar/context.js +12 -0
- package/lib/module/range-calendar/context.js.map +1 -0
- package/lib/module/range-calendar/index.js +5 -0
- package/lib/module/range-calendar/index.js.map +1 -0
- package/lib/module/select/SelectRoot.js +1 -1
- package/lib/module/select/SelectRoot.js.map +1 -1
- package/lib/module/utils/accessibleLabel.js +18 -0
- package/lib/module/utils/accessibleLabel.js.map +1 -0
- package/lib/module/utils/createPortal.web.js +17 -0
- package/lib/module/utils/createPortal.web.js.map +1 -0
- package/lib/typescript/calendar/CalendarGrid.d.ts +7 -0
- package/lib/typescript/calendar/CalendarGrid.d.ts.map +1 -0
- package/lib/typescript/calendar/CalendarRoot.d.ts +10 -0
- package/lib/typescript/calendar/CalendarRoot.d.ts.map +1 -0
- package/lib/typescript/calendar/context.d.ts +18 -0
- package/lib/typescript/calendar/context.d.ts.map +1 -0
- package/lib/typescript/calendar/index.d.ts +5 -0
- package/lib/typescript/calendar/index.d.ts.map +1 -0
- package/lib/typescript/calendar/types.d.ts +29 -0
- package/lib/typescript/calendar/types.d.ts.map +1 -0
- package/lib/typescript/checkbox/CheckboxRoot.web.d.ts +8 -0
- package/lib/typescript/checkbox/CheckboxRoot.web.d.ts.map +1 -1
- package/lib/typescript/checkbox/useCheckboxRoot.d.ts +7 -18
- package/lib/typescript/checkbox/useCheckboxRoot.d.ts.map +1 -1
- package/lib/typescript/date-field/DateFieldHiddenInput.d.ts +4 -0
- package/lib/typescript/date-field/DateFieldHiddenInput.d.ts.map +1 -0
- package/lib/typescript/date-field/DateFieldInput.d.ts +8 -0
- package/lib/typescript/date-field/DateFieldInput.d.ts.map +1 -0
- package/lib/typescript/date-field/DateFieldRoot.d.ts +10 -0
- package/lib/typescript/date-field/DateFieldRoot.d.ts.map +1 -0
- package/lib/typescript/date-field/DateFieldSegment.d.ts +9 -0
- package/lib/typescript/date-field/DateFieldSegment.d.ts.map +1 -0
- package/lib/typescript/date-field/context.d.ts +33 -0
- package/lib/typescript/date-field/context.d.ts.map +1 -0
- package/lib/typescript/date-field/index.d.ts +9 -0
- package/lib/typescript/date-field/index.d.ts.map +1 -0
- package/lib/typescript/date-field/segmentIndex.d.ts +7 -0
- package/lib/typescript/date-field/segmentIndex.d.ts.map +1 -0
- package/lib/typescript/date-field/segmentKeyboard.d.ts +23 -0
- package/lib/typescript/date-field/segmentKeyboard.d.ts.map +1 -0
- package/lib/typescript/date-field/types.d.ts +38 -0
- package/lib/typescript/date-field/types.d.ts.map +1 -0
- package/lib/typescript/date-field/useDateFieldSegmentState.d.ts +26 -0
- package/lib/typescript/date-field/useDateFieldSegmentState.d.ts.map +1 -0
- package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts +4 -0
- package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts.map +1 -0
- package/lib/typescript/date-picker/DatePickerRoot.d.ts +28 -0
- package/lib/typescript/date-picker/DatePickerRoot.d.ts.map +1 -0
- package/lib/typescript/date-picker/context.d.ts +25 -0
- package/lib/typescript/date-picker/context.d.ts.map +1 -0
- package/lib/typescript/date-picker/index.d.ts +5 -0
- package/lib/typescript/date-picker/index.d.ts.map +1 -0
- package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts +43 -0
- package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts.map +1 -0
- package/lib/typescript/date-range-picker/context.d.ts +42 -0
- package/lib/typescript/date-range-picker/context.d.ts.map +1 -0
- package/lib/typescript/date-range-picker/index.d.ts +4 -0
- package/lib/typescript/date-range-picker/index.d.ts.map +1 -0
- package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts +4 -0
- package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts.map +1 -0
- package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts +10 -0
- package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts.map +1 -0
- package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts +24 -0
- package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts.map +1 -0
- package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts +10 -0
- package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts.map +1 -0
- package/lib/typescript/date-time-field/context.d.ts +27 -0
- package/lib/typescript/date-time-field/context.d.ts.map +1 -0
- package/lib/typescript/date-time-field/index.d.ts +8 -0
- package/lib/typescript/date-time-field/index.d.ts.map +1 -0
- package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts +26 -0
- package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts.map +1 -0
- package/lib/typescript/date-time-list/DateTimeListRoot.d.ts +42 -0
- package/lib/typescript/date-time-list/DateTimeListRoot.d.ts.map +1 -0
- package/lib/typescript/date-time-list/context.d.ts +29 -0
- package/lib/typescript/date-time-list/context.d.ts.map +1 -0
- package/lib/typescript/date-time-list/index.d.ts +4 -0
- package/lib/typescript/date-time-list/index.d.ts.map +1 -0
- package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts +36 -0
- package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts.map +1 -0
- package/lib/typescript/date-time-picker/context.d.ts +25 -0
- package/lib/typescript/date-time-picker/context.d.ts.map +1 -0
- package/lib/typescript/date-time-picker/index.d.ts +4 -0
- package/lib/typescript/date-time-picker/index.d.ts.map +1 -0
- package/lib/typescript/dialog/types.d.ts +2 -1
- package/lib/typescript/dialog/types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +11 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/month-calendar/MonthCalendarCell.d.ts +9 -0
- package/lib/typescript/month-calendar/MonthCalendarCell.d.ts.map +1 -0
- package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts +30 -0
- package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts.map +1 -0
- package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts +9 -0
- package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts.map +1 -0
- package/lib/typescript/month-calendar/context.d.ts +20 -0
- package/lib/typescript/month-calendar/context.d.ts.map +1 -0
- package/lib/typescript/month-calendar/index.d.ts +7 -0
- package/lib/typescript/month-calendar/index.d.ts.map +1 -0
- package/lib/typescript/month-picker/MonthPickerRoot.d.ts +29 -0
- package/lib/typescript/month-picker/MonthPickerRoot.d.ts.map +1 -0
- package/lib/typescript/month-picker/context.d.ts +23 -0
- package/lib/typescript/month-picker/context.d.ts.map +1 -0
- package/lib/typescript/month-picker/index.d.ts +4 -0
- package/lib/typescript/month-picker/index.d.ts.map +1 -0
- package/lib/typescript/overlay/useAnchorPosition.d.ts.map +1 -1
- package/lib/typescript/overlay/useDismissOverlay.web.d.ts.map +1 -1
- package/lib/typescript/overlay/useOverlayPosition.d.ts.map +1 -1
- package/lib/typescript/portal/portal.d.ts.map +1 -1
- package/lib/typescript/radio/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/radio/RadioRoot.web.d.ts +8 -0
- package/lib/typescript/radio/RadioRoot.web.d.ts.map +1 -1
- package/lib/typescript/radio/context.d.ts +6 -1
- package/lib/typescript/radio/context.d.ts.map +1 -1
- package/lib/typescript/radio/types.d.ts +7 -0
- package/lib/typescript/radio/types.d.ts.map +1 -1
- package/lib/typescript/radio/useRadioGroupNavigation.d.ts +17 -0
- package/lib/typescript/radio/useRadioGroupNavigation.d.ts.map +1 -0
- package/lib/typescript/radio/useRadioRoot.d.ts +4 -18
- package/lib/typescript/radio/useRadioRoot.d.ts.map +1 -1
- package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts +34 -0
- package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts.map +1 -0
- package/lib/typescript/range-calendar/context.d.ts +26 -0
- package/lib/typescript/range-calendar/context.d.ts.map +1 -0
- package/lib/typescript/range-calendar/index.d.ts +5 -0
- package/lib/typescript/range-calendar/index.d.ts.map +1 -0
- package/lib/typescript/select/types.d.ts +2 -1
- package/lib/typescript/select/types.d.ts.map +1 -1
- package/lib/typescript/utils/accessibleLabel.d.ts +13 -0
- package/lib/typescript/utils/accessibleLabel.d.ts.map +1 -0
- package/lib/typescript/utils/createPortal.web.d.ts +17 -0
- package/lib/typescript/utils/createPortal.web.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/calendar/CalendarGrid.tsx +29 -0
- package/src/calendar/CalendarRoot.tsx +138 -0
- package/src/calendar/context.tsx +28 -0
- package/src/calendar/index.ts +4 -0
- package/src/calendar/types.ts +30 -0
- package/src/checkbox/CheckboxRoot.web.tsx +105 -29
- package/src/checkbox/useCheckboxRoot.ts +37 -15
- package/src/date-field/DateFieldHiddenInput.tsx +152 -0
- package/src/date-field/DateFieldInput.tsx +138 -0
- package/src/date-field/DateFieldRoot.tsx +117 -0
- package/src/date-field/DateFieldSegment.tsx +97 -0
- package/src/date-field/context.tsx +48 -0
- package/src/date-field/index.ts +8 -0
- package/src/date-field/segmentIndex.tsx +17 -0
- package/src/date-field/segmentKeyboard.ts +207 -0
- package/src/date-field/types.ts +40 -0
- package/src/date-field/useDateFieldSegmentState.ts +455 -0
- package/src/date-field/useRangeDateFieldBridge.ts +78 -0
- package/src/date-picker/DatePickerRoot.tsx +186 -0
- package/src/date-picker/context.tsx +34 -0
- package/src/date-picker/index.ts +4 -0
- package/src/date-range-picker/DateRangePickerRoot.tsx +236 -0
- package/src/date-range-picker/context.tsx +48 -0
- package/src/date-range-picker/index.ts +8 -0
- package/src/date-time-field/DateTimeFieldHiddenInput.tsx +156 -0
- package/src/date-time-field/DateTimeFieldInput.tsx +119 -0
- package/src/date-time-field/DateTimeFieldRoot.tsx +209 -0
- package/src/date-time-field/DateTimeFieldSegment.tsx +95 -0
- package/src/date-time-field/context.tsx +41 -0
- package/src/date-time-field/index.ts +7 -0
- package/src/date-time-field/useDateTimeFieldSegmentState.ts +672 -0
- package/src/date-time-list/DateTimeListRoot.tsx +530 -0
- package/src/date-time-list/context.tsx +45 -0
- package/src/date-time-list/index.ts +16 -0
- package/src/date-time-picker/DateTimePickerRoot.tsx +210 -0
- package/src/date-time-picker/context.tsx +33 -0
- package/src/date-time-picker/index.ts +7 -0
- package/src/dialog/DialogRoot.tsx +1 -1
- package/src/dialog/types.ts +2 -1
- package/src/index.ts +21 -2
- package/src/month-calendar/MonthCalendarCell.tsx +53 -0
- package/src/month-calendar/MonthCalendarRoot.tsx +153 -0
- package/src/month-calendar/MonthCalendarYearCell.tsx +54 -0
- package/src/month-calendar/context.tsx +30 -0
- package/src/month-calendar/index.ts +6 -0
- package/src/month-picker/MonthPickerRoot.tsx +183 -0
- package/src/month-picker/context.tsx +31 -0
- package/src/month-picker/index.ts +3 -0
- package/src/overlay/useAnchorPosition.ts +25 -11
- package/src/overlay/useDismissOverlay.web.ts +10 -2
- package/src/overlay/useOverlayPosition.ts +5 -2
- package/src/portal/portal.tsx +79 -2
- package/src/radio/RadioGroup.tsx +84 -20
- package/src/radio/RadioRoot.web.tsx +136 -31
- package/src/radio/context.tsx +6 -1
- package/src/radio/types.ts +6 -0
- package/src/radio/useRadioGroupNavigation.ts +104 -0
- package/src/radio/useRadioRoot.ts +18 -11
- package/src/range-calendar/RangeCalendarRoot.tsx +213 -0
- package/src/range-calendar/context.tsx +33 -0
- package/src/range-calendar/index.ts +4 -0
- package/src/select/SelectRoot.tsx +1 -1
- package/src/select/types.ts +2 -1
- package/src/utils/accessibleLabel.ts +22 -0
- package/src/utils/createPortal.web.ts +18 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MonthPickerRoot = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _formatters = require("@cdx-ui/formatters");
|
|
10
|
+
var _utils = require("@cdx-ui/utils");
|
|
11
|
+
var _DateFieldRoot = require("../date-field/DateFieldRoot");
|
|
12
|
+
var _slot = require("../slot");
|
|
13
|
+
var _dataAttributes = require("../utils/dataAttributes");
|
|
14
|
+
var _context = require("./context");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
const MonthPickerRoot = exports.MonthPickerRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
17
|
+
asChild,
|
|
18
|
+
children,
|
|
19
|
+
value: valueProp,
|
|
20
|
+
defaultValue,
|
|
21
|
+
onValueChange,
|
|
22
|
+
isOpen: openProp,
|
|
23
|
+
defaultOpen = false,
|
|
24
|
+
onOpenChange,
|
|
25
|
+
isDisabled: disabled = false,
|
|
26
|
+
isReadOnly,
|
|
27
|
+
isInvalid,
|
|
28
|
+
isRequired,
|
|
29
|
+
minValue,
|
|
30
|
+
maxValue,
|
|
31
|
+
locale = 'en-US',
|
|
32
|
+
labels: labelsProp,
|
|
33
|
+
...props
|
|
34
|
+
}, ref) => {
|
|
35
|
+
const labels = (0, _react.useMemo)(() => (0, _formatters.resolveDateComponentLabels)(labelsProp), [labelsProp]);
|
|
36
|
+
const [value, setValue] = (0, _utils.useControllableState)({
|
|
37
|
+
prop: valueProp,
|
|
38
|
+
defaultProp: defaultValue,
|
|
39
|
+
onChange: onValueChange
|
|
40
|
+
});
|
|
41
|
+
const [open, setOpenState] = (0, _utils.useControllableState)({
|
|
42
|
+
prop: openProp,
|
|
43
|
+
defaultProp: defaultOpen,
|
|
44
|
+
onChange: onOpenChange
|
|
45
|
+
});
|
|
46
|
+
const [draftValue, setDraftValue] = (0, _react.useState)(value);
|
|
47
|
+
const surfacesRef = (0, _react.useRef)(new Set());
|
|
48
|
+
const anchorRef = (0, _react.useRef)(null);
|
|
49
|
+
const triggerRef = (0, _react.useRef)(null);
|
|
50
|
+
const setOpen = (0, _react.useCallback)(next => {
|
|
51
|
+
if (disabled && next) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (next) {
|
|
55
|
+
setDraftValue(value);
|
|
56
|
+
}
|
|
57
|
+
setOpenState(next);
|
|
58
|
+
}, [disabled, setOpenState, value]);
|
|
59
|
+
const registerSurface = (0, _react.useCallback)(type => {
|
|
60
|
+
if (surfacesRef.current.has(type)) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
surfacesRef.current.add(type);
|
|
64
|
+
if (surfacesRef.current.size > 1) {
|
|
65
|
+
console.warn('[Forge UI] MonthPicker: multiple presentation surfaces detected. Use only one of Popover, Dialog, or BottomSheet.');
|
|
66
|
+
}
|
|
67
|
+
}, []);
|
|
68
|
+
(0, _react.useEffect)(() => {
|
|
69
|
+
setDraftValue(value);
|
|
70
|
+
}, [value]);
|
|
71
|
+
(0, _react.useEffect)(() => {
|
|
72
|
+
if (!open) {
|
|
73
|
+
surfacesRef.current.clear();
|
|
74
|
+
}
|
|
75
|
+
}, [open]);
|
|
76
|
+
const contextValue = (0, _react.useMemo)(() => ({
|
|
77
|
+
value,
|
|
78
|
+
onValueChange: setValue,
|
|
79
|
+
draftValue,
|
|
80
|
+
setDraftValue,
|
|
81
|
+
open: open ?? false,
|
|
82
|
+
setOpen,
|
|
83
|
+
disabled,
|
|
84
|
+
minValue,
|
|
85
|
+
maxValue,
|
|
86
|
+
locale,
|
|
87
|
+
labels,
|
|
88
|
+
registerSurface,
|
|
89
|
+
anchorRef,
|
|
90
|
+
triggerRef
|
|
91
|
+
}), [value, setValue, draftValue, open, setOpen, disabled, minValue, maxValue, locale, labels, registerSurface]);
|
|
92
|
+
const Comp = asChild ? _slot.Slot : _reactNative.View;
|
|
93
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.MonthPickerContext.Provider, {
|
|
94
|
+
value: contextValue,
|
|
95
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
|
|
96
|
+
ref: (0, _utils.mergeRefs)(ref, anchorRef),
|
|
97
|
+
...props,
|
|
98
|
+
...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
|
|
99
|
+
disabled,
|
|
100
|
+
open
|
|
101
|
+
})),
|
|
102
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateFieldRoot.DateFieldRoot, {
|
|
103
|
+
value: value,
|
|
104
|
+
onValueChange: next => setValue(next),
|
|
105
|
+
mode: "month",
|
|
106
|
+
locale: locale,
|
|
107
|
+
labels: labelsProp,
|
|
108
|
+
isDisabled: disabled,
|
|
109
|
+
isReadOnly: isReadOnly,
|
|
110
|
+
isInvalid: isInvalid,
|
|
111
|
+
isRequired: isRequired,
|
|
112
|
+
children: children
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
MonthPickerRoot.displayName = 'MonthPickerRoot';
|
|
118
|
+
//# sourceMappingURL=MonthPickerRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_formatters","_utils","_DateFieldRoot","_slot","_dataAttributes","_context","_jsxRuntime","MonthPickerRoot","exports","forwardRef","asChild","children","value","valueProp","defaultValue","onValueChange","isOpen","openProp","defaultOpen","onOpenChange","isDisabled","disabled","isReadOnly","isInvalid","isRequired","minValue","maxValue","locale","labels","labelsProp","props","ref","useMemo","resolveDateComponentLabels","setValue","useControllableState","prop","defaultProp","onChange","open","setOpenState","draftValue","setDraftValue","useState","surfacesRef","useRef","Set","anchorRef","triggerRef","setOpen","useCallback","next","registerSurface","type","current","has","add","size","console","warn","useEffect","clear","contextValue","Comp","Slot","View","jsx","MonthPickerContext","Provider","mergeRefs","mergeDataAttributes","dataAttributes","DateFieldRoot","mode","displayName"],"sourceRoot":"../../../src","sources":["month-picker/MonthPickerRoot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AAA+C,IAAAQ,WAAA,GAAAR,OAAA;AA2BxC,MAAMS,eAAe,GAAAC,OAAA,CAAAD,eAAA,gBAAG,IAAAE,iBAAU,EACvC,CACE;EACEC,OAAO;EACPC,QAAQ;EACRC,KAAK,EAAEC,SAAS;EAChBC,YAAY;EACZC,aAAa;EACbC,MAAM,EAAEC,QAAQ;EAChBC,WAAW,GAAG,KAAK;EACnBC,YAAY;EACZC,UAAU,EAAEC,QAAQ,GAAG,KAAK;EAC5BC,UAAU;EACVC,SAAS;EACTC,UAAU;EACVC,QAAQ;EACRC,QAAQ;EACRC,MAAM,GAAG,OAAO;EAChBC,MAAM,EAAEC,UAAU;EAClB,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMH,MAAM,GAAG,IAAAI,cAAO,EAAC,MAAM,IAAAC,sCAA0B,EAACJ,UAAU,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAClF,MAAM,CAACjB,KAAK,EAAEsB,QAAQ,CAAC,GAAG,IAAAC,2BAAoB,EAAsB;IAClEC,IAAI,EAAEvB,SAAS;IACfwB,WAAW,EAAEvB,YAAY;IACzBwB,QAAQ,EAAEvB;EACZ,CAAC,CAAC;EAEF,MAAM,CAACwB,IAAI,EAAEC,YAAY,CAAC,GAAG,IAAAL,2BAAoB,EAAU;IACzDC,IAAI,EAAEnB,QAAQ;IACdoB,WAAW,EAAEnB,WAAW;IACxBoB,QAAQ,EAAEnB;EACZ,CAAC,CAAC;EAEF,MAAM,CAACsB,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAsB/B,KAAK,CAAC;EAExE,MAAMgC,WAAW,GAAG,IAAAC,aAAM,EAAyB,IAAIC,GAAG,CAAC,CAAC,CAAC;EAC7D,MAAMC,SAAS,GAAG,IAAAF,aAAM,EAA4B,IAAI,CAAC;EACzD,MAAMG,UAAU,GAAG,IAAAH,aAAM,EAA4B,IAAI,CAAC;EAE1D,MAAMI,OAAO,GAAG,IAAAC,kBAAW,EACxBC,IAAa,IAAK;IACjB,IAAI9B,QAAQ,IAAI8B,IAAI,EAAE;MACpB;IACF;IACA,IAAIA,IAAI,EAAE;MACRT,aAAa,CAAC9B,KAAK,CAAC;IACtB;IACA4B,YAAY,CAACW,IAAI,CAAC;EACpB,CAAC,EACD,CAAC9B,QAAQ,EAAEmB,YAAY,EAAE5B,KAAK,CAChC,CAAC;EAED,MAAMwC,eAAe,GAAG,IAAAF,kBAAW,EAAEG,IAAuB,IAAK;IAC/D,IAAIT,WAAW,CAACU,OAAO,CAACC,GAAG,CAACF,IAAI,CAAC,EAAE;MACjC;IACF;IACAT,WAAW,CAACU,OAAO,CAACE,GAAG,CAACH,IAAI,CAAC;IAC7B,IAAIT,WAAW,CAACU,OAAO,CAACG,IAAI,GAAG,CAAC,EAAE;MAChCC,OAAO,CAACC,IAAI,CACV,mHACF,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,gBAAS,EAAC,MAAM;IACdlB,aAAa,CAAC9B,KAAK,CAAC;EACtB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAAgD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrB,IAAI,EAAE;MACTK,WAAW,CAACU,OAAO,CAACO,KAAK,CAAC,CAAC;IAC7B;EACF,CAAC,EAAE,CAACtB,IAAI,CAAC,CAAC;EAEV,MAAMuB,YAAY,GAAG,IAAA9B,cAAO,EAC1B,OAAO;IACLpB,KAAK;IACLG,aAAa,EAAEmB,QAAQ;IACvBO,UAAU;IACVC,aAAa;IACbH,IAAI,EAAEA,IAAI,IAAI,KAAK;IACnBU,OAAO;IACP5B,QAAQ;IACRI,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNwB,eAAe;IACfL,SAAS;IACTC;EACF,CAAC,CAAC,EACF,CACEpC,KAAK,EACLsB,QAAQ,EACRO,UAAU,EACVF,IAAI,EACJU,OAAO,EACP5B,QAAQ,EACRI,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,MAAM,EACNwB,eAAe,CAEnB,CAAC;EAED,MAAMW,IAAI,GAAGrD,OAAO,GAAGsD,UAAI,GAAGC,iBAAI;EAElC,oBACE,IAAA3D,WAAA,CAAA4D,GAAA,EAAC7D,QAAA,CAAA8D,kBAAkB,CAACC,QAAQ;IAACxD,KAAK,EAAEkD,YAAa;IAAAnD,QAAA,eAC/C,IAAAL,WAAA,CAAA4D,GAAA,EAACH,IAAI;MACHhC,GAAG,EAAE,IAAAsC,gBAAS,EAACtC,GAAG,EAAEgB,SAAS,CAAE;MAAA,GAC3BjB,KAAK;MAAA,GACL,IAAAwC,mCAAmB,EAACxC,KAAK,EAAE,IAAAyC,8BAAc,EAAC;QAAElD,QAAQ;QAAEkB;MAAK,CAAC,CAAC,CAAC;MAAA5B,QAAA,eAElE,IAAAL,WAAA,CAAA4D,GAAA,EAAChE,cAAA,CAAAsE,aAAa;QACZ5D,KAAK,EAAEA,KAAM;QACbG,aAAa,EAAGoC,IAAI,IAAKjB,QAAQ,CAACiB,IAA2B,CAAE;QAC/DsB,IAAI,EAAC,OAAO;QACZ9C,MAAM,EAAEA,MAAO;QACfC,MAAM,EAAEC,UAAW;QACnBT,UAAU,EAAEC,QAAS;QACrBC,UAAU,EAAEA,UAAW;QACvBC,SAAS,EAAEA,SAAU;QACrBC,UAAU,EAAEA,UAAW;QAAAb,QAAA,EAEtBA;MAAQ,CACI;IAAC,CACZ;EAAC,CACoB,CAAC;AAElC,CACF,CAAC;AAEDJ,eAAe,CAACmE,WAAW,GAAG,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MonthPickerContext = void 0;
|
|
7
|
+
exports.useMonthPickerContext = useMonthPickerContext;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
const MonthPickerContext = exports.MonthPickerContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
10
|
+
function useMonthPickerContext() {
|
|
11
|
+
const ctx = (0, _react.useContext)(MonthPickerContext);
|
|
12
|
+
if (!ctx) {
|
|
13
|
+
throw new Error('MonthPicker compound components must be used within MonthPickerRoot');
|
|
14
|
+
}
|
|
15
|
+
return ctx;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","MonthPickerContext","exports","createContext","useMonthPickerContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["month-picker/context.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAsBO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,oBAAa,EAAiC,IAAI,CAAC;AAE9E,SAASC,qBAAqBA,CAAA,EAA4B;EAC/D,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACL,kBAAkB,CAAC;EAC1C,IAAI,CAACI,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,qEAAqE,CAAC;EACxF;EACA,OAAOF,GAAG;AACZ","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MonthPickerContext", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _context.MonthPickerContext;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "MonthPickerRoot", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _MonthPickerRoot.MonthPickerRoot;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useMonthPickerContext", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _context.useMonthPickerContext;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _MonthPickerRoot = require("./MonthPickerRoot");
|
|
25
|
+
var _context = require("./context");
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_MonthPickerRoot","require","_context"],"sourceRoot":"../../../src","sources":["month-picker/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
|
|
@@ -60,24 +60,35 @@ function useAnchorPosition(anchorRef, open, options) {
|
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
let cancelled = false;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const anchor = anchorRef.current;
|
|
67
|
-
if (!anchor) {
|
|
68
|
-
return;
|
|
63
|
+
const runMeasure = () => {
|
|
64
|
+
if (!cancelled) {
|
|
65
|
+
measureAnchor();
|
|
69
66
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
});
|
|
67
|
+
};
|
|
68
|
+
runMeasure();
|
|
69
|
+
if (_reactNative.Platform.OS === 'web') {
|
|
70
|
+
const frame = requestAnimationFrame(runMeasure);
|
|
71
|
+
return () => {
|
|
72
|
+
cancelled = true;
|
|
73
|
+
cancelAnimationFrame(frame);
|
|
74
|
+
};
|
|
80
75
|
}
|
|
76
|
+
const anchor = anchorRef.current;
|
|
77
|
+
if (!anchor) {
|
|
78
|
+
return () => {
|
|
79
|
+
cancelled = true;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
anchor.measureInWindow((x, y, width, height) => {
|
|
83
|
+
if (!cancelled) {
|
|
84
|
+
setLayoutIfChanged(setLayout, {
|
|
85
|
+
x,
|
|
86
|
+
y,
|
|
87
|
+
width,
|
|
88
|
+
height
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
81
92
|
return () => {
|
|
82
93
|
cancelled = true;
|
|
83
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","useIsomorphicLayoutEffect","Platform","OS","useLayoutEffect","useEffect","measureWeb","element","rect","getBoundingClientRect","x","left","y","top","width","height","setLayoutIfChanged","setLayout","next","prev","useAnchorPosition","anchorRef","open","options","remeasureKey","trackWhileOpen","layout","useState","measureAnchor","anchor","current","measureInWindow","cancelled","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","useIsomorphicLayoutEffect","Platform","OS","useLayoutEffect","useEffect","measureWeb","element","rect","getBoundingClientRect","x","left","y","top","width","height","setLayoutIfChanged","setLayout","next","prev","useAnchorPosition","anchorRef","open","options","remeasureKey","trackWhileOpen","layout","useState","measureAnchor","anchor","current","measureInWindow","cancelled","runMeasure","frame","requestAnimationFrame","cancelAnimationFrame","frameId","tick","update","window","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["overlay/useAnchorPosition.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useDismissOverlay = useDismissOverlay;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
function refContainsNode(ref, target) {
|
|
9
|
+
const current = ref.current;
|
|
10
|
+
if (!current || typeof current.contains !== 'function') {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
return current.contains(target);
|
|
14
|
+
}
|
|
15
|
+
|
|
8
16
|
/**
|
|
9
17
|
* Dismisses an overlay when the user clicks/presses outside of it or when
|
|
10
18
|
* focus moves to an element outside the overlay via keyboard.
|
|
@@ -20,11 +28,11 @@ function useDismissOverlay(open, contentRef, excludeRefs, onDismiss) {
|
|
|
20
28
|
return;
|
|
21
29
|
}
|
|
22
30
|
const isInsideOverlay = target => {
|
|
23
|
-
if (contentRef
|
|
31
|
+
if (refContainsNode(contentRef, target)) {
|
|
24
32
|
return true;
|
|
25
33
|
}
|
|
26
34
|
for (const ref of excludeRefsRef.current) {
|
|
27
|
-
if (ref
|
|
35
|
+
if (refContainsNode(ref, target)) {
|
|
28
36
|
return true;
|
|
29
37
|
}
|
|
30
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","
|
|
1
|
+
{"version":3,"names":["_react","require","refContainsNode","ref","target","current","contains","useDismissOverlay","open","contentRef","excludeRefs","onDismiss","onDismissRef","useRef","excludeRefsRef","useEffect","isInsideOverlay","dismissIfOutside","e","document","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["overlay/useDismissOverlay.web.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,SAASC,eAAeA,CAACC,GAAuB,EAAEC,MAAY,EAAW;EACvE,MAAMC,OAAO,GAAGF,GAAG,CAACE,OAAwD;EAC5E,IAAI,CAACA,OAAO,IAAI,OAAOA,OAAO,CAACC,QAAQ,KAAK,UAAU,EAAE;IACtD,OAAO,KAAK;EACd;EACA,OAAOD,OAAO,CAACC,QAAQ,CAACF,MAAM,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,iBAAiBA,CAC/BC,IAAa,EACbC,UAA0B,EAC1BC,WAA6B,EAC7BC,SAAqB,EACrB;EACA,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAACF,SAAS,CAAC;EACtCC,YAAY,CAACP,OAAO,GAAGM,SAAS;EAEhC,MAAMG,cAAc,GAAG,IAAAD,aAAM,EAACH,WAAW,CAAC;EAC1CI,cAAc,CAACT,OAAO,GAAGK,WAAW;EAEpC,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAI,CAACP,IAAI,EAAE;MACT;IACF;IAEA,MAAMQ,eAAe,GAAIZ,MAAY,IAAK;MACxC,IAAIF,eAAe,CAACO,UAAU,EAAEL,MAAM,CAAC,EAAE;QACvC,OAAO,IAAI;MACb;MACA,KAAK,MAAMD,GAAG,IAAIW,cAAc,CAACT,OAAO,EAAE;QACxC,IAAIH,eAAe,CAACC,GAAG,EAAEC,MAAM,CAAC,EAAE;UAChC,OAAO,IAAI;QACb;MACF;MACA,OAAO,KAAK;IACd,CAAC;IAED,MAAMa,gBAAgB,GAAIC,CAAQ,IAAK;MACrC,IAAI,CAACF,eAAe,CAACE,CAAC,CAACd,MAAc,CAAC,EAAE;QACtCQ,YAAY,CAACP,OAAO,CAAC,CAAC;MACxB;IACF,CAAC;IAEDc,QAAQ,CAACC,gBAAgB,CAAC,aAAa,EAAEH,gBAAgB,CAAC;IAC1DE,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEH,gBAAgB,CAAC;IACtD,OAAO,MAAM;MACXE,QAAQ,CAACE,mBAAmB,CAAC,aAAa,EAAEJ,gBAAgB,CAAC;MAC7DE,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEJ,gBAAgB,CAAC;IAC3D,CAAC;EACH,CAAC,EAAE,CAACT,IAAI,EAAEC,UAAU,CAAC,CAAC;AACxB","ignoreList":[]}
|
|
@@ -40,6 +40,9 @@ const OverlayInsetsProvider = exports.OverlayInsetsProvider = OverlayInsetsConte
|
|
|
40
40
|
/** Minimum gap (px) between the overlay edge and the viewport/safe-area boundary. */
|
|
41
41
|
const SCREEN_EDGE_PADDING = 8;
|
|
42
42
|
|
|
43
|
+
/** Gap between anchor and popover content. */
|
|
44
|
+
const POPOVER_GAP = 4;
|
|
45
|
+
|
|
43
46
|
/** Minimum usable space (px) below the anchor before the overlay flips above. */
|
|
44
47
|
const MIN_CONTENT_HEIGHT = 200;
|
|
45
48
|
/**
|
|
@@ -68,7 +71,7 @@ function useOverlayPosition(anchorLayout) {
|
|
|
68
71
|
const maxHeight = Math.max(0, spaceBelow);
|
|
69
72
|
return {
|
|
70
73
|
style: {
|
|
71
|
-
top: anchorBottom,
|
|
74
|
+
top: anchorBottom + POPOVER_GAP,
|
|
72
75
|
left: anchorLayout.x,
|
|
73
76
|
width: anchorLayout.width,
|
|
74
77
|
maxHeight
|
|
@@ -80,7 +83,7 @@ function useOverlayPosition(anchorLayout) {
|
|
|
80
83
|
const maxHeight = Math.max(0, spaceAbove);
|
|
81
84
|
return {
|
|
82
85
|
style: {
|
|
83
|
-
bottom: viewportHeight - anchorLayout.y,
|
|
86
|
+
bottom: viewportHeight - anchorLayout.y + POPOVER_GAP,
|
|
84
87
|
left: anchorLayout.x,
|
|
85
88
|
width: anchorLayout.width,
|
|
86
89
|
maxHeight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","DEFAULT_INSETS","top","right","bottom","left","OverlayInsetsContext","exports","createContext","OverlayInsetsProvider","Provider","SCREEN_EDGE_PADDING","MIN_CONTENT_HEIGHT","useOverlayPosition","anchorLayout","height","viewportHeight","useWindowDimensions","insetTop","insetBottom","useContext","useMemo","anchorBottom","y","spaceBelow","spaceAbove","preferBelow","maxHeight","Math","max","style","x","width","placement"],"sourceRoot":"../../../src","sources":["overlay/useOverlayPosition.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,MAAME,cAA0B,GAAG;EAAEC,GAAG,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,MAAM,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAG,IAAAE,oBAAa,EAAaP,cAAc,CAAC;AACtE,MAAMQ,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGH,oBAAoB,CAACI,QAAQ;;AAElE;AACA,MAAMC,mBAAmB,GAAG,CAAC;;AAE7B;AACA,MAAMC,kBAAkB,GAAG,GAAG;AAQ9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,YAAiC,EAA0B;EAC5F,MAAM;IAAEC,MAAM,EAAEC;EAAe,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACxD,MAAM;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","DEFAULT_INSETS","top","right","bottom","left","OverlayInsetsContext","exports","createContext","OverlayInsetsProvider","Provider","SCREEN_EDGE_PADDING","POPOVER_GAP","MIN_CONTENT_HEIGHT","useOverlayPosition","anchorLayout","height","viewportHeight","useWindowDimensions","insetTop","insetBottom","useContext","useMemo","anchorBottom","y","spaceBelow","spaceAbove","preferBelow","maxHeight","Math","max","style","x","width","placement"],"sourceRoot":"../../../src","sources":["overlay/useOverlayPosition.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,MAAME,cAA0B,GAAG;EAAEC,GAAG,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,MAAM,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAG,IAAAE,oBAAa,EAAaP,cAAc,CAAC;AACtE,MAAMQ,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGH,oBAAoB,CAACI,QAAQ;;AAElE;AACA,MAAMC,mBAAmB,GAAG,CAAC;;AAE7B;AACA,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,kBAAkB,GAAG,GAAG;AAQ9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,YAAiC,EAA0B;EAC5F,MAAM;IAAEC,MAAM,EAAEC;EAAe,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACxD,MAAM;IAAEhB,GAAG,EAAEiB,QAAQ;IAAEf,MAAM,EAAEgB;EAAY,CAAC,GAAG,IAAAC,iBAAU,EAACf,oBAAoB,CAAC;EAE/E,OAAO,IAAAgB,cAAO,EAAC,MAAM;IACnB,IAAI,CAACP,YAAY,EAAE,OAAO,IAAI;IAE9B,MAAMQ,YAAY,GAAGR,YAAY,CAACS,CAAC,GAAGT,YAAY,CAACC,MAAM;IACzD,MAAMS,UAAU,GAAGR,cAAc,GAAGM,YAAY,GAAGH,WAAW,GAAGT,mBAAmB;IACpF,MAAMe,UAAU,GAAGX,YAAY,CAACS,CAAC,GAAGL,QAAQ,GAAGR,mBAAmB;IAElE,MAAMgB,WAAW,GAAGF,UAAU,IAAIZ,kBAAkB,IAAIY,UAAU,IAAIC,UAAU;IAEhF,IAAIC,WAAW,EAAE;MACf,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEL,UAAU,CAAC;MACzC,OAAO;QACLM,KAAK,EAAE;UACL7B,GAAG,EAAEqB,YAAY,GAAGX,WAAW;UAC/BP,IAAI,EAAEU,YAAY,CAACiB,CAAC;UACpBC,KAAK,EAAElB,YAAY,CAACkB,KAAK;UACzBL;QACF,CAAC;QACDA,SAAS;QACTM,SAAS,EAAE;MACb,CAAC;IACH;IAEA,MAAMN,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,UAAU,CAAC;IACzC,OAAO;MACLK,KAAK,EAAE;QACL3B,MAAM,EAAEa,cAAc,GAAGF,YAAY,CAACS,CAAC,GAAGZ,WAAW;QACrDP,IAAI,EAAEU,YAAY,CAACiB,CAAC;QACpBC,KAAK,EAAElB,YAAY,CAACkB,KAAK;QACzBL;MACF,CAAC;MACDA,SAAS;MACTM,SAAS,EAAE;IACb,CAAC;EACH,CAAC,EAAE,CAACnB,YAAY,EAAEE,cAAc,EAAEE,QAAQ,EAAEC,WAAW,CAAC,CAAC;AAC3D","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ exports.useModalPortalRoot = useModalPortalRoot;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var React = _react;
|
|
11
11
|
var _reactNative = require("react-native");
|
|
12
|
+
var _createPortal = require("../utils/createPortal");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
15
|
const DEFAULT_PORTAL_HOST = 'FORGE_UI_DEFAULT_HOST_NAME';
|
|
@@ -17,11 +18,53 @@ const store = {
|
|
|
17
18
|
listeners: new Set()
|
|
18
19
|
};
|
|
19
20
|
|
|
21
|
+
/** Tracks mounted PortalHost instances per host name — only the first mount renders portals. */
|
|
22
|
+
const hostStackStore = {
|
|
23
|
+
stacks: new Map(),
|
|
24
|
+
listeners: new Set()
|
|
25
|
+
};
|
|
26
|
+
let hasWarnedMultiplePortalHosts = false;
|
|
27
|
+
|
|
20
28
|
// --------------------------------------------------
|
|
21
29
|
|
|
22
30
|
function emit() {
|
|
23
31
|
for (const cb of store.listeners) cb();
|
|
24
32
|
}
|
|
33
|
+
function emitHostStack() {
|
|
34
|
+
for (const cb of hostStackStore.listeners) cb();
|
|
35
|
+
}
|
|
36
|
+
function getHostStackSnapshot() {
|
|
37
|
+
return hostStackStore.stacks;
|
|
38
|
+
}
|
|
39
|
+
function subscribeHostStack(cb) {
|
|
40
|
+
hostStackStore.listeners.add(cb);
|
|
41
|
+
return () => {
|
|
42
|
+
hostStackStore.listeners.delete(cb);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function pushPortalHost(name, id) {
|
|
46
|
+
const stacks = new Map(hostStackStore.stacks);
|
|
47
|
+
const stack = [...(stacks.get(name) ?? [])];
|
|
48
|
+
stack.push(id);
|
|
49
|
+
stacks.set(name, stack);
|
|
50
|
+
hostStackStore.stacks = stacks;
|
|
51
|
+
if (__DEV__ && !hasWarnedMultiplePortalHosts && stack.length > 1) {
|
|
52
|
+
hasWarnedMultiplePortalHosts = true;
|
|
53
|
+
console.warn('[Forge UI] Multiple PortalHost instances detected for the same host name. ' + 'Only the first mounted PortalHost renders portal content. ' + 'Mount a single PortalHost near your app root (ForgeDesignProvider does this automatically).');
|
|
54
|
+
}
|
|
55
|
+
emitHostStack();
|
|
56
|
+
}
|
|
57
|
+
function popPortalHost(name, id) {
|
|
58
|
+
const stacks = new Map(hostStackStore.stacks);
|
|
59
|
+
const stack = (stacks.get(name) ?? []).filter(entry => entry !== id);
|
|
60
|
+
stacks.set(name, stack);
|
|
61
|
+
hostStackStore.stacks = stacks;
|
|
62
|
+
emitHostStack();
|
|
63
|
+
}
|
|
64
|
+
function isActivePortalHost(name, id) {
|
|
65
|
+
const stack = hostStackStore.stacks.get(name) ?? [];
|
|
66
|
+
return stack.length > 0 && stack[0] === id;
|
|
67
|
+
}
|
|
25
68
|
function getSnapshot() {
|
|
26
69
|
return store.map;
|
|
27
70
|
}
|
|
@@ -53,12 +96,26 @@ function removePortal(hostName, name) {
|
|
|
53
96
|
function PortalHost({
|
|
54
97
|
name = DEFAULT_PORTAL_HOST
|
|
55
98
|
}) {
|
|
99
|
+
const hostId = React.useRef(Symbol()).current;
|
|
100
|
+
(0, _react.useEffect)(() => {
|
|
101
|
+
pushPortalHost(name, hostId);
|
|
102
|
+
return () => {
|
|
103
|
+
popPortalHost(name, hostId);
|
|
104
|
+
};
|
|
105
|
+
}, [name, hostId]);
|
|
106
|
+
(0, _react.useSyncExternalStore)(subscribeHostStack, getHostStackSnapshot, getHostStackSnapshot);
|
|
56
107
|
const map = (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
|
|
57
108
|
const portalMap = map.get(name) ?? new Map();
|
|
58
|
-
if (portalMap.size === 0)
|
|
59
|
-
|
|
109
|
+
if (!isActivePortalHost(name, hostId) || portalMap.size === 0) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
60
113
|
children: Array.from(portalMap.values())
|
|
61
114
|
});
|
|
115
|
+
if (_reactNative.Platform.OS === 'web' && _createPortal.createPortalFn && typeof document !== 'undefined') {
|
|
116
|
+
return (0, _createPortal.createPortalFn)(content, document.body);
|
|
117
|
+
}
|
|
118
|
+
return content;
|
|
62
119
|
}
|
|
63
120
|
|
|
64
121
|
// --------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_PORTAL_HOST","store","map","Map","listeners","Set","emit","cb","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_createPortal","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_PORTAL_HOST","store","map","Map","listeners","Set","hostStackStore","stacks","hasWarnedMultiplePortalHosts","emit","cb","emitHostStack","getHostStackSnapshot","subscribeHostStack","add","delete","pushPortalHost","name","id","stack","push","__DEV__","length","console","warn","popPortalHost","filter","entry","isActivePortalHost","getSnapshot","subscribe","updatePortal","hostName","children","next","portal","removePortal","PortalHost","hostId","useRef","Symbol","current","useEffect","useSyncExternalStore","portalMap","size","content","jsx","Fragment","Array","from","values","Platform","OS","createPortalFn","document","body","Portal","ROOT","flex","useModalPortalRoot","ref","offset","setSideOffSet","useState","onLayout","useCallback","measure","_x","_y","_width","_height","_pageX","pageY","style"],"sourceRoot":"../../../src","sources":["portal/portal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ var _radio2 = require("@react-stately/radio");
|
|
|
12
12
|
var _slot = require("../slot");
|
|
13
13
|
var _dataAttributes = require("../utils/dataAttributes");
|
|
14
14
|
var _context = require("./context");
|
|
15
|
+
var _useRadioGroupNavigation = require("./useRadioGroupNavigation");
|
|
15
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
17
|
const RadioGroup = exports.RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
17
18
|
asChild,
|
|
@@ -20,25 +21,66 @@ const RadioGroup = exports.RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
20
21
|
style,
|
|
21
22
|
...props
|
|
22
23
|
}, ref) => {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const formControlProps = (0, _utils.useFormControl)({
|
|
25
|
+
isDisabled: props.isDisabled,
|
|
26
|
+
isRequired: props.isRequired,
|
|
27
|
+
isInvalid: props.isInvalid,
|
|
28
|
+
isReadOnly: props.isReadOnly
|
|
29
|
+
});
|
|
30
|
+
const isDisabled = props.isDisabled ?? Boolean(formControlProps.disabled);
|
|
31
|
+
const isInvalid = props.isInvalid ?? Boolean(formControlProps['aria-invalid']);
|
|
32
|
+
const isRequired = props.isRequired ?? Boolean(formControlProps.required);
|
|
33
|
+
const isReadOnly = props.isReadOnly ?? Boolean(formControlProps.readOnly);
|
|
34
|
+
const name = props.name ?? formControlProps.name;
|
|
35
|
+
const ariaLabel = props['aria-label'];
|
|
36
|
+
const ariaLabelledBy = props['aria-labelledby'] ?? formControlProps['aria-labelledby'];
|
|
37
|
+
const ariaDescribedBy = formControlProps['aria-describedby'];
|
|
28
38
|
const radioGroupState = (0, _radio2.useRadioGroupState)({
|
|
29
|
-
|
|
30
|
-
|
|
39
|
+
name,
|
|
40
|
+
value: props.value,
|
|
41
|
+
defaultValue: props.defaultValue,
|
|
42
|
+
onChange: props.onChange,
|
|
43
|
+
isDisabled,
|
|
44
|
+
isInvalid,
|
|
45
|
+
isRequired,
|
|
46
|
+
isReadOnly,
|
|
47
|
+
validationState: isInvalid ? 'invalid' : 'valid'
|
|
31
48
|
});
|
|
32
49
|
const {
|
|
33
50
|
radioGroupProps
|
|
34
51
|
} = (0, _radio.useRadioGroup)({
|
|
35
|
-
|
|
36
|
-
'aria-
|
|
52
|
+
'aria-label': ariaLabel,
|
|
53
|
+
'aria-labelledby': ariaLabelledBy,
|
|
54
|
+
isDisabled
|
|
37
55
|
}, radioGroupState);
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
const
|
|
56
|
+
const [focusedValue, setFocusedValue] = (0, _react.useState)(undefined);
|
|
57
|
+
// Identity of getRadios depends on this so roving tabIndex recomputes after register/unregister.
|
|
58
|
+
const [registrationEpoch, setRegistrationEpoch] = (0, _react.useState)(0);
|
|
59
|
+
const radiosRef = (0, _react.useRef)(new Map());
|
|
60
|
+
(0, _react.useEffect)(() => {
|
|
61
|
+
setFocusedValue(prev => prev !== undefined && prev !== radioGroupState.selectedValue ? undefined : prev);
|
|
62
|
+
}, [radioGroupState.selectedValue]);
|
|
63
|
+
const registerRadio = (0, _react.useCallback)((value, entry) => {
|
|
64
|
+
radiosRef.current.set(value, entry);
|
|
65
|
+
setRegistrationEpoch(epoch => epoch + 1);
|
|
66
|
+
}, []);
|
|
67
|
+
const unregisterRadio = (0, _react.useCallback)(value => {
|
|
68
|
+
radiosRef.current.delete(value);
|
|
69
|
+
setRegistrationEpoch(epoch => epoch + 1);
|
|
70
|
+
}, []);
|
|
71
|
+
const getRadios = (0, _react.useCallback)(() => Array.from(radiosRef.current.entries()), [registrationEpoch]);
|
|
72
|
+
const {
|
|
73
|
+
handleKeyDown
|
|
74
|
+
} = (0, _useRadioGroupNavigation.useRadioGroupNavigation)({
|
|
75
|
+
getRadios,
|
|
76
|
+
focusedValue,
|
|
77
|
+
setFocusedValue,
|
|
78
|
+
selectedValue: radioGroupState.selectedValue,
|
|
79
|
+
selectValue: value => radioGroupState.setSelectedValue(value)
|
|
80
|
+
});
|
|
81
|
+
const webProps = _reactNative.Platform.OS === 'web' ? {
|
|
82
|
+
onKeyDown: (0, _utils.composeEventHandlers)(props.onKeyDown, handleKeyDown)
|
|
83
|
+
} : {};
|
|
42
84
|
const Comp = asChild ? _slot.Slot : _reactNative.View;
|
|
43
85
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.RadioGroupContext.Provider, {
|
|
44
86
|
value: {
|
|
@@ -51,17 +93,24 @@ const RadioGroup = exports.RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
51
93
|
selectValue: value => radioGroupState.setSelectedValue(value)
|
|
52
94
|
},
|
|
53
95
|
radioGroupState,
|
|
54
|
-
name
|
|
96
|
+
name,
|
|
97
|
+
focusedValue,
|
|
98
|
+
setFocusedValue,
|
|
99
|
+
registerRadio,
|
|
100
|
+
unregisterRadio,
|
|
101
|
+
getRadios
|
|
55
102
|
},
|
|
56
103
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
|
|
57
104
|
...radioGroupProps,
|
|
58
|
-
"aria-label":
|
|
59
|
-
"aria-labelledby":
|
|
105
|
+
"aria-label": ariaLabel,
|
|
106
|
+
"aria-labelledby": ariaLabelledBy,
|
|
107
|
+
"aria-describedby": ariaDescribedBy,
|
|
60
108
|
"aria-required": isRequired || undefined,
|
|
61
109
|
"aria-readonly": isReadOnly || undefined,
|
|
62
110
|
className: className,
|
|
63
111
|
style: style,
|
|
64
112
|
ref: ref,
|
|
113
|
+
...webProps,
|
|
65
114
|
...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
|
|
66
115
|
disabled: isDisabled,
|
|
67
116
|
invalid: isInvalid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_utils","_radio","_radio2","_slot","_dataAttributes","_context","_jsxRuntime","RadioGroup","exports","forwardRef","asChild","children","className","style","props","ref","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_utils","_radio","_radio2","_slot","_dataAttributes","_context","_useRadioGroupNavigation","_jsxRuntime","RadioGroup","exports","forwardRef","asChild","children","className","style","props","ref","formControlProps","useFormControl","isDisabled","isRequired","isInvalid","isReadOnly","Boolean","disabled","required","readOnly","name","ariaLabel","ariaLabelledBy","ariaDescribedBy","radioGroupState","useRadioGroupState","value","defaultValue","onChange","validationState","radioGroupProps","useRadioGroup","focusedValue","setFocusedValue","useState","undefined","registrationEpoch","setRegistrationEpoch","radiosRef","useRef","Map","useEffect","prev","selectedValue","registerRadio","useCallback","entry","current","set","epoch","unregisterRadio","delete","getRadios","Array","from","entries","handleKeyDown","useRadioGroupNavigation","selectValue","setSelectedValue","webProps","Platform","OS","onKeyDown","composeEventHandlers","Comp","Slot","View","jsx","RadioGroupContext","Provider","state","isSelected","mergeDataAttributes","dataAttributes","invalid","displayName"],"sourceRoot":"../../../src","sources":["radio/RadioGroup.tsx"],"mappings":"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","ignoreList":[]}
|