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
|
@@ -38,6 +38,8 @@ const nextKey = (state, key, step) => {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
/** Pads the segment being left, then focuses `to`. */
|
|
41
|
+
/** Characters that end a segment when typed or pasted between numbers. */
|
|
42
|
+
const SEPARATOR = /^[/\-.:\s]$/;
|
|
41
43
|
const moveFocus = (state, to) => {
|
|
42
44
|
const from = state.focused;
|
|
43
45
|
const spec = from ? specOf(state, from) : undefined;
|
|
@@ -78,6 +80,13 @@ const segmentEditorReducer = (state, action, opts) => {
|
|
|
78
80
|
const key = state.focused;
|
|
79
81
|
const spec = key ? specOf(state, key) : undefined;
|
|
80
82
|
if (!key || !spec || spec.key === 'period') return state;
|
|
83
|
+
// A separator typed or pasted after some digits ('1/12/2025') ends the
|
|
84
|
+
// segment, as moving on would: 1 becomes 01 and the next segment starts.
|
|
85
|
+
if (SEPARATOR.test(action.digit)) {
|
|
86
|
+
if (!state.values[key]) return state;
|
|
87
|
+
const following = nextKey(state, key, 1);
|
|
88
|
+
return withParsed(moveFocus(state, following === 'period' ? null : following), opts);
|
|
89
|
+
}
|
|
81
90
|
const {
|
|
82
91
|
next,
|
|
83
92
|
advance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_segments","require","withParsed","state","opts","parsed","parseSegments","values","type","timeFormat","yearRange","createSegmentEditor","value","layout","segmentLayout","dateFormat","formatSegments","focused","exports","keys","segments","map","s","key","specOf","find","nextKey","step","list","indexOf","moveFocus","to","from","spec","undefined","padSegment","sameValues","a","b","keysOf","Set","Object","every","k","withFocus","moved","segmentEditorReducer","action","
|
|
1
|
+
{"version":3,"names":["_segments","require","withParsed","state","opts","parsed","parseSegments","values","type","timeFormat","yearRange","createSegmentEditor","value","layout","segmentLayout","dateFormat","formatSegments","focused","exports","keys","segments","map","s","key","specOf","find","nextKey","step","list","indexOf","SEPARATOR","moveFocus","to","from","spec","undefined","padSegment","sameValues","a","b","keysOf","Set","Object","every","k","withFocus","moved","segmentEditorReducer","action","test","digit","following","next","advance","inputDigit","typed","target","current","slice","previous","prevText","period"],"sourceRoot":"../../../src","sources":["core/segmentEditor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.to12Hour = exports.segmentLayout = exports.parseSegments = exports.padSegment = exports.
|
|
6
|
+
exports.to12Hour = exports.segmentLayout = exports.parseSegments = exports.padSegment = exports.inputDigit = exports.from12Hour = exports.formatSegments = void 0;
|
|
7
7
|
var _calendarDate = require("./calendarDate.js");
|
|
8
8
|
/**
|
|
9
9
|
* Typed input for the value field: the date in the user's locale order
|
|
@@ -130,17 +130,8 @@ const inputDigit = (current, digit, spec) => {
|
|
|
130
130
|
};
|
|
131
131
|
};
|
|
132
132
|
|
|
133
|
-
/** 'a' / 'A' → AM, 'p' / 'P' → PM, anything else → null. */
|
|
134
|
-
exports.inputDigit = inputDigit;
|
|
135
|
-
const inputPeriod = char => {
|
|
136
|
-
const c = char.toLowerCase();
|
|
137
|
-
if (c === 'a') return 'AM';
|
|
138
|
-
if (c === 'p') return 'PM';
|
|
139
|
-
return null;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
133
|
/** Pads a one-digit entry when leaving the segment ("7" → "07"); the year is never padded. */
|
|
143
|
-
exports.
|
|
134
|
+
exports.inputDigit = inputDigit;
|
|
144
135
|
const padSegment = (text, spec) => {
|
|
145
136
|
if (!text || spec.key === 'period' || spec.key === 'year' || !/^\d+$/.test(text)) return text;
|
|
146
137
|
return text.padStart(spec.maxLength, '0');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_calendarDate","require","DATE_TOKENS","dd","key","maxLength","min","max","MM","yyyy","timeSegments","timeFormat","segmentLayout","dateFormat","type","tokens","match","separator","replace","charAt","dateSpecs","map","t","filter","Boolean","segments","dateSeparator","exports","to12Hour","hour","hour12","period","from12Hour","pad","n","length","String","padStart","formatSegments","value","out","day","date","month","year","time","minute","inputDigit","current","digit","spec","test","next","advance","cannotGrow","Number","
|
|
1
|
+
{"version":3,"names":["_calendarDate","require","DATE_TOKENS","dd","key","maxLength","min","max","MM","yyyy","timeSegments","timeFormat","segmentLayout","dateFormat","type","tokens","match","separator","replace","charAt","dateSpecs","map","t","filter","Boolean","segments","dateSeparator","exports","to12Hour","hour","hour12","period","from12Hour","pad","n","length","String","padStart","formatSegments","value","out","day","date","month","year","time","minute","inputDigit","current","digit","spec","test","next","advance","cannotGrow","Number","padSegment","text","readNumber","parseSegments","values","options","layout","isEmpty","every","s","errors","numbers","forEach","raw","push","code","NaN","hasDateParts","undefined","isValidCalendarDate","range","yearRange","first","last","dateOk","e","timeEmpty","dateOnly"],"sourceRoot":"../../../src","sources":["core/segments.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,8 @@ var _calendarDate = require("./calendarDate.js");
|
|
|
10
10
|
* - range: once a start is picked and the end is being chosen, days closer than
|
|
11
11
|
* `minDays` or further than `maxDays` are greyed (lengths count calendar
|
|
12
12
|
* days with both ends included, so a same-day range is 1 day); in the From/To layout, days
|
|
13
|
-
* before the start are greyed too
|
|
13
|
+
* before the start are greyed too once the To field is tapped (otherwise a tap
|
|
14
|
+
* there moves the start);
|
|
14
15
|
* - multiple: once `maxSelections` is reached, only selected days can be tapped.
|
|
15
16
|
* Validation on Confirm (validateDraft) still checks the same rules.
|
|
16
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_calendarDate","require","isRangeEndAllowed","start","day","rules","span","daysBetween","blockBeforeStart","length","minDays","undefined","maxDays","exports","withSelectionRules","base","rangeStart","rangeActive","maxReached","dayStatus","status","blocked","compareCalendarDates","isSelected","disabled","reasons"],"sourceRoot":"../../../src","sources":["core/selectionRules.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaO,MAAMC,iBAAiB,GAAGA,CAC/BC,KAAmB,EACnBC,GAAiB,EACjBC,KAAuE,KAC3D;EACZ,MAAMC,IAAI,GAAG,IAAAC,yBAAW,EAACJ,KAAK,EAAEC,GAAG,CAAC;EACpC,IAAIE,IAAI,GAAG,CAAC,EAAE,OAAO,CAACD,KAAK,CAACG,gBAAgB;EAC5C,MAAMC,MAAM,GAAGH,IAAI,GAAG,CAAC;EACvB,IAAID,KAAK,CAACK,OAAO,KAAKC,SAAS,IAAIF,MAAM,GAAGJ,KAAK,CAACK,OAAO,EAAE,OAAO,KAAK;EACvE,IAAIL,KAAK,CAACO,OAAO,KAAKD,SAAS,IAAIF,MAAM,GAAGJ,KAAK,CAACO,OAAO,EAAE,OAAO,KAAK;EACvE,OAAO,IAAI;AACb,CAAC;AAACC,OAAA,CAAAX,iBAAA,GAAAA,iBAAA;AAEK,MAAMY,kBAAkB,GAAGA,CAChCC,IAAiB,EACjBV,KAAqB,KACL;EAChB,MAAMF,KAAK,GAAGE,KAAK,CAACW,UAAU;EAC9B,MAAMC,WAAW,GACf,CAAC,CAACd,KAAK,KACNE,KAAK,CAACK,OAAO,KAAKC,SAAS,IAC1BN,KAAK,CAACO,OAAO,KAAKD,SAAS,IAC3B,CAAC,CAACN,KAAK,CAACG,gBAAgB,CAAC;EAC7B,IAAI,CAACS,WAAW,IAAI,CAACZ,KAAK,CAACa,UAAU,EAAE,OAAOH,IAAI;EAElD,MAAMI,SAAS,GAAIf,GAAiB,IAAgB;IAClD,MAAMgB,MAAM,GAAGL,IAAI,CAACI,SAAS,CAACf,GAAG,CAAC;IAClC,IAAIiB,OAAO,GAAG,KAAK;IACnB,IAAIJ,WAAW,IAAId,KAAK,IAAI,IAAAmB,kCAAoB,EAAClB,GAAG,EAAED,KAAK,CAAC,KAAK,CAAC,EAAE;MAClEkB,OAAO,GAAG,CAACnB,iBAAiB,CAACC,KAAK,EAAEC,GAAG,EAAEC,KAAK,CAAC;IACjD;IACA,IAAIA,KAAK,CAACa,UAAU,IAAI,CAACb,KAAK,CAACkB,UAAU,GAAGnB,GAAG,CAAC,EAAE;MAChD,OAAO;QACL,GAAGgB,MAAM;QACTI,QAAQ,EAAE,IAAI;QACdC,OAAO,EAAE,CAAC,GAAGL,MAAM,CAACK,OAAO,EAAE,gBAAgB;MAC/C,CAAC;IACH;IACA,IAAI,CAACJ,OAAO,EAAE,OAAOD,MAAM;IAC3B,OAAO;MACL,GAAGA,MAAM;MACTI,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,CAAC,GAAGL,MAAM,CAACK,OAAO,EAAE,cAAc;IAC7C,CAAC;EACH,CAAC;EACD,OAAO;IAAE,GAAGV,IAAI;IAAEI;EAAU,CAAC;AAC/B,CAAC;AAACN,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_calendarDate","require","isRangeEndAllowed","start","day","rules","span","daysBetween","blockBeforeStart","length","minDays","undefined","maxDays","exports","withSelectionRules","base","rangeStart","rangeActive","maxReached","dayStatus","status","blocked","compareCalendarDates","isSelected","disabled","reasons"],"sourceRoot":"../../../src","sources":["core/selectionRules.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaO,MAAMC,iBAAiB,GAAGA,CAC/BC,KAAmB,EACnBC,GAAiB,EACjBC,KAAuE,KAC3D;EACZ,MAAMC,IAAI,GAAG,IAAAC,yBAAW,EAACJ,KAAK,EAAEC,GAAG,CAAC;EACpC,IAAIE,IAAI,GAAG,CAAC,EAAE,OAAO,CAACD,KAAK,CAACG,gBAAgB;EAC5C,MAAMC,MAAM,GAAGH,IAAI,GAAG,CAAC;EACvB,IAAID,KAAK,CAACK,OAAO,KAAKC,SAAS,IAAIF,MAAM,GAAGJ,KAAK,CAACK,OAAO,EAAE,OAAO,KAAK;EACvE,IAAIL,KAAK,CAACO,OAAO,KAAKD,SAAS,IAAIF,MAAM,GAAGJ,KAAK,CAACO,OAAO,EAAE,OAAO,KAAK;EACvE,OAAO,IAAI;AACb,CAAC;AAACC,OAAA,CAAAX,iBAAA,GAAAA,iBAAA;AAEK,MAAMY,kBAAkB,GAAGA,CAChCC,IAAiB,EACjBV,KAAqB,KACL;EAChB,MAAMF,KAAK,GAAGE,KAAK,CAACW,UAAU;EAC9B,MAAMC,WAAW,GACf,CAAC,CAACd,KAAK,KACNE,KAAK,CAACK,OAAO,KAAKC,SAAS,IAC1BN,KAAK,CAACO,OAAO,KAAKD,SAAS,IAC3B,CAAC,CAACN,KAAK,CAACG,gBAAgB,CAAC;EAC7B,IAAI,CAACS,WAAW,IAAI,CAACZ,KAAK,CAACa,UAAU,EAAE,OAAOH,IAAI;EAElD,MAAMI,SAAS,GAAIf,GAAiB,IAAgB;IAClD,MAAMgB,MAAM,GAAGL,IAAI,CAACI,SAAS,CAACf,GAAG,CAAC;IAClC,IAAIiB,OAAO,GAAG,KAAK;IACnB,IAAIJ,WAAW,IAAId,KAAK,IAAI,IAAAmB,kCAAoB,EAAClB,GAAG,EAAED,KAAK,CAAC,KAAK,CAAC,EAAE;MAClEkB,OAAO,GAAG,CAACnB,iBAAiB,CAACC,KAAK,EAAEC,GAAG,EAAEC,KAAK,CAAC;IACjD;IACA,IAAIA,KAAK,CAACa,UAAU,IAAI,CAACb,KAAK,CAACkB,UAAU,GAAGnB,GAAG,CAAC,EAAE;MAChD,OAAO;QACL,GAAGgB,MAAM;QACTI,QAAQ,EAAE,IAAI;QACdC,OAAO,EAAE,CAAC,GAAGL,MAAM,CAACK,OAAO,EAAE,gBAAgB;MAC/C,CAAC;IACH;IACA,IAAI,CAACJ,OAAO,EAAE,OAAOD,MAAM;IAC3B,OAAO;MACL,GAAGA,MAAM;MACTI,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,CAAC,GAAGL,MAAM,CAACK,OAAO,EAAE,cAAc;IAC7C,CAAC;EACH,CAAC;EACD,OAAO;IAAE,GAAGV,IAAI;IAAEI;EAAU,CAAC;AAC/B,CAAC;AAACN,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.timeSpecs = exports.
|
|
6
|
+
exports.timeSpecs = exports.parseTimeEntry = exports.isPeriodAllowed = exports.formatTimeEntry = exports.completeTimeEntry = exports.cleanBoxText = exports.checkTime = void 0;
|
|
7
|
+
var _digits = require("./digits.js");
|
|
7
8
|
var _segments = require("./segments.js");
|
|
8
9
|
/**
|
|
9
10
|
* The time row's typed boxes: `[hh] : [mm] [AM | PM]`, or `[HH] : [mm]` in
|
|
@@ -55,94 +56,6 @@ const formatTimeEntry = (time, timeFormat) => {
|
|
|
55
56
|
};
|
|
56
57
|
};
|
|
57
58
|
exports.formatTimeEntry = formatTimeEntry;
|
|
58
|
-
const createTimeEntry = (time, timeFormat) => {
|
|
59
|
-
return {
|
|
60
|
-
values: formatTimeEntry(time, timeFormat),
|
|
61
|
-
focused: null
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
exports.createTimeEntry = createTimeEntry;
|
|
65
|
-
const leave = (state, to, timeFormat) => {
|
|
66
|
-
const from = state.focused;
|
|
67
|
-
if (!from) return {
|
|
68
|
-
...state,
|
|
69
|
-
focused: to
|
|
70
|
-
};
|
|
71
|
-
const text = state.values[from] ?? '';
|
|
72
|
-
return {
|
|
73
|
-
values: {
|
|
74
|
-
...state.values,
|
|
75
|
-
[from]: (0, _segments.padSegment)(text, timeSpecs(timeFormat)[from])
|
|
76
|
-
},
|
|
77
|
-
focused: to
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
const timeEntryReducer = (state, action, timeFormat) => {
|
|
81
|
-
switch (action.type) {
|
|
82
|
-
case 'focus':
|
|
83
|
-
return leave(state, action.key, timeFormat);
|
|
84
|
-
case 'blur':
|
|
85
|
-
return leave(state, null, timeFormat);
|
|
86
|
-
case 'digit':
|
|
87
|
-
{
|
|
88
|
-
const key = state.focused;
|
|
89
|
-
if (!key) return state;
|
|
90
|
-
const {
|
|
91
|
-
next,
|
|
92
|
-
advance
|
|
93
|
-
} = (0, _segments.inputDigit)(state.values[key] ?? '', action.digit, timeSpecs(timeFormat)[key]);
|
|
94
|
-
const typed = {
|
|
95
|
-
...state,
|
|
96
|
-
values: {
|
|
97
|
-
...state.values,
|
|
98
|
-
[key]: next
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
// Two hour digits jump to the minutes; a full minute box stays put.
|
|
102
|
-
if (!advance) return typed;
|
|
103
|
-
return leave(typed, key === 'hour' ? 'minute' : null, timeFormat);
|
|
104
|
-
}
|
|
105
|
-
case 'backspace':
|
|
106
|
-
{
|
|
107
|
-
const key = state.focused;
|
|
108
|
-
if (!key) return state;
|
|
109
|
-
const current = state.values[key] ?? '';
|
|
110
|
-
if (current) return {
|
|
111
|
-
...state,
|
|
112
|
-
values: {
|
|
113
|
-
...state.values,
|
|
114
|
-
[key]: current.slice(0, -1)
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
if (key === 'minute') {
|
|
118
|
-
return {
|
|
119
|
-
values: {
|
|
120
|
-
...state.values,
|
|
121
|
-
hour: (state.values.hour ?? '').slice(0, -1)
|
|
122
|
-
},
|
|
123
|
-
focused: 'hour'
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
return state;
|
|
127
|
-
}
|
|
128
|
-
case 'period':
|
|
129
|
-
return {
|
|
130
|
-
...state,
|
|
131
|
-
values: {
|
|
132
|
-
...state.values,
|
|
133
|
-
period: action.period
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
case 'reset':
|
|
137
|
-
return {
|
|
138
|
-
values: formatTimeEntry(action.time, timeFormat),
|
|
139
|
-
focused: state.focused
|
|
140
|
-
};
|
|
141
|
-
default:
|
|
142
|
-
return state;
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
exports.timeEntryReducer = timeEntryReducer;
|
|
146
59
|
const readNumber = text => text && /^\d+$/.test(text) ? Number(text) : null;
|
|
147
60
|
const parseTimeEntry = (values, timeFormat) => {
|
|
148
61
|
if (!values.hour && !values.minute) return {
|
|
@@ -206,9 +119,12 @@ const isPeriodAllowed = (period, bounds) => {
|
|
|
206
119
|
return true;
|
|
207
120
|
};
|
|
208
121
|
|
|
209
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Digits only, at most two (what a time box accepts while typing). Digits
|
|
124
|
+
* typed in another script count too ('٠٩' → '09').
|
|
125
|
+
*/
|
|
210
126
|
exports.isPeriodAllowed = isPeriodAllowed;
|
|
211
|
-
const cleanBoxText = raw => raw.replace(/\D/g, '').slice(0, 2);
|
|
127
|
+
const cleanBoxText = raw => (0, _digits.toLatinDigits)(raw).replace(/\D/g, '').slice(0, 2);
|
|
212
128
|
|
|
213
129
|
/**
|
|
214
130
|
* The boxes as they are saved when focus leaves them: a one-digit entry gets a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_digits","require","_segments","timeSpecs","timeFormat","hour","key","maxLength","min","max","minute","exports","pad2","n","String","padStart","formatTimeEntry","time","period","hour12","to12Hour","readNumber","text","test","Number","parseTimeEntry","values","isEmpty","issue","specs","h24","from12Hour","minutesOf","t","checkTime","options","step","minuteStep","bounds","isPeriodAllowed","start","end","cleanBoxText","raw","toLatinDigits","replace","slice","completeTimeEntry","pad","length","done","parsed"],"sourceRoot":"../../../src","sources":["core/timeEntry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,10 @@ const s = _reactNative.StyleSheet.create({
|
|
|
26
26
|
alignItems: 'center',
|
|
27
27
|
justifyContent: 'center'
|
|
28
28
|
},
|
|
29
|
+
// RTL swaps left and right borders, which would move a chevron's corner.
|
|
30
|
+
ltr: {
|
|
31
|
+
direction: 'ltr'
|
|
32
|
+
},
|
|
29
33
|
bar: {
|
|
30
34
|
position: 'absolute'
|
|
31
35
|
},
|
|
@@ -45,7 +49,7 @@ const Chevron = ({
|
|
|
45
49
|
}) => {
|
|
46
50
|
const side = size * 0.4;
|
|
47
51
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
48
|
-
style: [s.box, {
|
|
52
|
+
style: [s.box, s.ltr, {
|
|
49
53
|
width,
|
|
50
54
|
height
|
|
51
55
|
}],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","s","StyleSheet","create","box","alignItems","justifyContent","bar","position","frame","overflow","strokeOf","size","Math","max","round","Chevron","color","width","height","rotate","side","jsx","View","style","children","borderColor","borderLeftWidth","borderBottomWidth","transform","ChevronLeftIcon","p","exports","ChevronRightIcon","ChevronDownIcon","CalendarIcon","stroke","borderWidth","borderRadius","backgroundColor","ClearIcon","thickness","SQRT2","jsxs","DEFAULT_ICONS","calendar","clear","chevronLeft","chevronRight","chevronDown","resolveIcons","icons","renderIcon","Icon","spot","options","disabled","disabledColor","min"],"sourceRoot":"../../../src","sources":["icons/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAgD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAQA;;AAaA;;AAGA,MAAMG,CAAC,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC1BC,GAAG,EAAE;IAAEC,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE;EAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","s","StyleSheet","create","box","alignItems","justifyContent","ltr","direction","bar","position","frame","overflow","strokeOf","size","Math","max","round","Chevron","color","width","height","rotate","side","jsx","View","style","children","borderColor","borderLeftWidth","borderBottomWidth","transform","ChevronLeftIcon","p","exports","ChevronRightIcon","ChevronDownIcon","CalendarIcon","stroke","borderWidth","borderRadius","backgroundColor","ClearIcon","thickness","SQRT2","jsxs","DEFAULT_ICONS","calendar","clear","chevronLeft","chevronRight","chevronDown","resolveIcons","icons","renderIcon","Icon","spot","options","disabled","disabledColor","min"],"sourceRoot":"../../../src","sources":["icons/index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -75,6 +75,12 @@ Object.defineProperty(exports, "addDays", {
|
|
|
75
75
|
return _calendarDate.addDays;
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
+
Object.defineProperty(exports, "arabicDigits", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _numerals.arabicDigits;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
78
84
|
Object.defineProperty(exports, "compareCalendarDates", {
|
|
79
85
|
enumerable: true,
|
|
80
86
|
get: function () {
|
|
@@ -106,6 +112,18 @@ Object.defineProperty(exports, "fromDateKey", {
|
|
|
106
112
|
return _calendarDate.fromDateKey;
|
|
107
113
|
}
|
|
108
114
|
});
|
|
115
|
+
Object.defineProperty(exports, "hijriDateText", {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
get: function () {
|
|
118
|
+
return _calendarSystem.hijriDateText;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
Object.defineProperty(exports, "hijriPeriods", {
|
|
122
|
+
enumerable: true,
|
|
123
|
+
get: function () {
|
|
124
|
+
return _calendarSystem.hijriPeriods;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
109
127
|
Object.defineProperty(exports, "isSameDay", {
|
|
110
128
|
enumerable: true,
|
|
111
129
|
get: function () {
|
|
@@ -150,6 +168,8 @@ var _tokens = require("./components/theme/tokens.js");
|
|
|
150
168
|
var _types = require("./components/types.js");
|
|
151
169
|
var _index2 = require("./icons/index.js");
|
|
152
170
|
var _calendarDate = require("./core/calendarDate.js");
|
|
171
|
+
var _calendarSystem = require("./core/calendarSystem.js");
|
|
172
|
+
var _numerals = require("./core/numerals.js");
|
|
153
173
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
154
174
|
var _default = exports.default = _DateTimePicker.default; // Values
|
|
155
175
|
// Types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DateTimePicker","_interopRequireDefault","require","_constraints","_index","_defaultStrings","_tokens","_types","_index2","_calendarDate","e","__esModule","default","_default","exports","DateTimePicker"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_DateTimePicker","_interopRequireDefault","require","_constraints","_index","_defaultStrings","_tokens","_types","_index2","_calendarDate","_calendarSystem","_numerals","e","__esModule","default","_default","exports","DateTimePicker"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAOA,IAAAO,aAAA,GAAAP,OAAA;AAWA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAA+C,SAAAD,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAhChCG,uBAAc,EAG7B;AA+BA","ignoreList":[]}
|
|
@@ -16,18 +16,24 @@ const isValidTime = t => !!t && Number.isInteger(t.hour) && Number.isInteger(t.m
|
|
|
16
16
|
/** Years that ISO strings write with four digits, so they read back the same. */
|
|
17
17
|
export const isWritableYear = year => year >= 1 && year <= 9999;
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* A stored value must start with a full day: Luxon also reads '10:30' (today),
|
|
21
|
+
* '2026' or week and ordinal dates, which aren't dates the picker saved.
|
|
22
|
+
*/
|
|
23
|
+
const STARTS_WITH_DAY = /^\d{4}-\d{2}-\d{2}(?:T|$)/;
|
|
24
|
+
|
|
19
25
|
/**
|
|
20
26
|
* A stored instant → its day and wall-clock time in `zone`, or null when it
|
|
21
27
|
* can't be parsed. Shared by every built-in format for date-time values.
|
|
22
28
|
*/
|
|
23
29
|
export const parseInstant = (value, zone) => {
|
|
24
|
-
if (!value) return null;
|
|
30
|
+
if (!value || !STARTS_WITH_DAY.test(value)) return null;
|
|
25
31
|
const utc = DateTime.fromISO(value, {
|
|
26
32
|
zone: 'utc'
|
|
27
33
|
});
|
|
28
34
|
if (!utc.isValid) return null;
|
|
29
35
|
const local = utc.setZone(zone);
|
|
30
|
-
if (!local.isValid) return null;
|
|
36
|
+
if (!local.isValid || !isWritableYear(local.year)) return null;
|
|
31
37
|
return {
|
|
32
38
|
date: calendarDateOf(local),
|
|
33
39
|
time: {
|
|
@@ -44,20 +50,22 @@ export const parseInstant = (value, zone) => {
|
|
|
44
50
|
export const formatInstant = (value, zone) => {
|
|
45
51
|
if (!value || !isValidCalendarDate(value.date)) return '';
|
|
46
52
|
if (!isValidTime(value.time)) return '';
|
|
47
|
-
const
|
|
48
|
-
|
|
53
|
+
const utc = toZonedDateTime(value, zone).toUTC();
|
|
54
|
+
// A day near year 1 or 9999 can fall in year 0 or 10000 in UTC.
|
|
55
|
+
return utc.isValid && isWritableYear(utc.year) ? utc.toISO() ?? '' : '';
|
|
49
56
|
};
|
|
50
57
|
|
|
51
58
|
/** Saved string → picker value. Returns null for '' or an unparsable string. */
|
|
52
59
|
const fromWire = (value, type, zone) => {
|
|
53
60
|
if (!value) return null;
|
|
54
61
|
if (type !== 'date') return parseInstant(value, zone);
|
|
62
|
+
if (!STARTS_WITH_DAY.test(value)) return null;
|
|
55
63
|
// The calendar day as written: an offset in the string ('+05:30') is kept,
|
|
56
64
|
// not converted to UTC, so the day never moves.
|
|
57
65
|
const written = DateTime.fromISO(value, {
|
|
58
66
|
setZone: true
|
|
59
67
|
});
|
|
60
|
-
if (!written.isValid) return null;
|
|
68
|
+
if (!written.isValid || !isWritableYear(written.year)) return null;
|
|
61
69
|
return {
|
|
62
70
|
date: calendarDateOf(written),
|
|
63
71
|
time: null
|
|
@@ -86,6 +94,7 @@ const toWire = (value, type, zone) => {
|
|
|
86
94
|
const unchangedWire = (value, type) => {
|
|
87
95
|
if (!value) return '';
|
|
88
96
|
if (type === 'datetime') {
|
|
97
|
+
if (!STARTS_WITH_DAY.test(value)) return '';
|
|
89
98
|
const dt = DateTime.fromISO(value, {
|
|
90
99
|
zone: 'utc'
|
|
91
100
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DateTime","calendarDateOf","isValidCalendarDate","toZonedDateTime","isValidTime","t","Number","isInteger","hour","minute","isWritableYear","year","parseInstant","value","zone","utc","fromISO","isValid","local","setZone","date","time","formatInstant","
|
|
1
|
+
{"version":3,"names":["DateTime","calendarDateOf","isValidCalendarDate","toZonedDateTime","isValidTime","t","Number","isInteger","hour","minute","isWritableYear","year","STARTS_WITH_DAY","parseInstant","value","zone","test","utc","fromISO","isValid","local","setZone","date","time","formatInstant","toUTC","toISO","fromWire","type","written","toWire","month","day","unchangedWire","dt","utcMidnightAdapter","parse","raw","timeZone","format","formatUnchanged"],"sourceRoot":"../../../src","sources":["adapters/utcMidnight.ts"],"mappings":"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","ignoreList":[]}
|