@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.
Files changed (43) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/NOTICE.html +5016 -0
  3. package/lib/cjs/components/DataTable/DataTable.js +477 -0
  4. package/lib/cjs/components/DataTable/DataTable.stories.js +310 -0
  5. package/lib/cjs/components/DataTable/DataTable.styles.js +156 -0
  6. package/lib/cjs/components/DataTable/DataTable.test.js +1307 -0
  7. package/lib/cjs/components/DataTable/DataTableChip.js +63 -0
  8. package/lib/cjs/components/DataTable/DataTableChip.test.js +38 -0
  9. package/lib/cjs/components/DataTable/DataTableMenu.js +51 -0
  10. package/lib/cjs/components/DataTable/DataTableMenu.test.js +20 -0
  11. package/lib/cjs/components/DataTable/DataTableMultiLine.js +75 -0
  12. package/lib/cjs/components/DataTable/DataTableMultiLine.test.js +30 -0
  13. package/lib/cjs/components/DataTable/DataTableVirtualizer.js +188 -0
  14. package/lib/cjs/components/DataTable/index.js +54 -0
  15. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +10 -10
  16. package/lib/cjs/context/DataTableContext/index.js +31 -0
  17. package/lib/cjs/index.js +67 -2
  18. package/lib/cjs/recipes/FlippableCaretMenuButton.stories.js +38 -30
  19. package/lib/cjs/recipes/MaskedValue.stories.js +8 -5
  20. package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
  21. package/lib/cjs/recipes/RowLineChart.stories.js +58 -70
  22. package/lib/cjs/styles/variants/variants.js +4 -1
  23. package/lib/components/DataTable/DataTable.js +431 -0
  24. package/lib/components/DataTable/DataTable.stories.js +273 -0
  25. package/lib/components/DataTable/DataTable.styles.js +137 -0
  26. package/lib/components/DataTable/DataTable.test.js +1256 -0
  27. package/lib/components/DataTable/DataTableChip.js +33 -0
  28. package/lib/components/DataTable/DataTableChip.test.js +31 -0
  29. package/lib/components/DataTable/DataTableMenu.js +24 -0
  30. package/lib/components/DataTable/DataTableMenu.test.js +13 -0
  31. package/lib/components/DataTable/DataTableMultiLine.js +46 -0
  32. package/lib/components/DataTable/DataTableMultiLine.test.js +22 -0
  33. package/lib/components/DataTable/DataTableVirtualizer.js +157 -0
  34. package/lib/components/DataTable/index.js +5 -0
  35. package/lib/components/MultivaluesField/MultivaluesField.js +10 -10
  36. package/lib/context/DataTableContext/index.js +5 -0
  37. package/lib/index.js +4 -1
  38. package/lib/recipes/FlippableCaretMenuButton.stories.js +38 -30
  39. package/lib/recipes/MaskedValue.stories.js +8 -5
  40. package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
  41. package/lib/recipes/RowLineChart.stories.js +58 -70
  42. package/lib/styles/variants/variants.js +3 -1
  43. 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 _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context9 = ownKeys(Object(source), !0)).call(_context9, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context10 = ownKeys(Object(source))).call(_context10, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
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 _context6;
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.toggleSelection(_key2);
290
- setCustomItems((0, _concat["default"])(_context3 = []).call(_context3, customItems, [{
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 _context4, _context5;
344
+ var _context5, _context6;
345
345
 
346
- var item = (0, _find["default"])(_context4 = (0, _concat["default"])(_context5 = []).call(_context5, initialItems, customItems)).call(_context4, function (el) {
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"])(_context6 = (0, _from["default"])(selectionManager.selectedKeys)).call(_context6, function (key) {
381
- var _context7, _context8;
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"])(_context7 = (0, _concat["default"])(_context8 = []).call(_context8, initialItems, customItems)).call(_context7, function (el) {
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;