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
|
@@ -4,11 +4,11 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
4
4
|
var _excluded = ["as", "classPrefix", "disabled", "selected", "date", "onSelect", "unSameMonth", "rangeStart", "rangeEnd", "inRange"];
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import partial from 'lodash/partial';
|
|
7
|
-
import { isSameDay, getDate } from "
|
|
8
|
-
import { useClassNames, useCustom } from "
|
|
9
|
-
import {
|
|
10
|
-
import { getAriaLabel } from "
|
|
11
|
-
var
|
|
7
|
+
import { isSameDay, getDate } from "../../internals/utils/date/index.js";
|
|
8
|
+
import { useClassNames, useCustom } from "../../internals/hooks/index.js";
|
|
9
|
+
import { useCalendar } from "../hooks/index.js";
|
|
10
|
+
import { getAriaLabel } from "../utils/index.js";
|
|
11
|
+
var GridCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
12
12
|
var _props$as = props.as,
|
|
13
13
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
14
14
|
_props$classPrefix = props.classPrefix,
|
|
@@ -22,12 +22,12 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
22
22
|
rangeEnd = props.rangeEnd,
|
|
23
23
|
inRange = props.inRange,
|
|
24
24
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
25
|
-
var
|
|
26
|
-
onMouseMove =
|
|
27
|
-
cellClassName =
|
|
28
|
-
renderCell =
|
|
29
|
-
renderCellOnPicker =
|
|
30
|
-
overrideLocale =
|
|
25
|
+
var _useCalendar = useCalendar(),
|
|
26
|
+
onMouseMove = _useCalendar.onMouseMove,
|
|
27
|
+
cellClassName = _useCalendar.cellClassName,
|
|
28
|
+
renderCell = _useCalendar.renderCell,
|
|
29
|
+
renderCellOnPicker = _useCalendar.renderCellOnPicker,
|
|
30
|
+
overrideLocale = _useCalendar.locale;
|
|
31
31
|
var _useClassNames = useClassNames(classPrefix),
|
|
32
32
|
prefix = _useClassNames.prefix,
|
|
33
33
|
merge = _useClassNames.merge;
|
|
@@ -64,5 +64,5 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
64
64
|
className: prefix('cell-day')
|
|
65
65
|
}, getDate(date)), renderCell === null || renderCell === void 0 ? void 0 : renderCell(date)));
|
|
66
66
|
});
|
|
67
|
-
|
|
68
|
-
export default
|
|
67
|
+
GridCell.displayName = 'CalendarGridCell';
|
|
68
|
+
export default GridCell;
|
|
@@ -4,21 +4,21 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
4
4
|
var _excluded = ["as", "className", "classPrefix"];
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import upperFirst from 'lodash/upperFirst';
|
|
7
|
-
import { getWeekKeys } from "
|
|
8
|
-
import { useClassNames } from "
|
|
9
|
-
import {
|
|
10
|
-
var
|
|
7
|
+
import { getWeekKeys } from "../../internals/utils/date/index.js";
|
|
8
|
+
import { useClassNames } from "../../internals/hooks/index.js";
|
|
9
|
+
import { useCalendar } from "../hooks/index.js";
|
|
10
|
+
var GridHeaderRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
11
11
|
var _props$as = props.as,
|
|
12
12
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
13
13
|
className = props.className,
|
|
14
14
|
_props$classPrefix = props.classPrefix,
|
|
15
15
|
classPrefix = _props$classPrefix === void 0 ? 'calendar-table' : _props$classPrefix,
|
|
16
16
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
17
|
-
var
|
|
18
|
-
locale =
|
|
19
|
-
showWeekNumbers =
|
|
20
|
-
isoWeek =
|
|
21
|
-
weekStart =
|
|
17
|
+
var _useCalendar = useCalendar(),
|
|
18
|
+
locale = _useCalendar.locale,
|
|
19
|
+
showWeekNumbers = _useCalendar.showWeekNumbers,
|
|
20
|
+
isoWeek = _useCalendar.isoWeek,
|
|
21
|
+
weekStart = _useCalendar.weekStart;
|
|
22
22
|
var _useClassNames = useClassNames(classPrefix),
|
|
23
23
|
merge = _useClassNames.merge,
|
|
24
24
|
prefix = _useClassNames.prefix;
|
|
@@ -43,5 +43,5 @@ var TableHeaderRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
43
43
|
}, locale === null || locale === void 0 ? void 0 : locale[key]));
|
|
44
44
|
}));
|
|
45
45
|
});
|
|
46
|
-
|
|
47
|
-
export default
|
|
46
|
+
GridHeaderRow.displayName = 'CalendarGridHeaderRow';
|
|
47
|
+
export default GridHeaderRow;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
|
|
2
|
+
export interface GridRowProps extends WithAsProps {
|
|
3
|
+
weekendDate?: Date;
|
|
4
|
+
rowIndex?: number;
|
|
5
|
+
}
|
|
6
|
+
declare const GridRow: RsRefForwardingComponent<'div', GridRowProps>;
|
|
7
|
+
export default GridRow;
|
|
@@ -3,12 +3,12 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
var _excluded = ["as", "className", "classPrefix", "weekendDate", "rowIndex"];
|
|
5
5
|
import React, { useCallback } from 'react';
|
|
6
|
-
import { isSameDay, addDays, isBefore, isAfter, format } from "
|
|
7
|
-
import { DATERANGE_DISABLED_TARGET } from "
|
|
8
|
-
import { useClassNames } from "
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
var
|
|
6
|
+
import { isSameDay, addDays, isBefore, isAfter, format } from "../../internals/utils/date/index.js";
|
|
7
|
+
import { DATERANGE_DISABLED_TARGET } from "../../internals/constants/index.js";
|
|
8
|
+
import { useClassNames } from "../../internals/hooks/index.js";
|
|
9
|
+
import { useCalendar } from "../hooks/index.js";
|
|
10
|
+
import GridCell from "./GridCell.js";
|
|
11
|
+
var GridRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
12
12
|
var _locale$dateLocale$op, _locale$dateLocale;
|
|
13
13
|
var _props$as = props.as,
|
|
14
14
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -19,18 +19,18 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
19
19
|
weekendDate = _props$weekendDate === void 0 ? new Date() : _props$weekendDate,
|
|
20
20
|
rowIndex = props.rowIndex,
|
|
21
21
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
selected =
|
|
25
|
-
dateRange =
|
|
26
|
-
hoverRangeValue =
|
|
27
|
-
isoWeek =
|
|
28
|
-
weekStart =
|
|
29
|
-
showWeekNumbers =
|
|
30
|
-
locale =
|
|
31
|
-
inSameMonth =
|
|
32
|
-
disabledDate =
|
|
33
|
-
onSelect =
|
|
22
|
+
var _useCalendar = useCalendar(),
|
|
23
|
+
_useCalendar$date = _useCalendar.date,
|
|
24
|
+
selected = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
|
|
25
|
+
dateRange = _useCalendar.dateRange,
|
|
26
|
+
hoverRangeValue = _useCalendar.hoverRangeValue,
|
|
27
|
+
isoWeek = _useCalendar.isoWeek,
|
|
28
|
+
weekStart = _useCalendar.weekStart,
|
|
29
|
+
showWeekNumbers = _useCalendar.showWeekNumbers,
|
|
30
|
+
locale = _useCalendar.locale,
|
|
31
|
+
inSameMonth = _useCalendar.inSameMonth,
|
|
32
|
+
disabledDate = _useCalendar.disabledDate,
|
|
33
|
+
onSelect = _useCalendar.onSelect;
|
|
34
34
|
var _useClassNames = useClassNames(classPrefix),
|
|
35
35
|
prefix = _useClassNames.prefix,
|
|
36
36
|
merge = _useClassNames.merge;
|
|
@@ -79,7 +79,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
79
79
|
inRange = true;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
days.push( /*#__PURE__*/React.createElement(
|
|
82
|
+
days.push( /*#__PURE__*/React.createElement(GridCell, {
|
|
83
83
|
key: format(thisDate, 'yyyy-MM-dd'),
|
|
84
84
|
date: thisDate,
|
|
85
85
|
disabled: disabled,
|
|
@@ -113,5 +113,5 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
113
113
|
className: prefix('cell-week-number')
|
|
114
114
|
}, week), renderDays());
|
|
115
115
|
});
|
|
116
|
-
|
|
117
|
-
export default
|
|
116
|
+
GridRow.displayName = 'CalendarGridRow';
|
|
117
|
+
export default GridRow;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
|
|
3
2
|
export interface MonthDropdownProps extends WithAsProps {
|
|
4
3
|
show?: boolean;
|
|
@@ -8,20 +7,6 @@ export interface MonthDropdownProps extends WithAsProps {
|
|
|
8
7
|
width?: number;
|
|
9
8
|
disabledMonth?: (date: Date) => boolean;
|
|
10
9
|
}
|
|
11
|
-
export interface RowProps {
|
|
12
|
-
/** Index of row */
|
|
13
|
-
index: number;
|
|
14
|
-
/** The List is currently being scrolled */
|
|
15
|
-
isScrolling: boolean;
|
|
16
|
-
/** This row is visible within the List (eg it is not an overscanned row) */
|
|
17
|
-
isVisible: boolean;
|
|
18
|
-
/** Unique key within array of rendered rows */
|
|
19
|
-
key?: any;
|
|
20
|
-
/** Reference to the parent List (instance) */
|
|
21
|
-
parent: any;
|
|
22
|
-
/** Style object to be applied to row (to position it); */
|
|
23
|
-
style?: React.CSSProperties;
|
|
24
|
-
}
|
|
25
10
|
export declare function isEveryDateInMonth(year: number, month: number, predicate: (date: Date) => boolean): boolean;
|
|
26
11
|
declare const MonthDropdown: RsRefForwardingComponent<'div', MonthDropdownProps>;
|
|
27
12
|
export default MonthDropdown;
|
|
@@ -8,7 +8,7 @@ import { getDaysInMonth, getMonth, getYear } from "../internals/utils/date/index
|
|
|
8
8
|
import { AutoSizer, FixedSizeList } from "../internals/Windowing/index.js";
|
|
9
9
|
import { useClassNames } from "../internals/hooks/index.js";
|
|
10
10
|
import MonthDropdownItem from "./MonthDropdownItem.js";
|
|
11
|
-
import {
|
|
11
|
+
import { useCalendar } from "./hooks/index.js";
|
|
12
12
|
var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
13
13
|
export function isEveryDateInMonth(year, month, predicate) {
|
|
14
14
|
var days = getDaysInMonth(new Date(year, month));
|
|
@@ -35,11 +35,11 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
35
35
|
defaultWidth = _props$width === void 0 ? 256 : _props$width,
|
|
36
36
|
disabledMonth = props.disabledMonth,
|
|
37
37
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
date =
|
|
41
|
-
targetId =
|
|
42
|
-
monthDropdownProps =
|
|
38
|
+
var _useCalendar = useCalendar(),
|
|
39
|
+
_useCalendar$date = _useCalendar.date,
|
|
40
|
+
date = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
|
|
41
|
+
targetId = _useCalendar.targetId,
|
|
42
|
+
monthDropdownProps = _useCalendar.monthDropdownProps;
|
|
43
43
|
var _useClassNames = useClassNames(classPrefix),
|
|
44
44
|
prefix = _useClassNames.prefix,
|
|
45
45
|
merge = _useClassNames.merge,
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
var _excluded = ["as", "className", "classPrefix", "active", "disabled", "month", "year"];
|
|
5
|
-
import React, {
|
|
5
|
+
import React, { useMemo } from 'react';
|
|
6
6
|
import { setMonth, setYear } from "../internals/utils/date/index.js";
|
|
7
|
-
import { useClassNames, useCustom } from "../internals/hooks/index.js";
|
|
7
|
+
import { useClassNames, useCustom, useEventCallback } from "../internals/hooks/index.js";
|
|
8
8
|
import { composeFunctions } from "../internals/utils/index.js";
|
|
9
|
-
import {
|
|
10
|
-
import { getAriaLabel } from "./utils.js";
|
|
9
|
+
import { useCalendar } from "./hooks/index.js";
|
|
10
|
+
import { getAriaLabel } from "./utils/index.js";
|
|
11
11
|
var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
12
12
|
var _props$as = props.as,
|
|
13
13
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -20,9 +20,9 @@ var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
20
20
|
month = _props$month === void 0 ? 0 : _props$month,
|
|
21
21
|
year = props.year,
|
|
22
22
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
23
|
-
var
|
|
24
|
-
date =
|
|
25
|
-
onSelect =
|
|
23
|
+
var _useCalendar = useCalendar(),
|
|
24
|
+
date = _useCalendar.date,
|
|
25
|
+
onSelect = _useCalendar.onChangeMonth;
|
|
26
26
|
var _useCustom = useCustom('Calendar'),
|
|
27
27
|
locale = _useCustom.locale,
|
|
28
28
|
formatDate = _useCustom.formatDate;
|
|
@@ -37,12 +37,12 @@ var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
37
37
|
}
|
|
38
38
|
return date;
|
|
39
39
|
}, [date, month, year]);
|
|
40
|
-
var handleClick =
|
|
40
|
+
var handleClick = useEventCallback(function (event) {
|
|
41
41
|
if (disabled) {
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(currentMonth, event);
|
|
45
|
-
}
|
|
45
|
+
});
|
|
46
46
|
var _useClassNames = useClassNames(classPrefix),
|
|
47
47
|
prefix = _useClassNames.prefix,
|
|
48
48
|
merge = _useClassNames.merge,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
var _excluded = ["prefix", "title", "children"];
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import ScrollView from "../../internals/ScrollView/index.js";
|
|
7
|
+
var TimeColumn = function TimeColumn(props) {
|
|
8
|
+
var prefix = props.prefix,
|
|
9
|
+
title = props.title,
|
|
10
|
+
children = props.children,
|
|
11
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
12
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
className: prefix('column')
|
|
14
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
15
|
+
className: prefix('column-title')
|
|
16
|
+
}, title), /*#__PURE__*/React.createElement(ScrollView, _extends({
|
|
17
|
+
customScrollbar: true,
|
|
18
|
+
as: "ul",
|
|
19
|
+
role: "listbox"
|
|
20
|
+
}, rest), children));
|
|
21
|
+
};
|
|
22
|
+
export default TimeColumn;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RsRefForwardingComponent, WithAsProps } from '
|
|
1
|
+
import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
|
|
2
2
|
export interface TimeDropdownProps extends WithAsProps {
|
|
3
3
|
show?: boolean;
|
|
4
|
-
|
|
4
|
+
showMeridiem?: boolean;
|
|
5
5
|
disabledDate?: (date: Date) => boolean;
|
|
6
6
|
disabledHours?: (hour: number, date: Date) => boolean;
|
|
7
7
|
disabledMinutes?: (minute: number, date: Date) => boolean;
|
|
@@ -10,28 +10,5 @@ export interface TimeDropdownProps extends WithAsProps {
|
|
|
10
10
|
hideMinutes?: (minute: number, date: Date) => boolean;
|
|
11
11
|
hideSeconds?: (second: number, date: Date) => boolean;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Get the effective range of hours, minutes and seconds
|
|
15
|
-
* @param meridian
|
|
16
|
-
*/
|
|
17
|
-
export declare function getRanges(meridian: boolean): {
|
|
18
|
-
hours: {
|
|
19
|
-
start: number;
|
|
20
|
-
end: number;
|
|
21
|
-
};
|
|
22
|
-
minutes: {
|
|
23
|
-
start: number;
|
|
24
|
-
end: number;
|
|
25
|
-
};
|
|
26
|
-
seconds: {
|
|
27
|
-
start: number;
|
|
28
|
-
end: number;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Convert the 24-hour clock to the 12-hour clock
|
|
33
|
-
* @param hours
|
|
34
|
-
*/
|
|
35
|
-
export declare function getMeridianHours(hours: number): number;
|
|
36
13
|
declare const TimeDropdown: RsRefForwardingComponent<'div', TimeDropdownProps>;
|
|
37
14
|
export default TimeDropdown;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
var _excluded = ["as", "className", "classPrefix", "show", "showMeridiem"];
|
|
5
|
+
import React, { useEffect, useRef } from 'react';
|
|
6
|
+
import partial from 'lodash/partial';
|
|
7
|
+
import camelCase from 'lodash/camelCase';
|
|
8
|
+
import isNumber from 'lodash/isNumber';
|
|
9
|
+
import { useClassNames, useEventCallback } from "../../internals/hooks/index.js";
|
|
10
|
+
import { startOfToday, getHours, setHours, setMinutes, setSeconds, omitHideDisabledProps } from "../../internals/utils/date/index.js";
|
|
11
|
+
import { useCalendar } from "../hooks/index.js";
|
|
12
|
+
import TimeColumn from "./TimeColumn.js";
|
|
13
|
+
import { getTimeLimits, getClockTime, scrollToTime, formatWithLeadingZero } from "./utils/index.js";
|
|
14
|
+
var TimeDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
15
|
+
var _props$as = props.as,
|
|
16
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
17
|
+
className = props.className,
|
|
18
|
+
_props$classPrefix = props.classPrefix,
|
|
19
|
+
classPrefix = _props$classPrefix === void 0 ? 'calendar-time-dropdown' : _props$classPrefix,
|
|
20
|
+
show = props.show,
|
|
21
|
+
_props$showMeridiem = props.showMeridiem,
|
|
22
|
+
showMeridiem = _props$showMeridiem === void 0 ? false : _props$showMeridiem,
|
|
23
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
24
|
+
var _useCalendar = useCalendar(),
|
|
25
|
+
locale = _useCalendar.locale,
|
|
26
|
+
format = _useCalendar.format,
|
|
27
|
+
date = _useCalendar.date,
|
|
28
|
+
onSelect = _useCalendar.onChangeTime,
|
|
29
|
+
targetId = _useCalendar.targetId;
|
|
30
|
+
var rowRef = useRef(null);
|
|
31
|
+
useEffect(function () {
|
|
32
|
+
var time = getClockTime({
|
|
33
|
+
format: format,
|
|
34
|
+
date: date,
|
|
35
|
+
showMeridiem: showMeridiem
|
|
36
|
+
});
|
|
37
|
+
// The currently selected time scrolls to the visible range.
|
|
38
|
+
if (show && rowRef.current) {
|
|
39
|
+
scrollToTime(time, rowRef.current);
|
|
40
|
+
}
|
|
41
|
+
}, [date, format, show, showMeridiem]);
|
|
42
|
+
var handleClick = useEventCallback(function (type, d, event) {
|
|
43
|
+
var nextDate = date || startOfToday();
|
|
44
|
+
switch (type) {
|
|
45
|
+
case 'hours':
|
|
46
|
+
nextDate = setHours(nextDate, showMeridiem && getHours(nextDate) >= 12 ? d + 12 : d);
|
|
47
|
+
break;
|
|
48
|
+
case 'minutes':
|
|
49
|
+
nextDate = setMinutes(nextDate, d);
|
|
50
|
+
break;
|
|
51
|
+
case 'seconds':
|
|
52
|
+
nextDate = setSeconds(nextDate, d);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextDate, event);
|
|
56
|
+
});
|
|
57
|
+
var handleClickMeridiem = useEventCallback(function (meridiem, event) {
|
|
58
|
+
var tempDate = date || startOfToday();
|
|
59
|
+
var hours = getHours(tempDate);
|
|
60
|
+
var isAM = hours < 12;
|
|
61
|
+
var adjustHours = function adjustHours(meridiem, hours) {
|
|
62
|
+
if (meridiem === 'AM') {
|
|
63
|
+
return isAM ? hours : hours - 12;
|
|
64
|
+
}
|
|
65
|
+
return isAM ? hours + 12 : hours;
|
|
66
|
+
};
|
|
67
|
+
var nextHours = adjustHours(meridiem, hours);
|
|
68
|
+
var nextDate = setHours(tempDate, nextHours);
|
|
69
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextDate, event);
|
|
70
|
+
});
|
|
71
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
72
|
+
prefix = _useClassNames.prefix,
|
|
73
|
+
rootPrefix = _useClassNames.rootPrefix,
|
|
74
|
+
merge = _useClassNames.merge;
|
|
75
|
+
var renderColumn = function renderColumn(type, value) {
|
|
76
|
+
if (!isNumber(value)) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
var _getTimeLimits$type = getTimeLimits(showMeridiem)[type],
|
|
80
|
+
start = _getTimeLimits$type.start,
|
|
81
|
+
end = _getTimeLimits$type.end;
|
|
82
|
+
var items = [];
|
|
83
|
+
var hideFunc = props[camelCase("hide_" + type)];
|
|
84
|
+
var disabledFunc = props[camelCase("disabled_" + type)];
|
|
85
|
+
for (var i = start; i <= end; i += 1) {
|
|
86
|
+
if (!(hideFunc !== null && hideFunc !== void 0 && hideFunc(i, date))) {
|
|
87
|
+
var disabled = disabledFunc === null || disabledFunc === void 0 ? void 0 : disabledFunc(i, date);
|
|
88
|
+
var itemClasses = prefix('cell', {
|
|
89
|
+
'cell-active': value === i,
|
|
90
|
+
'cell-disabled': disabled
|
|
91
|
+
});
|
|
92
|
+
items.push( /*#__PURE__*/React.createElement("li", {
|
|
93
|
+
key: i,
|
|
94
|
+
role: "option",
|
|
95
|
+
tabIndex: -1,
|
|
96
|
+
"aria-label": i + " " + type,
|
|
97
|
+
"aria-selected": value === i,
|
|
98
|
+
"aria-disabled": disabled,
|
|
99
|
+
"data-key": type + "-" + i,
|
|
100
|
+
onClick: !disabled ? partial(handleClick, type, i) : undefined
|
|
101
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
102
|
+
className: itemClasses
|
|
103
|
+
}, showMeridiem && type === 'hours' && i === 0 ? 12 : formatWithLeadingZero(i))));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return /*#__PURE__*/React.createElement(TimeColumn, {
|
|
107
|
+
prefix: prefix,
|
|
108
|
+
title: locale === null || locale === void 0 ? void 0 : locale[type],
|
|
109
|
+
"data-type": type,
|
|
110
|
+
"aria-label": "Select " + type
|
|
111
|
+
}, items);
|
|
112
|
+
};
|
|
113
|
+
var renderMeridiemColumn = function renderMeridiemColumn() {
|
|
114
|
+
var columns = ['AM', 'PM'];
|
|
115
|
+
return /*#__PURE__*/React.createElement(TimeColumn, {
|
|
116
|
+
prefix: prefix,
|
|
117
|
+
title: 'AM/PM',
|
|
118
|
+
"data-type": "meridiem",
|
|
119
|
+
"aria-label": "Select meridiem"
|
|
120
|
+
}, columns.map(function (meridiem, index) {
|
|
121
|
+
var ampm = date && (getHours(date) >= 12 ? 'PM' : 'AM');
|
|
122
|
+
var itemClasses = prefix('cell', {
|
|
123
|
+
'cell-active': ampm === meridiem
|
|
124
|
+
});
|
|
125
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
126
|
+
key: index,
|
|
127
|
+
role: "option",
|
|
128
|
+
tabIndex: -1,
|
|
129
|
+
"aria-label": meridiem,
|
|
130
|
+
"aria-selected": ampm === meridiem,
|
|
131
|
+
"data-key": "meridiem-" + meridiem,
|
|
132
|
+
onClick: partial(handleClickMeridiem, meridiem)
|
|
133
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
134
|
+
className: itemClasses
|
|
135
|
+
}, meridiem));
|
|
136
|
+
}));
|
|
137
|
+
};
|
|
138
|
+
var time = getClockTime({
|
|
139
|
+
format: format,
|
|
140
|
+
date: date,
|
|
141
|
+
showMeridiem: showMeridiem
|
|
142
|
+
});
|
|
143
|
+
var classes = merge(className, rootPrefix(classPrefix), {
|
|
144
|
+
show: show
|
|
145
|
+
});
|
|
146
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
147
|
+
role: "group",
|
|
148
|
+
tabIndex: -1,
|
|
149
|
+
id: targetId ? targetId + "-" + classPrefix : undefined
|
|
150
|
+
}, omitHideDisabledProps(rest), {
|
|
151
|
+
ref: ref,
|
|
152
|
+
className: classes
|
|
153
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
154
|
+
className: prefix('content')
|
|
155
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
156
|
+
className: prefix('row'),
|
|
157
|
+
ref: rowRef
|
|
158
|
+
}, renderColumn('hours', time.hours), renderColumn('minutes', time.minutes), renderColumn('seconds', time.seconds), showMeridiem && renderMeridiemColumn())));
|
|
159
|
+
});
|
|
160
|
+
TimeDropdown.displayName = 'TimeDropdown';
|
|
161
|
+
export default TimeDropdown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatWithLeadingZero: (number: number) => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ClockTime {
|
|
2
|
+
hours?: number | null;
|
|
3
|
+
minutes?: number | null;
|
|
4
|
+
seconds?: number | null;
|
|
5
|
+
meridiem?: 'AM' | 'PM' | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function getClockTime(props: {
|
|
8
|
+
date?: Date;
|
|
9
|
+
format?: string;
|
|
10
|
+
showMeridiem: boolean;
|
|
11
|
+
}): ClockTime;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { getHours, getMinutes, getSeconds } from "../../../internals/utils/date/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Convert the 24-hour clock to the 12-hour clock
|
|
5
|
+
* @param hours
|
|
6
|
+
*/
|
|
7
|
+
function getMeridiemHours(hours) {
|
|
8
|
+
return hours >= 12 ? hours - 12 : hours;
|
|
9
|
+
}
|
|
10
|
+
export function getClockTime(props) {
|
|
11
|
+
var format = props.format,
|
|
12
|
+
date = props.date,
|
|
13
|
+
showMeridiem = props.showMeridiem;
|
|
14
|
+
var clockTime = {
|
|
15
|
+
hours: null,
|
|
16
|
+
minutes: null,
|
|
17
|
+
seconds: null,
|
|
18
|
+
meridiem: null
|
|
19
|
+
};
|
|
20
|
+
if (!format) {
|
|
21
|
+
return clockTime;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// If date is provided, extract hours and meridiem
|
|
25
|
+
if (/(H|h)/.test(format) && date) {
|
|
26
|
+
var hours = getHours(date);
|
|
27
|
+
clockTime.hours = showMeridiem ? getMeridiemHours(hours) : hours;
|
|
28
|
+
clockTime.meridiem = hours >= 12 ? 'PM' : 'AM';
|
|
29
|
+
}
|
|
30
|
+
// Extract minutes if 'm' is present in format and date is provided
|
|
31
|
+
if (/m/.test(format) && date) {
|
|
32
|
+
clockTime.minutes = getMinutes(date);
|
|
33
|
+
}
|
|
34
|
+
// // Extract seconds if 's' is present in format and date is provided
|
|
35
|
+
if (/s/.test(format) && date) {
|
|
36
|
+
clockTime.seconds = getSeconds(date);
|
|
37
|
+
}
|
|
38
|
+
return clockTime;
|
|
39
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
export function getTimeLimits(isMeridiem) {
|
|
3
|
+
var HOURS_24H = {
|
|
4
|
+
start: 0,
|
|
5
|
+
end: 23
|
|
6
|
+
};
|
|
7
|
+
var HOURS_12H = {
|
|
8
|
+
start: 0,
|
|
9
|
+
end: 11
|
|
10
|
+
};
|
|
11
|
+
var MINUTES_SECONDS = {
|
|
12
|
+
start: 0,
|
|
13
|
+
end: 59
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
hours: isMeridiem ? HOURS_12H : HOURS_24H,
|
|
17
|
+
minutes: MINUTES_SECONDS,
|
|
18
|
+
seconds: MINUTES_SECONDS
|
|
19
|
+
};
|
|
20
|
+
}
|