@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.
- package/es/components/ComposedModal/ComposedModal.js +2 -1
- package/es/components/ComposedModal/next/ComposedModal.js +2 -1
- package/es/components/DataTable/TableToolbarSearch.js +10 -2
- package/es/components/DatePicker/DatePicker.js +14 -5
- package/es/components/FileUploader/FileUploader.js +1 -1
- package/es/components/FileUploader/FileUploaderButton.js +1 -1
- package/es/components/FileUploader/Filename.js +1 -1
- package/es/components/Form/Form.js +1 -1
- package/es/components/FormGroup/FormGroup.js +4 -4
- package/es/components/FormItem/FormItem.js +5 -6
- package/es/components/Layer/index.js +13 -1
- package/es/components/Link/Link.js +6 -3
- package/es/components/ListBox/ListBoxPropTypes.js +1 -2
- package/es/components/ListBox/ListBoxSelection.js +3 -4
- package/es/components/OverflowMenu/OverflowMenu.js +0 -1
- package/es/components/Popover/index.js +137 -8
- package/es/components/RadioButton/next/RadioButton.js +2 -1
- package/es/components/Select/Select.js +14 -7
- package/es/components/Tabs/next/Tabs.js +42 -4
- package/es/components/Toggle/Toggle.js +147 -109
- package/es/components/UIShell/HeaderMenu.js +1 -1
- package/es/components/UIShell/HeaderMenuButton.js +3 -4
- package/es/components/UIShell/HeaderName.js +3 -4
- package/es/components/UIShell/HeaderNavigation.js +27 -75
- package/es/components/UIShell/SideNav.js +3 -3
- package/es/components/UIShell/SideNavFooter.js +3 -10
- package/es/components/UIShell/SideNavIcon.js +3 -4
- package/es/components/UIShell/SideNavItem.js +4 -5
- package/es/components/UIShell/SideNavLink.js +0 -6
- package/es/components/UIShell/SideNavLinkText.js +3 -4
- package/es/components/UIShell/SideNavMenu.js +93 -131
- package/es/components/UIShell/SideNavSwitcher.js +4 -2
- package/es/components/UIShell/SkipToContent.js +3 -4
- package/es/index.js +13 -11
- package/lib/components/ComposedModal/ComposedModal.js +2 -1
- package/lib/components/ComposedModal/next/ComposedModal.js +2 -1
- package/lib/components/DataTable/TableToolbarSearch.js +10 -2
- package/lib/components/DatePicker/DatePicker.js +14 -5
- package/lib/components/FileUploader/FileUploader.js +1 -1
- package/lib/components/FileUploader/FileUploaderButton.js +1 -1
- package/lib/components/FileUploader/Filename.js +1 -1
- package/lib/components/Form/Form.js +1 -1
- package/lib/components/FormGroup/FormGroup.js +4 -4
- package/lib/components/FormItem/FormItem.js +5 -6
- package/lib/components/Layer/index.js +13 -0
- package/lib/components/Link/Link.js +6 -3
- package/lib/components/ListBox/ListBoxPropTypes.js +1 -21
- package/lib/components/ListBox/ListBoxSelection.js +3 -4
- package/lib/components/OverflowMenu/OverflowMenu.js +0 -1
- package/lib/components/Popover/index.js +135 -6
- package/lib/components/RadioButton/next/RadioButton.js +2 -1
- package/lib/components/Select/Select.js +14 -7
- package/lib/components/Tabs/next/Tabs.js +42 -4
- package/lib/components/Toggle/Toggle.js +146 -107
- package/lib/components/UIShell/HeaderMenu.js +1 -1
- package/lib/components/UIShell/HeaderMenuButton.js +3 -4
- package/lib/components/UIShell/HeaderName.js +3 -4
- package/lib/components/UIShell/HeaderNavigation.js +25 -73
- package/lib/components/UIShell/SideNav.js +3 -3
- package/lib/components/UIShell/SideNavFooter.js +3 -10
- package/lib/components/UIShell/SideNavIcon.js +3 -4
- package/lib/components/UIShell/SideNavItem.js +4 -5
- package/lib/components/UIShell/SideNavLink.js +0 -6
- package/lib/components/UIShell/SideNavLinkText.js +3 -4
- package/lib/components/UIShell/SideNavMenu.js +89 -128
- package/lib/components/UIShell/SideNavSwitcher.js +4 -2
- package/lib/components/UIShell/SkipToContent.js +3 -4
- package/lib/index.js +86 -82
- package/package.json +3 -3
- package/es/components/Toggle/index.js +0 -19
- package/es/components/Toggle/next/Toggle.js +0 -158
- package/es/components/UIShell/index.js +0 -17
- package/es/components/UIShell/next/HeaderNavigation.js +0 -52
- package/es/components/UIShell/next/SideNavMenu.js +0 -160
- package/lib/components/Toggle/index.js +0 -23
- package/lib/components/Toggle/next/Toggle.js +0 -169
- package/lib/components/UIShell/index.js +0 -42
- package/lib/components/UIShell/next/HeaderNavigation.js +0 -62
- package/lib/components/UIShell/next/SideNavMenu.js +0 -170
|
@@ -10,33 +10,13 @@
|
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
11
|
|
|
12
12
|
var PropTypes = require('prop-types');
|
|
13
|
-
var FeatureFlags = require('@carbon/feature-flags');
|
|
14
13
|
|
|
15
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
15
|
|
|
17
|
-
function _interopNamespace(e) {
|
|
18
|
-
if (e && e.__esModule) return e;
|
|
19
|
-
var n = Object.create(null);
|
|
20
|
-
if (e) {
|
|
21
|
-
Object.keys(e).forEach(function (k) {
|
|
22
|
-
if (k !== 'default') {
|
|
23
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
24
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () { return e[k]; }
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
n["default"] = e;
|
|
32
|
-
return Object.freeze(n);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
16
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
36
|
-
var FeatureFlags__namespace = /*#__PURE__*/_interopNamespace(FeatureFlags);
|
|
37
17
|
|
|
38
18
|
var ListBoxType = PropTypes__default["default"].oneOf(['default', 'inline']);
|
|
39
|
-
var ListBoxSize =
|
|
19
|
+
var ListBoxSize = PropTypes__default["default"].oneOf(['sm', 'md', 'lg']);
|
|
40
20
|
|
|
41
21
|
exports.ListBoxSize = ListBoxSize;
|
|
42
22
|
exports.ListBoxType = ListBoxType;
|
|
@@ -31,7 +31,7 @@ var _Close, _Close2, _defaultTranslations;
|
|
|
31
31
|
* selection.
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
function ListBoxSelection(_ref) {
|
|
35
35
|
var _cx;
|
|
36
36
|
|
|
37
37
|
var clearSelection = _ref.clearSelection,
|
|
@@ -98,7 +98,7 @@ var ListBoxSelection = function ListBoxSelection(_ref) {
|
|
|
98
98
|
"aria-label": description,
|
|
99
99
|
title: description
|
|
100
100
|
}, selectionCount, _Close2 || (_Close2 = /*#__PURE__*/React__default["default"].createElement(iconsReact.Close, null)));
|
|
101
|
-
}
|
|
101
|
+
}
|
|
102
102
|
|
|
103
103
|
var translationIds = {
|
|
104
104
|
'clear.all': 'clear.all',
|
|
@@ -153,7 +153,6 @@ ListBoxSelection.defaultProps = {
|
|
|
153
153
|
return defaultTranslations[id];
|
|
154
154
|
}
|
|
155
155
|
};
|
|
156
|
-
var ListBoxSelection$1 = ListBoxSelection;
|
|
157
156
|
|
|
158
|
-
exports["default"] = ListBoxSelection
|
|
157
|
+
exports["default"] = ListBoxSelection;
|
|
159
158
|
exports.translationIds = translationIds;
|
|
@@ -539,7 +539,6 @@ _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "defaultProps", {
|
|
|
539
539
|
onOpen: function onOpen() {},
|
|
540
540
|
menuOffset: getMenuOffset,
|
|
541
541
|
menuOffsetFlip: getMenuOffset,
|
|
542
|
-
light: false,
|
|
543
542
|
selectorPrimaryFocus: '[data-overflow-menu-primary-focus]'
|
|
544
543
|
});
|
|
545
544
|
|
|
@@ -13,6 +13,8 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var cx = require('classnames');
|
|
14
14
|
var PropTypes = require('prop-types');
|
|
15
15
|
var React = require('react');
|
|
16
|
+
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
17
|
+
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
16
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
17
19
|
|
|
18
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -21,15 +23,22 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
21
23
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
22
24
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
25
|
|
|
24
|
-
var _excluded = ["align", "as", "caret", "className", "children", "dropShadow", "highContrast", "open"],
|
|
26
|
+
var _excluded = ["align", "as", "autoAlign", "caret", "className", "children", "dropShadow", "highContrast", "open"],
|
|
25
27
|
_excluded2 = ["className", "children"];
|
|
26
|
-
var
|
|
28
|
+
var PopoverContext = /*#__PURE__*/React__default["default"].createContext({
|
|
29
|
+
floating: {
|
|
30
|
+
current: null
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
var Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popover(props, forwardRef) {
|
|
27
34
|
var _cx;
|
|
28
35
|
|
|
29
36
|
var _props$align = props.align,
|
|
30
37
|
align = _props$align === void 0 ? 'bottom' : _props$align,
|
|
31
38
|
_props$as = props.as,
|
|
32
39
|
BaseComponent = _props$as === void 0 ? 'span' : _props$as,
|
|
40
|
+
_props$autoAlign = props.autoAlign,
|
|
41
|
+
autoAlign = _props$autoAlign === void 0 ? false : _props$autoAlign,
|
|
33
42
|
_props$caret = props.caret,
|
|
34
43
|
caret = _props$caret === void 0 ? true : _props$caret,
|
|
35
44
|
customClassName = props.className,
|
|
@@ -42,11 +51,121 @@ var Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popover
|
|
|
42
51
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
|
|
43
52
|
|
|
44
53
|
var prefix = usePrefix.usePrefix();
|
|
45
|
-
var
|
|
46
|
-
|
|
54
|
+
var floating = React.useRef();
|
|
55
|
+
var popover = React.useRef();
|
|
56
|
+
var value = React.useMemo(function () {
|
|
57
|
+
return {
|
|
58
|
+
floating: floating
|
|
59
|
+
};
|
|
60
|
+
}, []);
|
|
61
|
+
var ref = useMergedRefs.useMergedRefs([forwardRef, popover]);
|
|
62
|
+
|
|
63
|
+
var _useState = React.useState(false),
|
|
64
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
65
|
+
autoAligned = _useState2[0],
|
|
66
|
+
setAutoAligned = _useState2[1];
|
|
67
|
+
|
|
68
|
+
var _useState3 = React.useState(align),
|
|
69
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
70
|
+
autoAlignment = _useState4[0],
|
|
71
|
+
setAutoAlignment = _useState4[1];
|
|
72
|
+
|
|
73
|
+
var className = cx__default["default"]((_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover-container"), true), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover--caret"), caret), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover--drop-shadow"), dropShadow), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover--high-contrast"), highContrast), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover--open"), open), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover--").concat(autoAlignment), autoAligned), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--popover--").concat(align), !autoAligned), _rollupPluginBabelHelpers.defineProperty(_cx, customClassName, !!customClassName), _cx));
|
|
74
|
+
useIsomorphicEffect["default"](function () {
|
|
75
|
+
if (!autoAlign) {
|
|
76
|
+
setAutoAligned(false);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (!floating.current) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (autoAligned === true) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
var rect = floating.current.getBoundingClientRect(); // The conditions, per side, of when the popover is not visible, excluding the popover's internal padding(16)
|
|
89
|
+
|
|
90
|
+
var conditions = {
|
|
91
|
+
left: rect.x < -16,
|
|
92
|
+
top: rect.y < -16,
|
|
93
|
+
right: rect.x + (rect.width - 16) > document.documentElement.clientWidth,
|
|
94
|
+
bottom: rect.y + (rect.height - 16) > document.documentElement.clientHeight
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
if (!conditions.left && !conditions.top && !conditions.right && !conditions.bottom) {
|
|
98
|
+
setAutoAligned(false);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
var alignments = ['top', 'top-left', 'right-bottom', 'right', 'right-top', 'bottom-left', 'bottom', 'bottom-right', 'left-top', 'left', 'left-bottom', 'top-right']; // Creates the prioritized list of options depending on ideal alignment coming from `align`
|
|
103
|
+
|
|
104
|
+
var options = [align];
|
|
105
|
+
var option = alignments[(alignments.indexOf(align) + 1) % alignments.length];
|
|
106
|
+
|
|
107
|
+
while (option) {
|
|
108
|
+
if (options.includes(option)) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
options.push(option);
|
|
113
|
+
option = alignments[(alignments.indexOf(option) + 1) % alignments.length];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function isVisible(alignment) {
|
|
117
|
+
popover.current.classList.add("".concat(prefix, "--popover--").concat(alignment));
|
|
118
|
+
var rect = floating.current.getBoundingClientRect(); // Check if popover is not visible to the left of the screen
|
|
119
|
+
|
|
120
|
+
if (rect.x < -16) {
|
|
121
|
+
popover.current.classList.remove("".concat(prefix, "--popover--").concat(alignment));
|
|
122
|
+
return false;
|
|
123
|
+
} // Check if popover is not visible at the top of the screen
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
if (rect.y < -16) {
|
|
127
|
+
popover.current.classList.remove("".concat(prefix, "--popover--").concat(alignment));
|
|
128
|
+
return false;
|
|
129
|
+
} // Check if popover is not visible to right of screen
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
if (rect.x + (rect.width - 16) > document.documentElement.clientWidth) {
|
|
133
|
+
popover.current.classList.remove("".concat(prefix, "--popover--").concat(alignment));
|
|
134
|
+
return false;
|
|
135
|
+
} // Check if popover is not visible to bottom of screen
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
if (rect.y + (rect.height - 16) > document.documentElement.clientHeight) {
|
|
139
|
+
popover.current.classList.remove("".concat(prefix, "--popover--").concat(alignment));
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
popover.current.classList.remove("".concat(prefix, "--popover--").concat(alignment));
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
var alignment = null;
|
|
148
|
+
|
|
149
|
+
for (var i = 0; i < options.length; i++) {
|
|
150
|
+
var _option = options[i];
|
|
151
|
+
|
|
152
|
+
if (isVisible(_option)) {
|
|
153
|
+
alignment = _option;
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
if (alignment) {
|
|
159
|
+
setAutoAligned(true);
|
|
160
|
+
setAutoAlignment(alignment);
|
|
161
|
+
}
|
|
162
|
+
}, [autoAligned, align, autoAlign, prefix]);
|
|
163
|
+
return /*#__PURE__*/React__default["default"].createElement(PopoverContext.Provider, {
|
|
164
|
+
value: value
|
|
165
|
+
}, /*#__PURE__*/React__default["default"].createElement(BaseComponent, _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
47
166
|
className: className,
|
|
48
167
|
ref: ref
|
|
49
|
-
}), children);
|
|
168
|
+
}), children));
|
|
50
169
|
}); // Note: this displayName is temporarily set so that Storybook ArgTable
|
|
51
170
|
// correctly displays the name of this component
|
|
52
171
|
|
|
@@ -66,6 +185,11 @@ Popover.propTypes = {
|
|
|
66
185
|
*/
|
|
67
186
|
as: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].elementType]),
|
|
68
187
|
|
|
188
|
+
/**
|
|
189
|
+
* Will auto-align the popover on first render if it is not visible. This prop is currently experimental and is subject to futurue changes.
|
|
190
|
+
*/
|
|
191
|
+
autoAlign: PropTypes__default["default"].bool,
|
|
192
|
+
|
|
69
193
|
/**
|
|
70
194
|
* Specify whether a caret should be rendered
|
|
71
195
|
*/
|
|
@@ -97,12 +221,17 @@ Popover.propTypes = {
|
|
|
97
221
|
*/
|
|
98
222
|
open: PropTypes__default["default"].bool.isRequired
|
|
99
223
|
};
|
|
100
|
-
var PopoverContent = /*#__PURE__*/React__default["default"].forwardRef(function PopoverContent(_ref,
|
|
224
|
+
var PopoverContent = /*#__PURE__*/React__default["default"].forwardRef(function PopoverContent(_ref, forwardRef) {
|
|
101
225
|
var className = _ref.className,
|
|
102
226
|
children = _ref.children,
|
|
103
227
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded2);
|
|
104
228
|
|
|
105
229
|
var prefix = usePrefix.usePrefix();
|
|
230
|
+
|
|
231
|
+
var _React$useContext = React__default["default"].useContext(PopoverContext),
|
|
232
|
+
floating = _React$useContext.floating;
|
|
233
|
+
|
|
234
|
+
var ref = useMergedRefs.useMergedRefs([floating, forwardRef]);
|
|
106
235
|
return /*#__PURE__*/React__default["default"].createElement("span", _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
107
236
|
className: "".concat(prefix, "--popover")
|
|
108
237
|
}), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
@@ -60,7 +60,8 @@ var RadioButton = /*#__PURE__*/React__default["default"].forwardRef(function Rad
|
|
|
60
60
|
id: uniqueId,
|
|
61
61
|
ref: ref,
|
|
62
62
|
disabled: disabled,
|
|
63
|
-
value: value
|
|
63
|
+
value: value,
|
|
64
|
+
name: name
|
|
64
65
|
})), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
65
66
|
htmlFor: uniqueId,
|
|
66
67
|
className: "".concat(prefix, "--radio-button__label")
|
|
@@ -30,18 +30,25 @@ var Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_
|
|
|
30
30
|
|
|
31
31
|
var className = _ref.className,
|
|
32
32
|
id = _ref.id,
|
|
33
|
-
inline = _ref.inline,
|
|
33
|
+
_ref$inline = _ref.inline,
|
|
34
|
+
inline = _ref$inline === void 0 ? false : _ref$inline,
|
|
34
35
|
labelText = _ref.labelText,
|
|
35
|
-
disabled = _ref.disabled,
|
|
36
|
+
_ref$disabled = _ref.disabled,
|
|
37
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
36
38
|
children = _ref.children,
|
|
37
|
-
noLabel = _ref.noLabel,
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
_ref$noLabel = _ref.noLabel,
|
|
40
|
+
noLabel = _ref$noLabel === void 0 ? false : _ref$noLabel,
|
|
41
|
+
_ref$hideLabel = _ref.hideLabel,
|
|
42
|
+
hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
|
|
43
|
+
_ref$invalid = _ref.invalid,
|
|
44
|
+
invalid = _ref$invalid === void 0 ? false : _ref$invalid,
|
|
40
45
|
invalidText = _ref.invalidText,
|
|
41
46
|
helperText = _ref.helperText,
|
|
42
|
-
light = _ref.light,
|
|
47
|
+
_ref$light = _ref.light,
|
|
48
|
+
light = _ref$light === void 0 ? false : _ref$light,
|
|
43
49
|
size = _ref.size,
|
|
44
|
-
warn = _ref.warn,
|
|
50
|
+
_ref$warn = _ref.warn,
|
|
51
|
+
warn = _ref$warn === void 0 ? false : _ref$warn,
|
|
45
52
|
warnText = _ref.warnText,
|
|
46
53
|
other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
47
54
|
|
|
@@ -608,6 +608,11 @@ var TabPanel = /*#__PURE__*/React__default["default"].forwardRef(function TabPan
|
|
|
608
608
|
tabIndex = _useState8[0],
|
|
609
609
|
setTabIndex = _useState8[1];
|
|
610
610
|
|
|
611
|
+
var _useState9 = React.useState(false),
|
|
612
|
+
_useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
|
|
613
|
+
interactiveContent = _useState10[0],
|
|
614
|
+
setInteractiveContent = _useState10[1];
|
|
615
|
+
|
|
611
616
|
var _React$useContext3 = React__default["default"].useContext(TabsContext),
|
|
612
617
|
selectedIndex = _React$useContext3.selectedIndex,
|
|
613
618
|
baseId = _React$useContext3.baseId;
|
|
@@ -615,14 +620,47 @@ var TabPanel = /*#__PURE__*/React__default["default"].forwardRef(function TabPan
|
|
|
615
620
|
var index = React__default["default"].useContext(TabPanelContext);
|
|
616
621
|
var id = "".concat(baseId, "-tabpanel-").concat(index);
|
|
617
622
|
var tabId = "".concat(baseId, "-tab-").concat(index);
|
|
618
|
-
var className = cx__default["default"]("".concat(prefix, "--tab-content"), customClassName
|
|
623
|
+
var className = cx__default["default"]("".concat(prefix, "--tab-content"), customClassName, _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--tab-content--interactive"), interactiveContent));
|
|
624
|
+
useEffectOnce.useEffectOnce(function () {
|
|
625
|
+
if (!panel.current) {
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
619
628
|
|
|
620
|
-
|
|
621
|
-
var interactiveContent = useNoInteractiveChildren.getInteractiveContent(panel.current);
|
|
629
|
+
var content = useNoInteractiveChildren.getInteractiveContent(panel.current);
|
|
622
630
|
|
|
623
|
-
if (
|
|
631
|
+
if (content) {
|
|
632
|
+
setInteractiveContent(true);
|
|
624
633
|
setTabIndex('-1');
|
|
625
634
|
}
|
|
635
|
+
}); // tabindex should only be 0 if no interactive content in children
|
|
636
|
+
|
|
637
|
+
React.useEffect(function () {
|
|
638
|
+
if (!panel.current) {
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
var node = panel.current;
|
|
643
|
+
|
|
644
|
+
function callback() {
|
|
645
|
+
var content = useNoInteractiveChildren.getInteractiveContent(node);
|
|
646
|
+
|
|
647
|
+
if (content) {
|
|
648
|
+
setInteractiveContent(true);
|
|
649
|
+
setTabIndex('-1');
|
|
650
|
+
} else {
|
|
651
|
+
setInteractiveContent(false);
|
|
652
|
+
setTabIndex('0');
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
var observer = new MutationObserver(callback);
|
|
657
|
+
observer.observe(node, {
|
|
658
|
+
childList: true,
|
|
659
|
+
subtree: true
|
|
660
|
+
});
|
|
661
|
+
return function () {
|
|
662
|
+
observer.disconnect(node);
|
|
663
|
+
};
|
|
626
664
|
}, []);
|
|
627
665
|
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
628
666
|
"aria-labelledby": tabId,
|
|
@@ -10,121 +10,160 @@
|
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
11
|
|
|
12
12
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
|
-
var PropTypes = require('prop-types');
|
|
14
13
|
var React = require('react');
|
|
14
|
+
var PropTypes = require('prop-types');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
var
|
|
16
|
+
var useControllableState = require('../../internal/useControllableState.js');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
|
-
var match = require('../../internal/keyboard/match.js');
|
|
19
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
20
18
|
|
|
21
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
20
|
|
|
23
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
24
21
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
25
23
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
26
24
|
|
|
27
|
-
var _path
|
|
28
|
-
|
|
29
|
-
var _excluded = ["className", "defaultToggled", "
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (typeof toggled !== 'undefined') {
|
|
68
|
-
checkedProps.checked = toggled;
|
|
69
|
-
} else {
|
|
70
|
-
checkedProps.defaultChecked = defaultToggled;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
74
|
-
className: wrapperClasses
|
|
75
|
-
}, /*#__PURE__*/React__default["default"].createElement("input", _rollupPluginBabelHelpers["extends"]({}, other, checkedProps, {
|
|
76
|
-
"aria-label": null,
|
|
77
|
-
type: "checkbox",
|
|
78
|
-
id: id,
|
|
79
|
-
className: toggleClasses,
|
|
80
|
-
onChange: function onChange(evt) {
|
|
81
|
-
_onChange && _onChange(evt);
|
|
82
|
-
onToggle(input.checked, id, evt);
|
|
83
|
-
},
|
|
84
|
-
ref: function ref(el) {
|
|
85
|
-
input = el;
|
|
86
|
-
},
|
|
87
|
-
onKeyUp: function onKeyUp(evt) {
|
|
88
|
-
if (match.match(evt, keys.Enter)) {
|
|
89
|
-
input.checked = !input.checked;
|
|
90
|
-
_onChange && _onChange(evt);
|
|
91
|
-
onToggle(input.checked, id, evt);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
})), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
95
|
-
className: "".concat(prefix, "--toggle-input__label"),
|
|
96
|
-
htmlFor: id,
|
|
97
|
-
"aria-label": typeof labelText === 'string' ? null : this.props['aria-label']
|
|
98
|
-
}, labelText, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
99
|
-
className: "".concat(prefix, "--toggle__switch")
|
|
100
|
-
}, size && /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
101
|
-
className: "".concat(prefix, "--toggle__check"),
|
|
102
|
-
width: "6px",
|
|
103
|
-
height: "5px",
|
|
104
|
-
viewBox: "0 0 6 5"
|
|
105
|
-
}, _path || (_path = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
106
|
-
d: "M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"
|
|
107
|
-
}))), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
108
|
-
className: "".concat(prefix, "--toggle__text--off"),
|
|
109
|
-
"aria-hidden": "true"
|
|
110
|
-
}, labelA), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
111
|
-
className: "".concat(prefix, "--toggle__text--on"),
|
|
112
|
-
"aria-hidden": "true"
|
|
113
|
-
}, labelB))));
|
|
25
|
+
var _path;
|
|
26
|
+
|
|
27
|
+
var _excluded = ["className", "defaultToggled", "disabled", "hideLabel", "id", "labelA", "labelB", "labelText", "onClick", "onToggle", "size", "toggled"];
|
|
28
|
+
function Toggle(_ref) {
|
|
29
|
+
var className = _ref.className,
|
|
30
|
+
_ref$defaultToggled = _ref.defaultToggled,
|
|
31
|
+
defaultToggled = _ref$defaultToggled === void 0 ? false : _ref$defaultToggled,
|
|
32
|
+
_ref$disabled = _ref.disabled,
|
|
33
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
34
|
+
_ref$hideLabel = _ref.hideLabel,
|
|
35
|
+
hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
|
|
36
|
+
id = _ref.id,
|
|
37
|
+
_ref$labelA = _ref.labelA,
|
|
38
|
+
labelA = _ref$labelA === void 0 ? 'Off' : _ref$labelA,
|
|
39
|
+
_ref$labelB = _ref.labelB,
|
|
40
|
+
labelB = _ref$labelB === void 0 ? 'On' : _ref$labelB,
|
|
41
|
+
labelText = _ref.labelText,
|
|
42
|
+
onClick = _ref.onClick,
|
|
43
|
+
onToggle = _ref.onToggle,
|
|
44
|
+
_ref$size = _ref.size,
|
|
45
|
+
size = _ref$size === void 0 ? 'md' : _ref$size,
|
|
46
|
+
toggled = _ref.toggled,
|
|
47
|
+
other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
48
|
+
|
|
49
|
+
var prefix = usePrefix.usePrefix();
|
|
50
|
+
|
|
51
|
+
var _useControllableState = useControllableState.useControllableState({
|
|
52
|
+
value: toggled,
|
|
53
|
+
onChange: onToggle,
|
|
54
|
+
defaultValue: defaultToggled
|
|
55
|
+
}),
|
|
56
|
+
_useControllableState2 = _rollupPluginBabelHelpers.slicedToArray(_useControllableState, 2),
|
|
57
|
+
checked = _useControllableState2[0],
|
|
58
|
+
setChecked = _useControllableState2[1];
|
|
59
|
+
|
|
60
|
+
function handleClick(e) {
|
|
61
|
+
setChecked(!checked);
|
|
62
|
+
|
|
63
|
+
if (onClick) {
|
|
64
|
+
onClick(e);
|
|
114
65
|
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return Toggle;
|
|
118
|
-
}(React__default["default"].Component);
|
|
119
|
-
|
|
120
|
-
_rollupPluginBabelHelpers.defineProperty(Toggle, "propTypes", (_defineProperty2 = {}, _rollupPluginBabelHelpers.defineProperty(_defineProperty2, 'aria-label', PropTypes__default["default"].string.isRequired), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "className", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "defaultToggled", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "id", PropTypes__default["default"].string.isRequired), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "labelA", PropTypes__default["default"].node.isRequired), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "labelB", PropTypes__default["default"].node.isRequired), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "labelText", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "onChange", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "onToggle", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "size", PropTypes__default["default"].oneOf(['sm', 'md'])), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "toggled", PropTypes__default["default"].bool), _defineProperty2));
|
|
121
|
-
|
|
122
|
-
_rollupPluginBabelHelpers.defineProperty(Toggle, "contextType", usePrefix.PrefixContext);
|
|
123
|
-
|
|
124
|
-
_rollupPluginBabelHelpers.defineProperty(Toggle, "defaultProps", (_defineProperty3 = {
|
|
125
|
-
defaultToggled: false
|
|
126
|
-
}, _rollupPluginBabelHelpers.defineProperty(_defineProperty3, 'aria-label', 'Toggle'), _rollupPluginBabelHelpers.defineProperty(_defineProperty3, "labelA", 'Off'), _rollupPluginBabelHelpers.defineProperty(_defineProperty3, "labelB", 'On'), _rollupPluginBabelHelpers.defineProperty(_defineProperty3, "onToggle", function onToggle() {}), _defineProperty3));
|
|
127
|
-
|
|
128
|
-
var ToggleClassic = Toggle;
|
|
66
|
+
}
|
|
129
67
|
|
|
130
|
-
|
|
68
|
+
var isSm = size === 'sm';
|
|
69
|
+
var sideLabel = hideLabel ? labelText : checked ? labelB : labelA;
|
|
70
|
+
var wrapperClasses = cx__default["default"]("".concat(prefix, "--toggle"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--toggle--disabled"), disabled), className);
|
|
71
|
+
var labelTextClasses = cx__default["default"]("".concat(prefix, "--toggle__label-text"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--visually-hidden"), hideLabel));
|
|
72
|
+
var appearanceClasses = cx__default["default"]("".concat(prefix, "--toggle__appearance"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--toggle__appearance--sm"), isSm));
|
|
73
|
+
var switchClasses = cx__default["default"]("".concat(prefix, "--toggle__switch"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--toggle__switch--checked"), checked));
|
|
74
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
75
|
+
className: wrapperClasses
|
|
76
|
+
}, /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({}, other, {
|
|
77
|
+
id: id,
|
|
78
|
+
className: "".concat(prefix, "--toggle__button"),
|
|
79
|
+
role: "switch",
|
|
80
|
+
type: "button",
|
|
81
|
+
"aria-checked": checked,
|
|
82
|
+
disabled: disabled,
|
|
83
|
+
onClick: handleClick
|
|
84
|
+
})), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
85
|
+
htmlFor: id,
|
|
86
|
+
className: "".concat(prefix, "--toggle__label")
|
|
87
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
88
|
+
className: labelTextClasses
|
|
89
|
+
}, labelText), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
90
|
+
className: appearanceClasses
|
|
91
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
92
|
+
className: switchClasses
|
|
93
|
+
}, isSm && /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
94
|
+
className: "".concat(prefix, "--toggle__check"),
|
|
95
|
+
width: "6px",
|
|
96
|
+
height: "5px",
|
|
97
|
+
viewBox: "0 0 6 5"
|
|
98
|
+
}, _path || (_path = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
99
|
+
d: "M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"
|
|
100
|
+
})))), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
101
|
+
className: "".concat(prefix, "--toggle__text"),
|
|
102
|
+
"aria-hidden": "true"
|
|
103
|
+
}, sideLabel))));
|
|
104
|
+
}
|
|
105
|
+
Toggle.propTypes = {
|
|
106
|
+
/**
|
|
107
|
+
* Specify a custom className to apply to the form-item node
|
|
108
|
+
*/
|
|
109
|
+
className: PropTypes__default["default"].string,
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Specify whether the toggle should be on by default
|
|
113
|
+
*/
|
|
114
|
+
defaultToggled: PropTypes__default["default"].bool,
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Whether this control should be disabled
|
|
118
|
+
*/
|
|
119
|
+
disabled: PropTypes__default["default"].bool,
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Specify whether the label should be hidden, or not
|
|
123
|
+
*/
|
|
124
|
+
hideLabel: PropTypes__default["default"].bool,
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Provide an id that unique represents the underlying `<button>`
|
|
128
|
+
*/
|
|
129
|
+
id: PropTypes__default["default"].string.isRequired,
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Specify the label for the "off" position
|
|
133
|
+
*/
|
|
134
|
+
labelA: PropTypes__default["default"].node,
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Specify the label for the "on" position
|
|
138
|
+
*/
|
|
139
|
+
labelB: PropTypes__default["default"].node,
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Provide the text that will be read by a screen reader when visiting this
|
|
143
|
+
* control
|
|
144
|
+
*/
|
|
145
|
+
labelText: PropTypes__default["default"].node.isRequired,
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Provide an event listener that is called when the control is clicked
|
|
149
|
+
*/
|
|
150
|
+
onClick: PropTypes__default["default"].func,
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Provide an event listener that is called when the control is toggled
|
|
154
|
+
*/
|
|
155
|
+
onToggle: PropTypes__default["default"].func,
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Specify the size of the Toggle. Currently only supports 'sm' or 'md' (default)
|
|
159
|
+
*/
|
|
160
|
+
size: PropTypes__default["default"].oneOf(['sm', 'md']),
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Specify whether the control is toggled
|
|
164
|
+
*/
|
|
165
|
+
toggled: PropTypes__default["default"].bool
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
exports.Toggle = Toggle;
|
|
169
|
+
exports["default"] = Toggle;
|
|
@@ -173,7 +173,7 @@ var HeaderMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
173
173
|
'aria-label': ariaLabel,
|
|
174
174
|
'aria-labelledby': ariaLabelledBy
|
|
175
175
|
};
|
|
176
|
-
var className = cx__default["default"]((_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--header__submenu"), true), _rollupPluginBabelHelpers.defineProperty(_cx,
|
|
176
|
+
var className = cx__default["default"]((_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--header__submenu"), true), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--header__submenu--current"), isCurrentPage), _rollupPluginBabelHelpers.defineProperty(_cx, customClassName, !!customClassName), _cx)); // Notes on eslint comments and based on the examples in:
|
|
177
177
|
// https://www.w3.org/TR/wai-aria-practices/examples/menubar/menubar-1/menubar-1.html#
|
|
178
178
|
// - The focus is handled by the <a> menuitem, onMouseOver is for mouse
|
|
179
179
|
// users
|