@carbon/react 1.5.0 → 1.7.0-rc.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 (79) hide show
  1. package/es/components/ComposedModal/ComposedModal.js +2 -1
  2. package/es/components/ComposedModal/next/ComposedModal.js +2 -1
  3. package/es/components/DataTable/TableToolbarSearch.js +10 -2
  4. package/es/components/DatePicker/DatePicker.js +14 -5
  5. package/es/components/FileUploader/FileUploader.js +1 -1
  6. package/es/components/FileUploader/FileUploaderButton.js +1 -1
  7. package/es/components/FileUploader/Filename.js +1 -1
  8. package/es/components/Form/Form.js +1 -1
  9. package/es/components/FormGroup/FormGroup.js +4 -4
  10. package/es/components/FormItem/FormItem.js +5 -6
  11. package/es/components/Layer/index.js +13 -1
  12. package/es/components/Link/Link.js +6 -3
  13. package/es/components/ListBox/ListBoxPropTypes.js +1 -2
  14. package/es/components/ListBox/ListBoxSelection.js +3 -4
  15. package/es/components/OverflowMenu/OverflowMenu.js +0 -1
  16. package/es/components/Popover/index.js +137 -8
  17. package/es/components/RadioButton/next/RadioButton.js +2 -1
  18. package/es/components/Select/Select.js +14 -7
  19. package/es/components/Tabs/next/Tabs.js +42 -4
  20. package/es/components/Toggle/Toggle.js +147 -109
  21. package/es/components/UIShell/HeaderMenu.js +1 -1
  22. package/es/components/UIShell/HeaderMenuButton.js +3 -4
  23. package/es/components/UIShell/HeaderName.js +3 -4
  24. package/es/components/UIShell/HeaderNavigation.js +27 -75
  25. package/es/components/UIShell/SideNav.js +3 -3
  26. package/es/components/UIShell/SideNavFooter.js +3 -10
  27. package/es/components/UIShell/SideNavIcon.js +3 -4
  28. package/es/components/UIShell/SideNavItem.js +4 -5
  29. package/es/components/UIShell/SideNavLink.js +0 -6
  30. package/es/components/UIShell/SideNavLinkText.js +3 -4
  31. package/es/components/UIShell/SideNavMenu.js +93 -131
  32. package/es/components/UIShell/SideNavSwitcher.js +4 -2
  33. package/es/components/UIShell/SkipToContent.js +3 -4
  34. package/es/index.js +13 -11
  35. package/lib/components/ComposedModal/ComposedModal.js +2 -1
  36. package/lib/components/ComposedModal/next/ComposedModal.js +2 -1
  37. package/lib/components/DataTable/TableToolbarSearch.js +10 -2
  38. package/lib/components/DatePicker/DatePicker.js +14 -5
  39. package/lib/components/FileUploader/FileUploader.js +1 -1
  40. package/lib/components/FileUploader/FileUploaderButton.js +1 -1
  41. package/lib/components/FileUploader/Filename.js +1 -1
  42. package/lib/components/Form/Form.js +1 -1
  43. package/lib/components/FormGroup/FormGroup.js +4 -4
  44. package/lib/components/FormItem/FormItem.js +5 -6
  45. package/lib/components/Layer/index.js +13 -0
  46. package/lib/components/Link/Link.js +6 -3
  47. package/lib/components/ListBox/ListBoxPropTypes.js +1 -21
  48. package/lib/components/ListBox/ListBoxSelection.js +3 -4
  49. package/lib/components/OverflowMenu/OverflowMenu.js +0 -1
  50. package/lib/components/Popover/index.js +135 -6
  51. package/lib/components/RadioButton/next/RadioButton.js +2 -1
  52. package/lib/components/Select/Select.js +14 -7
  53. package/lib/components/Tabs/next/Tabs.js +42 -4
  54. package/lib/components/Toggle/Toggle.js +146 -107
  55. package/lib/components/UIShell/HeaderMenu.js +1 -1
  56. package/lib/components/UIShell/HeaderMenuButton.js +3 -4
  57. package/lib/components/UIShell/HeaderName.js +3 -4
  58. package/lib/components/UIShell/HeaderNavigation.js +25 -73
  59. package/lib/components/UIShell/SideNav.js +3 -3
  60. package/lib/components/UIShell/SideNavFooter.js +3 -10
  61. package/lib/components/UIShell/SideNavIcon.js +3 -4
  62. package/lib/components/UIShell/SideNavItem.js +4 -5
  63. package/lib/components/UIShell/SideNavLink.js +0 -6
  64. package/lib/components/UIShell/SideNavLinkText.js +3 -4
  65. package/lib/components/UIShell/SideNavMenu.js +89 -128
  66. package/lib/components/UIShell/SideNavSwitcher.js +4 -2
  67. package/lib/components/UIShell/SkipToContent.js +3 -4
  68. package/lib/index.js +86 -82
  69. package/package.json +3 -3
  70. package/es/components/Toggle/index.js +0 -19
  71. package/es/components/Toggle/next/Toggle.js +0 -158
  72. package/es/components/UIShell/index.js +0 -17
  73. package/es/components/UIShell/next/HeaderNavigation.js +0 -52
  74. package/es/components/UIShell/next/SideNavMenu.js +0 -160
  75. package/lib/components/Toggle/index.js +0 -23
  76. package/lib/components/Toggle/next/Toggle.js +0 -169
  77. package/lib/components/UIShell/index.js +0 -42
  78. package/lib/components/UIShell/next/HeaderNavigation.js +0 -62
  79. package/lib/components/UIShell/next/SideNavMenu.js +0 -170
