rsuite 5.37.4 → 5.39.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 (63) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/Dropdown/styles/mixin.less +0 -1
  3. package/Nav/styles/index.less +10 -11
  4. package/SelectPicker/styles/index.less +8 -4
  5. package/cjs/Calendar/Calendar.d.ts +6 -1
  6. package/cjs/Calendar/Calendar.js +12 -13
  7. package/cjs/Calendar/CalendarContainer.d.ts +2 -0
  8. package/cjs/Calendar/CalendarContainer.js +4 -2
  9. package/cjs/Calendar/TableRow.js +6 -3
  10. package/cjs/Calendar/types.d.ts +1 -0
  11. package/cjs/SelectPicker/Listbox.d.ts +34 -0
  12. package/cjs/SelectPicker/Listbox.js +263 -0
  13. package/cjs/SelectPicker/ListboxOption.d.ts +11 -0
  14. package/cjs/SelectPicker/ListboxOption.js +50 -0
  15. package/cjs/SelectPicker/ListboxOptionGroup.d.ts +9 -0
  16. package/cjs/SelectPicker/ListboxOptionGroup.js +69 -0
  17. package/cjs/SelectPicker/SelectPicker.js +33 -36
  18. package/cjs/Windowing/List.d.ts +2 -2
  19. package/cjs/locales/index.d.ts +1 -0
  20. package/cjs/locales/index.js +6 -2
  21. package/cjs/locales/ne_NP.d.ts +117 -0
  22. package/cjs/locales/ne_NP.js +89 -0
  23. package/cjs/utils/getDataGroupBy.d.ts +23 -0
  24. package/cjs/utils/getDataGroupBy.js +33 -0
  25. package/dist/rsuite-no-reset-rtl.css +22 -15
  26. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  27. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  28. package/dist/rsuite-no-reset.css +22 -15
  29. package/dist/rsuite-no-reset.min.css +1 -1
  30. package/dist/rsuite-no-reset.min.css.map +1 -1
  31. package/dist/rsuite-rtl.css +22 -15
  32. package/dist/rsuite-rtl.min.css +1 -1
  33. package/dist/rsuite-rtl.min.css.map +1 -1
  34. package/dist/rsuite.css +22 -15
  35. package/dist/rsuite.js +39 -6
  36. package/dist/rsuite.js.map +1 -1
  37. package/dist/rsuite.min.css +1 -1
  38. package/dist/rsuite.min.css.map +1 -1
  39. package/dist/rsuite.min.js +1 -1
  40. package/dist/rsuite.min.js.map +1 -1
  41. package/esm/Calendar/Calendar.d.ts +6 -1
  42. package/esm/Calendar/Calendar.js +12 -13
  43. package/esm/Calendar/CalendarContainer.d.ts +2 -0
  44. package/esm/Calendar/CalendarContainer.js +4 -2
  45. package/esm/Calendar/TableRow.js +6 -3
  46. package/esm/Calendar/types.d.ts +1 -0
  47. package/esm/SelectPicker/Listbox.d.ts +34 -0
  48. package/esm/SelectPicker/Listbox.js +240 -0
  49. package/esm/SelectPicker/ListboxOption.d.ts +11 -0
  50. package/esm/SelectPicker/ListboxOption.js +37 -0
  51. package/esm/SelectPicker/ListboxOptionGroup.d.ts +9 -0
  52. package/esm/SelectPicker/ListboxOptionGroup.js +53 -0
  53. package/esm/SelectPicker/SelectPicker.js +33 -36
  54. package/esm/Windowing/List.d.ts +2 -2
  55. package/esm/locales/index.d.ts +1 -0
  56. package/esm/locales/index.js +2 -1
  57. package/esm/locales/ne_NP.d.ts +117 -0
  58. package/esm/locales/ne_NP.js +79 -0
  59. package/esm/utils/getDataGroupBy.d.ts +23 -0
  60. package/esm/utils/getDataGroupBy.js +32 -0
  61. package/locales/ne_NP/package.json +7 -0
  62. package/package.json +1 -1
  63. package/styles/mixins/listbox.less +2 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"));
