@pingux/astro 1.41.0-alpha.1 → 1.41.0-alpha.3
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/Patterns/AttributeMappingDisplayViewPattern.stories.hidden.js +138 -0
- package/lib/Patterns/AttributeMappingEditViewPattern.stories.hidden.js +145 -0
- package/lib/Patterns/ListAndPanelPattern.stories.hidden.js +381 -0
- package/lib/Patterns/MessagesPattern.stories.hidden.js +69 -0
- package/lib/Patterns/SaveBarPattern.stories.hidden.js +80 -0
- package/lib/Patterns/UnsavedChangesPattern.stories.hidden.js +106 -0
- package/lib/cjs/Patterns/AttributeMappingDisplayViewPattern.stories.hidden.js +158 -0
- package/lib/cjs/Patterns/AttributeMappingEditViewPattern.stories.hidden.js +167 -0
- package/lib/cjs/Patterns/ListAndPanelPattern.stories.hidden.js +418 -0
- package/lib/cjs/Patterns/MessagesPattern.stories.hidden.js +99 -0
- package/lib/cjs/Patterns/SaveBarPattern.stories.hidden.js +109 -0
- package/lib/cjs/Patterns/UnsavedChangesPattern.stories.hidden.js +136 -0
- package/lib/cjs/components/Bracket/Bracket.stories.js +1 -3
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +2 -18
- package/lib/cjs/components/Card/Card.js +117 -6
- package/lib/cjs/components/Card/Card.stories.js +55 -16
- package/lib/cjs/components/Card/Card.test.js +50 -0
- package/lib/cjs/components/Chip/Badge.js +0 -5
- package/lib/cjs/components/Chip/Badge.stories.js +11 -0
- package/lib/cjs/components/Chip/Chip.js +0 -5
- package/lib/cjs/components/CodeView/CodeView.js +0 -4
- package/lib/cjs/components/CodeView/CodeView.stories.js +9 -0
- package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.js +0 -4
- package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.stories.js +7 -0
- package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +13 -1
- package/lib/cjs/components/ComboBoxField/ComboBoxField.test.js +75 -4
- package/lib/cjs/components/CopyText/CopyText.js +0 -4
- package/lib/cjs/components/CopyText/CopyText.stories.js +11 -0
- package/lib/cjs/components/DataTable/DataTable.js +33 -15
- package/lib/cjs/components/DataTable/DataTable.stories.js +91 -17
- package/lib/cjs/components/DataTable/DataTable.test.js +38 -6
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +1 -3
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +25 -3
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +19 -5
- package/lib/cjs/components/HelpHint/HelpHint.js +0 -7
- package/lib/cjs/components/HelpHint/HelpHint.stories.js +11 -0
- package/lib/cjs/components/Icon/Icon.js +0 -12
- package/lib/cjs/components/Icon/Icon.stories.js +7 -0
- package/lib/cjs/components/Image/Image.stories.js +2 -2
- package/lib/cjs/components/ListBox/ListBoxSection.js +8 -1
- package/lib/cjs/components/ListView/ListView.stories.js +6 -4
- package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +2 -1
- package/lib/cjs/components/SelectField/SelectField.stories.js +13 -1
- package/lib/cjs/components/SelectField/SelectField.test.js +75 -0
- package/lib/cjs/recipes/ConditionalFilter.stories.js +0 -1
- package/lib/cjs/recipes/ScrollableListView.stories.js +3 -2
- package/lib/cjs/recipes/TrialExperienceIndustryButtons.stories.js +4 -8
- package/lib/cjs/styles/variants/boxes.js +6 -6
- package/lib/cjs/utils/devUtils/constants/text.js +11 -0
- package/lib/components/Bracket/Bracket.stories.js +1 -3
- package/lib/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +0 -13
- package/lib/components/Card/Card.js +110 -7
- package/lib/components/Card/Card.stories.js +44 -10
- package/lib/components/Card/Card.test.js +36 -0
- package/lib/components/Chip/Badge.js +0 -6
- package/lib/components/Chip/Badge.stories.js +9 -0
- package/lib/components/Chip/Chip.js +0 -6
- package/lib/components/CodeView/CodeView.js +0 -5
- package/lib/components/CodeView/CodeView.stories.js +7 -0
- package/lib/components/CollapsiblePanel/CollapsiblePanel.js +0 -5
- package/lib/components/CollapsiblePanel/CollapsiblePanel.stories.js +5 -0
- package/lib/components/ComboBoxField/ComboBoxField.stories.js +13 -1
- package/lib/components/ComboBoxField/ComboBoxField.test.js +70 -5
- package/lib/components/CopyText/CopyText.js +0 -4
- package/lib/components/CopyText/CopyText.stories.js +9 -0
- package/lib/components/DataTable/DataTable.js +33 -15
- package/lib/components/DataTable/DataTable.stories.js +80 -17
- package/lib/components/DataTable/DataTable.test.js +36 -6
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +1 -3
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +23 -3
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +16 -5
- package/lib/components/HelpHint/HelpHint.js +0 -7
- package/lib/components/HelpHint/HelpHint.stories.js +9 -0
- package/lib/components/Icon/Icon.js +0 -13
- package/lib/components/Icon/Icon.stories.js +5 -0
- package/lib/components/Image/Image.stories.js +2 -2
- package/lib/components/ListBox/ListBoxSection.js +7 -2
- package/lib/components/ListView/ListView.stories.js +6 -4
- package/lib/components/OverlayPanel/OverlayPanel.stories.js +2 -1
- package/lib/components/SelectField/SelectField.stories.js +13 -1
- package/lib/components/SelectField/SelectField.test.js +68 -1
- package/lib/recipes/ConditionalFilter.stories.js +0 -1
- package/lib/recipes/ScrollableListView.stories.js +3 -2
- package/lib/recipes/TrialExperienceIndustryButtons.stories.js +4 -8
- package/lib/styles/variants/boxes.js +6 -6
- package/lib/utils/devUtils/constants/text.js +1 -0
- package/package.json +1 -1
@@ -134,6 +134,7 @@ var animals = [{
|
|
134
134
|
}];
|
135
135
|
var withSection = [{
|
136
136
|
name: 'Animals',
|
137
|
+
key: 'Animals',
|
137
138
|
children: [{
|
138
139
|
name: 'Raccoon'
|
139
140
|
}, {
|
@@ -143,6 +144,7 @@ var withSection = [{
|
|
143
144
|
}]
|
144
145
|
}, {
|
145
146
|
name: 'People',
|
147
|
+
key: 'People',
|
146
148
|
children: [{
|
147
149
|
name: 'Michael'
|
148
150
|
}, {
|
@@ -150,6 +152,16 @@ var withSection = [{
|
|
150
152
|
}, {
|
151
153
|
name: 'Creed'
|
152
154
|
}]
|
155
|
+
}, {
|
156
|
+
name: null,
|
157
|
+
key: 'fruit',
|
158
|
+
children: [{
|
159
|
+
name: 'Apple'
|
160
|
+
}, {
|
161
|
+
name: 'Orange'
|
162
|
+
}, {
|
163
|
+
name: 'Banana'
|
164
|
+
}]
|
153
165
|
}];
|
154
166
|
var actions = {
|
155
167
|
onOpenChange: (0, _addonActions.action)('onOpenChange'),
|
@@ -243,7 +255,7 @@ var WithSections = function WithSections(args) {
|
|
243
255
|
items: withSection
|
244
256
|
}, args), function (section) {
|
245
257
|
return (0, _react2.jsx)(_.Section, {
|
246
|
-
key: section.
|
258
|
+
key: section.key,
|
247
259
|
items: section.children,
|
248
260
|
title: section.name
|
249
261
|
}, function (item) {
|
@@ -82,6 +82,37 @@ var items = [{
|
|
82
82
|
name: 'Snake',
|
83
83
|
id: '3'
|
84
84
|
}];
|
85
|
+
var withSection = [{
|
86
|
+
name: 'Animals',
|
87
|
+
key: 'Animals',
|
88
|
+
kids: [{
|
89
|
+
name: 'Raccoon'
|
90
|
+
}, {
|
91
|
+
name: 'Kangaroo'
|
92
|
+
}, {
|
93
|
+
name: 'Opossum'
|
94
|
+
}]
|
95
|
+
}, {
|
96
|
+
name: 'People',
|
97
|
+
key: 'People',
|
98
|
+
kids: [{
|
99
|
+
name: 'Michael'
|
100
|
+
}, {
|
101
|
+
name: 'Dwight'
|
102
|
+
}, {
|
103
|
+
name: 'Creed'
|
104
|
+
}]
|
105
|
+
}, {
|
106
|
+
name: null,
|
107
|
+
key: 'fruit',
|
108
|
+
kids: [{
|
109
|
+
name: 'Apple'
|
110
|
+
}, {
|
111
|
+
name: 'Orange'
|
112
|
+
}, {
|
113
|
+
name: 'Banana'
|
114
|
+
}]
|
115
|
+
}];
|
85
116
|
var defaultProps = {
|
86
117
|
defaultItems: items,
|
87
118
|
label: 'Test Label'
|
@@ -102,6 +133,28 @@ var getComponent = function getComponent() {
|
|
102
133
|
})));
|
103
134
|
};
|
104
135
|
|
136
|
+
var getComponentWithSections = function getComponentWithSections() {
|
137
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
138
|
+
|
139
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
140
|
+
_ref2$renderFn = _ref2.renderFn,
|
141
|
+
renderFn = _ref2$renderFn === void 0 ? _testWrapper.render : _ref2$renderFn;
|
142
|
+
|
143
|
+
return renderFn((0, _react3.jsx)(_index.OverlayProvider, null, (0, _react3.jsx)(_index.ComboBoxField, (0, _extends2["default"])({}, defaultProps, props, {
|
144
|
+
items: withSection
|
145
|
+
}), function (section) {
|
146
|
+
return (0, _react3.jsx)(_index.Section, {
|
147
|
+
key: section.key,
|
148
|
+
items: section.kids,
|
149
|
+
title: section.name
|
150
|
+
}, function (item) {
|
151
|
+
return (0, _react3.jsx)(_index.Item, {
|
152
|
+
key: item.name
|
153
|
+
}, item.name);
|
154
|
+
});
|
155
|
+
})));
|
156
|
+
};
|
157
|
+
|
105
158
|
var ComboBoxWithCustomFilter = function ComboBoxWithCustomFilter() {
|
106
159
|
var _useFilter = (0, _i18n.useFilter)({
|
107
160
|
sensitivity: 'base'
|
@@ -118,8 +171,8 @@ var ComboBoxWithCustomFilter = function ComboBoxWithCustomFilter() {
|
|
118
171
|
setFieldState = _useState2[1];
|
119
172
|
|
120
173
|
var onSelectionChange = function onSelectionChange(key) {
|
121
|
-
var selectedItem = (0, _filter["default"])(items).call(items, function (
|
122
|
-
var id =
|
174
|
+
var selectedItem = (0, _filter["default"])(items).call(items, function (_ref3) {
|
175
|
+
var id = _ref3.id;
|
123
176
|
return id === key;
|
124
177
|
});
|
125
178
|
setFieldState({
|
@@ -189,8 +242,8 @@ var ComboBoxWithAddOption = function ComboBoxWithAddOption() {
|
|
189
242
|
setSelectedKey = _useState8[1];
|
190
243
|
|
191
244
|
var onSelectionChange = function onSelectionChange(key) {
|
192
|
-
if (key && !(0, _find["default"])(options).call(options, function (
|
193
|
-
var name =
|
245
|
+
if (key && !(0, _find["default"])(options).call(options, function (_ref4) {
|
246
|
+
var name = _ref4.name;
|
194
247
|
return name === key;
|
195
248
|
})) {
|
196
249
|
var _context;
|
@@ -1216,6 +1269,24 @@ test('popover closes on input blur', function () {
|
|
1216
1269
|
expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
|
1217
1270
|
expect(_testWrapper.screen.queryByRole('option')).not.toBeInTheDocument();
|
1218
1271
|
});
|
1272
|
+
test('passing sections, renders separators', function () {
|
1273
|
+
getComponentWithSections();
|
1274
|
+
|
1275
|
+
var button = _testWrapper.screen.getByRole('button');
|
1276
|
+
|
1277
|
+
_userEvent["default"].click(button);
|
1278
|
+
|
1279
|
+
expect(_testWrapper.screen.queryAllByRole('separator')).toHaveLength(4);
|
1280
|
+
});
|
1281
|
+
test('a blank title does not render', function () {
|
1282
|
+
getComponentWithSections();
|
1283
|
+
|
1284
|
+
var button = _testWrapper.screen.getByRole('button');
|
1285
|
+
|
1286
|
+
_userEvent["default"].click(button);
|
1287
|
+
|
1288
|
+
expect(_testWrapper.screen.queryByText('Fruit')).not.toBeInTheDocument();
|
1289
|
+
});
|
1219
1290
|
describe('when isReadOnly is true', function () {
|
1220
1291
|
var testProp = {
|
1221
1292
|
isReadOnly: true
|
@@ -67,10 +67,6 @@ TooltipWrapper.propTypes = {
|
|
67
67
|
targetRef: _propTypes["default"].shape({}),
|
68
68
|
tooltip: _propTypes["default"].string
|
69
69
|
};
|
70
|
-
/**
|
71
|
-
* Allows copying some pieces of text by clicking on the text or by the button nearby.
|
72
|
-
*/
|
73
|
-
|
74
70
|
var CopyText = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
75
71
|
var children = props.children,
|
76
72
|
textToCopy = props.textToCopy,
|
@@ -20,11 +20,22 @@ var _Text = _interopRequireDefault(require("../Text"));
|
|
20
20
|
|
21
21
|
var _CopyText = _interopRequireDefault(require("./CopyText"));
|
22
22
|
|
23
|
+
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
24
|
+
|
25
|
+
var _CopyText2 = _interopRequireDefault(require("./CopyText.mdx"));
|
26
|
+
|
23
27
|
var _react2 = require("@emotion/react");
|
24
28
|
|
25
29
|
var _default = {
|
26
30
|
title: 'Components/CopyText',
|
27
31
|
component: _CopyText["default"],
|
32
|
+
parameters: {
|
33
|
+
docs: {
|
34
|
+
page: function page() {
|
35
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_CopyText2["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
|
36
|
+
}
|
37
|
+
}
|
38
|
+
},
|
28
39
|
argTypes: {
|
29
40
|
mode: {
|
30
41
|
control: 'none'
|
@@ -96,13 +96,6 @@ var ROW_HEIGHTS = {
|
|
96
96
|
large: 75
|
97
97
|
}
|
98
98
|
};
|
99
|
-
/**
|
100
|
-
* DataTable component using react aria Spectrum TableView
|
101
|
-
* Primarily utilizes [TableView](https://react-spectrum.adobe.com/react-spectrum/TableView.html)
|
102
|
-
* Cross platform state management react hook for DataTable
|
103
|
-
* Primarily utilizes [useTableState](https://react-spectrum.adobe.com/react-stately/useTableState.html)
|
104
|
-
*/
|
105
|
-
|
106
99
|
var DataTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
107
100
|
var width = props.width,
|
108
101
|
height = props.height,
|
@@ -256,12 +249,30 @@ var DataTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
256
249
|
});
|
257
250
|
DataTable.propTypes = {
|
258
251
|
/**
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
252
|
+
* Sets the amount of vertical padding within each cell.
|
253
|
+
* density: 'compact' | 'regular' | 'spacious'
|
254
|
+
* @default 'regular'
|
255
|
+
*/
|
263
256
|
density: _propTypes["default"].string,
|
264
257
|
|
258
|
+
/** Sets the height of table. */
|
259
|
+
height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
260
|
+
|
261
|
+
/** Determine if the header should be hidden. */
|
262
|
+
hasHiddenHeader: _propTypes["default"].bool,
|
263
|
+
|
264
|
+
/** Bool that determines if the items are sortable. */
|
265
|
+
isSortable: _propTypes["default"].bool,
|
266
|
+
|
267
|
+
/** The list of DataTable items. */
|
268
|
+
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({})),
|
269
|
+
|
270
|
+
/** Reflects current loading state. */
|
271
|
+
loadingState: _propTypes["default"].oneOf(['error', 'filtering', 'idle', 'loading', 'loadingMore', 'sorting']),
|
272
|
+
|
273
|
+
/** Handler that is called when a user performs an action on a row. */
|
274
|
+
onAction: _propTypes["default"].func,
|
275
|
+
|
265
276
|
/**
|
266
277
|
* Sets the overflow behavior for the cell contents.
|
267
278
|
* overflowMode: 'wrap' | 'truncate'
|
@@ -269,10 +280,17 @@ DataTable.propTypes = {
|
|
269
280
|
*/
|
270
281
|
overflowMode: _propTypes["default"].string,
|
271
282
|
|
272
|
-
/**
|
273
|
-
|
274
|
-
|
275
|
-
|
283
|
+
/** Callback function that fires when more data should be loaded on demand as user scrolls. */
|
284
|
+
onLoadMore: _propTypes["default"].func,
|
285
|
+
|
286
|
+
/** Callback function that fires when sortable column header is pressed. */
|
287
|
+
onSortChange: _propTypes["default"].func,
|
288
|
+
|
289
|
+
/** Defines the current column key to sort by and the sort direction. */
|
290
|
+
sortDescriptor: _propTypes["default"].oneOf(['ascending', 'descending']),
|
291
|
+
|
292
|
+
/** Sets the width of table. */
|
293
|
+
width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
|
276
294
|
};
|
277
295
|
DataTable.defaultProps = {
|
278
296
|
width: '100%',
|
@@ -1,5 +1,19 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
4
|
+
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
6
|
+
|
7
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
8
|
+
|
9
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
10
|
+
|
11
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
12
|
+
|
13
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
14
|
+
|
15
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
16
|
+
|
3
17
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
18
|
|
5
19
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
@@ -12,6 +26,10 @@ exports["default"] = exports.Default = exports.CustomContent = void 0;
|
|
12
26
|
|
13
27
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
|
14
28
|
|
29
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
30
|
+
|
31
|
+
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
32
|
+
|
15
33
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
16
34
|
|
17
35
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
@@ -30,6 +48,8 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/
|
|
30
48
|
|
31
49
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
32
50
|
|
51
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
52
|
+
|
33
53
|
var _react = _interopRequireDefault(require("react"));
|
34
54
|
|
35
55
|
var _data = require("@react-stately/data");
|
@@ -42,48 +62,95 @@ var _faker = require("@faker-js/faker");
|
|
42
62
|
|
43
63
|
var _isChromatic = _interopRequireDefault(require("chromatic/isChromatic"));
|
44
64
|
|
65
|
+
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
66
|
+
|
67
|
+
var _DataTable = _interopRequireDefault(require("./DataTable.mdx"));
|
68
|
+
|
69
|
+
var _ariaAttributes = require("../../utils/devUtils/props/ariaAttributes");
|
70
|
+
|
45
71
|
var _index = require("../../index");
|
46
72
|
|
47
73
|
var _react2 = require("@emotion/react");
|
48
74
|
|
75
|
+
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; }
|
76
|
+
|
77
|
+
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; }
|
78
|
+
|
49
79
|
var _default = {
|
50
80
|
title: 'Components/DataTable',
|
51
81
|
component: _index.DataTable,
|
52
82
|
parameters: {
|
53
83
|
docs: {
|
84
|
+
page: function page() {
|
85
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_DataTable["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
|
86
|
+
},
|
54
87
|
source: {
|
55
88
|
type: 'code'
|
56
89
|
}
|
57
90
|
}
|
58
91
|
},
|
59
|
-
argTypes: {
|
92
|
+
argTypes: _objectSpread({
|
60
93
|
density: {
|
61
94
|
control: {
|
62
|
-
|
63
|
-
options: ['compact', 'regular', 'spacious']
|
95
|
+
disable: true
|
64
96
|
},
|
65
97
|
defaultValue: 'spacious'
|
66
98
|
},
|
67
99
|
overflowMode: {
|
68
100
|
control: {
|
69
|
-
|
70
|
-
options: ['truncate', 'wrap']
|
101
|
+
disable: true
|
71
102
|
},
|
72
103
|
defaultValue: 'truncate'
|
73
104
|
},
|
74
105
|
width: {
|
75
|
-
|
106
|
+
description: 'Sets the width of the data table.',
|
76
107
|
control: {
|
77
|
-
|
108
|
+
disable: true
|
78
109
|
}
|
79
110
|
},
|
80
111
|
height: {
|
81
|
-
|
112
|
+
description: 'Sets the height of the data table.',
|
113
|
+
control: {
|
114
|
+
disable: true
|
115
|
+
}
|
116
|
+
},
|
117
|
+
sortDescriptor: {
|
118
|
+
description: 'Defines the current column key to sort by and the sort direction.',
|
82
119
|
control: {
|
83
|
-
|
120
|
+
disable: true
|
84
121
|
}
|
122
|
+
},
|
123
|
+
onSortChange: {
|
124
|
+
description: 'Callback function that fires when sortable column header is pressed.'
|
125
|
+
},
|
126
|
+
allowsSorting: {
|
127
|
+
description: 'Determine if the column supports sorting.',
|
128
|
+
control: {
|
129
|
+
disable: true
|
130
|
+
}
|
131
|
+
},
|
132
|
+
hideHeader: {
|
133
|
+
description: 'Determine if the header should be hidden.',
|
134
|
+
control: {
|
135
|
+
disable: true
|
136
|
+
}
|
137
|
+
},
|
138
|
+
loadingState: {
|
139
|
+
description: 'Reflects current loading state.',
|
140
|
+
control: {
|
141
|
+
disable: true
|
142
|
+
}
|
143
|
+
},
|
144
|
+
onLoadMore: {
|
145
|
+
description: 'Callback function that fires when more data should be loaded on demand as user scrolls.'
|
146
|
+
},
|
147
|
+
items: {
|
148
|
+
control: {
|
149
|
+
disable: true
|
150
|
+
},
|
151
|
+
description: 'The list of DataTable items.'
|
85
152
|
}
|
86
|
-
}
|
153
|
+
}, _ariaAttributes.ariaAttributeBaseArgTypes)
|
87
154
|
};
|
88
155
|
exports["default"] = _default;
|
89
156
|
|
@@ -120,7 +187,8 @@ var Default = function Default(args) {
|
|
120
187
|
continent: 'Europe'
|
121
188
|
}];
|
122
189
|
return (0, _react2.jsx)(_index.DataTable, (0, _extends2["default"])({}, args, {
|
123
|
-
"aria-label": "Static table"
|
190
|
+
"aria-label": "Static table",
|
191
|
+
height: "100%"
|
124
192
|
}), (0, _react2.jsx)(_index.DataTableHeader, {
|
125
193
|
columns: columns
|
126
194
|
}, function (column) {
|
@@ -170,12 +238,17 @@ var CustomContent = function CustomContent(args) {
|
|
170
238
|
key: 'menu',
|
171
239
|
isSortable: false
|
172
240
|
}];
|
241
|
+
|
242
|
+
var random = function random(items) {
|
243
|
+
return items[Math.floor(Math.random() * items.length)];
|
244
|
+
};
|
245
|
+
|
173
246
|
var list = (0, _data.useAsyncList)({
|
174
247
|
load: function load(_ref) {
|
175
248
|
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
176
249
|
var _context, _context2, _context3;
|
177
250
|
|
178
|
-
var signal, cursor, res, json,
|
251
|
+
var signal, cursor, res, json, fakeData, tableData;
|
179
252
|
return _regenerator["default"].wrap(function _callee$(_context5) {
|
180
253
|
while (1) {
|
181
254
|
switch (_context5.prev = _context5.next) {
|
@@ -199,11 +272,12 @@ var CustomContent = function CustomContent(args) {
|
|
199
272
|
|
200
273
|
case 7:
|
201
274
|
json = _context5.sent;
|
275
|
+
_context5.next = 10;
|
276
|
+
return new _promise["default"](function (resolve) {
|
277
|
+
return (0, _setTimeout2["default"])(resolve, cursor ? 2000 : 3000);
|
278
|
+
});
|
202
279
|
|
203
|
-
|
204
|
-
return items[Math.floor(Math.random() * items.length)];
|
205
|
-
};
|
206
|
-
|
280
|
+
case 10:
|
207
281
|
fakeData = (0, _map["default"])(_context = (0, _concat["default"])(_context2 = []).call(_context2, (0, _keys["default"])(_context3 = Array(json.results.length)).call(_context3))).call(_context, function (key) {
|
208
282
|
var _context4;
|
209
283
|
|
@@ -233,7 +307,7 @@ var CustomContent = function CustomContent(args) {
|
|
233
307
|
cursor: json.next
|
234
308
|
});
|
235
309
|
|
236
|
-
case
|
310
|
+
case 13:
|
237
311
|
case "end":
|
238
312
|
return _context5.stop();
|
239
313
|
}
|
@@ -936,7 +936,7 @@ describe('Sortable DataTable with useAsyncList', function () {
|
|
936
936
|
var sortableDataTable = function sortableDataTable(_ref16) {
|
937
937
|
var result = _ref16.result;
|
938
938
|
return (0, _react2.render)((0, _react3.jsx)(_DataTable["default"], (0, _extends2["default"])({}, defaultProps, {
|
939
|
-
sortDescriptor: result.current.sortDescriptor,
|
939
|
+
sortDescriptor: result.current.sortDescriptor.direction,
|
940
940
|
onSortChange: (0, _sort2["default"])(result.current)
|
941
941
|
}), (0, _react3.jsx)(_index.DataTableHeader, {
|
942
942
|
columns: columns
|
@@ -1290,16 +1290,48 @@ describe('Sortable DataTable with useAsyncList', function () {
|
|
1290
1290
|
})));
|
1291
1291
|
|
1292
1292
|
case 31:
|
1293
|
-
expect(result.current.items[0].country).toBe('
|
1294
|
-
expect(result.current.items[1].country).toBe('
|
1295
|
-
expect(result.current.items[2].country).toBe('
|
1296
|
-
expect(result.current.items[3].country).toBe('
|
1293
|
+
expect(result.current.items[0].country).toBe('Canada');
|
1294
|
+
expect(result.current.items[1].country).toBe('China');
|
1295
|
+
expect(result.current.items[2].country).toBe('France');
|
1296
|
+
expect(result.current.items[3].country).toBe('USA');
|
1297
|
+
expect(result.current.items[0].continent).toBe('North America');
|
1298
|
+
expect(result.current.items[1].continent).toBe('Asia');
|
1299
|
+
expect(result.current.items[2].continent).toBe('Europe');
|
1300
|
+
expect(result.current.items[3].continent).toBe('North America');
|
1301
|
+
expect(result.current.items[0].population).toBe(37000000);
|
1302
|
+
expect(result.current.items[1].population).toBe(1398000000);
|
1303
|
+
expect(result.current.items[2].population).toBe(67000000);
|
1304
|
+
expect(result.current.items[3].population).toBe(320000000);
|
1297
1305
|
|
1298
|
-
case
|
1306
|
+
case 43:
|
1299
1307
|
case "end":
|
1300
1308
|
return _context34.stop();
|
1301
1309
|
}
|
1302
1310
|
}
|
1303
1311
|
}, _callee30);
|
1304
1312
|
})));
|
1313
|
+
});
|
1314
|
+
describe('Empty DataTable', function () {
|
1315
|
+
var staticDataTable = function staticDataTable() {
|
1316
|
+
return (0, _react2.render)((0, _react3.jsx)(_DataTable["default"], {
|
1317
|
+
"aria-label": "Table"
|
1318
|
+
}, (0, _react3.jsx)(_index.DataTableHeader, {
|
1319
|
+
columns: columns
|
1320
|
+
}, function (column) {
|
1321
|
+
return (0, _react3.jsx)(_index.DataTableColumn, {
|
1322
|
+
align: "center"
|
1323
|
+
}, column.name);
|
1324
|
+
}), (0, _react3.jsx)(_index.DataTableBody, null, [])));
|
1325
|
+
};
|
1326
|
+
|
1327
|
+
it('should display header row only when there are no items', function () {
|
1328
|
+
staticDataTable();
|
1329
|
+
|
1330
|
+
var staticTable = _react2.screen.getByRole('grid');
|
1331
|
+
|
1332
|
+
var tRows = (0, _react2.within)(staticTable).getByRole('row');
|
1333
|
+
expect(staticTable).toBeInTheDocument();
|
1334
|
+
expect(staticTable).toBeVisible();
|
1335
|
+
expect(tRows).toBeInTheDocument();
|
1336
|
+
});
|
1305
1337
|
});
|
@@ -91,8 +91,6 @@ var breadCrumbDataIds = {
|
|
91
91
|
environmentButton: 'breadcrumb--environment-button',
|
92
92
|
orgButton: 'breadcrumb--org-button'
|
93
93
|
};
|
94
|
-
/** The Environment Picker with Search and Sections support */
|
95
|
-
|
96
94
|
exports.breadCrumbDataIds = breadCrumbDataIds;
|
97
95
|
var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
98
96
|
var children = props.children,
|
@@ -324,7 +322,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
324
322
|
iconProps: {
|
325
323
|
color: 'neutral.70',
|
326
324
|
mx: 5,
|
327
|
-
size:
|
325
|
+
size: 'xs'
|
328
326
|
}
|
329
327
|
}, others), (0, _react2.jsx)(_index.Item, {
|
330
328
|
key: "name",
|
@@ -52,6 +52,10 @@ var _EnvironmentBreadcrumb = _interopRequireDefault(require("./EnvironmentBreadc
|
|
52
52
|
|
53
53
|
var _index = require("../../index");
|
54
54
|
|
55
|
+
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
56
|
+
|
57
|
+
var _EnvironmentBreadcrumb2 = _interopRequireDefault(require("./EnvironmentBreadcrumb.mdx"));
|
58
|
+
|
55
59
|
var _react2 = require("@emotion/react");
|
56
60
|
|
57
61
|
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); }
|
@@ -67,6 +71,9 @@ var _default = {
|
|
67
71
|
component: _EnvironmentBreadcrumb["default"],
|
68
72
|
parameters: {
|
69
73
|
docs: {
|
74
|
+
page: function page() {
|
75
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_EnvironmentBreadcrumb2["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
|
76
|
+
},
|
70
77
|
source: {
|
71
78
|
type: 'code'
|
72
79
|
}
|
@@ -108,6 +115,7 @@ var defaultEnvironments = [{
|
|
108
115
|
}];
|
109
116
|
var environmentsWithSections = [{
|
110
117
|
name: 'Recent',
|
118
|
+
key: 'Recent',
|
111
119
|
options: [{
|
112
120
|
name: 'Default'
|
113
121
|
}, {
|
@@ -117,6 +125,7 @@ var environmentsWithSections = [{
|
|
117
125
|
}]
|
118
126
|
}, {
|
119
127
|
name: 'All',
|
128
|
+
key: 'All',
|
120
129
|
options: [{
|
121
130
|
name: 'Consumer Banking Prod'
|
122
131
|
}, {
|
@@ -133,6 +142,17 @@ var environmentsWithSections = [{
|
|
133
142
|
}, {
|
134
143
|
name: 'Mine'
|
135
144
|
}]
|
145
|
+
}, {
|
146
|
+
name: null,
|
147
|
+
key: 'Other',
|
148
|
+
options: [{
|
149
|
+
name: 'Default'
|
150
|
+
}, {
|
151
|
+
name: 'Auth test',
|
152
|
+
isSandbox: true
|
153
|
+
}, {
|
154
|
+
name: 'Mike’s Workforce'
|
155
|
+
}]
|
136
156
|
}];
|
137
157
|
|
138
158
|
var Default = function Default(args) {
|
@@ -270,12 +290,14 @@ var WithSections = function WithSections() {
|
|
270
290
|
items: environments,
|
271
291
|
name: "Globochem",
|
272
292
|
selectedItem: envNode,
|
273
|
-
onSelectionChange: handleEnvPress
|
293
|
+
onSelectionChange: handleEnvPress,
|
294
|
+
isDefaultOpen: true
|
274
295
|
}, function (_ref3) {
|
275
296
|
var sectionName = _ref3.name,
|
276
|
-
sectionOptions = _ref3.options
|
297
|
+
sectionOptions = _ref3.options,
|
298
|
+
sectionKey = _ref3.key;
|
277
299
|
return (0, _react2.jsx)(_index.Section, {
|
278
|
-
key:
|
300
|
+
key: sectionKey,
|
279
301
|
title: sectionName,
|
280
302
|
items: sectionOptions
|
281
303
|
}, function (_ref4) {
|
@@ -63,6 +63,7 @@ var items = [{
|
|
63
63
|
}];
|
64
64
|
var itemsWithSections = [{
|
65
65
|
name: 'Heading 1',
|
66
|
+
key: 'Heading 1',
|
66
67
|
options: [{
|
67
68
|
name: 'Foo'
|
68
69
|
}, {
|
@@ -72,12 +73,13 @@ var itemsWithSections = [{
|
|
72
73
|
}]
|
73
74
|
}, {
|
74
75
|
name: 'Heading 2',
|
76
|
+
key: 'Heading 2',
|
75
77
|
options: [{
|
76
|
-
name: '
|
78
|
+
name: 'Foo1'
|
77
79
|
}, {
|
78
|
-
name: '
|
80
|
+
name: 'Bar1'
|
79
81
|
}, {
|
80
|
-
name: '
|
82
|
+
name: 'Baz1'
|
81
83
|
}]
|
82
84
|
}];
|
83
85
|
var defaultProps = {
|
@@ -118,7 +120,8 @@ var getSectionsComponent = function getSectionsComponent() {
|
|
118
120
|
return (0, _testWrapper.render)((0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.EnvironmentBreadcrumb, (0, _extends2["default"])({}, defaultWithSectionsProps, props), function (section) {
|
119
121
|
return (// eslint-disable-next-line testing-library/no-node-access
|
120
122
|
(0, _react2.jsx)(_collections.Section, {
|
121
|
-
key: section.
|
123
|
+
key: section.key,
|
124
|
+
name: section.name,
|
122
125
|
title: section.name,
|
123
126
|
items: section.options
|
124
127
|
}, function (item) {
|
@@ -241,6 +244,17 @@ test('should render items with sections passed in props', function () {
|
|
241
244
|
|
242
245
|
_userEvent["default"].click(_testWrapper.screen.getByText(testSelectedItem));
|
243
246
|
|
247
|
+
expect(_testWrapper.screen.getAllByRole('group')).toHaveLength(2);
|
248
|
+
expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
|
249
|
+
expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(6);
|
250
|
+
});
|
251
|
+
test('should render the separators', function () {
|
252
|
+
getSectionsComponent();
|
253
|
+
|
254
|
+
_userEvent["default"].click(_testWrapper.screen.getByText(testSelectedItem));
|
255
|
+
|
256
|
+
expect(_testWrapper.screen.queryAllByRole('separator')).toHaveLength(3);
|
257
|
+
|
244
258
|
var groups = _testWrapper.screen.getAllByRole('group');
|
245
259
|
|
246
260
|
expect(groups).toHaveLength(2);
|
@@ -409,7 +423,7 @@ test('should hide section title if no search results within it', function () {
|
|
409
423
|
_userEvent["default"].click(_testWrapper.screen.getByText(testSelectedItem)); // Search for option exclusive to only one section
|
410
424
|
|
411
425
|
|
412
|
-
_userEvent["default"].type(_testWrapper.screen.getByRole('searchbox'), '
|
426
|
+
_userEvent["default"].type(_testWrapper.screen.getByRole('searchbox'), 'Bar1'); // 'Heading 1' should not be rendered, but 'Heading 2' should be
|
413
427
|
|
414
428
|
|
415
429
|
expect(_testWrapper.screen.queryByText(itemsWithSections[0].name)).not.toBeInTheDocument();
|