@pingux/astro 1.27.0-alpha.2 → 1.27.0-alpha.4
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/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +8 -2
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +35 -0
- package/lib/cjs/recipes/ListAndPanel.stories.js +102 -87
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +7 -2
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +25 -0
- package/lib/recipes/ListAndPanel.stories.js +102 -87
- package/package.json +1 -1
@@ -58,6 +58,8 @@ var _overlays = require("@react-stately/overlays");
|
|
58
58
|
|
59
59
|
var _overlays2 = require("@react-aria/overlays");
|
60
60
|
|
61
|
+
var _utils = require("@react-aria/utils");
|
62
|
+
|
61
63
|
var _ArrowDropUpIcon = _interopRequireDefault(require("mdi-react/ArrowDropUpIcon"));
|
62
64
|
|
63
65
|
var _ArrowDropDownIcon = _interopRequireDefault(require("mdi-react/ArrowDropDownIcon"));
|
@@ -74,7 +76,7 @@ var _index = require("../../index");
|
|
74
76
|
|
75
77
|
var _react2 = require("@emotion/react");
|
76
78
|
|
77
|
-
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "onOpenChange", "onNamePress", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "name", "searchProps", "selectedItem"];
|
79
|
+
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "onOpenChange", "onNamePress", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "name", "searchProps", "selectedItem", "popoverProps"];
|
78
80
|
|
79
81
|
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); }
|
80
82
|
|
@@ -101,6 +103,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
101
103
|
name = props.name,
|
102
104
|
searchProps = props.searchProps,
|
103
105
|
selectedItem = props.selectedItem,
|
106
|
+
popoverProps = props.popoverProps,
|
104
107
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
105
108
|
|
106
109
|
var _useState = (0, _react.useState)(''),
|
@@ -267,7 +270,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
267
270
|
"aria-label": "".concat((typeof selectedItem === 'string' ? selectedItem : selectedValue) || 'Selected Item')
|
268
271
|
}), selectedItem, (0, _react2.jsx)(_index.Icon, {
|
269
272
|
icon: popoverState.isOpen ? _ArrowDropUpIcon["default"] : _ArrowDropDownIcon["default"]
|
270
|
-
})), (0, _react2.jsx)(_index.PopoverContainer, (0, _extends2["default"])({}, overlayProps, positionProps, {
|
273
|
+
})), (0, _react2.jsx)(_index.PopoverContainer, (0, _extends2["default"])({}, overlayProps, positionProps, (0, _utils.mergeProps)(overlayProps, positionProps, popoverProps), {
|
271
274
|
ref: overlayRef,
|
272
275
|
isOpen: popoverState.isOpen,
|
273
276
|
scrollRef: scrollBoxRef,
|
@@ -355,6 +358,9 @@ EnvironmentBreadcrumb.propTypes = {
|
|
355
358
|
/** Callback function that fires when the dropdown is closed. */
|
356
359
|
onPopoverClose: _propTypes["default"].func,
|
357
360
|
|
361
|
+
/** Props object that is spread directly into the popover container component. */
|
362
|
+
popoverProps: _propTypes["default"].shape({}),
|
363
|
+
|
358
364
|
/** Props object that is spread directly into the SearchField element. */
|
359
365
|
searchProps: _propTypes["default"].shape({}),
|
360
366
|
|
@@ -2,10 +2,28 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
4
|
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
8
|
+
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
|
11
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
12
|
+
|
13
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
14
|
+
|
15
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
16
|
+
|
17
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
18
|
+
|
19
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
20
|
+
|
5
21
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
|
6
22
|
|
7
23
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
8
24
|
|
25
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
26
|
+
|
9
27
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
10
28
|
|
11
29
|
var _react = _interopRequireDefault(require("react"));
|
@@ -22,6 +40,10 @@ var _index = require("../../index");
|
|
22
40
|
|
23
41
|
var _react2 = require("@emotion/react");
|
24
42
|
|
43
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
44
|
+
|
45
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
46
|
+
|
25
47
|
var testEnvBreadcrumb = 'test-env-breadcrumb';
|
26
48
|
var testName = 'test-name';
|
27
49
|
var testSelectedItem = 'test-selected-item';
|
@@ -52,6 +74,10 @@ var defaultProps = {
|
|
52
74
|
},
|
53
75
|
items: items
|
54
76
|
};
|
77
|
+
var popoverProps = {
|
78
|
+
maxWidth: '100px',
|
79
|
+
'data-testid': 'popover-container'
|
80
|
+
};
|
55
81
|
var defaultWithSectionsProps = {
|
56
82
|
'data-testid': testEnvBreadcrumb,
|
57
83
|
name: testName,
|
@@ -135,6 +161,15 @@ test('should display name', function () {
|
|
135
161
|
getComponent();
|
136
162
|
expect(_testWrapper.screen.getByText(testName)).toBeInTheDocument();
|
137
163
|
});
|
164
|
+
test('should spread props into popover container', function () {
|
165
|
+
getComponent(_objectSpread(_objectSpread({}, popoverProps), {}, {
|
166
|
+
isDefaultOpen: true
|
167
|
+
}));
|
168
|
+
|
169
|
+
_userEvent["default"].click(_testWrapper.screen.getByText(testSelectedItem));
|
170
|
+
|
171
|
+
expect(_testWrapper.screen.queryByTestId('popover-container')).toHaveStyle('max-width: 100px');
|
172
|
+
});
|
138
173
|
test('should display selectedItem', function () {
|
139
174
|
getComponent();
|
140
175
|
expect(_testWrapper.screen.getByText(testSelectedItem)).toBeInTheDocument();
|
@@ -128,44 +128,106 @@ var items = [{
|
|
128
128
|
avatar: _AccountIcon["default"],
|
129
129
|
hasSeparator: false
|
130
130
|
}];
|
131
|
+
var sx = {
|
132
|
+
wrapper: {
|
133
|
+
px: 'lg',
|
134
|
+
py: 'lg',
|
135
|
+
bg: 'accent.99',
|
136
|
+
height: '900px',
|
137
|
+
overflowY: 'scroll'
|
138
|
+
},
|
139
|
+
searchField: {
|
140
|
+
position: 'fixed',
|
141
|
+
mb: 'sm',
|
142
|
+
width: '400px'
|
143
|
+
},
|
144
|
+
listElementWrapper: {
|
145
|
+
px: 'md',
|
146
|
+
bg: 'accent.99',
|
147
|
+
justifyContent: 'center'
|
148
|
+
},
|
149
|
+
separator: {
|
150
|
+
bg: 'accent.90'
|
151
|
+
},
|
152
|
+
tabsWrapper: {
|
153
|
+
px: 'lg',
|
154
|
+
pt: 'xs'
|
155
|
+
},
|
156
|
+
iconButton: {
|
157
|
+
position: 'absolute',
|
158
|
+
top: 0,
|
159
|
+
right: 0
|
160
|
+
},
|
161
|
+
itemLabel: {
|
162
|
+
fontSize: 'sm',
|
163
|
+
fontWeight: 3,
|
164
|
+
lineHeight: '16px',
|
165
|
+
mb: 'xs'
|
166
|
+
},
|
167
|
+
itemValue: {
|
168
|
+
fontWeight: 0,
|
169
|
+
lineHeight: '18px',
|
170
|
+
variant: 'base',
|
171
|
+
mb: 'md'
|
172
|
+
},
|
173
|
+
listElement: {
|
174
|
+
wrapper: {
|
175
|
+
minHeight: '60px'
|
176
|
+
},
|
177
|
+
iconWrapper: {
|
178
|
+
mr: 'auto',
|
179
|
+
alignItems: 'center'
|
180
|
+
},
|
181
|
+
icon: {
|
182
|
+
mr: 'sm',
|
183
|
+
alignSelf: 'center',
|
184
|
+
color: 'accent.40'
|
185
|
+
},
|
186
|
+
avatar: {
|
187
|
+
width: '25px',
|
188
|
+
height: '25px',
|
189
|
+
mr: 'md'
|
190
|
+
},
|
191
|
+
title: {
|
192
|
+
alignSelf: 'start'
|
193
|
+
},
|
194
|
+
subtitle: {
|
195
|
+
fontSize: 'sm',
|
196
|
+
my: '1px',
|
197
|
+
lineHeight: '16px',
|
198
|
+
alignSelf: 'start'
|
199
|
+
},
|
200
|
+
menuWrapper: {
|
201
|
+
alignSelf: 'center'
|
202
|
+
}
|
203
|
+
}
|
204
|
+
};
|
131
205
|
|
132
206
|
var ListElement = function ListElement(_ref) {
|
133
207
|
var item = _ref.item,
|
134
208
|
onClosePanel = _ref.onClosePanel;
|
135
209
|
return (0, _react2.jsx)(_index.Box, {
|
136
210
|
isRow: true,
|
137
|
-
|
211
|
+
sx: sx.listElement.wrapper
|
138
212
|
}, (0, _react2.jsx)(_index.Box, {
|
139
213
|
isRow: true,
|
140
|
-
|
141
|
-
alignItems: "center"
|
214
|
+
sx: sx.listElement.iconWrapper
|
142
215
|
}, item.hasIcon ? (0, _react2.jsx)(_index.Icon, {
|
143
216
|
icon: item.avatar,
|
144
|
-
alignSelf: "center",
|
145
217
|
size: 24,
|
146
|
-
|
147
|
-
color: "accent.40"
|
218
|
+
sx: sx.listElement.icon
|
148
219
|
}) : (0, _react2.jsx)(_index.Avatar, {
|
149
|
-
|
150
|
-
sx: {
|
151
|
-
width: '25px',
|
152
|
-
height: '25px'
|
153
|
-
},
|
220
|
+
sx: sx.listElement.avatar,
|
154
221
|
src: item.avatar
|
155
222
|
}), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
156
223
|
variant: "bodyStrong",
|
157
|
-
|
224
|
+
sx: sx.listElement.title
|
158
225
|
}, item.lastName, ", ", item.firstName), (0, _react2.jsx)(_index.Text, {
|
159
|
-
sx: {
|
160
|
-
fontSize: 'sm',
|
161
|
-
my: '1px',
|
162
|
-
lineHeight: '16px'
|
163
|
-
},
|
164
226
|
variant: "subtitle",
|
165
|
-
|
227
|
+
sx: sx.listElement.subtitle
|
166
228
|
}, item.email))), (0, _react2.jsx)(_index.Box, {
|
167
229
|
isRow: true,
|
168
|
-
|
230
|
+
sx: sx.listElement.menuWrapper
|
169
231
|
}, (0, _react2.jsx)(_index.SwitchField, {
|
170
232
|
"aria-label": "active user",
|
171
233
|
isDefaultSelected: true,
|
@@ -222,11 +284,7 @@ var Default = function Default() {
|
|
222
284
|
};
|
223
285
|
|
224
286
|
return (0, _react2.jsx)(_index.Box, {
|
225
|
-
|
226
|
-
py: "lg",
|
227
|
-
bg: "accent.99",
|
228
|
-
height: "900px",
|
229
|
-
overflowY: "scroll"
|
287
|
+
sx: sx.wrapper
|
230
288
|
}, (0, _react2.jsx)(_index.SearchField, {
|
231
289
|
position: "fixed",
|
232
290
|
mb: "sm",
|
@@ -260,18 +318,15 @@ var Default = function Default() {
|
|
260
318
|
restoreFocus: true,
|
261
319
|
autoFocus: true
|
262
320
|
}, (0, _react2.jsx)(_index.Box, {
|
263
|
-
|
264
|
-
bg: "accent.99",
|
265
|
-
justifyContent: "center"
|
321
|
+
sx: sx.listElementWrapper
|
266
322
|
}, (0, _react2.jsx)(ListElement, {
|
267
323
|
item: selectedItemId >= 0 ? items[selectedItemId] : [],
|
268
324
|
onClosePanel: closePanelHandler
|
269
325
|
})), (0, _react2.jsx)(_index.Separator, {
|
270
326
|
margin: 0,
|
271
|
-
|
327
|
+
sx: sx.separator
|
272
328
|
}), (0, _react2.jsx)(_index.Box, {
|
273
|
-
|
274
|
-
pt: "xs"
|
329
|
+
sx: sx.tabsWrapper
|
275
330
|
}, (0, _react2.jsx)(_index.Tabs, {
|
276
331
|
tabListProps: {
|
277
332
|
justifyContent: 'center'
|
@@ -285,73 +340,33 @@ var Default = function Default() {
|
|
285
340
|
title: "Profile"
|
286
341
|
}, selectedItemId >= 0 && (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.IconButton, {
|
287
342
|
variant: "inverted",
|
288
|
-
sx:
|
289
|
-
position: 'absolute',
|
290
|
-
top: 0,
|
291
|
-
right: 0
|
292
|
-
}
|
343
|
+
sx: sx.iconButton
|
293
344
|
}, (0, _react2.jsx)(_PencilIcon["default"], {
|
294
345
|
size: 20
|
295
346
|
})), (0, _react2.jsx)(_index.Text, {
|
296
|
-
sx:
|
297
|
-
|
298
|
-
fontWeight: 3,
|
299
|
-
lineHeight: '16px'
|
300
|
-
},
|
301
|
-
variant: "base",
|
302
|
-
mb: "xs"
|
347
|
+
sx: sx.itemLabel,
|
348
|
+
variant: "base"
|
303
349
|
}, "Full Name"), (0, _react2.jsx)(_index.Text, {
|
304
|
-
sx:
|
305
|
-
|
306
|
-
lineHeight: '18px'
|
307
|
-
},
|
308
|
-
variant: "base",
|
309
|
-
mb: "md"
|
350
|
+
sx: sx.itemValue,
|
351
|
+
variant: "base"
|
310
352
|
}, items[selectedItemId].firstName, " ", items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
|
311
|
-
sx:
|
312
|
-
|
313
|
-
fontWeight: 3,
|
314
|
-
lineHeight: '16px'
|
315
|
-
},
|
316
|
-
variant: "base",
|
317
|
-
mb: "xs"
|
353
|
+
sx: sx.itemLabel,
|
354
|
+
variant: "base"
|
318
355
|
}, "First Name"), (0, _react2.jsx)(_index.Text, {
|
319
|
-
sx:
|
320
|
-
|
321
|
-
lineHeight: '18px'
|
322
|
-
},
|
323
|
-
variant: "base",
|
324
|
-
mb: "md"
|
356
|
+
sx: sx.itemValue,
|
357
|
+
variant: "base"
|
325
358
|
}, items[selectedItemId].firstName), (0, _react2.jsx)(_index.Text, {
|
326
|
-
sx:
|
327
|
-
|
328
|
-
fontWeight: 3,
|
329
|
-
lineHeight: '16px'
|
330
|
-
},
|
331
|
-
variant: "base",
|
332
|
-
mb: "xs"
|
359
|
+
sx: sx.itemLabel,
|
360
|
+
variant: "base"
|
333
361
|
}, "Last Name"), (0, _react2.jsx)(_index.Text, {
|
334
|
-
sx:
|
335
|
-
|
336
|
-
lineHeight: '18px'
|
337
|
-
},
|
338
|
-
variant: "base",
|
339
|
-
mb: "md"
|
362
|
+
sx: sx.itemValue,
|
363
|
+
variant: "base"
|
340
364
|
}, items[selectedItemId].lastName), (0, _react2.jsx)(_index.Text, {
|
341
|
-
sx:
|
342
|
-
|
343
|
-
fontWeight: 3,
|
344
|
-
lineHeight: '16px'
|
345
|
-
},
|
346
|
-
variant: "base",
|
347
|
-
mb: "xs"
|
365
|
+
sx: sx.itemLabel,
|
366
|
+
variant: "base"
|
348
367
|
}, "Email"), (0, _react2.jsx)(_index.Text, {
|
349
|
-
sx:
|
350
|
-
|
351
|
-
lineHeight: '18px'
|
352
|
-
},
|
353
|
-
variant: "base",
|
354
|
-
mb: "md"
|
368
|
+
sx: sx.itemValue,
|
369
|
+
variant: "base"
|
355
370
|
}, items[selectedItemId].email))), (0, _react2.jsx)(_index.Tab, {
|
356
371
|
title: "Group Memberships"
|
357
372
|
}, (0, _react2.jsx)(_index.Text, null, "Group Memberships")), (0, _react2.jsx)(_index.Tab, {
|
@@ -12,7 +12,7 @@ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance
|
|
12
12
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
13
13
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
|
14
14
|
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
|
15
|
-
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "onOpenChange", "onNamePress", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "name", "searchProps", "selectedItem"];
|
15
|
+
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "onOpenChange", "onNamePress", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "name", "searchProps", "selectedItem", "popoverProps"];
|
16
16
|
|
17
17
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
18
18
|
|
@@ -25,6 +25,7 @@ import HomeIcon from 'mdi-react/HomeIcon';
|
|
25
25
|
import PropTypes from 'prop-types';
|
26
26
|
import { useOverlayTriggerState } from '@react-stately/overlays';
|
27
27
|
import { useOverlayPosition, useOverlayTrigger } from '@react-aria/overlays';
|
28
|
+
import { mergeProps } from '@react-aria/utils';
|
28
29
|
import ArrowDropUpIcon from 'mdi-react/ArrowDropUpIcon';
|
29
30
|
import ArrowDropDownIcon from 'mdi-react/ArrowDropDownIcon';
|
30
31
|
import { FocusScope } from '@react-aria/focus';
|
@@ -51,6 +52,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
51
52
|
name = props.name,
|
52
53
|
searchProps = props.searchProps,
|
53
54
|
selectedItem = props.selectedItem,
|
55
|
+
popoverProps = props.popoverProps,
|
54
56
|
others = _objectWithoutProperties(props, _excluded);
|
55
57
|
|
56
58
|
var _useState = useState(''),
|
@@ -215,7 +217,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
215
217
|
"aria-label": "".concat((typeof selectedItem === 'string' ? selectedItem : selectedValue) || 'Selected Item')
|
216
218
|
}), selectedItem, ___EmotionJSX(Icon, {
|
217
219
|
icon: popoverState.isOpen ? ArrowDropUpIcon : ArrowDropDownIcon
|
218
|
-
})), ___EmotionJSX(PopoverContainer, _extends({}, overlayProps, positionProps, {
|
220
|
+
})), ___EmotionJSX(PopoverContainer, _extends({}, overlayProps, positionProps, mergeProps(overlayProps, positionProps, popoverProps), {
|
219
221
|
ref: overlayRef,
|
220
222
|
isOpen: popoverState.isOpen,
|
221
223
|
scrollRef: scrollBoxRef,
|
@@ -303,6 +305,9 @@ EnvironmentBreadcrumb.propTypes = {
|
|
303
305
|
/** Callback function that fires when the dropdown is closed. */
|
304
306
|
onPopoverClose: PropTypes.func,
|
305
307
|
|
308
|
+
/** Props object that is spread directly into the popover container component. */
|
309
|
+
popoverProps: PropTypes.shape({}),
|
310
|
+
|
306
311
|
/** Props object that is spread directly into the SearchField element. */
|
307
312
|
searchProps: PropTypes.shape({}),
|
308
313
|
|
@@ -1,6 +1,20 @@
|
|
1
|
+
import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
|
2
|
+
import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
|
3
|
+
import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
|
4
|
+
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
|
5
|
+
import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
|
6
|
+
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
7
|
+
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
8
|
+
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
1
9
|
import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
|
2
10
|
import _asyncToGenerator from "@babel/runtime-corejs3/helpers/esm/asyncToGenerator";
|
11
|
+
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
3
12
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
13
|
+
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
15
|
+
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
17
|
+
|
4
18
|
import React from 'react';
|
5
19
|
import userEvent from '@testing-library/user-event';
|
6
20
|
import { Section } from '@react-stately/collections';
|
@@ -38,6 +52,10 @@ var defaultProps = {
|
|
38
52
|
},
|
39
53
|
items: items
|
40
54
|
};
|
55
|
+
var popoverProps = {
|
56
|
+
maxWidth: '100px',
|
57
|
+
'data-testid': 'popover-container'
|
58
|
+
};
|
41
59
|
var defaultWithSectionsProps = {
|
42
60
|
'data-testid': testEnvBreadcrumb,
|
43
61
|
name: testName,
|
@@ -115,6 +133,13 @@ test('should display name', function () {
|
|
115
133
|
getComponent();
|
116
134
|
expect(screen.getByText(testName)).toBeInTheDocument();
|
117
135
|
});
|
136
|
+
test('should spread props into popover container', function () {
|
137
|
+
getComponent(_objectSpread(_objectSpread({}, popoverProps), {}, {
|
138
|
+
isDefaultOpen: true
|
139
|
+
}));
|
140
|
+
userEvent.click(screen.getByText(testSelectedItem));
|
141
|
+
expect(screen.queryByTestId('popover-container')).toHaveStyle('max-width: 100px');
|
142
|
+
});
|
118
143
|
test('should display selectedItem', function () {
|
119
144
|
getComponent();
|
120
145
|
expect(screen.getByText(testSelectedItem)).toBeInTheDocument();
|
@@ -92,44 +92,106 @@ var items = [{
|
|
92
92
|
avatar: AccountIcon,
|
93
93
|
hasSeparator: false
|
94
94
|
}];
|
95
|
+
var sx = {
|
96
|
+
wrapper: {
|
97
|
+
px: 'lg',
|
98
|
+
py: 'lg',
|
99
|
+
bg: 'accent.99',
|
100
|
+
height: '900px',
|
101
|
+
overflowY: 'scroll'
|
102
|
+
},
|
103
|
+
searchField: {
|
104
|
+
position: 'fixed',
|
105
|
+
mb: 'sm',
|
106
|
+
width: '400px'
|
107
|
+
},
|
108
|
+
listElementWrapper: {
|
109
|
+
px: 'md',
|
110
|
+
bg: 'accent.99',
|
111
|
+
justifyContent: 'center'
|
112
|
+
},
|
113
|
+
separator: {
|
114
|
+
bg: 'accent.90'
|
115
|
+
},
|
116
|
+
tabsWrapper: {
|
117
|
+
px: 'lg',
|
118
|
+
pt: 'xs'
|
119
|
+
},
|
120
|
+
iconButton: {
|
121
|
+
position: 'absolute',
|
122
|
+
top: 0,
|
123
|
+
right: 0
|
124
|
+
},
|
125
|
+
itemLabel: {
|
126
|
+
fontSize: 'sm',
|
127
|
+
fontWeight: 3,
|
128
|
+
lineHeight: '16px',
|
129
|
+
mb: 'xs'
|
130
|
+
},
|
131
|
+
itemValue: {
|
132
|
+
fontWeight: 0,
|
133
|
+
lineHeight: '18px',
|
134
|
+
variant: 'base',
|
135
|
+
mb: 'md'
|
136
|
+
},
|
137
|
+
listElement: {
|
138
|
+
wrapper: {
|
139
|
+
minHeight: '60px'
|
140
|
+
},
|
141
|
+
iconWrapper: {
|
142
|
+
mr: 'auto',
|
143
|
+
alignItems: 'center'
|
144
|
+
},
|
145
|
+
icon: {
|
146
|
+
mr: 'sm',
|
147
|
+
alignSelf: 'center',
|
148
|
+
color: 'accent.40'
|
149
|
+
},
|
150
|
+
avatar: {
|
151
|
+
width: '25px',
|
152
|
+
height: '25px',
|
153
|
+
mr: 'md'
|
154
|
+
},
|
155
|
+
title: {
|
156
|
+
alignSelf: 'start'
|
157
|
+
},
|
158
|
+
subtitle: {
|
159
|
+
fontSize: 'sm',
|
160
|
+
my: '1px',
|
161
|
+
lineHeight: '16px',
|
162
|
+
alignSelf: 'start'
|
163
|
+
},
|
164
|
+
menuWrapper: {
|
165
|
+
alignSelf: 'center'
|
166
|
+
}
|
167
|
+
}
|
168
|
+
};
|
95
169
|
|
96
170
|
var ListElement = function ListElement(_ref) {
|
97
171
|
var item = _ref.item,
|
98
172
|
onClosePanel = _ref.onClosePanel;
|
99
173
|
return ___EmotionJSX(Box, {
|
100
174
|
isRow: true,
|
101
|
-
|
175
|
+
sx: sx.listElement.wrapper
|
102
176
|
}, ___EmotionJSX(Box, {
|
103
177
|
isRow: true,
|
104
|
-
|
105
|
-
alignItems: "center"
|
178
|
+
sx: sx.listElement.iconWrapper
|
106
179
|
}, item.hasIcon ? ___EmotionJSX(Icon, {
|
107
180
|
icon: item.avatar,
|
108
|
-
alignSelf: "center",
|
109
181
|
size: 24,
|
110
|
-
|
111
|
-
color: "accent.40"
|
182
|
+
sx: sx.listElement.icon
|
112
183
|
}) : ___EmotionJSX(Avatar, {
|
113
|
-
|
114
|
-
sx: {
|
115
|
-
width: '25px',
|
116
|
-
height: '25px'
|
117
|
-
},
|
184
|
+
sx: sx.listElement.avatar,
|
118
185
|
src: item.avatar
|
119
186
|
}), ___EmotionJSX(Box, null, ___EmotionJSX(Text, {
|
120
187
|
variant: "bodyStrong",
|
121
|
-
|
188
|
+
sx: sx.listElement.title
|
122
189
|
}, item.lastName, ", ", item.firstName), ___EmotionJSX(Text, {
|
123
|
-
sx: {
|
124
|
-
fontSize: 'sm',
|
125
|
-
my: '1px',
|
126
|
-
lineHeight: '16px'
|
127
|
-
},
|
128
190
|
variant: "subtitle",
|
129
|
-
|
191
|
+
sx: sx.listElement.subtitle
|
130
192
|
}, item.email))), ___EmotionJSX(Box, {
|
131
193
|
isRow: true,
|
132
|
-
|
194
|
+
sx: sx.listElement.menuWrapper
|
133
195
|
}, ___EmotionJSX(SwitchField, {
|
134
196
|
"aria-label": "active user",
|
135
197
|
isDefaultSelected: true,
|
@@ -186,11 +248,7 @@ export var Default = function Default() {
|
|
186
248
|
};
|
187
249
|
|
188
250
|
return ___EmotionJSX(Box, {
|
189
|
-
|
190
|
-
py: "lg",
|
191
|
-
bg: "accent.99",
|
192
|
-
height: "900px",
|
193
|
-
overflowY: "scroll"
|
251
|
+
sx: sx.wrapper
|
194
252
|
}, ___EmotionJSX(SearchField, {
|
195
253
|
position: "fixed",
|
196
254
|
mb: "sm",
|
@@ -224,18 +282,15 @@ export var Default = function Default() {
|
|
224
282
|
restoreFocus: true,
|
225
283
|
autoFocus: true
|
226
284
|
}, ___EmotionJSX(Box, {
|
227
|
-
|
228
|
-
bg: "accent.99",
|
229
|
-
justifyContent: "center"
|
285
|
+
sx: sx.listElementWrapper
|
230
286
|
}, ___EmotionJSX(ListElement, {
|
231
287
|
item: selectedItemId >= 0 ? items[selectedItemId] : [],
|
232
288
|
onClosePanel: closePanelHandler
|
233
289
|
})), ___EmotionJSX(Separator, {
|
234
290
|
margin: 0,
|
235
|
-
|
291
|
+
sx: sx.separator
|
236
292
|
}), ___EmotionJSX(Box, {
|
237
|
-
|
238
|
-
pt: "xs"
|
293
|
+
sx: sx.tabsWrapper
|
239
294
|
}, ___EmotionJSX(Tabs, {
|
240
295
|
tabListProps: {
|
241
296
|
justifyContent: 'center'
|
@@ -249,73 +304,33 @@ export var Default = function Default() {
|
|
249
304
|
title: "Profile"
|
250
305
|
}, selectedItemId >= 0 && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(IconButton, {
|
251
306
|
variant: "inverted",
|
252
|
-
sx:
|
253
|
-
position: 'absolute',
|
254
|
-
top: 0,
|
255
|
-
right: 0
|
256
|
-
}
|
307
|
+
sx: sx.iconButton
|
257
308
|
}, ___EmotionJSX(PencilIcon, {
|
258
309
|
size: 20
|
259
310
|
})), ___EmotionJSX(Text, {
|
260
|
-
sx:
|
261
|
-
|
262
|
-
fontWeight: 3,
|
263
|
-
lineHeight: '16px'
|
264
|
-
},
|
265
|
-
variant: "base",
|
266
|
-
mb: "xs"
|
311
|
+
sx: sx.itemLabel,
|
312
|
+
variant: "base"
|
267
313
|
}, "Full Name"), ___EmotionJSX(Text, {
|
268
|
-
sx:
|
269
|
-
|
270
|
-
lineHeight: '18px'
|
271
|
-
},
|
272
|
-
variant: "base",
|
273
|
-
mb: "md"
|
314
|
+
sx: sx.itemValue,
|
315
|
+
variant: "base"
|
274
316
|
}, items[selectedItemId].firstName, " ", items[selectedItemId].lastName), ___EmotionJSX(Text, {
|
275
|
-
sx:
|
276
|
-
|
277
|
-
fontWeight: 3,
|
278
|
-
lineHeight: '16px'
|
279
|
-
},
|
280
|
-
variant: "base",
|
281
|
-
mb: "xs"
|
317
|
+
sx: sx.itemLabel,
|
318
|
+
variant: "base"
|
282
319
|
}, "First Name"), ___EmotionJSX(Text, {
|
283
|
-
sx:
|
284
|
-
|
285
|
-
lineHeight: '18px'
|
286
|
-
},
|
287
|
-
variant: "base",
|
288
|
-
mb: "md"
|
320
|
+
sx: sx.itemValue,
|
321
|
+
variant: "base"
|
289
322
|
}, items[selectedItemId].firstName), ___EmotionJSX(Text, {
|
290
|
-
sx:
|
291
|
-
|
292
|
-
fontWeight: 3,
|
293
|
-
lineHeight: '16px'
|
294
|
-
},
|
295
|
-
variant: "base",
|
296
|
-
mb: "xs"
|
323
|
+
sx: sx.itemLabel,
|
324
|
+
variant: "base"
|
297
325
|
}, "Last Name"), ___EmotionJSX(Text, {
|
298
|
-
sx:
|
299
|
-
|
300
|
-
lineHeight: '18px'
|
301
|
-
},
|
302
|
-
variant: "base",
|
303
|
-
mb: "md"
|
326
|
+
sx: sx.itemValue,
|
327
|
+
variant: "base"
|
304
328
|
}, items[selectedItemId].lastName), ___EmotionJSX(Text, {
|
305
|
-
sx:
|
306
|
-
|
307
|
-
fontWeight: 3,
|
308
|
-
lineHeight: '16px'
|
309
|
-
},
|
310
|
-
variant: "base",
|
311
|
-
mb: "xs"
|
329
|
+
sx: sx.itemLabel,
|
330
|
+
variant: "base"
|
312
331
|
}, "Email"), ___EmotionJSX(Text, {
|
313
|
-
sx:
|
314
|
-
|
315
|
-
lineHeight: '18px'
|
316
|
-
},
|
317
|
-
variant: "base",
|
318
|
-
mb: "md"
|
332
|
+
sx: sx.itemValue,
|
333
|
+
variant: "base"
|
319
334
|
}, items[selectedItemId].email))), ___EmotionJSX(Tab, {
|
320
335
|
title: "Group Memberships"
|
321
336
|
}, ___EmotionJSX(Text, null, "Group Memberships")), ___EmotionJSX(Tab, {
|