1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
6 |
|
7 | var slicedToArray = require('./slicedToArray-0711941d.js');
|
8 | require('./unsupportedIterableToArray-68db1d3b.js');
|
9 | var React = require('react');
|
10 | var React__default = _interopDefault(React);
|
11 | require('./_commonjsHelpers-72d386ba.js');
|
12 | var index = require('./index-b0606964.js');
|
13 | var defineProperty = require('./defineProperty-0921a47c.js');
|
14 | var toConsumableArray = require('./toConsumableArray-d8a4a2c3.js');
|
15 | var _styled = require('styled-components');
|
16 | var _styled__default = _interopDefault(_styled);
|
17 | require('./getPrototypeOf-2a661a20.js');
|
18 | require('./color.js');
|
19 | require('./components.js');
|
20 | require('./contains-component.js');
|
21 | require('./css.js');
|
22 | require('./dayjs.min-e07657bf.js');
|
23 | require('./date.js');
|
24 | var miscellaneous = require('./miscellaneous.js');
|
25 | var environment = require('./environment.js');
|
26 | require('./font.js');
|
27 | require('./math-f4029164.js');
|
28 | require('./characters.js');
|
29 | require('./format.js');
|
30 | require('./keycodes.js');
|
31 | require('./url.js');
|
32 | require('./web3.js');
|
33 | var constants = require('./constants.js');
|
34 | require('./breakpoints.js');
|
35 | require('./springs.js');
|
36 | var textStyles = require('./text-styles.js');
|
37 | require('./theme-dark.js');
|
38 | require('./theme-light.js');
|
39 | var Theme = require('./Theme.js');
|
40 | require('./extends-40571110.js');
|
41 | require('./objectWithoutProperties-35db8ab0.js');
|
42 | require('./index-ecc57c9f.js');
|
43 | require('./isObject-ec755c87.js');
|
44 | require('./Viewport-15101437.js');
|
45 | var Layout = require('./Layout.js');
|
46 | var Box = require('./Box.js');
|
47 | require('./FocusVisible.js');
|
48 | require('./ButtonBase.js');
|
49 | require('./PaginationItem.js');
|
50 | require('./IconPropTypes-56de5759.js');
|
51 | require('./IconAddUser.js');
|
52 | require('./IconAlert.js');
|
53 | require('./IconAlignCenter.js');
|
54 | require('./IconAlignJustify.js');
|
55 | require('./IconAlignLeft.js');
|
56 | require('./IconAlignRight.js');
|
57 | require('./IconAragon.js');
|
58 | require('./IconArrowDown.js');
|
59 | require('./IconArrowLeft.js');
|
60 | require('./IconArrowRight.js');
|
61 | require('./IconArrowUp.js');
|
62 | require('./IconAtSign.js');
|
63 | require('./IconBlock.js');
|
64 | require('./IconBookmark.js');
|
65 | require('./IconCalendar.js');
|
66 | require('./IconCanvas.js');
|
67 | require('./IconCaution.js');
|
68 | require('./IconCenter.js');
|
69 | require('./IconChart.js');
|
70 | require('./IconChat.js');
|
71 | require('./IconCheck.js');
|
72 | require('./IconChip.js');
|
73 | require('./IconCircleCheck.js');
|
74 | require('./IconCircleMinus.js');
|
75 | require('./IconCirclePlus.js');
|
76 | require('./IconClock.js');
|
77 | require('./IconCloudDownload.js');
|
78 | require('./IconCloudUpload.js');
|
79 | require('./IconCoin.js');
|
80 | require('./IconConfiguration.js');
|
81 | require('./IconConnect.js');
|
82 | require('./IconConnection.js');
|
83 | require('./IconConsole.js');
|
84 | require('./IconCopy.js');
|
85 | require('./IconCross.js');
|
86 | require('./IconDashedSquare.js');
|
87 | require('./IconDown.js');
|
88 | require('./IconDownload.js');
|
89 | require('./IconEdit.js');
|
90 | require('./IconEllipsis.js');
|
91 | require('./IconEnter.js');
|
92 | require('./IconEthereum.js');
|
93 | require('./IconExternal.js');
|
94 | require('./IconFile.js');
|
95 | require('./IconFilter.js');
|
96 | require('./IconFlag.js');
|
97 | require('./IconFolder.js');
|
98 | require('./IconGraph2.js');
|
99 | require('./IconGraph.js');
|
100 | require('./IconGrid.js');
|
101 | require('./IconGroup.js');
|
102 | require('./IconHash.js');
|
103 | require('./IconHeart.js');
|
104 | require('./IconHide.js');
|
105 | require('./IconHome.js');
|
106 | require('./IconImage.js');
|
107 | require('./IconInfo.js');
|
108 | require('./IconLabel.js');
|
109 | require('./IconLayers.js');
|
110 | require('./IconLeft.js');
|
111 | require('./IconLink.js');
|
112 | require('./IconLocation.js');
|
113 | require('./IconLock.js');
|
114 | require('./IconMail.js');
|
115 | require('./IconMaximize.js');
|
116 | require('./IconMenu.js');
|
117 | require('./IconMinimize.js');
|
118 | require('./IconMinus.js');
|
119 | require('./IconMove.js');
|
120 | require('./IconNoPicture.js');
|
121 | require('./IconPicture.js');
|
122 | require('./IconPlus.js');
|
123 | require('./IconPower.js');
|
124 | require('./IconPrint.js');
|
125 | require('./IconProhibited.js');
|
126 | require('./IconQuestion.js');
|
127 | require('./IconRefresh.js');
|
128 | require('./IconRemoveUser.js');
|
129 | require('./IconRight.js');
|
130 | require('./IconRotateLeft.js');
|
131 | require('./IconRotateRight.js');
|
132 | require('./IconSearch.js');
|
133 | require('./IconSettings.js');
|
134 | require('./IconShare.js');
|
135 | require('./IconSquareMinus.js');
|
136 | require('./IconSquarePlus.js');
|
137 | require('./IconSquare.js');
|
138 | require('./IconStarFilled.js');
|
139 | require('./IconStar.js');
|
140 | require('./IconSwap.js');
|
141 | require('./IconTarget.js');
|
142 | require('./IconToken.js');
|
143 | require('./IconTrash.js');
|
144 | require('./IconUnlock.js');
|
145 | require('./IconUp.js');
|
146 | require('./IconUpload.js');
|
147 | require('./IconUser.js');
|
148 | require('./IconView.js');
|
149 | require('./IconVote.js');
|
150 | require('./IconWallet.js');
|
151 | require('./IconWarning.js');
|
152 | require('./IconWorld.js');
|
153 | require('./IconWrite.js');
|
154 | require('./IconZoomIn.js');
|
155 | require('./IconZoomOut.js');
|
156 | require('./PaginationSeparator.js');
|
157 | var Pagination = require('./Pagination.js');
|
158 | require('./objectWithoutPropertiesLoose-1af20ad0.js');
|
159 | require('react-dom');
|
160 | require('./web-d0294535.js');
|
161 | require('./Checkbox.js');
|
162 | require('./Button.js');
|
163 | require('./ButtonIcon.js');
|
164 | require('./ToggleButton.js');
|
165 | require('./OpenedSurfaceBorder.js');
|
166 | var TableView = require('./TableView.js');
|
167 | var ListView = require('./ListView.js');
|
168 | require('./getDisplayName-7ab6d318.js');
|
169 | require('./index-bc84a358.js');
|
170 | require('./LoadingRing.js');
|
171 | require('./Link.js');
|
172 | var EmptyState = require('./EmptyState.js');
|
173 |
|
174 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
175 |
|
176 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty._defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
177 |
|
178 | function prepareEntries(entries, from, to, selectedIndexes) {
|
179 | return entries.slice(from, to).map(function (entry, index) {
|
180 | var entryIndex = from + index;
|
181 | var selected = selectedIndexes.includes(entryIndex);
|
182 | return {
|
183 | value: entry || null,
|
184 | index: entryIndex,
|
185 | selected: selected
|
186 | };
|
187 | });
|
188 | }
|
189 |
|
190 | function prepareFields(fields) {
|
191 | return fields.map(function (fieldFromProps, index, fields) {
|
192 |
|
193 | var field = fieldFromProps && fieldFromProps.label ? fieldFromProps : {
|
194 | label: fieldFromProps
|
195 | };
|
196 |
|
197 | if (!field.align) {
|
198 | field.align = index === fields.length - 1 && fields.length > 1 ? 'end' : 'start';
|
199 | }
|
200 |
|
201 | return field;
|
202 | });
|
203 | }
|
204 |
|
205 | function entryExpansion(content) {
|
206 |
|
207 | if (Array.isArray(content) && content.length > 0) {
|
208 | return {
|
209 | content: content,
|
210 | freeLayout: false
|
211 | };
|
212 | }
|
213 |
|
214 |
|
215 | if (content && !Array.isArray(content)) {
|
216 | return {
|
217 | content: [content],
|
218 | freeLayout: true
|
219 | };
|
220 | }
|
221 |
|
222 |
|
223 | return {
|
224 | content: [],
|
225 | freeLayout: false
|
226 | };
|
227 | }
|
228 |
|
229 | function renderEntries(entries, _ref) {
|
230 | var fields = _ref.fields,
|
231 | renderEntry = _ref.renderEntry,
|
232 | renderEntryActions = _ref.renderEntryActions,
|
233 | renderEntryExpansion = _ref.renderEntryExpansion,
|
234 | mode = _ref.mode;
|
235 | return entries.map(function (entry) {
|
236 | var value = entry.value,
|
237 | index = entry.index,
|
238 | selected = entry.selected;
|
239 | var entryNodes = renderEntry(value, index, {
|
240 | selected: selected,
|
241 | mode: mode
|
242 | });
|
243 |
|
244 | if (!Array.isArray(entryNodes)) {
|
245 | entryNodes = [];
|
246 | }
|
247 |
|
248 |
|
249 | while (entryNodes.length < fields.length) {
|
250 | entryNodes.push(null);
|
251 | }
|
252 |
|
253 | var expansion = entryExpansion(renderEntryExpansion ? renderEntryExpansion(value, index, {
|
254 | selected: selected,
|
255 | mode: mode
|
256 | }) : null);
|
257 | var actions = renderEntryActions ? renderEntryActions(value, index, {
|
258 | selected: selected,
|
259 | mode: mode
|
260 | }) : null;
|
261 | return {
|
262 | actions: actions,
|
263 | entryNodes: entryNodes,
|
264 | expansion: expansion,
|
265 | index: index,
|
266 | selected: selected
|
267 | };
|
268 | });
|
269 | }
|
270 |
|
271 | function useSelection(entries, selection, onSelectEntries) {
|
272 |
|
273 |
|
274 |
|
275 | var _useState = React.useState([]),
|
276 | _useState2 = slicedToArray._slicedToArray(_useState, 2),
|
277 | selectionManaged = _useState2[0],
|
278 | setSelectionManaged = _useState2[1];
|
279 |
|
280 | var currentSelection = selection === undefined ? selectionManaged : selection;
|
281 | var updateSelection = React.useCallback(function (newSelection) {
|
282 |
|
283 | if (selection === undefined) {
|
284 | setSelectionManaged(newSelection);
|
285 | }
|
286 |
|
287 |
|
288 | onSelectEntries(toConsumableArray._toConsumableArray(newSelection).sort().map(function (index) {
|
289 | return entries[index];
|
290 | }), newSelection);
|
291 | }, [selection, onSelectEntries, entries]);
|
292 | var allSelected = React.useMemo(function () {
|
293 |
|
294 | if (currentSelection.length === 0) {
|
295 | return -1;
|
296 | }
|
297 |
|
298 |
|
299 | if (currentSelection.length === entries.length) {
|
300 | return 1;
|
301 | }
|
302 |
|
303 |
|
304 | return 0;
|
305 | }, [entries, currentSelection]);
|
306 | var toggleEntrySelect = React.useCallback(function (entryIndex) {
|
307 | updateSelection(currentSelection.includes(entryIndex) ? currentSelection.filter(function (index) {
|
308 | return index !== entryIndex;
|
309 | }) : [].concat(toConsumableArray._toConsumableArray(currentSelection), [entryIndex]));
|
310 | }, [updateSelection, currentSelection]);
|
311 | var selectAll = React.useCallback(function () {
|
312 | updateSelection(currentSelection.length === 0 ? entries.map(function (_, index) {
|
313 | return index;
|
314 | }) : []);
|
315 | }, [entries, currentSelection, updateSelection]);
|
316 | return {
|
317 | allSelected: allSelected,
|
318 | selectAll: selectAll,
|
319 | toggleEntrySelect: toggleEntrySelect,
|
320 | selectedIndexes: currentSelection
|
321 | };
|
322 | }
|
323 |
|
324 | function deprecatedEmptyStatePropsCompat(_ref2) {
|
325 | var emptyState = _ref2.emptyState,
|
326 | statusEmpty = _ref2.statusEmpty,
|
327 | statusLoading = _ref2.statusLoading,
|
328 | statusEmptyFilters = _ref2.statusEmptyFilters,
|
329 | statusEmptySearch = _ref2.statusEmptySearch;
|
330 |
|
331 | for (var _i = 0, _arr = [['statusEmpty', statusEmpty, 'default', 'title'], ['statusEmptyFilters', statusEmptyFilters, 'empty-filters', 'subtitle'], ['statusEmptySearch', statusEmptySearch, 'empty-search', 'subtitle'], ['statusLoading', statusLoading, 'loading', 'title']]; _i < _arr.length; _i++) {
|
332 | var _arr$_i = slicedToArray._slicedToArray(_arr[_i], 4),
|
333 | propName = _arr$_i[0],
|
334 | propValue = _arr$_i[1],
|
335 | emptyStateName = _arr$_i[2],
|
336 | partName = _arr$_i[3];
|
337 |
|
338 | if (!propValue) {
|
339 | continue;
|
340 | }
|
341 |
|
342 | environment.warnOnce("DataView:".concat(propName), "DataView: the ".concat(propName, " prop is now deprecated, please use emptyState instead."));
|
343 |
|
344 | if (!emptyState[emptyStateName] || !emptyState[emptyStateName][partName]) {
|
345 | emptyState[emptyStateName] = _objectSpread({}, emptyState[emptyStateName], defineProperty._defineProperty({}, partName, propValue));
|
346 | }
|
347 | }
|
348 |
|
349 | return emptyState;
|
350 | }
|
351 |
|
352 | var _StyledDiv = _styled__default("div").withConfig({
|
353 | displayName: "DataView___StyledDiv",
|
354 | componentId: "sc-49otbs-0"
|
355 | })(["padding:", "px ", "px;"], function (p) {
|
356 | return p._css;
|
357 | }, function (p) {
|
358 | return p._css2;
|
359 | });
|
360 |
|
361 | var _StyledH = _styled__default("h1").withConfig({
|
362 | displayName: "DataView___StyledH",
|
363 | componentId: "sc-49otbs-1"
|
364 | })(["margin-bottom:", "px;", ";"], function (p) {
|
365 | return p._css3;
|
366 | }, function (p) {
|
367 | return p._css4;
|
368 | });
|
369 |
|
370 | var _StyledDiv2 = _styled__default("div").withConfig({
|
371 | displayName: "DataView___StyledDiv2",
|
372 | componentId: "sc-49otbs-2"
|
373 | })(["border-top:1px solid ", ";"], function (p) {
|
374 | return p._css5;
|
375 | });
|
376 |
|
377 | var DataView = React__default.memo(function DataView(_ref3) {
|
378 | var emptyState = _ref3.emptyState,
|
379 | entries = _ref3.entries,
|
380 | entriesPerPage = _ref3.entriesPerPage,
|
381 | fields = _ref3.fields,
|
382 | heading = _ref3.heading,
|
383 | mode = _ref3.mode,
|
384 | onPageChange = _ref3.onPageChange,
|
385 | onSelectEntries = _ref3.onSelectEntries,
|
386 | onStatusEmptyClear = _ref3.onStatusEmptyClear,
|
387 | page = _ref3.page,
|
388 | renderEntry = _ref3.renderEntry,
|
389 | renderEntryActions = _ref3.renderEntryActions,
|
390 | renderEntryExpansion = _ref3.renderEntryExpansion,
|
391 | renderSelectionCount = _ref3.renderSelectionCount,
|
392 | selection = _ref3.selection,
|
393 | status = _ref3.status,
|
394 | tableRowHeight = _ref3.tableRowHeight,
|
395 | renderEntryChild = _ref3.renderEntryChild,
|
396 | statusEmpty = _ref3.statusEmpty,
|
397 | statusEmptyFilters = _ref3.statusEmptyFilters,
|
398 | statusEmptySearch = _ref3.statusEmptySearch,
|
399 | statusLoading = _ref3.statusLoading;
|
400 |
|
401 | if (renderEntryChild && !renderEntryExpansion) {
|
402 | environment.warnOnce('DataView:renderEntryChild', 'DataView: the renderEntryChild prop has been renamed ' + 'renderEntryExpansion and will be removed in a future version. ' + 'Please use the new name.');
|
403 | renderEntryExpansion = renderEntryChild;
|
404 | }
|
405 |
|
406 | if (renderEntryExpansion && onSelectEntries) {
|
407 | environment.warnOnce('DataView: renderEntryExpansion + onSelectEntries', 'A DataView cannot be made selectable with some of its entries ' + 'expandable. Please use only one of renderEntryExpansion or ' + 'onSelectEntries at a time. Ignoring renderEntryExpansion.');
|
408 | renderEntryExpansion = undefined;
|
409 | }
|
410 |
|
411 | emptyState = deprecatedEmptyStatePropsCompat({
|
412 | emptyState: emptyState,
|
413 | statusEmpty: statusEmpty,
|
414 | statusEmptyFilters: statusEmptyFilters,
|
415 | statusEmptySearch: statusEmptySearch,
|
416 | statusLoading: statusLoading
|
417 | });
|
418 |
|
419 |
|
420 |
|
421 | var _useState3 = React.useState(0),
|
422 | _useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
423 | pageManaged = _useState4[0],
|
424 | setPageManaged = _useState4[1];
|
425 |
|
426 | var handlePageChange = React.useCallback(function (newPage) {
|
427 |
|
428 | if (page === undefined) {
|
429 | setPageManaged(newPage);
|
430 | }
|
431 |
|
432 |
|
433 | onPageChange(newPage);
|
434 | }, [onPageChange, page]);
|
435 |
|
436 | React.useEffect(function () {
|
437 | setPageManaged(0);
|
438 | }, [entries]);
|
439 | var selectedPage = page === undefined ? pageManaged : page;
|
440 | var theme = Theme.useTheme();
|
441 |
|
442 | var _useLayout = Layout.useLayout(),
|
443 | layoutName = _useLayout.layoutName;
|
444 |
|
445 | var listMode = mode === 'list' || mode !== 'table' && layoutName === 'small';
|
446 |
|
447 | var _useSelection = useSelection(entries, selection, onSelectEntries),
|
448 | allSelected = _useSelection.allSelected,
|
449 | selectAll = _useSelection.selectAll,
|
450 | toggleEntrySelect = _useSelection.toggleEntrySelect,
|
451 | selectedIndexes = _useSelection.selectedIndexes;
|
452 |
|
453 | var hasAnyActions = Boolean(renderEntryActions);
|
454 | var hasAnyExpansion = Boolean(renderEntryExpansion);
|
455 | var canSelect = Boolean(onSelectEntries);
|
456 |
|
457 | if (entriesPerPage < 1) {
|
458 | entriesPerPage = entries.length;
|
459 | }
|
460 |
|
461 | var pages = Math.ceil(entries.length / entriesPerPage);
|
462 | var displayFrom = entriesPerPage * selectedPage;
|
463 | var displayTo = displayFrom + entriesPerPage;
|
464 | var displayedEntries = prepareEntries(entries, displayFrom, displayTo, selectedIndexes);
|
465 | var preparedFields = prepareFields(fields);
|
466 | var renderedEntries = renderEntries(displayedEntries, {
|
467 | fields: fields,
|
468 | renderEntry: renderEntry,
|
469 | renderEntryActions: renderEntryActions,
|
470 | renderEntryExpansion: renderEntryExpansion,
|
471 | mode: listMode ? 'list' : 'table'
|
472 | });
|
473 | var alignChildOnField = fields.findIndex(function (field) {
|
474 | return field && field.childStart;
|
475 | });
|
476 | var emptyEntries = renderedEntries.length === 0;
|
477 | return React__default.createElement(Box.default, {
|
478 | padding: 0
|
479 | }, heading && React__default.createElement(_StyledDiv, {
|
480 | _css: 2 * constants.GU,
|
481 | _css2: layoutName === 'small' ? 2 * constants.GU : 3 * constants.GU
|
482 | }, typeof heading === 'string' ? React__default.createElement(_StyledH, {
|
483 | _css3: 2 * constants.GU,
|
484 | _css4: textStyles.textStyle('body2')
|
485 | }, heading) : heading), !emptyEntries && (listMode ? React__default.createElement(ListView.ListView, {
|
486 | allSelected: allSelected,
|
487 | entries: renderedEntries,
|
488 | fields: preparedFields,
|
489 | hasAnyExpansion: hasAnyExpansion,
|
490 | onSelect: toggleEntrySelect,
|
491 | onSelectAll: selectAll,
|
492 | renderSelectionCount: renderSelectionCount,
|
493 | rowHeight: tableRowHeight,
|
494 | selectable: canSelect
|
495 | }) : React__default.createElement(TableView.TableView, {
|
496 | alignChildOnField: Math.min(Math.max(-1, alignChildOnField), fields.length - 1),
|
497 | allSelected: allSelected,
|
498 | entries: renderedEntries,
|
499 | fields: preparedFields,
|
500 | hasAnyActions: hasAnyActions,
|
501 | hasAnyExpansion: hasAnyExpansion,
|
502 | onSelect: toggleEntrySelect,
|
503 | onSelectAll: selectAll,
|
504 | renderSelectionCount: renderSelectionCount,
|
505 | rowHeight: tableRowHeight,
|
506 | selectable: canSelect,
|
507 | selectedCount: selectedIndexes.length
|
508 | })), emptyEntries && React__default.createElement(EmptyState.default, {
|
509 | status: status,
|
510 | configurator: emptyState,
|
511 | onStatusEmptyClear: onStatusEmptyClear
|
512 | }), pages > 1 && React__default.createElement(_StyledDiv2, {
|
513 | _css5: theme.border
|
514 | }, React__default.createElement(Pagination.default, {
|
515 | pages: pages,
|
516 | selected: selectedPage,
|
517 | onChange: handlePageChange,
|
518 | touchMode: layoutName === 'small'
|
519 | })));
|
520 | });
|
521 | DataView.propTypes = {
|
522 | page: index.PropTypes.number,
|
523 | entries: index.PropTypes.array.isRequired,
|
524 | entriesPerPage: index.PropTypes.number,
|
525 | fields: index.PropTypes.array.isRequired,
|
526 | heading: index.PropTypes.node,
|
527 | mode: index.PropTypes.oneOf(['adaptive', 'table', 'list']),
|
528 | onPageChange: index.PropTypes.func,
|
529 | onSelectEntries: index.PropTypes.func,
|
530 | renderEntry: index.PropTypes.func.isRequired,
|
531 | renderEntryActions: index.PropTypes.func,
|
532 | renderEntryExpansion: index.PropTypes.func,
|
533 | renderSelectionCount: index.PropTypes.func,
|
534 | selection: index.PropTypes.array,
|
535 | tableRowHeight: index.PropTypes.number,
|
536 | status: index.PropTypes.oneOf(['default', 'empty-filters', 'empty-search', 'loading']),
|
537 | onStatusEmptyClear: index.PropTypes.func,
|
538 | emptyState: index.PropTypes.oneOfType([index.PropTypes.func, index.PropTypes.object]),
|
539 |
|
540 | renderEntryChild: index.PropTypes.func,
|
541 | statusEmpty: index.PropTypes.node,
|
542 | statusLoading: index.PropTypes.node,
|
543 | statusEmptyFilters: index.PropTypes.node,
|
544 | statusEmptySearch: index.PropTypes.node
|
545 | };
|
546 | DataView.defaultProps = {
|
547 | emptyState: {},
|
548 | entriesPerPage: 10,
|
549 | mode: 'adaptive',
|
550 | onPageChange: miscellaneous.noop,
|
551 | renderSelectionCount: function renderSelectionCount(count) {
|
552 | return "".concat(count, " items selected");
|
553 | },
|
554 | status: 'default',
|
555 | tableRowHeight: 8 * constants.GU
|
556 | };
|
557 |
|
558 | exports.default = DataView;
|
559 |
|