@@ -5,119 +5,84 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { ChevronDown } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
- import React__default from 'react';
12
+ import React__default, { useState } from 'react';
13
13
  import SideNavIcon from './SideNavIcon.js';
14
- import { PrefixContext } from '../../internal/usePrefix.js';
14
+ import { usePrefix } from '../../internal/usePrefix.js';
15
15
  import { match } from '../../internal/keyboard/match.js';
16
16
  import { Escape } from '../../internal/keyboard/keys.js';
17
17
 
18
18
  var _ChevronDown;
19
- var SideNavMenu = /*#__PURE__*/function (_React$Component) {
20
- _inherits(SideNavMenu, _React$Component);
21
-
22
- var _super = _createSuper(SideNavMenu);
23
-
24
- function SideNavMenu(props) {
25
- var _this;
26
-
27
- _classCallCheck(this, SideNavMenu);
28
-
29
- _this = _super.call(this, props);
30
-
31
- _defineProperty(_assertThisInitialized(_this), "handleToggleExpand", function () {
32
- _this.setState(function (state) {
33
- return {
34
- isExpanded: !state.isExpanded
35
- };
36
- });
37
- });
38
-
39
- _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) {
40
- if (match(event, Escape)) {
41
- _this.setState(function () {
42
- return {
43
- isExpanded: false
44
- };
45
- });
46
- }
47
- });
48
-
49
- _this.state = {
50
- isExpanded: props.defaultExpanded || false,
51
- wasPreviouslyExpanded: props.defaultExpanded || false
52
- };
53
- return _this;
19
+ var SideNavMenu = /*#__PURE__*/React__default.forwardRef(function SideNavMenu(props, ref) {
20
+ var _cx;
21
+
22
+ var customClassName = props.className,
23
+ children = props.children,
24
+ _props$defaultExpande = props.defaultExpanded,
25
+ defaultExpanded = _props$defaultExpande === void 0 ? false : _props$defaultExpande,
26
+ _props$isActive = props.isActive,
27
+ isActive = _props$isActive === void 0 ? false : _props$isActive,
28
+ _props$large = props.large,
29
+ large = _props$large === void 0 ? false : _props$large,
30
+ IconElement = props.renderIcon,
31
+ isSideNavExpanded = props.isSideNavExpanded,
32
+ title = props.title;
33
+ var prefix = usePrefix();
34
+
35
+ var _useState = useState(defaultExpanded),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ isExpanded = _useState2[0],
38
+ setIsExpanded = _useState2[1];
39
+
40
+ var _useState3 = useState(defaultExpanded),
41
+ _useState4 = _slicedToArray(_useState3, 2),
42
+ prevExpanded = _useState4[0],
43
+ setPrevExpanded = _useState4[1];
44
+
45
+ var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__item"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--active"), isActive || hasActiveChild(children) && !isExpanded), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--icon"), IconElement), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--large"), large), _defineProperty(_cx, customClassName, !!customClassName), _cx));
46
+
47
+ if (isSideNavExpanded === false && isExpanded === true) {
48
+ setIsExpanded(false);
49
+ setPrevExpanded(true);
50
+ } else if (isSideNavExpanded === true && prevExpanded === true) {
51
+ setIsExpanded(true);
52
+ setPrevExpanded(false);
54
53
  }
55
54
 
