@pingux/astro 1.30.0-alpha.3 → 1.30.0-alpha.5
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/lib/cjs/components/NavBar/NavBar.js +65 -6
- package/lib/cjs/components/NavBar/NavBar.test.js +206 -3
- package/lib/cjs/components/NavBarSection/NavBarItem.js +3 -1
- package/lib/cjs/components/NavBarSection/NavBarItemBody.js +35 -4
- package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +16 -25
- package/lib/cjs/components/NavBarSection/NavBarSection.js +144 -20
- package/lib/cjs/styles/variants/accordion.js +0 -61
- package/lib/cjs/styles/variants/buttons.js +19 -1
- package/lib/cjs/styles/variants/navBar.js +33 -2
- package/lib/cjs/styles/variants/text.js +2 -1
- package/lib/components/NavBar/NavBar.js +60 -7
- package/lib/components/NavBar/NavBar.test.js +164 -5
- package/lib/components/NavBarSection/NavBarItem.js +3 -1
- package/lib/components/NavBarSection/NavBarItemBody.js +33 -4
- package/lib/components/NavBarSection/NavBarItemHeader.js +17 -15
- package/lib/components/NavBarSection/NavBarSection.js +131 -21
- package/lib/styles/variants/accordion.js +0 -52
- package/lib/styles/variants/buttons.js +19 -1
- package/lib/styles/variants/navBar.js +33 -2
- package/lib/styles/variants/text.js +2 -1
- package/package.json +1 -1
@@ -16,12 +16,22 @@ _Object$defineProperty(exports, "__esModule", {
|
|
16
16
|
|
17
17
|
exports["default"] = void 0;
|
18
18
|
|
19
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
20
|
+
|
21
|
+
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
|
22
|
+
|
23
|
+
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
24
|
+
|
19
25
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
20
26
|
|
21
27
|
var _react = _interopRequireWildcard(require("react"));
|
22
28
|
|
23
29
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
24
30
|
|
31
|
+
var _uuid = require("uuid");
|
32
|
+
|
33
|
+
var _focus = require("@react-aria/focus");
|
34
|
+
|
25
35
|
var _NavBarContext = require("../../context/NavBarContext");
|
26
36
|
|
27
37
|
var _isIterable = require("../../utils/devUtils/props/isIterable");
|
@@ -41,18 +51,18 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
41
51
|
*
|
42
52
|
* This component is built to have the NavBarSection component passed into it.
|
43
53
|
*
|
44
|
-
* NavBarSection is an iterative component that
|
45
|
-
*
|
46
|
-
* the array of objects that is passed into it.
|
54
|
+
* NavBarSection is an iterative component that using
|
55
|
+
* an array of objects that is passed into it.
|
47
56
|
*
|
48
57
|
*/
|
49
58
|
var NavBar = function NavBar(props) {
|
50
59
|
var defaultSelectedKeys = props.defaultSelectedKeys,
|
51
60
|
selectedKeysProp = props.selectedKeys,
|
52
61
|
setSelectedKeysProp = props.setSelectedKeys,
|
53
|
-
defaultExpandedKeys = props.defaultExpandedKeys
|
62
|
+
defaultExpandedKeys = props.defaultExpandedKeys,
|
63
|
+
children = props.children;
|
54
64
|
|
55
|
-
var _useState = (0, _react.useState)(defaultExpandedKeys),
|
65
|
+
var _useState = (0, _react.useState)(new _set["default"](defaultExpandedKeys)),
|
56
66
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
57
67
|
expandedKeys = _useState2[0],
|
58
68
|
setExpandedKeys = _useState2[1];
|
@@ -62,6 +72,17 @@ var NavBar = function NavBar(props) {
|
|
62
72
|
selectedKeys = _useProgressiveState2[0],
|
63
73
|
setSelectedKeys = _useProgressiveState2[1];
|
64
74
|
|
75
|
+
var items = (0, _react.useMemo)(function () {
|
76
|
+
return (0, _isArray["default"])(children) ? (0, _map["default"])(children).call(children, function (child) {
|
77
|
+
return {
|
78
|
+
item: child,
|
79
|
+
key: (0, _uuid.v4)()
|
80
|
+
};
|
81
|
+
}) : [{
|
82
|
+
item: children,
|
83
|
+
key: (0, _uuid.v4)()
|
84
|
+
}];
|
85
|
+
}, [children]);
|
65
86
|
return (0, _react2.jsx)(_NavBarContext.NavBarContext.Provider, {
|
66
87
|
value: {
|
67
88
|
selectedKey: selectedKeys,
|
@@ -73,7 +94,45 @@ var NavBar = function NavBar(props) {
|
|
73
94
|
variant: "navBar.container",
|
74
95
|
role: "navigation",
|
75
96
|
as: "nav"
|
76
|
-
},
|
97
|
+
}, items.length ? (0, _react2.jsx)(_focus.FocusScope, {
|
98
|
+
restoreFocus: true,
|
99
|
+
autoFocus: true
|
100
|
+
}, (0, _map["default"])(items).call(items, function (_ref) {
|
101
|
+
var item = _ref.item,
|
102
|
+
key = _ref.key;
|
103
|
+
return (0, _react2.jsx)(FocusableItem, {
|
104
|
+
key: key
|
105
|
+
}, item);
|
106
|
+
})) : null));
|
107
|
+
};
|
108
|
+
|
109
|
+
var FocusableItem = function FocusableItem(props) {
|
110
|
+
var focusManager = (0, _focus.useFocusManager)();
|
111
|
+
|
112
|
+
var onKeyDown = function onKeyDown(e) {
|
113
|
+
switch (e.key) {
|
114
|
+
case 'ArrowRight':
|
115
|
+
case 'ArrowDown':
|
116
|
+
e.preventDefault();
|
117
|
+
focusManager.focusNext();
|
118
|
+
break;
|
119
|
+
|
120
|
+
case 'ArrowLeft':
|
121
|
+
case 'ArrowUp':
|
122
|
+
e.preventDefault();
|
123
|
+
focusManager.focusPrevious();
|
124
|
+
break;
|
125
|
+
|
126
|
+
default:
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
};
|
130
|
+
|
131
|
+
var childWithFocusHandle = /*#__PURE__*/_react["default"].cloneElement(props.children, {
|
132
|
+
onKeyDown: onKeyDown
|
133
|
+
});
|
134
|
+
|
135
|
+
return childWithFocusHandle;
|
77
136
|
};
|
78
137
|
|
79
138
|
NavBar.propTypes = {
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
4
|
|
5
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
6
|
+
|
5
7
|
var _react = _interopRequireDefault(require("react"));
|
6
8
|
|
7
9
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
@@ -109,6 +111,26 @@ var getComponent = function getComponent() {
|
|
109
111
|
}))));
|
110
112
|
};
|
111
113
|
|
114
|
+
var getComponentWithMultipleChildrens = function getComponentWithMultipleChildrens() {
|
115
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
116
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_NavBar["default"], props, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Link, {
|
117
|
+
href: "https://pingidentity.com",
|
118
|
+
target: "_blank",
|
119
|
+
"aria-label": "home link",
|
120
|
+
"data-testid": "navLink"
|
121
|
+
}, "home")), (0, _react2.jsx)(_index.Button, {
|
122
|
+
"data-testid": "navButton"
|
123
|
+
}, "test button")));
|
124
|
+
};
|
125
|
+
|
126
|
+
var clickHeaderButtons = function clickHeaderButtons() {
|
127
|
+
var headerButtons = _testWrapper.screen.getAllByRole('button');
|
128
|
+
|
129
|
+
(0, _map["default"])(headerButtons).call(headerButtons, function (button) {
|
130
|
+
return _userEvent["default"].click(button);
|
131
|
+
});
|
132
|
+
};
|
133
|
+
|
112
134
|
(0, _testAxe["default"])(getComponent);
|
113
135
|
test('should render basic nav with children', function () {
|
114
136
|
getComponent();
|
@@ -126,13 +148,15 @@ test('should render title for sections that have titles', function () {
|
|
126
148
|
});
|
127
149
|
test('should render title for itemBodies that have subTitles', function () {
|
128
150
|
getComponent();
|
151
|
+
clickHeaderButtons();
|
129
152
|
|
130
153
|
var subTitle = _testWrapper.screen.getByText('PingOne Services');
|
131
154
|
|
132
155
|
expect(subTitle).toBeInTheDocument();
|
133
156
|
});
|
134
|
-
test('should select
|
157
|
+
test('should select NavItemLink', function () {
|
135
158
|
getComponent();
|
159
|
+
clickHeaderButtons();
|
136
160
|
|
137
161
|
var link = _testWrapper.screen.getByTestId('navItemLink');
|
138
162
|
|
@@ -142,7 +166,22 @@ test('should select NavIemLink', function () {
|
|
142
166
|
|
143
167
|
expect(link).toHaveClass('is-selected');
|
144
168
|
});
|
145
|
-
test('should select
|
169
|
+
test('should select NavItemLink on space key press', function () {
|
170
|
+
getComponent();
|
171
|
+
clickHeaderButtons();
|
172
|
+
|
173
|
+
var link = _testWrapper.screen.getByTestId('navItemLink');
|
174
|
+
|
175
|
+
expect(link).toBeInTheDocument();
|
176
|
+
|
177
|
+
_testWrapper.fireEvent.keyDown(link, {
|
178
|
+
key: 'Space',
|
179
|
+
keyCode: 32
|
180
|
+
});
|
181
|
+
|
182
|
+
expect(link).toHaveClass('is-selected');
|
183
|
+
});
|
184
|
+
test('should select NavItem', function () {
|
146
185
|
getComponent();
|
147
186
|
|
148
187
|
var item = _testWrapper.screen.getByTestId('navItem');
|
@@ -153,8 +192,9 @@ test('should select NavIem', function () {
|
|
153
192
|
|
154
193
|
expect(item).toHaveClass('is-selected');
|
155
194
|
});
|
156
|
-
test('should select
|
195
|
+
test('should select NavItemButton', function () {
|
157
196
|
getComponent();
|
197
|
+
clickHeaderButtons();
|
158
198
|
|
159
199
|
var button = _testWrapper.screen.getByTestId('navItemButton');
|
160
200
|
|
@@ -163,4 +203,167 @@ test('should select NavIemButton', function () {
|
|
163
203
|
_userEvent["default"].click(button);
|
164
204
|
|
165
205
|
expect(button).toHaveClass('is-selected');
|
206
|
+
});
|
207
|
+
test('should collapse NavItemBody', function () {
|
208
|
+
getComponent();
|
209
|
+
expect(_testWrapper.screen.queryByText('Users')).not.toBeInTheDocument();
|
210
|
+
clickHeaderButtons();
|
211
|
+
expect(_testWrapper.screen.getByTestId('navItemButton')).toBeInTheDocument();
|
212
|
+
clickHeaderButtons();
|
213
|
+
expect(_testWrapper.screen.queryByText('Users')).not.toBeInTheDocument();
|
214
|
+
});
|
215
|
+
test('should collapse NavItemBody on Escape key press', function () {
|
216
|
+
getComponent();
|
217
|
+
clickHeaderButtons();
|
218
|
+
expect(_testWrapper.screen.getByTestId('navItemButton')).toBeInTheDocument();
|
219
|
+
|
220
|
+
var headerButtons = _testWrapper.screen.getAllByRole('button');
|
221
|
+
|
222
|
+
(0, _map["default"])(headerButtons).call(headerButtons, function (headerButton) {
|
223
|
+
return _testWrapper.fireEvent.keyDown(headerButton, {
|
224
|
+
key: 'Escape',
|
225
|
+
keyCode: 27
|
226
|
+
});
|
227
|
+
});
|
228
|
+
expect(_testWrapper.screen.queryByText('Users')).not.toBeInTheDocument();
|
229
|
+
});
|
230
|
+
test('should change focus between NavBarItemHeader on arrow key press', function () {
|
231
|
+
getComponent();
|
232
|
+
|
233
|
+
var headerButtons = _testWrapper.screen.getAllByRole('button');
|
234
|
+
|
235
|
+
expect(headerButtons[0]).toBeInTheDocument();
|
236
|
+
headerButtons[0].focus();
|
237
|
+
expect(headerButtons[0]).toHaveClass('is-focused');
|
238
|
+
|
239
|
+
_testWrapper.fireEvent.keyDown(headerButtons[0], {
|
240
|
+
key: 'ArrowDown',
|
241
|
+
keyCode: 40
|
242
|
+
});
|
243
|
+
|
244
|
+
expect(headerButtons[1]).toHaveClass('is-focused');
|
245
|
+
|
246
|
+
_testWrapper.fireEvent.keyDown(headerButtons[0], {
|
247
|
+
key: 'ArrowRight',
|
248
|
+
keyCode: 39
|
249
|
+
});
|
250
|
+
|
251
|
+
expect(headerButtons[2]).toHaveClass('is-focused');
|
252
|
+
|
253
|
+
_testWrapper.fireEvent.keyDown(headerButtons[0], {
|
254
|
+
key: 'ArrowLeft',
|
255
|
+
keyCode: 37
|
256
|
+
});
|
257
|
+
|
258
|
+
expect(headerButtons[1]).toHaveClass('is-focused');
|
259
|
+
|
260
|
+
_testWrapper.fireEvent.keyDown(headerButtons[0], {
|
261
|
+
key: 'ArrowUp',
|
262
|
+
keyCode: 38
|
263
|
+
});
|
264
|
+
|
265
|
+
expect(headerButtons[0]).toHaveClass('is-focused');
|
266
|
+
|
267
|
+
_testWrapper.fireEvent.keyDown(headerButtons[0], {
|
268
|
+
key: 'Shift',
|
269
|
+
keyCode: 16
|
270
|
+
});
|
271
|
+
|
272
|
+
expect(headerButtons[0]).toHaveClass('is-focused');
|
273
|
+
});
|
274
|
+
test('should not change focus from NavItemBody to NavBarItemHeader on arrow key press', function () {
|
275
|
+
getComponent();
|
276
|
+
|
277
|
+
var headerButtons = _testWrapper.screen.getAllByRole('button');
|
278
|
+
|
279
|
+
expect(headerButtons[0]).toBeInTheDocument();
|
280
|
+
headerButtons[0].click();
|
281
|
+
|
282
|
+
_testWrapper.fireEvent.keyDown(headerButtons[0], {
|
283
|
+
key: 'ArrowDown',
|
284
|
+
keyCode: 40
|
285
|
+
});
|
286
|
+
|
287
|
+
expect(_testWrapper.screen.getByTestId('navItemButton')).toHaveClass('is-focused');
|
288
|
+
|
289
|
+
_testWrapper.fireEvent.keyDown(_testWrapper.screen.getByTestId('navItemButton'), {
|
290
|
+
key: 'ArrowUp',
|
291
|
+
keyCode: 38
|
292
|
+
});
|
293
|
+
|
294
|
+
expect(_testWrapper.screen.getByTestId('navItemButton')).toHaveClass('is-focused');
|
295
|
+
|
296
|
+
_testWrapper.fireEvent.keyDown(_testWrapper.screen.getByTestId('navItemButton'), {
|
297
|
+
key: 'ArrowDown',
|
298
|
+
keyCode: 40
|
299
|
+
});
|
300
|
+
|
301
|
+
expect(_testWrapper.screen.getByTestId('navItemLink')).toHaveClass('is-focused');
|
302
|
+
|
303
|
+
_testWrapper.fireEvent.keyDown(_testWrapper.screen.getByTestId('navItemLink'), {
|
304
|
+
key: 'ArrowDown',
|
305
|
+
keyCode: 40
|
306
|
+
});
|
307
|
+
|
308
|
+
expect(_testWrapper.screen.getByTestId('navItemLink')).toHaveClass('is-focused');
|
309
|
+
});
|
310
|
+
test('should render nav with multiple childrens', function () {
|
311
|
+
getComponentWithMultipleChildrens();
|
312
|
+
|
313
|
+
var nav = _testWrapper.screen.queryByRole('navigation');
|
314
|
+
|
315
|
+
expect(nav).toBeInTheDocument();
|
316
|
+
});
|
317
|
+
test('should change focus between nav childrens on arrow key press', function () {
|
318
|
+
getComponentWithMultipleChildrens();
|
319
|
+
|
320
|
+
var link = _testWrapper.screen.getByTestId('navLink');
|
321
|
+
|
322
|
+
var button = _testWrapper.screen.getByTestId('navButton');
|
323
|
+
|
324
|
+
expect(link).toBeInTheDocument();
|
325
|
+
link.focus();
|
326
|
+
expect(link).toHaveClass('is-focused');
|
327
|
+
|
328
|
+
_testWrapper.fireEvent.keyDown(link, {
|
329
|
+
key: 'ArrowDown',
|
330
|
+
keyCode: 40
|
331
|
+
});
|
332
|
+
|
333
|
+
expect(button).toHaveClass('is-focused');
|
334
|
+
|
335
|
+
_testWrapper.fireEvent.keyDown(button, {
|
336
|
+
key: 'ArrowUp',
|
337
|
+
keyCode: 38
|
338
|
+
});
|
339
|
+
|
340
|
+
expect(link).toHaveClass('is-focused');
|
341
|
+
|
342
|
+
_testWrapper.fireEvent.keyDown(link, {
|
343
|
+
key: 'ArrowRight',
|
344
|
+
keyCode: 39
|
345
|
+
});
|
346
|
+
|
347
|
+
expect(button).toHaveClass('is-focused');
|
348
|
+
|
349
|
+
_testWrapper.fireEvent.keyDown(button, {
|
350
|
+
key: 'ArrowLeft',
|
351
|
+
keyCode: 37
|
352
|
+
});
|
353
|
+
|
354
|
+
expect(link).toHaveClass('is-focused');
|
355
|
+
|
356
|
+
_testWrapper.fireEvent.keyDown(link, {
|
357
|
+
key: 'Shift',
|
358
|
+
keyCode: 16
|
359
|
+
});
|
360
|
+
|
361
|
+
expect(link).toHaveClass('is-focused');
|
362
|
+
|
363
|
+
_testWrapper.fireEvent.keyDown(link, {
|
364
|
+
key: 'Space',
|
365
|
+
keyCode: 32
|
366
|
+
});
|
367
|
+
|
368
|
+
expect(link).toHaveClass('is-focused');
|
166
369
|
});
|
@@ -103,8 +103,9 @@ var NavBarItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
103
103
|
|
104
104
|
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
105
105
|
id: key,
|
106
|
-
variant: "
|
106
|
+
variant: "navBar.navItem",
|
107
107
|
isRow: true,
|
108
|
+
tabIndex: 0,
|
108
109
|
className: classNames,
|
109
110
|
ref: navItemRef
|
110
111
|
}, mergedProps, {
|
@@ -118,6 +119,7 @@ var NavBarItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
118
119
|
}
|
119
120
|
}, icon && (0, _react2.jsx)(_index.Icon, {
|
120
121
|
icon: icon,
|
122
|
+
"aria-label": text,
|
121
123
|
size: 20,
|
122
124
|
sx: {
|
123
125
|
mr: '10px',
|
@@ -16,10 +16,14 @@ _Object$defineProperty(exports, "__esModule", {
|
|
16
16
|
|
17
17
|
exports["default"] = void 0;
|
18
18
|
|
19
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
20
|
+
|
19
21
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
20
22
|
|
21
23
|
var _react = _interopRequireWildcard(require("react"));
|
22
24
|
|
25
|
+
var _interactions = require("@react-aria/interactions");
|
26
|
+
|
23
27
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
24
28
|
|
25
29
|
var _index = require("../../index");
|
@@ -33,12 +37,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
33
37
|
var NavBarItemBody = function NavBarItemBody(props) {
|
34
38
|
var _context;
|
35
39
|
|
40
|
+
var item = props.item,
|
41
|
+
onKeyDown = props.onKeyDown;
|
36
42
|
return (0, _react2.jsx)(_index.Box, {
|
37
43
|
sx: {
|
38
44
|
alignItems: 'flex-start',
|
39
45
|
mb: '15px'
|
40
46
|
}
|
41
|
-
}, (0, _map["default"])(_context =
|
47
|
+
}, (0, _map["default"])(_context = item.children).call(_context, function (child) {
|
42
48
|
return child.subTitle ? (0, _react2.jsx)(_react.Fragment, {
|
43
49
|
key: "fragment".concat(child.subTitle)
|
44
50
|
}, (0, _react2.jsx)(_index.Separator, {
|
@@ -51,14 +57,39 @@ var NavBarItemBody = function NavBarItemBody(props) {
|
|
51
57
|
mb: '10px',
|
52
58
|
ml: '45px'
|
53
59
|
}
|
54
|
-
}, child.subTitle)) :
|
60
|
+
}, child.subTitle)) : (0, _react2.jsx)(ChildItemWrapper, {
|
61
|
+
onKeyDown: onKeyDown,
|
62
|
+
key: "item".concat(child.key || child)
|
63
|
+
}, child);
|
55
64
|
}));
|
56
65
|
};
|
57
66
|
|
67
|
+
var ChildItemWrapper = function ChildItemWrapper(props) {
|
68
|
+
var children = props.children,
|
69
|
+
_onKeyDown = props.onKeyDown;
|
70
|
+
var childrenKey = children.key || children;
|
71
|
+
|
72
|
+
var _useKeyboard = (0, _interactions.useKeyboard)({
|
73
|
+
onKeyDown: function onKeyDown(e) {
|
74
|
+
return _onKeyDown(e, childrenKey);
|
75
|
+
}
|
76
|
+
}),
|
77
|
+
keyboardProps = _useKeyboard.keyboardProps;
|
78
|
+
|
79
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
80
|
+
width: "100%"
|
81
|
+
}, keyboardProps), children);
|
82
|
+
};
|
83
|
+
|
58
84
|
NavBarItemBody.propTypes = {
|
59
85
|
item: _propTypes["default"].shape({
|
60
|
-
children: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]))
|
61
|
-
|
86
|
+
children: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])),
|
87
|
+
key: _propTypes["default"].string
|
88
|
+
}),
|
89
|
+
onKeyDown: _propTypes["default"].func
|
90
|
+
};
|
91
|
+
ChildItemWrapper.propTypes = {
|
92
|
+
onKeyDown: _propTypes["default"].func
|
62
93
|
};
|
63
94
|
var _default = NavBarItemBody;
|
64
95
|
exports["default"] = _default;
|
@@ -2,14 +2,8 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
4
|
|
5
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
6
|
-
|
7
5
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
6
|
|
9
|
-
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
10
|
-
|
11
|
-
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
12
|
-
|
13
7
|
_Object$defineProperty(exports, "__esModule", {
|
14
8
|
value: true
|
15
9
|
});
|
@@ -20,7 +14,7 @@ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-s
|
|
20
14
|
|
21
15
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
22
16
|
|
23
|
-
var _react =
|
17
|
+
var _react = _interopRequireDefault(require("react"));
|
24
18
|
|
25
19
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
26
20
|
|
@@ -30,35 +24,26 @@ var _MenuUpIcon = _interopRequireDefault(require("mdi-react/MenuUpIcon"));
|
|
30
24
|
|
31
25
|
var _index = require("../../index");
|
32
26
|
|
33
|
-
var _AccordionGridContext = require("../../context/AccordionGridContext");
|
34
|
-
|
35
27
|
var _NavBarContext = require("../../context/NavBarContext");
|
36
28
|
|
37
29
|
var _hooks = require("../../hooks");
|
38
30
|
|
39
31
|
var _react2 = require("@emotion/react");
|
40
32
|
|
41
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
42
|
-
|
43
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
44
|
-
|
45
33
|
var NavBarItemHeader = function NavBarItemHeader(props) {
|
46
|
-
var
|
34
|
+
var _navBarState$expanded, _context;
|
47
35
|
|
48
36
|
var item = props.item;
|
49
37
|
var icon = item.icon,
|
50
38
|
key = item.key,
|
51
|
-
className = item.className
|
52
|
-
|
53
|
-
var
|
54
|
-
|
55
|
-
|
56
|
-
var navState = (0, _react.useContext)(_NavBarContext.NavBarContext);
|
57
|
-
var isExpanded = (_state$selectionManag = state.selectionManager.selectedKeys) === null || _state$selectionManag === void 0 ? void 0 : _state$selectionManag.has(key);
|
39
|
+
className = item.className,
|
40
|
+
heading = item.heading;
|
41
|
+
var navBarState = (0, _NavBarContext.useNavBarContext)();
|
42
|
+
var isExpanded = (_navBarState$expanded = navBarState.expandedKeys) === null || _navBarState$expanded === void 0 ? void 0 : _navBarState$expanded.has(key);
|
58
43
|
var array = (0, _map["default"])(_context = item.children).call(_context, function (i) {
|
59
44
|
return i.key;
|
60
45
|
});
|
61
|
-
var childSelected = (0, _includes["default"])(array).call(array,
|
46
|
+
var childSelected = (0, _includes["default"])(array).call(array, navBarState.selectedKey);
|
62
47
|
|
63
48
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
64
49
|
isSelected: childSelected && !isExpanded
|
@@ -76,10 +61,11 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
|
|
76
61
|
mr: '10px',
|
77
62
|
color: 'white',
|
78
63
|
fill: 'white'
|
79
|
-
}
|
64
|
+
},
|
65
|
+
"aria-hidden": "true"
|
80
66
|
}), (0, _react2.jsx)(_index.Text, {
|
81
67
|
variant: "navBarHeaderText"
|
82
|
-
},
|
68
|
+
}, heading), (0, _react2.jsx)(_index.Box, {
|
83
69
|
isRow: true,
|
84
70
|
alignItems: "center",
|
85
71
|
sx: {
|
@@ -87,7 +73,12 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
|
|
87
73
|
}
|
88
74
|
}, (0, _react2.jsx)(_index.Icon, {
|
89
75
|
icon: isExpanded ? _MenuUpIcon["default"] : _MenuDownIcon["default"],
|
90
|
-
size: 20
|
76
|
+
size: 20,
|
77
|
+
sx: {
|
78
|
+
color: 'white',
|
79
|
+
fill: 'white'
|
80
|
+
},
|
81
|
+
"aria-label": isExpanded ? 'Menu up' : 'Menu down'
|
91
82
|
})));
|
92
83
|
};
|
93
84
|
|