rsuite 5.31.0 → 5.32.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/Calendar/styles/index.less +3 -2
  3. package/Toggle/styles/mixin.less +14 -0
  4. package/cjs/Calendar/Calendar.d.ts +3 -3
  5. package/cjs/Calendar/Calendar.js +4 -4
  6. package/cjs/Calendar/CalendarContainer.d.ts +2 -2
  7. package/cjs/Calendar/CalendarContainer.js +8 -11
  8. package/cjs/Calendar/MonthDropdown.js +1 -1
  9. package/cjs/Cascader/Cascader.d.ts +2 -2
  10. package/cjs/Cascader/Cascader.js +83 -71
  11. package/cjs/Cascader/DropdownMenu.d.ts +6 -2
  12. package/cjs/Cascader/DropdownMenu.js +8 -4
  13. package/cjs/Cascader/utils.d.ts +52 -17
  14. package/cjs/Cascader/utils.js +99 -138
  15. package/cjs/DatePicker/DatePicker.d.ts +3 -1
  16. package/cjs/DatePicker/DatePicker.js +4 -5
  17. package/cjs/DateRangePicker/Calendar.d.ts +1 -0
  18. package/cjs/DateRangePicker/Calendar.js +4 -5
  19. package/cjs/DateRangePicker/DateRangePicker.d.ts +3 -1
  20. package/cjs/DateRangePicker/DateRangePicker.js +4 -1
  21. package/cjs/MultiCascader/DropdownMenu.d.ts +2 -2
  22. package/cjs/MultiCascader/MultiCascader.d.ts +1 -1
  23. package/cjs/MultiCascader/MultiCascader.js +12 -7
  24. package/cjs/MultiCascader/utils.d.ts +2 -2
  25. package/cjs/MultiCascader/utils.js +3 -3
  26. package/cjs/Picker/utils.d.ts +4 -3
  27. package/cjs/Picker/utils.js +8 -4
  28. package/cjs/locales/ru_RU.js +6 -6
  29. package/cjs/utils/getDataGroupBy.js +1 -1
  30. package/cjs/utils/treeUtils.d.ts +5 -1
  31. package/cjs/utils/treeUtils.js +31 -6
  32. package/cjs/utils/useMap.d.ts +6 -0
  33. package/cjs/utils/useMap.js +35 -0
  34. package/dist/rsuite-no-reset-rtl.css +31 -2
  35. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  36. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  37. package/dist/rsuite-no-reset.css +31 -2
  38. package/dist/rsuite-no-reset.min.css +1 -1
  39. package/dist/rsuite-no-reset.min.css.map +1 -1
  40. package/dist/rsuite-rtl.css +31 -2
  41. package/dist/rsuite-rtl.min.css +1 -1
  42. package/dist/rsuite-rtl.min.css.map +1 -1
  43. package/dist/rsuite.css +31 -2
  44. package/dist/rsuite.js +187 -15
  45. package/dist/rsuite.js.map +1 -1
  46. package/dist/rsuite.min.css +1 -1
  47. package/dist/rsuite.min.css.map +1 -1
  48. package/dist/rsuite.min.js +1 -1
  49. package/dist/rsuite.min.js.map +1 -1
  50. package/esm/Calendar/Calendar.d.ts +3 -3
  51. package/esm/Calendar/Calendar.js +6 -6
  52. package/esm/Calendar/CalendarContainer.d.ts +2 -2
  53. package/esm/Calendar/CalendarContainer.js +10 -13
  54. package/esm/Calendar/MonthDropdown.js +1 -1
  55. package/esm/Cascader/Cascader.d.ts +2 -2
  56. package/esm/Cascader/Cascader.js +85 -75
  57. package/esm/Cascader/DropdownMenu.d.ts +6 -2
  58. package/esm/Cascader/DropdownMenu.js +8 -4
  59. package/esm/Cascader/utils.d.ts +52 -17
  60. package/esm/Cascader/utils.js +100 -135
  61. package/esm/DatePicker/DatePicker.d.ts +3 -1
  62. package/esm/DatePicker/DatePicker.js +4 -5
  63. package/esm/DateRangePicker/Calendar.d.ts +1 -0
  64. package/esm/DateRangePicker/Calendar.js +5 -6
  65. package/esm/DateRangePicker/DateRangePicker.d.ts +3 -1
  66. package/esm/DateRangePicker/DateRangePicker.js +4 -1
  67. package/esm/MultiCascader/DropdownMenu.d.ts +2 -2
  68. package/esm/MultiCascader/MultiCascader.d.ts +1 -1
  69. package/esm/MultiCascader/MultiCascader.js +12 -7
  70. package/esm/MultiCascader/utils.d.ts +2 -2
  71. package/esm/MultiCascader/utils.js +4 -4
  72. package/esm/Picker/utils.d.ts +4 -3
  73. package/esm/Picker/utils.js +8 -4
  74. package/esm/locales/ru_RU.js +6 -6
  75. package/esm/utils/getDataGroupBy.js +2 -2
  76. package/esm/utils/treeUtils.d.ts +5 -1
  77. package/esm/utils/treeUtils.js +30 -6
  78. package/esm/utils/useMap.d.ts +6 -0
  79. package/esm/utils/useMap.js +29 -0
  80. package/package.json +2 -1
