rsuite 5.21.0 → 5.22.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 (45) hide show
  1. package/CHANGELOG.md +21 -973
  2. package/DatePicker/styles/index.less +11 -0
  3. package/Table/styles/index.less +12 -7
  4. package/cjs/Calendar/Calendar.js +1 -1
  5. package/cjs/Calendar/CalendarContainer.d.ts +2 -2
  6. package/cjs/Calendar/CalendarContainer.js +11 -11
  7. package/cjs/Calendar/MonthDropdownItem.js +1 -1
  8. package/cjs/Calendar/TimeDropdown.js +1 -1
  9. package/cjs/Calendar/types.d.ts +2 -2
  10. package/cjs/DatePicker/DatePicker.js +29 -7
  11. package/cjs/DatePicker/types.d.ts +1 -0
  12. package/cjs/DateRangePicker/Calendar.d.ts +2 -2
  13. package/cjs/DateRangePicker/Calendar.js +18 -13
  14. package/cjs/DateRangePicker/DateRangePicker.js +100 -55
  15. package/cjs/DateRangePicker/utils.d.ts +1 -1
  16. package/cjs/DateRangePicker/utils.js +11 -6
  17. package/cjs/utils/dateUtils.d.ts +16 -0
  18. package/cjs/utils/dateUtils.js +62 -8
  19. package/dist/rsuite-rtl.css +20 -6
  20. package/dist/rsuite-rtl.min.css +1 -1
  21. package/dist/rsuite-rtl.min.css.map +1 -1
  22. package/dist/rsuite.css +20 -6
  23. package/dist/rsuite.js +35 -24
  24. package/dist/rsuite.js.map +1 -1
  25. package/dist/rsuite.min.css +1 -1
  26. package/dist/rsuite.min.css.map +1 -1
  27. package/dist/rsuite.min.js +1 -1
  28. package/dist/rsuite.min.js.map +1 -1
  29. package/esm/Calendar/Calendar.js +1 -1
  30. package/esm/Calendar/CalendarContainer.d.ts +2 -2
  31. package/esm/Calendar/CalendarContainer.js +11 -11
  32. package/esm/Calendar/MonthDropdownItem.js +1 -1
  33. package/esm/Calendar/TimeDropdown.js +1 -1
  34. package/esm/Calendar/types.d.ts +2 -2
  35. package/esm/DatePicker/DatePicker.js +26 -7
  36. package/esm/DatePicker/types.d.ts +1 -0
  37. package/esm/DateRangePicker/Calendar.d.ts +2 -2
  38. package/esm/DateRangePicker/Calendar.js +18 -13
  39. package/esm/DateRangePicker/DateRangePicker.js +102 -55
  40. package/esm/DateRangePicker/utils.d.ts +1 -1
  41. package/esm/DateRangePicker/utils.js +11 -6
  42. package/esm/utils/dateUtils.d.ts +16 -0
  43. package/esm/utils/dateUtils.js +47 -1
  44. package/package.json +3 -3
  45. package/styles/variables.less +1 -0
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getCalendarDate = getCalendarDate;
4
+ exports.getSafeCalendarDate = getSafeCalendarDate;
5
5
  exports.getWeekHoverRange = exports.getMonthHoverRange = exports.isSameRange = void 0;
6
6
 
7
7
  var _dateUtils = require("../utils/dateUtils");
8
8
 
