@pingux/astro 1.31.0-alpha.1 → 1.31.0-alpha.10
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/Card/Card.stories.js +29 -2
- package/lib/cjs/components/Chip/Chip.js +37 -7
- package/lib/cjs/components/Chip/Chip.test.js +8 -0
- package/lib/cjs/components/DataTable/DataTable.test.js +0 -2
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +84 -2
- package/lib/cjs/components/ListView/ListView.stories.js +2 -1
- package/lib/cjs/components/ListViewItem/ListViewItem.js +5 -2
- package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +14 -7
- package/lib/cjs/components/RequirementsList/RequirementsList.js +5 -1
- package/lib/cjs/components/RequirementsList/RequirementsList.test.js +2 -2
- package/lib/cjs/components/SearchField/SearchField.js +10 -0
- package/lib/cjs/components/SearchField/SearchField.test.js +27 -0
- package/lib/cjs/components/TabPicker/TabPicker.js +1 -0
- package/lib/cjs/components/Table/Table.stories.js +9 -27
- package/lib/cjs/components/Table/Table.test.js +9 -1
- package/lib/cjs/components/TableCaption/TableCaption.js +43 -0
- package/lib/cjs/components/TableCaption/index.js +18 -0
- package/lib/cjs/components/Tabs/Tabs.stories.js +4 -2
- package/lib/cjs/components/Tabs/Tabs.test.js +6 -4
- package/lib/cjs/recipes/LinkedListView.stories.js +424 -0
- package/lib/cjs/styles/variants/boxes.js +19 -1
- package/lib/cjs/styles/variants/table.js +6 -0
- package/lib/components/Card/Card.stories.js +29 -2
- package/lib/components/Chip/Chip.js +30 -4
- package/lib/components/Chip/Chip.test.js +8 -0
- package/lib/components/DataTable/DataTable.test.js +0 -2
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +79 -0
- package/lib/components/ListView/ListView.stories.js +2 -1
- package/lib/components/ListViewItem/ListViewItem.js +5 -2
- package/lib/components/OverlayPanel/OverlayPanel.stories.js +14 -7
- package/lib/components/RequirementsList/RequirementsList.js +5 -1
- package/lib/components/RequirementsList/RequirementsList.test.js +2 -2
- package/lib/components/SearchField/SearchField.js +10 -0
- package/lib/components/SearchField/SearchField.test.js +20 -1
- package/lib/components/TabPicker/TabPicker.js +1 -0
- package/lib/components/Table/Table.stories.js +7 -27
- package/lib/components/Table/Table.test.js +7 -1
- package/lib/components/TableCaption/TableCaption.js +27 -0
- package/lib/components/TableCaption/index.js +1 -0
- package/lib/components/Tabs/Tabs.stories.js +4 -2
- package/lib/components/Tabs/Tabs.test.js +6 -4
- package/lib/recipes/LinkedListView.stories.js +393 -0
- package/lib/styles/variants/boxes.js +19 -1
- package/lib/styles/variants/table.js +6 -0
- package/package.json +1 -1
@@ -43,10 +43,37 @@ var Default = function Default(args) {
|
|
43
43
|
exports.Default = Default;
|
44
44
|
|
45
45
|
var CardRow = function CardRow() {
|
46
|
+
var sx = {
|
47
|
+
li: {
|
48
|
+
display: 'inline',
|
49
|
+
flexGrow: 1,
|
50
|
+
flexBasis: '0%'
|
51
|
+
},
|
52
|
+
card: {
|
53
|
+
display: 'block'
|
54
|
+
}
|
55
|
+
};
|
46
56
|
return (0, _react2.jsx)(_Box["default"], {
|
47
57
|
isRow: true,
|
48
|
-
gap: "md"
|
49
|
-
|
58
|
+
gap: "md",
|
59
|
+
as: "ul",
|
60
|
+
pl: "0px"
|
61
|
+
}, (0, _react2.jsx)(_Box["default"], {
|
62
|
+
as: "li",
|
63
|
+
sx: sx.li
|
64
|
+
}, (0, _react2.jsx)(_Card["default"], {
|
65
|
+
sx: sx.card
|
66
|
+
}, "First")), (0, _react2.jsx)(_Box["default"], {
|
67
|
+
as: "li",
|
68
|
+
sx: sx.li
|
69
|
+
}, (0, _react2.jsx)(_Card["default"], {
|
70
|
+
sx: sx.card
|
71
|
+
}, "Second")), (0, _react2.jsx)(_Box["default"], {
|
72
|
+
as: "li",
|
73
|
+
sx: sx.li
|
74
|
+
}, (0, _react2.jsx)(_Card["default"], {
|
75
|
+
sx: sx.card
|
76
|
+
}, "Third")));
|
50
77
|
};
|
51
78
|
|
52
79
|
exports.CardRow = CardRow;
|
@@ -2,13 +2,25 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
4
|
|
5
|
-
var
|
5
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
6
|
+
|
7
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
6
8
|
|
7
9
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
10
|
|
9
|
-
var
|
11
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
10
12
|
|
11
|
-
var
|
13
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
14
|
+
|
15
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
16
|
+
|
17
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
18
|
+
|
19
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
20
|
+
|
21
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
22
|
+
|
23
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
12
24
|
|
13
25
|
_Object$defineProperty(exports, "__esModule", {
|
14
26
|
value: true
|
@@ -18,6 +30,8 @@ exports["default"] = void 0;
|
|
18
30
|
|
19
31
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
20
32
|
|
33
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
34
|
+
|
21
35
|
var _react = _interopRequireDefault(require("react"));
|
22
36
|
|
23
37
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
@@ -36,6 +50,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
36
50
|
|
37
51
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
38
52
|
|
53
|
+
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; }
|
54
|
+
|
55
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
56
|
+
|
39
57
|
/**
|
40
58
|
* Chip component.
|
41
59
|
* Built on top of the [Box from Theme-UI](https://theme-ui.com/components/box/) and uses the
|
@@ -47,7 +65,18 @@ var Chip = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
47
65
|
textColor = props.textColor,
|
48
66
|
textProps = props.textProps,
|
49
67
|
label = props.label,
|
68
|
+
align = props.align,
|
50
69
|
isUppercase = props.isUppercase;
|
70
|
+
|
71
|
+
var sx = _objectSpread({}, isUppercase && {
|
72
|
+
paddingBottom: '3px'
|
73
|
+
});
|
74
|
+
|
75
|
+
if (align) {
|
76
|
+
sx.position = 'absolute';
|
77
|
+
sx[align] = '15px';
|
78
|
+
}
|
79
|
+
|
51
80
|
return (0, _react2.jsx)(_ChipContext.ChipContext.Provider, {
|
52
81
|
value: {
|
53
82
|
bg: bg
|
@@ -55,9 +84,7 @@ var Chip = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
55
84
|
}, (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
56
85
|
isRow: true,
|
57
86
|
variant: "boxes.chip",
|
58
|
-
sx:
|
59
|
-
paddingBottom: '3px'
|
60
|
-
},
|
87
|
+
sx: sx,
|
61
88
|
ref: ref
|
62
89
|
}, props), (0, _react2.jsx)(_Text["default"], (0, _extends2["default"])({
|
63
90
|
variant: "label",
|
@@ -83,7 +110,10 @@ Chip.propTypes = {
|
|
83
110
|
textProps: _propTypes["default"].shape({}),
|
84
111
|
|
85
112
|
/** When true, display chip label as uppercase. */
|
86
|
-
isUppercase: _propTypes["default"].bool
|
113
|
+
isUppercase: _propTypes["default"].bool,
|
114
|
+
|
115
|
+
/** Alignment of chip relative to parent container. */
|
116
|
+
align: _propTypes["default"].oneOf(['top', 'right', 'bottom', 'left'])
|
87
117
|
};
|
88
118
|
Chip.defaultProps = {
|
89
119
|
textColor: 'white',
|
@@ -54,4 +54,12 @@ test('renders Chip component with uppercase', function () {
|
|
54
54
|
isUppercase: isUppercase
|
55
55
|
});
|
56
56
|
expect(_react2.screen.queryByText('uppercase')).toHaveStyleRule('text-transform', 'uppercase');
|
57
|
+
});
|
58
|
+
test('renders Chip component with custom alignment', function () {
|
59
|
+
var align = 'right';
|
60
|
+
getComponent({
|
61
|
+
align: align
|
62
|
+
});
|
63
|
+
expect(_react2.screen.getByTestId(testId)).toHaveStyleRule('position', 'absolute');
|
64
|
+
expect(_react2.screen.getByTestId(testId)).toHaveStyleRule('right', '15px');
|
57
65
|
});
|
@@ -994,7 +994,6 @@ describe('Sortable DataTable with useAsyncList', function () {
|
|
994
994
|
var first = a[sortDescriptor.column];
|
995
995
|
var second = b[sortDescriptor.column]; // eslint-disable-next-line radix
|
996
996
|
|
997
|
-
// eslint-disable-next-line radix
|
998
997
|
var cmp = ((0, _parseInt2["default"])(first) || first) < ((0, _parseInt2["default"])(second) || second) ? -1 : 1;
|
999
998
|
|
1000
999
|
if (sortDescriptor.direction === 'descending') {
|
@@ -1190,7 +1189,6 @@ describe('Sortable DataTable with useAsyncList', function () {
|
|
1190
1189
|
var first = a[sortDescriptor.column];
|
1191
1190
|
var second = b[sortDescriptor.column]; // eslint-disable-next-line radix
|
1192
1191
|
|
1193
|
-
// eslint-disable-next-line radix
|
1194
1192
|
var cmp = ((0, _parseInt2["default"])(first) || first) < ((0, _parseInt2["default"])(second) || second) ? -1 : 1;
|
1195
1193
|
|
1196
1194
|
if (sortDescriptor.direction === 'descending') {
|
@@ -26,7 +26,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
26
26
|
value: true
|
27
27
|
});
|
28
28
|
|
29
|
-
exports["default"] = exports.WithSections = exports.OrgLevel = exports.DefaultOpen = exports.Default = exports.ControlledMenu = void 0;
|
29
|
+
exports["default"] = exports.WithSections = exports.RightAlignedChips = exports.OrgLevel = exports.DefaultOpen = exports.Default = exports.ControlledMenu = void 0;
|
30
30
|
|
31
31
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
32
32
|
|
@@ -410,4 +410,86 @@ var ControlledMenu = function ControlledMenu() {
|
|
410
410
|
});
|
411
411
|
};
|
412
412
|
|
413
|
-
exports.ControlledMenu = ControlledMenu;
|
413
|
+
exports.ControlledMenu = ControlledMenu;
|
414
|
+
|
415
|
+
var RightAlignedChips = function RightAlignedChips(args) {
|
416
|
+
var _useState13 = (0, _react.useState)({
|
417
|
+
name: 'Snail',
|
418
|
+
isSandbox: true
|
419
|
+
}),
|
420
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
421
|
+
selectedEnvironment = _useState14[0],
|
422
|
+
setSelectedEnvironment = _useState14[1];
|
423
|
+
|
424
|
+
var envNode = (0, _react2.jsx)(_index.Box, {
|
425
|
+
isRow: true
|
426
|
+
}, (0, _react2.jsx)(_index.Text, {
|
427
|
+
color: "inherit"
|
428
|
+
}, selectedEnvironment.name), selectedEnvironment.isSandbox ? (0, _react2.jsx)(_index.Chip, {
|
429
|
+
label: "SANDBOX",
|
430
|
+
variant: "boxes.environmentChip",
|
431
|
+
bg: "neutral.40"
|
432
|
+
}) : null);
|
433
|
+
|
434
|
+
var findEnvObj = function findEnvObj(envName) {
|
435
|
+
return (0, _find["default"])(defaultEnvironments).call(defaultEnvironments, function (_ref9) {
|
436
|
+
var name = _ref9.name;
|
437
|
+
return name === envName;
|
438
|
+
});
|
439
|
+
};
|
440
|
+
|
441
|
+
var handleSelectionChange = function handleSelectionChange(newEnvName) {
|
442
|
+
var envObj = findEnvObj(newEnvName);
|
443
|
+
setSelectedEnvironment(_objectSpread({}, envObj));
|
444
|
+
};
|
445
|
+
|
446
|
+
var items = [{
|
447
|
+
name: 'Default'
|
448
|
+
}, {
|
449
|
+
name: 'Kangaroo',
|
450
|
+
isSandbox: true
|
451
|
+
}, {
|
452
|
+
name: 'Snake',
|
453
|
+
isSandbox: true
|
454
|
+
}, {
|
455
|
+
name: 'Snail'
|
456
|
+
}, {
|
457
|
+
name: 'Slug',
|
458
|
+
isSandbox: true
|
459
|
+
}, {
|
460
|
+
name: 'Crow'
|
461
|
+
}, {
|
462
|
+
name: 'Dog'
|
463
|
+
}, {
|
464
|
+
name: 'Crab',
|
465
|
+
isSandbox: true
|
466
|
+
}, {
|
467
|
+
name: 'Fish',
|
468
|
+
isSandbox: true
|
469
|
+
}, {
|
470
|
+
name: 'Turtle',
|
471
|
+
isSandbox: true
|
472
|
+
}, {
|
473
|
+
name: 'Mouse'
|
474
|
+
}];
|
475
|
+
return (0, _react2.jsx)(_EnvironmentBreadcrumb["default"], (0, _extends2["default"])({}, args, {
|
476
|
+
items: items,
|
477
|
+
name: "Globochem",
|
478
|
+
selectedItem: envNode,
|
479
|
+
onSelectionChange: handleSelectionChange
|
480
|
+
}), function (_ref10) {
|
481
|
+
var name = _ref10.name,
|
482
|
+
isSandbox = _ref10.isSandbox;
|
483
|
+
return (0, _react2.jsx)(_index.Item, {
|
484
|
+
key: name,
|
485
|
+
textValue: name
|
486
|
+
}, name, isSandbox ? (0, _react2.jsx)(_index.Chip, {
|
487
|
+
label: "SANDBOX",
|
488
|
+
variant: "boxes.environmentChip",
|
489
|
+
bg: "neutral.40",
|
490
|
+
align: "right"
|
491
|
+
}) : null);
|
492
|
+
});
|
493
|
+
};
|
494
|
+
|
495
|
+
exports.RightAlignedChips = RightAlignedChips;
|
@@ -49,6 +49,7 @@ var ListViewItem = function ListViewItem(props) {
|
|
49
49
|
rowProps = _props$item$props.rowProps,
|
50
50
|
_props$item$props$has = _props$item$props.hasSeparator,
|
51
51
|
hasSeparator = _props$item$props$has === void 0 ? true : _props$item$props$has,
|
52
|
+
hasInsetSeparator = _props$item$props.hasInsetSeparator,
|
52
53
|
className = props.className;
|
53
54
|
var dataId = item.props['data-id'];
|
54
55
|
|
@@ -88,7 +89,8 @@ var ListViewItem = function ListViewItem(props) {
|
|
88
89
|
isHovered: isSelectable && isHovered,
|
89
90
|
isSelected: isSelected,
|
90
91
|
isFocused: isDisabled ? false : isFocusVisible || isFocusVisibleWithin,
|
91
|
-
hasSeparator: hasSeparator
|
92
|
+
hasSeparator: hasSeparator,
|
93
|
+
hasInsetSeparator: hasInsetSeparator
|
92
94
|
}),
|
93
95
|
classNames = _useStatusClasses.classNames;
|
94
96
|
|
@@ -120,7 +122,8 @@ ListViewItem.propTypes = {
|
|
120
122
|
'data-id': _propTypes["default"].string,
|
121
123
|
listItemProps: _propTypes["default"].shape({}),
|
122
124
|
rowProps: _propTypes["default"].shape({}),
|
123
|
-
hasSeparator: _propTypes["default"].bool
|
125
|
+
hasSeparator: _propTypes["default"].bool,
|
126
|
+
hasInsetSeparator: _propTypes["default"].bool
|
124
127
|
})
|
125
128
|
})
|
126
129
|
};
|
@@ -79,7 +79,8 @@ var Default = function Default(_ref) {
|
|
79
79
|
// readers when an overlay is open.
|
80
80
|
(0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
|
81
81
|
ref: triggerRef,
|
82
|
-
onPress: state.open
|
82
|
+
onPress: state.open,
|
83
|
+
"aria-expanded": state.isOpen
|
83
84
|
}, "Open Panel"), state.isOpen && (0, _react2.jsx)(_OverlayPanel["default"], (0, _extends2["default"])({
|
84
85
|
isOpen: state.isOpen,
|
85
86
|
state: state
|
@@ -88,7 +89,8 @@ var Default = function Default(_ref) {
|
|
88
89
|
}), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Button, {
|
89
90
|
onPress: function onPress() {
|
90
91
|
onClose(state, triggerRef);
|
91
|
-
}
|
92
|
+
},
|
93
|
+
"aria-expanded": state.isOpen
|
92
94
|
}, "Close Panel"), (0, _react2.jsx)(_index.Text, {
|
93
95
|
pt: "md"
|
94
96
|
}, "Children render here."))))
|
@@ -158,7 +160,8 @@ var InnerPanel = function InnerPanel(_ref2) {
|
|
158
160
|
p: '12px'
|
159
161
|
}
|
160
162
|
}, (0, _react2.jsx)(_index.Button, {
|
161
|
-
onPress: closeOuterPanel
|
163
|
+
onPress: closeOuterPanel,
|
164
|
+
"aria-expanded": state.isOpen
|
162
165
|
}, "Close Panel"), (0, _react2.jsx)(_index.Text, {
|
163
166
|
pt: "md",
|
164
167
|
mb: "24px"
|
@@ -180,13 +183,15 @@ var InnerPanel = function InnerPanel(_ref2) {
|
|
180
183
|
onPress: toggleMessagesOpen
|
181
184
|
}, "Toggle Messages"), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
|
182
185
|
ref: innerTriggerRef,
|
183
|
-
onPress: innerState.open
|
186
|
+
onPress: innerState.open,
|
187
|
+
"aria-expanded": innerState.isOpen
|
184
188
|
}, "Open Inner Panel"), inner)));
|
185
189
|
return (// Application must be wrapped in an OverlayProvider so that it can be hidden from screen
|
186
190
|
// readers when an overlay opens.
|
187
191
|
(0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
|
188
192
|
ref: outerTriggerRef,
|
189
|
-
onPress: state.open
|
193
|
+
onPress: state.open,
|
194
|
+
"aria-expanded": state.isOpen
|
190
195
|
}, "Open Panel"), outer), messagesOpen && (0, _react2.jsx)(_index.Messages, {
|
191
196
|
sx: {
|
192
197
|
zIndex: 11
|
@@ -210,7 +215,8 @@ var CustomWidth = function CustomWidth() {
|
|
210
215
|
// readers when an overlay opens.
|
211
216
|
(0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."), (0, _react2.jsx)("br", null), (0, _react2.jsx)(_index.Button, {
|
212
217
|
ref: triggerRef,
|
213
|
-
onPress: state.open
|
218
|
+
onPress: state.open,
|
219
|
+
"aria-expanded": state.isOpen
|
214
220
|
}, "Open Panel"), state.isOpen && (0, _react2.jsx)(_OverlayPanel["default"], {
|
215
221
|
isOpen: state.isOpen,
|
216
222
|
state: state,
|
@@ -221,7 +227,8 @@ var CustomWidth = function CustomWidth() {
|
|
221
227
|
}, (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Button, {
|
222
228
|
onPress: function onPress() {
|
223
229
|
onClose(state, triggerRef);
|
224
|
-
}
|
230
|
+
},
|
231
|
+
"aria-expanded": state.isOpen
|
225
232
|
}, "Close Panel"), (0, _react2.jsx)(_index.Text, {
|
226
233
|
pt: "md"
|
227
234
|
}, "Children render here."))))
|
@@ -98,18 +98,22 @@ var RequirementsList = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
98
98
|
|
99
99
|
var buildRequirementsLine = function buildRequirementsLine(req) {
|
100
100
|
return (0, _react2.jsx)(_Box["default"], {
|
101
|
+
role: "listitem",
|
101
102
|
isRow: true,
|
102
103
|
key: req.name,
|
103
104
|
alignItems: "center",
|
104
|
-
width: "100%"
|
105
|
+
width: "100%",
|
106
|
+
as: "li"
|
105
107
|
}, statusIconRender(req.status), (0, _react2.jsx)(_Text["default"], {
|
106
108
|
variant: "bodyWeak"
|
107
109
|
}, req.name));
|
108
110
|
};
|
109
111
|
|
110
112
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
113
|
+
role: "list",
|
111
114
|
p: "lg",
|
112
115
|
gap: "md",
|
116
|
+
as: "ul",
|
113
117
|
ref: ref
|
114
118
|
}, others), (0, _map["default"])(requirements).call(requirements, function (req) {
|
115
119
|
return buildRequirementsLine(req);
|
@@ -63,7 +63,7 @@ test('base case requirements list', function () {
|
|
63
63
|
|
64
64
|
var requirementsList = _react2.screen.getByTestId(testId);
|
65
65
|
|
66
|
-
expect(requirementsList).toBeInstanceOf(
|
66
|
+
expect(requirementsList).toBeInstanceOf(HTMLUListElement);
|
67
67
|
expect(requirementsList).toBeInTheDocument();
|
68
68
|
});
|
69
69
|
test('empty variables requirements list', function () {
|
@@ -73,7 +73,7 @@ test('empty variables requirements list', function () {
|
|
73
73
|
|
74
74
|
var requirementsList = _react2.screen.getByTestId(testId);
|
75
75
|
|
76
|
-
expect(requirementsList).toBeInstanceOf(
|
76
|
+
expect(requirementsList).toBeInstanceOf(HTMLUListElement);
|
77
77
|
expect(requirementsList).toBeInTheDocument();
|
78
78
|
});
|
79
79
|
test('should render default status icon if such passed in props', function () {
|
@@ -105,6 +105,14 @@ var SearchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
105
105
|
fieldControlProps = _useField.fieldControlProps,
|
106
106
|
fieldLabelProps = _useField.fieldLabelProps;
|
107
107
|
|
108
|
+
var handleKeyDownEvent = function handleKeyDownEvent(e) {
|
109
|
+
var key = e.key;
|
110
|
+
|
111
|
+
if (key === 'Enter' || key === ' ') {
|
112
|
+
state.setValue('');
|
113
|
+
}
|
114
|
+
};
|
115
|
+
|
108
116
|
return (0, _react2.jsx)(_.Box, fieldContainerProps, label && (0, _react2.jsx)(_.Label, fieldLabelProps), (0, _react2.jsx)(_.Box, {
|
109
117
|
variant: "forms.search.container"
|
110
118
|
}, (0, _react2.jsx)(_.Input, (0, _extends2["default"])({
|
@@ -116,6 +124,8 @@ var SearchField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
116
124
|
variant: "forms.search.icon",
|
117
125
|
size: 22
|
118
126
|
}, iconProps)), !hasNoClearButton && state.value !== '' && (0, _react2.jsx)(_.IconButton, (0, _extends2["default"])({
|
127
|
+
tabIndex: 0,
|
128
|
+
onKeyDown: handleKeyDownEvent,
|
119
129
|
sx: {
|
120
130
|
position: 'absolute',
|
121
131
|
top: 8,
|
@@ -242,6 +242,33 @@ test('clear button should be present by default ', function () {
|
|
242
242
|
});
|
243
243
|
expect(_testWrapper.screen.getByRole('button')).toBeInTheDocument();
|
244
244
|
});
|
245
|
+
test('clear button should be keyboard accessible', function () {
|
246
|
+
getComponent();
|
247
|
+
|
248
|
+
var search = _testWrapper.screen.getByLabelText(testLabel);
|
249
|
+
|
250
|
+
_userEvent["default"].type(search, 'clear');
|
251
|
+
|
252
|
+
expect(search).toHaveValue('clear');
|
253
|
+
|
254
|
+
var clearButton = _testWrapper.screen.getByRole('button');
|
255
|
+
|
256
|
+
expect(clearButton).toHaveAttribute('tabindex', '0');
|
257
|
+
(0, _testWrapper.act)(function () {
|
258
|
+
clearButton.focus();
|
259
|
+
});
|
260
|
+
expect(clearButton).toHaveFocus();
|
261
|
+
|
262
|
+
_testWrapper.fireEvent.keyDown(clearButton, {
|
263
|
+
key: 'Enter'
|
264
|
+
});
|
265
|
+
|
266
|
+
_testWrapper.fireEvent.keyUp(clearButton, {
|
267
|
+
key: 'Enter'
|
268
|
+
});
|
269
|
+
|
270
|
+
expect(search).toHaveValue('');
|
271
|
+
});
|
245
272
|
test('clear button should not be present is hasNoClearButton=true ', function () {
|
246
273
|
getComponent({
|
247
274
|
value: 'test-value',
|
@@ -229,6 +229,7 @@ var TabPicker = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
229
229
|
ref: menuRef
|
230
230
|
}, (0, _map["default"])(items).call(items, function (tab) {
|
231
231
|
return (0, _react2.jsx)(_collections.Item, {
|
232
|
+
role: tab.role,
|
232
233
|
key: tab.key
|
233
234
|
}, tab.name);
|
234
235
|
})));
|
@@ -26,6 +26,10 @@ var _TableCell = _interopRequireDefault(require("../TableCell"));
|
|
26
26
|
|
27
27
|
var _TableHead = _interopRequireDefault(require("../TableHead"));
|
28
28
|
|
29
|
+
var _TableCaption = _interopRequireDefault(require("../TableCaption"));
|
30
|
+
|
31
|
+
var _index = require("../../index");
|
32
|
+
|
29
33
|
var _react2 = require("@emotion/react");
|
30
34
|
|
31
35
|
var _default = {
|
@@ -33,6 +37,7 @@ var _default = {
|
|
33
37
|
component: _Table["default"]
|
34
38
|
};
|
35
39
|
exports["default"] = _default;
|
40
|
+
var caption = 'Populations of Countries';
|
36
41
|
var headers = ['Country', 'Population', 'Continent'];
|
37
42
|
var objects = [{
|
38
43
|
country: 'USA',
|
@@ -53,33 +58,10 @@ var objects = [{
|
|
53
58
|
}];
|
54
59
|
|
55
60
|
var Default = function Default() {
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
// const objects = [
|
61
|
-
// {
|
62
|
-
// country: 'USA',
|
63
|
-
// population: '320,000,000',
|
64
|
-
// continent: 'North America',
|
65
|
-
// },
|
66
|
-
// {
|
67
|
-
// country: 'Canada',
|
68
|
-
// population: '37,000,000',
|
69
|
-
// continent: 'North America',
|
70
|
-
// },
|
71
|
-
// {
|
72
|
-
// country: 'China',
|
73
|
-
// population: '1,398,000,000',
|
74
|
-
// continent: 'Asia',
|
75
|
-
// },
|
76
|
-
// {
|
77
|
-
// country: 'France',
|
78
|
-
// population: '67,000,000',
|
79
|
-
// continent: 'Europe',
|
80
|
-
// },
|
81
|
-
// ];
|
82
|
-
return (0, _react2.jsx)(_Table["default"], null, (0, _react2.jsx)(_TableHead["default"], null, (0, _react2.jsx)(_TableRow["default"], {
|
61
|
+
return (0, _react2.jsx)(_Table["default"], null, (0, _react2.jsx)(_TableCaption["default"], null, (0, _react2.jsx)(_index.Text, {
|
62
|
+
fontWeight: 3,
|
63
|
+
fontSize: "lg"
|
64
|
+
}, caption)), (0, _react2.jsx)(_TableHead["default"], null, (0, _react2.jsx)(_TableRow["default"], {
|
83
65
|
key: "head"
|
84
66
|
}, (0, _map["default"])(headers).call(headers, function (head) {
|
85
67
|
return (0, _react2.jsx)(_TableCell["default"], {
|
@@ -20,6 +20,10 @@ var _TableCell = _interopRequireDefault(require("../TableCell"));
|
|
20
20
|
|
21
21
|
var _TableHead = _interopRequireDefault(require("../TableHead"));
|
22
22
|
|
23
|
+
var _TableCaption = _interopRequireDefault(require("../TableCaption"));
|
24
|
+
|
25
|
+
var _index = require("../../index");
|
26
|
+
|
23
27
|
var _testAxe = _interopRequireDefault(require("../../utils/testUtils/testAxe"));
|
24
28
|
|
25
29
|
var _react3 = require("@emotion/react");
|
@@ -28,6 +32,7 @@ var testId = 'test-table';
|
|
28
32
|
var defaultProps = {
|
29
33
|
'data-testid': testId
|
30
34
|
};
|
35
|
+
var caption = 'Populations of Countries';
|
31
36
|
var headers = ['Country', 'Population', 'Continent'];
|
32
37
|
var objects = [{
|
33
38
|
country: 'USA',
|
@@ -48,7 +53,10 @@ var objects = [{
|
|
48
53
|
}];
|
49
54
|
|
50
55
|
var getComponent = function getComponent() {
|
51
|
-
return (0, _react2.render)((0, _react3.jsx)(_Table["default"], defaultProps, (0, _react3.jsx)(
|
56
|
+
return (0, _react2.render)((0, _react3.jsx)(_Table["default"], defaultProps, (0, _react3.jsx)(_TableCaption["default"], null, (0, _react3.jsx)(_index.Text, {
|
57
|
+
fontWeight: 3,
|
58
|
+
fontSize: "lg"
|
59
|
+
}, caption)), (0, _react3.jsx)(_TableHead["default"], null, (0, _react3.jsx)(_TableRow["default"], {
|
52
60
|
key: "head"
|
53
61
|
}, (0, _map["default"])(headers).call(headers, function (head) {
|
54
62
|
return (0, _react3.jsx)(_TableCell["default"], {
|
@@ -0,0 +1,43 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
exports["default"] = void 0;
|
12
|
+
|
13
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
|
+
|
15
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
16
|
+
|
17
|
+
var _react = _interopRequireDefault(require("react"));
|
18
|
+
|
19
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
20
|
+
|
21
|
+
var _react2 = require("@emotion/react");
|
22
|
+
|
23
|
+
var _excluded = ["children"];
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Basic TableCaption component.
|
27
|
+
*
|
28
|
+
* Renders HTML `<caption>`
|
29
|
+
*
|
30
|
+
* Needs to be a child of the `<Table>` component. Accepts text as children.
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
var TableCaption = function TableCaption(props) {
|
34
|
+
var children = props.children,
|
35
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
36
|
+
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
37
|
+
variant: "table.tableCaption",
|
38
|
+
as: "caption"
|
39
|
+
}, others), children);
|
40
|
+
};
|
41
|
+
|
42
|
+
var _default = TableCaption;
|
43
|
+
exports["default"] = _default;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
_Object$defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
|
11
|
+
_Object$defineProperty(exports, "default", {
|
12
|
+
enumerable: true,
|
13
|
+
get: function get() {
|
14
|
+
return _TableCaption["default"];
|
15
|
+
}
|
16
|
+
});
|
17
|
+
|
18
|
+
var _TableCaption = _interopRequireDefault(require("./TableCaption"));
|
@@ -298,11 +298,13 @@ var WithList = function WithList() {
|
|
298
298
|
list: [{
|
299
299
|
key: 'tab1list',
|
300
300
|
name: 'Tab 1 list',
|
301
|
-
children: 'Tab 1 from list'
|
301
|
+
children: 'Tab 1 from list',
|
302
|
+
role: 'listitem'
|
302
303
|
}, {
|
303
304
|
key: 'tab2list',
|
304
305
|
name: 'Tab 2 list',
|
305
|
-
children: 'Tab 2 from list'
|
306
|
+
children: 'Tab 2 from list',
|
307
|
+
role: 'listitem'
|
306
308
|
}]
|
307
309
|
}]);
|
308
310
|
return (0, _react2.jsx)(_Tabs["default"], {
|