@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.
- package/CHANGELOG.md +30 -0
- package/NOTICE.html +2 -2
- package/lib/cjs/components/DataTable/DataTable.js +481 -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/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +8 -2
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +35 -0
- package/lib/cjs/components/MultivaluesField/MultivaluesField.js +10 -10
- package/lib/cjs/components/PageHeader/PageHeader.js +7 -1
- package/lib/cjs/context/DataTableContext/index.js +31 -0
- package/lib/cjs/index.js +67 -2
- package/lib/cjs/recipes/CountryPicker.stories.js +25 -12
- package/lib/cjs/recipes/EditableInput.stories.js +55 -46
- package/lib/cjs/recipes/FlippableCaretMenuButton.stories.js +38 -30
- package/lib/cjs/recipes/ListAndPanel.stories.js +102 -87
- package/lib/cjs/recipes/MaskedValue.stories.js +8 -5
- package/lib/cjs/recipes/NeutralInput.stories.js +6 -3
- package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- package/lib/cjs/recipes/PageHeader.stories.js +73 -0
- package/lib/cjs/recipes/RowLineChart.stories.js +58 -70
- package/lib/cjs/recipes/SelectedFieldOverlay.story.js +25 -21
- package/lib/cjs/recipes/TrialExperienceStatusBar.stories.js +81 -72
- package/lib/cjs/styles/forms/index.js +1 -1
- package/lib/cjs/styles/forms/label.js +1 -1
- package/lib/cjs/styles/forms/select.js +1 -1
- package/lib/cjs/styles/variants/variants.js +4 -1
- package/lib/components/DataTable/DataTable.js +436 -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/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +7 -2
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +25 -0
- package/lib/components/MultivaluesField/MultivaluesField.js +10 -10
- package/lib/components/PageHeader/PageHeader.js +8 -1
- package/lib/context/DataTableContext/index.js +5 -0
- package/lib/index.js +4 -1
- package/lib/recipes/CountryPicker.stories.js +24 -12
- package/lib/recipes/EditableInput.stories.js +55 -46
- package/lib/recipes/FlippableCaretMenuButton.stories.js +38 -30
- package/lib/recipes/ListAndPanel.stories.js +102 -87
- package/lib/recipes/MaskedValue.stories.js +8 -5
- package/lib/recipes/NeutralInput.stories.js +6 -3
- package/lib/recipes/OneWayToBidirectionalArrow.stories.js +38 -33
- package/lib/recipes/PageHeader.stories.js +53 -0
- package/lib/recipes/RowLineChart.stories.js +58 -70
- package/lib/recipes/SelectedFieldOverlay.story.js +25 -21
- package/lib/recipes/TrialExperienceStatusBar.stories.js +81 -72
- package/lib/styles/forms/index.js +1 -1
- package/lib/styles/forms/label.js +1 -1
- package/lib/styles/forms/select.js +1 -1
- package/lib/styles/variants/variants.js +3 -1
- 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/
|
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.
|
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;
|