@astral/ui 1.25.0 → 1.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ConfigProvider/ConfigProvider.d.ts +18 -2
- package/ConfigProvider/ConfigProvider.js +6 -7
- package/DataGrid/DataGridHeadColumn/styles.d.ts +2 -1
- package/DataGrid/DataGridNoData/styles.d.ts +2 -1
- package/DataGridPagination/styles.d.ts +2 -1
- package/DatePicker/DateCalendar/DateCalendarBody/index.d.ts +1 -0
- package/DatePicker/DateCalendar/DateCalendarBody/index.js +17 -0
- package/DatePicker/DateCalendar/DateCalendarBody/styles.d.ts +11 -0
- package/DatePicker/DateCalendar/DateCalendarBody/styles.js +12 -0
- package/DatePicker/DateCalendar/DateCalendarBtn/DateCalendarBtn.d.ts +7 -0
- package/DatePicker/DateCalendar/DateCalendarBtn/DateCalendarBtn.js +22 -0
- package/DatePicker/DateCalendar/DateCalendarBtn/index.d.ts +1 -0
- package/DatePicker/DateCalendar/DateCalendarBtn/index.js +17 -0
- package/DatePicker/DateCalendar/DateCalendarBtn/styles.d.ts +4 -0
- package/DatePicker/DateCalendar/DateCalendarBtn/styles.js +8 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/DateCalendarNextBtn.d.ts +3 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/DateCalendarNextBtn.js +24 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/index.d.ts +1 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/index.js +17 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/styles.d.ts +4 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/styles.js +9 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/DateCalendarPrevBtn.d.ts +3 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/DateCalendarPrevBtn.js +24 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/index.d.ts +1 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/index.js +17 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/styles.d.ts +4 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/styles.js +9 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/index.d.ts +2 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/index.js +18 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/styles.d.ts +4 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/styles.js +10 -0
- package/DatePicker/DateCalendar/DateCalendarChevronBtn/types.d.ts +12 -0
- package/DatePicker/{types.js → DateCalendar/DateCalendarChevronBtn/types.js} +0 -0
- package/DatePicker/DateCalendar/DateCalendarGridBtn/index.d.ts +1 -0
- package/DatePicker/DateCalendar/DateCalendarGridBtn/index.js +17 -0
- package/DatePicker/DateCalendar/DateCalendarGridBtn/styles.d.ts +22 -0
- package/DatePicker/DateCalendar/DateCalendarGridBtn/styles.js +72 -0
- package/DatePicker/DateCalendar/DateCalendarHead/DateCalendarHead.d.ts +38 -0
- package/DatePicker/DateCalendar/DateCalendarHead/DateCalendarHead.js +8 -0
- package/DatePicker/DateCalendar/DateCalendarHead/index.d.ts +1 -0
- package/DatePicker/DateCalendar/DateCalendarHead/index.js +17 -0
- package/DatePicker/DateCalendar/DateCalendarHead/styles.d.ts +12 -0
- package/DatePicker/DateCalendar/DateCalendarHead/styles.js +26 -0
- package/DatePicker/DateCalendar/enums/calendarGridPositions.d.ts +6 -0
- package/DatePicker/DateCalendar/enums/calendarGridPositions.js +10 -0
- package/DatePicker/DateCalendar/index.d.ts +4 -0
- package/DatePicker/DateCalendar/index.js +20 -0
- package/{esm/DatePicker/styled.d.ts → DatePicker/DateCalendar/styles.d.ts} +1 -1
- package/DatePicker/DateCalendar/styles.js +15 -0
- package/DatePicker/DatePicker.d.ts +20 -9
- package/DatePicker/DatePicker.js +44 -42
- package/DatePicker/DatePickerClickAwayListener/DatePickerClickAwayListener.d.ts +6 -0
- package/DatePicker/DatePickerClickAwayListener/DatePickerClickAwayListener.js +7 -0
- package/DatePicker/DatePickerClickAwayListener/index.d.ts +1 -0
- package/DatePicker/DatePickerClickAwayListener/index.js +17 -0
- package/DatePicker/DatePickerInput/DatePickerInput.d.ts +8 -0
- package/DatePicker/DatePickerInput/DatePickerInput.js +31 -0
- package/DatePicker/DatePickerInput/index.d.ts +1 -0
- package/DatePicker/DatePickerInput/index.js +17 -0
- package/DatePicker/DatePickerInput/styles.d.ts +4 -0
- package/DatePicker/DatePickerInput/styles.js +10 -0
- package/DatePicker/DatePickerPopper/DatePickerPopper.d.ts +6 -0
- package/DatePicker/DatePickerPopper/DatePickerPopper.js +31 -0
- package/DatePicker/DatePickerPopper/index.d.ts +1 -0
- package/DatePicker/DatePickerPopper/index.js +17 -0
- package/DatePicker/DatePickerPopper/styles.d.ts +8 -0
- package/DatePicker/DatePickerPopper/styles.js +15 -0
- package/DatePicker/DayPicker/DateDayPickerGrid/index.d.ts +1 -0
- package/DatePicker/DayPicker/DateDayPickerGrid/index.js +17 -0
- package/DatePicker/DayPicker/DateDayPickerGrid/styles.d.ts +5 -0
- package/DatePicker/DayPicker/DateDayPickerGrid/styles.js +11 -0
- package/DatePicker/DayPicker/DateDayPickerGridHead/DateDayPickerGridHead.d.ts +6 -0
- package/DatePicker/DayPicker/DateDayPickerGridHead/DateDayPickerGridHead.js +11 -0
- package/DatePicker/DayPicker/DateDayPickerGridHead/index.d.ts +1 -0
- package/DatePicker/DayPicker/DateDayPickerGridHead/index.js +17 -0
- package/DatePicker/DayPicker/DateDayPickerGridHead/styles.d.ts +5 -0
- package/DatePicker/DayPicker/DateDayPickerGridHead/styles.js +14 -0
- package/DatePicker/DayPicker/DayPicker.d.ts +13 -0
- package/DatePicker/DayPicker/DayPicker.js +54 -0
- package/DatePicker/DayPicker/hooks/useDaysGrid/index.d.ts +1 -0
- package/DatePicker/DayPicker/hooks/useDaysGrid/index.js +17 -0
- package/DatePicker/DayPicker/hooks/useDaysGrid/useDaysGrid.d.ts +25 -0
- package/DatePicker/DayPicker/hooks/useDaysGrid/useDaysGrid.js +110 -0
- package/DatePicker/DayPicker/index.d.ts +1 -0
- package/DatePicker/DayPicker/index.js +17 -0
- package/DatePicker/MinMaxDateContext/MinMaxDateContext.d.ts +7 -0
- package/DatePicker/MinMaxDateContext/MinMaxDateContext.js +23 -0
- package/DatePicker/MinMaxDateContext/index.d.ts +1 -0
- package/DatePicker/MinMaxDateContext/index.js +17 -0
- package/DatePicker/MonthPicker/MonthPicker.d.ts +6 -0
- package/DatePicker/MonthPicker/MonthPicker.js +46 -0
- package/DatePicker/MonthPicker/hooks/useMonthsGrid/index.d.ts +1 -0
- package/DatePicker/MonthPicker/hooks/useMonthsGrid/index.js +17 -0
- package/DatePicker/MonthPicker/hooks/useMonthsGrid/useMonthsGrid.d.ts +8 -0
- package/DatePicker/MonthPicker/hooks/useMonthsGrid/useMonthsGrid.js +45 -0
- package/DatePicker/MonthPicker/index.d.ts +1 -0
- package/DatePicker/MonthPicker/index.js +17 -0
- package/DatePicker/YearMonthDayPicker/YearMonthDayPicker.d.ts +6 -0
- package/DatePicker/YearMonthDayPicker/YearMonthDayPicker.js +35 -0
- package/DatePicker/YearMonthDayPicker/index.d.ts +1 -0
- package/DatePicker/YearMonthDayPicker/index.js +17 -0
- package/DatePicker/YearPicker/YearPicker.d.ts +6 -0
- package/DatePicker/YearPicker/YearPicker.js +40 -0
- package/DatePicker/YearPicker/constants.d.ts +1 -0
- package/DatePicker/YearPicker/constants.js +4 -0
- package/DatePicker/YearPicker/hooks/useYearsGrid/index.d.ts +1 -0
- package/DatePicker/YearPicker/hooks/useYearsGrid/index.js +17 -0
- package/DatePicker/YearPicker/hooks/useYearsGrid/useYearsGrid.d.ts +8 -0
- package/DatePicker/YearPicker/hooks/useYearsGrid/useYearsGrid.js +44 -0
- package/DatePicker/YearPicker/index.d.ts +1 -0
- package/DatePicker/YearPicker/index.js +17 -0
- package/DatePicker/constants/counts.d.ts +2 -0
- package/DatePicker/constants/counts.js +5 -0
- package/DatePicker/constants/russianMap.d.ts +2 -0
- package/DatePicker/constants/russianMap.js +13 -0
- package/DatePicker/hooks/useBaseDateInRange/index.d.ts +1 -0
- package/DatePicker/hooks/useBaseDateInRange/index.js +17 -0
- package/DatePicker/hooks/useBaseDateInRange/useBaseDateInRange.d.ts +7 -0
- package/DatePicker/hooks/useBaseDateInRange/useBaseDateInRange.js +25 -0
- package/DatePicker/hooks/useCalendarNavigate/index.d.ts +1 -0
- package/DatePicker/hooks/useCalendarNavigate/index.js +17 -0
- package/DatePicker/hooks/useCalendarNavigate/useCalendarNavigate.d.ts +20 -0
- package/DatePicker/hooks/useCalendarNavigate/useCalendarNavigate.js +23 -0
- package/DatePicker/hooks/useLocaleDateTimeFormat/index.d.ts +1 -0
- package/DatePicker/hooks/useLocaleDateTimeFormat/index.js +17 -0
- package/DatePicker/hooks/useLocaleDateTimeFormat/useLocaleDateTimeFormat.d.ts +3 -0
- package/DatePicker/hooks/useLocaleDateTimeFormat/useLocaleDateTimeFormat.js +11 -0
- package/DatePicker/hooks/useSelectedBaseDate/index.d.ts +1 -0
- package/DatePicker/hooks/useSelectedBaseDate/index.js +17 -0
- package/DatePicker/hooks/useSelectedBaseDate/useSelectedBaseDate.d.ts +1 -0
- package/DatePicker/hooks/useSelectedBaseDate/useSelectedBaseDate.js +29 -0
- package/DatePicker/index.d.ts +0 -1
- package/DatePicker/index.js +0 -1
- package/DatePicker/types/configTypes.d.ts +14 -0
- package/{LocalizationProvider/types.js → DatePicker/types/configTypes.js} +0 -0
- package/DatePicker/types/gridBuilder.d.ts +44 -0
- package/DatePicker/types/gridBuilder.js +2 -0
- package/DatePicker/types/index.d.ts +4 -0
- package/DatePicker/types/index.js +20 -0
- package/DatePicker/types/minMaxDate.d.ts +4 -0
- package/DatePicker/types/minMaxDate.js +2 -0
- package/DatePicker/types/pickerProps.d.ts +11 -0
- package/DatePicker/types/pickerProps.js +2 -0
- package/DatePicker/utils/buildGridItem/buildGridResult.d.ts +22 -0
- package/DatePicker/utils/buildGridItem/buildGridResult.js +20 -0
- package/DatePicker/utils/buildGridItem/index.d.ts +1 -0
- package/DatePicker/utils/buildGridItem/index.js +17 -0
- package/DatePickerProvider/DatePickerProvider.d.ts +9 -4
- package/DatePickerProvider/DatePickerProvider.js +5 -11
- package/LocalizationProvider/LocalizationProvider.d.ts +4 -3
- package/LocalizationProvider/LocalizationProvider.js +1 -2
- package/MaskField/MaskField.d.ts +3 -3
- package/MaskField/MaskField.js +4 -4
- package/MenuGroup/stories/styled.d.ts +2 -1
- package/MenuGroup/styled.d.ts +2 -1
- package/Notification/NotificationTemplate/styled.d.ts +2 -1
- package/OverflowTypography/styles.d.ts +2 -1
- package/Placeholder/styles.d.ts +4 -2
- package/Typography/Typography.d.ts +8 -0
- package/Typography/Typography.js +7 -3
- package/Typography/enums.d.ts +6 -2
- package/Typography/enums.js +5 -1
- package/esm/ConfigProvider/ConfigProvider.d.ts +18 -2
- package/esm/ConfigProvider/ConfigProvider.js +6 -4
- package/esm/DataGrid/DataGridHeadColumn/styles.d.ts +2 -1
- package/esm/DataGrid/DataGridNoData/styles.d.ts +2 -1
- package/esm/DataGridPagination/styles.d.ts +2 -1
- package/esm/DatePicker/DateCalendar/DateCalendarBody/index.d.ts +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBody/index.js +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBody/styles.d.ts +11 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBody/styles.js +9 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBtn/DateCalendarBtn.d.ts +7 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBtn/DateCalendarBtn.js +19 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBtn/index.d.ts +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBtn/index.js +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBtn/styles.d.ts +4 -0
- package/esm/DatePicker/DateCalendar/DateCalendarBtn/styles.js +5 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/DateCalendarNextBtn.d.ts +3 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/DateCalendarNextBtn.js +21 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/index.d.ts +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/index.js +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/styles.d.ts +4 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarNextBtn/styles.js +6 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/DateCalendarPrevBtn.d.ts +3 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/DateCalendarPrevBtn.js +21 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/index.d.ts +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/index.js +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/styles.d.ts +4 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/DateCalendarPrevBtn/styles.js +6 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/index.d.ts +2 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/index.js +2 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/styles.d.ts +4 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/styles.js +7 -0
- package/esm/DatePicker/DateCalendar/DateCalendarChevronBtn/types.d.ts +12 -0
- package/esm/DatePicker/{types.js → DateCalendar/DateCalendarChevronBtn/types.js} +0 -0
- package/esm/DatePicker/DateCalendar/DateCalendarGridBtn/index.d.ts +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarGridBtn/index.js +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarGridBtn/styles.d.ts +22 -0
- package/esm/DatePicker/DateCalendar/DateCalendarGridBtn/styles.js +69 -0
- package/esm/DatePicker/DateCalendar/DateCalendarHead/DateCalendarHead.d.ts +38 -0
- package/esm/DatePicker/DateCalendar/DateCalendarHead/DateCalendarHead.js +4 -0
- package/esm/DatePicker/DateCalendar/DateCalendarHead/index.d.ts +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarHead/index.js +1 -0
- package/esm/DatePicker/DateCalendar/DateCalendarHead/styles.d.ts +12 -0
- package/esm/DatePicker/DateCalendar/DateCalendarHead/styles.js +23 -0
- package/esm/DatePicker/DateCalendar/enums/calendarGridPositions.d.ts +6 -0
- package/esm/DatePicker/DateCalendar/enums/calendarGridPositions.js +7 -0
- package/esm/DatePicker/DateCalendar/index.d.ts +4 -0
- package/esm/DatePicker/DateCalendar/index.js +4 -0
- package/{DatePicker/styled.d.ts → esm/DatePicker/DateCalendar/styles.d.ts} +1 -1
- package/esm/DatePicker/DateCalendar/styles.js +12 -0
- package/esm/DatePicker/DatePicker.d.ts +20 -9
- package/esm/DatePicker/DatePicker.js +46 -41
- package/esm/DatePicker/DatePickerClickAwayListener/DatePickerClickAwayListener.d.ts +6 -0
- package/esm/DatePicker/DatePickerClickAwayListener/DatePickerClickAwayListener.js +3 -0
- package/esm/DatePicker/DatePickerClickAwayListener/index.d.ts +1 -0
- package/esm/DatePicker/DatePickerClickAwayListener/index.js +1 -0
- package/esm/DatePicker/DatePickerInput/DatePickerInput.d.ts +8 -0
- package/esm/DatePicker/DatePickerInput/DatePickerInput.js +28 -0
- package/esm/DatePicker/DatePickerInput/index.d.ts +1 -0
- package/esm/DatePicker/DatePickerInput/index.js +1 -0
- package/esm/DatePicker/DatePickerInput/styles.d.ts +4 -0
- package/esm/DatePicker/DatePickerInput/styles.js +7 -0
- package/esm/DatePicker/DatePickerPopper/DatePickerPopper.d.ts +6 -0
- package/esm/DatePicker/DatePickerPopper/DatePickerPopper.js +27 -0
- package/esm/DatePicker/DatePickerPopper/index.d.ts +1 -0
- package/esm/DatePicker/DatePickerPopper/index.js +1 -0
- package/esm/DatePicker/DatePickerPopper/styles.d.ts +8 -0
- package/esm/DatePicker/DatePickerPopper/styles.js +12 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGrid/index.d.ts +1 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGrid/index.js +1 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGrid/styles.d.ts +5 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGrid/styles.js +8 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGridHead/DateDayPickerGridHead.d.ts +6 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGridHead/DateDayPickerGridHead.js +8 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGridHead/index.d.ts +1 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGridHead/index.js +1 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGridHead/styles.d.ts +5 -0
- package/esm/DatePicker/DayPicker/DateDayPickerGridHead/styles.js +11 -0
- package/esm/DatePicker/DayPicker/DayPicker.d.ts +13 -0
- package/esm/DatePicker/DayPicker/DayPicker.js +50 -0
- package/esm/DatePicker/DayPicker/hooks/useDaysGrid/index.d.ts +1 -0
- package/esm/DatePicker/DayPicker/hooks/useDaysGrid/index.js +1 -0
- package/esm/DatePicker/DayPicker/hooks/useDaysGrid/useDaysGrid.d.ts +25 -0
- package/esm/DatePicker/DayPicker/hooks/useDaysGrid/useDaysGrid.js +106 -0
- package/esm/DatePicker/DayPicker/index.d.ts +1 -0
- package/esm/DatePicker/DayPicker/index.js +1 -0
- package/esm/DatePicker/MinMaxDateContext/MinMaxDateContext.d.ts +7 -0
- package/esm/DatePicker/MinMaxDateContext/MinMaxDateContext.js +19 -0
- package/esm/DatePicker/MinMaxDateContext/index.d.ts +1 -0
- package/esm/DatePicker/MinMaxDateContext/index.js +1 -0
- package/esm/DatePicker/MonthPicker/MonthPicker.d.ts +6 -0
- package/esm/DatePicker/MonthPicker/MonthPicker.js +42 -0
- package/esm/DatePicker/MonthPicker/hooks/useMonthsGrid/index.d.ts +1 -0
- package/esm/DatePicker/MonthPicker/hooks/useMonthsGrid/index.js +1 -0
- package/esm/DatePicker/MonthPicker/hooks/useMonthsGrid/useMonthsGrid.d.ts +8 -0
- package/esm/DatePicker/MonthPicker/hooks/useMonthsGrid/useMonthsGrid.js +41 -0
- package/esm/DatePicker/MonthPicker/index.d.ts +1 -0
- package/esm/DatePicker/MonthPicker/index.js +1 -0
- package/esm/DatePicker/YearMonthDayPicker/YearMonthDayPicker.d.ts +6 -0
- package/esm/DatePicker/YearMonthDayPicker/YearMonthDayPicker.js +31 -0
- package/esm/DatePicker/YearMonthDayPicker/index.d.ts +1 -0
- package/esm/DatePicker/YearMonthDayPicker/index.js +1 -0
- package/esm/DatePicker/YearPicker/YearPicker.d.ts +6 -0
- package/esm/DatePicker/YearPicker/YearPicker.js +36 -0
- package/esm/DatePicker/YearPicker/constants.d.ts +1 -0
- package/esm/DatePicker/YearPicker/constants.js +1 -0
- package/esm/DatePicker/YearPicker/hooks/useYearsGrid/index.d.ts +1 -0
- package/esm/DatePicker/YearPicker/hooks/useYearsGrid/index.js +1 -0
- package/esm/DatePicker/YearPicker/hooks/useYearsGrid/useYearsGrid.d.ts +8 -0
- package/esm/DatePicker/YearPicker/hooks/useYearsGrid/useYearsGrid.js +40 -0
- package/esm/DatePicker/YearPicker/index.d.ts +1 -0
- package/esm/DatePicker/YearPicker/index.js +1 -0
- package/esm/DatePicker/constants/counts.d.ts +2 -0
- package/esm/DatePicker/constants/counts.js +2 -0
- package/esm/DatePicker/constants/russianMap.d.ts +2 -0
- package/esm/DatePicker/constants/russianMap.js +10 -0
- package/esm/DatePicker/hooks/useBaseDateInRange/index.d.ts +1 -0
- package/esm/DatePicker/hooks/useBaseDateInRange/index.js +1 -0
- package/esm/DatePicker/hooks/useBaseDateInRange/useBaseDateInRange.d.ts +7 -0
- package/esm/DatePicker/hooks/useBaseDateInRange/useBaseDateInRange.js +21 -0
- package/esm/DatePicker/hooks/useCalendarNavigate/index.d.ts +1 -0
- package/esm/DatePicker/hooks/useCalendarNavigate/index.js +1 -0
- package/esm/DatePicker/hooks/useCalendarNavigate/useCalendarNavigate.d.ts +20 -0
- package/esm/DatePicker/hooks/useCalendarNavigate/useCalendarNavigate.js +19 -0
- package/esm/DatePicker/hooks/useLocaleDateTimeFormat/index.d.ts +1 -0
- package/esm/DatePicker/hooks/useLocaleDateTimeFormat/index.js +1 -0
- package/esm/DatePicker/hooks/useLocaleDateTimeFormat/useLocaleDateTimeFormat.d.ts +3 -0
- package/esm/DatePicker/hooks/useLocaleDateTimeFormat/useLocaleDateTimeFormat.js +7 -0
- package/esm/DatePicker/hooks/useSelectedBaseDate/index.d.ts +1 -0
- package/esm/DatePicker/hooks/useSelectedBaseDate/index.js +1 -0
- package/esm/DatePicker/hooks/useSelectedBaseDate/useSelectedBaseDate.d.ts +1 -0
- package/esm/DatePicker/hooks/useSelectedBaseDate/useSelectedBaseDate.js +25 -0
- package/esm/DatePicker/index.d.ts +0 -1
- package/esm/DatePicker/index.js +0 -1
- package/esm/DatePicker/types/configTypes.d.ts +14 -0
- package/esm/{LocalizationProvider/types.js → DatePicker/types/configTypes.js} +0 -0
- package/esm/DatePicker/types/gridBuilder.d.ts +44 -0
- package/esm/DatePicker/types/gridBuilder.js +1 -0
- package/esm/DatePicker/types/index.d.ts +4 -0
- package/esm/DatePicker/types/index.js +4 -0
- package/esm/DatePicker/types/minMaxDate.d.ts +4 -0
- package/esm/DatePicker/types/minMaxDate.js +1 -0
- package/esm/DatePicker/types/pickerProps.d.ts +11 -0
- package/esm/DatePicker/types/pickerProps.js +1 -0
- package/esm/DatePicker/utils/buildGridItem/buildGridResult.d.ts +22 -0
- package/esm/DatePicker/utils/buildGridItem/buildGridResult.js +16 -0
- package/esm/DatePicker/utils/buildGridItem/index.d.ts +1 -0
- package/esm/DatePicker/utils/buildGridItem/index.js +1 -0
- package/esm/DatePickerProvider/DatePickerProvider.d.ts +9 -4
- package/esm/DatePickerProvider/DatePickerProvider.js +4 -10
- package/esm/LocalizationProvider/LocalizationProvider.d.ts +4 -3
- package/esm/LocalizationProvider/LocalizationProvider.js +1 -2
- package/esm/MaskField/MaskField.d.ts +3 -3
- package/esm/MaskField/MaskField.js +4 -3
- package/esm/MenuGroup/stories/styled.d.ts +2 -1
- package/esm/MenuGroup/styled.d.ts +2 -1
- package/esm/Notification/NotificationTemplate/styled.d.ts +2 -1
- package/esm/OverflowTypography/styles.d.ts +2 -1
- package/esm/Placeholder/styles.d.ts +4 -2
- package/esm/Typography/Typography.d.ts +8 -0
- package/esm/Typography/Typography.js +7 -3
- package/esm/Typography/enums.d.ts +6 -2
- package/esm/Typography/enums.js +5 -1
- package/esm/hooks/useEscapeClickEffect/index.d.ts +1 -0
- package/esm/hooks/useEscapeClickEffect/index.js +1 -0
- package/esm/hooks/useEscapeClickEffect/useEscapeClickEffect.d.ts +19 -0
- package/esm/hooks/useEscapeClickEffect/useEscapeClickEffect.js +24 -0
- package/esm/hooks/useToggle/index.d.ts +1 -0
- package/esm/hooks/useToggle/index.js +1 -0
- package/esm/hooks/useToggle/useToggle.d.ts +13 -0
- package/esm/hooks/useToggle/useToggle.js +17 -0
- package/esm/utils/date/addDays/addDays.d.ts +7 -0
- package/esm/utils/date/addDays/addDays.js +8 -0
- package/esm/utils/date/addDays/index.d.ts +1 -0
- package/esm/utils/date/addDays/index.js +1 -0
- package/esm/utils/date/addMonths/addMonths.d.ts +7 -0
- package/esm/utils/date/addMonths/addMonths.js +8 -0
- package/esm/utils/date/addMonths/index.d.ts +1 -0
- package/esm/utils/date/addMonths/index.js +1 -0
- package/esm/utils/date/addYears/addYears.d.ts +7 -0
- package/esm/utils/date/addYears/addYears.js +8 -0
- package/esm/utils/date/addYears/index.d.ts +1 -0
- package/esm/utils/date/addYears/index.js +1 -0
- package/esm/utils/date/areDatesSame/areDatesSame.d.ts +4 -0
- package/esm/utils/date/areDatesSame/areDatesSame.js +5 -0
- package/esm/utils/date/areDatesSame/index.d.ts +1 -0
- package/esm/utils/date/areDatesSame/index.js +1 -0
- package/esm/utils/date/buildIsoDate/buildIsoDate.d.ts +5 -0
- package/esm/utils/date/buildIsoDate/buildIsoDate.js +5 -0
- package/esm/utils/date/buildIsoDate/buildIsoDateString.d.ts +33 -0
- package/esm/utils/date/buildIsoDate/buildIsoDateString.js +13 -0
- package/esm/utils/date/buildIsoDate/index.d.ts +2 -0
- package/esm/utils/date/buildIsoDate/index.js +2 -0
- package/esm/utils/date/format/formatDate/formatDate.d.ts +5 -0
- package/esm/utils/date/format/formatDate/formatDate.js +19 -0
- package/esm/utils/date/format/formatDate/index.d.ts +1 -0
- package/esm/utils/date/format/formatDate/index.js +1 -0
- package/esm/utils/date/format/index.d.ts +3 -0
- package/esm/utils/date/format/index.js +3 -0
- package/esm/utils/date/format/maskDate.d.ts +13 -0
- package/esm/utils/date/format/maskDate.js +9 -0
- package/esm/utils/date/format/parseDate/index.d.ts +1 -0
- package/esm/utils/date/format/parseDate/index.js +1 -0
- package/esm/utils/date/format/parseDate/parseDate.d.ts +5 -0
- package/esm/utils/date/format/parseDate/parseDate.js +21 -0
- package/esm/utils/date/index.d.ts +8 -0
- package/esm/utils/date/index.js +8 -0
- package/esm/utils/date/isDate/index.d.ts +1 -0
- package/esm/utils/date/isDate/index.js +1 -0
- package/esm/utils/date/isDate/isDate.d.ts +6 -0
- package/esm/utils/date/isDate/isDate.js +5 -0
- package/esm/utils/date/isDateOutOfRange/index.d.ts +1 -0
- package/esm/utils/date/isDateOutOfRange/index.js +1 -0
- package/esm/utils/date/isDateOutOfRange/isDateOutOfRange.d.ts +29 -0
- package/esm/utils/date/isDateOutOfRange/isDateOutOfRange.js +40 -0
- package/esm/utils/zeroPad/index.d.ts +1 -0
- package/esm/utils/zeroPad/index.js +1 -0
- package/esm/utils/zeroPad/zeroPad.d.ts +7 -0
- package/esm/utils/zeroPad/zeroPad.js +7 -0
- package/hooks/useEscapeClickEffect/index.d.ts +1 -0
- package/hooks/useEscapeClickEffect/index.js +17 -0
- package/hooks/useEscapeClickEffect/useEscapeClickEffect.d.ts +19 -0
- package/hooks/useEscapeClickEffect/useEscapeClickEffect.js +28 -0
- package/hooks/useToggle/index.d.ts +1 -0
- package/hooks/useToggle/index.js +17 -0
- package/hooks/useToggle/useToggle.d.ts +13 -0
- package/hooks/useToggle/useToggle.js +21 -0
- package/package.json +3 -4
- package/utils/date/addDays/addDays.d.ts +7 -0
- package/utils/date/addDays/addDays.js +15 -0
- package/utils/date/addDays/index.d.ts +1 -0
- package/utils/date/addDays/index.js +17 -0
- package/utils/date/addMonths/addMonths.d.ts +7 -0
- package/utils/date/addMonths/addMonths.js +15 -0
- package/utils/date/addMonths/index.d.ts +1 -0
- package/utils/date/addMonths/index.js +17 -0
- package/utils/date/addYears/addYears.d.ts +7 -0
- package/utils/date/addYears/addYears.js +15 -0
- package/utils/date/addYears/index.d.ts +1 -0
- package/utils/date/addYears/index.js +17 -0
- package/utils/date/areDatesSame/areDatesSame.d.ts +4 -0
- package/utils/date/areDatesSame/areDatesSame.js +9 -0
- package/utils/date/areDatesSame/index.d.ts +1 -0
- package/utils/date/areDatesSame/index.js +17 -0
- package/utils/date/buildIsoDate/buildIsoDate.d.ts +5 -0
- package/utils/date/buildIsoDate/buildIsoDate.js +9 -0
- package/utils/date/buildIsoDate/buildIsoDateString.d.ts +33 -0
- package/utils/date/buildIsoDate/buildIsoDateString.js +17 -0
- package/utils/date/buildIsoDate/index.d.ts +2 -0
- package/utils/date/buildIsoDate/index.js +18 -0
- package/utils/date/format/formatDate/formatDate.d.ts +5 -0
- package/utils/date/format/formatDate/formatDate.js +23 -0
- package/utils/date/format/formatDate/index.d.ts +1 -0
- package/utils/date/format/formatDate/index.js +17 -0
- package/utils/date/format/index.d.ts +3 -0
- package/utils/date/format/index.js +19 -0
- package/utils/date/format/maskDate.d.ts +13 -0
- package/utils/date/format/maskDate.js +12 -0
- package/utils/date/format/parseDate/index.d.ts +1 -0
- package/utils/date/format/parseDate/index.js +17 -0
- package/utils/date/format/parseDate/parseDate.d.ts +5 -0
- package/utils/date/format/parseDate/parseDate.js +25 -0
- package/utils/date/index.d.ts +8 -0
- package/utils/date/index.js +24 -0
- package/utils/date/isDate/index.d.ts +1 -0
- package/utils/date/isDate/index.js +17 -0
- package/utils/date/isDate/isDate.d.ts +6 -0
- package/utils/date/isDate/isDate.js +12 -0
- package/utils/date/isDateOutOfRange/index.d.ts +1 -0
- package/utils/date/isDateOutOfRange/index.js +17 -0
- package/utils/date/isDateOutOfRange/isDateOutOfRange.d.ts +29 -0
- package/utils/date/isDateOutOfRange/isDateOutOfRange.js +45 -0
- package/utils/zeroPad/index.d.ts +1 -0
- package/utils/zeroPad/index.js +17 -0
- package/utils/zeroPad/zeroPad.d.ts +7 -0
- package/utils/zeroPad/zeroPad.js +11 -0
- package/DatePicker/DatePickerDay/DatePickerDay.d.ts +0 -7
- package/DatePicker/DatePickerDay/DatePickerDay.js +0 -9
- package/DatePicker/DatePickerDay/index.d.ts +0 -1
- package/DatePicker/DatePickerDay/index.js +0 -5
- package/DatePicker/DatePickerDay/styled.d.ts +0 -4
- package/DatePicker/DatePickerDay/styled.js +0 -9
- package/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +0 -3
- package/DatePicker/DatePickerHeader/DatePickerHeader.js +0 -20
- package/DatePicker/DatePickerHeader/index.d.ts +0 -1
- package/DatePicker/DatePickerHeader/index.js +0 -5
- package/DatePicker/DatePickerHeader/styled.d.ts +0 -12
- package/DatePicker/DatePickerHeader/styled.js +0 -13
- package/DatePicker/styled.js +0 -97
- package/DatePicker/types.d.ts +0 -1
- package/LocalizationProvider/types.d.ts +0 -2
- package/esm/DatePicker/DatePickerDay/DatePickerDay.d.ts +0 -7
- package/esm/DatePicker/DatePickerDay/DatePickerDay.js +0 -5
- package/esm/DatePicker/DatePickerDay/index.d.ts +0 -1
- package/esm/DatePicker/DatePickerDay/index.js +0 -1
- package/esm/DatePicker/DatePickerDay/styled.d.ts +0 -4
- package/esm/DatePicker/DatePickerDay/styled.js +0 -6
- package/esm/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +0 -3
- package/esm/DatePicker/DatePickerHeader/DatePickerHeader.js +0 -13
- package/esm/DatePicker/DatePickerHeader/index.d.ts +0 -1
- package/esm/DatePicker/DatePickerHeader/index.js +0 -1
- package/esm/DatePicker/DatePickerHeader/styled.d.ts +0 -12
- package/esm/DatePicker/DatePickerHeader/styled.js +0 -10
- package/esm/DatePicker/styled.js +0 -94
- package/esm/DatePicker/types.d.ts +0 -1
- package/esm/LocalizationProvider/types.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DayPicker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DayPicker';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { MinMaxDate } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* @description контекст позволяющий точечно вытаскивать значение минимальной и максимальной дат, без необходимости прокидывать их пропсами в каждый зависимый компонент, уменьшает количество повторяющихся частей
|
|
5
|
+
*/
|
|
6
|
+
export declare const MinMaxDateContext: import("react").Context<MinMaxDate>;
|
|
7
|
+
export declare const MinMaxDateContextProvider: ({ maxDate, minDate, children, }: PropsWithChildren<Partial<MinMaxDate>>) => JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext } from 'react';
|
|
3
|
+
import { buildIsoDate } from '../../utils/date';
|
|
4
|
+
const DEFAULT_MIN_DATE = buildIsoDate({ year: 1900 });
|
|
5
|
+
const DEFAULT_MAX_DATE = buildIsoDate({
|
|
6
|
+
year: new Date().getUTCFullYear() + 100,
|
|
7
|
+
month: 12,
|
|
8
|
+
day: 31,
|
|
9
|
+
hour: 23,
|
|
10
|
+
minute: 59,
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* @description контекст позволяющий точечно вытаскивать значение минимальной и максимальной дат, без необходимости прокидывать их пропсами в каждый зависимый компонент, уменьшает количество повторяющихся частей
|
|
14
|
+
*/
|
|
15
|
+
export const MinMaxDateContext = createContext({
|
|
16
|
+
minDate: DEFAULT_MIN_DATE,
|
|
17
|
+
maxDate: DEFAULT_MAX_DATE,
|
|
18
|
+
});
|
|
19
|
+
export const MinMaxDateContextProvider = ({ maxDate = DEFAULT_MAX_DATE, minDate = DEFAULT_MIN_DATE, children, }) => (_jsx(MinMaxDateContext.Provider, Object.assign({ value: { maxDate, minDate } }, { children: children })));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MinMaxDateContext';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MinMaxDateContext';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CommonDateCalendarHeadProps } from '../DateCalendar';
|
|
3
|
+
import { PickerProps } from '../types';
|
|
4
|
+
declare type DateMonthPickerProps = PickerProps & CommonDateCalendarHeadProps;
|
|
5
|
+
export declare const MonthPicker: ({ date, selectedDate, onChange, ...headProps }: DateMonthPickerProps) => JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useContext } from 'react';
|
|
14
|
+
import { DateCalendarGridBtnLarge, DateCalendarGridLarge, DateCalendarHead, DateCalendarWrapper, } from '../DateCalendar';
|
|
15
|
+
import { useCalendarNavigate } from '../hooks/useCalendarNavigate';
|
|
16
|
+
import { addYears } from '../../utils/date';
|
|
17
|
+
import { useLocaleDateTimeFormat } from '../hooks/useLocaleDateTimeFormat';
|
|
18
|
+
import { ConfigContext } from '../../ConfigProvider';
|
|
19
|
+
import { useMonthsGrid } from './hooks/useMonthsGrid';
|
|
20
|
+
export const MonthPicker = (_a) => {
|
|
21
|
+
var { date: initialDate, selectedDate, onChange } = _a, headProps = __rest(_a, ["date", "selectedDate", "onChange"]);
|
|
22
|
+
const monthFormat = useLocaleDateTimeFormat({
|
|
23
|
+
month: 'long',
|
|
24
|
+
});
|
|
25
|
+
const titleFormat = useLocaleDateTimeFormat({
|
|
26
|
+
month: 'long',
|
|
27
|
+
year: 'numeric',
|
|
28
|
+
});
|
|
29
|
+
const { baseDate, handlePrevClick, handleNextClick } = useCalendarNavigate({
|
|
30
|
+
date: initialDate,
|
|
31
|
+
addCb: addYears,
|
|
32
|
+
});
|
|
33
|
+
const { grid, isPrevDisabled, isNextDisabled } = useMonthsGrid({
|
|
34
|
+
baseDate,
|
|
35
|
+
selectedDate,
|
|
36
|
+
});
|
|
37
|
+
const { year: yearCaption } = useContext(ConfigContext).datePickerLanguageMap;
|
|
38
|
+
return (_jsxs(DateCalendarWrapper, { children: [_jsx(DateCalendarHead, Object.assign({}, headProps, { arrowPostfixTitle: yearCaption.single, onPrevClick: !isPrevDisabled ? handlePrevClick : undefined, onNextClick: !isNextDisabled ? handleNextClick : undefined, headBtnText: baseDate.getUTCFullYear() })), _jsx(DateCalendarGridLarge, { children: grid.map((_a, index) => {
|
|
39
|
+
var { month, date } = _a, props = __rest(_a, ["month", "date"]);
|
|
40
|
+
return (_jsx(DateCalendarGridBtnLarge, Object.assign({ onClick: () => onChange === null || onChange === void 0 ? void 0 : onChange(date), title: titleFormat(date) }, props, { children: monthFormat(date) }), `${month}_${index}`));
|
|
41
|
+
}) })] }));
|
|
42
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useMonthsGrid';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useMonthsGrid';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
2
|
+
import { MONTHS_IN_YEAR } from '../../../constants/counts';
|
|
3
|
+
import { DateCompareDeep, addMonths, buildIsoDate, isDateOutOfRange, } from '../../../../utils/date';
|
|
4
|
+
import { buildGridResult } from '../../../utils/buildGridItem';
|
|
5
|
+
import { MinMaxDateContext } from '../../../MinMaxDateContext';
|
|
6
|
+
export const useMonthsGrid = ({ baseDate, selectedDate, }) => {
|
|
7
|
+
const { maxDate, minDate } = useContext(MinMaxDateContext);
|
|
8
|
+
return useMemo(() => {
|
|
9
|
+
const grid = [];
|
|
10
|
+
const startDate = buildIsoDate({ year: baseDate.getUTCFullYear() });
|
|
11
|
+
const year = startDate.getUTCFullYear();
|
|
12
|
+
const currentDate = new Date();
|
|
13
|
+
const currentMonth = currentDate.getMonth();
|
|
14
|
+
const currentYear = currentDate.getFullYear();
|
|
15
|
+
const selectedMonth = selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.getUTCMonth();
|
|
16
|
+
const selectedYear = selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.getUTCFullYear();
|
|
17
|
+
for (let i = 0; i < MONTHS_IN_YEAR; i++) {
|
|
18
|
+
const date = buildIsoDate({ year, month: i + 1 });
|
|
19
|
+
grid.push({
|
|
20
|
+
date: addMonths(startDate, i),
|
|
21
|
+
selected: selectedMonth === i && selectedYear === year,
|
|
22
|
+
month: i + 1,
|
|
23
|
+
isCurrent: i === currentMonth && year === currentYear,
|
|
24
|
+
disabled: isDateOutOfRange({
|
|
25
|
+
date,
|
|
26
|
+
minDate,
|
|
27
|
+
maxDate,
|
|
28
|
+
deep: DateCompareDeep.month,
|
|
29
|
+
log: true,
|
|
30
|
+
}),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return buildGridResult({
|
|
34
|
+
grid,
|
|
35
|
+
minDate,
|
|
36
|
+
maxDate,
|
|
37
|
+
addCb: addMonths,
|
|
38
|
+
deep: DateCompareDeep.month,
|
|
39
|
+
});
|
|
40
|
+
}, [baseDate, selectedDate]);
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MonthPicker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MonthPicker';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MondayFirst } from '../DayPicker';
|
|
3
|
+
import { PickerProps } from '../types';
|
|
4
|
+
declare type YearMonthDayPickerProps = PickerProps & MondayFirst;
|
|
5
|
+
export declare const YearMonthDayPicker: ({ onChange, date, selectedDate, isMondayFirst, }: YearMonthDayPickerProps) => JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useEffect, useState } from 'react';
|
|
3
|
+
import { YearPicker } from '../YearPicker';
|
|
4
|
+
import { MonthPicker } from '../MonthPicker';
|
|
5
|
+
import { DayPicker } from '../DayPicker';
|
|
6
|
+
import { ConfigContext } from '../../ConfigProvider';
|
|
7
|
+
var States;
|
|
8
|
+
(function (States) {
|
|
9
|
+
States[States["days"] = 0] = "days";
|
|
10
|
+
States[States["months"] = 1] = "months";
|
|
11
|
+
States[States["years"] = 2] = "years";
|
|
12
|
+
})(States || (States = {}));
|
|
13
|
+
export const YearMonthDayPicker = ({ onChange, date: initialDate, selectedDate, isMondayFirst, }) => {
|
|
14
|
+
const [currentState, setState] = useState(States.days);
|
|
15
|
+
const [date, setDate] = useState(initialDate);
|
|
16
|
+
const handleYearChange = (receivedDate) => {
|
|
17
|
+
setDate(receivedDate);
|
|
18
|
+
setState(States.months);
|
|
19
|
+
};
|
|
20
|
+
const handleMonthChange = (receivedDate) => {
|
|
21
|
+
setDate(receivedDate);
|
|
22
|
+
setState(States.days);
|
|
23
|
+
};
|
|
24
|
+
const handleMonthHeadBtnClick = () => setState(States.years);
|
|
25
|
+
const handleDaysHeadBtnClick = () => setState(States.months);
|
|
26
|
+
const { toYearPick, toMonthPick } = useContext(ConfigContext).datePickerLanguageMap;
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
setDate(initialDate);
|
|
29
|
+
}, [initialDate]);
|
|
30
|
+
return (_jsxs(_Fragment, { children: [currentState === States.years && (_jsx(YearPicker, { date: date, selectedDate: selectedDate, onChange: handleYearChange })), currentState === States.months && (_jsx(MonthPicker, { date: date, selectedDate: selectedDate, onChange: handleMonthChange, onHeadBtnClick: handleMonthHeadBtnClick, headBtnTitle: toYearPick.single })), currentState === States.days && (_jsx(DayPicker, { date: date, isMondayFirst: isMondayFirst, selectedDate: selectedDate, onHeadBtnClick: handleDaysHeadBtnClick, headBtnTitle: toMonthPick.single, onChange: onChange }))] }));
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './YearMonthDayPicker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './YearMonthDayPicker';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CommonDateCalendarHeadProps } from '../DateCalendar';
|
|
3
|
+
import { PickerProps } from '../types';
|
|
4
|
+
declare type DateYearPickerProps = PickerProps & CommonDateCalendarHeadProps;
|
|
5
|
+
export declare const YearPicker: ({ date, selectedDate, onChange, ...headProps }: DateYearPickerProps) => JSX.Element;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useContext } from 'react';
|
|
14
|
+
import { DateCalendarGridBtnLarge, DateCalendarGridLarge, DateCalendarHead, DateCalendarWrapper, } from '../DateCalendar';
|
|
15
|
+
import { useCalendarNavigate } from '../hooks/useCalendarNavigate';
|
|
16
|
+
import { addYears } from '../../utils/date';
|
|
17
|
+
import { ConfigContext } from '../../ConfigProvider';
|
|
18
|
+
import { useYearsGrid } from './hooks/useYearsGrid';
|
|
19
|
+
import { YEARS_IN_GRID } from './constants';
|
|
20
|
+
export const YearPicker = (_a) => {
|
|
21
|
+
var _b, _c;
|
|
22
|
+
var { date: initialDate, selectedDate, onChange } = _a, headProps = __rest(_a, ["date", "selectedDate", "onChange"]);
|
|
23
|
+
const { baseDate, handlePrevClick, handleNextClick } = useCalendarNavigate({
|
|
24
|
+
date: initialDate,
|
|
25
|
+
addCb: (date, direction) => addYears(date, YEARS_IN_GRID * direction),
|
|
26
|
+
});
|
|
27
|
+
const { grid, isPrevDisabled, isNextDisabled } = useYearsGrid({
|
|
28
|
+
baseDate,
|
|
29
|
+
selectedDate,
|
|
30
|
+
});
|
|
31
|
+
const { year: yearCaption } = useContext(ConfigContext).datePickerLanguageMap;
|
|
32
|
+
return (_jsxs(DateCalendarWrapper, { children: [_jsx(DateCalendarHead, Object.assign({}, headProps, { arrowPostfixTitle: yearCaption.plural, isPlural: true, onPrevClick: !isPrevDisabled ? handlePrevClick : undefined, onNextClick: !isNextDisabled ? handleNextClick : undefined, headBtnText: `${(_b = grid[0]) === null || _b === void 0 ? void 0 : _b.year}-${(_c = grid.at(-1)) === null || _c === void 0 ? void 0 : _c.year}` })), _jsx(DateCalendarGridLarge, { children: grid.map((_a) => {
|
|
33
|
+
var { year, date } = _a, props = __rest(_a, ["year", "date"]);
|
|
34
|
+
return (_jsx(DateCalendarGridBtnLarge, Object.assign({ onClick: () => onChange === null || onChange === void 0 ? void 0 : onChange(date) }, props, { children: year }), year));
|
|
35
|
+
}) })] }));
|
|
36
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const YEARS_IN_GRID = 12;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const YEARS_IN_GRID = 12;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useYearsGrid';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useYearsGrid';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
2
|
+
import { YEARS_IN_GRID } from '../../constants';
|
|
3
|
+
import { DateCompareDeep, addYears, buildIsoDate, isDateOutOfRange, } from '../../../../utils/date';
|
|
4
|
+
import { buildGridResult } from '../../../utils/buildGridItem';
|
|
5
|
+
import { MinMaxDateContext } from '../../../MinMaxDateContext';
|
|
6
|
+
// отступ означающий на сколько нужно сделать отступ в годовом календаре, чтобы опорный год отрендерился в указанном месте
|
|
7
|
+
// если делать без него, то опорный год будет отрендерен в самом начале списка
|
|
8
|
+
const YEAR_OFFSET = 4;
|
|
9
|
+
export const useYearsGrid = ({ baseDate, selectedDate, }) => {
|
|
10
|
+
const { maxDate, minDate } = useContext(MinMaxDateContext);
|
|
11
|
+
return useMemo(() => {
|
|
12
|
+
const grid = [];
|
|
13
|
+
const baseYear = baseDate.getUTCFullYear();
|
|
14
|
+
const currentYear = new Date().getFullYear();
|
|
15
|
+
const selectedYear = selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.getUTCFullYear();
|
|
16
|
+
for (let i = 0 - YEAR_OFFSET; i < YEARS_IN_GRID - YEAR_OFFSET; i++) {
|
|
17
|
+
const date = buildIsoDate({ year: baseYear + i });
|
|
18
|
+
const year = date.getUTCFullYear();
|
|
19
|
+
grid.push({
|
|
20
|
+
date,
|
|
21
|
+
year,
|
|
22
|
+
selected: selectedYear === year,
|
|
23
|
+
isCurrent: year === currentYear,
|
|
24
|
+
disabled: isDateOutOfRange({
|
|
25
|
+
date,
|
|
26
|
+
minDate,
|
|
27
|
+
maxDate,
|
|
28
|
+
deep: DateCompareDeep.year,
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return buildGridResult({
|
|
33
|
+
grid,
|
|
34
|
+
minDate,
|
|
35
|
+
maxDate,
|
|
36
|
+
addCb: addYears,
|
|
37
|
+
deep: DateCompareDeep.year,
|
|
38
|
+
});
|
|
39
|
+
}, [baseDate, selectedDate]);
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './YearPicker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './YearPicker';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const russianMap = {
|
|
2
|
+
toYearPick: { single: 'К выбору года' },
|
|
3
|
+
toMonthPick: { single: 'К выбору месяца' },
|
|
4
|
+
toDayPick: { single: 'К выбору дня' },
|
|
5
|
+
previous: { single: 'Предыдущий', plural: 'Предыдущиe' },
|
|
6
|
+
next: { single: 'Следующий', plural: 'Следующие' },
|
|
7
|
+
year: { single: 'год', plural: 'года' },
|
|
8
|
+
month: { single: 'месяц', plural: 'месяца' },
|
|
9
|
+
day: { single: 'день', plural: 'дни' },
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useBaseDateInRange';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useBaseDateInRange';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MinMaxDate } from '../../types';
|
|
2
|
+
declare type UseBaseDateInRangeOptions = MinMaxDate;
|
|
3
|
+
/**
|
|
4
|
+
* @description хук который выдаст нам опорную дату, которая будет в пределах от минимальной, до максимальной, пригодится, когда текущая дата меньше минимальной, или больше миаксимальной.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useBaseDateInRange: ({ minDate, maxDate, }: UseBaseDateInRangeOptions) => Date;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { buildIsoDate } from '../../../utils/date';
|
|
3
|
+
/**
|
|
4
|
+
* @description хук который выдаст нам опорную дату, которая будет в пределах от минимальной, до максимальной, пригодится, когда текущая дата меньше минимальной, или больше миаксимальной.
|
|
5
|
+
*/
|
|
6
|
+
export const useBaseDateInRange = ({ minDate, maxDate, }) => useMemo(() => {
|
|
7
|
+
const currentDate = new Date();
|
|
8
|
+
const baseDate = buildIsoDate({
|
|
9
|
+
year: currentDate.getUTCFullYear(),
|
|
10
|
+
month: currentDate.getUTCMonth() + 1,
|
|
11
|
+
day: currentDate.getUTCDate(),
|
|
12
|
+
hour: currentDate.getUTCHours(),
|
|
13
|
+
});
|
|
14
|
+
if (Number(baseDate) < Number(minDate)) {
|
|
15
|
+
return minDate;
|
|
16
|
+
}
|
|
17
|
+
if (Number(baseDate) > Number(maxDate)) {
|
|
18
|
+
return maxDate;
|
|
19
|
+
}
|
|
20
|
+
return baseDate;
|
|
21
|
+
}, [minDate, maxDate]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useCalendarNavigate';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useCalendarNavigate';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare type UseCalendarNavigateProps = {
|
|
2
|
+
/**
|
|
3
|
+
* @description опорная дата, относительно которой будет идти переключение
|
|
4
|
+
*/
|
|
5
|
+
date: Date;
|
|
6
|
+
/**
|
|
7
|
+
* @description колбэк отвечающий за переключение опорной даты
|
|
8
|
+
* @example addDays || addMonths || addYears
|
|
9
|
+
*/
|
|
10
|
+
addCb: (date: Date, count: number) => Date;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @description хук для навигации в календаре по опорной дате
|
|
14
|
+
*/
|
|
15
|
+
export declare const useCalendarNavigate: ({ date, addCb, }: UseCalendarNavigateProps) => {
|
|
16
|
+
baseDate: Date;
|
|
17
|
+
handlePrevClick: () => void;
|
|
18
|
+
handleNextClick: () => void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @description хук для навигации в календаре по опорной дате
|
|
4
|
+
*/
|
|
5
|
+
export const useCalendarNavigate = ({ date, addCb, }) => {
|
|
6
|
+
const [baseDate, setBaseDate] = useState(date);
|
|
7
|
+
const handleNextClick = () => {
|
|
8
|
+
setBaseDate(addCb(baseDate, 1));
|
|
9
|
+
};
|
|
10
|
+
const handlePrevClick = () => {
|
|
11
|
+
setBaseDate(addCb(baseDate, -1));
|
|
12
|
+
};
|
|
13
|
+
useEffect(() => setBaseDate(date), [date]);
|
|
14
|
+
return {
|
|
15
|
+
baseDate,
|
|
16
|
+
handlePrevClick,
|
|
17
|
+
handleNextClick,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLocaleDateTimeFormat';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLocaleDateTimeFormat';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useContext, useRef } from 'react';
|
|
2
|
+
import { ConfigContext } from '../../../ConfigProvider';
|
|
3
|
+
export const useLocaleDateTimeFormat = (options) => {
|
|
4
|
+
const { language } = useContext(ConfigContext);
|
|
5
|
+
const { current } = useRef(Intl.DateTimeFormat(language, options).format);
|
|
6
|
+
return current;
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useSelectedBaseDate';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useSelectedBaseDate';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useSelectedBaseDate: (selectedDate?: Date | null) => Date | null | undefined;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useContext, useEffect, useState } from 'react';
|
|
2
|
+
import { MinMaxDateContext } from '../../MinMaxDateContext';
|
|
3
|
+
import { DateCompareDeep, areDatesSame, isDateOutOfRange, } from '../../../utils/date';
|
|
4
|
+
export const useSelectedBaseDate = (selectedDate) => {
|
|
5
|
+
const { minDate, maxDate } = useContext(MinMaxDateContext);
|
|
6
|
+
const [baseDate, setBaseDate] = useState(selectedDate);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (areDatesSame(baseDate, selectedDate)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (!selectedDate ||
|
|
12
|
+
isDateOutOfRange({
|
|
13
|
+
date: selectedDate,
|
|
14
|
+
minDate,
|
|
15
|
+
maxDate,
|
|
16
|
+
deep: DateCompareDeep.day,
|
|
17
|
+
})) {
|
|
18
|
+
setBaseDate(null);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
setBaseDate(selectedDate);
|
|
22
|
+
}
|
|
23
|
+
}, [selectedDate]);
|
|
24
|
+
return baseDate;
|
|
25
|
+
};
|
package/esm/DatePicker/index.js
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type LangItemValues = {
|
|
2
|
+
/**
|
|
3
|
+
* @description перевод в единственном числе, обязательный
|
|
4
|
+
* @example 'день'
|
|
5
|
+
*/
|
|
6
|
+
single: string;
|
|
7
|
+
/**
|
|
8
|
+
* @description перевод в множественном числе, опциональный
|
|
9
|
+
* @example 'дни'
|
|
10
|
+
*/
|
|
11
|
+
plural?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare type LangItemNames = 'toYearPick' | 'toMonthPick' | 'toDayPick' | 'previous' | 'next' | 'year' | 'month' | 'day';
|
|
14
|
+
export declare type LanguageMap = Record<LangItemNames, LangItemValues>;
|
|
File without changes
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description элемент для рендера в календаре
|
|
3
|
+
*/
|
|
4
|
+
export declare type GridItem<T> = {
|
|
5
|
+
/**
|
|
6
|
+
* @description дата календаря, будет использована в качестве опорной при выборе в календаре
|
|
7
|
+
*/
|
|
8
|
+
date: Date;
|
|
9
|
+
/**
|
|
10
|
+
* @description флаг, обозначающий, что дата совпадает с выбранным
|
|
11
|
+
*/
|
|
12
|
+
selected: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* @description флаг, обозначающий, что дата совпадает с текущей датой пользователя
|
|
15
|
+
*/
|
|
16
|
+
isCurrent: boolean;
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
} & T;
|
|
19
|
+
export declare type GridBuilderResult<T> = {
|
|
20
|
+
/**
|
|
21
|
+
* @description флаг обозначающий, что дата идущая ДО календаря задизейблена, и можно выключить стрелку "назад"
|
|
22
|
+
*/
|
|
23
|
+
isPrevDisabled: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* @description флаг обозначающий, что дата идущая ПОСЛЕ календаря задизейблена, и можно выключить стрелку "вперед"
|
|
26
|
+
*/
|
|
27
|
+
isNextDisabled: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* @description массив элементов для рендера в календаре
|
|
30
|
+
*/
|
|
31
|
+
grid: GridItem<T>[];
|
|
32
|
+
};
|
|
33
|
+
declare type GridBuilderOptions<T = {}> = {
|
|
34
|
+
/**
|
|
35
|
+
* @description опорная дата, для построения массива календаря
|
|
36
|
+
*/
|
|
37
|
+
baseDate: Date;
|
|
38
|
+
/**
|
|
39
|
+
* @description выбранная дата, будет использоваться для сверки элемента массива с этой датой на предмет совпадения
|
|
40
|
+
*/
|
|
41
|
+
selectedDate?: Date | null;
|
|
42
|
+
} & T;
|
|
43
|
+
export declare type GridBuilder<Item = {}, Options = {}> = (options: GridBuilderOptions<Options>) => GridBuilderResult<Item>;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare type PickerProps = {
|
|
2
|
+
/**
|
|
3
|
+
* @description опорная дата, относительно которой потребуется построить календарь
|
|
4
|
+
*/
|
|
5
|
+
date: Date;
|
|
6
|
+
/**
|
|
7
|
+
* @description выбранная дата, будет подсвечена в календаре
|
|
8
|
+
*/
|
|
9
|
+
selectedDate?: Date | null;
|
|
10
|
+
onChange?: (date: Date) => void;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|