@pingux/astro 1.27.0 → 1.28.1

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 (69) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/NOTICE.html +2 -2
  3. package/lib/cjs/components/DataTable/DataTable.js +481 -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/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +8 -2
  16. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +35 -0
  17. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +10 -10
  18. package/lib/cjs/components/PageHeader/PageHeader.js +7 -1
  19. package/lib/cjs/context/DataTableContext/index.js +31 -0
  20. package/lib/cjs/index.js +67 -2
  21. package/lib/cjs/recipes/CountryPicker.stories.js +25 -12
  22. package/lib/cjs/recipes/EditableInput.stories.js +55 -46
  23. package/lib/cjs/recipes/FlippableCaretMenuButton.stories.js +38 -30
  24. package/lib/cjs/recipes/ListAndPanel.stories.js +102 -87
  25. package/lib/cjs/recipes/MaskedValue.stories.js +8 -5
  26. package/lib/cjs/recipes/NeutralInput.stories.js +6 -3
  27. package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
  28. package/lib/cjs/recipes/PageHeader.stories.js +73 -0
  29. package/lib/cjs/recipes/RowLineChart.stories.js +58 -70
  30. package/lib/cjs/recipes/SelectedFieldOverlay.story.js +25 -21
  31. package/lib/cjs/recipes/TrialExperienceStatusBar.stories.js +81 -72
  32. package/lib/cjs/styles/forms/index.js +1 -1
  33. package/lib/cjs/styles/forms/label.js +1 -1
  34. package/lib/cjs/styles/forms/select.js +1 -1
  35. package/lib/cjs/styles/variants/variants.js +4 -1
  36. package/lib/components/DataTable/DataTable.js +436 -0
  37. package/lib/components/DataTable/DataTable.stories.js +273 -0
  38. package/lib/components/DataTable/DataTable.styles.js +137 -0
  39. package/lib/components/DataTable/DataTable.test.js +1256 -0
  40. package/lib/components/DataTable/DataTableChip.js +33 -0
  41. package/lib/components/DataTable/DataTableChip.test.js +31 -0
  42. package/lib/components/DataTable/DataTableMenu.js +24 -0
  43. package/lib/components/DataTable/DataTableMenu.test.js +13 -0
  44. package/lib/components/DataTable/DataTableMultiLine.js +46 -0
  45. package/lib/components/DataTable/DataTableMultiLine.test.js +22 -0
  46. package/lib/components/DataTable/DataTableVirtualizer.js +157 -0
  47. package/lib/components/DataTable/index.js +5 -0
  48. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +7 -2
  49. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +25 -0
  50. package/lib/components/MultivaluesField/MultivaluesField.js +10 -10
  51. package/lib/components/PageHeader/PageHeader.js +8 -1
  52. package/lib/context/DataTableContext/index.js +5 -0
  53. package/lib/index.js +4 -1
  54. package/lib/recipes/CountryPicker.stories.js +24 -12
  55. package/lib/recipes/EditableInput.stories.js +55 -46
  56. package/lib/recipes/FlippableCaretMenuButton.stories.js +38 -30
  57. package/lib/recipes/ListAndPanel.stories.js +102 -87
  58. package/lib/recipes/MaskedValue.stories.js +8 -5
  59. package/lib/recipes/NeutralInput.stories.js +6 -3
  60. package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
  61. package/lib/recipes/PageHeader.stories.js +53 -0
  62. package/lib/recipes/RowLineChart.stories.js +58 -70
  63. package/lib/recipes/SelectedFieldOverlay.story.js +25 -21
  64. package/lib/recipes/TrialExperienceStatusBar.stories.js +81 -72
  65. package/lib/styles/forms/index.js +1 -1
  66. package/lib/styles/forms/label.js +1 -1
  67. package/lib/styles/forms/select.js +1 -1
  68. package/lib/styles/variants/variants.js +3 -1
  69. package/package.json +54 -56
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.28.1](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.28.0...@pingux/astro@1.28.1) (2022-09-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Change DataTable prop type definitions for width and height ([e295973](https://gitlab.corp.pingidentity.com/ux/pingux/commit/e29597388e30eec017532a262bf79a37e147f87d))
12
+ * Hotfix to address React Spectrum build error happening for some users ([9dccf35](https://gitlab.corp.pingidentity.com/ux/pingux/commit/9dccf35dd2a91e2517c975812649592bef51ef43))
13
+
14
+
15
+
16
+
17
+
18
+ # [1.28.0](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.27.0...@pingux/astro@1.28.0) (2022-09-22)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * [UIP-5605] MultiValuesField custom options fix ([b5bd9f8](https://gitlab.corp.pingidentity.com/ux/pingux/commit/b5bd9f81352cc7dbbfd661dee166c69bd6de51e8))
24
+ * [UIP-5640] Environment Breadcrumb spread props into Popover ([09c1304](https://gitlab.corp.pingidentity.com/ux/pingux/commit/09c13043fa57396a58b39b98c089f0f9394143a2))
25
+
26
+
27
+ ### Features
28
+
29
+ * [UIP-5490] Add DataTable component ([799ac36](https://gitlab.corp.pingidentity.com/ux/pingux/commit/799ac3665a0b082a7c70f51255057eb03080c428))
30
+ * [UIP-5567] Page header component ([5048e7f](https://gitlab.corp.pingidentity.com/ux/pingux/commit/5048e7f20c54585981a0875b2c6b434fc0f3657c))
31
+
32
+
33
+
34
+
35
+
6
36
  # [1.27.0](https://gitlab.corp.pingidentity.com/ux/pingux/compare/@pingux/astro@1.26.0...@pingux/astro@1.27.0) (2022-09-13)
7
37
 
8
38
 
package/NOTICE.html CHANGED
@@ -146,7 +146,7 @@
146
146
 
147
147
  <main class="u-padding--xl">
148
148
  <h1>Snyk Licenses Attribution Report</h1>
149
- <h4>Report date: 9/13/2022</h4>
149
+ <h4>Report date: 9/22/2022</h4>
150
150
  <h2>Organization: <a href="https://app.snyk.io/org/ux-fbf">UX</a></h2>
151
151
  <div class="u-padding-top--sm">
152
152
  <h1>
@@ -3687,7 +3687,7 @@ limitations under the License.
3687
3687
 
3688
3688
  <div class="display-flex border-top">
3689
3689
  <div class="u-padding--sm dependency">
3690
- moment@2.29.1
3690
+ moment@2.29.4
3691
3691
  </div>
3692
3692
  <div class="u-padding--sm overflow-auto">
3693
3693
  <div class="u-padding-top--sm overflow-auto">
@@ -0,0 +1,481 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
6
+
7
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
8
+
9
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
10
+
11
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
12
+
13
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
14
+
15
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
16
+
17
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
18
+
19
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
20
+
21
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
22
+
23
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
24
+
25
+ _Object$defineProperty(exports, "__esModule", {
26
+ value: true
27
+ });
28
+
29
+ exports["default"] = void 0;
30
+
31
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
32
+
33
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
34
+
35
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
36
+
37
+ var _react = _interopRequireWildcard(require("react"));
38
+
39
+ var _utils = require("@react-aria/utils");
40
+
41
+ var _focus = require("@react-aria/focus");
42
+
43
+ var _visuallyHidden = require("@react-aria/visually-hidden");
44
+
45
+ var _virtualizer = require("@react-aria/virtualizer");
46
+
47
+ var _table = require("@react-stately/table");
48
+
49
+ var _layout = require("@react-stately/layout");
50
+
51
+ var _table2 = require("@react-aria/table");
52
+
53
+ var _propTypes = _interopRequireDefault(require("prop-types"));
54
+
55
+ var _MenuDownIcon = _interopRequireDefault(require("mdi-react/MenuDownIcon"));
56
+
57
+ var _MenuUpIcon = _interopRequireDefault(require("mdi-react/MenuUpIcon"));
58
+
59
+ var _DataTableContext = require("../../context/DataTableContext");
60
+
61
+ var _DataTableVirtualizer = _interopRequireDefault(require("./DataTableVirtualizer"));
62
+
63
+ var _hooks = require("../../hooks");
64
+
65
+ var _index = require("../../index");
66
+
67
+ var _react2 = require("@emotion/react");
68
+
69
+ var _excluded = ["children"],
70
+ _excluded2 = ["children"],
71
+ _excluded3 = ["item", "children", "hasActions"];
72
+
73
+ 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); }
74
+
75
+ 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; }
76
+
77
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
78
+
79
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
80
+
81
+ var DEFAULT_HEADER_HEIGHT = {
82
+ medium: 34,
83
+ large: 37.5
84
+ };
85
+ var ROW_HEIGHTS = {
86
+ compact: {
87
+ medium: 32,
88
+ large: 40
89
+ },
90
+ regular: {
91
+ medium: 40,
92
+ large: 50
93
+ },
94
+ spacious: {
95
+ medium: 48,
96
+ large: 75
97
+ }
98
+ };
99
+ /**
100
+ * DataTable component using react aria Spectrum TableView
101
+ * Primarily utilizes [TableView](https://react-spectrum.adobe.com/react-spectrum/TableView.html)
102
+ * Cross platform state management react hook for DataTable
103
+ * Primarily utilizes [useTableState](https://react-spectrum.adobe.com/react-stately/useTableState.html)
104
+ */
105
+
106
+ var DataTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
107
+ var width = props.width,
108
+ height = props.height,
109
+ onAction = props.onAction;
110
+ var direction = 'ltr'; // useLocale override
111
+
112
+ var scale = 'large'; // useProvider override
113
+
114
+ var getDefaultWidth = (0, _react.useCallback)();
115
+ var state = (0, _table.useTableState)(_objectSpread({}, props));
116
+ var columnState = (0, _table.useTableColumnResizeState)(_objectSpread(_objectSpread({}, props), {}, {
117
+ getDefaultWidth: getDefaultWidth
118
+ }), state.collection);
119
+ var domRef = (0, _react.useRef)(ref);
120
+ var bodyRef = (0, _react.useRef)();
121
+ var density = props.density || 'regular';
122
+ var layout = (0, _react.useMemo)(function () {
123
+ return new _layout.TableLayout({
124
+ // If props.rowHeight is auto, then use estimated heights based on scale,
125
+ // otherwise use fixed heights.
126
+ rowHeight: props.overflowMode === 'wrap' ? null : ROW_HEIGHTS[density][scale],
127
+ estimatedRowHeight: props.overflowMode === 'wrap' ? ROW_HEIGHTS[density][scale] : null,
128
+ headingHeight: props.overflowMode === 'wrap' ? null : DEFAULT_HEADER_HEIGHT[scale],
129
+ estimatedHeadingHeight: props.overflowMode === 'wrap' ? DEFAULT_HEADER_HEIGHT[scale] : null
130
+ });
131
+ }, [props.overflowMode, scale, density]);
132
+ layout.collection = state.collection;
133
+ layout.getColumnWidth = columnState.getColumnWidth;
134
+
135
+ var _useTable = (0, _table2.useTable)(_objectSpread(_objectSpread({}, props), {}, {
136
+ isVirtualized: true,
137
+ layout: layout,
138
+ onRowAction: onAction
139
+ }), state, domRef),
140
+ gridProps = _useTable.gridProps; // This overrides collection view's renderWrapper to support DOM hierarchy.
141
+
142
+
143
+ var renderWrapper = function renderWrapper(parent, reusableView, children, renderChildren) {
144
+ var style = (0, _virtualizer.layoutInfoToStyle)(reusableView.layoutInfo, direction, parent && parent.layoutInfo);
145
+
146
+ if (style.overflow === 'hidden') {
147
+ style.overflow = 'visible'; // needed to support position: sticky
148
+ }
149
+
150
+ if (reusableView.viewType === 'rowgroup') {
151
+ return (0, _react2.jsx)(TableRowGroup, {
152
+ key: reusableView.key,
153
+ style: style
154
+ }, renderChildren(children));
155
+ }
156
+
157
+ if (reusableView.viewType === 'header') {
158
+ return (0, _react2.jsx)(TableHeader, {
159
+ key: reusableView.key,
160
+ style: style
161
+ }, renderChildren(children));
162
+ }
163
+
164
+ if (reusableView.viewType === 'row') {
165
+ return (0, _react2.jsx)(TableRow, {
166
+ key: reusableView.key,
167
+ item: reusableView.content,
168
+ style: style,
169
+ hasActions: onAction
170
+ }, renderChildren(children));
171
+ }
172
+
173
+ if (reusableView.viewType === 'headerrow') {
174
+ return (0, _react2.jsx)(TableHeaderRow, {
175
+ key: reusableView.key,
176
+ style: style,
177
+ item: reusableView.content
178
+ }, renderChildren(children));
179
+ }
180
+
181
+ return (0, _react2.jsx)(_virtualizer.VirtualizerItem, {
182
+ key: reusableView.key,
183
+ reusableView: reusableView,
184
+ parent: parent
185
+ });
186
+ };
187
+
188
+ var renderView = function renderView(type, item) {
189
+ switch (type) {
190
+ case 'header':
191
+ case 'rowgroup':
192
+ case 'row':
193
+ case 'headerrow':
194
+ return null;
195
+
196
+ case 'cell':
197
+ {
198
+ return (0, _react2.jsx)(TableCell, {
199
+ cell: item
200
+ });
201
+ }
202
+
203
+ case 'column':
204
+ return (0, _react2.jsx)(TableColumnHeader, {
205
+ column: item
206
+ });
207
+
208
+ case 'loader':
209
+ return (0, _react2.jsx)(CenteredWrapper, null, (0, _react2.jsx)(_index.Loader, {
210
+ color: "accent.70",
211
+ "aria-label": state.collection.size > 0 ? 'loadingMore' : 'loading'
212
+ }));
213
+
214
+ default:
215
+ return null;
216
+ }
217
+ };
218
+
219
+ var viewport = (0, _react.useRef)({
220
+ x: 0,
221
+ y: 0,
222
+ width: 0,
223
+ height: 0
224
+ });
225
+ var onVisibleRectChange = (0, _react.useCallback)(function (e) {
226
+ if (viewport.current.width === e.width && viewport.current.height === e.height) {
227
+ return;
228
+ }
229
+
230
+ viewport.current = e;
231
+ }, []);
232
+ return (0, _react2.jsx)(_DataTableContext.DataTableContext.Provider, {
233
+ value: {
234
+ state: state,
235
+ layout: layout,
236
+ columnState: columnState
237
+ }
238
+ }, (0, _react2.jsx)(_DataTableVirtualizer["default"], (0, _extends2["default"])({
239
+ style: {
240
+ whiteSpace: props.overflowMode === 'wrap' ? 'normal' : 'initial'
241
+ }
242
+ }, gridProps, {
243
+ width: width,
244
+ height: height,
245
+ layout: layout,
246
+ collection: state.collection,
247
+ focusedKey: state.selectionManager.focusedKey,
248
+ renderView: renderView,
249
+ renderWrapper: renderWrapper,
250
+ setTableWidth: columnState.setTableWidth,
251
+ onVisibleRectChange: onVisibleRectChange,
252
+ domRef: domRef,
253
+ bodyRef: bodyRef,
254
+ getColumnWidth: columnState.getColumnWidth
255
+ })));
256
+ });
257
+ DataTable.propTypes = {
258
+ /**
259
+ * Sets the amount of vertical padding within each cell.
260
+ * density: 'compact' | 'regular' | 'spacious'
261
+ * @default 'regular'
262
+ */
263
+ density: _propTypes["default"].string,
264
+
265
+ /**
266
+ * Sets the overflow behavior for the cell contents.
267
+ * overflowMode: 'wrap' | 'truncate'
268
+ * @default 'truncate'
269
+ */
270
+ overflowMode: _propTypes["default"].string,
271
+
272
+ /** Handler that is called when a user performs an action on a row. */
273
+ onAction: _propTypes["default"].func,
274
+ width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
275
+ height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
276
+ };
277
+ DataTable.defaultProps = {
278
+ width: '100%',
279
+ height: 565
280
+ };
281
+
282
+ function TableHeader(_ref) {
283
+ var children = _ref.children,
284
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
285
+
286
+ var _useTableRowGroup = (0, _table2.useTableRowGroup)(),
287
+ rowGroupProps = _useTableRowGroup.rowGroupProps;
288
+
289
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, rowGroupProps, otherProps), children);
290
+ }
291
+
292
+ function TableColumnHeader(props) {
293
+ var _state$sortDescriptor, _state$sortDescriptor2;
294
+
295
+ var column = props.column;
296
+ var ref = (0, _react.useRef)(null);
297
+
298
+ var _useDataTableContext = (0, _DataTableContext.useDataTableContext)(),
299
+ state = _useDataTableContext.state;
300
+
301
+ var _useTableColumnHeader = (0, _table2.useTableColumnHeader)({
302
+ node: column,
303
+ isVirtualized: true
304
+ }, state, ref),
305
+ columnHeaderProps = _useTableColumnHeader.columnHeaderProps;
306
+
307
+ var columnProps = column.props;
308
+ var arrowIcon = ((_state$sortDescriptor = state.sortDescriptor) === null || _state$sortDescriptor === void 0 ? void 0 : _state$sortDescriptor.direction) === 'ascending' && column.key === ((_state$sortDescriptor2 = state.sortDescriptor) === null || _state$sortDescriptor2 === void 0 ? void 0 : _state$sortDescriptor2.column) ? (0, _react2.jsx)(_index.Icon, {
309
+ icon: _MenuUpIcon["default"]
310
+ }) : (0, _react2.jsx)(_index.Icon, {
311
+ icon: _MenuDownIcon["default"],
312
+ color: "active"
313
+ });
314
+ var allProps = [columnHeaderProps];
315
+
316
+ var _useStatusClasses = (0, _hooks.useStatusClasses)((0, _defineProperty2["default"])({
317
+ 'is-column-sortable': columnProps.allowsSorting
318
+ }, "is-align-".concat(columnProps.align), columnProps.align)),
319
+ classNames = _useStatusClasses.classNames;
320
+
321
+ return (0, _react2.jsx)(_focus.FocusRing, {
322
+ focusRingClass: "is-key-focused",
323
+ focusClass: "is-click-focused"
324
+ }, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, _utils.mergeProps.apply(void 0, allProps), {
325
+ ref: ref,
326
+ variant: "dataTable.tableHeadCell",
327
+ className: classNames
328
+ }), columnProps.hideHeader ? (0, _react2.jsx)(_visuallyHidden.VisuallyHidden, null, column.rendered) : (0, _react2.jsx)(_index.Box, null, column.rendered), columnProps.allowsSorting && (0, _react2.jsx)(_index.Box, null, arrowIcon)));
329
+ }
330
+
331
+ function TableRowGroup(_ref2) {
332
+ var children = _ref2.children,
333
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
334
+
335
+ var _useTableRowGroup2 = (0, _table2.useTableRowGroup)(),
336
+ rowGroupProps = _useTableRowGroup2.rowGroupProps;
337
+
338
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, rowGroupProps, otherProps), children);
339
+ }
340
+
341
+ function TableRow(_ref3) {
342
+ var item = _ref3.item,
343
+ children = _ref3.children,
344
+ hasActions = _ref3.hasActions,
345
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref3, _excluded3);
346
+ var ref = (0, _react.useRef)();
347
+
348
+ var _useDataTableContext2 = (0, _DataTableContext.useDataTableContext)(),
349
+ state = _useDataTableContext2.state;
350
+
351
+ var _useTableRow = (0, _table2.useTableRow)({
352
+ node: item,
353
+ isVirtualized: true
354
+ }, state, ref),
355
+ rowProps = _useTableRow.rowProps;
356
+
357
+ var _useFocusRing = (0, _focus.useFocusRing)({
358
+ within: true
359
+ }),
360
+ isFocusVisibleWithin = _useFocusRing.isFocusVisible,
361
+ focusWithinProps = _useFocusRing.focusProps;
362
+
363
+ var _useFocusRing2 = (0, _focus.useFocusRing)(),
364
+ isFocusVisible = _useFocusRing2.isFocusVisible,
365
+ focusProps = _useFocusRing2.focusProps;
366
+
367
+ var props = (0, _utils.mergeProps)(rowProps, otherProps, focusWithinProps, focusProps);
368
+
369
+ var _useStatusClasses3 = (0, _hooks.useStatusClasses)({
370
+ 'is-row-focus-visible': isFocusVisible || isFocusVisibleWithin
371
+ }),
372
+ classNames = _useStatusClasses3.classNames;
373
+
374
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, props, {
375
+ ref: ref,
376
+ variant: "dataTable.tableRow",
377
+ className: classNames
378
+ }), children);
379
+ }
380
+
381
+ function TableHeaderRow(_ref4) {
382
+ var item = _ref4.item,
383
+ children = _ref4.children,
384
+ style = _ref4.style;
385
+
386
+ var _useDataTableContext3 = (0, _DataTableContext.useDataTableContext)(),
387
+ state = _useDataTableContext3.state;
388
+
389
+ var ref = (0, _react.useRef)();
390
+
391
+ var _useTableHeaderRow = (0, _table2.useTableHeaderRow)({
392
+ node: item,
393
+ isVirtualized: true
394
+ }, state, ref),
395
+ rowProps = _useTableHeaderRow.rowProps;
396
+
397
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, rowProps, {
398
+ ref: ref,
399
+ style: style
400
+ }), children);
401
+ }
402
+
403
+ function TableCell(_ref5) {
404
+ var cell = _ref5.cell;
405
+
406
+ var _useDataTableContext4 = (0, _DataTableContext.useDataTableContext)(),
407
+ state = _useDataTableContext4.state;
408
+
409
+ var ref = (0, _react.useRef)();
410
+ var columnProps = cell.column.props;
411
+
412
+ var _useTableCell = (0, _table2.useTableCell)({
413
+ node: cell,
414
+ isVirtualized: true
415
+ }, state, ref),
416
+ gridCellProps = _useTableCell.gridCellProps;
417
+
418
+ var _useStatusClasses4 = (0, _hooks.useStatusClasses)((0, _defineProperty2["default"])({}, "is-align-".concat(columnProps.align), columnProps.align)),
419
+ classNames = _useStatusClasses4.classNames;
420
+
421
+ return (0, _react2.jsx)(_focus.FocusRing, {
422
+ focusRingClass: "is-key-focused"
423
+ }, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, gridCellProps, {
424
+ ref: ref,
425
+ variant: "dataTable.tableCell",
426
+ className: classNames
427
+ }), (0, _react2.jsx)(_index.Box, {
428
+ variant: "dataTable.tableCellContents"
429
+ }, cell.rendered)));
430
+ }
431
+
432
+ function CenteredWrapper(_ref6) {
433
+ var children = _ref6.children;
434
+
435
+ var _useDataTableContext5 = (0, _DataTableContext.useDataTableContext)(),
436
+ state = _useDataTableContext5.state;
437
+
438
+ return (0, _react2.jsx)(_index.Box, {
439
+ role: "row",
440
+ "aria-rowindex": state.collection.headerRows.length + state.collection.size + 1,
441
+ variant: "dataTable.tableCenteredWrapper"
442
+ }, (0, _react2.jsx)(_index.Box, {
443
+ role: "rowheader",
444
+ "aria-colspan": state.collection.columns.length
445
+ }, children));
446
+ }
447
+
448
+ TableCell.propTypes = {
449
+ cell: _propTypes["default"].shape({
450
+ column: _propTypes["default"].shape({
451
+ props: _propTypes["default"].shape({
452
+ align: _propTypes["default"].string
453
+ })
454
+ }),
455
+ parentKey: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
456
+ rendered: _propTypes["default"].node
457
+ })
458
+ };
459
+ TableHeaderRow.propTypes = {
460
+ children: _propTypes["default"].node,
461
+ item: _propTypes["default"].shape({}),
462
+ style: _propTypes["default"].shape({})
463
+ };
464
+ TableRow.propTypes = {
465
+ children: _propTypes["default"].node,
466
+ hasActions: _propTypes["default"].func,
467
+ item: _propTypes["default"].shape({})
468
+ };
469
+ TableColumnHeader.propTypes = {
470
+ column: _propTypes["default"].shape({
471
+ key: _propTypes["default"].string,
472
+ props: _propTypes["default"].shape({
473
+ align: _propTypes["default"].string,
474
+ allowsSorting: _propTypes["default"].bool,
475
+ hideHeader: _propTypes["default"].bool
476
+ }),
477
+ rendered: _propTypes["default"].node
478
+ })
479
+ };
480
+ var _default = DataTable;
481
+ exports["default"] = _default;