rsuite 5.71.0 → 5.73.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 +34 -0
- package/Calendar/styles/index.css +71 -44
- package/Calendar/styles/index.less +54 -28
- package/Cascader/styles/index.css +11 -0
- package/CheckPicker/styles/index.css +11 -1
- package/CheckTree/styles/index.css +11 -0
- package/CheckTreePicker/styles/index.css +11 -0
- package/DatePicker/styles/index.css +89 -49
- package/DatePicker/styles/index.less +8 -5
- package/DateRangePicker/styles/index.css +93 -54
- package/DateRangePicker/styles/index.less +7 -6
- package/InputPicker/styles/index.css +11 -1
- package/MultiCascadeTree/styles/index.css +11 -0
- package/MultiCascader/styles/index.css +11 -0
- package/Pagination/styles/index.css +11 -1
- package/Panel/styles/index.css +20 -6
- package/SelectPicker/styles/index.css +11 -1
- package/TagInput/styles/index.css +11 -1
- package/TagPicker/styles/index.css +11 -1
- package/TimePicker/package.json +7 -0
- package/TimePicker/styles/index.css +4155 -0
- package/TimePicker/styles/index.less +1 -0
- package/TimeRangePicker/package.json +7 -0
- package/TimeRangePicker/styles/index.css +4255 -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 +28 -46
- 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/{esm/Calendar/TableCell.d.ts → cjs/Calendar/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/MonthDropdown.d.ts +11 -0
- package/cjs/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +19 -25
- package/cjs/Calendar/{MonthDropdownItem.d.ts → MonthDropdown/MonthDropdownItem.d.ts} +1 -1
- package/cjs/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +11 -11
- package/cjs/Calendar/MonthDropdown/index.d.ts +2 -0
- package/cjs/Calendar/MonthDropdown/index.js +8 -0
- 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 +2 -0
- package/cjs/Calendar/utils/index.js +9 -0
- package/cjs/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
- package/cjs/Calendar/utils/isEveryDateInMonth.js +15 -0
- package/cjs/CascadeTree/TreeView.js +3 -3
- package/cjs/CustomProvider/CustomProvider.d.ts +38 -4
- package/cjs/CustomProvider/CustomProvider.js +20 -6
- 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 +6 -2
- package/cjs/DatePicker/DatePicker.js +58 -67
- 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 +21 -4
- package/cjs/DateRangePicker/DateRangePicker.js +98 -72
- 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/Dropdown/Dropdown.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.d.ts +1 -1
- package/cjs/Dropdown/DropdownMenu.d.ts +1 -1
- package/cjs/Dropdown/DropdownMenu.js +3 -3
- package/cjs/Dropdown/DropdownToggle.d.ts +1 -1
- package/cjs/FormHelpText/FormHelpText.js +2 -2
- package/cjs/IconButton/IconButton.d.ts +1 -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/MultiCascadeTree/TreeView.js +3 -3
- package/cjs/Nav/NavDropdownItem.d.ts +1 -1
- package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
- package/cjs/Nav/NavDropdownMenu.js +3 -3
- package/cjs/Nav/NavItem.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdownItem.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdownMenu.js +3 -3
- package/cjs/Navbar/NavbarItem.d.ts +1 -1
- package/cjs/Pagination/Pagination.js +5 -5
- package/cjs/Panel/AccordionButton.js +2 -2
- package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdown.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/cjs/Sidenav/SidenavItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavToggle.js +3 -3
- package/cjs/Steps/StepItem.d.ts +1 -1
- 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/ListItemGroup.js +1 -1
- package/cjs/internals/Picker/Listbox.js +4 -2
- package/cjs/internals/Picker/PickerIndicator.js +2 -2
- package/cjs/internals/Picker/PickerToggle.d.ts +1 -1
- package/cjs/internals/SearchBox/SearchBox.js +1 -1
- package/cjs/internals/constants/statusIcons.js +7 -7
- package/cjs/internals/hooks/useCustom.js +2 -2
- package/cjs/internals/hooks/useToggleCaret.d.ts +1 -1
- 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 +12 -0
- package/cjs/locales/hu_HU.js +11 -5
- 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 +116 -60
- 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 +116 -60
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +116 -60
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +116 -60
- package/dist/rsuite.js +822 -5375
- 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 +42 -70
- package/esm/Calendar/CalendarHeader.d.ts +0 -2
- package/esm/Calendar/CalendarHeader.js +29 -47
- 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/{cjs/Calendar/TableCell.d.ts → esm/Calendar/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/MonthDropdown.d.ts +11 -0
- package/esm/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +18 -23
- package/esm/Calendar/{MonthDropdownItem.d.ts → MonthDropdown/MonthDropdownItem.d.ts} +1 -1
- package/esm/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +12 -12
- package/esm/Calendar/MonthDropdown/index.d.ts +2 -0
- package/esm/Calendar/MonthDropdown/index.js +3 -0
- 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 +2 -0
- package/esm/Calendar/utils/index.js +3 -0
- package/esm/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
- package/esm/Calendar/utils/isEveryDateInMonth.js +11 -0
- package/esm/CascadeTree/TreeView.js +3 -3
- package/esm/CustomProvider/CustomProvider.d.ts +38 -4
- package/esm/CustomProvider/CustomProvider.js +20 -6
- 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 +6 -2
- package/esm/DatePicker/DatePicker.js +30 -38
- 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 +21 -4
- package/esm/DateRangePicker/DateRangePicker.js +99 -73
- 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/Dropdown/Dropdown.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.d.ts +1 -1
- package/esm/Dropdown/DropdownMenu.d.ts +1 -1
- package/esm/Dropdown/DropdownMenu.js +3 -3
- package/esm/Dropdown/DropdownToggle.d.ts +1 -1
- package/esm/FormHelpText/FormHelpText.js +2 -2
- package/esm/IconButton/IconButton.d.ts +1 -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/MultiCascadeTree/TreeView.js +3 -3
- package/esm/Nav/NavDropdownItem.d.ts +1 -1
- package/esm/Nav/NavDropdownMenu.d.ts +1 -1
- package/esm/Nav/NavDropdownMenu.js +3 -3
- package/esm/Nav/NavItem.d.ts +1 -1
- package/esm/Navbar/NavbarDropdown.d.ts +1 -1
- package/esm/Navbar/NavbarDropdownItem.d.ts +1 -1
- package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
- package/esm/Navbar/NavbarDropdownMenu.js +3 -3
- package/esm/Navbar/NavbarItem.d.ts +1 -1
- package/esm/Pagination/Pagination.js +10 -10
- package/esm/Panel/AccordionButton.js +1 -1
- package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
- package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdown.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/esm/Sidenav/SidenavItem.d.ts +1 -1
- package/esm/Sidenav/SidenavToggle.js +3 -3
- package/esm/Steps/StepItem.d.ts +1 -1
- 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/ListItemGroup.js +2 -2
- package/esm/internals/Picker/Listbox.js +4 -2
- package/esm/internals/Picker/PickerIndicator.js +1 -1
- package/esm/internals/Picker/PickerToggle.d.ts +1 -1
- package/esm/internals/SearchBox/SearchBox.js +2 -2
- package/esm/internals/constants/statusIcons.js +7 -7
- package/esm/internals/hooks/useCustom.js +1 -1
- package/esm/internals/hooks/useToggleCaret.d.ts +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 +12 -0
- package/esm/locales/hu_HU.js +11 -5
- 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/Picker/styles/mixin.less +0 -1
- package/internals/ScrollView/styles/index.less +1 -5
- package/package.json +2 -2
- 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 +3 -3
- package/cjs/Calendar/CalendarContext.js +0 -22
- package/cjs/Calendar/MonthDropdown.d.ts +0 -27
- 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/MonthDropdown.d.ts +0 -27
- 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
|
@@ -3,15 +3,16 @@ 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", "className", "classPrefix", "calendarDefaultDate", "cleanable", "caretAs", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "monthDropdownProps", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEnter", "onExit", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"];
|
|
6
|
+
var _excluded = ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "caretAs", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showMeridiem", "showWeekNumbers", "style", "size", "monthDropdownProps", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEnter", "onExit", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"];
|
|
7
7
|
import React, { useMemo } from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import mapValues from 'lodash/mapValues';
|
|
10
10
|
import pick from 'lodash/pick';
|
|
11
|
-
import
|
|
12
|
-
import
|
|
11
|
+
import CalendarIcon from '@rsuite/icons/Calendar';
|
|
12
|
+
import TimeIcon from '@rsuite/icons/Time';
|
|
13
13
|
import CalendarContainer from "../Calendar/CalendarContainer.js";
|
|
14
|
-
import useCalendarDate from "../Calendar/
|
|
14
|
+
import { useCalendarDate } from "../Calendar/hooks/index.js";
|
|
15
|
+
import { isEveryDateInMonth } from "../Calendar/utils/index.js";
|
|
15
16
|
import Toolbar from "./Toolbar.js";
|
|
16
17
|
import Stack from "../Stack/index.js";
|
|
17
18
|
import PredefinedRanges from "./PredefinedRanges.js";
|
|
@@ -20,13 +21,13 @@ import InputGroup from "../InputGroup/index.js";
|
|
|
20
21
|
import useMonthView from "./hooks/useMonthView.js";
|
|
21
22
|
import useFocus from "./hooks/useFocus.js";
|
|
22
23
|
import useCustomizedInput from "./hooks/useCustomizedInput.js";
|
|
23
|
-
import { isEveryDateInMonth } from "../Calendar/MonthDropdown.js";
|
|
24
24
|
import { mergeRefs, partitionHTMLProps, createChainedFunction } from "../internals/utils/index.js";
|
|
25
25
|
import { useClassNames, useControlled, useCustom, useUniqueId, useEventCallback } from "../internals/hooks/index.js";
|
|
26
|
-
import {
|
|
26
|
+
import { isValid, copyTime, disableTime, DateMode, useDateMode, calendarOnlyProps } from "../internals/utils/date/index.js";
|
|
27
27
|
import { PickerPopup, PickerLabel, PickerIndicator, PickerToggleTrigger, pickerPropTypes, pickTriggerPropKeys, usePickerClassName, usePickerRef, onMenuKeyDown } from "../internals/Picker/index.js";
|
|
28
28
|
import { OverlayCloseCause } from "../internals/Overlay/OverlayTrigger.js";
|
|
29
29
|
import { splitRanges, deprecatedPropTypes, getRestProps } from "./utils.js";
|
|
30
|
+
import { startOfToday } from "../internals/utils/date/index.js";
|
|
30
31
|
/**
|
|
31
32
|
* A date picker allows users to select a date from a calendar.
|
|
32
33
|
*
|
|
@@ -49,8 +50,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
49
50
|
disabled = props.disabled,
|
|
50
51
|
readOnly = props.readOnly,
|
|
51
52
|
plaintext = props.plaintext,
|
|
52
|
-
|
|
53
|
-
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
53
|
+
format = props.format,
|
|
54
54
|
idProp = props.id,
|
|
55
55
|
isoWeek = props.isoWeek,
|
|
56
56
|
_props$weekStart = props.weekStart,
|
|
@@ -72,7 +72,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
72
72
|
placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
|
|
73
73
|
ranges = props.ranges,
|
|
74
74
|
valueProp = props.value,
|
|
75
|
-
|
|
75
|
+
DEPRECATED_showMeridian = props.showMeridian,
|
|
76
|
+
_props$showMeridiem = props.showMeridiem,
|
|
77
|
+
showMeridiem = _props$showMeridiem === void 0 ? DEPRECATED_showMeridian : _props$showMeridiem,
|
|
76
78
|
showWeekNumbers = props.showWeekNumbers,
|
|
77
79
|
style = props.style,
|
|
78
80
|
size = props.size,
|
|
@@ -108,6 +110,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
108
110
|
overlay = _usePickerRef.overlay;
|
|
109
111
|
var _useCustom = useCustom('DatePicker', overrideLocale),
|
|
110
112
|
locale = _useCustom.locale;
|
|
113
|
+
var formatStr = format || locale.shortDateFormat || 'yyyy-MM-dd';
|
|
111
114
|
var _useClassNames = useClassNames(classPrefix),
|
|
112
115
|
merge = _useClassNames.merge,
|
|
113
116
|
prefix = _useClassNames.prefix;
|
|
@@ -124,10 +127,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
124
127
|
setMonthView = _useMonthView.setMonthView,
|
|
125
128
|
monthView = _useMonthView.monthView,
|
|
126
129
|
toggleMonthView = _useMonthView.toggleMonthView;
|
|
130
|
+
var _useDateMode = useDateMode(formatStr),
|
|
131
|
+
mode = _useDateMode.mode;
|
|
127
132
|
|
|
128
133
|
// Show only the calendar month panel. formatStr = 'yyyy-MM'
|
|
129
|
-
var
|
|
130
|
-
var showMonth = onlyShowMonth || monthView;
|
|
134
|
+
var showMonth = mode === DateMode.Month || monthView;
|
|
131
135
|
var _useFocus = useFocus({
|
|
132
136
|
target: target,
|
|
133
137
|
showMonth: showMonth,
|
|
@@ -173,7 +177,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
173
177
|
* - If format is month, disable ok button if all dates in the month of selected date are disabled
|
|
174
178
|
*/
|
|
175
179
|
var isOkButtonDisabled = function isOkButtonDisabled(selectedDate) {
|
|
176
|
-
if (
|
|
180
|
+
if (mode === DateMode.Month) {
|
|
177
181
|
return isMonthDisabled(selectedDate);
|
|
178
182
|
}
|
|
179
183
|
return isDatetimeDisabled(selectedDate);
|
|
@@ -228,22 +232,12 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
228
232
|
var _trigger$current, _trigger$current$clos;
|
|
229
233
|
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
|
|
230
234
|
});
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* The callback triggered when PM/AM is switched.
|
|
234
|
-
*/
|
|
235
|
-
var handleToggleMeridian = useEventCallback(function () {
|
|
236
|
-
var hours = getHours(calendarDate);
|
|
237
|
-
var nextHours = hours >= 12 ? hours - 12 : hours + 12;
|
|
238
|
-
var nextDate = setHours(calendarDate, nextHours);
|
|
239
|
-
handleChangeTime(nextDate);
|
|
240
|
-
});
|
|
241
235
|
var updateValue = function updateValue(event, date, closeOverlay) {
|
|
242
236
|
if (closeOverlay === void 0) {
|
|
243
237
|
closeOverlay = true;
|
|
244
238
|
}
|
|
245
239
|
var nextValue = typeof date !== 'undefined' ? date : calendarDate;
|
|
246
|
-
setCalendarDate(nextValue ||
|
|
240
|
+
setCalendarDate(nextValue || startOfToday());
|
|
247
241
|
setValue(nextValue);
|
|
248
242
|
if (nextValue !== value) {
|
|
249
243
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
@@ -303,16 +297,15 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
303
297
|
/**
|
|
304
298
|
* Callback after the date is selected.
|
|
305
299
|
*/
|
|
306
|
-
var
|
|
300
|
+
var handleCalendarSelect = useEventCallback(function (date, event, updatableValue) {
|
|
307
301
|
if (updatableValue === void 0) {
|
|
308
302
|
updatableValue = true;
|
|
309
303
|
}
|
|
310
|
-
|
|
311
|
-
// Determine whether the current value contains time, if not, use calendarDate.
|
|
312
|
-
shouldRenderTime(formatStr) ? nextValue : copyTime({
|
|
304
|
+
var nextValue = copyTime({
|
|
313
305
|
from: calendarDate,
|
|
314
|
-
to:
|
|
315
|
-
})
|
|
306
|
+
to: date
|
|
307
|
+
});
|
|
308
|
+
setCalendarDate(nextValue);
|
|
316
309
|
handleDateChange(nextValue);
|
|
317
310
|
if (oneTap && updatableValue) {
|
|
318
311
|
updateValue(event, nextValue);
|
|
@@ -327,7 +320,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
327
320
|
setCalendarDate(nextPageDate);
|
|
328
321
|
handleDateChange(nextPageDate);
|
|
329
322
|
focusSelectedDate();
|
|
330
|
-
if (oneTap &&
|
|
323
|
+
if (oneTap && mode === DateMode.Month) {
|
|
331
324
|
updateValue(event, nextPageDate);
|
|
332
325
|
focusInput();
|
|
333
326
|
}
|
|
@@ -338,7 +331,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
338
331
|
*/
|
|
339
332
|
var handleInputChange = useEventCallback(function (value, event) {
|
|
340
333
|
if (!isErrorValue(value)) {
|
|
341
|
-
|
|
334
|
+
handleCalendarSelect(value, event);
|
|
342
335
|
}
|
|
343
336
|
updateValue(event, value, false);
|
|
344
337
|
});
|
|
@@ -403,7 +396,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
403
396
|
targetId: id,
|
|
404
397
|
locale: locale,
|
|
405
398
|
showWeekNumbers: showWeekNumbers,
|
|
406
|
-
|
|
399
|
+
showMeridiem: showMeridiem,
|
|
407
400
|
disabledDate: isDateDisabled,
|
|
408
401
|
disabledHours: shouldDisableHour !== null && shouldDisableHour !== void 0 ? shouldDisableHour : DEPRECATED_disabledHours,
|
|
409
402
|
disabledMinutes: shouldDisableMinute !== null && shouldDisableMinute !== void 0 ? shouldDisableMinute : DEPRECATED_disabledMinutes,
|
|
@@ -418,12 +411,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
418
411
|
renderCellOnPicker: renderCell,
|
|
419
412
|
onMoveForward: handleMoveForward,
|
|
420
413
|
onMoveBackward: handleMoveBackward,
|
|
421
|
-
onSelect:
|
|
414
|
+
onSelect: handleCalendarSelect,
|
|
422
415
|
onToggleMonthDropdown: toggleMonthView,
|
|
423
416
|
onToggleTimeDropdown: onToggleTimeDropdown,
|
|
424
417
|
onChangeMonth: handleChangeMonth,
|
|
425
|
-
onChangeTime: handleChangeTime
|
|
426
|
-
onToggleMeridian: handleToggleMeridian
|
|
418
|
+
onChangeTime: handleChangeTime
|
|
427
419
|
})), /*#__PURE__*/React.createElement(Toolbar, {
|
|
428
420
|
locale: locale,
|
|
429
421
|
ranges: bottomRanges,
|
|
@@ -449,8 +441,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
449
441
|
if (caretAsProp === null) {
|
|
450
442
|
return null;
|
|
451
443
|
}
|
|
452
|
-
return caretAsProp || (
|
|
453
|
-
}, [caretAsProp,
|
|
444
|
+
return caretAsProp || (mode === DateMode.Time ? TimeIcon : CalendarIcon);
|
|
445
|
+
}, [caretAsProp, mode]);
|
|
454
446
|
var handleTriggerClose = useEventCallback(function (cause) {
|
|
455
447
|
var _props$onClose;
|
|
456
448
|
// Unless overlay is closing on user clicking "OK" button,
|
|
@@ -555,7 +547,7 @@ DatePicker.propTypes = _extends({}, pickerPropTypes, deprecatedPropTypes, {
|
|
|
555
547
|
onToggleTimeDropdown: PropTypes.func,
|
|
556
548
|
oneTap: PropTypes.bool,
|
|
557
549
|
ranges: PropTypes.array,
|
|
558
|
-
|
|
550
|
+
showMeridiem: PropTypes.bool,
|
|
559
551
|
showWeekNumbers: PropTypes.bool,
|
|
560
552
|
value: PropTypes.instanceOf(Date)
|
|
561
553
|
});
|
|
@@ -3,7 +3,7 @@ import delay from 'lodash/delay';
|
|
|
3
3
|
import addMonths from 'date-fns/addMonths';
|
|
4
4
|
import addDays from 'date-fns/addDays';
|
|
5
5
|
import { useEventCallback, useCustom } from "../../internals/hooks/index.js";
|
|
6
|
-
import { getAriaLabel } from "../../Calendar/utils.js";
|
|
6
|
+
import { getAriaLabel } from "../../Calendar/utils/index.js";
|
|
7
7
|
import { onMenuKeyDown } from "../../internals/Picker/utils.js";
|
|
8
8
|
function useFocus(props) {
|
|
9
9
|
var target = props.target,
|
package/esm/DatePicker/utils.js
CHANGED
|
@@ -6,9 +6,9 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import omit from 'lodash/omit';
|
|
7
7
|
import { deprecatePropTypeNew } from "../internals/propTypes/index.js";
|
|
8
8
|
import { omitTriggerPropKeys } from "../internals/Picker/index.js";
|
|
9
|
-
import { subDays, startOfDay, endOfDay, calendarOnlyProps } from "../internals/utils/date/index.js";
|
|
9
|
+
import { subDays, startOfDay, endOfDay, calendarOnlyProps, startOfToday } from "../internals/utils/date/index.js";
|
|
10
10
|
export function getDefaultRanges(value) {
|
|
11
|
-
var today =
|
|
11
|
+
var today = startOfToday();
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* If it is an array type, it returns the default shortcut key suitable for DateRangePicker Toolbar,
|
|
@@ -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
|
|
@@ -118,6 +123,18 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
118
123
|
* Whether a date cell is disabled
|
|
119
124
|
*/
|
|
120
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;
|
|
121
138
|
/**
|
|
122
139
|
* Called when the option is selected
|
|
123
140
|
*/
|