21
+
22
+ var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
23
+
24
+ var _templateObject, _templateObject2;
25
+
26
+ var ListboxOptionGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
27
+ var _props$classPrefix = props.classPrefix,
28
+ classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu-group' : _props$classPrefix,
29
+ title = props.title,
30
+ children = props.children,
31
+ className = props.className,
32
+ _props$expanded = props.expanded,
33
+ expanded = _props$expanded === void 0 ? true : _props$expanded,
34
+ onClickTitle = props.onClickTitle,
35
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["classPrefix", "title", "children", "className", "expanded", "onClickTitle"]);
36
+
37
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
38
+ withClassPrefix = _useClassNames.withClassPrefix,
39
+ prefix = _useClassNames.prefix,
40
+ merge = _useClassNames.merge;
41
+
42
+ var classes = merge(className, withClassPrefix());
43
+ var groupId = (0, _useUniqueId.default)('listbox-group-');
44
+ var labelId = groupId + '-label';
45
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
46
+ role: "group",
47
+ id: groupId,
48
+ "aria-expanded": expanded,
49
+ "aria-labelledby": labelId
50
+ }, rest, {
51
+ ref: ref,
52
+ className: (0, _classnames.default)(classes, {
53
+ folded: !expanded
54
+ })
55
+ }), /*#__PURE__*/_react.default.createElement("div", {
56
+ className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["title"]))),
57
+ tabIndex: -1,
58
+ onClick: onClickTitle
59
+ }, /*#__PURE__*/_react.default.createElement("span", {
60
+ id: labelId
61
+ }, title), /*#__PURE__*/_react.default.createElement(_ArrowDown.default, {
62
+ "aria-hidden": true,
63
+ className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["caret"])))
64
+ })), children);
65
+ });
66
+
67
+ ListboxOptionGroup.displayName = 'Listbox.OptionGroup';
68
+ var _default = ListboxOptionGroup;
69
+ exports.default = _default;
@@ -19,8 +19,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
 
20
20
  var _pick = _interopRequireDefault(require("lodash/pick"));
21
21
 
22
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
23
-
24
22
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
25
23
 
26
24
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
@@ -29,10 +27,10 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
29
27
 
30
28
  var _utils = require("../utils");
31
29
 
32
- var _getDataGroupBy = require("../utils/getDataGroupBy");
33
-
34
30
  var _Picker = require("../Picker");
35
31
 
32
+ var _Listbox = _interopRequireDefault(require("./Listbox"));
33
+
36
34
  var _templateObject;
37
35
 
38
36
  var emptyArray = [];
@@ -252,40 +250,39 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
252
250
  left: left,
253
251
  top: top
254
252
  });
255
- var items = filteredData; // Create a tree structure data when set `groupBy`
256
253
 