56
- _createClass(SideNavMenu, [{
57
- key: "render",
58
- value: function render() {
59
- var _cx;
60
-
61
- var prefix = this.context;
62
- var _this$props = this.props,
63
- buttonRef = _this$props.buttonRef,
64
- customClassName = _this$props.className,
65
- children = _this$props.children,
66
- IconElement = _this$props.renderIcon,
67
- isActive = _this$props.isActive,
68
- title = _this$props.title,
69
- large = _this$props.large;
70
- var isExpanded = this.state.isExpanded;
71
- var hasActiveChild;
72
-
73
- if (children) {
74
- // if we have children, either a single or multiple, find if it is active
75
- hasActiveChild = Array.isArray(children) ? children.some(function (child) {
76
- if (child.props && (child.props.isActive === true || child.props['aria-current'])) {
77
- return true;
78
- }
79
-
80
- return false;
81
- }) : children.props && (children.props.isActive === true || children.props['aria-current']);
55
+ return (
56
+ /*#__PURE__*/
57
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
58
+ React__default.createElement("li", {
59
+ className: className,
60
+ onKeyDown: function onKeyDown(event) {
61
+ if (match(event, Escape)) {
62
+ setIsExpanded(false);
63
+ }
82
64
  }
83
-
84
- var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__item"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--active"), isActive || hasActiveChild && !isExpanded), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--icon"), IconElement), _defineProperty(_cx, "".concat(prefix, "--side-nav__item--large"), large), _defineProperty(_cx, customClassName, !!customClassName), _cx));
85
- return (
86
- /*#__PURE__*/
87
- // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
88
- React__default.createElement("li", {
89
- className: className,
90
- onKeyDown: this.handleKeyDown
91
- }, /*#__PURE__*/React__default.createElement("button", {
92
- "aria-expanded": isExpanded,
93
- className: "".concat(prefix, "--side-nav__submenu"),
94
- onClick: this.handleToggleExpand,
95
- ref: buttonRef,
96
- type: "button"
97
- }, IconElement && /*#__PURE__*/React__default.createElement(SideNavIcon, null, /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement("span", {
98
- className: "".concat(prefix, "--side-nav__submenu-title")
99
- }, title), /*#__PURE__*/React__default.createElement(SideNavIcon, {
100
- className: "".concat(prefix, "--side-nav__submenu-chevron"),
101
- small: true
102
- }, _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default.createElement(ChevronDown, {
103
- size: 20
104
- })))), /*#__PURE__*/React__default.createElement("ul", {
105
- className: "".concat(prefix, "--side-nav__menu")
106
- }, children))
107
- );
108
- }
109
- }]);
110
-
111
- return SideNavMenu;
112
- }(React__default.Component);
113
-
114
- _defineProperty(SideNavMenu, "contextType", PrefixContext);
115
-
116
- _defineProperty(SideNavMenu, "propTypes", {
117
- buttonRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
118
- current: PropTypes.any
119
- })]),
120
-
65
+ }, /*#__PURE__*/React__default.createElement("button", {
66
+ "aria-expanded": isExpanded,
67
+ className: "".concat(prefix, "--side-nav__submenu"),
68
+ onClick: function onClick() {
69
+ setIsExpanded(!isExpanded);
70
+ },
71
+ ref: ref,
72
+ type: "button"
73
+ }, IconElement && /*#__PURE__*/React__default.createElement(SideNavIcon, null, /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement("span", {
74
+ className: "".concat(prefix, "--side-nav__submenu-title")
75
+ }, title), /*#__PURE__*/React__default.createElement(SideNavIcon, {
76
+ className: "".concat(prefix, "--side-nav__submenu-chevron"),
77
+ small: true
78
+ }, _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default.createElement(ChevronDown, {
79
+ size: 20
80
+ })))), /*#__PURE__*/React__default.createElement("ul", {
81
+ className: "".concat(prefix, "--side-nav__menu")
82
+ }, children))
83
+ );
84
+ });
85
+ SideNavMenu.propTypes = {
121
86
  /**
122
87
  * Provide <SideNavMenuItem>'s inside of the `SideNavMenu`
123
88
  */
@@ -161,38 +126,35 @@ _defineProperty(SideNavMenu, "propTypes", {
161
126
  * Provide the text for the overall menu name
162
127
  */
163
128
  title: PropTypes.string.isRequired
164
- });
129
+ };
130
+
131
+ function hasActiveChild(children) {
132
+ // if we have children, either a single or multiple, find if it is active
133
+ if (Array.isArray(children)) {
134
+ return children.some(function (child) {
135
+ if (!child.props) {
136
+ return false;
137
+ }
165
138
 
166
- _defineProperty(SideNavMenu, "defaultProps", {
167
- defaultExpanded: false,
168
- isActive: false,
169
- large: false
170
- });
139
+ if (child.props.isActive === true) {
140
+ return true;
141
+ }
171
142
 
172
- _defineProperty(SideNavMenu, "getDerivedStateFromProps", function (props, state) {
173
- var derivedState = null;
174
-
175
- if (props.isSideNavExpanded === false && state.isExpanded === true) {
176
- derivedState = {
177
- isExpanded: props.isSideNavExpanded,
178
- wasPreviouslyExpanded: true
179
- };
180
- } else if (props.isSideNavExpanded === true && state.wasPreviouslyExpanded === true) {
181
- derivedState = {
182
- isExpanded: props.isSideNavExpanded,
183
- wasPreviouslyExpanded: false
184
- };
143
+ if (child.props['aria-current']) {
144
+ return true;
145
+ }
146
+
147
+ return false;
148
+ });
185
149
  }
186
150
 
187
- return derivedState;
188
- });
151
+ if (children.props) {
152
+ if (children.props.isActive === true || children.props['aria-current']) {
153
+ return true;
154
+ }
155
+ }
189
156
 
190
- var SideNavMenuForwardRef = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
191
- return /*#__PURE__*/React__default.createElement(SideNavMenu, _extends({}, props, {
192
- buttonRef: ref
193
- }));
194
- });
195
- SideNavMenuForwardRef.displayName = 'SideNavMenu';
196
- var SideNavMenuClassic = SideNavMenuForwardRef;
157
+ return false;
158
+ }
197
159
 
