rsuite 5.18.0 → 5.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/Calendar/styles/index.less +30 -11
  3. package/DateRangePicker/styles/index.less +1 -1
  4. package/Nav/styles/index.less +1 -0
  5. package/cjs/Calendar/Calendar.d.ts +20 -55
  6. package/cjs/Calendar/Calendar.js +84 -163
  7. package/cjs/Calendar/CalendarBody.d.ts +4 -0
  8. package/cjs/Calendar/{View.js → CalendarBody.js} +5 -5
  9. package/cjs/Calendar/CalendarContainer.d.ts +61 -0
  10. package/cjs/Calendar/CalendarContainer.js +233 -0
  11. package/cjs/Calendar/{Header.d.ts → CalendarHeader.d.ts} +9 -7
  12. package/cjs/Calendar/{Header.js → CalendarHeader.js} +4 -4
  13. package/cjs/Calendar/Table.js +1 -1
  14. package/cjs/Calendar/TableHeaderRow.js +1 -1
  15. package/cjs/Calendar/TableRow.js +1 -1
  16. package/cjs/Calendar/index.d.ts +6 -5
  17. package/cjs/Calendar/index.js +8 -7
  18. package/cjs/Calendar/useCalendarState.d.ts +11 -0
  19. package/cjs/Calendar/useCalendarState.js +39 -0
  20. package/cjs/DatePicker/DatePicker.js +10 -47
  21. package/cjs/DatePicker/utils.d.ts +1 -8
  22. package/cjs/DatePicker/utils.js +24 -64
  23. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  24. package/cjs/DateRangePicker/Calendar.js +2 -17
  25. package/cjs/DateRangePicker/DateRangePicker.js +3 -3
  26. package/cjs/DateRangePicker/utils.d.ts +1 -3
  27. package/cjs/DateRangePicker/utils.js +14 -42
  28. package/cjs/List/ListItem.d.ts +1 -0
  29. package/cjs/List/ListItem.js +5 -2
  30. package/cjs/Stack/Stack.js +1 -1
  31. package/cjs/index.d.ts +1 -1
  32. package/cjs/utils/BrowserDetection.d.ts +7 -0
  33. package/cjs/utils/BrowserDetection.js +52 -2
  34. package/cjs/utils/dateUtils.d.ts +4 -4
  35. package/cjs/utils/dateUtils.js +9 -9
  36. package/dist/rsuite-rtl.css +43 -20
  37. package/dist/rsuite-rtl.min.css +1 -1
  38. package/dist/rsuite-rtl.min.css.map +1 -1
  39. package/dist/rsuite.css +43 -20
  40. package/dist/rsuite.js +51 -40
  41. package/dist/rsuite.js.map +1 -1
  42. package/dist/rsuite.min.css +1 -1
  43. package/dist/rsuite.min.css.map +1 -1
  44. package/dist/rsuite.min.js +1 -1
  45. package/dist/rsuite.min.js.map +1 -1
  46. package/esm/Calendar/Calendar.d.ts +20 -55
  47. package/esm/Calendar/Calendar.js +82 -154
  48. package/esm/Calendar/CalendarBody.d.ts +4 -0
  49. package/esm/Calendar/{View.js → CalendarBody.js} +5 -5
  50. package/esm/Calendar/CalendarContainer.d.ts +61 -0
  51. package/esm/Calendar/CalendarContainer.js +208 -0
  52. package/esm/Calendar/{Header.d.ts → CalendarHeader.d.ts} +9 -7
  53. package/esm/Calendar/{Header.js → CalendarHeader.js} +4 -4
  54. package/esm/Calendar/Table.js +1 -1
  55. package/esm/Calendar/TableHeaderRow.js +1 -1
  56. package/esm/Calendar/TableRow.js +1 -1
  57. package/esm/Calendar/index.d.ts +6 -5
  58. package/esm/Calendar/index.js +5 -4
  59. package/esm/Calendar/useCalendarState.d.ts +11 -0
  60. package/esm/Calendar/useCalendarState.js +31 -0
  61. package/esm/DatePicker/DatePicker.js +10 -46
  62. package/esm/DatePicker/utils.d.ts +1 -8
  63. package/esm/DatePicker/utils.js +23 -57
  64. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  65. package/esm/DateRangePicker/Calendar.js +2 -16
  66. package/esm/DateRangePicker/DateRangePicker.js +5 -5
  67. package/esm/DateRangePicker/utils.d.ts +1 -3
  68. package/esm/DateRangePicker/utils.js +13 -33
  69. package/esm/List/ListItem.d.ts +1 -0
  70. package/esm/List/ListItem.js +5 -2
  71. package/esm/Stack/Stack.js +2 -2
  72. package/esm/index.d.ts +1 -1
  73. package/esm/utils/BrowserDetection.d.ts +7 -0
  74. package/esm/utils/BrowserDetection.js +41 -0
  75. package/esm/utils/dateUtils.d.ts +4 -4
  76. package/esm/utils/dateUtils.js +4 -4
  77. package/package.json +1 -1
  78. package/cjs/Calendar/CalendarPanel.d.ts +0 -26
  79. package/cjs/Calendar/CalendarPanel.js +0 -139
  80. package/cjs/Calendar/View.d.ts +0 -4
  81. package/esm/Calendar/CalendarPanel.d.ts +0 -26
  82. package/esm/Calendar/CalendarPanel.js +0 -119
  83. package/esm/Calendar/View.d.ts +0 -4
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _pick = _interopRequireDefault(require("lodash/pick"));
19
+
20
+ var _MonthDropdown = _interopRequireDefault(require("./MonthDropdown"));
21
+
22
+ var _TimeDropdown = _interopRequireDefault(require("./TimeDropdown"));
23
+
24
+ var _CalendarBody = _interopRequireDefault(require("./CalendarBody"));
25
+
26
+ var _CalendarHeader = _interopRequireDefault(require("./CalendarHeader"));
27
+
28
+ var _utils = require("../utils");
29
+
30
+ var _dateUtils = require("../utils/dateUtils");
31
+
32
+ var _CalendarContext = require("./CalendarContext");
33
+
34
+ var _useCalendarState2 = _interopRequireWildcard(require("./useCalendarState"));
35
+
36
+ var _AngleUp = _interopRequireDefault(require("@rsuite/icons/legacy/AngleUp"));
37
+
38
+ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
+ var _props$as = props.as,
40
+ Component = _props$as === void 0 ? 'div' : _props$as,
41
+ className = props.className,
42
+ _props$classPrefix = props.classPrefix,
43
+ classPrefix = _props$classPrefix === void 0 ? 'calendar' : _props$classPrefix,
44
+ dateRange = props.dateRange,
45
+ disabledBackward = props.disabledBackward,
46
+ defaultState = props.defaultState,
47
+ disabledDate = props.disabledDate,
48
+ disabledForward = props.disabledForward,
49
+ format = props.format,
50
+ hoverRangeValue = props.hoverRangeValue,
51
+ inSameMonth = props.inSameMonth,
52
+ _props$isoWeek = props.isoWeek,
53
+ isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
54
+ limitEndYear = props.limitEndYear,
55
+ locale = props.locale,
56
+ onChangePageDate = props.onChangePageDate,
57
+ onChangePageTime = props.onChangePageTime,
58
+ onMouseMove = props.onMouseMove,
59
+ onMoveBackward = props.onMoveBackward,
60
+ onMoveForward = props.onMoveForward,
61
+ onSelect = props.onSelect,
62
+ onToggleMeridian = props.onToggleMeridian,
63
+ onToggleMonthDropdown = props.onToggleMonthDropdown,
64
+ onToggleTimeDropdown = props.onToggleTimeDropdown,
65
+ calendarDate = props.calendarDate,
66
+ renderCell = props.renderCell,
67
+ renderTitle = props.renderTitle,
68
+ renderToolbar = props.renderToolbar,
69
+ showMeridian = props.showMeridian,
70
+ showWeekNumbers = props.showWeekNumbers,
71
+ inline = props.inline,
72
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "inSameMonth", "isoWeek", "limitEndYear", "locale", "onChangePageDate", "onChangePageTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
73
+
74
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
75
+ withClassPrefix = _useClassNames.withClassPrefix,
76
+ merge = _useClassNames.merge,
77
+ prefix = _useClassNames.prefix;
78
+
79
+ var _useCalendarState = (0, _useCalendarState2.default)(defaultState),
80
+ calendarState = _useCalendarState.calendarState,
81
+ reset = _useCalendarState.reset,
82
+ openMonth = _useCalendarState.openMonth,
83
+ openTime = _useCalendarState.openTime;
84
+
85
+ var isDisabledDate = (0, _react.useCallback)(function (date) {
86
+ var _disabledDate;
87
+
88
+ return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
89
+ }, [disabledDate]);
90
+
91
+ var isTimeDisabled = function isTimeDisabled(date) {
92
+ return (0, _dateUtils.disabledTime)(props, date);
93
+ };
94
+
95
+ var handleMoveForward = (0, _react.useCallback)(function () {
96
+ onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward((0, _dateUtils.addMonths)(calendarDate, 1));
97
+ }, [onMoveForward, calendarDate]);
98
+ var handleMoveBackward = (0, _react.useCallback)(function () {
99
+ onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward((0, _dateUtils.addMonths)(calendarDate, -1));
100
+ }, [onMoveBackward, calendarDate]); // It is displayed as the month to be selected.
101
+
102
+ var toggleMonthView = (0, _react.useCallback)(function () {
103
+ if (calendarState === _useCalendarState2.CalendarState.MONTH) {
104
+ reset();
105
+ } else {
106
+ openMonth();
107
+ }
108
+
109
+ onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(calendarState !== _useCalendarState2.CalendarState.MONTH);
110
+ }, [calendarState, onToggleMonthDropdown, openMonth, reset]); // It is displayed as a time to be selected.
111
+
112
+ var toggleTimeView = (0, _react.useCallback)(function () {
113
+ if (calendarState === _useCalendarState2.CalendarState.TIME) {
114
+ reset();
115
+ } else {
116
+ openTime();
117
+ }
118
+
119
+ onToggleTimeDropdown === null || onToggleTimeDropdown === void 0 ? void 0 : onToggleTimeDropdown(calendarState !== _useCalendarState2.CalendarState.TIME);
120
+ }, [calendarState, onToggleTimeDropdown, openTime, reset]);
121
+ var handleCloseDropdown = (0, _react.useCallback)(function () {
122
+ return reset();
123
+ }, [reset]);
124
+ var renderDate = (0, _dateUtils.shouldRenderDate)(format);
125
+ var renderTime = (0, _dateUtils.shouldRenderTime)(format);
126
+ var renderMonth = (0, _dateUtils.shouldRenderMonth)(format);
127
+ var onlyShowTime = renderTime && !renderDate && !renderMonth;
128
+ var onlyShowMonth = renderMonth && !renderDate && !renderTime;
129
+ var showTime = calendarState === _useCalendarState2.CalendarState.TIME || onlyShowTime;
130
+ var showMonth = calendarState === _useCalendarState2.CalendarState.MONTH || onlyShowMonth;
131
+ var inSameThisMonthDate = (0, _react.useCallback)(function (date) {
132
+ return (0, _utils.composeFunctions)(function (d) {
133
+ return (0, _dateUtils.setDate)(d, 1);
134
+ }, function (d) {
135
+ return (0, _dateUtils.isSameMonth)(d, date);
136
+ })(date);
137
+ }, []);
138
+ var calendarClasses = merge(className, withClassPrefix({
139
+ 'time-view': showTime,
140
+ 'month-view': showMonth,
141
+ 'show-week-numbers': showWeekNumbers
142
+ }));
143
+ var timeDropdownProps = (0, _pick.default)(rest, _dateUtils.calendarOnlyProps);
144
+ var handleChangePageDate = (0, _react.useCallback)(function (date, event) {
145
+ reset();
146
+ onChangePageDate === null || onChangePageDate === void 0 ? void 0 : onChangePageDate(date, event);
147
+ }, [onChangePageDate, reset]);
148
+ var contextValue = (0, _react.useMemo)(function () {
149
+ return {
150
+ date: calendarDate,
151
+ dateRange: dateRange,
152
+ disabledDate: isDisabledDate,
153
+ format: format,
154
+ hoverRangeValue: hoverRangeValue,
155
+ inSameMonth: inSameMonth !== null && inSameMonth !== void 0 ? inSameMonth : inSameThisMonthDate,
156
+ isoWeek: isoWeek,
157
+ locale: locale,
158
+ onChangePageDate: handleChangePageDate,
159
+ onChangePageTime: onChangePageTime,
160
+ onMouseMove: onMouseMove,
161
+ onSelect: onSelect,
162
+ renderCell: renderCell,
163
+ showWeekNumbers: showWeekNumbers,
164
+ inline: inline
165
+ };
166
+ }, [calendarDate, dateRange, format, handleChangePageDate, hoverRangeValue, inSameMonth, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangePageTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
167
+ return /*#__PURE__*/_react.default.createElement(_CalendarContext.CalendarProvider, {
168
+ value: contextValue
169
+ }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, (0, _dateUtils.omitHideDisabledProps)(rest), {
170
+ className: calendarClasses,
171
+ ref: ref
172
+ }), /*#__PURE__*/_react.default.createElement(_CalendarHeader.default, {
173
+ showMonth: renderMonth,
174
+ showDate: renderDate,
175
+ showTime: renderTime,
176
+ showMeridian: showMeridian,
177
+ disabledTime: isTimeDisabled,
178
+ onMoveForward: handleMoveForward,
179
+ onMoveBackward: handleMoveBackward,
180
+ onToggleMonthDropdown: toggleMonthView,
181
+ onToggleTimeDropdown: toggleTimeView,
182
+ onToggleMeridian: onToggleMeridian,
183
+ renderTitle: renderTitle,
184
+ renderToolbar: renderToolbar,
185
+ disabledBackward: disabledBackward,
186
+ disabledForward: disabledForward
187
+ }), renderDate && /*#__PURE__*/_react.default.createElement(_CalendarBody.default, null), renderMonth && /*#__PURE__*/_react.default.createElement(_MonthDropdown.default, {
188
+ show: showMonth,
189
+ limitEndYear: limitEndYear,
190
+ disabledMonth: isDisabledDate
191
+ }), renderTime && /*#__PURE__*/_react.default.createElement(_TimeDropdown.default, (0, _extends2.default)({}, timeDropdownProps, {
192
+ show: showTime,
193
+ showMeridian: showMeridian
194
+ })), (showMonth || showTime) && renderDate && /*#__PURE__*/_react.default.createElement("button", {
195
+ className: prefix('btn-close'),
196
+ onClick: handleCloseDropdown,
197
+ "aria-label": "Collapse " + (showMonth ? 'month' : 'time') + " view"
198
+ }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, null))));
199
+ });
200
+
201
+ CalendarContainer.displayName = 'CalendarContainer';
202
+ CalendarContainer.propTypes = {
203
+ className: _propTypes.default.string,
204
+ classPrefix: _propTypes.default.string,
205
+ disabledDate: _propTypes.default.func,
206
+ disabledHours: _propTypes.default.func,
207
+ disabledMinutes: _propTypes.default.func,
208
+ disabledSeconds: _propTypes.default.func,
209
+ format: _propTypes.default.string,
210
+ hideHours: _propTypes.default.func,
211
+ hideMinutes: _propTypes.default.func,
212
+ hideSeconds: _propTypes.default.func,
213
+ inSameMonth: _propTypes.default.func,
214
+ isoWeek: _propTypes.default.bool,
215
+ limitEndYear: _propTypes.default.number,
216
+ locale: _propTypes.default.object,
217
+ onChangePageDate: _propTypes.default.func,
218
+ onChangePageTime: _propTypes.default.func,
219
+ onMoveBackward: _propTypes.default.func,
220
+ onMoveForward: _propTypes.default.func,
221
+ onSelect: _propTypes.default.func,
222
+ onToggleMeridian: _propTypes.default.func,
223
+ onToggleMonthDropdown: _propTypes.default.func,
224
+ onToggleTimeDropdown: _propTypes.default.func,
225
+ calendarDate: _propTypes.default.instanceOf(Date),
226
+ renderCell: _propTypes.default.func,
227
+ renderTitle: _propTypes.default.func,
228
+ renderToolbar: _propTypes.default.func,
229
+ showMeridian: _propTypes.default.bool,
230
+ showWeekNumbers: _propTypes.default.bool
231
+ };
232
+ var _default = CalendarContainer;
233
+ exports.default = _default;
@@ -1,20 +1,22 @@
1
1
  import React from 'react';
