rn-grid-date-time-picker 1.0.0 → 1.2.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/CHANGELOG.md +86 -0
- package/README.md +100 -638
- package/lib/commonjs/adapters/utcMidnight.js +15 -6
- package/lib/commonjs/adapters/utcMidnight.js.map +1 -1
- package/lib/commonjs/components/DateTimePicker.js +484 -85
- package/lib/commonjs/components/DateTimePicker.js.map +1 -1
- package/lib/commonjs/components/calendar/Calendar.js +21 -7
- package/lib/commonjs/components/calendar/Calendar.js.map +1 -1
- package/lib/commonjs/components/calendar/CalendarHeader.js +46 -6
- package/lib/commonjs/components/calendar/CalendarHeader.js.map +1 -1
- package/lib/commonjs/components/calendar/CalendarSwitch.js +150 -0
- package/lib/commonjs/components/calendar/CalendarSwitch.js.map +1 -0
- package/lib/commonjs/components/calendar/DayCell.js +8 -3
- package/lib/commonjs/components/calendar/DayCell.js.map +1 -1
- package/lib/commonjs/components/calendar/DayGrid.js +13 -2
- package/lib/commonjs/components/calendar/DayGrid.js.map +1 -1
- package/lib/commonjs/components/calendar/PeriodGrid.js +3 -1
- package/lib/commonjs/components/calendar/PeriodGrid.js.map +1 -1
- package/lib/commonjs/components/calendar/calendarStyles.js +3 -2
- package/lib/commonjs/components/calendar/calendarStyles.js.map +1 -1
- package/lib/commonjs/components/calendar/localeNames.js +46 -24
- package/lib/commonjs/components/calendar/localeNames.js.map +1 -1
- package/lib/commonjs/components/calendar/selection.js +9 -1
- package/lib/commonjs/components/calendar/selection.js.map +1 -1
- package/lib/commonjs/components/container/DefaultSheet.js +42 -11
- package/lib/commonjs/components/container/DefaultSheet.js.map +1 -1
- package/lib/commonjs/components/container/PickerContainer.js +4 -0
- package/lib/commonjs/components/container/PickerContainer.js.map +1 -1
- package/lib/commonjs/components/container/PickerLayout.js +1 -1
- package/lib/commonjs/components/container/PickerLayout.js.map +1 -1
- package/lib/commonjs/components/container/containerStyles.js +12 -4
- package/lib/commonjs/components/container/containerStyles.js.map +1 -1
- package/lib/commonjs/components/field/RangeFields.js +5 -1
- package/lib/commonjs/components/field/RangeFields.js.map +1 -1
- package/lib/commonjs/components/field/SegmentedInput.js +8 -3
- package/lib/commonjs/components/field/SegmentedInput.js.map +1 -1
- package/lib/commonjs/components/field/ValueField.js +64 -8
- package/lib/commonjs/components/field/ValueField.js.map +1 -1
- package/lib/commonjs/components/field/fieldStyles.js +17 -0
- package/lib/commonjs/components/field/fieldStyles.js.map +1 -1
- package/lib/commonjs/components/field/fieldText.js +29 -13
- package/lib/commonjs/components/field/fieldText.js.map +1 -1
- package/lib/commonjs/components/hooks/useBottomInset.js +32 -0
- package/lib/commonjs/components/hooks/useBottomInset.js.map +1 -0
- package/lib/commonjs/components/hooks/useKeyboardFold.js +36 -13
- package/lib/commonjs/components/hooks/useKeyboardFold.js.map +1 -1
- package/lib/commonjs/components/hooks/useOpenPicker.js +39 -17
- package/lib/commonjs/components/hooks/useOpenPicker.js.map +1 -1
- package/lib/commonjs/components/hooks/useTypedSegments.js +6 -2
- package/lib/commonjs/components/hooks/useTypedSegments.js.map +1 -1
- package/lib/commonjs/components/theme/defaultStrings.js +13 -3
- package/lib/commonjs/components/theme/defaultStrings.js.map +1 -1
- package/lib/commonjs/components/theme/direction.js +17 -0
- package/lib/commonjs/components/theme/direction.js.map +1 -0
- package/lib/commonjs/components/theme/numerals.js +16 -0
- package/lib/commonjs/components/theme/numerals.js.map +1 -0
- package/lib/commonjs/components/theme/styleKeys.js +10 -2
- package/lib/commonjs/components/theme/styleKeys.js.map +1 -1
- package/lib/commonjs/components/theme/tokens.js +4 -0
- package/lib/commonjs/components/theme/tokens.js.map +1 -1
- package/lib/commonjs/components/time/TimeRow.js +10 -2
- package/lib/commonjs/components/time/TimeRow.js.map +1 -1
- package/lib/commonjs/components/time/TypedTime.js +3 -1
- package/lib/commonjs/components/time/TypedTime.js.map +1 -1
- package/lib/commonjs/components/time/Wheel.js +20 -3
- package/lib/commonjs/components/time/Wheel.js.map +1 -1
- package/lib/commonjs/components/time/timeStyles.js +4 -5
- package/lib/commonjs/components/time/timeStyles.js.map +1 -1
- package/lib/commonjs/components/types.js +10 -0
- package/lib/commonjs/components/types.js.map +1 -1
- package/lib/commonjs/core/calendarSystem.js +123 -22
- package/lib/commonjs/core/calendarSystem.js.map +1 -1
- package/lib/commonjs/core/digits.js +25 -0
- package/lib/commonjs/core/digits.js.map +1 -0
- package/lib/commonjs/core/draft.js +31 -10
- package/lib/commonjs/core/draft.js.map +1 -1
- package/lib/commonjs/core/locale.js +20 -4
- package/lib/commonjs/core/locale.js.map +1 -1
- package/lib/commonjs/core/numerals.js +46 -0
- package/lib/commonjs/core/numerals.js.map +1 -0
- package/lib/commonjs/core/segmentEditor.js +9 -0
- package/lib/commonjs/core/segmentEditor.js.map +1 -1
- package/lib/commonjs/core/segments.js +2 -11
- package/lib/commonjs/core/segments.js.map +1 -1
- package/lib/commonjs/core/selectionRules.js +2 -1
- package/lib/commonjs/core/selectionRules.js.map +1 -1
- package/lib/commonjs/core/timeEntry.js +7 -91
- package/lib/commonjs/core/timeEntry.js.map +1 -1
- package/lib/commonjs/icons/index.js +5 -1
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/index.js +20 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/adapters/utcMidnight.js +14 -5
- package/lib/module/adapters/utcMidnight.js.map +1 -1
- package/lib/module/components/DateTimePicker.js +490 -91
- package/lib/module/components/DateTimePicker.js.map +1 -1
- package/lib/module/components/calendar/Calendar.js +25 -11
- package/lib/module/components/calendar/Calendar.js.map +1 -1
- package/lib/module/components/calendar/CalendarHeader.js +47 -7
- package/lib/module/components/calendar/CalendarHeader.js.map +1 -1
- package/lib/module/components/calendar/CalendarSwitch.js +145 -0
- package/lib/module/components/calendar/CalendarSwitch.js.map +1 -0
- package/lib/module/components/calendar/DayCell.js +8 -3
- package/lib/module/components/calendar/DayCell.js.map +1 -1
- package/lib/module/components/calendar/DayGrid.js +14 -3
- package/lib/module/components/calendar/DayGrid.js.map +1 -1
- package/lib/module/components/calendar/PeriodGrid.js +3 -1
- package/lib/module/components/calendar/PeriodGrid.js.map +1 -1
- package/lib/module/components/calendar/calendarStyles.js +3 -2
- package/lib/module/components/calendar/calendarStyles.js.map +1 -1
- package/lib/module/components/calendar/localeNames.js +46 -24
- package/lib/module/components/calendar/localeNames.js.map +1 -1
- package/lib/module/components/calendar/selection.js +7 -0
- package/lib/module/components/calendar/selection.js.map +1 -1
- package/lib/module/components/container/DefaultSheet.js +42 -12
- package/lib/module/components/container/DefaultSheet.js.map +1 -1
- package/lib/module/components/container/PickerContainer.js +4 -0
- package/lib/module/components/container/PickerContainer.js.map +1 -1
- package/lib/module/components/container/PickerLayout.js +1 -1
- package/lib/module/components/container/PickerLayout.js.map +1 -1
- package/lib/module/components/container/containerStyles.js +11 -3
- package/lib/module/components/container/containerStyles.js.map +1 -1
- package/lib/module/components/field/RangeFields.js +5 -1
- package/lib/module/components/field/RangeFields.js.map +1 -1
- package/lib/module/components/field/SegmentedInput.js +8 -3
- package/lib/module/components/field/SegmentedInput.js.map +1 -1
- package/lib/module/components/field/ValueField.js +66 -10
- package/lib/module/components/field/ValueField.js.map +1 -1
- package/lib/module/components/field/fieldStyles.js +17 -0
- package/lib/module/components/field/fieldStyles.js.map +1 -1
- package/lib/module/components/field/fieldText.js +28 -11
- package/lib/module/components/field/fieldText.js.map +1 -1
- package/lib/module/components/hooks/useBottomInset.js +27 -0
- package/lib/module/components/hooks/useBottomInset.js.map +1 -0
- package/lib/module/components/hooks/useKeyboardFold.js +33 -12
- package/lib/module/components/hooks/useKeyboardFold.js.map +1 -1
- package/lib/module/components/hooks/useOpenPicker.js +39 -17
- package/lib/module/components/hooks/useOpenPicker.js.map +1 -1
- package/lib/module/components/hooks/useTypedSegments.js +6 -2
- package/lib/module/components/hooks/useTypedSegments.js.map +1 -1
- package/lib/module/components/theme/defaultStrings.js +11 -2
- package/lib/module/components/theme/defaultStrings.js.map +1 -1
- package/lib/module/components/theme/direction.js +13 -0
- package/lib/module/components/theme/direction.js.map +1 -0
- package/lib/module/components/theme/numerals.js +12 -0
- package/lib/module/components/theme/numerals.js.map +1 -0
- package/lib/module/components/theme/styleKeys.js +10 -2
- package/lib/module/components/theme/styleKeys.js.map +1 -1
- package/lib/module/components/theme/tokens.js +4 -0
- package/lib/module/components/theme/tokens.js.map +1 -1
- package/lib/module/components/time/TimeRow.js +11 -3
- package/lib/module/components/time/TimeRow.js.map +1 -1
- package/lib/module/components/time/TypedTime.js +3 -1
- package/lib/module/components/time/TypedTime.js.map +1 -1
- package/lib/module/components/time/Wheel.js +18 -2
- package/lib/module/components/time/Wheel.js.map +1 -1
- package/lib/module/components/time/timeStyles.js +4 -5
- package/lib/module/components/time/timeStyles.js.map +1 -1
- package/lib/module/components/types.js +10 -0
- package/lib/module/components/types.js.map +1 -1
- package/lib/module/core/calendarSystem.js +118 -19
- package/lib/module/core/calendarSystem.js.map +1 -1
- package/lib/module/core/digits.js +20 -0
- package/lib/module/core/digits.js.map +1 -0
- package/lib/module/core/draft.js +29 -9
- package/lib/module/core/draft.js.map +1 -1
- package/lib/module/core/locale.js +18 -3
- package/lib/module/core/locale.js.map +1 -1
- package/lib/module/core/numerals.js +39 -0
- package/lib/module/core/numerals.js.map +1 -0
- package/lib/module/core/segmentEditor.js +9 -0
- package/lib/module/core/segmentEditor.js.map +1 -1
- package/lib/module/core/segments.js +0 -8
- package/lib/module/core/segments.js.map +1 -1
- package/lib/module/core/selectionRules.js +2 -1
- package/lib/module/core/selectionRules.js.map +1 -1
- package/lib/module/core/timeEntry.js +7 -89
- package/lib/module/core/timeEntry.js.map +1 -1
- package/lib/module/icons/index.js +5 -1
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/adapters/utcMidnight.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/DateTimePicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/Calendar.d.ts +8 -4
- package/lib/typescript/commonjs/src/components/calendar/Calendar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/CalendarHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/CalendarSwitch.d.ts +26 -0
- package/lib/typescript/commonjs/src/components/calendar/CalendarSwitch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/calendar/DayCell.d.ts +1 -1
- package/lib/typescript/commonjs/src/components/calendar/DayCell.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/DayGrid.d.ts +2 -0
- package/lib/typescript/commonjs/src/components/calendar/DayGrid.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/PeriodGrid.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/calendarStyles.d.ts +1 -1
- package/lib/typescript/commonjs/src/components/calendar/calendarStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/localeNames.d.ts +8 -3
- package/lib/typescript/commonjs/src/components/calendar/localeNames.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/calendar/selection.d.ts +2 -0
- package/lib/typescript/commonjs/src/components/calendar/selection.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/container/DefaultSheet.d.ts +10 -2
- package/lib/typescript/commonjs/src/components/container/DefaultSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/container/PickerContainer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/container/containerStyles.d.ts +6 -0
- package/lib/typescript/commonjs/src/components/container/containerStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/field/RangeFields.d.ts +5 -0
- package/lib/typescript/commonjs/src/components/field/RangeFields.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/field/SegmentedInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/field/ValueField.d.ts +7 -0
- package/lib/typescript/commonjs/src/components/field/ValueField.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/field/fieldStyles.d.ts +15 -0
- package/lib/typescript/commonjs/src/components/field/fieldStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/field/fieldText.d.ts +14 -5
- package/lib/typescript/commonjs/src/components/field/fieldText.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/hooks/useBottomInset.d.ts +8 -0
- package/lib/typescript/commonjs/src/components/hooks/useBottomInset.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/hooks/useKeyboardFold.d.ts +10 -2
- package/lib/typescript/commonjs/src/components/hooks/useKeyboardFold.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/hooks/useOpenPicker.d.ts +2 -1
- package/lib/typescript/commonjs/src/components/hooks/useOpenPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/hooks/useTypedSegments.d.ts +3 -2
- package/lib/typescript/commonjs/src/components/hooks/useTypedSegments.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/theme/defaultStrings.d.ts +13 -2
- package/lib/typescript/commonjs/src/components/theme/defaultStrings.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/theme/direction.d.ts +8 -0
- package/lib/typescript/commonjs/src/components/theme/direction.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/theme/numerals.d.ts +7 -0
- package/lib/typescript/commonjs/src/components/theme/numerals.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/theme/styleKeys.d.ts +1 -1
- package/lib/typescript/commonjs/src/components/theme/styleKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/theme/tokens.d.ts +3 -1
- package/lib/typescript/commonjs/src/components/theme/tokens.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/time/TimeRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/time/TypedTime.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/time/Wheel.d.ts +5 -0
- package/lib/typescript/commonjs/src/components/time/Wheel.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/time/timeStyles.d.ts +0 -2
- package/lib/typescript/commonjs/src/components/time/timeStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/types.d.ts +84 -4
- package/lib/typescript/commonjs/src/components/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/calendarSystem.d.ts +20 -5
- package/lib/typescript/commonjs/src/core/calendarSystem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/digits.d.ts +3 -0
- package/lib/typescript/commonjs/src/core/digits.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/core/draft.d.ts +12 -1
- package/lib/typescript/commonjs/src/core/draft.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/locale.d.ts +6 -0
- package/lib/typescript/commonjs/src/core/locale.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/numerals.d.ts +15 -0
- package/lib/typescript/commonjs/src/core/numerals.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/core/segmentEditor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/segments.d.ts +0 -2
- package/lib/typescript/commonjs/src/core/segments.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/selectionRules.d.ts +3 -2
- package/lib/typescript/commonjs/src/core/selectionRules.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/core/timeEntry.d.ts +4 -24
- package/lib/typescript/commonjs/src/core/timeEntry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/icons/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +7 -3
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/adapters/utcMidnight.d.ts.map +1 -1
- package/lib/typescript/module/src/components/DateTimePicker.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/Calendar.d.ts +8 -4
- package/lib/typescript/module/src/components/calendar/Calendar.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/CalendarHeader.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/CalendarSwitch.d.ts +26 -0
- package/lib/typescript/module/src/components/calendar/CalendarSwitch.d.ts.map +1 -0
- package/lib/typescript/module/src/components/calendar/DayCell.d.ts +1 -1
- package/lib/typescript/module/src/components/calendar/DayCell.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/DayGrid.d.ts +2 -0
- package/lib/typescript/module/src/components/calendar/DayGrid.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/PeriodGrid.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/calendarStyles.d.ts +1 -1
- package/lib/typescript/module/src/components/calendar/calendarStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/localeNames.d.ts +8 -3
- package/lib/typescript/module/src/components/calendar/localeNames.d.ts.map +1 -1
- package/lib/typescript/module/src/components/calendar/selection.d.ts +2 -0
- package/lib/typescript/module/src/components/calendar/selection.d.ts.map +1 -1
- package/lib/typescript/module/src/components/container/DefaultSheet.d.ts +10 -2
- package/lib/typescript/module/src/components/container/DefaultSheet.d.ts.map +1 -1
- package/lib/typescript/module/src/components/container/PickerContainer.d.ts.map +1 -1
- package/lib/typescript/module/src/components/container/containerStyles.d.ts +6 -0
- package/lib/typescript/module/src/components/container/containerStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/components/field/RangeFields.d.ts +5 -0
- package/lib/typescript/module/src/components/field/RangeFields.d.ts.map +1 -1
- package/lib/typescript/module/src/components/field/SegmentedInput.d.ts.map +1 -1
- package/lib/typescript/module/src/components/field/ValueField.d.ts +7 -0
- package/lib/typescript/module/src/components/field/ValueField.d.ts.map +1 -1
- package/lib/typescript/module/src/components/field/fieldStyles.d.ts +15 -0
- package/lib/typescript/module/src/components/field/fieldStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/components/field/fieldText.d.ts +14 -5
- package/lib/typescript/module/src/components/field/fieldText.d.ts.map +1 -1
- package/lib/typescript/module/src/components/hooks/useBottomInset.d.ts +8 -0
- package/lib/typescript/module/src/components/hooks/useBottomInset.d.ts.map +1 -0
- package/lib/typescript/module/src/components/hooks/useKeyboardFold.d.ts +10 -2
- package/lib/typescript/module/src/components/hooks/useKeyboardFold.d.ts.map +1 -1
- package/lib/typescript/module/src/components/hooks/useOpenPicker.d.ts +2 -1
- package/lib/typescript/module/src/components/hooks/useOpenPicker.d.ts.map +1 -1
- package/lib/typescript/module/src/components/hooks/useTypedSegments.d.ts +3 -2
- package/lib/typescript/module/src/components/hooks/useTypedSegments.d.ts.map +1 -1
- package/lib/typescript/module/src/components/theme/defaultStrings.d.ts +13 -2
- package/lib/typescript/module/src/components/theme/defaultStrings.d.ts.map +1 -1
- package/lib/typescript/module/src/components/theme/direction.d.ts +8 -0
- package/lib/typescript/module/src/components/theme/direction.d.ts.map +1 -0
- package/lib/typescript/module/src/components/theme/numerals.d.ts +7 -0
- package/lib/typescript/module/src/components/theme/numerals.d.ts.map +1 -0
- package/lib/typescript/module/src/components/theme/styleKeys.d.ts +1 -1
- package/lib/typescript/module/src/components/theme/styleKeys.d.ts.map +1 -1
- package/lib/typescript/module/src/components/theme/tokens.d.ts +3 -1
- package/lib/typescript/module/src/components/theme/tokens.d.ts.map +1 -1
- package/lib/typescript/module/src/components/time/TimeRow.d.ts.map +1 -1
- package/lib/typescript/module/src/components/time/TypedTime.d.ts.map +1 -1
- package/lib/typescript/module/src/components/time/Wheel.d.ts +5 -0
- package/lib/typescript/module/src/components/time/Wheel.d.ts.map +1 -1
- package/lib/typescript/module/src/components/time/timeStyles.d.ts +0 -2
- package/lib/typescript/module/src/components/time/timeStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/components/types.d.ts +84 -4
- package/lib/typescript/module/src/components/types.d.ts.map +1 -1
- package/lib/typescript/module/src/core/calendarSystem.d.ts +20 -5
- package/lib/typescript/module/src/core/calendarSystem.d.ts.map +1 -1
- package/lib/typescript/module/src/core/digits.d.ts +3 -0
- package/lib/typescript/module/src/core/digits.d.ts.map +1 -0
- package/lib/typescript/module/src/core/draft.d.ts +12 -1
- package/lib/typescript/module/src/core/draft.d.ts.map +1 -1
- package/lib/typescript/module/src/core/locale.d.ts +6 -0
- package/lib/typescript/module/src/core/locale.d.ts.map +1 -1
- package/lib/typescript/module/src/core/numerals.d.ts +15 -0
- package/lib/typescript/module/src/core/numerals.d.ts.map +1 -0
- package/lib/typescript/module/src/core/segmentEditor.d.ts.map +1 -1
- package/lib/typescript/module/src/core/segments.d.ts +0 -2
- package/lib/typescript/module/src/core/segments.d.ts.map +1 -1
- package/lib/typescript/module/src/core/selectionRules.d.ts +3 -2
- package/lib/typescript/module/src/core/selectionRules.d.ts.map +1 -1
- package/lib/typescript/module/src/core/timeEntry.d.ts +4 -24
- package/lib/typescript/module/src/core/timeEntry.d.ts.map +1 -1
- package/lib/typescript/module/src/icons/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +7 -3
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +22 -7
- package/src/adapters/utcMidnight.ts +14 -5
- package/src/components/DateTimePicker.tsx +607 -108
- package/src/components/calendar/Calendar.tsx +54 -16
- package/src/components/calendar/CalendarHeader.tsx +41 -9
- package/src/components/calendar/CalendarSwitch.tsx +170 -0
- package/src/components/calendar/DayCell.tsx +16 -4
- package/src/components/calendar/DayGrid.tsx +18 -3
- package/src/components/calendar/PeriodGrid.tsx +3 -1
- package/src/components/calendar/calendarStyles.ts +3 -2
- package/src/components/calendar/localeNames.ts +52 -22
- package/src/components/calendar/selection.ts +8 -0
- package/src/components/container/DefaultSheet.tsx +60 -14
- package/src/components/container/PickerContainer.tsx +4 -0
- package/src/components/container/PickerLayout.tsx +1 -1
- package/src/components/container/containerStyles.ts +12 -3
- package/src/components/field/RangeFields.tsx +12 -2
- package/src/components/field/SegmentedInput.tsx +8 -3
- package/src/components/field/ValueField.tsx +94 -18
- package/src/components/field/fieldStyles.ts +6 -0
- package/src/components/field/fieldText.ts +68 -15
- package/src/components/hooks/useBottomInset.ts +33 -0
- package/src/components/hooks/useKeyboardFold.ts +41 -13
- package/src/components/hooks/useOpenPicker.ts +41 -18
- package/src/components/hooks/useTypedSegments.ts +7 -3
- package/src/components/theme/defaultStrings.ts +29 -4
- package/src/components/theme/direction.ts +12 -0
- package/src/components/theme/numerals.ts +11 -0
- package/src/components/theme/styleKeys.ts +18 -1
- package/src/components/theme/tokens.ts +5 -1
- package/src/components/time/TimeRow.tsx +23 -3
- package/src/components/time/TypedTime.tsx +3 -1
- package/src/components/time/Wheel.tsx +19 -5
- package/src/components/time/timeStyles.ts +2 -3
- package/src/components/types.ts +86 -4
- package/src/core/calendarSystem.ts +145 -21
- package/src/core/digits.ts +21 -0
- package/src/core/draft.ts +41 -13
- package/src/core/locale.ts +20 -3
- package/src/core/numerals.ts +35 -0
- package/src/core/segmentEditor.ts +13 -0
- package/src/core/segments.ts +0 -8
- package/src/core/selectionRules.ts +3 -2
- package/src/core/timeEntry.ts +6 -96
- package/src/icons/index.tsx +3 -1
- package/src/index.tsx +12 -2
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Pressable, StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import { MAX_FONT_SCALE } from "../theme/a11y.js";
|
|
6
|
+
import { fontStyle } from "../theme/tokens.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const KEYS = {
|
|
9
|
+
switch: {
|
|
10
|
+
box: 'calendarSwitch',
|
|
11
|
+
item: 'calendarSwitchSegment',
|
|
12
|
+
itemSelected: 'calendarSwitchSegmentSelected',
|
|
13
|
+
text: 'calendarSwitchText',
|
|
14
|
+
textSelected: 'calendarSwitchTextSelected'
|
|
15
|
+
},
|
|
16
|
+
tabs: {
|
|
17
|
+
box: 'dualTabs',
|
|
18
|
+
item: 'dualTab',
|
|
19
|
+
itemSelected: 'dualTabSelected',
|
|
20
|
+
text: 'dualTabText',
|
|
21
|
+
textSelected: 'dualTabTextSelected'
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const cache = new WeakMap();
|
|
25
|
+
const create = t => StyleSheet.create({
|
|
26
|
+
switch: {
|
|
27
|
+
flexDirection: 'row',
|
|
28
|
+
padding: 4,
|
|
29
|
+
gap: 4,
|
|
30
|
+
marginTop: 12,
|
|
31
|
+
borderRadius: t.radius,
|
|
32
|
+
backgroundColor: t.toggleTrack
|
|
33
|
+
},
|
|
34
|
+
switchItem: {
|
|
35
|
+
flex: 1,
|
|
36
|
+
minHeight: t.touchTarget - 8,
|
|
37
|
+
paddingHorizontal: 8,
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
justifyContent: 'center',
|
|
40
|
+
borderRadius: Math.max(0, t.radius - 2)
|
|
41
|
+
},
|
|
42
|
+
switchItemSelected: {
|
|
43
|
+
backgroundColor: t.accent
|
|
44
|
+
},
|
|
45
|
+
switchText: {
|
|
46
|
+
...fontStyle(t, 'medium'),
|
|
47
|
+
fontSize: t.fontSizeMedium,
|
|
48
|
+
color: t.text
|
|
49
|
+
},
|
|
50
|
+
switchTextSelected: {
|
|
51
|
+
color: t.onAccent
|
|
52
|
+
},
|
|
53
|
+
tabs: {
|
|
54
|
+
flexDirection: 'row',
|
|
55
|
+
marginTop: 8,
|
|
56
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
|
57
|
+
borderBottomColor: t.separator
|
|
58
|
+
},
|
|
59
|
+
tabsItem: {
|
|
60
|
+
flex: 1,
|
|
61
|
+
minHeight: t.touchTarget,
|
|
62
|
+
paddingHorizontal: 8,
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
justifyContent: 'center',
|
|
65
|
+
borderBottomWidth: 2,
|
|
66
|
+
borderBottomColor: 'transparent'
|
|
67
|
+
},
|
|
68
|
+
tabsItemSelected: {
|
|
69
|
+
borderBottomColor: t.accent
|
|
70
|
+
},
|
|
71
|
+
tabsText: {
|
|
72
|
+
...fontStyle(t, 'medium'),
|
|
73
|
+
fontSize: t.fontSizeMedium,
|
|
74
|
+
color: t.mutedText
|
|
75
|
+
},
|
|
76
|
+
tabsTextSelected: {
|
|
77
|
+
...fontStyle(t, 'semiBold'),
|
|
78
|
+
color: t.accent
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
const stylesFor = t => {
|
|
82
|
+
let s = cache.get(t);
|
|
83
|
+
if (!s) {
|
|
84
|
+
s = create(t);
|
|
85
|
+
cache.set(t, s);
|
|
86
|
+
}
|
|
87
|
+
return s;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* One row of choices, one of them selected: the Gregorian / Hijri / Dual
|
|
92
|
+
* switch above the calendar, and the Gregorian / Hijri tabs of a dual calendar.
|
|
93
|
+
* Each part takes its own key from the `styles` prop.
|
|
94
|
+
*/
|
|
95
|
+
const CalendarSwitch = ({
|
|
96
|
+
variant,
|
|
97
|
+
options,
|
|
98
|
+
selected,
|
|
99
|
+
onSelect,
|
|
100
|
+
accessibilityLabel,
|
|
101
|
+
tokens,
|
|
102
|
+
styles,
|
|
103
|
+
testID
|
|
104
|
+
}) => {
|
|
105
|
+
const s = stylesFor(tokens);
|
|
106
|
+
const keys = KEYS[variant];
|
|
107
|
+
const own = {
|
|
108
|
+
box: variant === 'switch' ? s.switch : s.tabs,
|
|
109
|
+
item: variant === 'switch' ? s.switchItem : s.tabsItem,
|
|
110
|
+
itemSelected: variant === 'switch' ? s.switchItemSelected : s.tabsItemSelected,
|
|
111
|
+
text: variant === 'switch' ? s.switchText : s.tabsText,
|
|
112
|
+
textSelected: variant === 'switch' ? s.switchTextSelected : s.tabsTextSelected
|
|
113
|
+
};
|
|
114
|
+
const tabs = variant === 'tabs';
|
|
115
|
+
return /*#__PURE__*/_jsx(View, {
|
|
116
|
+
style: [own.box, styles?.[keys.box]],
|
|
117
|
+
accessibilityRole: tabs ? 'tablist' : 'radiogroup',
|
|
118
|
+
accessibilityLabel: accessibilityLabel,
|
|
119
|
+
testID: testID,
|
|
120
|
+
children: options.map(option => {
|
|
121
|
+
const on = option.value === selected;
|
|
122
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
123
|
+
testID: testID ? `${testID}-${option.value}` : undefined,
|
|
124
|
+
accessibilityRole: tabs ? 'tab' : 'radio',
|
|
125
|
+
accessibilityState: tabs ? {
|
|
126
|
+
selected: on
|
|
127
|
+
} : {
|
|
128
|
+
checked: on
|
|
129
|
+
},
|
|
130
|
+
onPress: () => {
|
|
131
|
+
if (!on) onSelect(option.value);
|
|
132
|
+
},
|
|
133
|
+
style: [own.item, styles?.[keys.item], on && [own.itemSelected, styles?.[keys.itemSelected]]],
|
|
134
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
135
|
+
numberOfLines: 1,
|
|
136
|
+
maxFontSizeMultiplier: MAX_FONT_SCALE,
|
|
137
|
+
style: [own.text, styles?.[keys.text], on && [own.textSelected, styles?.[keys.textSelected]]],
|
|
138
|
+
children: option.label
|
|
139
|
+
})
|
|
140
|
+
}, option.value);
|
|
141
|
+
})
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
export default CalendarSwitch;
|
|
145
|
+
//# sourceMappingURL=CalendarSwitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Pressable","StyleSheet","Text","View","MAX_FONT_SCALE","fontStyle","jsx","_jsx","KEYS","switch","box","item","itemSelected","text","textSelected","tabs","cache","WeakMap","create","t","flexDirection","padding","gap","marginTop","borderRadius","radius","backgroundColor","toggleTrack","switchItem","flex","minHeight","touchTarget","paddingHorizontal","alignItems","justifyContent","Math","max","switchItemSelected","accent","switchText","fontSize","fontSizeMedium","color","switchTextSelected","onAccent","borderBottomWidth","hairlineWidth","borderBottomColor","separator","tabsItem","tabsItemSelected","tabsText","mutedText","tabsTextSelected","stylesFor","s","get","set","CalendarSwitch","variant","options","selected","onSelect","accessibilityLabel","tokens","styles","testID","keys","own","style","accessibilityRole","children","map","option","on","value","undefined","accessibilityState","checked","onPress","numberOfLines","maxFontSizeMultiplier","label"],"sourceRoot":"../../../../src","sources":["components/calendar/CalendarSwitch.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { memo } from 'react';
|
|
4
4
|
import { Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { isSameDay } from "../../core/calendarDate.js";
|
|
5
6
|
import { DAY_HIT_SLOP, MAX_FONT_SCALE } from "../theme/a11y.js";
|
|
7
|
+
import { useNumerals } from "../theme/numerals.js";
|
|
6
8
|
import { buildCalendarStyles } from "./calendarStyles.js";
|
|
7
9
|
|
|
8
10
|
/** Everything a day cell shows; also what `renderDay` receives. */
|
|
@@ -29,6 +31,7 @@ const DayCell = ({
|
|
|
29
31
|
styles,
|
|
30
32
|
testID
|
|
31
33
|
}) => {
|
|
34
|
+
const digits = useNumerals();
|
|
32
35
|
const s = buildCalendarStyles(tokens);
|
|
33
36
|
const filled = isSelected && (rangeRole === null || rangeRole === 'single' || rangeRole === 'start' || rangeRole === 'end');
|
|
34
37
|
const fill = rangeRole === 'middle' ? s.fillFull : rangeRole === 'start' ? s.fillStart : rangeRole === 'end' ? s.fillEnd : null;
|
|
@@ -53,14 +56,16 @@ const DayCell = ({
|
|
|
53
56
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
54
57
|
maxFontSizeMultiplier: MAX_FONT_SCALE,
|
|
55
58
|
style: [s.dayText, styles?.dayText, !inMonth && [s.outsideText, styles?.outsideText], isHoliday && showHolidays && !filled && [s.holidayText, styles?.holidayText], isToday && !filled && styles?.todayText, isDisabled && [s.disabledText, styles?.disabledText], filled && [s.selectedText, styles?.selectedText]],
|
|
56
|
-
children: label ?? date.day
|
|
59
|
+
children: digits(String(label ?? date.day))
|
|
57
60
|
}), subLabel ? /*#__PURE__*/_jsx(Text, {
|
|
58
61
|
maxFontSizeMultiplier: MAX_FONT_SCALE,
|
|
59
62
|
style: [s.subLabel, styles?.daySubLabel, filled && s.selectedText],
|
|
60
|
-
children: subLabel
|
|
63
|
+
children: digits(subLabel)
|
|
61
64
|
}) : null]
|
|
62
65
|
})]
|
|
63
66
|
});
|
|
64
67
|
};
|
|
65
|
-
|
|
68
|
+
|
|
69
|
+
// A Hijri grid builds new day objects on each render, so days compare by value.
|
|
70
|
+
export default /*#__PURE__*/memo(DayCell, (prev, next) => Object.keys(next).every(key => key === 'date' ? isSameDay(prev.date, next.date) : Object.is(prev[key], next[key])) && Object.keys(prev).length === Object.keys(next).length);
|
|
66
71
|
//# sourceMappingURL=DayCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","Pressable","Text","View","DAY_HIT_SLOP","MAX_FONT_SCALE","buildCalendarStyles","jsx","_jsx","jsxs","_jsxs","DayCell","date","inMonth","isToday","isSelected","isDisabled","isHoliday","rangeRole","label","subLabel","a11yLabel","showHolidays","onPress","tokens","styles","testID","s","filled","fill","fillFull","fillStart","fillEnd","style","cellWrap","children","rangeFill","accessibilityRole","accessibilityLabel","accessibilityState","selected","disabled","hitSlop","pressed","day","today","rangeStart","rangeMiddle","rangeEnd","outside","holiday","dayPressed","maxFontSizeMultiplier","dayText","outsideText","holidayText","todayText","disabledText","selectedText","daySubLabel"],"sourceRoot":"../../../../src","sources":["components/calendar/DayCell.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["React","memo","Pressable","Text","View","isSameDay","DAY_HIT_SLOP","MAX_FONT_SCALE","useNumerals","buildCalendarStyles","jsx","_jsx","jsxs","_jsxs","DayCell","date","inMonth","isToday","isSelected","isDisabled","isHoliday","rangeRole","label","subLabel","a11yLabel","showHolidays","onPress","tokens","styles","testID","digits","s","filled","fill","fillFull","fillStart","fillEnd","style","cellWrap","children","rangeFill","accessibilityRole","accessibilityLabel","accessibilityState","selected","disabled","hitSlop","pressed","day","today","rangeStart","rangeMiddle","rangeEnd","outside","holiday","dayPressed","maxFontSizeMultiplier","dayText","outsideText","holidayText","todayText","disabledText","selectedText","String","daySubLabel","prev","next","Object","keys","every","key","is","length"],"sourceRoot":"../../../../src","sources":["components/calendar/DayCell.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useMemo, useRef } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { PanResponder, Text, View } from 'react-native';
|
|
5
5
|
import { isSameDay } from "../../core/calendarDate.js";
|
|
6
6
|
import { buildMonthGrid, weekdayOrder } from "../../core/monthGrid.js";
|
|
7
7
|
import { MAX_FONT_SCALE } from "../theme/a11y.js";
|
|
8
|
+
import { useIsRTL } from "../theme/direction.js";
|
|
8
9
|
import { buildCalendarStyles } from "./calendarStyles.js";
|
|
9
10
|
import DayCell from "./DayCell.js";
|
|
10
11
|
import { fullDateLabel, weekdayName } from "./localeNames.js";
|
|
@@ -32,6 +33,7 @@ const DayGrid = ({
|
|
|
32
33
|
selection,
|
|
33
34
|
constraints,
|
|
34
35
|
locale,
|
|
36
|
+
dateLabel,
|
|
35
37
|
onSelectDay,
|
|
36
38
|
onSwipe,
|
|
37
39
|
subLabel,
|
|
@@ -46,10 +48,19 @@ const DayGrid = ({
|
|
|
46
48
|
const grid = gridProp ?? buildMonthGrid(year, month, firstDayOfWeek);
|
|
47
49
|
const onSwipeRef = useRef(onSwipe);
|
|
48
50
|
onSwipeRef.current = onSwipe;
|
|
51
|
+
const isRTLRef = useRef(false);
|
|
52
|
+
isRTLRef.current = useIsRTL();
|
|
49
53
|
const pan = useMemo(() => PanResponder.create({
|
|
54
|
+
// A touch no day takes (a greyed day, a gap) is the grid's from the start,
|
|
55
|
+
// so a swipe that begins there still changes month. A day that can be
|
|
56
|
+
// picked is asked first and keeps its tap.
|
|
57
|
+
onStartShouldSetPanResponder: () => !!onSwipeRef.current,
|
|
50
58
|
onMoveShouldSetPanResponder: (_, g) => !!onSwipeRef.current && isSwipeStart(g.dx, g.dy),
|
|
59
|
+
// Android: let the sheet's ScrollView take a vertical drag that starts
|
|
60
|
+
// on the grid (PanResponder blocks native views by default).
|
|
61
|
+
onShouldBlockNativeResponder: () => false,
|
|
51
62
|
onPanResponderRelease: (_, g) => {
|
|
52
|
-
const step = swipeStep(g.dx,
|
|
63
|
+
const step = swipeStep(g.dx, isRTLRef.current);
|
|
53
64
|
if (step !== 0) onSwipeRef.current?.(step);
|
|
54
65
|
}
|
|
55
66
|
}), []);
|
|
@@ -63,7 +74,7 @@ const DayGrid = ({
|
|
|
63
74
|
const isToday = isSameDay(cell.date, today);
|
|
64
75
|
// Selected and unavailable are announced from the cell's state, so the
|
|
65
76
|
// label only adds what the state can't say.
|
|
66
|
-
const parts = [fullDateLabel(locale, cell.date)];
|
|
77
|
+
const parts = [dateLabel ? dateLabel(cell.date) : fullDateLabel(locale, cell.date)];
|
|
67
78
|
if (isToday) parts.push(strings.a11yToday);
|
|
68
79
|
if (role === 'start') parts.push(strings.a11yRangeStart);
|
|
69
80
|
if (role === 'end') parts.push(strings.a11yRangeEnd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useRef","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useRef","PanResponder","Text","View","isSameDay","buildMonthGrid","weekdayOrder","MAX_FONT_SCALE","useIsRTL","buildCalendarStyles","DayCell","fullDateLabel","weekdayName","selectionOf","jsx","_jsx","jsxs","_jsxs","SWIPE_DISTANCE","isSwipeStart","dx","dy","Math","abs","swipeStep","isRTL","DayGrid","year","month","grid","gridProp","dayNumber","firstDayOfWeek","showOutsideDays","showHolidays","today","selection","constraints","locale","dateLabel","onSelectDay","onSwipe","subLabel","renderDay","renderWeekday","tokens","styles","strings","testID","s","onSwipeRef","current","isRTLRef","pan","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","g","onShouldBlockNativeResponder","onPanResponderRelease","step","cells","slice","weekCount","map","cell","inMonth","status","dayStatus","date","selected","role","isToday","parts","push","a11yToday","a11yRangeStart","a11yRangeEnd","holiday","a11yHoliday","isSelected","isDisabled","disabled","isHoliday","rangeRole","label","undefined","a11yLabel","join","weeks","Array","from","length","w","panHandlers","children","style","weekdayRow","wd","weekdayCell","maxFontSizeMultiplier","weekdayText","week","i","cellWrap","key","day","onPress"],"sourceRoot":"../../../../src","sources":["components/calendar/DayGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Pressable, Text, View } from 'react-native';
|
|
5
5
|
import { MAX_FONT_SCALE } from "../theme/a11y.js";
|
|
6
|
+
import { useNumerals } from "../theme/numerals.js";
|
|
6
7
|
import { buildCalendarStyles } from "./calendarStyles.js";
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
const KEYS = {
|
|
@@ -34,6 +35,7 @@ const PeriodGrid = ({
|
|
|
34
35
|
styles,
|
|
35
36
|
testID
|
|
36
37
|
}) => {
|
|
38
|
+
const digits = useNumerals();
|
|
37
39
|
const s = buildCalendarStyles(tokens);
|
|
38
40
|
const k = KEYS[kind];
|
|
39
41
|
return /*#__PURE__*/_jsx(View, {
|
|
@@ -54,7 +56,7 @@ const PeriodGrid = ({
|
|
|
54
56
|
children: renderCell ? renderCell(item) : /*#__PURE__*/_jsx(Text, {
|
|
55
57
|
maxFontSizeMultiplier: MAX_FONT_SCALE,
|
|
56
58
|
style: [s.gridText, styles?.[k.text], item.current && !item.selected && s.gridCurrentText, item.selected && s.gridSelectedText],
|
|
57
|
-
children: item.label
|
|
59
|
+
children: digits(item.label)
|
|
58
60
|
})
|
|
59
61
|
})
|
|
60
62
|
}, item.value))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Pressable","Text","View","MAX_FONT_SCALE","buildCalendarStyles","jsx","_jsx","KEYS","year","grid","cell","selected","disabled","current","text","month","PeriodGrid","kind","items","onSelect","renderCell","tokens","styles","testID","s","k","style","children","map","item","gridCell","value","undefined","accessibilityRole","accessibilityLabel","a11yLabel","label","accessibilityState","onPress","gridButton","gridSelected","gridCurrent","gridDisabled","maxFontSizeMultiplier","gridText","gridCurrentText","gridSelectedText"],"sourceRoot":"../../../../src","sources":["components/calendar/PeriodGrid.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAEpD,SAASC,cAAc,QAAQ,kBAAe;
|
|
1
|
+
{"version":3,"names":["React","Pressable","Text","View","MAX_FONT_SCALE","useNumerals","buildCalendarStyles","jsx","_jsx","KEYS","year","grid","cell","selected","disabled","current","text","month","PeriodGrid","kind","items","onSelect","renderCell","tokens","styles","testID","digits","s","k","style","children","map","item","gridCell","value","undefined","accessibilityRole","accessibilityLabel","a11yLabel","label","accessibilityState","onPress","gridButton","gridSelected","gridCurrent","gridDisabled","maxFontSizeMultiplier","gridText","gridCurrentText","gridSelectedText"],"sourceRoot":"../../../../src","sources":["components/calendar/PeriodGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -141,7 +141,7 @@ const create = t => StyleSheet.create({
|
|
|
141
141
|
...fontStyle(t, 'semiBold')
|
|
142
142
|
},
|
|
143
143
|
outsideText: {
|
|
144
|
-
color: t.
|
|
144
|
+
color: t.outsideText ?? t.mutedText
|
|
145
145
|
},
|
|
146
146
|
disabledText: {
|
|
147
147
|
color: t.disabledText
|
|
@@ -152,10 +152,11 @@ const create = t => StyleSheet.create({
|
|
|
152
152
|
pressed: {
|
|
153
153
|
backgroundColor: t.rangeFill
|
|
154
154
|
},
|
|
155
|
+
// No top padding: the header's margin and the cell padding already space the first row.
|
|
155
156
|
grid: {
|
|
156
157
|
flexDirection: 'row',
|
|
157
158
|
flexWrap: 'wrap',
|
|
158
|
-
|
|
159
|
+
paddingBottom: 8
|
|
159
160
|
},
|
|
160
161
|
gridCell: {
|
|
161
162
|
width: '33.33%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","fontStyle","cache","WeakMap","DAY_SIZE","create","t","calendar","width","paddingTop","header","flexDirection","alignItems","justifyContent","marginBottom","navArrow","touchTarget","height","navArrowDisabled","opacity","yearButton","minHeight","paddingHorizontal","yearButtonText","fontSize","fontSizeLarge","color","heading","caret","marginStart","chipRow","paddingBottom","gap","chip","minWidth","borderRadius","radius","borderWidth","borderColor","border","backgroundColor","background","chipText","fontSizeMedium","text","chipSelected","accent","chipSelectedText","onAccent","chipDisabled","weekdayRow","weekdayCell","flex","paddingVertical","weekdayText","fontSizeSmall","mutedText","week","cellWrap","fill","position","top","bottom","rangeFill","fillFull","start","end","fillStart","fillEnd","day","dayText","subLabel","Math","round","today","selected","selectedText","outsideText","
|
|
1
|
+
{"version":3,"names":["StyleSheet","fontStyle","cache","WeakMap","DAY_SIZE","create","t","calendar","width","paddingTop","header","flexDirection","alignItems","justifyContent","marginBottom","navArrow","touchTarget","height","navArrowDisabled","opacity","yearButton","minHeight","paddingHorizontal","yearButtonText","fontSize","fontSizeLarge","color","heading","caret","marginStart","chipRow","paddingBottom","gap","chip","minWidth","borderRadius","radius","borderWidth","borderColor","border","backgroundColor","background","chipText","fontSizeMedium","text","chipSelected","accent","chipSelectedText","onAccent","chipDisabled","weekdayRow","weekdayCell","flex","paddingVertical","weekdayText","fontSizeSmall","mutedText","week","cellWrap","fill","position","top","bottom","rangeFill","fillFull","start","end","fillStart","fillEnd","day","dayText","subLabel","Math","round","today","selected","selectedText","outsideText","disabledText","holidayText","holiday","pressed","grid","flexWrap","gridCell","padding","gridButton","gridText","gridSelected","gridSelectedText","gridDisabled","gridCurrent","gridCurrentText","empty","emptyText","textAlign","todayButton","alignSelf","todayButtonText","buildCalendarStyles","tokens","hit","get","styles","set"],"sourceRoot":"../../../../src","sources":["components/calendar/calendarStyles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,37 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { weekdayOf } from "../../core/calendarDate.js";
|
|
4
|
+
import { withCalendar } from "../../core/locale.js";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
|
-
* Month and weekday names from
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Month and weekday names from the platform's Intl, cached per locale. Each
|
|
8
|
+
* name is formatted on its own (not read from formatToParts: iOS labels every
|
|
9
|
+
* part of some locales, such as 'de-DE' and 'ar-SA', as plain text), in the
|
|
10
|
+
* Gregorian calendar. Falls back to 'en-US' when the device's Intl can't name
|
|
11
|
+
* the locale, and to built-in English names after that.
|
|
9
12
|
*/
|
|
10
13
|
|
|
11
14
|
const cache = new Map();
|
|
12
15
|
const FALLBACK = {
|
|
13
16
|
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
14
17
|
monthsLong: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
weekdays: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
|
|
19
|
+
weekdaysLong: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
|
|
17
20
|
};
|
|
21
|
+
const range = n => Array.from({
|
|
22
|
+
length: n
|
|
23
|
+
}, (_, i) => i);
|
|
18
24
|
const readNames = locale => {
|
|
19
25
|
try {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
const tag = withCalendar(locale, 'gregory');
|
|
27
|
+
const namer = options => {
|
|
28
|
+
const f = new Intl.DateTimeFormat(tag, {
|
|
29
|
+
timeZone: 'UTC',
|
|
30
|
+
...options
|
|
31
|
+
});
|
|
32
|
+
return d => f.format(d);
|
|
33
|
+
};
|
|
34
|
+
// Mid-month, at noon UTC, so no zone moves the day.
|
|
35
|
+
const months = range(12).map(i => new Date(Date.UTC(2021, i, 15, 12)));
|
|
36
|
+
// 1 February 2021 was a Monday.
|
|
37
|
+
const days = range(7).map(i => new Date(Date.UTC(2021, 1, 1 + i, 12)));
|
|
38
|
+
const short = days.map(namer({
|
|
39
|
+
weekday: 'short'
|
|
40
|
+
}));
|
|
41
|
+
// The language Intl actually uses: an unknown tag falls back to the device's.
|
|
42
|
+
const english = new Intl.DateTimeFormat(tag).resolvedOptions().locale.startsWith('en');
|
|
23
43
|
const names = {
|
|
24
|
-
monthsShort:
|
|
25
|
-
|
|
26
|
-
}),
|
|
27
|
-
monthsLong:
|
|
28
|
-
|
|
29
|
-
}),
|
|
44
|
+
monthsShort: months.map(namer({
|
|
45
|
+
month: 'short'
|
|
46
|
+
})),
|
|
47
|
+
monthsLong: months.map(namer({
|
|
48
|
+
month: 'long'
|
|
49
|
+
})),
|
|
30
50
|
// Two letters for English ("Su", "Mo"); other locales keep their short form.
|
|
31
|
-
weekdays:
|
|
51
|
+
weekdays: english ? short.map(w => w.slice(0, 2)) : short,
|
|
52
|
+
weekdaysLong: days.map(namer({
|
|
53
|
+
weekday: 'long'
|
|
54
|
+
}))
|
|
32
55
|
};
|
|
33
|
-
|
|
34
|
-
|
|
56
|
+
// Every name present and different (an engine that ignores the options
|
|
57
|
+
// writes whole dates, or the same text, instead).
|
|
58
|
+
const complete = (list, length) => list.length === length && list.every(Boolean) && new Set(list).size === length;
|
|
59
|
+
return complete(names.monthsShort, 12) && complete(names.monthsLong, 12) && complete(names.weekdays, 7) && complete(names.weekdaysLong, 7) ? names : null;
|
|
35
60
|
} catch {
|
|
36
61
|
return null;
|
|
37
62
|
}
|
|
@@ -49,11 +74,8 @@ export const weekdayName = (locale, weekday) => localeNames(locale).weekdays[wee
|
|
|
49
74
|
|
|
50
75
|
/** Full date for screen readers, e.g. "Wednesday, 21 October 2026". */
|
|
51
76
|
export const fullDateLabel = (locale, day) => {
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
} catch {
|
|
56
|
-
return dt.toFormat('cccc, d LLLL yyyy');
|
|
57
|
-
}
|
|
77
|
+
const names = localeNames(locale);
|
|
78
|
+
const weekday = names.weekdaysLong[weekdayOf(day) - 1];
|
|
79
|
+
return `${weekday}, ${day.day} ${names.monthsLong[day.month - 1]} ${day.year}`;
|
|
58
80
|
};
|
|
59
81
|
//# sourceMappingURL=localeNames.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["weekdayOf","withCalendar","cache","Map","FALLBACK","monthsShort","monthsLong","weekdays","weekdaysLong","range","n","Array","from","length","_","i","readNames","locale","tag","namer","options","f","Intl","DateTimeFormat","timeZone","d","format","months","map","Date","UTC","days","short","weekday","english","resolvedOptions","startsWith","names","month","w","slice","complete","list","every","Boolean","Set","size","localeNames","hit","get","set","weekdayName","fullDateLabel","day","year"],"sourceRoot":"../../../../src","sources":["components/calendar/localeNames.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,4BAAyB;AACnD,SAASC,YAAY,QAAQ,sBAAmB;;AAGhD;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAgB,CAAC;AAEtC,MAAMC,QAAe,GAAG;EACtBC,WAAW,EAAE,CACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,CACN;EACDC,UAAU,EAAE,CACV,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,CACX;EACDC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;EACpDC,YAAY,EAAE,CACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ;AAEZ,CAAC;AAED,MAAMC,KAAK,GAAIC,CAAS,IAAKC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAEH;AAAE,CAAC,EAAE,CAACI,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;AAEnE,MAAMC,SAAS,GAAIC,MAAc,IAAmB;EAClD,IAAI;IACF,MAAMC,GAAG,GAAGjB,YAAY,CAACgB,MAAM,EAAE,SAAS,CAAC;IAC3C,MAAME,KAAK,GAAIC,OAAmC,IAAK;MACrD,MAAMC,CAAC,GAAG,IAAIC,IAAI,CAACC,cAAc,CAACL,GAAG,EAAE;QAAEM,QAAQ,EAAE,KAAK;QAAE,GAAGJ;MAAQ,CAAC,CAAC;MACvE,OAAQK,CAAO,IAAKJ,CAAC,CAACK,MAAM,CAACD,CAAC,CAAC;IACjC,CAAC;IACD;IACA,MAAME,MAAM,GAAGlB,KAAK,CAAC,EAAE,CAAC,CAACmB,GAAG,CAAEb,CAAC,IAAK,IAAIc,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,IAAI,EAAEf,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE;IACA,MAAMgB,IAAI,GAAGtB,KAAK,CAAC,CAAC,CAAC,CAACmB,GAAG,CAAEb,CAAC,IAAK,IAAIc,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAGf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,MAAMiB,KAAK,GAAGD,IAAI,CAACH,GAAG,CAACT,KAAK,CAAC;MAAEc,OAAO,EAAE;IAAQ,CAAC,CAAC,CAAC;IACnD;IACA,MAAMC,OAAO,GAAG,IAAIZ,IAAI,CAACC,cAAc,CAACL,GAAG,CAAC,CACzCiB,eAAe,CAAC,CAAC,CACjBlB,MAAM,CAACmB,UAAU,CAAC,IAAI,CAAC;IAC1B,MAAMC,KAAY,GAAG;MACnBhC,WAAW,EAAEsB,MAAM,CAACC,GAAG,CAACT,KAAK,CAAC;QAAEmB,KAAK,EAAE;MAAQ,CAAC,CAAC,CAAC;MAClDhC,UAAU,EAAEqB,MAAM,CAACC,GAAG,CAACT,KAAK,CAAC;QAAEmB,KAAK,EAAE;MAAO,CAAC,CAAC,CAAC;MAChD;MACA/B,QAAQ,EAAE2B,OAAO,GAAGF,KAAK,CAACJ,GAAG,CAAEW,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGR,KAAK;MAC3DxB,YAAY,EAAEuB,IAAI,CAACH,GAAG,CAACT,KAAK,CAAC;QAAEc,OAAO,EAAE;MAAO,CAAC,CAAC;IACnD,CAAC;IACD;IACA;IACA,MAAMQ,QAAQ,GAAGA,CAACC,IAAc,EAAE7B,MAAc,KAC9C6B,IAAI,CAAC7B,MAAM,KAAKA,MAAM,IACtB6B,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC,IACnB,IAAIC,GAAG,CAACH,IAAI,CAAC,CAACI,IAAI,KAAKjC,MAAM;IAC/B,OAAO4B,QAAQ,CAACJ,KAAK,CAAChC,WAAW,EAAE,EAAE,CAAC,IACpCoC,QAAQ,CAACJ,KAAK,CAAC/B,UAAU,EAAE,EAAE,CAAC,IAC9BmC,QAAQ,CAACJ,KAAK,CAAC9B,QAAQ,EAAE,CAAC,CAAC,IAC3BkC,QAAQ,CAACJ,KAAK,CAAC7B,YAAY,EAAE,CAAC,CAAC,GAC7B6B,KAAK,GACL,IAAI;EACV,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC;AAED,OAAO,MAAMU,WAAW,GAAI9B,MAAc,IAAY;EACpD,MAAM+B,GAAG,GAAG9C,KAAK,CAAC+C,GAAG,CAAChC,MAAM,CAAC;EAC7B,IAAI+B,GAAG,EAAE,OAAOA,GAAG;EACnB,MAAMX,KAAK,GAAGrB,SAAS,CAACC,MAAM,CAAC,IAAID,SAAS,CAAC,OAAO,CAAC,IAAIZ,QAAQ;EACjEF,KAAK,CAACgD,GAAG,CAACjC,MAAM,EAAEoB,KAAK,CAAC;EACxB,OAAOA,KAAK;AACd,CAAC;;AAED;AACA,OAAO,MAAMc,WAAW,GAAGA,CAAClC,MAAc,EAAEgB,OAAgB,KAC1Dc,WAAW,CAAC9B,MAAM,CAAC,CAACV,QAAQ,CAAC0B,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE;;AAEjD;AACA,OAAO,MAAMmB,aAAa,GAAGA,CAACnC,MAAc,EAAEoC,GAAiB,KAAa;EAC1E,MAAMhB,KAAK,GAAGU,WAAW,CAAC9B,MAAM,CAAC;EACjC,MAAMgB,OAAO,GAAGI,KAAK,CAAC7B,YAAY,CAACR,SAAS,CAACqD,GAAG,CAAC,GAAG,CAAC,CAAC;EACtD,OAAO,GAAGpB,OAAO,KAAKoB,GAAG,CAACA,GAAG,IAAIhB,KAAK,CAAC/B,UAAU,CAAC+C,GAAG,CAACf,KAAK,GAAG,CAAC,CAAC,IAAIe,GAAG,CAACC,IAAI,EAAE;AAChF,CAAC","ignoreList":[]}
|
|
@@ -10,6 +10,13 @@ export const firstSelectedDay = sel => {
|
|
|
10
10
|
if (sel.kind === 'range') return sel.from ?? sel.to;
|
|
11
11
|
return sel.days[0] ?? null;
|
|
12
12
|
};
|
|
13
|
+
|
|
14
|
+
/** Every selected day. */
|
|
15
|
+
export const selectedDays = sel => {
|
|
16
|
+
if (sel.kind === 'single') return sel.day ? [sel.day] : [];
|
|
17
|
+
if (sel.kind === 'range') return [sel.from, sel.to].filter(d => !!d);
|
|
18
|
+
return sel.days;
|
|
19
|
+
};
|
|
13
20
|
const isNextDay = (a, b) => {
|
|
14
21
|
const next = new Date(Date.UTC(a.year, a.month - 1, a.day + 1));
|
|
15
22
|
return next.getUTCFullYear() === b.year && next.getUTCMonth() + 1 === b.month && next.getUTCDate() === b.day;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["compareCalendarDates","isSameDay","firstSelectedDay","sel","kind","day","from","to","days","isNextDay","a","b","next","Date","UTC","year","month","getUTCFullYear","getUTCMonth","getUTCDate","selectionOf","selected","role","index","findIndex","
|
|
1
|
+
{"version":3,"names":["compareCalendarDates","isSameDay","firstSelectedDay","sel","kind","day","from","to","days","selectedDays","filter","d","isNextDay","a","b","next","Date","UTC","year","month","getUTCFullYear","getUTCMonth","getUTCDate","selectionOf","selected","role","index","findIndex","joinConsecutive","prev","joinsPrev","joinsNext"],"sourceRoot":"../../../../src","sources":["components/calendar/selection.ts"],"mappings":"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","ignoreList":[]}
|