198
- export { SideNavMenu, SideNavMenuClassic as default };
160
+ export { SideNavMenu };
@@ -10,9 +10,11 @@ import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
11
  import React__default from 'react';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
+ import { useId } from '../../internal/useId.js';
13
14
 
14
15
  var _ChevronDown;
15
16
  var SideNavSwitcher = /*#__PURE__*/React__default.forwardRef(function SideNavSwitcher(props, ref) {
17
+ var id = useId('side-nav-switcher');
16
18
  var prefix = usePrefix();
17
19
  var customClassName = props.className,
18
20
  labelText = props.labelText,
@@ -23,10 +25,10 @@ var SideNavSwitcher = /*#__PURE__*/React__default.forwardRef(function SideNavSwi
23
25
  return /*#__PURE__*/React__default.createElement("div", {
24
26
  className: className
25
27
  }, /*#__PURE__*/React__default.createElement("label", {
26
- htmlFor: "side-nav-switcher",
28
+ htmlFor: id,
27
29
  className: "".concat(prefix, "--assistive-text")
28
30
  }, labelText), /*#__PURE__*/React__default.createElement("select", {
29
- id: "carbon-side-nav-switcher",
31
+ id: id,
30
32
  className: "".concat(prefix, "--side-nav__select"),
31
33
  defaultValue: "",
32
34
  onBlur: onChange,
@@ -13,7 +13,7 @@ import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
14
  var _excluded = ["children", "className", "href", "tabIndex"];
15
15
 
16
- var SkipToContent = function SkipToContent(_ref) {
16
+ function SkipToContent(_ref) {
17
17
  var children = _ref.children,
18
18
  customClassName = _ref.className,
19
19
  href = _ref.href,
@@ -27,7 +27,7 @@ var SkipToContent = function SkipToContent(_ref) {
27
27
  href: href,
28
28
  tabIndex: tabIndex
29
29
  }), children);
30
- };
30
+ }
31
31
 
32
32
  SkipToContent.propTypes = {
33
33
  /**
@@ -52,6 +52,5 @@ SkipToContent.defaultProps = {
52
52
  href: '#main-content',
53
53
  tabIndex: '0'
54
54
  };
55
- var SkipToContent$1 = SkipToContent;
56
55
 
57
- export { SkipToContent$1 as default };
56
+ export { SkipToContent as default };
package/es/index.js CHANGED
@@ -79,7 +79,8 @@ export { default as RadioTile } from './components/RadioTile/RadioTile.js';
79
79
  export { default as TileGroup } from './components/TileGroup/index.js';
80
80
  export { default as TimePicker } from './components/TimePicker/index.js';
81
81
  export { default as TimePickerSelect } from './components/TimePickerSelect/index.js';
82
- export { default as Toggle } from './components/Toggle/index.js';
82
+ export { default as ToggleSkeleton } from './components/Toggle/Toggle.Skeleton.js';
83
+ export { Toggle } from './components/Toggle/Toggle.js';
83
84
  export { Toggletip, ToggletipActions, ToggletipButton, ToggletipContent, ToggletipLabel } from './components/Toggletip/index.js';
84
85
  export { default as UnorderedList } from './components/UnorderedList/UnorderedList.js';
85
86
  export { default as SkeletonText } from './components/SkeletonText/SkeletonText.js';
@@ -95,14 +96,12 @@ export { default as SearchSkeleton } from './components/Search/Search.Skeleton.j
95
96
  export { default as SliderSkeleton } from './components/Slider/Slider.Skeleton.js';
96
97
  export { default as TabsSkeleton } from './components/Tabs/Tabs.Skeleton.js';
97
98
  export { default as TextInputSkeleton } from './components/TextInput/TextInput.Skeleton.js';
98
- export { default as ToggleSkeleton } from './components/Toggle/Toggle.Skeleton.js';
99
99
  export { default as ToggleSmallSkeleton } from './components/ToggleSmall/ToggleSmall.Skeleton.js';
100
100
  export { default as IconSkeleton } from './components/Icon/Icon.Skeleton.js';
101
- export { HeaderNavigation, SideNavMenu } from './components/UIShell/index.js';
102
101
  export { FeatureFlags as unstable_FeatureFlags, useFeatureFlag as unstable_useFeatureFlag, useFeatureFlags as unstable_useFeatureFlags } from './components/FeatureFlags/index.js';
103
102
  export { Heading, Section } from './components/Heading/index.js';
104
103
  export { IconButton } from './components/IconButton/index.js';
105
- export { Layer } from './components/Layer/index.js';
104
+ export { Layer, useLayer } from './components/Layer/index.js';
106
105
  import './components/Menu/index.js';
107
106
  export { OverflowMenuV2 as unstable_OverflowMenuV2 } from './components/OverflowMenuV2/index.js';
108
107
  export { Popover, PopoverContent } from './components/Popover/index.js';
@@ -110,6 +109,7 @@ export { HStack, VStack } from './components/Stack/index.js';
110
109
  export { DefinitionTooltip } from './components/Tooltip/next/DefinitionTooltip.js';
111
110
  import './components/TreeView/index.js';
112
111
  export { GlobalTheme, Theme, useTheme } from './components/Theme/index.js';
112
+ export { usePrefix } from './internal/usePrefix.js';
113
113
  export { default as AspectRatio } from './components/AspectRatio/AspectRatio.js';
114
114
  export { default as Filename } from './components/FileUploader/Filename.js';
115
115
  export { default as FileUploaderButton } from './components/FileUploader/FileUploaderButton.js';
@@ -117,7 +117,14 @@ export { default as FileUploaderDropContainer } from './components/FileUploader/
117
117
  export { default as FileUploaderItem } from './components/FileUploader/FileUploaderItem.js';
118
118
  export { default as Row } from './components/Grid/Row.js';
119
119
  export { default as Column } from './components/Grid/Column.js';
120
+ export { default as HeaderMenuButton } from './components/UIShell/HeaderMenuButton.js';
121
+ export { default as HeaderName } from './components/UIShell/HeaderName.js';
122
+ export { default as SkipToContent } from './components/UIShell/SkipToContent.js';
120
123
  export { default as SideNavDivider } from './components/UIShell/SideNavDivider.js';
124
+ export { default as SideNavFooter } from './components/UIShell/SideNavFooter.js';
125
+ export { default as SideNavIcon } from './components/UIShell/SideNavIcon.js';
126
+ export { default as SideNavItem } from './components/UIShell/SideNavItem.js';
127
+ export { default as SideNavLinkText } from './components/UIShell/SideNavLinkText.js';
121
128
  export { default as unstable_useContextMenu } from './components/ContextMenu/useContextMenu.js';
122
129
  export { default as unstable_MenuDivider } from './components/Menu/MenuDivider.js';
123
130
  export { default as unstable_MenuGroup } from './components/Menu/MenuGroup.js';
@@ -170,24 +177,19 @@ export { default as HeaderContainer } from './components/UIShell/HeaderContainer
170
177
  export { default as HeaderGlobalAction } from './components/UIShell/HeaderGlobalAction.js';
171
178
  export { default as HeaderGlobalBar } from './components/UIShell/HeaderGlobalBar.js';
172
179
  export { default as HeaderMenu } from './components/UIShell/HeaderMenu.js';
173
- export { default as HeaderMenuButton } from './components/UIShell/HeaderMenuButton.js';
174
180
  export { default as HeaderMenuItem } from './components/UIShell/HeaderMenuItem.js';
175
- export { default as HeaderName } from './components/UIShell/HeaderName.js';
181
+ export { HeaderNavigation } from './components/UIShell/HeaderNavigation.js';
176
182
  export { default as HeaderPanel } from './components/UIShell/HeaderPanel.js';
177
183
  export { default as HeaderSideNavItems } from './components/UIShell/HeaderSideNavItems.js';
178
184
  export { default as Switcher } from './components/UIShell/Switcher.js';
179
185
  export { default as SwitcherItem } from './components/UIShell/SwitcherItem.js';
180
186
  export { default as SwitcherDivider } from './components/UIShell/SwitcherDivider.js';
181
- export { default as SkipToContent } from './components/UIShell/SkipToContent.js';
182
187
  export { default as SideNav } from './components/UIShell/SideNav.js';
183
188
  export { default as SideNavDetails } from './components/UIShell/SideNavDetails.js';
184
- export { default as SideNavFooter } from './components/UIShell/SideNavFooter.js';
185
189
  export { default as SideNavHeader } from './components/UIShell/SideNavHeader.js';
186
- export { default as SideNavIcon } from './components/UIShell/SideNavIcon.js';
187
- export { default as SideNavItem } from './components/UIShell/SideNavItem.js';
188
190
  export { default as SideNavItems } from './components/UIShell/SideNavItems.js';
189
191
  export { default as SideNavLink } from './components/UIShell/SideNavLink.js';
190
- export { default as SideNavLinkText } from './components/UIShell/SideNavLinkText.js';
192
+ export { SideNavMenu } from './components/UIShell/SideNavMenu.js';
191
193
  export { default as SideNavMenuItem } from './components/UIShell/SideNavMenuItem.js';
192
194
  export { default as SideNavSwitcher } from './components/UIShell/SideNavSwitcher.js';
193
195
  export { Stack } from './components/Stack/Stack.js';
@@ -233,7 +233,8 @@ var ComposedModal = /*#__PURE__*/function (_Component) {
233
233
  onClick: this.handleClick,
234
234
  onKeyDown: this.handleKeyDown,
235
235
  onTransitionEnd: open ? this.handleTransitionEnd : undefined,
236
- className: modalClass
236
+ className: modalClass,
237
+ tabIndex: "-1"
237
238
  }), /*#__PURE__*/React__default["default"].createElement("span", {
238
239
  ref: this.startSentinel,
239
240
  tabIndex: "0",
@@ -204,7 +204,8 @@ var ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function C
204
204
  onBlur: handleBlur,
205
205
  onClick: handleClick,
206
206
  onKeyDown: handleKeyDown,
207
- className: modalClass
207
+ className: modalClass,
208
+ tabIndex: "-1"
208
209
  }), /*#__PURE__*/React__default["default"].createElement("div", {
209
210
  className: containerClass,
210
211
  role: "dialog",
@@ -23,7 +23,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
24
24
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
 
26
- var _excluded = ["className", "searchContainerClass", "onChange", "onClear", "translateWithId", "placeholder", "labelText", "expanded", "defaultExpanded", "defaultValue", "disabled", "onExpand", "persistent", "id", "onBlur", "onFocus"];
26
+ var _excluded = ["className", "searchContainerClass", "onChange", "onClear", "translateWithId", "placeholder", "labelText", "expanded", "defaultExpanded", "defaultValue", "disabled", "onExpand", "persistent", "id", "onBlur", "onFocus", "size"];
27
27
  var getInstanceId = instanceId["default"]();
28
28
  var translationKeys = {
29
29
  'carbon.table.toolbar.search.label': 'Filter table',
@@ -53,6 +53,8 @@ var TableToolbarSearch = function TableToolbarSearch(_ref) {
53
53
  id = _ref.id,
54
54
  onBlur = _ref.onBlur,
55
55
  onFocus = _ref.onFocus,
56
+ _ref$size = _ref.size,
57
+ size = _ref$size === void 0 ? 'lg' : _ref$size,
56
58
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
57
59
 
58
60
  var _useRef = React.useRef(expandedProp !== undefined),
@@ -136,7 +138,8 @@ var TableToolbarSearch = function TableToolbarSearch(_ref) {
136
138
  } : handleOnFocus,
137
139
  onBlur: onBlur ? function (event) {
138
140
  return onBlur(event, handleExpand);
139
- } : handleOnBlur
141
+ } : handleOnBlur,
142
+ size: size
140
143
  }, rest));
141
144
  };
142
145
 
@@ -222,6 +225,11 @@ TableToolbarSearch.propTypes = {
222
225
  */
223
226
  searchContainerClass: PropTypes__default["default"].string,
224
227
 
228
+ /**
229
+ * Specify the size of the Search
230
+ */
231
+ size: PropTypes__default["default"].oneOf(['sm', 'md', 'lg']),
232
+
225
233
  /**
226
234
  * Optional prop to specify the tabIndex of the <Search> (in expanded state) or the container (in collapsed state)
227
235
  */
@@ -31,7 +31,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
31
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
32
32
  var flatpickr__default = /*#__PURE__*/_interopDefaultLegacy(flatpickr);
33
33
 
34
- var _excluded = ["allowInput", "appendTo", "children", "className", "dateFormat", "datePickerType", "disable", "enable", "inline", "light", "locale", "maxDate", "minDate", "onChange", "onClose", "onOpen", "short", "value"];
34
+ var _excluded = ["allowInput", "appendTo", "children", "className", "closeOnSelect", "dateFormat", "datePickerType", "disable", "enable", "inline", "light", "locale", "maxDate", "minDate", "onChange", "onClose", "onOpen", "short", "value"];
35
35
 
36
36
  index["default"].en.weekdays.shorthand.forEach(function (_day, index$1) {
37
37
  var currentDay = index["default"].en.weekdays.shorthand;
@@ -163,6 +163,8 @@ function DatePicker(_ref) {
163
163
  appendTo = _ref.appendTo,
164
164
  children = _ref.children,
165
165
  className = _ref.className,
166
+ _ref$closeOnSelect = _ref.closeOnSelect,
167
+ closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
166
168
  _ref$dateFormat = _ref.dateFormat,
167
169
  dateFormat = _ref$dateFormat === void 0 ? 'm/d/Y' : _ref$dateFormat,
168
170
  datePickerType = _ref.datePickerType,
@@ -262,6 +264,7 @@ function DatePicker(_ref) {
262
264
  inline: inline !== null && inline !== void 0 ? inline : false,
263
265
  disableMobile: true,
264
266
  defaultDate: value,
267
+ closeOnSelect: closeOnSelect,
265
268
  mode: datePickerType,
266
269
  allowInput: allowInput !== null && allowInput !== void 0 ? allowInput : true,
267
270
  dateFormat: dateFormat,
@@ -322,7 +325,7 @@ function DatePicker(_ref) {
322
325
  // error with IBM Equal Access Accessibility Checker so we add an aria
323
326
  // role to the container div.
324
327
 
325
- calendar.calendarContainer.setAttribute('role', 'region'); // IBM EAAC requires an aria-label on a role='region'
328
+ calendar.calendarContainer.setAttribute('role', 'application'); // IBM EAAC requires an aria-label on a role='region'
326
329
 
327
330
  calendar.calendarContainer.setAttribute('aria-label', 'calendar-container');
328
331
  }
@@ -386,9 +389,10 @@ function DatePicker(_ref) {
386
389
  }, [inline]);
387
390
  React.useEffect(function () {
388
391
  if (calendarRef.current) {
389
- calendarRef.current.set({
390
- value: value
391
- });
392
+ if (value !== undefined) {
393
+ calendarRef.current.setDate(value);
394
+ }
395
+
392
396
  updateClassNames(calendarRef.current, prefix); //for simple date picker w/o calendar; initial mount may not have value
393
397
  } else if (!calendarRef.current && value) {
394
398
  startInputField.current.value = value;
@@ -423,6 +427,11 @@ DatePicker.propTypes = {
423
427
  */
424
428
  className: PropTypes__default["default"].string,
425
429
 
430
+ /**
431
+ * flatpickr prop passthrough. Controls whether the calendar dropdown closes upon selection.
432
+ */
433
+ closeOnSelect: PropTypes__default["default"].bool,
434
+
426
435
  /**
427
436
  * The date format.
428
437
  */
@@ -253,7 +253,7 @@ _rollupPluginBabelHelpers.defineProperty(FileUploader, "propTypes", {
253
253
  iconDescription: FeatureFlags__namespace.enabled('enable-v11-release') ? PropTypes__default["default"].string.isRequired : PropTypes__default["default"].string,
254
254
 
255
255
  /**
256
- * Specify the description text of this <FileUploader>
256
+ * Specify the description text of this `<FileUploader>`
257
257
  */
258
258
  labelDescription: PropTypes__default["default"].string,
259
259
 
@@ -175,7 +175,7 @@ FileUploaderButton.propTypes = {
175
175
  disabled: PropTypes__default["default"].bool,
176
176
 
177
177
  /**
178
- * Provide a unique id for the underlying <input> node
178
+ * Provide a unique id for the underlying `<input>` node
179
179
  */
180
180
  id: PropTypes__default["default"].string,
181
181
 
@@ -78,7 +78,7 @@ Filename.propTypes = {
78
78
  status: PropTypes__default["default"].oneOf(['edit', 'complete', 'uploading']),
79
79
 
80
80
  /**
81
- * Provide a custom tabIndex value for the <Filename>
81
+ * Provide a custom tabIndex value for the `<Filename>`
82
82
  */
83
83
  tabIndex: PropTypes__default["default"].string
84
84
  };
@@ -32,7 +32,7 @@ var Form = function Form(_ref) {
32
32
  var classNames = cx__default["default"]("".concat(prefix, "--form"), className);
33
33
  return /*#__PURE__*/React__default["default"].createElement("form", _rollupPluginBabelHelpers["extends"]({
34
34
  className: classNames
35
- }, other), ' ', children, ' ');
35
+ }, other), children);
36
36
  };
37
37
 
38
38
  Form.propTypes = {
@@ -31,7 +31,7 @@ var FormGroup = function FormGroup(_ref) {
31
31
  className = _ref.className,
32
32
  message = _ref.message,
33
33
  messageText = _ref.messageText,
34
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
34
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
35
35
 
36
36
  var prefix = usePrefix.usePrefix();
37
37
  var classNamesFieldset = cx__default["default"]("".concat(prefix, "--fieldset"), className);
@@ -39,11 +39,11 @@ var FormGroup = function FormGroup(_ref) {
39
39
  'data-invalid': ''
40
40
  }, {
41
41
  className: classNamesFieldset
42
- }, other, {
43
- "aria-labelledby": other['aria-labelledby'] || legendId
42
+ }, rest, {
43
+ "aria-labelledby": rest['aria-labelledby'] || legendId
44
44
  }), /*#__PURE__*/React__default["default"].createElement("legend", {
45
45
  className: "".concat(prefix, "--label"),
46
- id: legendId || other['aria-labelledby']
46
+ id: legendId || rest['aria-labelledby']
47
47
  }, legendText), children, message ? /*#__PURE__*/React__default["default"].createElement("div", {
48
48
  className: "".concat(prefix, "--form__requirements")
49
49
  }, messageText) : null);
@@ -23,17 +23,17 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
24
  var _excluded = ["className", "children"];
25
25
 
26
- var FormItem = function FormItem(_ref) {
26
+ function FormItem(_ref) {
27
27
  var className = _ref.className,
28
28
  children = _ref.children,
29
- other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
29
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
30
30
 
31
31
  var prefix = usePrefix.usePrefix();
32
32
  var classNames = cx__default["default"]("".concat(prefix, "--form-item"), className);
33
33
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
34
34
  className: classNames
35
- }, other), children);
36
- };
35
+ }, rest), children);
36
+ }
37
37
 
38
38
  FormItem.propTypes = {
39
39
  /**
@@ -46,6 +46,5 @@ FormItem.propTypes = {
46
46
  */
47
47
  className: PropTypes__default["default"].string
48
48
  };
49
- var FormItem$1 = FormItem;
50
49
 
51
- exports["default"] = FormItem$1;
50
+ exports["default"] = FormItem;
@@ -25,6 +25,18 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
25
  var _excluded = ["as", "className", "children", "level"];
26
26
  var levels = ['one', 'two', 'three'];
27
27
  var MAX_LEVEL = levels.length - 1;
28
+ /**
29
+ * A custom hook that will return information about the current layer. A common
30
+ * field to pull from this is the `level` for the layer that the component that
31
+ * calls this hook is currently in
32
+ */
33
+
34
+ function useLayer() {
35
+ var level = React__default["default"].useContext(LayerContext.LayerContext);
36
+ return {
37
+ level: level
38
+ };
39
+ }
28
40
  function Layer(_ref) {
29
41
  var _ref$as = _ref.as,
30
42
  BaseComponent = _ref$as === void 0 ? 'div' : _ref$as,
@@ -70,3 +82,4 @@ Layer.propTypes = {
70
82
  };
71
83
 
72
84
  exports.Layer = Layer;
85
+ exports.useLayer = useLayer;
@@ -28,9 +28,12 @@ var Link = /*#__PURE__*/React__default["default"].forwardRef(function Link(_ref,
28
28
  var children = _ref.children,
29
29
  customClassName = _ref.className,
30
30
  href = _ref.href,
31
- disabled = _ref.disabled,
32
- inline = _ref.inline,
33
- visited = _ref.visited,
31
+ _ref$disabled = _ref.disabled,
32
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
33
+ _ref$inline = _ref.inline,
34
+ inline = _ref$inline === void 0 ? false : _ref$inline,
35
+ _ref$visited = _ref.visited,
36
+ visited = _ref$visited === void 0 ? false : _ref$visited,
34
37
  Icon = _ref.renderIcon,
35
38
  size = _ref.size,
36
39
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);