9
- function getCalendarDate(_ref) {
9
+ function getSafeCalendarDate(_ref) {
10
10
  var _value;
11
11
 
12
12
  var value = _ref.value,
@@ -16,13 +16,18 @@ function getCalendarDate(_ref) {
16
16
  value = (_value = value) !== null && _value !== void 0 ? _value : [];
17
17
 
18
18
  if (value[0] && value[1]) {
19
- var startMonth = (0, _dateUtils.getMonth)(value[0]);
20
- var endMonth = (0, _dateUtils.getMonth)(value[1]);
19
+ var diffMonth = (0, _dateUtils.differenceInCalendarMonths)(value[1], value[0]);
21
20
 
22
21
  if (calendarKey === 'start') {
23
- return [value[0], startMonth >= endMonth ? (0, _dateUtils.addMonths)(value[0], 1) : value[1]];
22
+ return [value[0], diffMonth <= 0 ? (0, _dateUtils.copyTime)({
23
+ from: value[1],
24
+ to: (0, _dateUtils.addMonths)(value[0], 1)
25
+ }) : value[1]];
24
26
  } else if (calendarKey === 'end') {
25
- return [startMonth >= endMonth ? (0, _dateUtils.addMonths)(value[1], -1) : value[0], value[1]];
27
+ return [diffMonth <= 0 ? (0, _dateUtils.copyTime)({
28
+ from: value[0],
29
+ to: (0, _dateUtils.addMonths)(value[1], -1)
30
+ }) : value[0], value[1]];
26
31
  } // If only the start date
27
32
 
28
33
  } else if (value[0]) {
@@ -36,6 +36,7 @@ export { default as subDays } from 'date-fns/subDays';
36
36
  export { default as isMatch } from 'date-fns/isMatch';
37
37
  export { default as isValid } from 'date-fns/isValid';
38
38
  export { default as set } from 'date-fns/set';
39
+ export { default as differenceInCalendarMonths } from 'date-fns/differenceInCalendarMonths';
39
40
  export declare type CalendarOnlyPropsType = 'disabledHours' | 'disabledMinutes' | 'disabledSeconds' | 'hideHours' | 'hideMinutes' | 'hideSeconds';
40
41
  export declare const calendarOnlyProps: CalendarOnlyPropsType[];
41
42
  /**
@@ -56,3 +57,18 @@ export declare const shouldOnlyRenderTime: (format: string) => boolean;
56
57
  */
57
58
  export declare function getMonthView(monthDate: Date, isoWeek: boolean): Date[];
58
59
  export declare function getDateMask(formatStr: string): (string | RegExp)[];
60
+ /**
61
+ * Copy the time of one date to another
62
+ */
63
+ export declare function copyTime({ from, to }: {
64
+ from: Date;
65
+ to: Date;
66
+ }): Date;
67
+ /**
68
+ * Swap two dates without swapping the time.
69
+ */
70
+ export declare function reverseDateRangeOmitTime(dateRange: [Date, Date]): [Date, Date];
71
+ /**
72
+ * Get the time with AM and PM reversed.
73
+ */
74
+ export declare const getReversedTimeMeridian: (date: Date) => Date;
@@ -6,7 +6,9 @@ exports.__esModule = true;
6
6
  exports.disabledTime = disabledTime;
7
7
  exports.getMonthView = getMonthView;
8
8
  exports.getDateMask = getDateMask;
9
- exports.shouldOnlyRenderTime = exports.shouldRenderDate = exports.shouldRenderMonth = exports.shouldRenderTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.set = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;
9
+ exports.copyTime = copyTime;
10
+ exports.reverseDateRangeOmitTime = reverseDateRangeOmitTime;
11
+ exports.getReversedTimeMeridian = exports.shouldOnlyRenderTime = exports.shouldRenderDate = exports.shouldRenderMonth = exports.shouldRenderTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.differenceInCalendarMonths = exports.set = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;
10
12
 
11
13
  var _pick = _interopRequireDefault(require("lodash/pick"));
12
14
 
@@ -16,6 +18,10 @@ var _getHours = _interopRequireDefault(require("date-fns/getHours"));
16
18
 
17
19
  exports.getHours = _getHours.default;
18
20
 
21
+ var _setHours = _interopRequireDefault(require("date-fns/setHours"));
22
+
23
+ exports.setHours = _setHours.default;
24
+
19
25
  var _getDay = _interopRequireDefault(require("date-fns/getDay"));
20
26
 
21
27
  exports.getDay = _getDay.default;
@@ -32,6 +38,10 @@ var _addDays = _interopRequireDefault(require("date-fns/addDays"));
32
38
 
33
39
  exports.addDays = _addDays.default;
34
40
 
41
+ var _set = _interopRequireDefault(require("date-fns/set"));
42
+
43
+ exports.set = _set.default;
44
+
35
45
  var _addMonths = _interopRequireDefault(require("date-fns/addMonths"));
36
46
 
37
47
  exports.addMonths = _addMonths.default;
@@ -112,10 +122,6 @@ var _setDate = _interopRequireDefault(require("date-fns/setDate"));
112
122
 
113
123
  exports.setDate = _setDate.default;
114
124
 
115
- var _setHours = _interopRequireDefault(require("date-fns/setHours"));
116
-
117
- exports.setHours = _setHours.default;
118
-
119
125
  var _setMinutes = _interopRequireDefault(require("date-fns/setMinutes"));
120
126
 
121
127
  exports.setMinutes = _setMinutes.default;
@@ -160,9 +166,9 @@ var _isValid = _interopRequireDefault(require("date-fns/isValid"));
160
166
 
161
167
  exports.isValid = _isValid.default;
162
168
 
163
- var _set = _interopRequireDefault(require("date-fns/set"));
169
+ var _differenceInCalendarMonths = _interopRequireDefault(require("date-fns/differenceInCalendarMonths"));
164
170
 
165
- exports.set = _set.default;
171
+ exports.differenceInCalendarMonths = _differenceInCalendarMonths.default;
166
172
  var disabledTimeProps = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];
167
173
  var hideTimeProps = ['hideHours', 'hideMinutes', 'hideSeconds'];
168
174
  var calendarOnlyProps = disabledTimeProps.concat(hideTimeProps);
@@ -270,4 +276,52 @@ function getDateMask(formatStr) {
270
276
  return Array.from(formatStr).map(function (i) {
271
277
  return i.match(/[A-Za-z]/) ? /[\d|A-Za-z]/ : i;
272
278
  });
273
- }
279
+ }
280
+ /**
281
+ * Copy the time of one date to another
282
+ */
283
+
284
+
285
+ function copyTime(_ref) {
286
+ var from = _ref.from,
287
+ to = _ref.to;
288
+ return (0, _set.default)(to, {
289
+ hours: (0, _getHours.default)(from),
290
+ minutes: (0, _getMinutes.default)(from),
291
+ seconds: (0, _getSeconds.default)(from)
292
+ });
293
+ }
294
+ /**
295
+ * Swap two dates without swapping the time.
296
+ */
297
+
298
+
299
+ function reverseDateRangeOmitTime(dateRange) {
300
+ var start = dateRange[0],
301
+ end = dateRange[1];
302
+
303
+ if (start && end) {
304
+ return [copyTime({
305
+ from: start,
306
+ to: end
307
+ }), copyTime({
308
+ from: end,
309
+ to: start
310
+ })];
311
+ }
312
+
313
+ return dateRange;
314
+ }
315
+ /**
316
+ * Get the time with AM and PM reversed.
317
+ */
318
+
319
+
320
+ var getReversedTimeMeridian = function getReversedTimeMeridian(date) {
321
+ var clonedDate = new Date(date.valueOf());
322
+ var hours = (0, _getHours.default)(clonedDate);
323
+ var nextHours = hours >= 12 ? hours - 12 : hours + 12;
324
+ return (0, _setHours.default)(clonedDate, nextHours);
325
+ };
326
+
327
+ exports.getReversedTimeMeridian = getReversedTimeMeridian;
@@ -4358,6 +4358,15 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner::before {
4358
4358
  .rs-picker-date-inline .rs-calendar {
4359
4359
  height: 286px;
4360
4360
  }
4361
+ .rs-picker-date-predefined {
4362
+ height: 325px;
4363
+ border-left: 1px solid #e5e5ea;
4364
+ border-left: 1px solid var(--rs-border-primary);
4365
+ padding: 4px 0;
4366
+ }
4367
+ .rs-picker-date-predefined .rs-btn {
4368
+ display: block;
4369
+ }
4361
4370
  .rs-picker-menu .rs-picker-toolbar {
4362
4371
  max-width: 100%;
4363
4372
  }
@@ -14277,12 +14286,6 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
14277
14286
  -webkit-box-shadow: none;
14278
14287
  box-shadow: none;
14279
14288
  }
14280
- .rs-table-row,
14281
- .rs-table-cell-group,
14282
- .rs-table-cell {
14283
- -webkit-transition: background-color 0.3s linear;
14284
- transition: background-color 0.3s linear;
14285
- }
14286
14289
  .rs-table-hover .rs-table-row:not(.rs-table-row-header):hover,
14287
14290
  .rs-table-hover .rs-table-row:hover .rs-table-cell-group,
14288
14291
  .rs-table-hover .rs-table-row:hover .rs-table-cell {
@@ -14444,6 +14447,17 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
14444
14447
  border-bottom: 1px solid #f2f2f5 !important;
14445
14448
  border-bottom: 1px solid var(--rs-border-secondary) !important;
14446
14449
  }
14450
+ .rs-table-cell-full-text:hover {
14451
+ z-index: 1 !important;
14452
+ width: auto !important;
14453
+ -webkit-box-shadow: inset #3498ff 0px 0px 2px;
14454
+ -webkit-box-shadow: inset var(--rs-primary-500) 0px 0px 2px;
14455
+ box-shadow: inset #3498ff 0px 0px 2px;
14456
+ box-shadow: inset var(--rs-primary-500) 0px 0px 2px;
14457
+ }
14458
+ .rs-table-cell-full-text:hover .rs-table-cell-content {
14459
+ width: auto !important;
14460
+ }
14447
14461
  .rs-table-cell-header-sortable .rs-table-cell-content {
14448
14462
  cursor: pointer;
14449
14463
  }