rsuite 5.4.0 → 5.4.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 (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/Dropdown/styles/index.less +3 -3
  3. package/Sidenav/styles/index.less +2 -2
  4. package/cjs/AvatarGroup/AvatarGroup.js +9 -4
  5. package/cjs/ButtonGroup/ButtonGroup.js +9 -4
  6. package/cjs/Calendar/Calendar.js +21 -20
  7. package/cjs/Calendar/Header.js +1 -3
  8. package/cjs/Calendar/Table.js +1 -1
  9. package/cjs/Calendar/TableRow.js +12 -7
  10. package/cjs/Calendar/View.js +9 -5
  11. package/cjs/CheckTree/index.js +9 -4
  12. package/cjs/Container/Container.js +6 -3
  13. package/cjs/DatePicker/DatePicker.js +3 -1
  14. package/cjs/DateRangePicker/DateRangePicker.js +3 -3
  15. package/cjs/Disclosure/Disclosure.js +2 -2
  16. package/cjs/Dropdown/DropdownMenu.js +9 -6
  17. package/cjs/FormGroup/FormGroup.js +9 -4
  18. package/cjs/Menu/MenuItem.js +1 -1
  19. package/cjs/Nav/Nav.js +10 -15
  20. package/cjs/Overlay/Modal.js +8 -5
  21. package/cjs/PanelGroup/PanelGroup.js +8 -5
  22. package/cjs/Toggle/Toggle.js +2 -1
  23. package/cjs/Tree/Tree.js +9 -4
  24. package/dist/rsuite-rtl.css +3 -15
  25. package/dist/rsuite-rtl.min.css +1 -1
  26. package/dist/rsuite-rtl.min.css.map +1 -1
  27. package/dist/rsuite.css +3 -15
  28. package/dist/rsuite.js +20 -20
  29. package/dist/rsuite.min.css +1 -1
  30. package/dist/rsuite.min.css.map +1 -1
  31. package/dist/rsuite.min.js +1 -1
  32. package/dist/rsuite.min.js.map +1 -1
  33. package/esm/AvatarGroup/AvatarGroup.js +7 -4
  34. package/esm/ButtonGroup/ButtonGroup.js +7 -4
  35. package/esm/Calendar/Calendar.js +22 -21
  36. package/esm/Calendar/Header.js +1 -3
  37. package/esm/Calendar/Table.js +1 -1
  38. package/esm/Calendar/TableRow.js +13 -8
  39. package/esm/Calendar/View.js +10 -6
  40. package/esm/CheckTree/index.js +7 -4
  41. package/esm/Container/Container.js +7 -4
  42. package/esm/DatePicker/DatePicker.js +3 -1
  43. package/esm/DateRangePicker/DateRangePicker.js +3 -3
  44. package/esm/Disclosure/Disclosure.js +2 -2
  45. package/esm/Dropdown/DropdownMenu.js +10 -7
  46. package/esm/FormGroup/FormGroup.js +7 -4
  47. package/esm/Menu/MenuItem.js +1 -1
  48. package/esm/Nav/Nav.js +11 -16
  49. package/esm/Overlay/Modal.js +9 -6
  50. package/esm/PanelGroup/PanelGroup.js +9 -6
  51. package/esm/Toggle/Toggle.js +2 -1
  52. package/esm/Tree/Tree.js +7 -4
  53. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [5.4.1](https://github.com/rsuite/rsuite/compare/v5.4.0...v5.4.1) (2021-12-23)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **Dropdown:** reduce padding in noCaret variant ([#2236](https://github.com/rsuite/rsuite/issues/2236)) ([682f883](https://github.com/rsuite/rsuite/commit/682f8830601d784452c10729a369ebe91057eddb))
6
+ - **Sidenav:** fix missing highlight on selected dropdown items ([#2216](https://github.com/rsuite/rsuite/issues/2216)) ([8f79d4a](https://github.com/rsuite/rsuite/commit/8f79d4a8aafb123f75f420a3adf3f680386aae68))
7
+ - **Sidenav:** prevent text wrapping when collapsing ([#2245](https://github.com/rsuite/rsuite/issues/2245)) ([4094233](https://github.com/rsuite/rsuite/commit/409423360a5226c8a0e11bbeecea0a4316c5c8e0))
8
+ - **Toggle:** dismiss uncontrolled input warning ([#2243](https://github.com/rsuite/rsuite/issues/2243)) ([c4737d5](https://github.com/rsuite/rsuite/commit/c4737d5af2fabf88312c7ee2b84d4e9139e743f1))
9
+
10
+ ### Performance Improvements
11
+
12
+ - **Context:** use `useMemo` to memozie the values returned to the Context Provider ([#2244](https://github.com/rsuite/rsuite/issues/2244)) ([d25a719](https://github.com/rsuite/rsuite/commit/d25a71920d38bceefcf100248173121d54be8313))
13
+ - **DatePicker:** improve date grid a11y ([#2220](https://github.com/rsuite/rsuite/issues/2220)) ([655178e](https://github.com/rsuite/rsuite/commit/655178e05afe5e4b4619bda3a222dc753766e13b))
14
+
1
15
  # [5.4.0](https://github.com/rsuite/rsuite/compare/v5.3.0...v5.4.0) (2021-12-17)
2
16
 
3
17
  ### Bug Fixes
@@ -81,10 +81,10 @@
81
81
  // Force set style even if has `.btn`.
82
82
  .dropdown-toggle();
83
83
  }
84
- }
85
84
 
86
- .rs-dropdown-toggle.rs-dropdown-no-caret {
87
- padding-right: @padding-x;
85
+ &.rs-dropdown-toggle-no-caret {
86
+ padding-right: @padding-x;
87
+ }
88
88
  }
89
89
 
90
90
  // The dropdown menu (ul)
@@ -378,6 +378,7 @@
378
378
  .rs-dropdown .rs-dropdown-toggle,
379
379
  .rs-dropdown-item,
380
380
  .rs-dropdown-item-submenu > .rs-dropdown-menu-toggle {
381
+ white-space: nowrap;
381
382
  text-overflow: clip;
382
383
  }
383
384
  }
@@ -436,7 +437,6 @@
436
437
 
437
438
  .rs-sidenav-default.rs-sidenav-collapse-in,
438
439
  .rs-sidenav-default.rs-sidenav-collapsing {
439
- .rs-dropdown-item:not(.rs-dropdown-item-submenu),
440
440
  .rs-dropdown-item > .rs-dropdown-menu-toggle,
441
441
  .rs-dropdown-item > .rs-dropdown-item-toggle {
442
442
  color: var(--rs-sidenav-default-text);
@@ -543,6 +543,7 @@
543
543
 
544
544
  // Active
545
545
  .rs-sidenav-item.rs-sidenav-item-active,
546
+ .rs-dropdown-item.rs-dropdown-item-active,
546
547
  .rs-dropdown.rs-dropdown-selected-within .rs-dropdown-toggle {
547
548
  color: var(--rs-sidenav-subtle-selected-text);
548
549
  }
@@ -559,7 +560,6 @@
559
560
 
560
561
  .rs-sidenav-subtle.rs-sidenav-collapse-in,
561
562
  .rs-sidenav-subtle.rs-sidenav-collapsing {
562
- .rs-dropdown-item:not(.rs-dropdown-item-submenu),
563
563
  .rs-dropdown-item > .rs-dropdown-menu-toggle,
564
564
  .rs-dropdown-item > .rs-dropdown-item-toggle {
565
565
  color: var(--rs-sidenav-subtle-text);
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -9,7 +11,7 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
11
 
10
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
17
 
@@ -41,13 +43,16 @@ var AvatarGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
43
  var classes = merge(className, withClassPrefix({
42
44
  stack: stack
43
45
  }));
46
+ var contextValue = (0, _react.useMemo)(function () {
47
+ return {
48
+ size: size
49
+ };
50
+ }, [size]);
44
51
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends3.default)({}, rest, {
45
52
  ref: ref,
46
53
  className: classes
47
54
  }), /*#__PURE__*/_react.default.createElement(AvatarGroupContext.Provider, {
48
- value: {
49
- size: size
50
- }
55
+ value: contextValue
51
56
  }, spacing ? _react.default.Children.map(children, function (child) {
52
57
  var _extends2;
53
58
 
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -9,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
11
 
10
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
17
 
@@ -41,10 +43,13 @@ var ButtonGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
43
  vertical: vertical,
42
44
  justified: justified
43
45
  }));
44
- return /*#__PURE__*/_react.default.createElement(_ButtonGroupContext.default.Provider, {
45
- value: {
46
+ var contextValue = (0, _react.useMemo)(function () {
47
+ return {
46
48
  size: size
47
- }
49
+ };
50
+ }, [size]);
51
+ return /*#__PURE__*/_react.default.createElement(_ButtonGroupContext.default.Provider, {
52
+ value: contextValue
48
53
  }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
49
54
  role: role,
50
55
  ref: ref,
@@ -77,11 +77,11 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
77
77
  withClassPrefix = _useClassNames.withClassPrefix,
78
78
  merge = _useClassNames.merge;
79
79
 
80
- var isDisabledDate = function isDisabledDate(date) {
80
+ var isDisabledDate = (0, _react.useCallback)(function (date) {
81
81
  var _disabledDate;
82
82
 
83
83
  return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
84
- };
84
+ }, [disabledDate]);
85
85
 
86
86
  var isTimeDisabled = function isTimeDisabled(date) {
87
87
  return _utils.DateUtils.disabledTime(props, date);
@@ -117,27 +117,28 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
117
117
  'show-week-numbers': showWeekNumbers
118
118
  }));
119
119
  var timeDropdownProps = (0, _pick.default)(rest, _utils.DateUtils.calendarOnlyProps);
120
- var contextValue = {
121
- date: calendarDate,
122
- dateRange: dateRange,
123
- disabledDate: isDisabledDate,
124
- format: format,
125
- hoverRangeValue: hoverRangeValue,
126
- inSameMonth: inSameMonth !== null && inSameMonth !== void 0 ? inSameMonth : inSameThisMonthDate,
127
- isoWeek: isoWeek,
128
- locale: locale,
129
- onChangePageDate: onChangePageDate,
130
- onChangePageTime: onChangePageTime,
131
- onMouseMove: onMouseMove,
132
- onSelect: onSelect,
133
- renderCell: renderCell,
134
- showWeekNumbers: showWeekNumbers,
135
- inline: inline
136
- };
120
+ var contextValue = (0, _react.useMemo)(function () {
121
+ return {
122
+ date: calendarDate,
123
+ dateRange: dateRange,
124
+ disabledDate: isDisabledDate,
125
+ format: format,
126
+ hoverRangeValue: hoverRangeValue,
127
+ inSameMonth: inSameMonth !== null && inSameMonth !== void 0 ? inSameMonth : inSameThisMonthDate,
128
+ isoWeek: isoWeek,
129
+ locale: locale,
130
+ onChangePageDate: onChangePageDate,
131
+ onChangePageTime: onChangePageTime,
132
+ onMouseMove: onMouseMove,
133
+ onSelect: onSelect,
134
+ renderCell: renderCell,
135
+ showWeekNumbers: showWeekNumbers,
136
+ inline: inline
137
+ };
138
+ }, [calendarDate, dateRange, format, hoverRangeValue, inSameMonth, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangePageDate, onChangePageTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
137
139
  return /*#__PURE__*/_react.default.createElement(_CalendarContext.CalendarProvider, {
138
140
  value: contextValue
139
141
  }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, _utils.DateUtils.omitHideDisabledProps(rest), {
140
- role: "table",
141
142
  className: calendarClasses,
142
143
  ref: ref
143
144
  }), /*#__PURE__*/_react.default.createElement(_Header.default, {
@@ -139,9 +139,7 @@ var Header = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
139
139
  'has-month': hasMonth,
140
140
  'has-time': showTime
141
141
  }));
142
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
143
- role: "row"
144
- }, rest, {
142
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
145
143
  ref: ref,
146
144
  className: classes
147
145
  }), hasMonth && monthToolbar, showTime && /*#__PURE__*/_react.default.createElement("div", {
@@ -35,7 +35,7 @@ var Table = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
35
35
 
36
36
  var classes = merge(className, withClassPrefix());
37
37
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
38
- role: "table"
38
+ role: "grid"
39
39
  }, rest, {
40
40
  ref: ref,
41
41
  className: classes
@@ -36,16 +36,19 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
36
36
  selected = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
37
37
  dateRange = _useCalendarContext.dateRange,
38
38
  disabledDate = _useCalendarContext.disabledDate,
39
- formatDate = _useCalendarContext.formatDate,
40
39
  hoverRangeValue = _useCalendarContext.hoverRangeValue,
41
40
  inSameMonth = _useCalendarContext.inSameMonth,
42
41
  isoWeek = _useCalendarContext.isoWeek,
43
42
  onMouseMove = _useCalendarContext.onMouseMove,
44
43
  onSelect = _useCalendarContext.onSelect,
45
44
  renderCell = _useCalendarContext.renderCell,
46
- locale = _useCalendarContext.locale,
45
+ overrideLocale = _useCalendarContext.locale,
47
46
  showWeekNumbers = _useCalendarContext.showWeekNumbers;
48
47
 
48
+ var _useCustom = (0, _utils.useCustom)('Calendar', overrideLocale),
49
+ locale = _useCustom.locale,
50
+ formatDate = _useCustom.formatDate;
51
+
49
52
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
50
53
  prefix = _useClassNames.prefix,
51
54
  merge = _useClassNames.merge;
@@ -59,7 +62,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
59
62
  }, [onSelect]);
60
63
 
61
64
  var renderDays = function renderDays() {
62
- var formatStr = (locale === null || locale === void 0 ? void 0 : locale.formattedDayPattern) || 'yyyy-MM-dd';
65
+ var formatStr = locale.formattedDayPattern;
63
66
  var days = [];
64
67
 
65
68
  var _ref = dateRange || [],
@@ -86,7 +89,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
86
89
 
87
90
  var isEndSelected = !unSameMonth && selectedEndDate && _utils.DateUtils.isSameDay(thisDate, selectedEndDate);
88
91
 
89
- var isSelected = isStartSelected || isEndSelected;
92
+ var isSelected = isRangeSelectionMode ? isStartSelected || isEndSelected : _utils.DateUtils.isSameDay(thisDate, selected);
90
93
  var inRange = false; // for Selected
91
94
 
92
95
  if (selectedStartDate && selectedEndDate) {
@@ -113,7 +116,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
113
116
  var _classes = prefix('cell', {
114
117
  'cell-un-same-month': unSameMonth,
115
118
  'cell-is-today': isToday,
116
- 'cell-selected': isRangeSelectionMode ? isSelected : _utils.DateUtils.isSameDay(thisDate, selected),
119
+ 'cell-selected': isSelected,
117
120
  'cell-selected-start': isStartSelected,
118
121
  'cell-selected-end': isEndSelected,
119
122
  'cell-in-range': !unSameMonth && inRange,
@@ -122,8 +125,10 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
122
125
 
123
126
  var title = formatDate ? formatDate(thisDate, formatStr) : _utils.DateUtils.format(thisDate, formatStr);
124
127
  days.push( /*#__PURE__*/_react.default.createElement("div", {
125
- role: "cell",
128
+ role: "gridcell",
126
129
  key: title,
130
+ "aria-label": title,
131
+ "aria-selected": isSelected || undefined,
127
132
  className: _classes
128
133
  }, /*#__PURE__*/_react.default.createElement("div", {
129
134
  role: "button",
@@ -147,7 +152,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
147
152
  className: classes
148
153
  }), showWeekNumbers && /*#__PURE__*/_react.default.createElement("div", {
149
154
  className: prefix('cell-week-number'),
150
- role: "cell"
155
+ role: "rowheader"
151
156
  }, _utils.DateUtils.format(weekendDate, isoWeek ? 'I' : 'w')), renderDays());
152
157
  });
153
158
 
@@ -30,7 +30,12 @@ var View = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
30
30
  var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),
31
31
  _useCalendarContext$d = _useCalendarContext.date,
32
32
  date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
33
- isoWeek = _useCalendarContext.isoWeek;
33
+ isoWeek = _useCalendarContext.isoWeek,
34
+ overrideLocale = _useCalendarContext.locale;
35
+
36
+ var _useCustom = (0, _utils.useCustom)('Calendar', overrideLocale),
37
+ locale = _useCustom.locale,
38
+ formatDate = _useCustom.formatDate;
34
39
 
35
40
  var thisMonthDate = _utils.DateUtils.setDate(date, 1);
36
41
 
@@ -39,13 +44,12 @@ var View = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
44
  withClassPrefix = _useClassNames.withClassPrefix;
40
45
 
41
46
  var classes = merge(className, withClassPrefix());
42
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
43
- role: "row"
44
- }, rest, {
47
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
45
48
  ref: ref,
46
49
  className: classes
47
50
  }), /*#__PURE__*/_react.default.createElement(_Table.default, {
48
- rows: _utils.DateUtils.getMonthView(thisMonthDate, isoWeek)
51
+ rows: _utils.DateUtils.getMonthView(thisMonthDate, isoWeek),
52
+ "aria-label": formatDate(thisMonthDate, locale.formattedMonthPattern)
49
53
  }));
50
54
  });
51
55
 
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -7,17 +9,20 @@ exports.default = void 0;
7
9
 
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
13
15
 
14
16
  var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
15
17
 
16
18
  var CheckTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
17
- return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
18
- value: {
19
+ var contextValue = (0, _react.useMemo)(function () {
20
+ return {
19
21
  inline: true
20
- }
22
+ };
23
+ }, []);
24
+ return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
25
+ value: contextValue
21
26
  }, /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
22
27
  ref: ref
23
28
  }, props)));
@@ -41,10 +41,13 @@ var Container = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
41
  var classes = merge(className, withClassPrefix({
42
42
  'has-sidebar': hasSidebar
43
43
  }));
44
- return /*#__PURE__*/_react.default.createElement(ContainerContext.Provider, {
45
- value: {
44
+ var contextValue = (0, _react.useMemo)(function () {
45
+ return {
46
46
  setHasSidebar: setHasSidebar
47
- }
47
+ };
48
+ }, [setHasSidebar]);
49
+ return /*#__PURE__*/_react.default.createElement(ContainerContext.Provider, {
50
+ value: contextValue
48
51
  }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
49
52
  ref: ref,
50
53
  className: classes
@@ -402,6 +402,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
402
402
  top: top
403
403
  };
404
404
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
405
+ role: "dialog",
405
406
  className: classes,
406
407
  ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
407
408
  style: styles,
@@ -475,7 +476,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
475
476
  active: active,
476
477
  placement: placement,
477
478
  disabled: disabled,
478
- caretAs: caretAs
479
+ caretAs: caretAs,
480
+ "aria-haspopup": "dialog"
479
481
  }), renderDate())));
480
482
  });