257
- if (groupBy) {
258
- items = (0, _getDataGroupBy.getDataGroupBy)(items, groupBy, sort);
259
- } else if (typeof sort === 'function') {
260
- items = items.sort(sort(false));
261
- }
254
+ var menu = function () {
255
+ if (!filteredData.length) {
256
+ return /*#__PURE__*/_react.default.createElement("div", {
257
+ className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
258
+ }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
259
+ }
260
+
261
+ return /*#__PURE__*/_react.default.createElement(_Listbox.default, {
262
+ options: filteredData,
263
+ getOptionKey: function getOptionKey(option) {
264
+ return option[valueKey];
265
+ },
266
+ id: id ? id + "-listbox" : undefined,
267
+ listProps: listProps,
268
+ listRef: listRef,
269
+ disabledOptionKeys: disabledItemValues,
270
+ labelKey: labelKey,
271
+ renderMenuGroup: renderMenuGroup,
272
+ renderMenuItem: renderMenuItem,
273
+ maxHeight: menuMaxHeight,
274
+ classPrefix: 'picker-select-menu',
275
+ optionClassPrefix: 'picker-select-menu-item',
276
+ selectedOptionKey: value,
277
+ activeOptionKey: focusItemValue,
278
+ groupBy: groupBy,
279
+ sort: sort,
280
+ onSelect: handleItemSelect,
281
+ onGroupTitleClick: onGroupTitleClick,
282
+ virtualized: virtualized
283
+ });
284
+ }();
262
285
 
263
- var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
264
- id: id ? id + "-listbox" : undefined,
265
- listProps: listProps,
266
- listRef: listRef,
267
- disabledItemValues: disabledItemValues,
268
- valueKey: valueKey,
269
- labelKey: labelKey,
270
- renderMenuGroup: renderMenuGroup,
271
- renderMenuItem: renderMenuItem,
272
- maxHeight: menuMaxHeight,
273
- classPrefix: 'picker-select-menu',
274
- dropdownMenuItemClassPrefix: 'picker-select-menu-item',
275
- dropdownMenuItemAs: _Picker.DropdownMenuItem,
276
- activeItemValues: [value],
277
- focusItemValue: focusItemValue,
278
- data: items // FIXME-Doma
279
- // `group` is redundant so long as `groupBy` exists
280
- ,
281
- group: !(0, _isUndefined.default)(groupBy),
282
- groupBy: groupBy,
283
- onSelect: handleItemSelect,
284
- onGroupTitleClick: onGroupTitleClick,
285
- virtualized: virtualized
286
- }) : /*#__PURE__*/_react.default.createElement("div", {
287
- className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
288
- }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
289
286
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
290
287
  ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
291
288
  autoWidth: menuAutoWidth,
@@ -2,7 +2,7 @@ import { VariableSizeList, ListItemKeySelector, ListOnScrollProps, ListOnItemsRe
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface ListProps<T = any> extends WithAsProps {
4
4
  /**
5
- * @deprecated use itemSize instead
5
+ * @deprecated use {@link itemSize} instead
6
6
  * Either a fixed row height (number) or a function that returns the height of a row given its index: ({ index: number }): number
7
7
  */
8
8
  rowHeight?: number | (({ index: number }: {
@@ -34,7 +34,7 @@ export interface ListProps<T = any> extends WithAsProps {
34
34
  */
35
35
  onScroll?: (props: ListOnScrollProps) => void;
36
36
  }
37
- export interface ListHandle extends Partial<VariableSizeList> {
37
+ export interface ListHandle extends Pick<VariableSizeList, 'resetAfterIndex' | 'scrollTo' | 'scrollToItem'> {
38
38
  /**
39
39
  * @deprecated use scrollToItem instead
40
40
  * Ensure row is visible. This method can be used to safely scroll back to a cell that a user has scrolled away from even if it was previously scrolled to.
@@ -21,6 +21,7 @@ export { default as zhTW } from './zh_TW';
21
21
  export { default as faIR } from './fa_IR';
22
22
  export { default as frFR } from './fr_FR';
23
23
  export { default as jaJP } from './ja_JP';
24
+ export { default as neNP } from './ne_NP';
24
25
  declare type PickKeys<T> = {
25
26
  [keys in keyof T]?: T[keys];
26
27
  };
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports.jaJP = exports.frFR = exports.faIR = exports.zhTW = exports.zhCN = exports.trTR = exports.svSE = exports.ruRU = exports.ptBR = exports.nlNL = exports.koKR = exports.kkKZ = exports.itIT = exports.huHU = exports.fiFI = exports.esES = exports.esAR = exports.enUS = exports.enGB = exports.deDE = exports.daDK = exports.arEG = void 0;
6
+ exports.neNP = exports.jaJP = exports.frFR = exports.faIR = exports.zhTW = exports.zhCN = exports.trTR = exports.svSE = exports.ruRU = exports.ptBR = exports.nlNL = exports.koKR = exports.kkKZ = exports.itIT = exports.huHU = exports.fiFI = exports.esES = exports.esAR = exports.enUS = exports.enGB = exports.deDE = exports.daDK = exports.arEG = void 0;
7
7
 
8
8
  var _ar_EG = _interopRequireDefault(require("./ar_EG"));
9
9
 
@@ -91,4 +91,8 @@ exports.frFR = _fr_FR.default;
91
91
 
92
92
  var _ja_JP = _interopRequireDefault(require("./ja_JP"));
93
93
 
94
- exports.jaJP = _ja_JP.default;
94
+ exports.jaJP = _ja_JP.default;
95
+
96
+ var _ne_NP = _interopRequireDefault(require("./ne_NP"));
97
+
98
+ exports.neNP = _ne_NP.default;
@@ -0,0 +1,117 @@
1
+ declare const _default: {
2
+ common: {
3
+ loading: string;
4
+ emptyMessage: string;
5
+ };
6
+ Plaintext: {
7
+ unfilled: string;
8
+ notSelected: string;
9
+ notUploaded: string;
10
+ };
11
+ Pagination: {
12
+ more: string;
13
+ prev: string;
14
+ next: string;
15
+ first: string;
16
+ last: string;
17
+ limit: string;
18
+ total: string;
19
+ skip: string;
20
+ };
21
+ Calendar: {
22
+ sunday: string;
23
+ monday: string;
24
+ tuesday: string;
25
+ wednesday: string;
26
+ thursday: string;
27
+ friday: string;
28
+ saturday: string;
29
+ ok: string;
30
+ today: string;
31
+ yesterday: string;
32
+ hours: string;
33
+ minutes: string;
34
+ seconds: string;
35
+ /**
36
+ * Format of the string is based on Unicode Technical Standard #35:
37
+ * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
38
+ **/
39
+ formattedMonthPattern: string;
40
+ formattedDayPattern: string;
41
+ dateLocale: any;
42
+ };
43
+ DatePicker: {
44
+ sunday: string;
45
+ monday: string;
46
+ tuesday: string;
47
+ wednesday: string;
48
+ thursday: string;
49
+ friday: string;
50
+ saturday: string;
51
+ ok: string;
52
+ today: string;
53
+ yesterday: string;
54
+ hours: string;
55
+ minutes: string;
56
+ seconds: string;
57
+ /**
58
+ * Format of the string is based on Unicode Technical Standard #35:
59
+ * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
60
+ **/
61
+ formattedMonthPattern: string;
62
+ formattedDayPattern: string;
63
+ dateLocale: any;
64
+ };
65
+ DateRangePicker: {
66
+ last7Days: string;
67
+ sunday: string;
68
+ monday: string;
69
+ tuesday: string;
70
+ wednesday: string;
71
+ thursday: string;
72
+ friday: string;
73
+ saturday: string;
74
+ ok: string;
75
+ today: string;
76
+ yesterday: string;
77
+ hours: string;
78
+ minutes: string;
79
+ seconds: string;
80
+ /**
81
+ * Format of the string is based on Unicode Technical Standard #35:
82
+ * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
83
+ **/
84
+ formattedMonthPattern: string;
85
+ formattedDayPattern: string;
86
+ dateLocale: any;
87
+ };
88
+ Picker: {
89
+ noResultsText: string;
90
+ placeholder: string;
91
+ searchPlaceholder: string;
92
+ checkAll: string;
93
+ };
94
+ InputPicker: {
95
+ newItem: string;
96
+ createOption: string;
97
+ };
98
+ Uploader: {
99
+ inited: string;
100
+ progress: string;
101
+ error: string;
102
+ complete: string;
103
+ emptyFile: string;
104
+ upload: string;
105
+ };
106
+ CloseButton: {
107
+ closeLabel: string;
108
+ };
109
+ Breadcrumb: {
110
+ expandText: string;
111
+ };
112
+ Toggle: {
113
+ on: string;
114
+ off: string;
115
+ };
116
+ };
117
+ export default _default;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _enGB = _interopRequireDefault(require("date-fns/locale/en-GB"));
11
+
12
+ var Calendar = {
13
+ sunday: 'आ',
14
+ monday: 'सो',
15
+ tuesday: 'म',
16
+ wednesday: 'बु',
17
+ thursday: 'बि',
18
+ friday: 'शु',
19
+ saturday: 'श',
20
+ ok: 'हुन्छ',
21
+ today: 'आज',
22
+ yesterday: 'हिजो',
23
+ hours: 'घण्टा',
24
+ minutes: 'मिनेट',
25
+ seconds: 'सेकेन्ड',
26
+
27
+ /**
28
+ * Format of the string is based on Unicode Technical Standard #35:
29
+ * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
30
+ **/
31
+ formattedMonthPattern: 'MMM yyyy',
32
+ formattedDayPattern: 'dd MMM yyyy',
33
+ dateLocale: _enGB.default
34
+ };
35
+ var _default = {
36
+ common: {
37
+ loading: 'लोड हुँदैछ...',
38
+ emptyMessage: 'कुनै डाटा छैन'
39
+ },
40
+ Plaintext: {
41
+ unfilled: 'भरिएको छैन',
42
+ notSelected: 'चयन गरिएको छैन',
43
+ notUploaded: 'अपलोड गरिएको छैन'
44
+ },
45
+ Pagination: {
46
+ more: 'थप',
47
+ prev: 'अघिल्लो',
48
+ next: 'अर्को',
49
+ first: 'पहिलो',
50
+ last: 'अन्तिम',
51
+ limit: '{0} / पृष्ठ',
52
+ total: 'कुल पङ्क्तिहरू: {0}',
53
+ skip: '{0} पृष्ठमा जानुहोस्'
54
+ },
55
+ Calendar: Calendar,
56
+ DatePicker: (0, _extends2.default)({}, Calendar),
57
+ DateRangePicker: (0, _extends2.default)({}, Calendar, {
58
+ last7Days: 'पछिल्लो ७ दिन'
59
+ }),
60
+ Picker: {
61
+ noResultsText: 'कुनै परिणाम फेला परेन',
62
+ placeholder: 'चयन गर्नुहोस्',
63
+ searchPlaceholder: 'खोजी गर्नुहोस्',
64
+ checkAll: 'सबै'
65
+ },
66
+ InputPicker: {
67
+ newItem: 'नयाँ थप्नुहोस्',
68
+ createOption: 'विकल्प सिर्जना गर्नुहोस् "{0}"'
69
+ },
70
+ Uploader: {
71
+ inited: 'प्रारम्भिक',
72
+ progress: 'अपलोड गर्दै',
73
+ error: 'त्रुटि भयो',
74
+ complete: 'समाप्त',
75
+ emptyFile: 'खाली',
76
+ upload: 'अपलोड गर्नुहोस्'
77
+ },
78
+ CloseButton: {
79
+ closeLabel: 'बन्द गर्नुहोस्'
80
+ },
81
+ Breadcrumb: {
82
+ expandText: 'स्थान देखाउनुहोस्'
83
+ },
84
+ Toggle: {
85
+ on: 'खोल्नुहोस्',
86
+ off: 'बन्द गर्नुहोस्'
87
+ }
88
+ };
89
+ exports.default = _default;
@@ -1,6 +1,29 @@
1
1
  export declare const KEY_GROUP: string | symbol;
2
2
  export declare const KEY_GROUP_TITLE = "groupTitle";
3
+ /**
4
+ * Chunk data into groups
5
+ * @returns [group, child, child, group, child, child]
6
+ */
3
7
  export declare function getDataGroupBy<T>(data: readonly T[], key: string, sort?: (isGroup: boolean) => <T>(a: T, b: T) => number): (T | {
4
8
  groupTitle: string;
5
9
  children: T[];
6
10
  })[];
11
+ /**
12
+ * Chunk options into groups
13
+ * @returns [
14
+ * group {
15
+ * key
16
+ * options
17
+ * }
18
+ * group {
19
+ * key
20
+ * options
21
+ * }
22
+ * ]
23
+ */
24
+ export declare type Group<T> = {
25
+ key: string;
26
+ options: T[];
27
+ };
28
+ export declare type CompareFn<T> = (a: T, b: T) => number;
29
+ export declare function groupOptions<T>(options: readonly T[], groupKey: string, compareOptions?: CompareFn<T>, compareGroups?: CompareFn<Group<T>>): Group<T>[];
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports.getDataGroupBy = getDataGroupBy;
7
+ exports.groupOptions = groupOptions;
7
8
  exports.KEY_GROUP_TITLE = exports.KEY_GROUP = void 0;
8
9
 
9
10
  var _groupBy2 = _interopRequireDefault(require("lodash/groupBy"));
@@ -14,6 +15,11 @@ var hasSymbol = typeof Symbol === 'function';
14
15
  var KEY_GROUP = hasSymbol ? Symbol('_$grouped') : '_$grouped';
15
16
  exports.KEY_GROUP = KEY_GROUP;
16
17
  var KEY_GROUP_TITLE = 'groupTitle';
18
+ /**
19
+ * Chunk data into groups
20
+ * @returns [group, child, child, group, child, child]
21
+ */
22
+
17
23
  exports.KEY_GROUP_TITLE = KEY_GROUP_TITLE;
18
24
 
19
25
  function getDataGroupBy(data, key, sort) {
@@ -39,4 +45,31 @@ function getDataGroupBy(data, key, sort) {
39
45
  return (0, _treeUtils.flattenTree)(groups, function (group) {
40
46
  return group.children;
41
47
  }, _treeUtils.WalkTreeStrategy.DFS);
48
+ }
49
+ /**
50
+ * Chunk options into groups
51
+ * @returns [
52
+ * group {
53
+ * key
54
+ * options
55
+ * }
56
+ * group {
57
+ * key
58
+ * options
59
+ * }
60
+ * ]
61
+ */
62
+
63
+
64
+ function groupOptions(options, groupKey, compareOptions, compareGroups) {
65
+ var groupMap = (0, _groupBy2.default)(options, groupKey);
66
+ var groups = Object.entries(groupMap).map(function (_ref3) {
67
+ var key = _ref3[0],
68
+ options = _ref3[1];
69
+ return {
70
+ key: key,
71
+ options: typeof compareOptions === 'function' ? options.sort(compareOptions) : options
72
+ };
73
+ });
74
+ return typeof compareGroups === 'function' ? groups.sort(compareGroups) : groups;
42
75
  }
@@ -2708,7 +2708,6 @@ tbody.rs-anim-collapse.rs-anim-in {
2708
2708
  z-index: 5;
2709
2709
  padding-left: 32px;
2710
2710
  display: inline-block;
2711
- cursor: pointer;
2712
2711
  }
2713
2712
  .rs-picker-subtle.rs-picker-disabled .picker-subtle-toggle {
2714
2713
  cursor: not-allowed;
@@ -4902,7 +4901,6 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner::before {
4902
4901
  z-index: 5;
4903
4902
  padding-left: 32px;
4904
4903
  display: inline-block;
4905
- cursor: pointer;
4906
4904
  }
4907
4905
  .rs-dropdown-toggle.rs-dropdown-toggle-no-caret {
4908
4906
  padding-left: 12px;
@@ -9607,6 +9605,15 @@ textarea.rs-picker-search-input {
9607
9605
  .rs-nav-horizontal {
9608
9606
  white-space: nowrap;
9609
9607
  }
9608
+ .rs-nav-horizontal > .rs-nav-item {
9609
+ display: -webkit-inline-box;
9610
+ display: -ms-inline-flexbox;
9611
+ display: inline-flex;
9612
+ -webkit-box-align: center;
9613
+ -ms-flex-align: center;
9614
+ align-items: center;
9615
+ vertical-align: top;
9616
+ }
9610
9617
  .rs-nav-horizontal .rs-nav-bar {
9611
9618
  position: absolute;
9612
9619
  bottom: 0;
@@ -9616,14 +9623,13 @@ textarea.rs-picker-search-input {
9616
9623
  bottom: auto;
9617
9624
  top: 0;
9618
9625
  }
9619
- .rs-nav-horizontal > .rs-nav-item,
9620
- .rs-nav-horizontal > .rs-dropdown {
9621
- display: inline-block;
9622
- vertical-align: top;
9623
- }
9624
- .rs-nav-vertical > .rs-nav-item,
9625
- .rs-nav-vertical > .rs-dropdown {
9626
- display: block;
9626
+ .rs-nav-vertical > .rs-nav-item {
9627
+ display: -webkit-box;
9628
+ display: -ms-flexbox;
9629
+ display: flex;
9630
+ -webkit-box-align: center;
9631
+ -ms-flex-align: center;
9632
+ align-items: center;
9627
9633
  }
9628
9634
  .rs-nav-vertical > .rs-dropdown {
9629
9635
  width: 100%;
@@ -11502,7 +11508,6 @@ textarea.rs-picker-search-input {
11502
11508
  z-index: 5;
11503
11509
  padding-left: 32px;
11504
11510
  display: inline-block;
11505
- cursor: pointer;
11506
11511
  color: #575757;
11507
11512
  color: var(--rs-text-primary);
11508
11513
  border: 1px solid #e5e5ea;
@@ -11521,7 +11526,6 @@ textarea.rs-picker-search-input {
11521
11526
  z-index: 5;
11522
11527
  padding-left: 32px;
11523
11528
  display: inline-block;
11524
- cursor: pointer;
11525
11529
  }
11526
11530
  .rs-picker-subtle.rs-picker-disabled .rs-picker-toggle {
11527
11531
  cursor: not-allowed;
@@ -12899,9 +12903,6 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
12899
12903
  -webkit-transform: rotate(-90deg);
12900
12904
  transform: rotate(-90deg);
12901
12905
  }
12902
- .rs-picker-select-menu-items .rs-picker-menu-group ~ [role='option'] > .rs-picker-select-menu-item {
12903
- padding-right: 26px;
12904
- }
12905
12906
  .rs-picker-select-menu-item {
12906
12907
  display: block;
12907
12908
  padding: 8px 12px;
@@ -12955,6 +12956,12 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
12955
12956
  .rs-picker-select-menu-group-children .rs-picker-select-menu-item {
12956
12957
  padding-right: 26px;
12957
12958
  }
12959
+ .rs-picker-menu-group .rs-picker-select-menu-item {
12960
+ padding-right: 26px;
12961
+ }
12962
+ .rs-picker-menu-group.folded [role='option'] {
12963
+ display: none;
12964
+ }
12958
12965
  .rs-sidebar-collapse {
12959
12966
  -webkit-transition: width 0.15s ease-in, -webkit-box-flex 0.15s ease-in;
12960
12967
  transition: width 0.15s ease-in, -webkit-box-flex 0.15s ease-in;