2
2
  import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
3
- export interface HeaderProps extends WithAsProps {
3
+ export interface CalendarHeaderProps {
4
4
  disabledBackward?: boolean;
5
5
  disabledForward?: boolean;
6
- showDate?: boolean;
7
6
  showMeridian?: boolean;
7
+ onToggleMeridian?: (event: React.MouseEvent) => void;
8
+ renderTitle?: (date: Date) => React.ReactNode;
9
+ renderToolbar?: (date: Date) => React.ReactNode;
10
+ }
11
+ interface CalendarHeaderPrivateProps extends CalendarHeaderProps, WithAsProps {
12
+ showDate?: boolean;
8
13
  showMonth?: boolean;
9
14
  showTime?: boolean;
10
15
  disabledTime?: (date: Date) => boolean;
11
16
  onMoveBackward?: () => void;
12
17
  onMoveForward?: () => void;
13
- onToggleMeridian?: (event: React.MouseEvent) => void;
14
18
  onToggleMonthDropdown?: (event: React.MouseEvent) => void;
15
19
  onToggleTimeDropdown?: (event: React.MouseEvent) => void;
16
- renderTitle?: (date: Date) => React.ReactNode;
17
- renderToolbar?: (date: Date) => React.ReactNode;
18
20
  }
19
- declare const Header: RsRefForwardingComponent<'div', HeaderProps>;
20
- export default Header;
21
+ declare const CalendarHeader: RsRefForwardingComponent<'div', CalendarHeaderPrivateProps>;
22
+ export default CalendarHeader;
@@ -29,7 +29,7 @@ var _CustomProvider = require("../CustomProvider");
29
29
 
30
30
  var _CalendarContext = require("./CalendarContext");
31
31
 
32
- var Header = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
32
+ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
33
33
  var _props$as = props.as,
34
34
  Component = _props$as === void 0 ? 'div' : _props$as,
35
35
  className = props.className,
@@ -157,8 +157,8 @@ var Header = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
157
157
  }))), renderToolbar === null || renderToolbar === void 0 ? void 0 : renderToolbar(date));
