rsuite 5.70.3 → 5.72.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/Accordion/styles/index.css +20 -6
- package/Animation/styles/collapse.less +2 -1
- package/Animation/styles/fade.less +1 -1
- package/Animation/styles/index.css +8 -0
- package/Animation/styles/index.less +1 -0
- package/Animation/styles/variables.less +4 -0
- package/AutoComplete/styles/index.css +11 -0
- package/CHANGELOG.md +31 -0
- package/Calendar/styles/index.css +43 -13
- package/Calendar/styles/index.less +34 -2
- package/Cascader/styles/index.css +11 -0
- package/CheckPicker/styles/index.css +11 -0
- package/CheckTree/styles/index.css +11 -0
- package/CheckTreePicker/styles/index.css +11 -0
- package/DatePicker/styles/index.css +61 -15
- package/DatePicker/styles/index.less +8 -1
- package/DateRangePicker/styles/index.css +65 -17
- package/DateRangePicker/styles/index.less +7 -2
- package/InputPicker/styles/index.css +11 -0
- package/MultiCascadeTree/styles/index.css +11 -0
- package/MultiCascader/styles/index.css +11 -0
- package/Pagination/styles/index.css +11 -0
- package/Panel/styles/index.css +20 -6
- package/SelectPicker/styles/index.css +11 -0
- package/TagInput/styles/index.css +11 -0
- package/TagPicker/styles/index.css +11 -0
- package/TimePicker/package.json +7 -0
- package/TimePicker/styles/index.css +4161 -0
- package/TimePicker/styles/index.less +1 -0
- package/TimeRangePicker/package.json +7 -0
- package/TimeRangePicker/styles/index.css +4264 -0
- package/TimeRangePicker/styles/index.less +1 -0
- package/cjs/Calendar/Calendar.d.ts +1 -1
- package/cjs/Calendar/Calendar.js +22 -26
- package/cjs/Calendar/CalendarBody.js +9 -9
- package/cjs/Calendar/CalendarContainer.d.ts +10 -2
- package/cjs/Calendar/CalendarContainer.js +40 -68
- package/cjs/Calendar/CalendarHeader.d.ts +0 -2
- package/cjs/Calendar/CalendarHeader.js +24 -42
- package/cjs/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
- package/cjs/Calendar/CalendarProvider.js +13 -0
- package/cjs/Calendar/Grid/Grid.d.ts +6 -0
- package/cjs/Calendar/{Table.js → Grid/Grid.js} +11 -17
- package/cjs/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
- package/cjs/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
- package/cjs/Calendar/Grid/GridHeaderRow.d.ts +4 -0
- package/cjs/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
- package/cjs/Calendar/Grid/GridRow.d.ts +7 -0
- package/cjs/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
- package/cjs/Calendar/Grid/index.d.ts +2 -0
- package/cjs/Calendar/Grid/index.js +8 -0
- package/cjs/Calendar/MonthDropdown.d.ts +0 -15
- package/cjs/Calendar/MonthDropdown.js +6 -6
- package/cjs/Calendar/MonthDropdownItem.js +6 -6
- package/cjs/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
- package/cjs/Calendar/TimeDropdown/TimeColumn.js +27 -0
- package/{esm/Calendar → cjs/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
- package/cjs/Calendar/{TimeDropdown.js → TimeDropdown/TimeDropdown.js} +79 -112
- package/cjs/Calendar/TimeDropdown/index.d.ts +2 -0
- package/cjs/Calendar/TimeDropdown/index.js +8 -0
- package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
- package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +8 -0
- package/cjs/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
- package/cjs/Calendar/TimeDropdown/utils/getClockTime.js +43 -0
- package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
- package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.js +24 -0
- package/cjs/Calendar/TimeDropdown/utils/index.d.ts +4 -0
- package/cjs/Calendar/TimeDropdown/utils/index.js +23 -0
- package/cjs/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
- package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +28 -0
- package/cjs/Calendar/hooks/index.d.ts +3 -0
- package/cjs/Calendar/hooks/index.js +24 -0
- package/cjs/Calendar/hooks/useCalendar.d.ts +2 -0
- package/cjs/Calendar/hooks/useCalendar.js +10 -0
- package/cjs/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
- package/cjs/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +8 -8
- package/cjs/Calendar/hooks/useCalendarState.d.ts +22 -0
- package/cjs/Calendar/hooks/useCalendarState.js +60 -0
- package/cjs/Calendar/index.d.ts +2 -4
- package/cjs/Calendar/index.js +2 -4
- package/cjs/Calendar/types.d.ts +19 -0
- package/cjs/Calendar/types.js +4 -0
- package/cjs/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
- package/cjs/Calendar/utils/index.d.ts +1 -0
- package/cjs/Calendar/utils/index.js +7 -0
- package/cjs/CustomProvider/CustomProvider.d.ts +19 -3
- package/cjs/DateInput/DateField.js +2 -2
- package/cjs/DateInput/DateInput.js +17 -6
- package/cjs/DateInput/hooks/useDateInputState.js +1 -1
- package/cjs/DatePicker/DatePicker.d.ts +9 -5
- package/cjs/DatePicker/DatePicker.js +46 -55
- package/cjs/DatePicker/utils.js +1 -1
- package/cjs/DateRangeInput/DateRangeInput.js +16 -5
- package/cjs/DateRangePicker/Calendar.d.ts +4 -5
- package/cjs/DateRangePicker/Calendar.js +18 -44
- package/cjs/DateRangePicker/DateRangePicker.d.ts +33 -4
- package/cjs/DateRangePicker/DateRangePicker.js +106 -71
- package/cjs/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
- package/cjs/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +3 -3
- package/cjs/DateRangePicker/hooks/index.d.ts +3 -0
- package/cjs/DateRangePicker/hooks/index.js +11 -0
- package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
- package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +43 -0
- package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
- package/cjs/DateRangePicker/hooks/useDateDisabled.js +1 -0
- package/cjs/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
- package/cjs/DateRangePicker/hooks/useDateRangePicker.js +10 -0
- package/cjs/DateRangePicker/utils.js +1 -1
- package/cjs/Form/hooks/useFormValidate.js +2 -1
- package/cjs/InlineEdit/renderChildren.d.ts +1 -1
- package/cjs/InlineEdit/renderChildren.js +13 -4
- package/cjs/InlineEdit/useFocusEvent.d.ts +2 -2
- package/cjs/InlineEdit/useFocusEvent.js +9 -4
- package/cjs/TimePicker/TimePicker.d.ts +81 -0
- package/cjs/TimePicker/TimePicker.js +31 -0
- package/cjs/TimePicker/index.d.ts +3 -0
- package/cjs/TimePicker/index.js +8 -0
- package/cjs/TimeRangePicker/TimeRangePicker.d.ts +77 -0
- package/cjs/TimeRangePicker/TimeRangePicker.js +23 -0
- package/cjs/TimeRangePicker/index.d.ts +3 -0
- package/cjs/TimeRangePicker/index.js +8 -0
- package/cjs/index.d.ts +4 -0
- package/cjs/index.js +6 -1
- package/cjs/internals/Picker/Listbox.js +4 -2
- package/cjs/internals/hooks/useCustom.js +2 -2
- package/cjs/internals/utils/date/extractTimeFormat.d.ts +4 -0
- package/cjs/internals/utils/date/extractTimeFormat.js +12 -0
- package/cjs/internals/utils/date/formatCheck.d.ts +4 -0
- package/cjs/internals/utils/date/formatCheck.js +8 -1
- package/cjs/internals/utils/date/index.d.ts +4 -2
- package/cjs/internals/utils/date/index.js +72 -7
- package/cjs/internals/utils/date/useDateMode.d.ts +16 -0
- package/cjs/internals/utils/date/useDateMode.js +57 -0
- package/cjs/internals/utils/index.d.ts +0 -1
- package/cjs/internals/utils/index.js +1 -4
- package/cjs/locales/ar_EG.d.ts +10 -0
- package/cjs/locales/ar_EG.js +8 -4
- package/cjs/locales/ca_ES.d.ts +10 -0
- package/cjs/locales/ca_ES.js +8 -4
- package/cjs/locales/cs_CZ.d.ts +10 -0
- package/cjs/locales/cs_CZ.js +8 -4
- package/cjs/locales/da_DK.d.ts +10 -0
- package/cjs/locales/da_DK.js +8 -4
- package/cjs/locales/de_DE.d.ts +10 -0
- package/cjs/locales/de_DE.js +8 -4
- package/cjs/locales/en_GB.d.ts +130 -2
- package/cjs/locales/en_GB.js +85 -2
- package/cjs/locales/en_US.d.ts +10 -0
- package/cjs/locales/en_US.js +8 -4
- package/cjs/locales/es_AR.d.ts +10 -0
- package/cjs/locales/es_AR.js +8 -4
- package/cjs/locales/es_ES.d.ts +10 -0
- package/cjs/locales/es_ES.js +8 -4
- package/cjs/locales/fa_IR.d.ts +10 -0
- package/cjs/locales/fa_IR.js +8 -4
- package/cjs/locales/fi_FI.d.ts +10 -0
- package/cjs/locales/fi_FI.js +8 -4
- package/cjs/locales/fr_FR.d.ts +10 -0
- package/cjs/locales/fr_FR.js +8 -4
- package/cjs/locales/hu_HU.d.ts +10 -0
- package/cjs/locales/hu_HU.js +8 -4
- package/cjs/locales/index.d.ts +1 -1
- package/cjs/locales/it_IT.d.ts +10 -0
- package/cjs/locales/it_IT.js +8 -4
- package/cjs/locales/ja_JP.d.ts +10 -0
- package/cjs/locales/ja_JP.js +8 -4
- package/cjs/locales/kk_KZ.d.ts +10 -0
- package/cjs/locales/kk_KZ.js +8 -4
- package/cjs/locales/ko_KR.d.ts +10 -0
- package/cjs/locales/ko_KR.js +8 -4
- package/cjs/locales/ne_NP.d.ts +10 -0
- package/cjs/locales/ne_NP.js +8 -4
- package/cjs/locales/nl_NL.d.ts +10 -0
- package/cjs/locales/nl_NL.js +8 -4
- package/cjs/locales/pt_BR.d.ts +10 -0
- package/cjs/locales/pt_BR.js +8 -4
- package/cjs/locales/ru_RU.d.ts +10 -0
- package/cjs/locales/ru_RU.js +8 -4
- package/cjs/locales/sv_SE.d.ts +10 -0
- package/cjs/locales/sv_SE.js +8 -4
- package/cjs/locales/tr_TR.d.ts +10 -0
- package/cjs/locales/tr_TR.js +8 -4
- package/cjs/locales/zh_CN.d.ts +10 -0
- package/cjs/locales/zh_CN.js +8 -4
- package/cjs/locales/zh_TW.d.ts +10 -0
- package/cjs/locales/zh_TW.js +8 -4
- package/dist/rsuite-no-reset-rtl.css +88 -21
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +88 -21
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +88 -21
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +88 -21
- package/dist/rsuite.js +362 -142
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Calendar/Calendar.d.ts +1 -1
- package/esm/Calendar/Calendar.js +21 -23
- package/esm/Calendar/CalendarBody.js +9 -9
- package/esm/Calendar/CalendarContainer.d.ts +10 -2
- package/esm/Calendar/CalendarContainer.js +41 -69
- package/esm/Calendar/CalendarHeader.d.ts +0 -2
- package/esm/Calendar/CalendarHeader.js +25 -43
- package/esm/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
- package/esm/Calendar/CalendarProvider.js +9 -0
- package/esm/Calendar/Grid/Grid.d.ts +6 -0
- package/esm/Calendar/{Table.js → Grid/Grid.js} +11 -17
- package/esm/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
- package/esm/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
- package/esm/Calendar/Grid/GridHeaderRow.d.ts +4 -0
- package/esm/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
- package/esm/Calendar/Grid/GridRow.d.ts +7 -0
- package/esm/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
- package/esm/Calendar/Grid/index.d.ts +2 -0
- package/esm/Calendar/Grid/index.js +3 -0
- package/esm/Calendar/MonthDropdown.d.ts +0 -15
- package/esm/Calendar/MonthDropdown.js +6 -6
- package/esm/Calendar/MonthDropdownItem.js +9 -9
- package/esm/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
- package/esm/Calendar/TimeDropdown/TimeColumn.js +22 -0
- package/{cjs/Calendar → esm/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
- package/esm/Calendar/TimeDropdown/TimeDropdown.js +161 -0
- package/esm/Calendar/TimeDropdown/index.d.ts +2 -0
- package/esm/Calendar/TimeDropdown/index.js +3 -0
- package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
- package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +4 -0
- package/esm/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
- package/esm/Calendar/TimeDropdown/utils/getClockTime.js +39 -0
- package/esm/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
- package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +20 -0
- package/esm/Calendar/TimeDropdown/utils/index.d.ts +4 -0
- package/esm/Calendar/TimeDropdown/utils/index.js +5 -0
- package/esm/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
- package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +23 -0
- package/esm/Calendar/hooks/index.d.ts +3 -0
- package/esm/Calendar/hooks/index.js +4 -0
- package/esm/Calendar/hooks/useCalendar.d.ts +2 -0
- package/esm/Calendar/hooks/useCalendar.js +6 -0
- package/esm/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
- package/esm/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +7 -7
- package/esm/Calendar/hooks/useCalendarState.d.ts +22 -0
- package/esm/Calendar/hooks/useCalendarState.js +56 -0
- package/esm/Calendar/index.d.ts +2 -4
- package/esm/Calendar/index.js +2 -3
- package/esm/Calendar/types.d.ts +19 -0
- package/esm/Calendar/types.js +2 -0
- package/esm/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
- package/esm/Calendar/utils/index.d.ts +1 -0
- package/esm/Calendar/utils/index.js +2 -0
- package/esm/CustomProvider/CustomProvider.d.ts +19 -3
- package/esm/DateInput/DateField.js +2 -2
- package/esm/DateInput/DateInput.js +17 -6
- package/esm/DateInput/hooks/useDateInputState.js +1 -1
- package/esm/DatePicker/DatePicker.d.ts +9 -5
- package/esm/DatePicker/DatePicker.js +28 -36
- package/esm/DatePicker/hooks/useFocus.js +1 -1
- package/esm/DatePicker/utils.js +2 -2
- package/esm/DateRangeInput/DateRangeInput.js +16 -5
- package/esm/DateRangePicker/Calendar.d.ts +4 -5
- package/esm/DateRangePicker/Calendar.js +19 -47
- package/esm/DateRangePicker/DateRangePicker.d.ts +33 -4
- package/esm/DateRangePicker/DateRangePicker.js +107 -72
- package/esm/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
- package/esm/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +2 -2
- package/esm/DateRangePicker/hooks/index.d.ts +3 -0
- package/esm/DateRangePicker/hooks/index.js +4 -0
- package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
- package/esm/DateRangePicker/hooks/useCalendarHandlers.js +38 -0
- package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
- package/esm/DateRangePicker/hooks/useDateDisabled.js +1 -1
- package/esm/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
- package/esm/DateRangePicker/hooks/useDateRangePicker.js +6 -0
- package/esm/DateRangePicker/utils.js +2 -2
- package/esm/Form/hooks/useFormValidate.js +2 -1
- package/esm/InlineEdit/renderChildren.d.ts +1 -1
- package/esm/InlineEdit/renderChildren.js +13 -4
- package/esm/InlineEdit/useFocusEvent.d.ts +2 -2
- package/esm/InlineEdit/useFocusEvent.js +9 -4
- package/esm/TimePicker/TimePicker.d.ts +81 -0
- package/esm/TimePicker/TimePicker.js +24 -0
- package/esm/TimePicker/index.d.ts +3 -0
- package/esm/TimePicker/index.js +3 -0
- package/esm/TimeRangePicker/TimeRangePicker.d.ts +77 -0
- package/esm/TimeRangePicker/TimeRangePicker.js +18 -0
- package/esm/TimeRangePicker/index.d.ts +3 -0
- package/esm/TimeRangePicker/index.js +3 -0
- package/esm/index.d.ts +4 -0
- package/esm/index.js +2 -0
- package/esm/internals/Picker/Listbox.js +4 -2
- package/esm/internals/hooks/useCustom.js +1 -1
- package/esm/internals/utils/date/extractTimeFormat.d.ts +4 -0
- package/esm/internals/utils/date/extractTimeFormat.js +8 -0
- package/esm/internals/utils/date/formatCheck.d.ts +4 -0
- package/esm/internals/utils/date/formatCheck.js +7 -0
- package/esm/internals/utils/date/index.d.ts +4 -2
- package/esm/internals/utils/date/index.js +4 -2
- package/esm/internals/utils/date/useDateMode.d.ts +16 -0
- package/esm/internals/utils/date/useDateMode.js +54 -0
- package/esm/internals/utils/index.d.ts +0 -1
- package/esm/internals/utils/index.js +0 -1
- package/esm/locales/ar_EG.d.ts +10 -0
- package/esm/locales/ar_EG.js +8 -4
- package/esm/locales/ca_ES.d.ts +10 -0
- package/esm/locales/ca_ES.js +8 -4
- package/esm/locales/cs_CZ.d.ts +10 -0
- package/esm/locales/cs_CZ.js +8 -4
- package/esm/locales/da_DK.d.ts +10 -0
- package/esm/locales/da_DK.js +8 -4
- package/esm/locales/de_DE.d.ts +10 -0
- package/esm/locales/de_DE.js +8 -4
- package/esm/locales/en_GB.d.ts +130 -2
- package/esm/locales/en_GB.js +85 -2
- package/esm/locales/en_US.d.ts +10 -0
- package/esm/locales/en_US.js +8 -4
- package/esm/locales/es_AR.d.ts +10 -0
- package/esm/locales/es_AR.js +8 -4
- package/esm/locales/es_ES.d.ts +10 -0
- package/esm/locales/es_ES.js +8 -4
- package/esm/locales/fa_IR.d.ts +10 -0
- package/esm/locales/fa_IR.js +8 -4
- package/esm/locales/fi_FI.d.ts +10 -0
- package/esm/locales/fi_FI.js +8 -4
- package/esm/locales/fr_FR.d.ts +10 -0
- package/esm/locales/fr_FR.js +8 -4
- package/esm/locales/hu_HU.d.ts +10 -0
- package/esm/locales/hu_HU.js +8 -4
- package/esm/locales/index.d.ts +1 -1
- package/esm/locales/it_IT.d.ts +10 -0
- package/esm/locales/it_IT.js +8 -4
- package/esm/locales/ja_JP.d.ts +10 -0
- package/esm/locales/ja_JP.js +8 -4
- package/esm/locales/kk_KZ.d.ts +10 -0
- package/esm/locales/kk_KZ.js +8 -4
- package/esm/locales/ko_KR.d.ts +10 -0
- package/esm/locales/ko_KR.js +8 -4
- package/esm/locales/ne_NP.d.ts +10 -0
- package/esm/locales/ne_NP.js +8 -4
- package/esm/locales/nl_NL.d.ts +10 -0
- package/esm/locales/nl_NL.js +8 -4
- package/esm/locales/pt_BR.d.ts +10 -0
- package/esm/locales/pt_BR.js +8 -4
- package/esm/locales/ru_RU.d.ts +10 -0
- package/esm/locales/ru_RU.js +8 -4
- package/esm/locales/sv_SE.d.ts +10 -0
- package/esm/locales/sv_SE.js +8 -4
- package/esm/locales/tr_TR.d.ts +10 -0
- package/esm/locales/tr_TR.js +8 -4
- package/esm/locales/zh_CN.d.ts +10 -0
- package/esm/locales/zh_CN.js +8 -4
- package/esm/locales/zh_TW.d.ts +10 -0
- package/esm/locales/zh_TW.js +8 -4
- package/internals/Picker/styles/index.less +17 -0
- package/internals/ScrollView/styles/index.less +1 -5
- package/package.json +1 -1
- package/styles/color-modes/dark.less +5 -0
- package/styles/color-modes/high-contrast.less +5 -0
- package/styles/color-modes/light.less +5 -0
- package/styles/common.less +3 -3
- package/styles/variables.less +2 -2
- package/cjs/Calendar/CalendarContext.js +0 -22
- package/cjs/Calendar/Table.d.ts +0 -6
- package/cjs/Calendar/TableHeaderRow.d.ts +0 -4
- package/cjs/Calendar/TableRow.d.ts +0 -7
- package/cjs/Calendar/useCalendarState.d.ts +0 -11
- package/cjs/Calendar/useCalendarState.js +0 -32
- package/cjs/DateRangePicker/DateRangePickerContext.d.ts +0 -10
- package/cjs/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
- package/cjs/internals/utils/date/getReversedTimeMeridian.js +0 -21
- package/cjs/internals/utils/scrollTopAnimation.d.ts +0 -5
- package/cjs/internals/utils/scrollTopAnimation.js +0 -32
- package/cjs/locales/default.d.ts +0 -120
- package/cjs/locales/default.js +0 -87
- package/esm/Calendar/CalendarContext.js +0 -17
- package/esm/Calendar/Table.d.ts +0 -6
- package/esm/Calendar/TableHeaderRow.d.ts +0 -4
- package/esm/Calendar/TableRow.d.ts +0 -7
- package/esm/Calendar/TimeDropdown.js +0 -192
- package/esm/Calendar/useCalendarState.d.ts +0 -11
- package/esm/Calendar/useCalendarState.js +0 -28
- package/esm/DateRangePicker/DateRangePickerContext.d.ts +0 -10
- package/esm/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
- package/esm/internals/utils/date/getReversedTimeMeridian.js +0 -17
- package/esm/internals/utils/scrollTopAnimation.d.ts +0 -5
- package/esm/internals/utils/scrollTopAnimation.js +0 -27
- package/esm/locales/default.d.ts +0 -120
- package/esm/locales/default.js +0 -82
- package/locales/default/package.json +0 -7
- /package/cjs/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
- /package/esm/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
|
@@ -16,13 +16,16 @@ import { getInputSelectedState, DateType, getDateType, isSwitchDateType } from "
|
|
|
16
16
|
* @see https://rsuitejs.com/components/date-range-input/
|
|
17
17
|
*/
|
|
18
18
|
var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
19
|
+
var _useCustom = useCustom('Calendar'),
|
|
20
|
+
locale = _useCustom.locale,
|
|
21
|
+
parseDate = _useCustom.parseDate;
|
|
19
22
|
var className = props.className,
|
|
20
23
|
_props$classPrefix = props.classPrefix,
|
|
21
24
|
classPrefix = _props$classPrefix === void 0 ? 'date-range-input' : _props$classPrefix,
|
|
22
25
|
_props$character = props.character,
|
|
23
26
|
character = _props$character === void 0 ? ' ~ ' : _props$character,
|
|
24
27
|
_props$format = props.format,
|
|
25
|
-
formatStr = _props$format === void 0 ?
|
|
28
|
+
formatStr = _props$format === void 0 ? locale.shortDateFormat : _props$format,
|
|
26
29
|
valueProp = props.value,
|
|
27
30
|
_props$defaultValue = props.defaultValue,
|
|
28
31
|
defaultValue = _props$defaultValue === void 0 ? [] : _props$defaultValue,
|
|
@@ -41,9 +44,6 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
41
44
|
var _useSelectedState = useSelectedState(),
|
|
42
45
|
selectedState = _useSelectedState.selectedState,
|
|
43
46
|
setSelectedState = _useSelectedState.setSelectedState;
|
|
44
|
-
var _useCustom = useCustom('Calendar'),
|
|
45
|
-
locale = _useCustom.locale,
|
|
46
|
-
parseDate = _useCustom.parseDate;
|
|
47
47
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
48
48
|
var dateLocale = locale.dateLocale;
|
|
49
49
|
var _useControlled = useControlled(valueProp, defaultValue),
|
|
@@ -103,6 +103,14 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
103
103
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
104
104
|
setValue(nextValue);
|
|
105
105
|
});
|
|
106
|
+
var handleClear = useEventCallback(function (event) {
|
|
107
|
+
startDateState.setNewDate(null);
|
|
108
|
+
endDateState.setNewDate(null);
|
|
109
|
+
setSelectionRange(0, 0);
|
|
110
|
+
reset();
|
|
111
|
+
setValue(null);
|
|
112
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
|
|
113
|
+
});
|
|
106
114
|
var onSegmentChange = useEventCallback(function (event, nextDirection) {
|
|
107
115
|
var input = event.target;
|
|
108
116
|
var key = event.key;
|
|
@@ -182,7 +190,10 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
182
190
|
});
|
|
183
191
|
var onSegmentValueRemove = useEventCallback(function (event) {
|
|
184
192
|
var input = event.target;
|
|
185
|
-
|
|
193
|
+
var value = input.value;
|
|
194
|
+
if (input.selectionStart === 0 && value && input.selectionEnd === value.length) {
|
|
195
|
+
handleClear(event);
|
|
196
|
+
} else if (selectedState.selectedPattern) {
|
|
186
197
|
var nextState = getInputSelectedState(_extends({}, keyPressOptions, {
|
|
187
198
|
input: input,
|
|
188
199
|
valueOffset: null
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CalendarProps as
|
|
2
|
+
import { CalendarProps as CalendarContainerProps } from '../Calendar/CalendarContainer';
|
|
3
3
|
import { DATERANGE_DISABLED_TARGET } from '../internals/constants';
|
|
4
4
|
import { DateRange } from './types';
|
|
5
5
|
import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
|
|
6
6
|
import { DatePickerLocale } from '../locales';
|
|
7
|
-
type OmitCalendarCoreTypes = 'disabledDate' | 'onSelect' | 'onMouseMove' | 'calendarDate' | 'format' | 'locale'
|
|
8
|
-
export interface CalendarProps extends WithAsProps, Omit<
|
|
9
|
-
|
|
7
|
+
type OmitCalendarCoreTypes = 'disabledDate' | 'onSelect' | 'onMouseMove' | 'calendarDate' | 'format' | 'locale';
|
|
8
|
+
export interface CalendarProps extends WithAsProps, Omit<CalendarContainerProps, OmitCalendarCoreTypes> {
|
|
9
|
+
calendarDateRange?: DateRange;
|
|
10
10
|
disabledDate?: (date: Date, selectValue: [] | [Date] | [Date, Date], type: DATERANGE_DISABLED_TARGET) => boolean;
|
|
11
11
|
format?: string;
|
|
12
12
|
hoverRangeValue?: DateRange;
|
|
@@ -20,7 +20,6 @@ export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, Omit
|
|
|
20
20
|
value?: [] | [Date] | [Date, Date];
|
|
21
21
|
onChangeCalendarMonth?: (index: number, date: Date) => void;
|
|
22
22
|
onChangeCalendarTime?: (index: number, date: Date) => void;
|
|
23
|
-
onToggleMeridian: (index: number, event: React.MouseEvent) => void;
|
|
24
23
|
onSelect?: (index: number, date: Date, event: React.SyntheticEvent) => void;
|
|
25
24
|
onMouseMove?: (date: Date) => void;
|
|
26
25
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
var _excluded = ["as", "
|
|
5
|
-
import React from 'react';
|
|
6
|
-
import
|
|
7
|
-
import { addMonths } from "../internals/utils/date/index.js";
|
|
4
|
+
var _excluded = ["as", "calendarDateRange", "format", "disabledDate", "index", "limitEndYear", "limitStartYear", "onChangeCalendarMonth", "onChangeCalendarTime", "onSelect", "value"];
|
|
5
|
+
import React, { useCallback } from 'react';
|
|
6
|
+
import CalendarContainer from "../Calendar/CalendarContainer.js";
|
|
7
|
+
import { addMonths, startOfToday } from "../internals/utils/date/index.js";
|
|
8
8
|
import { DATERANGE_DISABLED_TARGET } from "../internals/constants/index.js";
|
|
9
|
-
import {
|
|
9
|
+
import { useCalendarHandlers } from "./hooks/index.js";
|
|
10
10
|
var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
11
11
|
var _props$as = props.as,
|
|
12
|
-
Component = _props$as === void 0 ?
|
|
13
|
-
_props$
|
|
14
|
-
|
|
12
|
+
Component = _props$as === void 0 ? CalendarContainer : _props$as,
|
|
13
|
+
_props$calendarDateRa = props.calendarDateRange,
|
|
14
|
+
calendarDateRange = _props$calendarDateRa === void 0 ? [startOfToday(), addMonths(startOfToday(), 1)] : _props$calendarDateRa,
|
|
15
15
|
_props$format = props.format,
|
|
16
16
|
format = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
17
17
|
disabledDate = props.disabledDate,
|
|
@@ -21,57 +21,29 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
21
21
|
limitStartYear = props.limitStartYear,
|
|
22
22
|
onChangeCalendarMonth = props.onChangeCalendarMonth,
|
|
23
23
|
onChangeCalendarTime = props.onChangeCalendarTime,
|
|
24
|
-
onToggleMeridian = props.onToggleMeridian,
|
|
25
24
|
onSelect = props.onSelect,
|
|
26
25
|
_props$value = props.value,
|
|
27
26
|
value = _props$value === void 0 ? [] : _props$value,
|
|
28
27
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var handleSelect = useEventCallback(function (date, event) {
|
|
36
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(index, date, event);
|
|
37
|
-
});
|
|
38
|
-
var handleChangeMonth = useEventCallback(function (nextPageDate) {
|
|
39
|
-
onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate);
|
|
40
|
-
});
|
|
41
|
-
var handleChangeTime = useEventCallback(function (nextPageDate) {
|
|
42
|
-
onChangeCalendarTime === null || onChangeCalendarTime === void 0 ? void 0 : onChangeCalendarTime(index, nextPageDate);
|
|
43
|
-
});
|
|
44
|
-
var handleToggleMeridian = useEventCallback(function (event) {
|
|
45
|
-
onToggleMeridian(index, event);
|
|
46
|
-
});
|
|
47
|
-
var getCalendarDate = function getCalendarDate() {
|
|
48
|
-
return calendarDate[index];
|
|
49
|
-
};
|
|
50
|
-
var handleMoveForward = useEventCallback(function () {
|
|
51
|
-
onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward(addMonths(getCalendarDate(), 1));
|
|
52
|
-
});
|
|
53
|
-
var handleMoveBackward = useEventCallback(function () {
|
|
54
|
-
onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward(addMonths(getCalendarDate(), -1));
|
|
28
|
+
var calendarHandlers = useCalendarHandlers({
|
|
29
|
+
index: index,
|
|
30
|
+
calendarDateRange: calendarDateRange,
|
|
31
|
+
onChangeCalendarMonth: onChangeCalendarMonth,
|
|
32
|
+
onChangeCalendarTime: onChangeCalendarTime,
|
|
33
|
+
onSelect: onSelect
|
|
55
34
|
});
|
|
56
|
-
var
|
|
35
|
+
var disableCalendarDate = useCallback(function (date) {
|
|
57
36
|
return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, value, DATERANGE_DISABLED_TARGET.CALENDAR);
|
|
58
|
-
};
|
|
37
|
+
}, [disabledDate, value]);
|
|
59
38
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
60
39
|
"data-testid": "calendar-" + (index === 0 ? 'start' : 'end')
|
|
61
|
-
}, rest, {
|
|
40
|
+
}, rest, calendarHandlers, {
|
|
41
|
+
index: index,
|
|
62
42
|
format: format,
|
|
63
43
|
dateRange: value,
|
|
64
|
-
disabledDate:
|
|
65
|
-
index: index,
|
|
44
|
+
disabledDate: disableCalendarDate,
|
|
66
45
|
limitEndYear: limitEndYear,
|
|
67
46
|
limitStartYear: limitStartYear,
|
|
68
|
-
onChangeMonth: handleChangeMonth,
|
|
69
|
-
onChangeTime: handleChangeTime,
|
|
70
|
-
onMoveBackward: handleMoveBackward,
|
|
71
|
-
onMoveForward: handleMoveForward,
|
|
72
|
-
onToggleMeridian: handleToggleMeridian,
|
|
73
|
-
onSelect: handleSelect,
|
|
74
|
-
calendarDate: getCalendarDate(),
|
|
75
47
|
ref: ref
|
|
76
48
|
}));
|
|
77
49
|
});
|
|
@@ -3,17 +3,18 @@ import { PickerComponent } from '../internals/Picker';
|
|
|
3
3
|
import type { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
4
4
|
import type { FormControlBaseProps, PickerBaseProps } from '../internals/types';
|
|
5
5
|
import type { DateRangePickerLocale } from '../locales';
|
|
6
|
-
import type { MonthDropdownProps } from '../Calendar/
|
|
6
|
+
import type { MonthDropdownProps } from '../Calendar/types';
|
|
7
7
|
export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLocale>, FormControlBaseProps<DateRange | null> {
|
|
8
8
|
/**
|
|
9
9
|
* Custom caret component
|
|
10
10
|
*/
|
|
11
11
|
caretAs?: React.ElementType | null;
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Predefined date ranges
|
|
14
|
+
*/
|
|
13
15
|
ranges?: RangeType[];
|
|
14
16
|
/**
|
|
15
17
|
* Format of the date displayed in the input box
|
|
16
|
-
* @default 'yyyy-MM-dd'
|
|
17
18
|
*/
|
|
18
19
|
format?: string;
|
|
19
20
|
/**
|
|
@@ -68,9 +69,13 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
68
69
|
*/
|
|
69
70
|
showOneCalendar?: boolean;
|
|
70
71
|
/**
|
|
71
|
-
*
|
|
72
|
+
* @deprecated Use `showMeridiem` instead
|
|
72
73
|
*/
|
|
73
74
|
showMeridian?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Meridiem format for 12-hour time
|
|
77
|
+
*/
|
|
78
|
+
showMeridiem?: boolean;
|
|
74
79
|
/**
|
|
75
80
|
* Whether to display the formatted date range at the header of the calendar
|
|
76
81
|
* @default true
|
|
@@ -97,6 +102,18 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
97
102
|
* @version 5.69.0
|
|
98
103
|
*/
|
|
99
104
|
calendarSnapping?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Hide specific hour options
|
|
107
|
+
*/
|
|
108
|
+
hideHours?: (hour: number, date: Date) => boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Hide specific minute options
|
|
111
|
+
*/
|
|
112
|
+
hideMinutes?: (minute: number, date: Date) => boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Hide specific second options
|
|
115
|
+
*/
|
|
116
|
+
hideSeconds?: (second: number, date: Date) => boolean;
|
|
100
117
|
/**
|
|
101
118
|
* Disabled date
|
|
102
119
|
* @deprecated Use {@link shouldDisableDate} instead
|
|
@@ -106,6 +123,18 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
106
123
|
* Whether a date cell is disabled
|
|
107
124
|
*/
|
|
108
125
|
shouldDisableDate?: DisabledDateFunction;
|
|
126
|
+
/**
|
|
127
|
+
* Disabled hours on the time view
|
|
128
|
+
*/
|
|
129
|
+
shouldDisableHour?: (hour: number, date: Date) => boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Disabled minutes on the time view
|
|
132
|
+
*/
|
|
133
|
+
shouldDisableMinute?: (minute: number, date: Date) => boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Disabled seconds on the time view
|
|
136
|
+
*/
|
|
137
|
+
shouldDisableSecond?: (second: number, date: Date) => boolean;
|
|
109
138
|
/**
|
|
110
139
|
* Called when the option is selected
|
|
111
140
|
*/
|
|
@@ -3,18 +3,18 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
5
|
var _templateObject, _templateObject2;
|
|
6
|
-
var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
|
|
6
|
+
var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showMeridiem", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "hideHours", "hideMinutes", "hideSeconds", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
|
|
7
7
|
import React, { useEffect, useRef, useState, useMemo } from 'react';
|
|
8
8
|
import isNil from 'lodash/isNil';
|
|
9
9
|
import omit from 'lodash/omit';
|
|
10
10
|
import pick from 'lodash/pick';
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
12
|
import IconCalendar from '@rsuite/icons/legacy/Calendar';
|
|
13
|
-
import
|
|
13
|
+
import TimeIcon from '@rsuite/icons/Time';
|
|
14
14
|
import Toolbar from "../DatePicker/Toolbar.js";
|
|
15
15
|
import PredefinedRanges from "../DatePicker/PredefinedRanges.js";
|
|
16
16
|
import Stack from "../Stack/index.js";
|
|
17
|
-
import
|
|
17
|
+
import { DateRangePickerProvider } from "./DateRangePickerProvider.js";
|
|
18
18
|
import DateRangeInput from "../DateRangeInput/index.js";
|
|
19
19
|
import InputGroup from "../InputGroup/index.js";
|
|
20
20
|
import Header from "./Header.js";
|
|
@@ -27,7 +27,7 @@ import { DATERANGE_DISABLED_TARGET as TARGET } from "../internals/constants/inde
|
|
|
27
27
|
import { omitTriggerPropKeys, PickerPopup, pickerPropTypes, PickerToggleTrigger, PickerIndicator, PickerLabel, pickTriggerPropKeys, usePickerClassName, usePickerRef, onMenuKeyDown } from "../internals/Picker/index.js";
|
|
28
28
|
import { useClassNames, useControlled, useCustom, useUniqueId, useEventCallback } from "../internals/hooks/index.js";
|
|
29
29
|
import { createChainedFunction, mergeRefs, partitionHTMLProps, getStringLength } from "../internals/utils/index.js";
|
|
30
|
-
import { addMonths,
|
|
30
|
+
import { addMonths, addDays, copyTime, calendarOnlyProps, endOfDay, isValid, isBefore, isSameDay, isAfter, isSameMonth, reverseDateRangeOmitTime, startOfDay, DateMode, useDateMode } from "../internals/utils/date/index.js";
|
|
31
31
|
/**
|
|
32
32
|
* A date range picker allows you to select a date range from a calendar.
|
|
33
33
|
*
|
|
@@ -55,8 +55,10 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
55
55
|
disabled = props.disabled,
|
|
56
56
|
DEPRECATED_disabledDate = props.disabledDate,
|
|
57
57
|
shouldDisableDate = props.shouldDisableDate,
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
shouldDisableHour = props.shouldDisableHour,
|
|
59
|
+
shouldDisableMinute = props.shouldDisableMinute,
|
|
60
|
+
shouldDisableSecond = props.shouldDisableSecond,
|
|
61
|
+
format = props.format,
|
|
60
62
|
hoverRange = props.hoverRange,
|
|
61
63
|
idProp = props.id,
|
|
62
64
|
_props$isoWeek = props.isoWeek,
|
|
@@ -81,7 +83,9 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
81
83
|
_props$showOneCalenda = props.showOneCalendar,
|
|
82
84
|
showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
|
|
83
85
|
showWeekNumbers = props.showWeekNumbers,
|
|
84
|
-
|
|
86
|
+
DEPRECATED_showMeridian = props.showMeridian,
|
|
87
|
+
_props$showMeridiem = props.showMeridiem,
|
|
88
|
+
showMeridiem = _props$showMeridiem === void 0 ? DEPRECATED_showMeridian : _props$showMeridiem,
|
|
85
89
|
_props$showHeader = props.showHeader,
|
|
86
90
|
showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
|
|
87
91
|
style = props.style,
|
|
@@ -89,6 +93,9 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
89
93
|
caretAsProp = props.caretAs,
|
|
90
94
|
valueProp = props.value,
|
|
91
95
|
monthDropdownProps = props.monthDropdownProps,
|
|
96
|
+
hideHours = props.hideHours,
|
|
97
|
+
hideMinutes = props.hideMinutes,
|
|
98
|
+
hideSeconds = props.hideSeconds,
|
|
92
99
|
onChange = props.onChange,
|
|
93
100
|
onClean = props.onClean,
|
|
94
101
|
onEnter = props.onEnter,
|
|
@@ -111,16 +118,26 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
111
118
|
var _useCustom = useCustom('DateRangePicker', overrideLocale),
|
|
112
119
|
locale = _useCustom.locale,
|
|
113
120
|
formatDate = _useCustom.formatDate;
|
|
114
|
-
|
|
115
|
-
// Default gap between two calendars, if `showOneCalendar` is set, the gap is 0
|
|
116
|
-
var calendarGap = showOneCalendar ? 0 : 1;
|
|
121
|
+
var formatStr = format || locale.shortDateFormat || 'yyyy-MM-dd';
|
|
117
122
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
118
123
|
var _useControlled = useControlled(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
|
|
119
124
|
value = _useControlled[0],
|
|
120
125
|
setValue = _useControlled[1];
|
|
126
|
+
var _useDateMode = useDateMode(formatStr),
|
|
127
|
+
mode = _useDateMode.mode,
|
|
128
|
+
has = _useDateMode.has;
|
|
121
129
|
|
|
122
130
|
// Show only the calendar month panel. formatStr = 'yyyy-MM'
|
|
123
|
-
var onlyShowMonth =
|
|
131
|
+
var onlyShowMonth = mode === DateMode.Month;
|
|
132
|
+
|
|
133
|
+
// Only show the time panel. formatStr = 'HH:mm:ss'
|
|
134
|
+
var onlyShowTime = mode === DateMode.Time;
|
|
135
|
+
|
|
136
|
+
// Allows two calendar panels to display the same month.
|
|
137
|
+
var allowSameMonth = onlyShowMonth || showOneCalendar || onlyShowTime;
|
|
138
|
+
|
|
139
|
+
// Default gap between two calendars, if `showOneCalendar` is set, the gap is 0
|
|
140
|
+
var calendarGap = allowSameMonth ? 0 : 1;
|
|
124
141
|
|
|
125
142
|
/**
|
|
126
143
|
* Whether to complete the selection.
|
|
@@ -151,10 +168,11 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
151
168
|
|
|
152
169
|
// The displayed calendar panel is rendered based on this value.
|
|
153
170
|
var _useState4 = useState(getSafeCalendarDate({
|
|
154
|
-
value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
171
|
+
value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null,
|
|
172
|
+
allowSameMonth: allowSameMonth
|
|
155
173
|
})),
|
|
156
|
-
|
|
157
|
-
|
|
174
|
+
calendarDateRange = _useState4[0],
|
|
175
|
+
setCalendarDateRangeValue = _useState4[1];
|
|
158
176
|
|
|
159
177
|
/**
|
|
160
178
|
* When hoverRange is set, `selectValue` will be updated during the hover process,
|
|
@@ -177,7 +195,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
177
195
|
*/
|
|
178
196
|
var getCalendarDatetime = function getCalendarDatetime(calendarKey) {
|
|
179
197
|
var index = calendarKey === 'start' ? 0 : 1;
|
|
180
|
-
return (
|
|
198
|
+
return (calendarDateRange === null || calendarDateRange === void 0 ? void 0 : calendarDateRange[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);
|
|
181
199
|
};
|
|
182
200
|
|
|
183
201
|
/**
|
|
@@ -191,7 +209,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
191
209
|
var nextValue = dateRange;
|
|
192
210
|
|
|
193
211
|
// The time should remain the same when the dates in the date range are changed.
|
|
194
|
-
if (
|
|
212
|
+
if (has('time') && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {
|
|
195
213
|
var startDate = copyTime({
|
|
196
214
|
from: getCalendarDatetime('start'),
|
|
197
215
|
to: dateRange[0]
|
|
@@ -208,11 +226,9 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
208
226
|
var nextCalendarDate = getSafeCalendarDate({
|
|
209
227
|
value: nextValue,
|
|
210
228
|
calendarKey: calendarKey,
|
|
211
|
-
|
|
212
|
-
// there is no need to add a month and two calendar panels are allowed to display the same month
|
|
213
|
-
allowSameMonth: onlyShowMonth || showOneCalendar
|
|
229
|
+
allowSameMonth: allowSameMonth
|
|
214
230
|
});
|
|
215
|
-
|
|
231
|
+
setCalendarDateRangeValue(nextCalendarDate);
|
|
216
232
|
if (onlyShowMonth && eventName === 'changeMonth') {
|
|
217
233
|
setSelectedDates(nextCalendarDate);
|
|
218
234
|
}
|
|
@@ -351,7 +367,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
351
367
|
if (isAfter(nextSelectDates[0], nextSelectDates[1])) {
|
|
352
368
|
nextSelectDates = reverseDateRangeOmitTime(nextSelectDates);
|
|
353
369
|
}
|
|
354
|
-
if (
|
|
370
|
+
if (has('time')) {
|
|
355
371
|
nextSelectDates = [copyTime({
|
|
356
372
|
from: getCalendarDatetime('start'),
|
|
357
373
|
to: nextSelectDates[0]
|
|
@@ -370,7 +386,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
370
386
|
setActiveCalendarKey('start');
|
|
371
387
|
}
|
|
372
388
|
setSelectedDates(nextSelectDates);
|
|
373
|
-
if (!isSameMonth(
|
|
389
|
+
if (!isSameMonth(calendarDateRange[index], date) || calendarSnapping) {
|
|
374
390
|
setCalendarDateRange({
|
|
375
391
|
dateRange: nextSelectDates,
|
|
376
392
|
calendarKey: calendarKey,
|
|
@@ -393,7 +409,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
393
409
|
}, [selectedDates]);
|
|
394
410
|
var onChangeCalendarMonth = useEventCallback(function (index, date) {
|
|
395
411
|
var calendarKey = index === 0 ? 'start' : 'end';
|
|
396
|
-
var nextCalendarDate = Array.from(
|
|
412
|
+
var nextCalendarDate = Array.from(calendarDateRange);
|
|
397
413
|
nextCalendarDate[index] = date;
|
|
398
414
|
setCalendarDateRange({
|
|
399
415
|
dateRange: nextCalendarDate,
|
|
@@ -403,7 +419,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
403
419
|
});
|
|
404
420
|
var onChangeCalendarTime = useEventCallback(function (index, date) {
|
|
405
421
|
var calendarKey = index === 0 ? 'start' : 'end';
|
|
406
|
-
var nextCalendarDate = Array.from(
|
|
422
|
+
var nextCalendarDate = Array.from(calendarDateRange);
|
|
407
423
|
nextCalendarDate[index] = date;
|
|
408
424
|
setCalendarDateRange({
|
|
409
425
|
dateRange: nextCalendarDate,
|
|
@@ -421,22 +437,6 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
421
437
|
return next;
|
|
422
438
|
});
|
|
423
439
|
});
|
|
424
|
-
|
|
425
|
-
/**
|
|
426
|
-
* The callback triggered when PM/AM is switched.
|
|
427
|
-
*/
|
|
428
|
-
var onToggleMeridian = useEventCallback(function (index) {
|
|
429
|
-
var nextCalendarDate = Array.from(calendarDate);
|
|
430
|
-
nextCalendarDate[index] = getReversedTimeMeridian(nextCalendarDate[index]);
|
|
431
|
-
setCalendarDate(nextCalendarDate);
|
|
432
|
-
|
|
433
|
-
// If the value already exists, update the value again.
|
|
434
|
-
if (selectedDates.length === 2) {
|
|
435
|
-
var nextSelectedDates = Array.from(selectedDates);
|
|
436
|
-
nextSelectedDates[index] = getReversedTimeMeridian(nextSelectedDates[index]);
|
|
437
|
-
setSelectedDates(nextSelectedDates);
|
|
438
|
-
}
|
|
439
|
-
});
|
|
440
440
|
var handleEnter = useEventCallback(function () {
|
|
441
441
|
var nextCalendarDate;
|
|
442
442
|
if (value && value.length) {
|
|
@@ -446,7 +446,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
446
446
|
} else {
|
|
447
447
|
// Reset the date on the calendar to the default date
|
|
448
448
|
nextCalendarDate = getSafeCalendarDate({
|
|
449
|
-
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
449
|
+
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null,
|
|
450
|
+
allowSameMonth: allowSameMonth
|
|
450
451
|
});
|
|
451
452
|
}
|
|
452
453
|
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
@@ -477,9 +478,20 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
477
478
|
// End unfinished selections.
|
|
478
479
|
setSelectedIdle(true);
|
|
479
480
|
});
|
|
481
|
+
var calculateDateRange = function calculateDateRange() {
|
|
482
|
+
var _selectedDates$ = selectedDates[0],
|
|
483
|
+
start = _selectedDates$ === void 0 ? calendarDateRange[0] : _selectedDates$,
|
|
484
|
+
_selectedDates$2 = selectedDates[1],
|
|
485
|
+
end = _selectedDates$2 === void 0 ? calendarDateRange[1] : _selectedDates$2;
|
|
486
|
+
if (onlyShowTime) {
|
|
487
|
+
return [start, end];
|
|
488
|
+
}
|
|
489
|
+
return selectedDates;
|
|
490
|
+
};
|
|
480
491
|
var handleClickOK = useEventCallback(function (event) {
|
|
481
|
-
|
|
482
|
-
|
|
492
|
+
var nextValue = calculateDateRange();
|
|
493
|
+
setDateRange(event, nextValue);
|
|
494
|
+
onOk === null || onOk === void 0 ? void 0 : onOk(nextValue, event);
|
|
483
495
|
});
|
|
484
496
|
var handleClean = useEventCallback(function (event) {
|
|
485
497
|
setCalendarDateRange({
|
|
@@ -537,34 +549,48 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
537
549
|
};
|
|
538
550
|
|
|
539
551
|
/**
|
|
540
|
-
*
|
|
552
|
+
* Determine if the OK button should be disabled
|
|
541
553
|
*/
|
|
542
|
-
var
|
|
543
|
-
var
|
|
544
|
-
|
|
545
|
-
|
|
554
|
+
var shouldDisableOkButton = function shouldDisableOkButton() {
|
|
555
|
+
var _calculateDateRange = calculateDateRange(),
|
|
556
|
+
startDate = _calculateDateRange[0],
|
|
557
|
+
endDate = _calculateDateRange[1];
|
|
558
|
+
|
|
559
|
+
// Check if start or end dates are missing
|
|
560
|
+
if (!startDate || !endDate) {
|
|
561
|
+
return true;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
// Additional condition if only showing time
|
|
565
|
+
if (!onlyShowTime && !isSelectedIdle) {
|
|
546
566
|
return true;
|
|
547
567
|
}
|
|
548
|
-
|
|
568
|
+
|
|
569
|
+
// Check if there is any error in the selected date range
|
|
570
|
+
if (isErrorValue([startDate, endDate])) {
|
|
549
571
|
return true;
|
|
550
572
|
}
|
|
551
573
|
return false;
|
|
552
574
|
};
|
|
553
575
|
|
|
554
576
|
/**
|
|
555
|
-
* Check if
|
|
577
|
+
* Check if a shortcut is disabled based on the selected date range
|
|
556
578
|
*/
|
|
557
|
-
var
|
|
558
|
-
if (
|
|
559
|
-
|
|
560
|
-
}
|
|
561
|
-
var
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
579
|
+
var shouldDisableShortcut = function shouldDisableShortcut(selectedDates) {
|
|
580
|
+
if (selectedDates === void 0) {
|
|
581
|
+
selectedDates = [];
|
|
582
|
+
}
|
|
583
|
+
var _selectedDates = selectedDates,
|
|
584
|
+
startDate = _selectedDates[0],
|
|
585
|
+
endDate = _selectedDates[1];
|
|
586
|
+
|
|
587
|
+
// Disable if either start or end date is missing
|
|
588
|
+
if (!startDate || !endDate) {
|
|
565
589
|
return true;
|
|
566
590
|
}
|
|
567
|
-
|
|
591
|
+
|
|
592
|
+
// Check if the date range is disabled for the shortcut
|
|
593
|
+
return isRangeDisabled(startDate, endDate, TARGET.TOOLBAR_SHORTCUT);
|
|
568
594
|
};
|
|
569
595
|
var handleClose = useEventCallback(function () {
|
|
570
596
|
var _trigger$current, _trigger$current$clos;
|
|
@@ -597,7 +623,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
597
623
|
className = positionProps.className;
|
|
598
624
|
var classes = merge(className, menuClassName, prefix('popup-daterange'));
|
|
599
625
|
var panelClasses = prefix('daterange-panel', {
|
|
600
|
-
'daterange-panel-show-one-calendar': showOneCalendar
|
|
626
|
+
'daterange-panel-show-one-calendar': showOneCalendar,
|
|
627
|
+
'daterange-panel-only-time': onlyShowTime
|
|
601
628
|
});
|
|
602
629
|
|
|
603
630
|
/**
|
|
@@ -605,7 +632,7 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
605
632
|
* @see https://github.com/rsuite/rsuite/issues/3522
|
|
606
633
|
*/
|
|
607
634
|
var panelStyles = {
|
|
608
|
-
minWidth: showOneCalendar ? 'auto' : 528
|
|
635
|
+
minWidth: showOneCalendar || onlyShowTime ? 'auto' : 528
|
|
609
636
|
};
|
|
610
637
|
var styles = _extends({}, menuStyle, {
|
|
611
638
|
left: left,
|
|
@@ -616,19 +643,24 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
616
643
|
isoWeek: isoWeek,
|
|
617
644
|
weekStart: weekStart,
|
|
618
645
|
limitEndYear: limitEndYear,
|
|
619
|
-
|
|
620
|
-
|
|
646
|
+
showMeridiem: showMeridiem,
|
|
647
|
+
calendarDateRange: calendarDateRange,
|
|
621
648
|
limitStartYear: limitStartYear,
|
|
622
649
|
showWeekNumbers: showWeekNumbers,
|
|
623
650
|
format: formatStr,
|
|
624
651
|
value: selectedDates,
|
|
625
652
|
monthDropdownProps: monthDropdownProps,
|
|
626
653
|
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
654
|
+
hideHours: hideHours,
|
|
655
|
+
hideMinutes: hideMinutes,
|
|
656
|
+
hideSeconds: hideSeconds,
|
|
657
|
+
disabledHours: shouldDisableHour,
|
|
658
|
+
disabledMinutes: shouldDisableMinute,
|
|
659
|
+
disabledSeconds: shouldDisableSecond,
|
|
627
660
|
disabledDate: disableCalendarDate,
|
|
628
661
|
onSelect: handleSelectDate,
|
|
629
662
|
onChangeCalendarMonth: onChangeCalendarMonth,
|
|
630
663
|
onChangeCalendarTime: onChangeCalendarTime,
|
|
631
|
-
onToggleMeridian: onToggleMeridian,
|
|
632
664
|
onMouseMove: onMouseMove,
|
|
633
665
|
renderTitle: renderTitle
|
|
634
666
|
};
|
|
@@ -668,9 +700,9 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
668
700
|
spacing: 0,
|
|
669
701
|
className: prefix('daterange-predefined'),
|
|
670
702
|
ranges: sideRanges,
|
|
671
|
-
calendarDate:
|
|
703
|
+
calendarDate: calendarDateRange,
|
|
672
704
|
locale: locale,
|
|
673
|
-
disableShortcut:
|
|
705
|
+
disableShortcut: shouldDisableShortcut,
|
|
674
706
|
onShortcutClick: handleShortcutPageDate,
|
|
675
707
|
"data-testid": "daterange-predefined-side"
|
|
676
708
|
}), /*#__PURE__*/React.createElement(Stack.Item, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -684,15 +716,15 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
684
716
|
onSelect: setActiveCalendarKey
|
|
685
717
|
}), /*#__PURE__*/React.createElement("div", {
|
|
686
718
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
687
|
-
}, /*#__PURE__*/React.createElement(
|
|
719
|
+
}, /*#__PURE__*/React.createElement(DateRangePickerProvider, {
|
|
688
720
|
value: {
|
|
689
721
|
isSelectedIdle: isSelectedIdle
|
|
690
722
|
}
|
|
691
723
|
}, getCalendars()))), /*#__PURE__*/React.createElement(Toolbar, {
|
|
692
724
|
locale: locale,
|
|
693
725
|
calendarDate: selectedDates,
|
|
694
|
-
disableOkBtn:
|
|
695
|
-
disableShortcut:
|
|
726
|
+
disableOkBtn: shouldDisableOkButton,
|
|
727
|
+
disableShortcut: shouldDisableShortcut,
|
|
696
728
|
hideOkBtn: oneTap,
|
|
697
729
|
onOk: handleClickOK,
|
|
698
730
|
onShortcutClick: handleShortcutPageDate,
|
|
@@ -713,8 +745,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
713
745
|
if (caretAsProp === null) {
|
|
714
746
|
return null;
|
|
715
747
|
}
|
|
716
|
-
return caretAsProp || (
|
|
717
|
-
}, [caretAsProp,
|
|
748
|
+
return caretAsProp || (onlyShowTime ? TimeIcon : IconCalendar);
|
|
749
|
+
}, [caretAsProp, onlyShowTime]);
|
|
718
750
|
var isErrorValue = function isErrorValue(value) {
|
|
719
751
|
if (!value) {
|
|
720
752
|
return false;
|
|
@@ -818,6 +850,9 @@ DateRangePicker.propTypes = _extends({}, pickerPropTypes, {
|
|
|
818
850
|
defaultCalendarValue: PropTypes.arrayOf(PropTypes.instanceOf(Date)),
|
|
819
851
|
hoverRange: PropTypes.oneOfType([oneOf(['week', 'month']), PropTypes.func]),
|
|
820
852
|
format: PropTypes.string,
|
|
853
|
+
hideHours: PropTypes.func,
|
|
854
|
+
hideMinutes: PropTypes.func,
|
|
855
|
+
hideSeconds: PropTypes.func,
|
|
821
856
|
isoWeek: PropTypes.bool,
|
|
822
857
|
weekStart: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6]),
|
|
823
858
|
oneTap: PropTypes.bool,
|
|
@@ -829,7 +864,7 @@ DateRangePicker.propTypes = _extends({}, pickerPropTypes, {
|
|
|
829
864
|
shouldDisableDate: PropTypes.func,
|
|
830
865
|
onSelect: PropTypes.func,
|
|
831
866
|
showWeekNumbers: PropTypes.bool,
|
|
832
|
-
|
|
867
|
+
showMeridiem: PropTypes.bool,
|
|
833
868
|
showOneCalendar: PropTypes.bool
|
|
834
869
|
});
|
|
835
870
|
export default DateRangePicker;
|