@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.
@@ -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
- * will build an AccordionGridGroup using
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
- }, props.children));
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 NavIemLink', function () {
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 NavIem', function () {
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 NavIemButton', function () {
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: "accordion.accordionGridNavItem",
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 = props.item.children).call(_context, function (child) {
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)) : child;
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 = _interopRequireWildcard(require("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 _state$selectionManag, _context;
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 _useContext = (0, _react.useContext)(_AccordionGridContext.AccordionGridContext),
54
- state = _useContext.state;
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, navState.selectedKey);
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
- }, props.item.heading), (0, _react2.jsx)(_index.Box, {
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