158
158
  });
159
159
 
160
- Header.displayName = 'Header';
161
- Header.propTypes = {
160
+ CalendarHeader.displayName = 'CalendarHeader';
161
+ CalendarHeader.propTypes = {
162
162
  className: _propTypes.default.string,
163
163
  classPrefix: _propTypes.default.string,
164
164
  disabledBackward: _propTypes.default.bool,
@@ -176,5 +176,5 @@ Header.propTypes = {
176
176
  showMonth: _propTypes.default.bool,
177
177
  showTime: _propTypes.default.bool
178
178
  };
179
- var _default = Header;
179
+ var _default = CalendarHeader;
180
180
  exports.default = _default;
@@ -47,7 +47,7 @@ var Table = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
47
  }));
48
48
  });
49
49
 
50
- Table.displayName = 'Table';
50
+ Table.displayName = 'CalendarTable';
51
51
  Table.propTypes = {
52
52
  rows: _propTypes.default.array,
53
53
  className: _propTypes.default.string,
@@ -65,7 +65,7 @@ var TableHeaderRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref
65
65
  }));
66
66
  });
67
67
 
68
- TableHeaderRow.displayName = 'TableHeaderRow';
68
+ TableHeaderRow.displayName = 'CalendarTableHeaderRow';
69
69
  TableHeaderRow.propTypes = {
70
70
  as: _propTypes.default.elementType,
71
71
  className: _propTypes.default.string,
@@ -156,7 +156,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
156
156
  }, _utils.DateUtils.format(weekendDate, isoWeek ? 'I' : 'w')), renderDays());
