@pingux/astro 1.27.0-alpha.14 → 1.27.0-alpha.16
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/DataTable/DataTable.js +477 -0
- package/lib/cjs/components/DataTable/DataTable.stories.js +310 -0
- package/lib/cjs/components/DataTable/DataTable.styles.js +156 -0
- package/lib/cjs/components/DataTable/DataTable.test.js +1307 -0
- package/lib/cjs/components/DataTable/DataTableChip.js +63 -0
- package/lib/cjs/components/DataTable/DataTableChip.test.js +38 -0
- package/lib/cjs/components/DataTable/DataTableMenu.js +51 -0
- package/lib/cjs/components/DataTable/DataTableMenu.test.js +20 -0
- package/lib/cjs/components/DataTable/DataTableMultiLine.js +75 -0
- package/lib/cjs/components/DataTable/DataTableMultiLine.test.js +30 -0
- package/lib/cjs/components/DataTable/DataTableVirtualizer.js +188 -0
- package/lib/cjs/components/DataTable/index.js +54 -0
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +8 -2
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +35 -0
- package/lib/cjs/components/PageHeader/PageHeader.js +7 -1
- package/lib/cjs/context/DataTableContext/index.js +31 -0
- package/lib/cjs/index.js +67 -2
- package/lib/cjs/recipes/FlippableCaretMenuButton.stories.js +38 -30
- package/lib/cjs/recipes/ListAndPanel.stories.js +102 -87
- package/lib/cjs/recipes/MaskedValue.stories.js +8 -5
- package/lib/cjs/recipes/NeutralInput.stories.js +6 -3
- package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- package/lib/cjs/recipes/PageHeader.stories.js +73 -0
- package/lib/cjs/recipes/RowLineChart.stories.js +58 -70
- package/lib/cjs/recipes/SelectedFieldOverlay.story.js +25 -21
- package/lib/cjs/recipes/TrialExperienceStatusBar.stories.js +81 -72
- package/lib/cjs/styles/variants/variants.js +4 -1
- package/lib/components/DataTable/DataTable.js +431 -0
- package/lib/components/DataTable/DataTable.stories.js +273 -0
- package/lib/components/DataTable/DataTable.styles.js +137 -0
- package/lib/components/DataTable/DataTable.test.js +1256 -0
- package/lib/components/DataTable/DataTableChip.js +33 -0
- package/lib/components/DataTable/DataTableChip.test.js +31 -0
- package/lib/components/DataTable/DataTableMenu.js +24 -0
- package/lib/components/DataTable/DataTableMenu.test.js +13 -0
- package/lib/components/DataTable/DataTableMultiLine.js +46 -0
- package/lib/components/DataTable/DataTableMultiLine.test.js +22 -0
- package/lib/components/DataTable/DataTableVirtualizer.js +157 -0
- package/lib/components/DataTable/index.js +5 -0
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +7 -2
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +25 -0
- package/lib/components/PageHeader/PageHeader.js +8 -1
- package/lib/context/DataTableContext/index.js +5 -0
- package/lib/index.js +4 -1
- package/lib/recipes/FlippableCaretMenuButton.stories.js +38 -30
- package/lib/recipes/ListAndPanel.stories.js +102 -87
- package/lib/recipes/MaskedValue.stories.js +8 -5
- package/lib/recipes/NeutralInput.stories.js +6 -3
- package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- package/lib/recipes/PageHeader.stories.js +53 -0
- package/lib/recipes/RowLineChart.stories.js +58 -70
- package/lib/recipes/SelectedFieldOverlay.story.js +25 -21
- package/lib/recipes/TrialExperienceStatusBar.stories.js +81 -72
- package/lib/styles/variants/variants.js +3 -1
- package/package.json +55 -50
@@ -0,0 +1,63 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
10
|
+
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
12
|
+
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
14
|
+
value: true
|
15
|
+
});
|
16
|
+
|
17
|
+
exports["default"] = void 0;
|
18
|
+
|
19
|
+
var _react = _interopRequireWildcard(require("react"));
|
20
|
+
|
21
|
+
var _AlertIcon = _interopRequireDefault(require("mdi-react/AlertIcon"));
|
22
|
+
|
23
|
+
var _AlertCircleIcon = _interopRequireDefault(require("mdi-react/AlertCircleIcon"));
|
24
|
+
|
25
|
+
var _CheckIcon = _interopRequireDefault(require("mdi-react/CheckIcon"));
|
26
|
+
|
27
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
28
|
+
|
29
|
+
var _index = require("../../index");
|
30
|
+
|
31
|
+
var _react2 = require("@emotion/react");
|
32
|
+
|
33
|
+
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
|
+
|
35
|
+
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; }
|
36
|
+
|
37
|
+
/* eslint-disable no-nested-ternary */
|
38
|
+
var DataTableChip = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
39
|
+
var cell = _ref.cell;
|
40
|
+
var color = cell === 'Pending' ? 'line.light' : cell === 'Failed' ? 'warning.bright' : cell === 'Rejected' ? 'critical.bright' : 'success.dark';
|
41
|
+
return (0, _react2.jsx)(_index.Chip, {
|
42
|
+
label: cell,
|
43
|
+
bg: "white",
|
44
|
+
ref: ref,
|
45
|
+
textColor: cell === 'Pending' || cell === 'Failed' ? 'text.primary' : color,
|
46
|
+
sx: {
|
47
|
+
border: '1px',
|
48
|
+
borderStyle: 'solid',
|
49
|
+
borderColor: color,
|
50
|
+
flexDirection: 'row-reverse !important'
|
51
|
+
}
|
52
|
+
}, cell !== 'Pending' && (0, _react2.jsx)(_index.Icon, {
|
53
|
+
icon: cell === 'Approved' ? _CheckIcon["default"] : cell === 'Rejected' ? _AlertCircleIcon["default"] : cell === 'Failed' ? _AlertIcon["default"] : null,
|
54
|
+
mr: "xs",
|
55
|
+
size: "14px",
|
56
|
+
color: color
|
57
|
+
}));
|
58
|
+
});
|
59
|
+
DataTableChip.propTypes = {
|
60
|
+
cell: _propTypes["default"].string
|
61
|
+
};
|
62
|
+
var _default = DataTableChip;
|
63
|
+
exports["default"] = _default;
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
|
+
|
7
|
+
var _react2 = require("@testing-library/react");
|
8
|
+
|
9
|
+
var _index = require("../../index");
|
10
|
+
|
11
|
+
var _react3 = require("@emotion/react");
|
12
|
+
|
13
|
+
var getComponent = function getComponent() {
|
14
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
15
|
+
return (0, _react2.render)((0, _react3.jsx)(_index.DataTableChip, props));
|
16
|
+
};
|
17
|
+
|
18
|
+
test('renders component with rejected label', function () {
|
19
|
+
var cell = 'Rejected';
|
20
|
+
getComponent({
|
21
|
+
cell: cell
|
22
|
+
});
|
23
|
+
expect(_react2.screen.queryByText('Rejected')).toBeInTheDocument();
|
24
|
+
});
|
25
|
+
test('renders component with pending label', function () {
|
26
|
+
var cell = 'Pending';
|
27
|
+
getComponent({
|
28
|
+
cell: cell
|
29
|
+
});
|
30
|
+
expect(_react2.screen.queryByText('Pending')).toBeInTheDocument();
|
31
|
+
});
|
32
|
+
test('renders component with failed label', function () {
|
33
|
+
var cell = 'Failed';
|
34
|
+
getComponent({
|
35
|
+
cell: cell
|
36
|
+
});
|
37
|
+
expect(_react2.screen.queryByText('Failed')).toBeInTheDocument();
|
38
|
+
});
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
10
|
+
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
12
|
+
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
14
|
+
value: true
|
15
|
+
});
|
16
|
+
|
17
|
+
exports["default"] = void 0;
|
18
|
+
|
19
|
+
var _react = _interopRequireWildcard(require("react"));
|
20
|
+
|
21
|
+
var _DotsVerticalIcon = _interopRequireDefault(require("mdi-react/DotsVerticalIcon"));
|
22
|
+
|
23
|
+
var _index = require("../../index");
|
24
|
+
|
25
|
+
var _react2 = require("@emotion/react");
|
26
|
+
|
27
|
+
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); }
|
28
|
+
|
29
|
+
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; }
|
30
|
+
|
31
|
+
var DataTableMenu = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
32
|
+
return (0, _react2.jsx)(_index.Box, {
|
33
|
+
ref: ref,
|
34
|
+
variant: "dataTable.tableMenu"
|
35
|
+
}, (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.PopoverMenu, null, (0, _react2.jsx)(_index.IconButton, {
|
36
|
+
"aria-label": "row menu"
|
37
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
38
|
+
icon: _DotsVerticalIcon["default"]
|
39
|
+
})), (0, _react2.jsx)(_index.Menu, null, (0, _react2.jsx)(_index.Item, {
|
40
|
+
key: "edit"
|
41
|
+
}, "Edit"), (0, _react2.jsx)(_index.Item, {
|
42
|
+
key: "duplicate"
|
43
|
+
}, "Duplicate"), (0, _react2.jsx)(_index.Item, {
|
44
|
+
key: "delete",
|
45
|
+
textValue: "delete"
|
46
|
+
}, (0, _react2.jsx)(_index.Text, {
|
47
|
+
color: "critical.bright"
|
48
|
+
}, "Delete"))))));
|
49
|
+
});
|
50
|
+
var _default = DataTableMenu;
|
51
|
+
exports["default"] = _default;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
|
+
|
7
|
+
var _react2 = require("@testing-library/react");
|
8
|
+
|
9
|
+
var _index = require("../../index");
|
10
|
+
|
11
|
+
var _react3 = require("@emotion/react");
|
12
|
+
|
13
|
+
var getComponent = function getComponent() {
|
14
|
+
return (0, _react2.render)((0, _react3.jsx)(_index.DataTableMenu, null));
|
15
|
+
};
|
16
|
+
|
17
|
+
test('renders component with menu', function () {
|
18
|
+
getComponent();
|
19
|
+
expect(_react2.screen.getByLabelText('row menu')).toBeInTheDocument();
|
20
|
+
});
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
10
|
+
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
12
|
+
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
14
|
+
value: true
|
15
|
+
});
|
16
|
+
|
17
|
+
exports["default"] = void 0;
|
18
|
+
|
19
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
20
|
+
|
21
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
22
|
+
|
23
|
+
var _react = _interopRequireWildcard(require("react"));
|
24
|
+
|
25
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
26
|
+
|
27
|
+
var _index = require("../../index");
|
28
|
+
|
29
|
+
var _react2 = require("@emotion/react");
|
30
|
+
|
31
|
+
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); }
|
32
|
+
|
33
|
+
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; }
|
34
|
+
|
35
|
+
var DataTableMultiLine = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
36
|
+
var cell = _ref.cell;
|
37
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _map["default"])(cell).call(cell, function (item) {
|
38
|
+
var _context;
|
39
|
+
|
40
|
+
return (0, _react2.jsx)(_index.Box, {
|
41
|
+
key: (0, _concat["default"])(_context = "".concat(cell.key, "_")).call(_context, item.accountId),
|
42
|
+
ref: ref
|
43
|
+
}, (0, _react2.jsx)(_index.Box, {
|
44
|
+
sx: {
|
45
|
+
flexDirection: 'row !important'
|
46
|
+
}
|
47
|
+
}, (0, _react2.jsx)(_index.Box, {
|
48
|
+
sx: {
|
49
|
+
alignItems: 'center',
|
50
|
+
justifyContent: 'center',
|
51
|
+
mx: '18px'
|
52
|
+
}
|
53
|
+
}, (0, _react2.jsx)(_index.Icon, {
|
54
|
+
icon: item.icon,
|
55
|
+
color: "accent.40",
|
56
|
+
size: "18.75"
|
57
|
+
})), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Box, {
|
58
|
+
sx: {
|
59
|
+
fontWeight: 500,
|
60
|
+
fontSize: '15px'
|
61
|
+
}
|
62
|
+
}, item.name), (0, _react2.jsx)(_index.Box, {
|
63
|
+
sx: {
|
64
|
+
color: 'neutral.40',
|
65
|
+
fontWeight: 400,
|
66
|
+
fontSize: '13px'
|
67
|
+
}
|
68
|
+
}, "Account ID: ", item.accountId))));
|
69
|
+
}));
|
70
|
+
});
|
71
|
+
DataTableMultiLine.propTypes = {
|
72
|
+
cell: _propTypes["default"].arrayOf(_propTypes["default"].shape({}))
|
73
|
+
};
|
74
|
+
var _default = DataTableMultiLine;
|
75
|
+
exports["default"] = _default;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
|
+
|
7
|
+
var _react2 = require("@testing-library/react");
|
8
|
+
|
9
|
+
var _ApplicationIcon = _interopRequireDefault(require("mdi-react/ApplicationIcon"));
|
10
|
+
|
11
|
+
var _index = require("../../index");
|
12
|
+
|
13
|
+
var _react3 = require("@emotion/react");
|
14
|
+
|
15
|
+
var getComponent = function getComponent() {
|
16
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
17
|
+
return (0, _react2.render)((0, _react3.jsx)(_index.DataTableMultiLine, props));
|
18
|
+
};
|
19
|
+
|
20
|
+
test('renders component with account name', function () {
|
21
|
+
var cell = [{
|
22
|
+
name: 'Acme',
|
23
|
+
icon: _ApplicationIcon["default"],
|
24
|
+
accountId: 123
|
25
|
+
}];
|
26
|
+
getComponent({
|
27
|
+
cell: cell
|
28
|
+
});
|
29
|
+
expect(_react2.screen.queryByText('Acme')).toBeInTheDocument();
|
30
|
+
});
|
@@ -0,0 +1,188 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
6
|
+
|
7
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
8
|
+
|
9
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
10
|
+
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
12
|
+
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
14
|
+
value: true
|
15
|
+
});
|
16
|
+
|
17
|
+
exports["default"] = void 0;
|
18
|
+
|
19
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
20
|
+
|
21
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
22
|
+
|
23
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
24
|
+
|
25
|
+
var _react = _interopRequireWildcard(require("react"));
|
26
|
+
|
27
|
+
var _utils = require("@react-aria/utils");
|
28
|
+
|
29
|
+
var _virtualizer = require("@react-aria/virtualizer");
|
30
|
+
|
31
|
+
var _virtualizer2 = require("@react-stately/virtualizer");
|
32
|
+
|
33
|
+
var _index = require("../../index");
|
34
|
+
|
35
|
+
var _react2 = require("@emotion/react");
|
36
|
+
|
37
|
+
var _excluded = ["layout", "collection", "focusedKey", "renderView", "renderWrapper", "domRef", "bodyRef", "setTableWidth", "getColumnWidth", "onVisibleRectChange"];
|
38
|
+
|
39
|
+
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); }
|
40
|
+
|
41
|
+
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; }
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Custom Virtualizer using react aria Spectrum TableView/TableVirtualizer
|
45
|
+
* Primarily utilizes [TableView](https://react-spectrum.adobe.com/react-spectrum/TableView.html)
|
46
|
+
*/
|
47
|
+
var DataTableVirtualizer = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
48
|
+
var _layout$getLayoutInfo;
|
49
|
+
|
50
|
+
var layout = _ref.layout,
|
51
|
+
collection = _ref.collection,
|
52
|
+
focusedKey = _ref.focusedKey,
|
53
|
+
renderView = _ref.renderView,
|
54
|
+
renderWrapper = _ref.renderWrapper,
|
55
|
+
domRef = _ref.domRef,
|
56
|
+
bodyRef = _ref.bodyRef,
|
57
|
+
setTableWidth = _ref.setTableWidth,
|
58
|
+
getColumnWidth = _ref.getColumnWidth,
|
59
|
+
onVisibleRectChangeProp = _ref.onVisibleRectChange,
|
60
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
61
|
+
var direction = 'ltr'; // useLocale override
|
62
|
+
|
63
|
+
var headerRef = (0, _react.useRef)(ref);
|
64
|
+
var loadingState = collection.body.props.loadingState;
|
65
|
+
var isLoading = loadingState === 'loading' || loadingState === 'loadingMore';
|
66
|
+
var onLoadMore = collection.body.props.onLoadMore;
|
67
|
+
var state = (0, _virtualizer2.useVirtualizerState)({
|
68
|
+
layout: layout,
|
69
|
+
collection: collection,
|
70
|
+
renderView: renderView,
|
71
|
+
renderWrapper: renderWrapper,
|
72
|
+
onVisibleRectChange: function onVisibleRectChange(rect) {
|
73
|
+
// eslint-disable-next-line no-param-reassign
|
74
|
+
bodyRef.current.scrollTop = rect.y;
|
75
|
+
(0, _virtualizer.setScrollLeft)(bodyRef.current, direction, rect.x);
|
76
|
+
},
|
77
|
+
transitionDuration: isLoading ? 160 : 220
|
78
|
+
});
|
79
|
+
|
80
|
+
var _useVirtualizer = (0, _virtualizer.useVirtualizer)({
|
81
|
+
focusedKey: focusedKey,
|
82
|
+
scrollToItem: function scrollToItem(key) {
|
83
|
+
var item = collection.getItem(key);
|
84
|
+
state.virtualizer.scrollToItem(key, {
|
85
|
+
duration: 0,
|
86
|
+
// Prevent scrolling to the top when clicking on column headers.
|
87
|
+
shouldScrollY: (item === null || item === void 0 ? void 0 : item.type) !== 'column',
|
88
|
+
// Offset scroll position by width of selection cell
|
89
|
+
// (which is sticky and will overlap the cell we're scrolling to).
|
90
|
+
offsetX: 0
|
91
|
+
});
|
92
|
+
}
|
93
|
+
}, state, domRef),
|
94
|
+
virtualizerProps = _useVirtualizer.virtualizerProps; // If column widths change, need to relay out.
|
95
|
+
|
96
|
+
|
97
|
+
(0, _utils.useLayoutEffect)(function () {
|
98
|
+
state.virtualizer.relayoutNow({
|
99
|
+
sizeChanged: true
|
100
|
+
});
|
101
|
+
}, [state.virtualizer]);
|
102
|
+
var headerHeight = ((_layout$getLayoutInfo = layout.getLayoutInfo('header')) === null || _layout$getLayoutInfo === void 0 ? void 0 : _layout$getLayoutInfo.rect.height) || 0;
|
103
|
+
var visibleRect = state.virtualizer.visibleRect; // Sync the scroll position from the table body to the header container.
|
104
|
+
|
105
|
+
var onScroll = (0, _react.useCallback)(function () {
|
106
|
+
headerRef.current.scrollLeft = bodyRef.current.scrollLeft;
|
107
|
+
}, [bodyRef]);
|
108
|
+
var onVisibleRectChange = (0, _react.useCallback)(function (rect) {
|
109
|
+
setTableWidth(rect.width);
|
110
|
+
state.setVisibleRect(rect);
|
111
|
+
|
112
|
+
if (!isLoading && onLoadMore) {
|
113
|
+
var scrollOffset = state.virtualizer.contentSize.height - rect.height * 2;
|
114
|
+
|
115
|
+
if (rect.y > scrollOffset) {
|
116
|
+
onLoadMore();
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
120
|
+
[onLoadMore, isLoading, state.setVisibleRect, state.virtualizer]);
|
121
|
+
(0, _utils.useLayoutEffect)(function () {
|
122
|
+
if (!isLoading && onLoadMore && !state.isAnimating) {
|
123
|
+
if (state.contentSize.height <= state.virtualizer.visibleRect.height) {
|
124
|
+
onLoadMore();
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}, [state.contentSize, state.virtualizer, state.isAnimating, onLoadMore, isLoading]);
|
128
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, (0, _utils.mergeProps)(otherProps, virtualizerProps), {
|
129
|
+
ref: domRef
|
130
|
+
}), (0, _react2.jsx)(_index.Box, {
|
131
|
+
role: "presentation",
|
132
|
+
variant: "dataTable.tableHeadWrapper",
|
133
|
+
style: {
|
134
|
+
width: visibleRect.width,
|
135
|
+
height: headerHeight,
|
136
|
+
overflow: 'hidden',
|
137
|
+
position: 'relative',
|
138
|
+
willChange: state.isScrolling ? 'scroll-position' : '',
|
139
|
+
transition: state.isAnimating ? "none ".concat(state.virtualizer.transitionDuration, "ms") : undefined
|
140
|
+
},
|
141
|
+
ref: headerRef
|
142
|
+
}, state.visibleViews[0]), (0, _react2.jsx)(_virtualizer.ScrollView, {
|
143
|
+
role: "presentation",
|
144
|
+
variant: "dataTable.tableBody",
|
145
|
+
style: {
|
146
|
+
flex: 1
|
147
|
+
},
|
148
|
+
innerStyle: {
|
149
|
+
overflow: 'visible',
|
150
|
+
transition: state.isAnimating ? "none ".concat(state.virtualizer.transitionDuration, "ms") : undefined
|
151
|
+
},
|
152
|
+
ref: bodyRef,
|
153
|
+
contentSize: state.contentSize,
|
154
|
+
onVisibleRectChange: (0, _utils.chain)(onVisibleRectChange, onVisibleRectChangeProp),
|
155
|
+
onScrollStart: state.startScrolling,
|
156
|
+
onScrollEnd: state.endScrolling,
|
157
|
+
onScroll: onScroll
|
158
|
+
}, state.visibleViews[1]));
|
159
|
+
});
|
160
|
+
DataTableVirtualizer.propTypes = {
|
161
|
+
bodyRef: _propTypes["default"].shape({
|
162
|
+
current: _propTypes["default"].shape({
|
163
|
+
scrollLeft: _propTypes["default"].number,
|
164
|
+
scrollTop: _propTypes["default"].number
|
165
|
+
})
|
166
|
+
}),
|
167
|
+
collection: _propTypes["default"].shape({
|
168
|
+
body: _propTypes["default"].shape({
|
169
|
+
props: _propTypes["default"].shape({
|
170
|
+
loadingState: _propTypes["default"].string,
|
171
|
+
onLoadMore: _propTypes["default"].func
|
172
|
+
})
|
173
|
+
}),
|
174
|
+
getItem: _propTypes["default"].func
|
175
|
+
}),
|
176
|
+
domRef: _propTypes["default"].shape({}),
|
177
|
+
focusedKey: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
178
|
+
getColumnWidth: _propTypes["default"].func,
|
179
|
+
layout: _propTypes["default"].shape({
|
180
|
+
getLayoutInfo: _propTypes["default"].func
|
181
|
+
}),
|
182
|
+
onVisibleRectChange: _propTypes["default"].func,
|
183
|
+
renderView: _propTypes["default"].func,
|
184
|
+
renderWrapper: _propTypes["default"].func,
|
185
|
+
setTableWidth: _propTypes["default"].func
|
186
|
+
};
|
187
|
+
var _default = DataTableVirtualizer;
|
188
|
+
exports["default"] = _default;
|
@@ -0,0 +1,54 @@
|
|
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, "DataTableChip", {
|
12
|
+
enumerable: true,
|
13
|
+
get: function get() {
|
14
|
+
return _DataTableChip["default"];
|
15
|
+
}
|
16
|
+
});
|
17
|
+
|
18
|
+
_Object$defineProperty(exports, "DataTableMenu", {
|
19
|
+
enumerable: true,
|
20
|
+
get: function get() {
|
21
|
+
return _DataTableMenu["default"];
|
22
|
+
}
|
23
|
+
});
|
24
|
+
|
25
|
+
_Object$defineProperty(exports, "DataTableMultiLine", {
|
26
|
+
enumerable: true,
|
27
|
+
get: function get() {
|
28
|
+
return _DataTableMultiLine["default"];
|
29
|
+
}
|
30
|
+
});
|
31
|
+
|
32
|
+
_Object$defineProperty(exports, "DataTableVirtualize", {
|
33
|
+
enumerable: true,
|
34
|
+
get: function get() {
|
35
|
+
return _DataTableVirtualizer["default"];
|
36
|
+
}
|
37
|
+
});
|
38
|
+
|
39
|
+
_Object$defineProperty(exports, "default", {
|
40
|
+
enumerable: true,
|
41
|
+
get: function get() {
|
42
|
+
return _DataTable["default"];
|
43
|
+
}
|
44
|
+
});
|
45
|
+
|
46
|
+
var _DataTable = _interopRequireDefault(require("./DataTable"));
|
47
|
+
|
48
|
+
var _DataTableChip = _interopRequireDefault(require("./DataTableChip"));
|
49
|
+
|
50
|
+
var _DataTableMultiLine = _interopRequireDefault(require("./DataTableMultiLine"));
|
51
|
+
|
52
|
+
var _DataTableVirtualizer = _interopRequireDefault(require("./DataTableVirtualizer"));
|
53
|
+
|
54
|
+
var _DataTableMenu = _interopRequireDefault(require("./DataTableMenu"));
|
@@ -58,6 +58,8 @@ var _overlays = require("@react-stately/overlays");
|
|
58
58
|
|
59
59
|
var _overlays2 = require("@react-aria/overlays");
|
60
60
|
|
61
|
+
var _utils = require("@react-aria/utils");
|
62
|
+
|
61
63
|
var _ArrowDropUpIcon = _interopRequireDefault(require("mdi-react/ArrowDropUpIcon"));
|
62
64
|
|
63
65
|
var _ArrowDropDownIcon = _interopRequireDefault(require("mdi-react/ArrowDropDownIcon"));
|
@@ -74,7 +76,7 @@ var _index = require("../../index");
|
|
74
76
|
|
75
77
|
var _react2 = require("@emotion/react");
|
76
78
|
|
77
|
-
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "onOpenChange", "onNamePress", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "name", "searchProps", "selectedItem"];
|
79
|
+
var _excluded = ["children", "disabledKeys", "emptySearchText", "isDefaultOpen", "isOpen", "items", "itemsFilter", "onOpenChange", "onNamePress", "onPopoverClose", "onPopoverOpen", "onSelectionChange", "name", "searchProps", "selectedItem", "popoverProps"];
|
78
80
|
|
79
81
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
80
82
|
|
@@ -101,6 +103,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
101
103
|
name = props.name,
|
102
104
|
searchProps = props.searchProps,
|
103
105
|
selectedItem = props.selectedItem,
|
106
|
+
popoverProps = props.popoverProps,
|
104
107
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
105
108
|
|
106
109
|
var _useState = (0, _react.useState)(''),
|
@@ -267,7 +270,7 @@ var EnvironmentBreadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
267
270
|
"aria-label": "".concat((typeof selectedItem === 'string' ? selectedItem : selectedValue) || 'Selected Item')
|
268
271
|
}), selectedItem, (0, _react2.jsx)(_index.Icon, {
|
269
272
|
icon: popoverState.isOpen ? _ArrowDropUpIcon["default"] : _ArrowDropDownIcon["default"]
|
270
|
-
})), (0, _react2.jsx)(_index.PopoverContainer, (0, _extends2["default"])({}, overlayProps, positionProps, {
|
273
|
+
})), (0, _react2.jsx)(_index.PopoverContainer, (0, _extends2["default"])({}, overlayProps, positionProps, (0, _utils.mergeProps)(overlayProps, positionProps, popoverProps), {
|
271
274
|
ref: overlayRef,
|
272
275
|
isOpen: popoverState.isOpen,
|
273
276
|
scrollRef: scrollBoxRef,
|
@@ -355,6 +358,9 @@ EnvironmentBreadcrumb.propTypes = {
|
|
355
358
|
/** Callback function that fires when the dropdown is closed. */
|
356
359
|
onPopoverClose: _propTypes["default"].func,
|
357
360
|
|
361
|
+
/** Props object that is spread directly into the popover container component. */
|
362
|
+
popoverProps: _propTypes["default"].shape({}),
|
363
|
+
|
358
364
|
/** Props object that is spread directly into the SearchField element. */
|
359
365
|
searchProps: _propTypes["default"].shape({}),
|
360
366
|
|
@@ -2,10 +2,28 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
4
|
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
8
|
+
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
|
11
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
12
|
+
|
13
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
14
|
+
|
15
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
16
|
+
|
17
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
18
|
+
|
19
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
20
|
+
|
5
21
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
|
6
22
|
|
7
23
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
8
24
|
|
25
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
26
|
+
|
9
27
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
10
28
|
|
11
29
|
var _react = _interopRequireDefault(require("react"));
|
@@ -22,6 +40,10 @@ var _index = require("../../index");
|
|
22
40
|
|
23
41
|
var _react2 = require("@emotion/react");
|
24
42
|
|
43
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
44
|
+
|
45
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
46
|
+
|
25
47
|
var testEnvBreadcrumb = 'test-env-breadcrumb';
|
26
48
|
var testName = 'test-name';
|
27
49
|
var testSelectedItem = 'test-selected-item';
|
@@ -52,6 +74,10 @@ var defaultProps = {
|
|
52
74
|
},
|
53
75
|
items: items
|
54
76
|
};
|
77
|
+
var popoverProps = {
|
78
|
+
maxWidth: '100px',
|
79
|
+
'data-testid': 'popover-container'
|
80
|
+
};
|
55
81
|
var defaultWithSectionsProps = {
|
56
82
|
'data-testid': testEnvBreadcrumb,
|
57
83
|
name: testName,
|
@@ -135,6 +161,15 @@ test('should display name', function () {
|
|
135
161
|
getComponent();
|
136
162
|
expect(_testWrapper.screen.getByText(testName)).toBeInTheDocument();
|
137
163
|
});
|
164
|
+
test('should spread props into popover container', function () {
|
165
|
+
getComponent(_objectSpread(_objectSpread({}, popoverProps), {}, {
|
166
|
+
isDefaultOpen: true
|
167
|
+
}));
|
168
|
+
|
169
|
+
_userEvent["default"].click(_testWrapper.screen.getByText(testSelectedItem));
|
170
|
+
|
171
|
+
expect(_testWrapper.screen.queryByTestId('popover-container')).toHaveStyle('max-width: 100px');
|
172
|
+
});
|
138
173
|
test('should display selectedItem', function () {
|
139
174
|
getComponent();
|
140
175
|
expect(_testWrapper.screen.getByText(testSelectedItem)).toBeInTheDocument();
|
@@ -38,11 +38,17 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
38
38
|
|
39
39
|
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; }
|
40
40
|
|
41
|
+
/**
|
42
|
+
* A `Page Header` is a composed component using text and icon button.
|
43
|
+
* The component is separated from the body and appears at the top.
|
44
|
+
* For customization,
|
45
|
+
* please see [Page Header](./?path=/story/recipes-page-header--default) recipe docs.
|
46
|
+
*/
|
41
47
|
var PageHeader = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
42
48
|
var title = props.title,
|
43
49
|
children = props.children,
|
44
50
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
45
|
-
(0, _hooks.useDeprecationWarning)('The Page Header component will be deprecated in Astro-UI 2.0.0.');
|
51
|
+
(0, _hooks.useDeprecationWarning)('The Page Header component will be deprecated in Astro-UI 2.0.0. Use Page Header recipe instead.');
|
46
52
|
return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
|
47
53
|
isRow: true,
|
48
54
|
justifyContent: "space-between",
|