481
483
 
@@ -211,7 +211,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
211
211
  }
212
212
 
213
213
  return isPlaintext ? '' : placeholder || rangeFormatStr;
214
- }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue, value]);
214
+ }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);
215
215
  /**
216
216
  * preset hover range
217
217
  */
@@ -263,7 +263,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
263
263
  if (closeOverlay !== false) {
264
264
  handleCloseDropdown();
265
265
  }
266
- }, [formatStr, handleCloseDropdown, onChange, selectedDates, setValue, value]);
266
+ }, [formatStr, handleCloseDropdown, onChange, setValue, value]);
267
267
  /**
268
268
  * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
269
269
  * The MouseMove event is called between the first click and the second click to update the selection state.
@@ -293,7 +293,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
293
293
  } else if (!(0, _isNil.default)(nextHoverDateRange)) {
294
294
  setHoverDateRange(nextHoverDateRange);
295
295
  }
296
- }, [getHoverRangeValue, hoverRange]);
296
+ }, [getHoverRangeValue]);
297
297
  /**
298
298
  * Callback for selecting a date cell in the calendar grid
299
299
  */
@@ -71,7 +71,7 @@ function Disclosure(props) {
71
71
  });
72
72
  }
73
73
  });
74
- var context = (0, _react.useMemo)(function () {
74
+ var contextValue = (0, _react.useMemo)(function () {
75
75
  return [{
76
76
  open: open
77
77
  }, dispatch, {
@@ -79,7 +79,7 @@ function Disclosure(props) {
79
79
  }];
80
80
  }, [open, dispatch, onToggle]);
81
81
  return /*#__PURE__*/_react.default.createElement(_DisclosureContext.default.Provider, {
82
- value: context
82
+ value: contextValue
83
83
  }, children({
84
84
  open: open
85
85
  }, containerElementRef));
@@ -91,17 +91,20 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
91
91
  var _useClassNames3 = (0, _utils.useClassNames)('dropdown-item'),
92
92
  mergeItemClassNames = _useClassNames3.merge,
93
93
  withItemClassPrefix = _useClassNames3.withClassPrefix,
94
- prefixItemClassName = _useClassNames3.prefix; // <Dropdown.Menu> is used outside of <Dropdown>
94
+ prefixItemClassName = _useClassNames3.prefix;
95
+
96
+ var contextValue = (0, _react.useMemo)(function () {
97
+ return {
98
+ activeKey: activeKey,
99
+ onSelect: onSelect
100
+ };
101
+ }, [activeKey, onSelect]); // <Dropdown.Menu> is used outside of <Dropdown>
95
102
  // renders a vertical `menubar`
96
103
 
97
-
98
104
  if (!dropdown) {
99
105
  var classes = merge(props.className, withClassPrefix());
100
106
  return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {
101
- value: {
102
- activeKey: activeKey,
103
- onSelect: onSelect
104
- }
107
+ value: contextValue
105
108
  }, /*#__PURE__*/_react.default.createElement(_Menubar.default, {
106
109
  vertical: true,
107
110
  onActivateItem: function onActivateItem(event) {
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -9,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
11
 
10
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
17
 
@@ -33,10 +35,13 @@ var FormGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
33
35
  merge = _useClassNames.merge;
34
36
 
35
37
  var classes = merge(className, withClassPrefix());
36
- return /*#__PURE__*/_react.default.createElement(FormGroupContext.Provider, {
37
- value: {
38
+ var contextValue = (0, _react.useMemo)(function () {
39
+ return {
38
40
  controlId: controlId
39
- }
41
+ };
42
+ }, [controlId]);
43
+ return /*#__PURE__*/_react.default.createElement(FormGroupContext.Provider, {
44
+ value: contextValue
40
45
  }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
41
46
  ref: ref,
42
47
  className: classes,
@@ -55,7 +55,7 @@ function MenuItem(props) {
55
55
  id: menuitemRef.current.id
56
56
  });
57
57
  }
58
- }, [dispatch]); // Gain/release focus on mouseenter/mouseleave in `menu`
58
+ }, [dispatch, hasFocus]); // Gain/release focus on mouseenter/mouseleave in `menu`
59
59
 
60
60
  var handleMouseMove = (0, _react.useCallback)(function () {
61
61
  if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
package/cjs/Nav/Nav.js CHANGED
@@ -75,14 +75,17 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
75
75
  onSelectFromSidenav = _ref$onSelect === void 0 ? onSelectProp : _ref$onSelect;
76
76
 
77
77
  var activeKey = activeKeyProp !== null && activeKeyProp !== void 0 ? activeKeyProp : activeKeyFromSidenav;
78
+ var contextValue = (0, _react.useMemo)(function () {
79
+ return {
80
+ withinNav: true,
81
+ activeKey: activeKey,
82
+ onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
83
+ };
84
+ }, [activeKey, onSelectFromSidenav, onSelectProp]);
78
85
 
79
86
  if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
80
87
  return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
81
- value: {
82
- withinNav: true,
83
- activeKey: activeKey,
84
- onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
85
- }
88
+ value: contextValue
86
89
  }, /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
87
90
  ref: ref,
88
91
  className: classes
@@ -93,11 +96,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
93
96
 
94
97
  if (sidenav) {
95
98
  return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
96
- value: {
97
- withinNav: true,
98
- activeKey: activeKey,
99
- onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
100
- }
99
+ value: contextValue
101
100
  }, /*#__PURE__*/_react.default.createElement(_Menubar.default, {
102
101
  vertical: !!sidenav
103
102
  }, function (menubar, ref) {
@@ -110,11 +109,7 @@ var Nav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
110
109
  }
111
110
 
112
111
  return /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, {
113
- value: {
114
- withinNav: true,
115
- activeKey: activeKey,
116
- onSelect: onSelectProp !== null && onSelectProp !== void 0 ? onSelectProp : onSelectFromSidenav
117
- }
112
+ value: contextValue
118
113
  }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
119
114
  ref: menubarRef,
120
115
  className: classes
@@ -224,6 +224,13 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
224
224
  var handleExited = (0, _react.useCallback)(function () {
225
225
  setExited(true);
226
226
  }, []);
227
+ var contextValue = (0, _react.useMemo)(function () {
228
+ return {
229
+ overlayContainer: function overlayContainer() {
230
+ return modal.dialog;
231
+ }
232
+ };
233
+ }, [modal.dialog]);
227
234
 
228
235
  if (!mountModal) {
229
236
  return null;
@@ -272,11 +279,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
272
279
  onEntered: onEntered
273
280
  }), children) : children;
274
281
  return /*#__PURE__*/_react.default.createElement(_OverlayContext.default.Provider, {
275
- value: {
276
- overlayContainer: function overlayContainer() {
277
- return modal.dialog;
278
- }
279
- }
282
+ value: contextValue
280
283
  }, /*#__PURE__*/_react.default.createElement(Portal, null, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
281
284
  ref: (0, _utils2.mergeRefs)(modal.setDialogRef, ref),
282
285
  style: style,
@@ -51,16 +51,19 @@ var PanelGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
51
51
  setActiveKey(activeKey);
52
52
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeKey, event);
53
53
  }, [onSelect, setActiveKey]);
54
+ var contextValue = (0, _react.useMemo)(function () {
55
+ return {
56
+ accordion: accordion,
57
+ activeKey: activeKey,
58
+ onGroupSelect: handleSelect
59
+ };
60
+ }, [accordion, activeKey, handleSelect]);
54
61
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
55
62
  ref: ref,
56
63
  role: accordion ? 'tablist' : undefined,
57
64
  className: classes
58
65
  }), /*#__PURE__*/_react.default.createElement(PanelGroupContext.Provider, {
59
- value: {
60
- accordion: accordion,
61
- activeKey: activeKey,
62
- onGroupSelect: handleSelect
63
- }
66
+ value: contextValue
64
67
  }, children));
