@pingux/astro 1.39.1 → 1.39.2-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +23 -2
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +2 -1
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +31 -1
- package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +13 -4
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +10 -2
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +19 -2
- package/lib/cjs/components/NavBar/NavBar.stories.js +7 -8
- package/lib/cjs/components/NavBarSection/NavBarItem.js +6 -5
- package/lib/cjs/components/NavBarSection/NavBarItemBody.js +7 -9
- package/lib/cjs/components/NavBarSection/NavBarItemButton.js +2 -1
- package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +6 -5
- package/lib/cjs/components/NavBarSection/NavBarItemLink.js +2 -1
- package/lib/cjs/components/NavBarSection/NavBarSection.js +5 -12
- package/lib/cjs/styles/variants/buttons.js +5 -6
- package/lib/cjs/styles/variants/navBar.js +5 -6
- package/lib/cjs/styles/variants/separator.js +7 -8
- package/lib/cjs/styles/variants/text.js +9 -6
- package/lib/components/AccordionGridGroup/AccordionGridGroup.js +22 -2
- package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +2 -1
- package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +19 -1
- package/lib/components/AccordionGridItem/AccordionGridItem.js +13 -4
- package/lib/components/AccordionGridItem/AccordionGridItemBody.js +10 -2
- package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +19 -2
- package/lib/components/NavBar/NavBar.stories.js +7 -8
- package/lib/components/NavBarSection/NavBarItem.js +6 -5
- package/lib/components/NavBarSection/NavBarItemBody.js +7 -9
- package/lib/components/NavBarSection/NavBarItemButton.js +2 -1
- package/lib/components/NavBarSection/NavBarItemHeader.js +6 -5
- package/lib/components/NavBarSection/NavBarItemLink.js +2 -1
- package/lib/components/NavBarSection/NavBarSection.js +6 -13
- package/lib/styles/variants/buttons.js +5 -6
- package/lib/styles/variants/navBar.js +5 -6
- package/lib/styles/variants/separator.js +7 -8
- package/lib/styles/variants/text.js +9 -6
- package/package.json +1 -1
- package/NOTICE.html +0 -4707
@@ -58,6 +58,8 @@ var _Box = _interopRequireDefault(require("../Box"));
|
|
58
58
|
|
59
59
|
var _isIterable = require("../../utils/devUtils/props/isIterable");
|
60
60
|
|
61
|
+
var _useDevelopmentWarning = _interopRequireDefault(require("../../hooks/useDevelopmentWarning"));
|
62
|
+
|
61
63
|
var _react2 = require("@emotion/react");
|
62
64
|
|
63
65
|
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); }
|
@@ -89,13 +91,18 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
89
91
|
var _context2;
|
90
92
|
|
91
93
|
var disabledKeys = props.disabledKeys,
|
92
|
-
containerProps = props.containerProps
|
94
|
+
containerProps = props.containerProps,
|
95
|
+
navigationMode = props.navigationMode;
|
93
96
|
var accordionGridRef = (0, _react.useRef)();
|
94
97
|
/* istanbul ignore next */
|
95
98
|
|
96
99
|
(0, _react.useImperativeHandle)(ref, function () {
|
97
100
|
return accordionGridRef.current;
|
98
101
|
});
|
102
|
+
(0, _useDevelopmentWarning["default"])({
|
103
|
+
message: 'Use navigationMode prop for AccordionGridGroup',
|
104
|
+
shouldTrigger: !navigationMode
|
105
|
+
});
|
99
106
|
|
100
107
|
var _useListState = (0, _list.useListState)(props),
|
101
108
|
collection = _useListState.collection;
|
@@ -166,6 +173,12 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
166
173
|
gridProps = _useGrid.gridProps;
|
167
174
|
|
168
175
|
delete gridProps.onMouseDown;
|
176
|
+
|
177
|
+
if (navigationMode === 'native') {
|
178
|
+
delete gridProps.onKeyDown;
|
179
|
+
delete gridProps.onKeyDownCapture;
|
180
|
+
}
|
181
|
+
|
169
182
|
return (0, _react2.jsx)(_AccordionGridContext.AccordionGridContext.Provider, {
|
170
183
|
value: {
|
171
184
|
state: state,
|
@@ -177,7 +190,8 @@ var AccordionGridGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, re
|
|
177
190
|
}), (0, _map["default"])(_context2 = (0, _from["default"])(state.collection)).call(_context2, function (item) {
|
178
191
|
return (0, _react2.jsx)(_AccordionGridItem["default"], (0, _extends2["default"])({
|
179
192
|
key: item.key,
|
180
|
-
item: item
|
193
|
+
item: item,
|
194
|
+
navigationMode: navigationMode
|
181
195
|
}, item.props), item.props.children);
|
182
196
|
})));
|
183
197
|
});
|
@@ -203,6 +217,13 @@ AccordionGridGroup.propTypes = {
|
|
203
217
|
*/
|
204
218
|
onSelectionChange: _propTypes["default"].func,
|
205
219
|
|
220
|
+
/**
|
221
|
+
* Defines a type of navigation mode.
|
222
|
+
* "native" - navigation via "tab" key.
|
223
|
+
* "arrows" - navigation via arrow keys.
|
224
|
+
*/
|
225
|
+
navigationMode: _propTypes["default"].string,
|
226
|
+
|
206
227
|
/**
|
207
228
|
* The item keys that are disabled. These items cannot be selected, focused, or otherwise
|
208
229
|
* interacted with.
|
@@ -327,7 +327,8 @@ exports.Controlled = Controlled;
|
|
327
327
|
var AccordionWithInputs = function AccordionWithInputs() {
|
328
328
|
return (0, _react2.jsx)(_AccordionGridGroup["default"], {
|
329
329
|
items: data,
|
330
|
-
defaultSelectedKeys: ['Organization']
|
330
|
+
defaultSelectedKeys: ['Organization'],
|
331
|
+
navigationMode: "native"
|
331
332
|
}, function (item) {
|
332
333
|
return (0, _react2.jsx)(_collections.Item, {
|
333
334
|
key: item.key
|
@@ -61,7 +61,9 @@ var getComponentInOverlayPanel = function getComponentInOverlayPanel() {
|
|
61
61
|
|
62
62
|
var getComponentWithTextFields = function getComponentWithTextFields() {
|
63
63
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
64
|
-
return (0, _testWrapper.render)((0, _react2.jsx)(_AccordionGridGroup["default"], (0, _extends2["default"])({}, defaultProps, props
|
64
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_AccordionGridGroup["default"], (0, _extends2["default"])({}, defaultProps, props, {
|
65
|
+
navigationMode: "native"
|
66
|
+
}), (0, _react2.jsx)(_collections.Item, {
|
65
67
|
key: "first",
|
66
68
|
textValue: "Duplicate"
|
67
69
|
}, (0, _react2.jsx)(_index.Text, null, "Header"), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.TextField, {
|
@@ -300,4 +302,32 @@ test('adds focus to input on a single click after onBlur', function () {
|
|
300
302
|
_userEvent["default"].click(secondInput);
|
301
303
|
|
302
304
|
expect(secondInput).toHaveFocus();
|
305
|
+
});
|
306
|
+
test('native keyboard navigation mode toggle open/close item body', function () {
|
307
|
+
getComponentWithTextFields();
|
308
|
+
|
309
|
+
var firstItemHeader = _testWrapper.screen.getAllByRole('gridcell')[0];
|
310
|
+
|
311
|
+
expect(firstItemHeader).not.toHaveFocus();
|
312
|
+
|
313
|
+
_userEvent["default"].tab();
|
314
|
+
|
315
|
+
expect(firstItemHeader).toHaveFocus();
|
316
|
+
expect(firstItemHeader).not.toHaveClass('is-selected');
|
317
|
+
|
318
|
+
_userEvent["default"].type(firstItemHeader, '{Enter}');
|
319
|
+
|
320
|
+
expect(firstItemHeader).toHaveClass('is-selected');
|
321
|
+
|
322
|
+
var firstInput = _testWrapper.screen.getByLabelText('label 1');
|
323
|
+
|
324
|
+
expect(firstInput).not.toHaveFocus();
|
325
|
+
|
326
|
+
_userEvent["default"].tab();
|
327
|
+
|
328
|
+
expect(firstInput).toHaveFocus();
|
329
|
+
|
330
|
+
_userEvent["default"].type(firstInput, '{arrowup}');
|
331
|
+
|
332
|
+
expect(firstInput).toHaveFocus();
|
303
333
|
});
|
@@ -46,7 +46,7 @@ var _hooks = require("../../hooks");
|
|
46
46
|
|
47
47
|
var _react2 = require("@emotion/react");
|
48
48
|
|
49
|
-
var _excluded = ["item", "headerProps", "bodyProps", "children", "className"];
|
49
|
+
var _excluded = ["item", "headerProps", "bodyProps", "children", "className", "navigationMode"];
|
50
50
|
|
51
51
|
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); }
|
52
52
|
|
@@ -60,6 +60,7 @@ var AccordionGridItem = function AccordionGridItem(props) {
|
|
60
60
|
bodyProps = props.bodyProps,
|
61
61
|
children = props.children,
|
62
62
|
className = props.className,
|
63
|
+
navigationMode = props.navigationMode,
|
63
64
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
64
65
|
|
65
66
|
var _React$Children$toArr = _react["default"].Children.toArray(children),
|
@@ -100,6 +101,11 @@ var AccordionGridItem = function AccordionGridItem(props) {
|
|
100
101
|
delete rowProps.onMouseDown;
|
101
102
|
delete rowProps.onPointerDown;
|
102
103
|
delete rowProps.onClick;
|
104
|
+
|
105
|
+
if (navigationMode === 'native') {
|
106
|
+
delete rowProps.onKeyDown;
|
107
|
+
}
|
108
|
+
|
103
109
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
104
110
|
as: "div",
|
105
111
|
tabindex: "0"
|
@@ -113,11 +119,13 @@ var AccordionGridItem = function AccordionGridItem(props) {
|
|
113
119
|
item: item,
|
114
120
|
ref: cellRef,
|
115
121
|
isDisabled: isDisabled,
|
116
|
-
isSelected: isSelected
|
122
|
+
isSelected: isSelected,
|
123
|
+
navigationMode: navigationMode
|
117
124
|
}, headerProps), header), (0, _react2.jsx)(_AccordionGridItemBody["default"], (0, _extends2["default"])({
|
118
125
|
item: item,
|
119
126
|
ref: cellBodyRef,
|
120
|
-
isSelected: isSelected
|
127
|
+
isSelected: isSelected,
|
128
|
+
navigationMode: navigationMode
|
121
129
|
}, bodyProps), body), otherChildren);
|
122
130
|
};
|
123
131
|
|
@@ -128,7 +136,8 @@ AccordionGridItem.propTypes = {
|
|
128
136
|
key: _propTypes["default"].string,
|
129
137
|
rendered: _propTypes["default"].node,
|
130
138
|
childNodes: _propTypes["default"].arrayOf(_propTypes["default"].shape({}))
|
131
|
-
})
|
139
|
+
}),
|
140
|
+
navigationMode: _propTypes["default"].string
|
132
141
|
};
|
133
142
|
var _default = AccordionGridItem;
|
134
143
|
exports["default"] = _default;
|
@@ -40,7 +40,7 @@ var _hooks = require("../../hooks");
|
|
40
40
|
|
41
41
|
var _react2 = require("@emotion/react");
|
42
42
|
|
43
|
-
var _excluded = ["item", "className", "children", "isSelected"];
|
43
|
+
var _excluded = ["item", "className", "children", "isSelected", "navigationMode"];
|
44
44
|
|
45
45
|
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); }
|
46
46
|
|
@@ -53,6 +53,7 @@ var AccordionGridItemBody = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
53
53
|
className = props.className,
|
54
54
|
children = props.children,
|
55
55
|
isSelected = props.isSelected,
|
56
|
+
navigationMode = props.navigationMode,
|
56
57
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
57
58
|
|
58
59
|
var _useAccordionGridCont = (0, _AccordionGridContext.useAccordionGridContext)(),
|
@@ -90,6 +91,12 @@ var AccordionGridItemBody = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
90
91
|
var ariaLabel = props['aria-label'];
|
91
92
|
delete mergedProps.onMouseDown;
|
92
93
|
delete mergedProps.onPointerDown;
|
94
|
+
|
95
|
+
if (navigationMode === 'native') {
|
96
|
+
delete mergedProps.onKeyDown;
|
97
|
+
delete mergedProps.onKeyDownCapture;
|
98
|
+
}
|
99
|
+
|
93
100
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
94
101
|
as: "div",
|
95
102
|
variant: "accordion.accordionGridBody",
|
@@ -106,7 +113,8 @@ AccordionGridItemBody.propTypes = {
|
|
106
113
|
'aria-label': _propTypes["default"].string,
|
107
114
|
item: _propTypes["default"].shape({
|
108
115
|
childNodes: _propTypes["default"].arrayOf(_propTypes["default"].shape({}))
|
109
|
-
})
|
116
|
+
}),
|
117
|
+
navigationMode: _propTypes["default"].string
|
110
118
|
};
|
111
119
|
var _default = AccordionGridItemBody;
|
112
120
|
exports["default"] = _default;
|
@@ -48,7 +48,7 @@ var _hooks = require("../../hooks");
|
|
48
48
|
|
49
49
|
var _react2 = require("@emotion/react");
|
50
50
|
|
51
|
-
var _excluded = ["item", "className", "children", "isSelected", "hasCaret"];
|
51
|
+
var _excluded = ["item", "className", "children", "isSelected", "hasCaret", "navigationMode"];
|
52
52
|
|
53
53
|
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); }
|
54
54
|
|
@@ -62,6 +62,7 @@ var AccordionGridItemHeader = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
62
62
|
children = props.children,
|
63
63
|
isSelected = props.isSelected,
|
64
64
|
hasCaret = props.hasCaret,
|
65
|
+
navigationMode = props.navigationMode,
|
65
66
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
66
67
|
|
67
68
|
var _useAccordionGridCont = (0, _AccordionGridContext.useAccordionGridContext)(),
|
@@ -112,6 +113,21 @@ var AccordionGridItemHeader = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
112
113
|
classNames = _useStatusClasses.classNames;
|
113
114
|
|
114
115
|
var ariaLabel = props['aria-label'];
|
116
|
+
|
117
|
+
var handleKeyPress = function handleKeyPress(e) {
|
118
|
+
if (e.key === 'Enter') {
|
119
|
+
state.selectionManager.toggleSelection(e.target.dataset.key);
|
120
|
+
}
|
121
|
+
};
|
122
|
+
|
123
|
+
if (navigationMode === 'native') {
|
124
|
+
delete mergedProps.onKeyDown;
|
125
|
+
delete mergedProps.onKeyDownCapture;
|
126
|
+
delete mergedProps.onKeyUp;
|
127
|
+
mergedProps.tabIndex = 0;
|
128
|
+
mergedProps.onKeyPress = handleKeyPress;
|
129
|
+
}
|
130
|
+
|
115
131
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
116
132
|
as: "div",
|
117
133
|
ref: cellRef
|
@@ -148,7 +164,8 @@ AccordionGridItemHeader.propTypes = {
|
|
148
164
|
props: _propTypes["default"].shape({
|
149
165
|
isPressed: _propTypes["default"].bool
|
150
166
|
})
|
151
|
-
})
|
167
|
+
}),
|
168
|
+
navigationMode: _propTypes["default"].string
|
152
169
|
};
|
153
170
|
var _default = AccordionGridItemHeader;
|
154
171
|
exports["default"] = _default;
|
@@ -289,7 +289,10 @@ var data = [{
|
|
289
289
|
}, "Notifications"), (0, _react2.jsx)(_index.NavBarItemLink, {
|
290
290
|
key: "Experiences Vanity Domains",
|
291
291
|
id: "Experiences Vanity Domains",
|
292
|
-
href: "https://pingidentity.com/"
|
292
|
+
href: "https://pingidentity.com/",
|
293
|
+
onClick: function onClick(e) {
|
294
|
+
return e.preventDefault();
|
295
|
+
}
|
293
296
|
}, "Vanity Domains"), (0, _react2.jsx)(_index.NavBarItemButton, {
|
294
297
|
key: "Experiences Sender",
|
295
298
|
id: "Experiences Sender"
|
@@ -304,7 +307,6 @@ var secondData = [{
|
|
304
307
|
id: "MFA Button Users",
|
305
308
|
key: "MFA Button Users"
|
306
309
|
}, "Users"), {
|
307
|
-
hasSeparator: false,
|
308
310
|
subTitle: 'PingOne Services'
|
309
311
|
}, (0, _react2.jsx)(_index.NavBarItemButton, {
|
310
312
|
key: "MFA Button Group",
|
@@ -378,8 +380,7 @@ var Default = function Default() {
|
|
378
380
|
href: "https://pingidentity.com",
|
379
381
|
target: "_blank"
|
380
382
|
}, logo)), (0, _react2.jsx)(_index.Separator, {
|
381
|
-
|
382
|
-
marginBottom: "0px",
|
383
|
+
m: 0,
|
383
384
|
backgroundColor: "neutral.60"
|
384
385
|
}), (0, _react2.jsx)(_index.Box, {
|
385
386
|
variant: "navBar.sectionContainer",
|
@@ -392,7 +393,6 @@ var Default = function Default() {
|
|
392
393
|
text: "Overview"
|
393
394
|
}), (0, _react2.jsx)(_index.NavBarSection, {
|
394
395
|
items: data,
|
395
|
-
hasSeparator: true,
|
396
396
|
"data-id": "nav-bar-section"
|
397
397
|
}), (0, _react2.jsx)(_index.NavBarSection, {
|
398
398
|
items: secondData,
|
@@ -401,6 +401,7 @@ var Default = function Default() {
|
|
401
401
|
"data-id": "second-nav-bar-section"
|
402
402
|
}), (0, _react2.jsx)(_index.NavBarSection, {
|
403
403
|
items: thirdData,
|
404
|
+
hasSeparator: true,
|
404
405
|
"data-id": "third-nav-bar-section"
|
405
406
|
})));
|
406
407
|
};
|
@@ -439,8 +440,7 @@ var Controlled = function Controlled() {
|
|
439
440
|
href: "https://pingidentity.com",
|
440
441
|
target: "_blank"
|
441
442
|
}, logo)), (0, _react2.jsx)(_index.Separator, {
|
442
|
-
|
443
|
-
marginBottom: "0px",
|
443
|
+
m: "0",
|
444
444
|
backgroundColor: "neutral.60",
|
445
445
|
key: "top-separator"
|
446
446
|
}), (0, _react2.jsx)(_index.Box, {
|
@@ -455,7 +455,6 @@ var Controlled = function Controlled() {
|
|
455
455
|
text: "Overview"
|
456
456
|
}), (0, _react2.jsx)(_index.NavBarSection, {
|
457
457
|
items: data,
|
458
|
-
hasSeparator: true,
|
459
458
|
"data-id": "first-nav-bar-section"
|
460
459
|
}), (0, _react2.jsx)(_index.NavBarSection, {
|
461
460
|
items: secondData,
|
@@ -97,6 +97,7 @@ var NavBarItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
97
97
|
}),
|
98
98
|
classNames = _useStatusClasses.classNames;
|
99
99
|
|
100
|
+
var color = isSelected ? 'white' : 'neutral.95';
|
100
101
|
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
|
101
102
|
id: key,
|
102
103
|
variant: "navBar.navItem",
|
@@ -106,7 +107,7 @@ var NavBarItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
106
107
|
ref: navItemRef
|
107
108
|
}, mergedProps, {
|
108
109
|
sx: {
|
109
|
-
|
110
|
+
flexGrow: 0
|
110
111
|
}
|
111
112
|
}), (0, _react2.jsx)(_index.Box, {
|
112
113
|
isRow: true,
|
@@ -116,11 +117,11 @@ var NavBarItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
116
117
|
}, icon && (0, _react2.jsx)(_index.Icon, {
|
117
118
|
icon: icon,
|
118
119
|
"aria-label": text,
|
119
|
-
size:
|
120
|
+
size: "sm",
|
120
121
|
sx: {
|
121
|
-
mr: '
|
122
|
-
color:
|
123
|
-
fill:
|
122
|
+
mr: 'sm',
|
123
|
+
color: color,
|
124
|
+
fill: color
|
124
125
|
}
|
125
126
|
}), (0, _react2.jsx)(_index.Text, {
|
126
127
|
variant: "navBarHeaderText"
|
@@ -41,19 +41,17 @@ var NavBarItemBody = function NavBarItemBody(_ref) {
|
|
41
41
|
onKeyDown = _ref.onKeyDown;
|
42
42
|
|
43
43
|
var renderSubTitle = function renderSubTitle(child) {
|
44
|
-
var hasSeparator = child.hasSeparator,
|
44
|
+
var _child$hasSeparator = child.hasSeparator,
|
45
|
+
hasSeparator = _child$hasSeparator === void 0 ? true : _child$hasSeparator,
|
45
46
|
subTitle = child.subTitle;
|
46
47
|
return (0, _react2.jsx)(_react.Fragment, {
|
47
48
|
key: "fragment".concat(subTitle)
|
48
|
-
},
|
49
|
+
}, hasSeparator && (0, _react2.jsx)(_index.Separator, {
|
49
50
|
variant: "separator.navBarSubtitleSeparator"
|
50
51
|
}), (0, _react2.jsx)(_index.Text, {
|
51
52
|
key: "text".concat(subTitle),
|
52
|
-
|
53
|
-
|
54
|
-
ml: '45px',
|
55
|
-
mt: 'md'
|
56
|
-
},
|
53
|
+
ml: "45px",
|
54
|
+
mt: hasSeparator ? '0' : undefined,
|
57
55
|
variant: "text.navBarSubtitle"
|
58
56
|
}, subTitle));
|
59
57
|
};
|
@@ -67,8 +65,8 @@ var NavBarItemBody = function NavBarItemBody(_ref) {
|
|
67
65
|
|
68
66
|
return (0, _react2.jsx)(_index.Box, {
|
69
67
|
sx: {
|
70
|
-
alignItems: '
|
71
|
-
mb: '
|
68
|
+
alignItems: 'stretch',
|
69
|
+
mb: 'md'
|
72
70
|
}
|
73
71
|
}, (0, _map["default"])(_context = item.children).call(_context, renderChild));
|
74
72
|
};
|
@@ -72,7 +72,8 @@ var NavBarItemButton = function NavBarItemButton(props) {
|
|
72
72
|
id: key,
|
73
73
|
variant: "navItemButton",
|
74
74
|
onPress: onNavPress,
|
75
|
-
className: classNames
|
75
|
+
className: classNames,
|
76
|
+
color: isSelected ? 'white' : undefined
|
76
77
|
}, others, {
|
77
78
|
sx: _objectSpread({
|
78
79
|
paddingLeft: '45px',
|
@@ -72,6 +72,7 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
|
|
72
72
|
}),
|
73
73
|
classNames = _useStatusClasses.classNames;
|
74
74
|
|
75
|
+
var color = childSelected && !isExpanded ? 'white' : 'neutral.95';
|
75
76
|
return (0, _react2.jsx)(_index.Box, {
|
76
77
|
variant: "navBar.itemHeaderContainer",
|
77
78
|
className: classNames,
|
@@ -82,8 +83,8 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
|
|
82
83
|
size: "sm",
|
83
84
|
sx: {
|
84
85
|
mr: '10px',
|
85
|
-
color:
|
86
|
-
fill:
|
86
|
+
color: color,
|
87
|
+
fill: color
|
87
88
|
},
|
88
89
|
"aria-hidden": "true"
|
89
90
|
}), (0, _react2.jsx)(_index.Text, {
|
@@ -96,10 +97,10 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
|
|
96
97
|
}
|
97
98
|
}, (0, _react2.jsx)(_index.Icon, {
|
98
99
|
icon: isExpanded ? _MenuUpIcon["default"] : _MenuDownIcon["default"],
|
99
|
-
size: "
|
100
|
+
size: "sm",
|
100
101
|
sx: {
|
101
|
-
color:
|
102
|
-
fill:
|
102
|
+
color: color,
|
103
|
+
fill: color
|
103
104
|
},
|
104
105
|
"aria-label": isExpanded ? 'Menu up' : 'Menu down'
|
105
106
|
})));
|
@@ -71,7 +71,8 @@ var NavBarItemLink = function NavBarItemLink(props) {
|
|
71
71
|
id: key,
|
72
72
|
variant: "buttons.navItemButton",
|
73
73
|
className: classNames,
|
74
|
-
onPress: onNavPress
|
74
|
+
onPress: onNavPress,
|
75
|
+
color: isSelected ? 'white' : undefined
|
75
76
|
}, others, {
|
76
77
|
sx: _objectSpread({
|
77
78
|
paddingLeft: '45px',
|
@@ -67,8 +67,11 @@ var NavBarSection = function NavBarSection(_ref) {
|
|
67
67
|
var childrenItems = (0, _filter["default"])(items).call(items, function (item) {
|
68
68
|
return item.children;
|
69
69
|
});
|
70
|
-
return (0, _react2.jsx)(_react["default"].Fragment, null,
|
71
|
-
variant: "
|
70
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, hasSeparator && (0, _react2.jsx)(_.Separator, {
|
71
|
+
variant: "separator.navBarSeparator"
|
72
|
+
}), title && (0, _react2.jsx)(_.Text, {
|
73
|
+
variant: "text.navBarSubtitle",
|
74
|
+
mt: hasSeparator ? '0' : undefined
|
72
75
|
}, title), (0, _react2.jsx)("ul", (0, _extends2["default"])({
|
73
76
|
ref: ref,
|
74
77
|
style: {
|
@@ -83,16 +86,6 @@ var NavBarSection = function NavBarSection(_ref) {
|
|
83
86
|
key: item.key,
|
84
87
|
item: item
|
85
88
|
}));
|
86
|
-
})), hasSeparator && (0, _react2.jsx)(_.Box, {
|
87
|
-
sx: {
|
88
|
-
pl: '15px',
|
89
|
-
pr: '15px',
|
90
|
-
my: '10px',
|
91
|
-
mt: '15px',
|
92
|
-
mb: '15px'
|
93
|
-
}
|
94
|
-
}, (0, _react2.jsx)(_.Separator, {
|
95
|
-
variant: "separator.navBarSeparator"
|
96
89
|
})));
|
97
90
|
};
|
98
91
|
|
@@ -87,16 +87,15 @@ var navItemButton = {
|
|
87
87
|
cursor: 'pointer',
|
88
88
|
borderRadius: 0,
|
89
89
|
backgroundColor: 'transparent',
|
90
|
-
paddingTop: '
|
91
|
-
paddingBottom: '
|
90
|
+
paddingTop: 'sm',
|
91
|
+
paddingBottom: 'sm',
|
92
92
|
display: 'block',
|
93
|
-
color: 'neutral.
|
94
|
-
fontSize: '
|
95
|
-
fontWeight:
|
93
|
+
color: 'neutral.90',
|
94
|
+
fontSize: 'md',
|
95
|
+
fontWeight: 0,
|
96
96
|
flexGrow: '1',
|
97
97
|
width: '100%',
|
98
98
|
textAlign: 'left',
|
99
|
-
lineHeight: '16px',
|
100
99
|
whiteSpace: 'break-spaces',
|
101
100
|
overflowWrap: 'break-word',
|
102
101
|
maxWidth: '100%',
|
@@ -46,18 +46,17 @@ var itemHeaderContainer = {
|
|
46
46
|
flexGrow: 1,
|
47
47
|
alignItems: 'center',
|
48
48
|
maxWidth: '230px',
|
49
|
-
|
49
|
+
py: 'sm',
|
50
|
+
px: 'md',
|
50
51
|
cursor: 'pointer',
|
51
52
|
minHeight: '40px',
|
52
|
-
fontWeight: 0,
|
53
|
-
fontSize: '16px',
|
54
53
|
'&.is-selected': {
|
55
54
|
backgroundColor: 'accent.5',
|
56
55
|
boxShadow: 'inset 2px 0 0 0 white'
|
57
56
|
}
|
58
57
|
};
|
59
58
|
var sectionContainer = {
|
60
|
-
pt: '
|
59
|
+
pt: 'sm',
|
61
60
|
height: '100%',
|
62
61
|
maxHeight: '100%',
|
63
62
|
overflowY: 'auto'
|
@@ -71,7 +70,8 @@ var navItem = {
|
|
71
70
|
cursor: 'pointer',
|
72
71
|
minHeight: '40px',
|
73
72
|
lineHeight: '30px',
|
74
|
-
|
73
|
+
py: 'sm',
|
74
|
+
px: 'md',
|
75
75
|
outline: 'none',
|
76
76
|
display: 'flex',
|
77
77
|
justifyContent: 'flex-start',
|
@@ -81,7 +81,6 @@ var navItem = {
|
|
81
81
|
color: 'neutral.95',
|
82
82
|
flexGrow: 1,
|
83
83
|
fontWeight: 0,
|
84
|
-
fontSize: '16px',
|
85
84
|
'&.is-focused': {
|
86
85
|
outline: '1px solid',
|
87
86
|
outlineColor: 'focus'
|
@@ -35,6 +35,7 @@ var base = {
|
|
35
35
|
width: '100%',
|
36
36
|
height: '1px',
|
37
37
|
my: '5px',
|
38
|
+
flexShrink: 0,
|
38
39
|
'&.is-vertical': {
|
39
40
|
width: '1px',
|
40
41
|
height: '100%',
|
@@ -43,16 +44,14 @@ var base = {
|
|
43
44
|
};
|
44
45
|
|
45
46
|
var navBarSeparator = _objectSpread(_objectSpread({}, base), {}, {
|
46
|
-
width: '
|
47
|
-
|
48
|
-
|
47
|
+
width: 'auto',
|
48
|
+
my: 'md',
|
49
|
+
mx: 'md',
|
50
|
+
backgroundColor: 'neutral.60'
|
49
51
|
});
|
50
52
|
|
51
|
-
var navBarSubtitleSeparator = _objectSpread(_objectSpread({},
|
52
|
-
|
53
|
-
ml: '45px',
|
54
|
-
width: 'calc(100% - 60px)',
|
55
|
-
backgroundColor: 'neutral.60'
|
53
|
+
var navBarSubtitleSeparator = _objectSpread(_objectSpread({}, navBarSeparator), {}, {
|
54
|
+
ml: '45px'
|
56
55
|
});
|
57
56
|
|
58
57
|
var _default = {
|
@@ -177,20 +177,23 @@ var environmentBreadcrumb = _objectSpread(_objectSpread({}, base), {}, {
|
|
177
177
|
|
178
178
|
var navBarSubtitle = {
|
179
179
|
ml: 'md',
|
180
|
-
|
181
|
-
fontWeight:
|
182
|
-
fontSize: '
|
180
|
+
my: 'sm',
|
181
|
+
fontWeight: 1,
|
182
|
+
fontSize: 'sm',
|
183
183
|
color: 'accent.80',
|
184
184
|
zIndex: '100'
|
185
185
|
};
|
186
186
|
|
187
187
|
var navBarHeaderText = _objectSpread(_objectSpread({}, wordWrap), {}, {
|
188
188
|
whiteSpace: 'break-spaces',
|
189
|
-
lineHeight:
|
190
|
-
fontSize: '
|
189
|
+
lineHeight: 1,
|
190
|
+
fontSize: 'md',
|
191
191
|
fontWeight: 1,
|
192
192
|
maxWidth: '150px',
|
193
|
-
color: '
|
193
|
+
color: 'neutral.95',
|
194
|
+
'.is-selected &': {
|
195
|
+
color: 'white'
|
196
|
+
}
|
194
197
|
});
|
195
198
|
|
196
199
|
var collapsiblePanellItem = _objectSpread(_objectSpread({}, wordWrap), {}, {
|
@@ -26,6 +26,7 @@ import { AccordionGridContext } from '../../context/AccordionGridContext';
|
|
26
26
|
import AccordionGridItem from '../AccordionGridItem';
|
27
27
|
import Box from '../Box';
|
28
28
|
import { isIterableProp } from '../../utils/devUtils/props/isIterable';
|
29
|
+
import useDevelopmentWarning from '../../hooks/useDevelopmentWarning';
|
29
30
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
30
31
|
export var collectionTypes = {
|
31
32
|
ITEM: 'item',
|
@@ -47,13 +48,18 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
47
48
|
var _context2;
|
48
49
|
|
49
50
|
var disabledKeys = props.disabledKeys,
|
50
|
-
containerProps = props.containerProps
|
51
|
+
containerProps = props.containerProps,
|
52
|
+
navigationMode = props.navigationMode;
|
51
53
|
var accordionGridRef = useRef();
|
52
54
|
/* istanbul ignore next */
|
53
55
|
|
54
56
|
useImperativeHandle(ref, function () {
|
55
57
|
return accordionGridRef.current;
|
56
58
|
});
|
59
|
+
useDevelopmentWarning({
|
60
|
+
message: 'Use navigationMode prop for AccordionGridGroup',
|
61
|
+
shouldTrigger: !navigationMode
|
62
|
+
});
|
57
63
|
|
58
64
|
var _useListState = useListState(props),
|
59
65
|
collection = _useListState.collection;
|
@@ -124,6 +130,12 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
124
130
|
gridProps = _useGrid.gridProps;
|
125
131
|
|
126
132
|
delete gridProps.onMouseDown;
|
133
|
+
|
134
|
+
if (navigationMode === 'native') {
|
135
|
+
delete gridProps.onKeyDown;
|
136
|
+
delete gridProps.onKeyDownCapture;
|
137
|
+
}
|
138
|
+
|
127
139
|
return ___EmotionJSX(AccordionGridContext.Provider, {
|
128
140
|
value: {
|
129
141
|
state: state,
|
@@ -135,7 +147,8 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
135
147
|
}), _mapInstanceProperty(_context2 = _Array$from(state.collection)).call(_context2, function (item) {
|
136
148
|
return ___EmotionJSX(AccordionGridItem, _extends({
|
137
149
|
key: item.key,
|
138
|
-
item: item
|
150
|
+
item: item,
|
151
|
+
navigationMode: navigationMode
|
139
152
|
}, item.props), item.props.children);
|
140
153
|
})));
|
141
154
|
});
|
@@ -161,6 +174,13 @@ AccordionGridGroup.propTypes = {
|
|
161
174
|
*/
|
162
175
|
onSelectionChange: PropTypes.func,
|
163
176
|
|
177
|
+
/**
|
178
|
+
* Defines a type of navigation mode.
|
179
|
+
* "native" - navigation via "tab" key.
|
180
|
+
* "arrows" - navigation via arrow keys.
|
181
|
+
*/
|
182
|
+
navigationMode: PropTypes.string,
|
183
|
+
|
164
184
|
/**
|
165
185
|
* The item keys that are disabled. These items cannot be selected, focused, or otherwise
|
166
186
|
* interacted with.
|