@pingux/astro 2.56.0 → 2.57.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.d.ts +9 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +39 -80
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.d.ts +12 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +27 -19
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.d.ts +4 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +41 -29
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentalBreadcrumb.styles.d.ts +78 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentalBreadcrumbUniversal.test.d.ts +1 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/index.d.ts +1 -0
- package/lib/cjs/types/environmentBreadcrumb.d.ts +60 -0
- package/lib/cjs/types/environmentBreadcrumb.js +6 -0
- package/lib/cjs/types/index.d.ts +1 -0
- package/lib/cjs/types/index.js +41 -30
- package/lib/cjs/types/listBox.d.ts +1 -1
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +41 -82
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +25 -17
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +41 -29
- package/lib/types/environmentBreadcrumb.js +1 -0
- package/lib/types/index.js +1 -0
- package/package.json +1 -1
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { EnvironmentBreadcrumbProps, EnvironmentItemProps } from '../../types';
|
3
|
+
export declare const breadCrumbDataIds: {
|
4
|
+
dropdownList: string;
|
5
|
+
environmentButton: string;
|
6
|
+
orgButton: string;
|
7
|
+
};
|
8
|
+
declare const EnvironmentBreadcrumb: React.ForwardRefExoticComponent<EnvironmentBreadcrumbProps<EnvironmentItemProps> & React.RefAttributes<HTMLElement>>;
|
9
|
+
export default EnvironmentBreadcrumb;
|
@@ -21,6 +21,7 @@ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-sta
|
|
21
21
|
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
22
22
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
23
23
|
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
24
|
+
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
|
24
25
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
25
26
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
26
27
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
@@ -36,11 +37,9 @@ var _HomeIcon = _interopRequireDefault(require("@pingux/mdi-react/HomeIcon"));
|
|
36
37
|
var _i18n = require("@react-aria/i18n");
|
37
38
|
var _visuallyHidden = require("@react-aria/visually-hidden");
|
38
39
|
var _list = require("@react-stately/list");
|
39
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
40
40
|
var _uuid = require("uuid");
|
41
41
|
var _hooks = require("../../hooks");
|
42
42
|
var _index = require("../../index");
|
43
|
-
var _isIterable = require("../../utils/devUtils/props/isIterable");
|
44
43
|
var _ListBox = _interopRequireDefault(require("../ListBox"));
|
45
44
|
var _react2 = require("@emotion/react");
|
46
45
|
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "name", "onFilteredOptionsNumber", "onNamePress", "onOpenChange", "optionsCountMessage", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "popoverProps", "searchProps", "selectedItem"];
|
@@ -77,11 +76,12 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
77
76
|
var optionsNumberMessageId = (0, _react.useMemo)(function () {
|
78
77
|
return (0, _uuid.v4)();
|
79
78
|
}, []);
|
79
|
+
var localKey = typeof selectedItem === 'string' ? selectedItem : selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key;
|
80
80
|
var _useState = (0, _react.useState)(''),
|
81
81
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
82
82
|
searchValue = _useState2[0],
|
83
83
|
setSearchValue = _useState2[1];
|
84
|
-
var _useState3 = (0, _react.useState)([
|
84
|
+
var _useState3 = (0, _react.useState)([localKey || '']),
|
85
85
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
86
86
|
selectedKeys = _useState4[0],
|
87
87
|
setSelectedKeys = _useState4[1];
|
@@ -89,29 +89,23 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
89
89
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
90
90
|
isTyping = _useState6[0],
|
91
91
|
setIsTyping = _useState6[1];
|
92
|
-
var
|
93
|
-
var
|
94
|
-
var
|
95
|
-
var
|
96
|
-
|
97
|
-
/* istanbul ignore next */
|
98
|
-
(0, _react.useImperativeHandle)(ref, function () {
|
99
|
-
return breadcrumbsRef.current;
|
100
|
-
});
|
92
|
+
var overlayRef = _react["default"].useRef(null);
|
93
|
+
var triggerRef = _react["default"].useRef(null);
|
94
|
+
var scrollBoxRef = _react["default"].useRef(null);
|
95
|
+
var breadcrumbsRef = (0, _hooks.useLocalOrForwardRef)(ref);
|
101
96
|
var _useFilter = (0, _i18n.useFilter)({
|
102
97
|
sensitivity: 'base'
|
103
98
|
}),
|
104
99
|
contains = _useFilter.contains;
|
105
100
|
var filterNodesWithChildren = function filterNodesWithChildren(iterableNode) {
|
106
101
|
var nodeArr = (0, _from["default"])(iterableNode);
|
107
|
-
|
108
102
|
// with this function we are filtering child items if they have sections
|
109
103
|
// we can't filter items because if it would be a section - we can't change childNodes
|
110
104
|
var filteredSections = (0, _map["default"])(nodeArr).call(nodeArr, function f(nodeItem) {
|
111
105
|
var _context;
|
112
106
|
if ((nodeItem === null || nodeItem === void 0 ? void 0 : nodeItem.type) === 'item') {
|
113
107
|
var _nodeItem$value;
|
114
|
-
return contains(nodeItem === null || nodeItem === void 0 || (_nodeItem$value = nodeItem.value) === null || _nodeItem$value === void 0 ? void 0 : _nodeItem$value.name, searchValue) && nodeItem;
|
108
|
+
return contains((nodeItem === null || nodeItem === void 0 || (_nodeItem$value = nodeItem.value) === null || _nodeItem$value === void 0 ? void 0 : _nodeItem$value.name) || '', searchValue) && nodeItem;
|
115
109
|
}
|
116
110
|
var childNodes = (0, _filter["default"])(_context = (0, _from["default"])(nodeItem.childNodes)).call(_context, f);
|
117
111
|
// Don't return sections without children, see UIP-5951
|
@@ -138,10 +132,13 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
138
132
|
popoverState.close();
|
139
133
|
}, [imperativeOnPopoverClose, popoverState]);
|
140
134
|
var handleSelectionChange = (0, _react.useCallback)(function (selectedItemSet) {
|
141
|
-
var
|
142
|
-
|
135
|
+
var _Array$from2 = (0, _from["default"])(selectedItemSet),
|
136
|
+
_Array$from3 = (0, _slicedToArray2["default"])(_Array$from2, 1),
|
137
|
+
selectedItemKey = _Array$from3[0];
|
143
138
|
setSelectedKeys(selectedItemSet);
|
144
|
-
onSelectionChange
|
139
|
+
if (onSelectionChange) {
|
140
|
+
onSelectionChange(selectedItemKey);
|
141
|
+
}
|
145
142
|
handlePopoverClose();
|
146
143
|
}, [handlePopoverClose, onSelectionChange]);
|
147
144
|
var listBoxProps = {
|
@@ -165,14 +162,19 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
165
162
|
// to read than if(!isListEmpty) IMO
|
166
163
|
var isListHasItems = false;
|
167
164
|
// eslint-disable-next-line consistent-return
|
168
|
-
(function f(listState,
|
165
|
+
(function f(listState, _listItemsArr) {
|
169
166
|
// if the list has items - we don't need to go deeper into the recursion
|
170
167
|
if (isListHasItems) {
|
171
168
|
return;
|
172
169
|
}
|
170
|
+
var listItemsArr;
|
173
171
|
// here we are checking where are listItems array is stored
|
174
|
-
|
175
|
-
|
172
|
+
if ('collection' in listState) {
|
173
|
+
listItemsArr = (0, _from["default"])(listState === null || listState === void 0 ? void 0 : listState.collection);
|
174
|
+
} else {
|
175
|
+
listItemsArr = listState === null || listState === void 0 ? void 0 : listState.childNodes;
|
176
|
+
}
|
177
|
+
if (((_listItemsArr = listItemsArr) === null || _listItemsArr === void 0 ? void 0 : _listItemsArr.length) > 0) {
|
176
178
|
// if there are a few listItems we are checking their types (can be sections) - if we have
|
177
179
|
// a few of 'items' type - we know that the list is not empty
|
178
180
|
if (listItemsArr[0].type === 'item') {
|
@@ -188,18 +190,18 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
188
190
|
})(listBoxState);
|
189
191
|
return !isListHasItems;
|
190
192
|
}, [listBoxState]);
|
191
|
-
var
|
193
|
+
var _ref = (0, _reactAria.useOverlayTrigger)({
|
192
194
|
type: 'listbox'
|
193
195
|
}, popoverState, triggerRef),
|
194
|
-
triggerProps =
|
195
|
-
overlayProps =
|
196
|
+
triggerProps = _ref.triggerProps,
|
197
|
+
overlayProps = _ref.overlayProps;
|
196
198
|
var handlePopoverOpen = function handlePopoverOpen() {
|
197
199
|
if (imperativeOnPopoverOpen) {
|
198
200
|
imperativeOnPopoverOpen();
|
199
201
|
}
|
200
202
|
popoverState.open();
|
201
203
|
};
|
202
|
-
var
|
204
|
+
var _ref2 = (0, _reactAria.useOverlayPosition)({
|
203
205
|
isOpen: popoverState.isOpen,
|
204
206
|
offset: 6,
|
205
207
|
onClose: handlePopoverClose,
|
@@ -208,26 +210,26 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
208
210
|
shouldUpdatePosition: true,
|
209
211
|
targetRef: triggerRef
|
210
212
|
}),
|
211
|
-
positionProps =
|
213
|
+
positionProps = _ref2.overlayProps;
|
212
214
|
var EmptyListState = (0, _react2.jsx)(_index.Text, {
|
213
215
|
py: 10,
|
214
216
|
px: 15
|
215
217
|
}, emptySearchText);
|
216
218
|
var setAriaLabel = function setAriaLabel(itemKey) {
|
217
|
-
if (itemKey !== undefined) {
|
218
|
-
return popoverState.isOpen ? "".concat(selectedItem.key, " - Collapse Options") : "".concat(selectedItem.key, " - Expand Options");
|
219
|
+
if (itemKey !== undefined && typeof selectedItem !== 'string') {
|
220
|
+
return popoverState.isOpen ? "".concat(selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key, " - Collapse Options") : "".concat(selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.key, " - Expand Options");
|
219
221
|
}
|
220
|
-
return selectedItem;
|
222
|
+
return typeof selectedItem === 'string' ? selectedItem : undefined;
|
221
223
|
};
|
222
224
|
var getFilteredOptionsNumber = (0, _react.useCallback)(function () {
|
223
|
-
var nodeArr = (0, _from["default"])(listBoxState.collection
|
225
|
+
var nodeArr = (0, _from["default"])(listBoxState.collection);
|
224
226
|
if (nodeArr.length === 0) return 0;
|
225
227
|
var itemsCount = (0, _reduce["default"])(nodeArr).call(nodeArr, function (acc, node) {
|
226
|
-
if (node.type === 'section') return acc + node.childNodes.length;
|
228
|
+
if (node.type === 'section') return acc + (0, _from["default"])(node.childNodes).length;
|
227
229
|
return acc + 1;
|
228
230
|
}, 0);
|
229
231
|
return itemsCount;
|
230
|
-
}, [listBoxState.collection
|
232
|
+
}, [listBoxState.collection]);
|
231
233
|
(0, _react.useEffect)(function () {
|
232
234
|
if (onFilteredOptionsNumber) {
|
233
235
|
onFilteredOptionsNumber(getFilteredOptionsNumber());
|
@@ -237,14 +239,14 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
237
239
|
setIsTyping(true);
|
238
240
|
var handler = (0, _setTimeout2["default"])(function () {
|
239
241
|
setIsTyping(false);
|
240
|
-
},
|
242
|
+
}, 1000);
|
241
243
|
return function () {
|
242
244
|
clearTimeout(handler);
|
243
245
|
};
|
244
246
|
}, [searchValue]);
|
245
247
|
var optionsMessage = function optionsMessage() {
|
246
248
|
var _context2, _context3;
|
247
|
-
var totalOptionsNumber = items && items.length;
|
249
|
+
var totalOptionsNumber = items && (0, _isArray["default"])(items) && items.length;
|
248
250
|
var filteredOptionsNumber = getFilteredOptionsNumber();
|
249
251
|
var message = filteredOptionsNumber === totalOptionsNumber ? "".concat(totalOptionsNumber, " options in total") : (0, _concat["default"])(_context2 = (0, _concat["default"])(_context3 = "".concat(filteredOptionsNumber, " of ")).call(_context3, totalOptionsNumber, " options for \"")).call(_context2, searchValue, "\"");
|
250
252
|
return message;
|
@@ -263,11 +265,11 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
263
265
|
})), (0, _react2.jsx)(_index.PopoverContainer, (0, _extends2["default"])({}, overlayProps, positionProps, (0, _reactAria.mergeProps)(overlayProps, positionProps, popoverProps), {
|
264
266
|
ref: overlayRef,
|
265
267
|
isOpen: popoverState.isOpen,
|
266
|
-
scrollRef: scrollBoxRef,
|
267
268
|
onClose: handlePopoverClose,
|
268
269
|
hasNoArrow: true,
|
269
270
|
isDismissable: true,
|
270
|
-
p: 10
|
271
|
+
p: 10,
|
272
|
+
role: "presentation"
|
271
273
|
}), (0, _react2.jsx)(_reactAria.FocusScope, {
|
272
274
|
restoreFocus: true,
|
273
275
|
autoFocus: true,
|
@@ -306,7 +308,8 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
306
308
|
iconProps: {
|
307
309
|
color: 'neutral.70',
|
308
310
|
mx: 5,
|
309
|
-
size: 'xs'
|
311
|
+
size: 'xs',
|
312
|
+
icon: _ChevronRightIcon["default"]
|
310
313
|
}
|
311
314
|
}, others), (0, _react2.jsx)(_index.Item, {
|
312
315
|
key: "name",
|
@@ -328,50 +331,6 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
328
331
|
});
|
329
332
|
var _default = EnvironmentBreadcrumb;
|
330
333
|
exports["default"] = _default;
|
331
|
-
EnvironmentBreadcrumb.propTypes = {
|
332
|
-
/** Callback function that fires when the selected key changes. */
|
333
|
-
onSelectionChange: _propTypes["default"].func,
|
334
|
-
/** Current environment */
|
335
|
-
selectedItem: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
|
336
|
-
/** Displayed name */
|
337
|
-
name: _propTypes["default"].string,
|
338
|
-
/** Callback function that fires when name pressed */
|
339
|
-
onNamePress: _propTypes["default"].func,
|
340
|
-
/** The list of environments. */
|
341
|
-
items: _isIterable.isIterableProp,
|
342
|
-
/**
|
343
|
-
* Filter function to generate a filtered list of nodes.
|
344
|
-
*
|
345
|
-
* `(nodes: Iterable<Node>) => Iterable<Node>`
|
346
|
-
*/
|
347
|
-
itemsFilter: _propTypes["default"].func,
|
348
|
-
/** Callback function that fires when the dropdown is opened. */
|
349
|
-
onPopoverOpen: _propTypes["default"].func,
|
350
|
-
/** Callback function that fires when the dropdown is closed. */
|
351
|
-
onPopoverClose: _propTypes["default"].func,
|
352
|
-
/** Props object that is spread directly into the popover container component. */
|
353
|
-
popoverProps: _propTypes["default"].shape({}),
|
354
|
-
/** Props object that is spread directly into the SearchField element. */
|
355
|
-
searchProps: _propTypes["default"].shape({}),
|
356
|
-
/** Array of keys to disable within the options list. */
|
357
|
-
disabledKeys: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
358
|
-
/** Text that will be shown if no search results found. */
|
359
|
-
emptySearchText: _propTypes["default"].string,
|
360
|
-
/** Sets the default open state of the overlay. */
|
361
|
-
isDefaultOpen: _propTypes["default"].bool,
|
362
|
-
/** Whether the overlay is currently open. */
|
363
|
-
isOpen: _propTypes["default"].bool,
|
364
|
-
/**
|
365
|
-
* Method that is called when the open state of the menu changes.
|
366
|
-
*
|
367
|
-
* `(isOpen: boolean, overlayTrigger: OverlayTriggerAction) => void`
|
368
|
-
*/
|
369
|
-
onOpenChange: _propTypes["default"].func,
|
370
|
-
/** Callback function that returns number of filtered options. */
|
371
|
-
onFilteredOptionsNumber: _propTypes["default"].func,
|
372
|
-
/** Message to announce number of available options by screen reader. */
|
373
|
-
optionsCountMessage: _propTypes["default"].string
|
374
|
-
};
|
375
334
|
EnvironmentBreadcrumb.defaultProps = {
|
376
335
|
emptySearchText: 'No Search Result'
|
377
336
|
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { StoryFn } from '@storybook/react';
|
3
|
+
import { EnvironmentBreadcrumbProps, EnvironmentItemProps } from '../../types';
|
4
|
+
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
|
5
|
+
export default _default;
|
6
|
+
export declare const Default: StoryFn<EnvironmentBreadcrumbProps<EnvironmentItemProps>>;
|
7
|
+
export declare const DefaultClosed: (args: EnvironmentBreadcrumbProps<EnvironmentItemProps>) => React.JSX.Element;
|
8
|
+
export declare const WithSections: () => React.JSX.Element;
|
9
|
+
export declare const OrgLevel: () => React.JSX.Element;
|
10
|
+
export declare const DefaultOpen: () => React.JSX.Element;
|
11
|
+
export declare const ControlledMenu: () => React.JSX.Element;
|
12
|
+
export declare const RightAlignedBadges: (args: EnvironmentBreadcrumbProps<EnvironmentItemProps>) => React.JSX.Element;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var
|
3
|
+
var _typeof3 = require("@babel/runtime-corejs3/helpers/typeof");
|
4
4
|
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
5
5
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
6
6
|
var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
@@ -18,12 +18,14 @@ exports["default"] = exports.WithSections = exports.RightAlignedBadges = exports
|
|
18
18
|
var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
|
19
19
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
20
20
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
21
|
+
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
|
21
22
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
22
23
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
23
24
|
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
24
25
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
25
26
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
26
27
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
28
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/typeof"));
|
27
29
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
28
30
|
var _react = _interopRequireWildcard(require("react"));
|
29
31
|
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
@@ -31,7 +33,7 @@ var _index = require("../../index");
|
|
31
33
|
var _EnvironmentBreadcrumb = _interopRequireDefault(require("./EnvironmentBreadcrumb.mdx"));
|
32
34
|
var _react2 = require("@emotion/react");
|
33
35
|
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); }
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
36
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
|
35
37
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
36
38
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context8, _context9; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context8 = ownKeys(Object(source), !0)).call(_context8, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context9 = ownKeys(Object(source))).call(_context9, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
37
39
|
var _default = {
|
@@ -145,7 +147,7 @@ var Default = function Default(args) {
|
|
145
147
|
};
|
146
148
|
var handleSelectionChange = function handleSelectionChange(newEnvName) {
|
147
149
|
var envObj = findEnvObj(newEnvName);
|
148
|
-
setSelectedEnvironment(_objectSpread({}, envObj));
|
150
|
+
if ((0, _typeof2["default"])(envObj) === 'object') setSelectedEnvironment(_objectSpread({}, envObj));
|
149
151
|
};
|
150
152
|
return (0, _react2.jsx)(_index.EnvironmentBreadcrumb, (0, _extends2["default"])({}, args, {
|
151
153
|
items: defaultEnvironments,
|
@@ -189,7 +191,7 @@ var DefaultClosed = function DefaultClosed(args) {
|
|
189
191
|
};
|
190
192
|
var handleSelectionChange = function handleSelectionChange(newEnvName) {
|
191
193
|
var envObj = findEnvObj(newEnvName);
|
192
|
-
setSelectedEnvironment(_objectSpread({}, envObj));
|
194
|
+
if ((0, _typeof2["default"])(envObj) === 'object') setSelectedEnvironment(_objectSpread({}, envObj));
|
193
195
|
};
|
194
196
|
return (0, _react2.jsx)(_index.EnvironmentBreadcrumb, (0, _extends2["default"])({}, args, {
|
195
197
|
items: defaultEnvironments,
|
@@ -222,14 +224,15 @@ var WithSections = function WithSections() {
|
|
222
224
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
223
225
|
filteredOptionsNumber = _useState8[0],
|
224
226
|
setFilteredOptionsNumber = _useState8[1];
|
225
|
-
var _useState9 = (0, _react.useState)(environmentsWithSections[selectedSectionIndex].options[selectedOptionIndex]),
|
227
|
+
var _useState9 = (0, _react.useState)(environmentsWithSections[selectedSectionIndex].options && environmentsWithSections[selectedSectionIndex].options[selectedOptionIndex]),
|
226
228
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
227
229
|
selectedEnvironment = _useState10[0],
|
228
230
|
setSelectedEnvironment = _useState10[1];
|
229
|
-
var selectedKey = (0, _concat["default"])(_context = "".concat(environmentsWithSections[selectedSectionIndex].key, "-")).call(_context, selectedEnvironment.name);
|
231
|
+
var selectedKey = (0, _concat["default"])(_context = "".concat(environmentsWithSections[selectedSectionIndex].key, "-")).call(_context, selectedEnvironment === null || selectedEnvironment === void 0 ? void 0 : selectedEnvironment.name);
|
230
232
|
var recentEnvShown = 3;
|
231
233
|
var totalOptionsNumber = (0, _reduce["default"])(environmentsWithSections).call(environmentsWithSections, function (acc, section) {
|
232
|
-
return acc + section.options.length;
|
234
|
+
if ((0, _isArray["default"])(section.options)) return acc + section.options.length;
|
235
|
+
return acc;
|
233
236
|
}, 0);
|
234
237
|
var optionsCountMessage = filteredOptionsNumber === totalOptionsNumber ? "".concat(totalOptionsNumber, " options in total") : (0, _concat["default"])(_context2 = "".concat(filteredOptionsNumber, " of ")).call(_context2, totalOptionsNumber, " options");
|
235
238
|
var getUpdatedRecentEnvs = function getUpdatedRecentEnvs(envObj, prevEnvs) {
|
@@ -251,20 +254,25 @@ var WithSections = function WithSections() {
|
|
251
254
|
return (0, _concat["default"])(_context5 = [_objectSpread({}, envObj)]).call(_context5, prevEnvs);
|
252
255
|
};
|
253
256
|
var findEnvObj = function findEnvObj(envName, envSectionName) {
|
254
|
-
var
|
255
|
-
return (0, _find["default"])(_context6 = (0, _find["default"])(environments).call(environments, function (section) {
|
257
|
+
var foundItem = (0, _find["default"])(environments).call(environments, function (section) {
|
256
258
|
return section.name === envSectionName;
|
257
|
-
}).options).call(_context6, function (option) {
|
258
|
-
return option.name === envName;
|
259
259
|
});
|
260
|
+
if (foundItem && foundItem.options) {
|
261
|
+
var _context6;
|
262
|
+
return (0, _find["default"])(_context6 = foundItem.options).call(_context6, function (option) {
|
263
|
+
return option.name === envName;
|
264
|
+
});
|
265
|
+
}
|
266
|
+
return undefined;
|
260
267
|
};
|
261
268
|
var handleEnvPress = function handleEnvPress(newEnv) {
|
262
269
|
var sectionPrefixIndex = (0, _indexOf["default"])(newEnv).call(newEnv, '-');
|
263
270
|
var envKey = newEnv.substr(sectionPrefixIndex + 1);
|
264
271
|
var envSectionName = newEnv.substr(0, sectionPrefixIndex);
|
265
|
-
var
|
266
|
-
return
|
267
|
-
})
|
272
|
+
var foundItem = (0, _find["default"])(environments).call(environments, function (section) {
|
273
|
+
return section.name === 'Recent';
|
274
|
+
});
|
275
|
+
var recentEnvironments = foundItem && foundItem.options;
|
268
276
|
var envObj = findEnvObj(envKey, envSectionName);
|
269
277
|
var updatedRecentEnvironments = getUpdatedRecentEnvs(envObj, recentEnvironments);
|
270
278
|
setEnvironments(function (prevEnvs) {
|
@@ -274,14 +282,14 @@ var WithSections = function WithSections() {
|
|
274
282
|
}) : section;
|
275
283
|
});
|
276
284
|
});
|
277
|
-
setSelectedEnvironment(_objectSpread({}, envObj));
|
285
|
+
if ((0, _typeof2["default"])(envObj) === 'object') setSelectedEnvironment(_objectSpread({}, envObj));
|
278
286
|
};
|
279
287
|
var envNode = (0, _react2.jsx)(_index.Box, {
|
280
288
|
isRow: true,
|
281
289
|
key: selectedKey
|
282
290
|
}, (0, _react2.jsx)(_index.Text, {
|
283
291
|
color: "inherit"
|
284
|
-
}, selectedEnvironment.name), selectedEnvironment.isSandbox ? (0, _react2.jsx)(_index.Badge, {
|
292
|
+
}, selectedEnvironment === null || selectedEnvironment === void 0 ? void 0 : selectedEnvironment.name), selectedEnvironment !== null && selectedEnvironment !== void 0 && selectedEnvironment.isSandbox ? (0, _react2.jsx)(_index.Badge, {
|
285
293
|
label: "SANDBOX",
|
286
294
|
variant: "environmentBadge",
|
287
295
|
bg: "neutral.40"
|
@@ -351,7 +359,7 @@ var DefaultOpen = function DefaultOpen() {
|
|
351
359
|
};
|
352
360
|
var handleSelectionChange = function handleSelectionChange(newEnvName) {
|
353
361
|
var envObj = findEnvObj(newEnvName);
|
354
|
-
setSelectedEnvironment(_objectSpread({}, envObj));
|
362
|
+
if ((0, _typeof2["default"])(envObj) === 'object') setSelectedEnvironment(_objectSpread({}, envObj));
|
355
363
|
};
|
356
364
|
return (0, _react2.jsx)(_index.EnvironmentBreadcrumb, {
|
357
365
|
items: defaultEnvironments,
|
@@ -400,7 +408,7 @@ var ControlledMenu = function ControlledMenu() {
|
|
400
408
|
};
|
401
409
|
var handleSelectionChange = function handleSelectionChange(newEnvName) {
|
402
410
|
var envObj = findEnvObj(newEnvName);
|
403
|
-
setSelectedEnvironment(_objectSpread({}, envObj));
|
411
|
+
if ((0, _typeof2["default"])(envObj) === 'object') setSelectedEnvironment(_objectSpread({}, envObj));
|
404
412
|
};
|
405
413
|
return (0, _react2.jsx)(_index.EnvironmentBreadcrumb, {
|
406
414
|
items: defaultEnvironments,
|
@@ -475,7 +483,7 @@ var RightAlignedBadges = function RightAlignedBadges(args) {
|
|
475
483
|
};
|
476
484
|
var handleSelectionChange = function handleSelectionChange(newEnvName) {
|
477
485
|
var envObj = findEnvObj(newEnvName);
|
478
|
-
setSelectedEnvironment(_objectSpread({}, envObj));
|
486
|
+
if ((0, _typeof2["default"])(envObj) === 'object') setSelectedEnvironment(_objectSpread({}, envObj));
|
479
487
|
};
|
480
488
|
return (0, _react2.jsx)(_index.EnvironmentBreadcrumb, (0, _extends2["default"])({}, args, {
|
481
489
|
items: items,
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { EnvironmentBreadcrumbProps, EnvironmentItemProps } from '../../types';
|
3
|
+
export declare const renderComponent: (props: EnvironmentBreadcrumbProps<EnvironmentItemProps>) => React.JSX.Element;
|
4
|
+
export declare const renderSectionsComponent: (props: EnvironmentBreadcrumbProps<EnvironmentItemProps>) => React.JSX.Element;
|
@@ -23,6 +23,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
23
23
|
exports.renderSectionsComponent = exports.renderComponent = void 0;
|
24
24
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
25
25
|
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
26
|
+
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
|
26
27
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
27
28
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
28
29
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
@@ -31,11 +32,12 @@ var _reactStately = require("react-stately");
|
|
31
32
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
32
33
|
var _ = require("../..");
|
33
34
|
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
35
|
+
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
34
36
|
var _EnvironmentBreadcrumb = require("./EnvironmentBreadcrumb");
|
35
37
|
var _react2 = require("@emotion/react");
|
36
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context7; _forEachInstanceProperty2(_context7 = ["next", "throw", "return"]).call(_context7, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty2(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context8; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty2(_context8 = this.tryEntries).call(_context8, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
38
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context6; _forEachInstanceProperty2(_context6 = ["next", "throw", "return"]).call(_context6, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty2(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context7; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty2(_context7 = this.tryEntries).call(_context7, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
37
39
|
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; }
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty2(_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty2(_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
39
41
|
var testEnvBreadcrumb = 'test-env-breadcrumb';
|
40
42
|
var testName = 'test-name';
|
41
43
|
var testSelectedItem = 'test-selected-item';
|
@@ -102,32 +104,38 @@ var renderComponent = function renderComponent(props) {
|
|
102
104
|
exports.renderComponent = renderComponent;
|
103
105
|
var renderSectionsComponent = function renderSectionsComponent(props) {
|
104
106
|
return (0, _react2.jsx)(_.OverlayProvider, null, (0, _react2.jsx)(_.EnvironmentBreadcrumb, (0, _extends2["default"])({}, defaultWithSectionsProps, props), function (section) {
|
105
|
-
return (
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
childItems: item.options
|
117
|
-
}, item.name);
|
118
|
-
})
|
119
|
-
);
|
107
|
+
return (0, _react2.jsx)(_reactStately.Section, {
|
108
|
+
key: section.key,
|
109
|
+
title: section.name,
|
110
|
+
items: section.options
|
111
|
+
}, function (item) {
|
112
|
+
var _context;
|
113
|
+
return (0, _react2.jsx)(_.Item, {
|
114
|
+
key: (0, _concat["default"])(_context = "".concat(section.name, "-")).call(_context, item.name),
|
115
|
+
childItems: item.options
|
116
|
+
}, item.name);
|
117
|
+
});
|
120
118
|
}));
|
121
119
|
};
|
122
120
|
exports.renderSectionsComponent = renderSectionsComponent;
|
123
|
-
var getComponent = function getComponent(
|
121
|
+
var getComponent = function getComponent() {
|
122
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
124
123
|
return (0, _testWrapper.render)(renderComponent(props));
|
125
124
|
};
|
126
125
|
var getSectionsComponent = function getSectionsComponent() {
|
127
126
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
128
127
|
return (0, _testWrapper.render)(renderSectionsComponent(props));
|
129
128
|
};
|
129
|
+
(0, _universalComponentTest.universalComponentTests)({
|
130
|
+
renderComponent: renderComponent
|
131
|
+
});
|
132
|
+
(0, _universalComponentTest.universalComponentTests)({
|
133
|
+
renderComponent: renderSectionsComponent
|
134
|
+
});
|
130
135
|
beforeAll(function () {
|
136
|
+
var callback = function callback(cb) {
|
137
|
+
return cb();
|
138
|
+
};
|
131
139
|
jest.spyOn(window.HTMLElement.prototype, 'clientWidth', 'get').mockImplementation(function () {
|
132
140
|
return 1000;
|
133
141
|
});
|
@@ -138,9 +146,7 @@ beforeAll(function () {
|
|
138
146
|
jest.spyOn(window.screen, 'width', 'get').mockImplementation(function () {
|
139
147
|
return 1024;
|
140
148
|
});
|
141
|
-
jest.spyOn(window, 'requestAnimationFrame').mockImplementation(
|
142
|
-
return cb();
|
143
|
-
});
|
149
|
+
jest.spyOn(window, 'requestAnimationFrame').mockImplementation(callback);
|
144
150
|
jest.useFakeTimers();
|
145
151
|
});
|
146
152
|
afterEach(function () {
|
@@ -229,15 +235,17 @@ test('should render the separators', function () {
|
|
229
235
|
expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
|
230
236
|
expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(6);
|
231
237
|
(0, _forEach["default"])(groups).call(groups, function (group, index) {
|
232
|
-
var _context3;
|
233
238
|
expect(function () {
|
234
239
|
return (0, _testWrapper.within)(group).getByText(itemsWithSections[index].name);
|
235
240
|
});
|
236
|
-
|
237
|
-
|
238
|
-
|
241
|
+
var itemOpt = itemsWithSections[index].options;
|
242
|
+
if ((0, _isArray["default"])(itemOpt)) {
|
243
|
+
(0, _forEach["default"])(itemOpt).call(itemOpt, function (opt) {
|
244
|
+
return expect(function () {
|
245
|
+
return (0, _testWrapper.within)(group).getByText(opt.name);
|
246
|
+
});
|
239
247
|
});
|
240
|
-
}
|
248
|
+
}
|
241
249
|
});
|
242
250
|
});
|
243
251
|
test('should call onSelectionChange when env clicked', function () {
|
@@ -247,6 +255,7 @@ test('should call onSelectionChange when env clicked', function () {
|
|
247
255
|
});
|
248
256
|
expect(onSelectionChangeMock).not.toHaveBeenCalled();
|
249
257
|
_userEvent["default"].click(_testWrapper.screen.getByText(testSelectedItem));
|
258
|
+
expect(_testWrapper.screen.getByText(items[0].name)).toBeInTheDocument();
|
250
259
|
_userEvent["default"].click(_testWrapper.screen.getByText(items[0].name));
|
251
260
|
expect(onSelectionChangeMock).toHaveBeenNthCalledWith(1, items[0].name);
|
252
261
|
});
|
@@ -349,14 +358,17 @@ test('should hide section title if no search results within it', function () {
|
|
349
358
|
expect(_testWrapper.screen.queryByText(itemsWithSections[1].name)).toBeInTheDocument();
|
350
359
|
});
|
351
360
|
test('should reflect the selection change when env is clicked', function () {
|
352
|
-
var _context4;
|
353
361
|
var onSelectionChangeMock = jest.fn();
|
354
362
|
getSectionsComponent({
|
355
363
|
isDefaultOpen: true,
|
356
364
|
onSelectionChange: onSelectionChangeMock
|
357
365
|
});
|
358
|
-
|
359
|
-
|
366
|
+
var itemOpt = itemsWithSections[1].options;
|
367
|
+
if ((0, _isArray["default"])(itemOpt)) {
|
368
|
+
var _context3;
|
369
|
+
_userEvent["default"].click(_testWrapper.screen.getByText(itemOpt[1].name));
|
370
|
+
expect(onSelectionChangeMock).toHaveBeenNthCalledWith(1, (0, _concat["default"])(_context3 = "".concat(itemsWithSections[1].name, "-")).call(_context3, itemOpt[1].name));
|
371
|
+
}
|
360
372
|
});
|
361
373
|
test('should indicate selected item on first render', function () {
|
362
374
|
var selectedItem = items[0].name;
|