@pingux/astro 1.27.0-alpha.9 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/NOTICE.html +5016 -0
- 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/MultivaluesField/MultivaluesField.js +10 -10
- 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/MaskedValue.stories.js +8 -5
- package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- package/lib/cjs/recipes/RowLineChart.stories.js +58 -70
- 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/MultivaluesField/MultivaluesField.js +10 -10
- 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/MaskedValue.stories.js +8 -5
- package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- package/lib/recipes/RowLineChart.stories.js +58 -70
- 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"));
|
@@ -84,7 +84,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
84
84
|
|
85
85
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
86
86
|
|
87
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
87
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context10, _context11; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context10 = ownKeys(Object(source), !0)).call(_context10, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context11 = ownKeys(Object(source))).call(_context11, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
88
88
|
|
89
89
|
/**
|
90
90
|
* Complex control that lets you choose several tags from the dropdown list.
|
@@ -96,7 +96,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
96
96
|
* Stately.
|
97
97
|
*/
|
98
98
|
var MultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
99
|
-
var
|
99
|
+
var _context7;
|
100
100
|
|
101
101
|
var defaultSelectedKeys = props.defaultSelectedKeys,
|
102
102
|
direction = props.direction,
|
@@ -278,7 +278,7 @@ var MultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
278
278
|
setFilterString('');
|
279
279
|
}
|
280
280
|
} else if (hasCustomValue) {
|
281
|
-
var _context3;
|
281
|
+
var _context3, _context4;
|
282
282
|
|
283
283
|
var _key2 = e.target.value;
|
284
284
|
|
@@ -286,8 +286,8 @@ var MultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
286
286
|
return;
|
287
287
|
}
|
288
288
|
|
289
|
-
selectionManager.
|
290
|
-
setCustomItems((0, _concat["default"])(
|
289
|
+
selectionManager.setSelectedKeys((0, _concat["default"])(_context3 = []).call(_context3, (0, _from["default"])(selectionManager.state.selectedKeys), [_key2]));
|
290
|
+
setCustomItems((0, _concat["default"])(_context4 = []).call(_context4, customItems, [{
|
291
291
|
id: _key2,
|
292
292
|
key: _key2,
|
293
293
|
name: _key2
|
@@ -341,9 +341,9 @@ var MultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
341
341
|
};
|
342
342
|
|
343
343
|
var readOnlyInputEntry = (0, _react2.jsx)(_react["default"].Fragment, null, isReadOnly && (readOnlyKeys.length ? (0, _map["default"])(readOnlyKeys).call(readOnlyKeys, function (key) {
|
344
|
-
var
|
344
|
+
var _context5, _context6;
|
345
345
|
|
346
|
-
var item = (0, _find["default"])(
|
346
|
+
var item = (0, _find["default"])(_context5 = (0, _concat["default"])(_context6 = []).call(_context6, initialItems, customItems)).call(_context5, function (el) {
|
347
347
|
return el.key === key;
|
348
348
|
});
|
349
349
|
|
@@ -377,10 +377,10 @@ var MultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
377
377
|
|
378
378
|
return null;
|
379
379
|
}));
|
380
|
-
var selectedItems = (0, _react2.jsx)(_react["default"].Fragment, null, (0, _map["default"])(
|
381
|
-
var
|
380
|
+
var selectedItems = (0, _react2.jsx)(_react["default"].Fragment, null, (0, _map["default"])(_context7 = (0, _from["default"])(selectionManager.selectedKeys)).call(_context7, function (key) {
|
381
|
+
var _context8, _context9;
|
382
382
|
|
383
|
-
var item = (0, _find["default"])(
|
383
|
+
var item = (0, _find["default"])(_context8 = (0, _concat["default"])(_context9 = []).call(_context9, initialItems, customItems)).call(_context8, function (el) {
|
384
384
|
return el.key === key;
|
385
385
|
});
|
386
386
|
|
@@ -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;
|