@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,477 @@
|
|
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 _utils2 = require("@react-spectrum/utils");
|
50
|
+
|
51
|
+
var _layout = require("@react-stately/layout");
|
52
|
+
|
53
|
+
var _table2 = require("@react-aria/table");
|
54
|
+
|
55
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
56
|
+
|
57
|
+
var _MenuDownIcon = _interopRequireDefault(require("mdi-react/MenuDownIcon"));
|
58
|
+
|
59
|
+
var _MenuUpIcon = _interopRequireDefault(require("mdi-react/MenuUpIcon"));
|
60
|
+
|
61
|
+
var _DataTableContext = require("../../context/DataTableContext");
|
62
|
+
|
63
|
+
var _DataTableVirtualizer = _interopRequireDefault(require("./DataTableVirtualizer"));
|
64
|
+
|
65
|
+
var _hooks = require("../../hooks");
|
66
|
+
|
67
|
+
var _index = require("../../index");
|
68
|
+
|
69
|
+
var _react2 = require("@emotion/react");
|
70
|
+
|
71
|
+
var _excluded = ["children"],
|
72
|
+
_excluded2 = ["children"],
|
73
|
+
_excluded3 = ["item", "children", "hasActions"];
|
74
|
+
|
75
|
+
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); }
|
76
|
+
|
77
|
+
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; }
|
78
|
+
|
79
|
+
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; }
|
80
|
+
|
81
|
+
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; }
|
82
|
+
|
83
|
+
var DEFAULT_HEADER_HEIGHT = {
|
84
|
+
medium: 34,
|
85
|
+
large: 37.5
|
86
|
+
};
|
87
|
+
var ROW_HEIGHTS = {
|
88
|
+
compact: {
|
89
|
+
medium: 32,
|
90
|
+
large: 40
|
91
|
+
},
|
92
|
+
regular: {
|
93
|
+
medium: 40,
|
94
|
+
large: 50
|
95
|
+
},
|
96
|
+
spacious: {
|
97
|
+
medium: 48,
|
98
|
+
large: 75
|
99
|
+
}
|
100
|
+
};
|
101
|
+
/**
|
102
|
+
* DataTable component using react aria Spectrum TableView
|
103
|
+
* Primarily utilizes [TableView](https://react-spectrum.adobe.com/react-spectrum/TableView.html)
|
104
|
+
* Cross platform state management react hook for DataTable
|
105
|
+
* Primarily utilizes [useTableState](https://react-spectrum.adobe.com/react-stately/useTableState.html)
|
106
|
+
*/
|
107
|
+
|
108
|
+
var DataTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
109
|
+
var onAction = props.onAction;
|
110
|
+
|
111
|
+
var _useStyleProps = (0, _utils2.useStyleProps)(props),
|
112
|
+
styleProps = _useStyleProps.styleProps;
|
113
|
+
|
114
|
+
var direction = 'ltr'; // useLocale override
|
115
|
+
|
116
|
+
var scale = 'large'; // useProvider override
|
117
|
+
|
118
|
+
var getDefaultWidth = (0, _react.useCallback)();
|
119
|
+
var state = (0, _table.useTableState)(_objectSpread({}, props));
|
120
|
+
var columnState = (0, _table.useTableColumnResizeState)(_objectSpread(_objectSpread({}, props), {}, {
|
121
|
+
getDefaultWidth: getDefaultWidth
|
122
|
+
}), state.collection);
|
123
|
+
var domRef = (0, _react.useRef)(ref);
|
124
|
+
var bodyRef = (0, _react.useRef)();
|
125
|
+
var density = props.density || 'regular';
|
126
|
+
var layout = (0, _react.useMemo)(function () {
|
127
|
+
return new _layout.TableLayout({
|
128
|
+
// If props.rowHeight is auto, then use estimated heights based on scale,
|
129
|
+
// otherwise use fixed heights.
|
130
|
+
rowHeight: props.overflowMode === 'wrap' ? null : ROW_HEIGHTS[density][scale],
|
131
|
+
estimatedRowHeight: props.overflowMode === 'wrap' ? ROW_HEIGHTS[density][scale] : null,
|
132
|
+
headingHeight: props.overflowMode === 'wrap' ? null : DEFAULT_HEADER_HEIGHT[scale],
|
133
|
+
estimatedHeadingHeight: props.overflowMode === 'wrap' ? DEFAULT_HEADER_HEIGHT[scale] : null
|
134
|
+
});
|
135
|
+
}, [props.overflowMode, scale, density]);
|
136
|
+
layout.collection = state.collection;
|
137
|
+
layout.getColumnWidth = columnState.getColumnWidth;
|
138
|
+
|
139
|
+
var _useTable = (0, _table2.useTable)(_objectSpread(_objectSpread({}, props), {}, {
|
140
|
+
isVirtualized: true,
|
141
|
+
layout: layout,
|
142
|
+
onRowAction: onAction
|
143
|
+
}), state, domRef),
|
144
|
+
gridProps = _useTable.gridProps; // This overrides collection view's renderWrapper to support DOM hierarchy.
|
145
|
+
|
146
|
+
|
147
|
+
var renderWrapper = function renderWrapper(parent, reusableView, children, renderChildren) {
|
148
|
+
var style = (0, _virtualizer.layoutInfoToStyle)(reusableView.layoutInfo, direction, parent && parent.layoutInfo);
|
149
|
+
|
150
|
+
if (style.overflow === 'hidden') {
|
151
|
+
style.overflow = 'visible'; // needed to support position: sticky
|
152
|
+
}
|
153
|
+
|
154
|
+
if (reusableView.viewType === 'rowgroup') {
|
155
|
+
return (0, _react2.jsx)(TableRowGroup, {
|
156
|
+
key: reusableView.key,
|
157
|
+
style: style
|
158
|
+
}, renderChildren(children));
|
159
|
+
}
|
160
|
+
|
161
|
+
if (reusableView.viewType === 'header') {
|
162
|
+
return (0, _react2.jsx)(TableHeader, {
|
163
|
+
key: reusableView.key,
|
164
|
+
style: style
|
165
|
+
}, renderChildren(children));
|
166
|
+
}
|
167
|
+
|
168
|
+
if (reusableView.viewType === 'row') {
|
169
|
+
return (0, _react2.jsx)(TableRow, {
|
170
|
+
key: reusableView.key,
|
171
|
+
item: reusableView.content,
|
172
|
+
style: style,
|
173
|
+
hasActions: onAction
|
174
|
+
}, renderChildren(children));
|
175
|
+
}
|
176
|
+
|
177
|
+
if (reusableView.viewType === 'headerrow') {
|
178
|
+
return (0, _react2.jsx)(TableHeaderRow, {
|
179
|
+
key: reusableView.key,
|
180
|
+
style: style,
|
181
|
+
item: reusableView.content
|
182
|
+
}, renderChildren(children));
|
183
|
+
}
|
184
|
+
|
185
|
+
return (0, _react2.jsx)(_virtualizer.VirtualizerItem, {
|
186
|
+
key: reusableView.key,
|
187
|
+
reusableView: reusableView,
|
188
|
+
parent: parent
|
189
|
+
});
|
190
|
+
};
|
191
|
+
|
192
|
+
var renderView = function renderView(type, item) {
|
193
|
+
switch (type) {
|
194
|
+
case 'header':
|
195
|
+
case 'rowgroup':
|
196
|
+
case 'row':
|
197
|
+
case 'headerrow':
|
198
|
+
return null;
|
199
|
+
|
200
|
+
case 'cell':
|
201
|
+
{
|
202
|
+
return (0, _react2.jsx)(TableCell, {
|
203
|
+
cell: item
|
204
|
+
});
|
205
|
+
}
|
206
|
+
|
207
|
+
case 'column':
|
208
|
+
return (0, _react2.jsx)(TableColumnHeader, {
|
209
|
+
column: item
|
210
|
+
});
|
211
|
+
|
212
|
+
case 'loader':
|
213
|
+
return (0, _react2.jsx)(CenteredWrapper, null, (0, _react2.jsx)(_index.Loader, {
|
214
|
+
color: "accent.70",
|
215
|
+
"aria-label": state.collection.size > 0 ? 'loadingMore' : 'loading'
|
216
|
+
}));
|
217
|
+
|
218
|
+
default:
|
219
|
+
return null;
|
220
|
+
}
|
221
|
+
};
|
222
|
+
|
223
|
+
var viewport = (0, _react.useRef)({
|
224
|
+
x: 0,
|
225
|
+
y: 0,
|
226
|
+
width: 0,
|
227
|
+
height: 0
|
228
|
+
});
|
229
|
+
var onVisibleRectChange = (0, _react.useCallback)(function (e) {
|
230
|
+
if (viewport.current.width === e.width && viewport.current.height === e.height) {
|
231
|
+
return;
|
232
|
+
}
|
233
|
+
|
234
|
+
viewport.current = e;
|
235
|
+
}, []);
|
236
|
+
return (0, _react2.jsx)(_DataTableContext.DataTableContext.Provider, {
|
237
|
+
value: {
|
238
|
+
state: state,
|
239
|
+
layout: layout,
|
240
|
+
columnState: columnState
|
241
|
+
}
|
242
|
+
}, (0, _react2.jsx)(_DataTableVirtualizer["default"], (0, _extends2["default"])({
|
243
|
+
style: {
|
244
|
+
whiteSpace: props.overflowMode === 'wrap' ? 'normal' : 'initial'
|
245
|
+
}
|
246
|
+
}, gridProps, styleProps, {
|
247
|
+
layout: layout,
|
248
|
+
collection: state.collection,
|
249
|
+
focusedKey: state.selectionManager.focusedKey,
|
250
|
+
renderView: renderView,
|
251
|
+
renderWrapper: renderWrapper,
|
252
|
+
setTableWidth: columnState.setTableWidth,
|
253
|
+
onVisibleRectChange: onVisibleRectChange,
|
254
|
+
domRef: domRef,
|
255
|
+
bodyRef: bodyRef,
|
256
|
+
getColumnWidth: columnState.getColumnWidth
|
257
|
+
})));
|
258
|
+
});
|
259
|
+
|
260
|
+
function TableHeader(_ref) {
|
261
|
+
var children = _ref.children,
|
262
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
263
|
+
|
264
|
+
var _useTableRowGroup = (0, _table2.useTableRowGroup)(),
|
265
|
+
rowGroupProps = _useTableRowGroup.rowGroupProps;
|
266
|
+
|
267
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, rowGroupProps, otherProps), children);
|
268
|
+
}
|
269
|
+
|
270
|
+
function TableColumnHeader(props) {
|
271
|
+
var _state$sortDescriptor, _state$sortDescriptor2;
|
272
|
+
|
273
|
+
var column = props.column;
|
274
|
+
var ref = (0, _react.useRef)(null);
|
275
|
+
|
276
|
+
var _useDataTableContext = (0, _DataTableContext.useDataTableContext)(),
|
277
|
+
state = _useDataTableContext.state;
|
278
|
+
|
279
|
+
var _useTableColumnHeader = (0, _table2.useTableColumnHeader)({
|
280
|
+
node: column,
|
281
|
+
isVirtualized: true
|
282
|
+
}, state, ref),
|
283
|
+
columnHeaderProps = _useTableColumnHeader.columnHeaderProps;
|
284
|
+
|
285
|
+
var columnProps = column.props;
|
286
|
+
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, {
|
287
|
+
icon: _MenuUpIcon["default"]
|
288
|
+
}) : (0, _react2.jsx)(_index.Icon, {
|
289
|
+
icon: _MenuDownIcon["default"],
|
290
|
+
color: "active"
|
291
|
+
});
|
292
|
+
var allProps = [columnHeaderProps];
|
293
|
+
|
294
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)((0, _defineProperty2["default"])({
|
295
|
+
'is-column-sortable': columnProps.allowsSorting
|
296
|
+
}, "is-align-".concat(columnProps.align), columnProps.align)),
|
297
|
+
classNames = _useStatusClasses.classNames;
|
298
|
+
|
299
|
+
return (0, _react2.jsx)(_focus.FocusRing, {
|
300
|
+
focusRingClass: "is-key-focused",
|
301
|
+
focusClass: "is-click-focused"
|
302
|
+
}, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, _utils.mergeProps.apply(void 0, allProps), {
|
303
|
+
ref: ref,
|
304
|
+
variant: "dataTable.tableHeadCell",
|
305
|
+
className: classNames
|
306
|
+
}), 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)));
|
307
|
+
}
|
308
|
+
|
309
|
+
function TableRowGroup(_ref2) {
|
310
|
+
var children = _ref2.children,
|
311
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
312
|
+
|
313
|
+
var _useTableRowGroup2 = (0, _table2.useTableRowGroup)(),
|
314
|
+
rowGroupProps = _useTableRowGroup2.rowGroupProps;
|
315
|
+
|
316
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, rowGroupProps, otherProps), children);
|
317
|
+
}
|
318
|
+
|
319
|
+
function TableRow(_ref3) {
|
320
|
+
var item = _ref3.item,
|
321
|
+
children = _ref3.children,
|
322
|
+
hasActions = _ref3.hasActions,
|
323
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref3, _excluded3);
|
324
|
+
var ref = (0, _react.useRef)();
|
325
|
+
|
326
|
+
var _useDataTableContext2 = (0, _DataTableContext.useDataTableContext)(),
|
327
|
+
state = _useDataTableContext2.state;
|
328
|
+
|
329
|
+
var _useTableRow = (0, _table2.useTableRow)({
|
330
|
+
node: item,
|
331
|
+
isVirtualized: true
|
332
|
+
}, state, ref),
|
333
|
+
rowProps = _useTableRow.rowProps;
|
334
|
+
|
335
|
+
var _useFocusRing = (0, _focus.useFocusRing)({
|
336
|
+
within: true
|
337
|
+
}),
|
338
|
+
isFocusVisibleWithin = _useFocusRing.isFocusVisible,
|
339
|
+
focusWithinProps = _useFocusRing.focusProps;
|
340
|
+
|
341
|
+
var _useFocusRing2 = (0, _focus.useFocusRing)(),
|
342
|
+
isFocusVisible = _useFocusRing2.isFocusVisible,
|
343
|
+
focusProps = _useFocusRing2.focusProps;
|
344
|
+
|
345
|
+
var props = (0, _utils.mergeProps)(rowProps, otherProps, focusWithinProps, focusProps);
|
346
|
+
|
347
|
+
var _useStatusClasses3 = (0, _hooks.useStatusClasses)({
|
348
|
+
'is-row-focus-visible': isFocusVisible || isFocusVisibleWithin
|
349
|
+
}),
|
350
|
+
classNames = _useStatusClasses3.classNames;
|
351
|
+
|
352
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, props, {
|
353
|
+
ref: ref,
|
354
|
+
variant: "dataTable.tableRow",
|
355
|
+
className: classNames
|
356
|
+
}), children);
|
357
|
+
}
|
358
|
+
|
359
|
+
function TableHeaderRow(_ref4) {
|
360
|
+
var item = _ref4.item,
|
361
|
+
children = _ref4.children,
|
362
|
+
style = _ref4.style;
|
363
|
+
|
364
|
+
var _useDataTableContext3 = (0, _DataTableContext.useDataTableContext)(),
|
365
|
+
state = _useDataTableContext3.state;
|
366
|
+
|
367
|
+
var ref = (0, _react.useRef)();
|
368
|
+
|
369
|
+
var _useTableHeaderRow = (0, _table2.useTableHeaderRow)({
|
370
|
+
node: item,
|
371
|
+
isVirtualized: true
|
372
|
+
}, state, ref),
|
373
|
+
rowProps = _useTableHeaderRow.rowProps;
|
374
|
+
|
375
|
+
return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, rowProps, {
|
376
|
+
ref: ref,
|
377
|
+
style: style
|
378
|
+
}), children);
|
379
|
+
}
|
380
|
+
|
381
|
+
function TableCell(_ref5) {
|
382
|
+
var cell = _ref5.cell;
|
383
|
+
|
384
|
+
var _useDataTableContext4 = (0, _DataTableContext.useDataTableContext)(),
|
385
|
+
state = _useDataTableContext4.state;
|
386
|
+
|
387
|
+
var ref = (0, _react.useRef)();
|
388
|
+
var columnProps = cell.column.props;
|
389
|
+
|
390
|
+
var _useTableCell = (0, _table2.useTableCell)({
|
391
|
+
node: cell,
|
392
|
+
isVirtualized: true
|
393
|
+
}, state, ref),
|
394
|
+
gridCellProps = _useTableCell.gridCellProps;
|
395
|
+
|
396
|
+
var _useStatusClasses4 = (0, _hooks.useStatusClasses)((0, _defineProperty2["default"])({}, "is-align-".concat(columnProps.align), columnProps.align)),
|
397
|
+
classNames = _useStatusClasses4.classNames;
|
398
|
+
|
399
|
+
return (0, _react2.jsx)(_focus.FocusRing, {
|
400
|
+
focusRingClass: "is-key-focused"
|
401
|
+
}, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({}, gridCellProps, {
|
402
|
+
ref: ref,
|
403
|
+
variant: "dataTable.tableCell",
|
404
|
+
className: classNames
|
405
|
+
}), (0, _react2.jsx)(_index.Box, {
|
406
|
+
variant: "dataTable.tableCellContents"
|
407
|
+
}, cell.rendered)));
|
408
|
+
}
|
409
|
+
|
410
|
+
function CenteredWrapper(_ref6) {
|
411
|
+
var children = _ref6.children;
|
412
|
+
|
413
|
+
var _useDataTableContext5 = (0, _DataTableContext.useDataTableContext)(),
|
414
|
+
state = _useDataTableContext5.state;
|
415
|
+
|
416
|
+
return (0, _react2.jsx)(_index.Box, {
|
417
|
+
role: "row",
|
418
|
+
"aria-rowindex": state.collection.headerRows.length + state.collection.size + 1,
|
419
|
+
variant: "dataTable.tableCenteredWrapper"
|
420
|
+
}, (0, _react2.jsx)(_index.Box, {
|
421
|
+
role: "rowheader",
|
422
|
+
"aria-colspan": state.collection.columns.length
|
423
|
+
}, children));
|
424
|
+
}
|
425
|
+
|
426
|
+
DataTable.propTypes = {
|
427
|
+
/**
|
428
|
+
* Sets the amount of vertical padding within each cell.
|
429
|
+
* density: 'compact' | 'regular' | 'spacious'
|
430
|
+
* @default 'regular'
|
431
|
+
*/
|
432
|
+
density: _propTypes["default"].string,
|
433
|
+
|
434
|
+
/**
|
435
|
+
* Sets the overflow behavior for the cell contents.
|
436
|
+
* overflowMode: 'wrap' | 'truncate'
|
437
|
+
* @default 'truncate'
|
438
|
+
*/
|
439
|
+
overflowMode: _propTypes["default"].string,
|
440
|
+
|
441
|
+
/** Handler that is called when a user performs an action on a row. */
|
442
|
+
onAction: _propTypes["default"].func
|
443
|
+
};
|
444
|
+
TableCell.propTypes = {
|
445
|
+
cell: _propTypes["default"].shape({
|
446
|
+
column: _propTypes["default"].shape({
|
447
|
+
props: _propTypes["default"].shape({
|
448
|
+
align: _propTypes["default"].string
|
449
|
+
})
|
450
|
+
}),
|
451
|
+
parentKey: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
452
|
+
rendered: _propTypes["default"].node
|
453
|
+
})
|
454
|
+
};
|
455
|
+
TableHeaderRow.propTypes = {
|
456
|
+
children: _propTypes["default"].node,
|
457
|
+
item: _propTypes["default"].shape({}),
|
458
|
+
style: _propTypes["default"].shape({})
|
459
|
+
};
|
460
|
+
TableRow.propTypes = {
|
461
|
+
children: _propTypes["default"].node,
|
462
|
+
hasActions: _propTypes["default"].func,
|
463
|
+
item: _propTypes["default"].shape({})
|
464
|
+
};
|
465
|
+
TableColumnHeader.propTypes = {
|
466
|
+
column: _propTypes["default"].shape({
|
467
|
+
key: _propTypes["default"].string,
|
468
|
+
props: _propTypes["default"].shape({
|
469
|
+
align: _propTypes["default"].string,
|
470
|
+
allowsSorting: _propTypes["default"].bool,
|
471
|
+
hideHeader: _propTypes["default"].bool
|
472
|
+
}),
|
473
|
+
rendered: _propTypes["default"].node
|
474
|
+
})
|
475
|
+
};
|
476
|
+
var _default = DataTable;
|
477
|
+
exports["default"] = _default;
|