65
68
  });
66
69
 
@@ -81,7 +81,8 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
81
81
  }, rest), /*#__PURE__*/_react.default.createElement("input", {
82
82
  ref: inputRef,
83
83
  type: "checkbox",
84
- checked: checked,
84
+ checked: checkedProp,
85
+ defaultChecked: defaultChecked,
85
86
  disabled: disabled,
86
87
  readOnly: readOnly,
87
88
  onChange: handleInputChange,
package/cjs/Tree/Tree.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -7,7 +9,7 @@ exports.default = exports.TREE_NODE_DROP_POSITION = void 0;
7
9
 
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _TreePicker = _interopRequireDefault(require("../TreePicker"));
13
15
 
@@ -26,10 +28,13 @@ exports.TREE_NODE_DROP_POSITION = TREE_NODE_DROP_POSITION;
26
28
  })(TREE_NODE_DROP_POSITION || (exports.TREE_NODE_DROP_POSITION = TREE_NODE_DROP_POSITION = {}));
27
29
 
28
30
  var Tree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
29
- return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
30
- value: {
31
+ var contextValue = (0, _react.useMemo)(function () {
32
+ return {
31
33
  inline: true
32
- }
34
+ };
35
+ }, []);
36
+ return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
37
+ value: contextValue
33
38
  }, /*#__PURE__*/_react.default.createElement(_TreePicker.default, (0, _extends2.default)({
34
39
  ref: ref
35
40
  }, props)));