@@ -219,7 +219,11 @@ var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue, props)
219
219
  data = props.data,
220
220
  target = props.target,
221
221
  rtl = props.rtl,
222
- callback = props.callback;
222
+ callback = props.callback,
223
+ _props$getParent = props.getParent,
224
+ getParent = _props$getParent === void 0 ? function (item) {
225
+ return item === null || item === void 0 ? void 0 : item.parent;
226
+ } : _props$getParent;
223
227
 
224
228
  var _useState = (0, _react.useState)(defaultFocusItemValue),
225
229
  focusItemValue = _useState[0],
@@ -381,21 +385,21 @@ var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue, props)
381
385
  var nextKeys = getSubMenuKeys(nextLayer);
382
386
 
383
387
  if (nextKeys) {
384
- var _focusItem$parent;
388
+ var _getParent;
385
389
 
386
390
  setKeys(nextKeys);
387
391
  setLayer(nextLayer);
388
392
  var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
389
393
  return item[valueKey] === focusItemValue;
390
394
  });
391
- var parentItemValue = focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey];
395
+ var parentItemValue = (_getParent = getParent(focusItem)) === null || _getParent === void 0 ? void 0 : _getParent[valueKey];
392
396
 
393
397
  if (parentItemValue) {
394
398
  setFocusItemValue(parentItemValue);
395
399
  callback === null || callback === void 0 ? void 0 : callback(parentItemValue, event);
396
400
  }
397
401
  }