157
157
  });
158
158
 
159
- TableRow.displayName = 'TableRow';
159
+ TableRow.displayName = 'CalendarTableRow';
160
160
  TableRow.propTypes = {
161
161
  weekendDate: _propTypes.default.instanceOf(Date),
162
162
  className: _propTypes.default.string,
@@ -1,8 +1,9 @@
1
- import CalendarPanel from './CalendarPanel';
2
- import Calendar, { CalendarState } from './Calendar';
1
+ import Calendar from './Calendar';
2
+ import CalendarContainer from './CalendarContainer';
3
+ import { CalendarState } from './useCalendarState';
3
4
  import CalendarContext from './CalendarContext';
4
5
  import { CalendarContextValue } from './types';
5
- export { Calendar, CalendarContext, CalendarState };
6
+ export { CalendarContainer, CalendarContext, CalendarState };
6
7
  export type { CalendarContextValue };
7
- export type { CalendarPanelProps } from './CalendarPanel';
8
- export default CalendarPanel;
8
+ export type { CalendarProps } from './Calendar';
9
+ export default Calendar;
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
7
5
  exports.__esModule = true;
8
6
  exports.default = void 0;
9
7
 
10
- var _CalendarPanel = _interopRequireDefault(require("./CalendarPanel"));
8
+ var _Calendar = _interopRequireDefault(require("./Calendar"));
9
+
10
+ var _CalendarContainer = _interopRequireDefault(require("./CalendarContainer"));
11
+
12
+ exports.CalendarContainer = _CalendarContainer.default;
11
13
 
12
- var _Calendar = _interopRequireWildcard(require("./Calendar"));
14
+ var _useCalendarState = require("./useCalendarState");
13
15
 
14
- exports.Calendar = _Calendar.default;
15
- exports.CalendarState = _Calendar.CalendarState;
16
+ exports.CalendarState = _useCalendarState.CalendarState;
16
17
 
17
18
  var _CalendarContext = _interopRequireDefault(require("./CalendarContext"));
18
19
 
19
20
  exports.CalendarContext = _CalendarContext.default;
20
- var _default = _CalendarPanel.default;
21
+ var _default = _Calendar.default;
21
22
  exports.default = _default;
@@ -0,0 +1,11 @@
1
+ export declare enum CalendarState {
2
+ 'TIME' = "TIME",
3
+ 'MONTH' = "MONTH"
4
+ }
5
+ declare const useCalendarState: (defaultState?: CalendarState) => {
6
+ calendarState: CalendarState | undefined;
7
+ reset: () => void;
8
+ openMonth: () => void;
9
+ openTime: () => void;
10
+ };
11
+ export default useCalendarState;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.CalendarState = void 0;
5
+
6
+ var _react = require("react");
7
+
8
+ var CalendarState;
9
+ exports.CalendarState = CalendarState;
10
+
11
+ (function (CalendarState) {
12
+ CalendarState["TIME"] = "TIME";
13
+ CalendarState["MONTH"] = "MONTH";
14
+ })(CalendarState || (exports.CalendarState = CalendarState = {}));
15
+
16
+ var useCalendarState = function useCalendarState(defaultState) {
17
+ var _useState = (0, _react.useState)(defaultState),
18
+ calendarState = _useState[0],
19
+ setCalendarState = _useState[1];
20
+
21
+ var reset = (0, _react.useCallback)(function () {
22
+ setCalendarState(undefined);
23
+ }, []);
24
+ var openMonth = (0, _react.useCallback)(function () {
25
+ setCalendarState(CalendarState.MONTH);
26
+ }, []);
27
+ var openTime = (0, _react.useCallback)(function () {
28
+ setCalendarState(CalendarState.TIME);
29
+ }, []);
30
+ return {
31
+ calendarState: calendarState,
32
+ reset: reset,
33
+ openMonth: openMonth,
34
+ openTime: openTime
35
+ };
36
+ };
37
+
38
+ var _default = useCalendarState;
39
+ exports.default = _default;
@@ -25,7 +25,7 @@ var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"))
25
25
 
26
26
  var _ClockO = _interopRequireDefault(require("@rsuite/icons/legacy/ClockO"));
27
27
 
28
- var _Calendar2 = require("../Calendar");
28
+ var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer"));
29
29
 
30
30
  var _useCalendarDate2 = _interopRequireDefault(require("../Calendar/useCalendarDate"));
31
31
 
@@ -35,8 +35,6 @@ var _utils = require("../utils");
35
35
 
36
36
  var _Picker = require("../Picker");
37
37
 
38
- var _utils2 = require("./utils");
39
-
40
38
  var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
39
  var _props$as = props.as,
42
40
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -110,12 +108,6 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
110
108
  inputState = _useState[0],
111
109
  setInputState = _useState[1];
112
110
 
113
- var _useCalendarState = (0, _utils2.useCalendarState)(),
114
- calendarState = _useCalendarState.calendarState,
115
- reset = _useCalendarState.reset,
116
- openMonth = _useCalendarState.openMonth,
117
- openTime = _useCalendarState.openTime;
118
-
119
111
  var _useState2 = (0, _react.useState)(false),
120
112
  active = _useState2[0],
121
113
  setActive = _useState2[1];
@@ -216,32 +208,6 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
216
208
  updateValue(event);
217
209
  onOk === null || onOk === void 0 ? void 0 : onOk(calendarDate, event);
218
210
  }, [updateValue, onOk, calendarDate]);
