@pingux/astro 1.27.0-alpha.15 → 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/context/DataTableContext/index.js +31 -0
- package/lib/cjs/index.js +67 -2
- package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- 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/context/DataTableContext/index.js +5 -0
- package/lib/index.js +4 -1
- package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- 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"));
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
8
|
+
|
9
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
10
|
+
|
11
|
+
_Object$defineProperty(exports, "__esModule", {
|
12
|
+
value: true
|
13
|
+
});
|
14
|
+
|
15
|
+
exports.useDataTableContext = exports.DataTableContext = void 0;
|
16
|
+
|
17
|
+
var _react = _interopRequireWildcard(require("react"));
|
18
|
+
|
19
|
+
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); }
|
20
|
+
|
21
|
+
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; }
|
22
|
+
|
23
|
+
var DataTableContext = /*#__PURE__*/_react["default"].createContext(null);
|
24
|
+
|
25
|
+
exports.DataTableContext = DataTableContext;
|
26
|
+
|
27
|
+
var useDataTableContext = function useDataTableContext() {
|
28
|
+
return (0, _react.useContext)(DataTableContext);
|
29
|
+
};
|
30
|
+
|
31
|
+
exports.useDataTableContext = useDataTableContext;
|
package/lib/cjs/index.js
CHANGED
@@ -4,7 +4,7 @@ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
4
4
|
|
5
5
|
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
6
6
|
|
7
|
-
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _context50, _context51, _context52, _context53, _context54, _context55, _context56, _context57, _context58, _context59, _context60, _context61, _context62, _context63, _context64, _context65, _context66, _context67, _context68;
|
7
|
+
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _context50, _context51, _context52, _context53, _context54, _context55, _context56, _context57, _context58, _context59, _context60, _context61, _context62, _context63, _context64, _context65, _context66, _context67, _context68, _context69;
|
8
8
|
|
9
9
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
10
10
|
|
@@ -104,7 +104,13 @@ var _exportNames = {
|
|
104
104
|
OverlayProvider: true,
|
105
105
|
useOverlayPosition: true,
|
106
106
|
useOverlayTrigger: true,
|
107
|
-
useOverlayTriggerState: true
|
107
|
+
useOverlayTriggerState: true,
|
108
|
+
DataTable: true,
|
109
|
+
DataTableCell: true,
|
110
|
+
DataTableColumn: true,
|
111
|
+
DataTableRow: true,
|
112
|
+
DataTableBody: true,
|
113
|
+
DataTableHeader: true
|
108
114
|
};
|
109
115
|
|
110
116
|
_Object$defineProperty(exports, "AccordionGridGroup", {
|
@@ -261,6 +267,48 @@ _Object$defineProperty(exports, "CopyText", {
|
|
261
267
|
}
|
262
268
|
});
|
263
269
|
|
270
|
+
_Object$defineProperty(exports, "DataTable", {
|
271
|
+
enumerable: true,
|
272
|
+
get: function get() {
|
273
|
+
return _DataTable["default"];
|
274
|
+
}
|
275
|
+
});
|
276
|
+
|
277
|
+
_Object$defineProperty(exports, "DataTableBody", {
|
278
|
+
enumerable: true,
|
279
|
+
get: function get() {
|
280
|
+
return _table.TableBody;
|
281
|
+
}
|
282
|
+
});
|
283
|
+
|
284
|
+
_Object$defineProperty(exports, "DataTableCell", {
|
285
|
+
enumerable: true,
|
286
|
+
get: function get() {
|
287
|
+
return _table.Cell;
|
288
|
+
}
|
289
|
+
});
|
290
|
+
|
291
|
+
_Object$defineProperty(exports, "DataTableColumn", {
|
292
|
+
enumerable: true,
|
293
|
+
get: function get() {
|
294
|
+
return _table.Column;
|
295
|
+
}
|
296
|
+
});
|
297
|
+
|
298
|
+
_Object$defineProperty(exports, "DataTableHeader", {
|
299
|
+
enumerable: true,
|
300
|
+
get: function get() {
|
301
|
+
return _table.TableHeader;
|
302
|
+
}
|
303
|
+
});
|
304
|
+
|
305
|
+
_Object$defineProperty(exports, "DataTableRow", {
|
306
|
+
enumerable: true,
|
307
|
+
get: function get() {
|
308
|
+
return _table.Row;
|
309
|
+
}
|
310
|
+
});
|
311
|
+
|
264
312
|
_Object$defineProperty(exports, "EnvironmentBreadcrumb", {
|
265
313
|
enumerable: true,
|
266
314
|
get: function get() {
|
@@ -1741,6 +1789,23 @@ var _overlays = require("@react-aria/overlays");
|
|
1741
1789
|
|
1742
1790
|
var _overlays2 = require("@react-stately/overlays");
|
1743
1791
|
|
1792
|
+
var _DataTable = _interopRequireWildcard(require("./components/DataTable"));
|
1793
|
+
|
1794
|
+
_forEachInstanceProperty(_context69 = _Object$keys(_DataTable)).call(_context69, function (key) {
|
1795
|
+
if (key === "default" || key === "__esModule") return;
|
1796
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
1797
|
+
if (key in exports && exports[key] === _DataTable[key]) return;
|
1798
|
+
|
1799
|
+
_Object$defineProperty(exports, key, {
|
1800
|
+
enumerable: true,
|
1801
|
+
get: function get() {
|
1802
|
+
return _DataTable[key];
|
1803
|
+
}
|
1804
|
+
});
|
1805
|
+
});
|
1806
|
+
|
1807
|
+
var _table = require("@react-spectrum/table");
|
1808
|
+
|
1744
1809
|
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); }
|
1745
1810
|
|
1746
1811
|
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; }
|