398
- }, [callback, data, focusItemValue, getSubMenuKeys, layer, valueKey]);
402
+ }, [callback, data, focusItemValue, getParent, getSubMenuKeys, layer, valueKey]);
399
403
  var handleKeyDown = (0, _react.useCallback)(function (event) {
400
404
  var _onMenuKeyDown;
401
405
 
@@ -24,7 +24,7 @@ var Calendar = {
24
24
  minutes: 'Минут',
25
25
  seconds: 'Секунд',
26
26
  formattedMonthPattern: 'MMM, yyyy',
27
- formattedDayPattern: 'MMM dd, yyyy',
27
+ formattedDayPattern: 'dd MMM yyyy',
28
28
  dateLocale: _ru.default
29
29
  };
30
30
  var _default = {
@@ -34,8 +34,8 @@ var _default = {
34
34
  },
35
35
  Plaintext: {
36
36
  unfilled: 'незаполненной',
37
- notSelected: 'Није изабран',
38
- notUploaded: 'Није отпремљено'
37
+ notSelected: 'Не выбрано',
38
+ notUploaded: 'Не загружено'
39
39
  },
40
40
  Pagination: {
41
41
  more: 'Больше',
@@ -45,7 +45,7 @@ var _default = {
45
45
  last: 'Последняя',
46
46
  limit: '{0} / страниц',
47
47
  total: 'всего: {0}',
48
- skip: 'Идти к{0}'
48
+ skip: 'Перейти к {0}'
49
49
  },
50
50
  Calendar: Calendar,
51
51
  DatePicker: (0, _extends2.default)({}, Calendar),
@@ -64,9 +64,9 @@ var _default = {
64
64
  },
65
65
  Uploader: {
66
66
  inited: 'Начало',
67
- progress: 'Выгрузка',
67
+ progress: 'Загрузка',
68
68
  error: 'Ошибка',
69
- complete: 'Завершенно',
69
+ complete: 'Завершено',
70
70
  emptyFile: 'Пусто',
71
71
  upload: 'Загрузить'
72
72
  },
@@ -50,5 +50,5 @@ function getDataGroupBy(data, key, sort) {
50
50
  nextData = nextData.sort(sort(true));
51
51
  }
52
52
 
53
- return (0, _treeUtils.flattenTree)(nextData);
53
+ return (0, _treeUtils.UNSAFE_flattenTree)(nextData);
54
54
  }
@@ -16,8 +16,12 @@ export declare function shouldShowNodeByParentExpanded<T>(expandItemValues?: T[]
16
16
  * @param {*} tree
17
17
  * @param {*} childrenKey
18
18
  * @param {*} executor
19
+ *
20
+ * @deprecated This {@link UNSAFE_flattenTree} function is considered unsafe because it mutates `tree` argument in-place
21
+ * Use {@link flattenTree} instead.
19
22
  */
20
- export declare function flattenTree<TItem>(tree: TItem[], childrenKey?: string, executor?: (node: any, index: number) => any): TItem[];
23
+ export declare function UNSAFE_flattenTree<TItem>(tree: TItem[], childrenKey?: string, executor?: (node: any, index: number) => any): TItem[];
24
+ export declare function flattenTree<T>(rootNodes: readonly T[], getChildren: (node: T) => readonly T[] | undefined): T[];
21
25
  /**
22
26
  * get all ancestor nodes of given node
23
27
  * @param {*} node
@@ -6,6 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
 
7
7
  exports.__esModule = true;
8
8
  exports.shouldShowNodeByParentExpanded = shouldShowNodeByParentExpanded;
9
+ exports.UNSAFE_flattenTree = UNSAFE_flattenTree;
9
10
  exports.flattenTree = flattenTree;
10
11
  exports.getNodeParents = getNodeParents;
11
12
  exports.getNodeParentKeys = getNodeParentKeys;
@@ -102,10 +103,13 @@ function shouldShowNodeByParentExpanded(expandItemValues, parentKeys) {
102
103
  * @param {*} tree
103
104
  * @param {*} childrenKey
104
105
  * @param {*} executor
106
+ *
107
+ * @deprecated This {@link UNSAFE_flattenTree} function is considered unsafe because it mutates `tree` argument in-place
108
+ * Use {@link flattenTree} instead.
105
109
  */
106
110
 
107
111
 
108
- function flattenTree(tree, childrenKey, executor) {
112
+ function UNSAFE_flattenTree(tree, childrenKey, executor) {
109
113
  if (childrenKey === void 0) {
110
114
  childrenKey = 'children';
111
115
  }
@@ -130,6 +134,27 @@ function flattenTree(tree, childrenKey, executor) {
130
134
  traverse(tree, null);
131
135
  return flattenData;
132
136
  }
137
+
138
+ function flattenTree(rootNodes, getChildren) {
139
+ var result = [];
140
+ walkTree(rootNodes, getChildren, function (node) {
141
+ return result.push(node);
142
+ });
143
+ return result;
144
+ }
145
+
146
+ function walkTree(rootNodes, getChildren, callback) {
147
+ for (var queue = [].concat(rootNodes); queue.length > 0;) {
148
+ var _node = queue.shift();
149
+
150
+ callback(_node);
151
+ var children = getChildren(_node);
152
+
153
+ if (children) {
154
+ queue.push.apply(queue, children);
155
+ }
156
+ }
157
+ }
133
158
  /**
134
159
  * get all ancestor nodes of given node
135
160
  * @param {*} node
@@ -212,7 +237,7 @@ function getDefaultExpandItemValues(data, props) {
212
237
  defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI;
213
238
 
214
239
  if (defaultExpandAll) {
215
- return flattenTree(data, childrenKey).filter(function (item) {
240
+ return UNSAFE_flattenTree(data, childrenKey).filter(function (item) {
216
241
  return Array.isArray(item[childrenKey]) && item[childrenKey].length > 0;
217
242
  }).map(function (item) {
218
243
  return item[valueKey];
@@ -379,10 +404,10 @@ function findNodeOfTree(data, check) {
379
404
  var _item3 = nodes[i];
380
405
 
381
406
  if ((0, _isArray2.default)(_item3.children)) {
382
- var _node = findNode(_item3.children);
407
+ var _node2 = findNode(_item3.children);
383
408
 
384
- if (_node) {
385
- return _node;
409
+ if (_node2) {
410
+ return _node2;
386
411
  }
387
412
  }
388
413
 
@@ -875,7 +900,7 @@ function useFlattenTreeData(_ref8) {
875
900
  var formatVirtualizedTreeData = function formatVirtualizedTreeData(nodes, data, expandItemValues, options) {
876
901
  var cascade = options.cascade,
877
902
  searchKeyword = options.searchKeyword;
878
- return flattenTree(data, childrenKey, function (node) {
903
+ return UNSAFE_flattenTree(data, childrenKey, function (node) {
879
904
  var formatted = {};
880
905
  var curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];
881
906
  var parentKeys = getNodeParentKeys(nodes, curNode, valueKey);
@@ -0,0 +1,6 @@
1
+ export declare function useMap<K, V>(): {
2
+ has(key: K): boolean;
3
+ get(key: K): V | undefined;
4
+ set(key: K, value: V): void;
5
+ clear(): void;
6
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useMap = useMap;
5
+
6
+ var _react = require("react");
7
+
8
+ function useMap() {
9
+ var _useState = (0, _react.useState)(function () {
10
+ return new Map();
11
+ }),
12
+ map = _useState[0],
13
+ setMap = _useState[1];
14
+
15
+ return (0, _react.useMemo)(function () {
16
+ return {
17
+ has: function has(key) {
18
+ return map.has(key);
19
+ },
20
+ get: function get(key) {
21
+ return map.get(key);
22
+ },
23
+ set: function set(key, value) {
24
+ setMap(function (prev) {
25
+ var copy = new Map(prev);
26
+ copy.set(key, value);
27
+ return copy;
28
+ });
29
+ },
30
+ clear: function clear() {
31
+ setMap(new Map());
32
+ }
33
+ };
34
+ }, [map]);
35
+ }
@@ -2719,7 +2719,7 @@ tbody.rs-anim-collapse.rs-anim-in {
2719
2719
  border-radius: 6px;
2720
2720
  }
2721
2721
  .rs-calendar-bordered .rs-calendar-table-row:not(:last-child) .rs-calendar-table-cell,
2722
- .rs-calendar-bordered .rs-calendar-table-header-row .rs-calendar-table-cell {
2722
+ .rs-calendar-bordered .rs-calendar-table-header-row .rs-calendar-table-header-cell {
2723
2723
  border-bottom: 1px solid #f2f2f5;
2724
2724
  border-bottom: 1px solid var(--rs-border-secondary);
2725
2725
  }
@@ -2764,7 +2764,7 @@ tbody.rs-anim-collapse.rs-anim-in {
2764
2764
  padding-right: 0;
2765
2765
  padding-left: 0;
2766
2766
  }
2767
- .rs-calendar-panel .rs-calendar-table-header-row .rs-calendar-table-cell-content {
2767
+ .rs-calendar-panel .rs-calendar-table-header-row .rs-calendar-table-header-cell-content {
2768
2768
  padding-top: 8px;
2769
2769
  padding-bottom: 8px;
2770
2770
  }
@@ -3178,6 +3178,7 @@ tbody.rs-anim-collapse.rs-anim-in {
3178
3178
  text-decoration: underline;
3179
3179
  }
3180
3180
  .rs-calendar-table-header-cell-content {
3181
+ display: inline-block;
3181
3182
  color: #8e8e93;
3182
3183
  color: var(--rs-text-secondary);
3183
3184
  font-size: 12px;
@@ -14899,6 +14900,12 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
14899
14900
  right: 3px;
14900
14901
  top: 3px;
14901
14902
  }
14903
+ .rs-toggle .rs-toggle-loader .rs-loader-spin,
14904
+ .rs-toggle .rs-toggle-loader .rs-loader-spin::before,
14905
+ .rs-toggle .rs-toggle-loader .rs-loader-spin::after {
14906
+ width: 18px;
14907
+ height: 18px;
14908
+ }
14902
14909
  .rs-toggle .rs-toggle-presentation {
14903
14910
  height: 24px;
14904
14911
  min-width: 44px;
@@ -15062,6 +15069,16 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
15062
15069
  right: 2px;
15063
15070
  top: 2px;
15064
15071
  }
15072
+ .rs-toggle-sm .rs-toggle-loader .rs-loader-spin,
15073
+ .rs-toggle-sm .rs-toggle-loader .rs-loader-spin::before,
15074
+ .rs-toggle-sm .rs-toggle-loader .rs-loader-spin::after {
15075
+ width: 10px;
15076
+ height: 10px;
15077
+ }
15078
+ .rs-toggle-sm .rs-toggle-loader .rs-loader-spin::before,
15079
+ .rs-toggle-sm .rs-toggle-loader .rs-loader-spin::after {
15080
+ border-width: 2px;
15081
+ }
15065
15082
  .rs-toggle-sm .rs-toggle-presentation {
15066
15083
  height: 14px;
15067
15084
  min-width: 26px;
@@ -15108,6 +15125,12 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
15108
15125
  right: 3px;
15109
15126
  top: 3px;
15110
15127
  }
15128
+ .rs-toggle-md .rs-toggle-loader .rs-loader-spin,
15129
+ .rs-toggle-md .rs-toggle-loader .rs-loader-spin::before,
15130
+ .rs-toggle-md .rs-toggle-loader .rs-loader-spin::after {
15131
+ width: 18px;
15132
+ height: 18px;
15133
+ }
15111
15134
  .rs-toggle-md .rs-toggle-presentation {
15112
15135
  height: 24px;
15113
15136
  min-width: 44px;
@@ -15154,6 +15177,12 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
15154
15177
  right: 4px;
15155
15178
  top: 4px;
15156
15179
  }
15180
+ .rs-toggle-lg .rs-toggle-loader .rs-loader-spin,
15181
+ .rs-toggle-lg .rs-toggle-loader .rs-loader-spin::before,
15182
+ .rs-toggle-lg .rs-toggle-loader .rs-loader-spin::after {
15183
+ width: 22px;
15184
+ height: 22px;
15185
+ }
15157
15186
  .rs-toggle-lg .rs-toggle-presentation {
15158
15187
  height: 30px;
15159
15188
  min-width: 55px;