219
- /**
220
- * Toggle month selection panel
221
- */
222
-
223
- var handleMonthDropdown = (0, _react.useCallback)(function () {
224
- if (calendarState === _Calendar2.CalendarState.DROP_MONTH) {
225
- reset();
226
- } else {
227
- openMonth();
228
- }
229
-
230
- onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(calendarState !== _Calendar2.CalendarState.DROP_MONTH);
231
- }, [calendarState, onToggleMonthDropdown, openMonth, reset]);
232
- /**
233
- * Switch time selection panel
234
- */
235
-
236
- var handleTimeDropdown = (0, _react.useCallback)(function () {
237
- if (calendarState === _Calendar2.CalendarState.DROP_TIME) {
238
- reset();
239
- } else {
240
- openTime();
241
- }
242
-
243
- onToggleTimeDropdown === null || onToggleTimeDropdown === void 0 ? void 0 : onToggleTimeDropdown(calendarState !== _Calendar2.CalendarState.DROP_TIME);
244
- }, [calendarState, onToggleTimeDropdown, openTime, reset]);
245
211
  /**
246
212
  * Callback after clicking the clear button.
247
213
  */
@@ -270,7 +236,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
270
236
  }
271
237
 
272
238
  setCalendarDate( // Determine whether the current value contains time, if not, use calendarDate.
273
- _utils.DateUtils.shouldTime(formatStr) ? nextValue : (0, _utils.composeFunctions)(function (d) {
239
+ _utils.DateUtils.shouldRenderTime(formatStr) ? nextValue : (0, _utils.composeFunctions)(function (d) {
274
240
  return _utils.DateUtils.setHours(d, _utils.DateUtils.getHours(calendarDate));
275
241
  }, function (d) {
276
242
  return _utils.DateUtils.setMinutes(d, _utils.DateUtils.getMinutes(calendarDate));
@@ -289,15 +255,14 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
289
255
 
290
256
  var handleChangePageDate = (0, _react.useCallback)(function (nextPageDate, event) {
291
257
  setCalendarDate(nextPageDate);
292
- reset();
293
258
  handleDateChange(nextPageDate); // Show only the calendar month panel. formatStr = 'yyyy-MM'
294
259
 
295
- var onlyShowMonth = _utils.DateUtils.shouldMonth(formatStr) && !_utils.DateUtils.shouldDate(formatStr);
260
+ var onlyShowMonth = _utils.DateUtils.shouldRenderMonth(formatStr) && !_utils.DateUtils.shouldRenderDate(formatStr);
296
261
 
297
262
  if (oneTap && onlyShowMonth) {
298
263
  updateValue(event, nextPageDate);
299
264
  }
300
- }, [formatStr, handleDateChange, oneTap, reset, setCalendarDate, updateValue]);
265
+ }, [formatStr, handleDateChange, oneTap, setCalendarDate, updateValue]);
301
266
  var disabledDate = (0, _react.useCallback)(function (date) {
302
267
  var _disabledDateProp;
303
268
 
@@ -320,7 +285,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
320
285
 
321
286
  var date = parseDate(value, formatStr); // If only the time is included in the characters, it will default to today.
322
287
 
323
- if (_utils.DateUtils.shouldOnlyTime(formatStr)) {
288
+ if (_utils.DateUtils.shouldOnlyRenderTime(formatStr)) {
324
289
  date = new Date(_utils.DateUtils.format(new Date(), 'yyyy-MM-dd') + " " + value);
325
290
  }
326
291
 
@@ -353,9 +318,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
353
318
  }, [onOpen]);
354
319
  var handleExited = (0, _react.useCallback)(function () {
355
320
  onClose === null || onClose === void 0 ? void 0 : onClose();
356
- reset();
357
321
  setActive(false);
358
- }, [onClose, reset]); // Check whether the time is within the time range of the shortcut option in the toolbar.
322
+ }, [onClose]); // Check whether the time is within the time range of the shortcut option in the toolbar.
359
323
 
360
324
  var disabledToolbarHandle = (0, _react.useCallback)(function (date) {
361
325
  var _disabledDateProp2;
@@ -379,7 +343,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
379
343
  return _utils.DateUtils.isSameMonth(date, calendarDate);
380
344
  }, [calendarDate]);
381
345
 
382
- var calendar = /*#__PURE__*/_react.default.createElement(_Calendar2.Calendar, (0, _extends2.default)({}, calendarProps, {
346
+ var calendar = /*#__PURE__*/_react.default.createElement(_CalendarContainer.default, (0, _extends2.default)({}, calendarProps, {
383
347
  locale: locale,
384
348
  showWeekNumbers: showWeekNumbers,
385
349
  showMeridian: showMeridian,
@@ -388,13 +352,12 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
388
352
  format: formatStr,
389
353
  isoWeek: isoWeek,
390
354
  inSameMonth: inSameMonth,
391
- calendarState: calendarState,
392
355
  calendarDate: calendarDate,
393
356
  onMoveForward: handleMoveForward,
394
357
  onMoveBackward: handleMoveBackward,
395
358
  onSelect: handleSelect,
396
- onToggleMonthDropdown: handleMonthDropdown,
397
- onToggleTimeDropdown: handleTimeDropdown,
359
+ onToggleMonthDropdown: onToggleMonthDropdown,
360
+ onToggleTimeDropdown: onToggleTimeDropdown,
398
361
  onChangePageDate: handleChangePageDate,
399
362
  onChangePageTime: handleChangePageTime,
400
363
  onToggleMeridian: handleToggleMeridian
@@ -449,7 +412,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
449
412
  return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);
450
413
  }, [formatStr, formatDate, placeholder, renderValue, value]);
451
414
  var caretAs = (0, _react.useMemo)(function () {
452
- return caretAsProp || (_utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default);
415
+ return caretAsProp || (_utils.DateUtils.shouldOnlyRenderTime(formatStr) ? _ClockO.default : _Calendar.default);
453
416
  }, [caretAsProp, formatStr]);
454
417
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
455
418
  trigger: "active",
@@ -1,17 +1,10 @@
1
1
  import { ToolbarProps } from './Toolbar';
2
2
  import { InnerRange } from './types';
3
- import { CalendarState } from '../Calendar';
4
3
  import { DateRange } from '../DateRangePicker/types';
5
- export declare function getDefaultRanges<T extends Date | DateRange>(date: T): InnerRange<T>[];
4
+ export declare function getDefaultRanges<T extends Date | DateRange>(value: T): InnerRange<T>[];
6
5
  /**
7
6
  * get Toolbar ranges from Toolbar props
8
7
  * @param ranges
9
8
  * @param calendarDate
10
9
  */
11
10
  export declare const getRanges: <T extends Date | DateRange>({ ranges, calendarDate }: Pick<ToolbarProps<T, T>, "calendarDate" | "ranges">) => InnerRange<T>[];
12
- export declare const useCalendarState: () => {
13
- calendarState: CalendarState | undefined;
14
- reset: () => void;
15
- openMonth: () => void;
16
- openTime: () => void;
17
- };