@carbon/ibm-products 2.25.0 → 2.27.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +556 -63
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +50 -16
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +556 -63
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +527 -55
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/BigNumbers/BigNumbers.d.ts +11 -0
- package/es/components/BigNumbers/BigNumbers.js +238 -0
- package/es/components/BigNumbers/constants.d.ts +13 -0
- package/es/components/BigNumbers/constants.js +67 -0
- package/es/components/BigNumbers/index.d.ts +1 -0
- package/es/components/Cascade/Cascade.d.ts +19 -2
- package/es/components/Cascade/Cascade.js +12 -9
- package/es/components/Coachmark/CoachmarkTagline.js +1 -2
- package/es/components/CoachmarkStack/CoachmarkStackHome.js +1 -1
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +4 -3
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +3 -2
- package/es/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
- package/es/components/DataSpreadsheet/utils/checkForHoldingKey.js +17 -0
- package/es/components/Datagrid/Datagrid/Datagrid.js +9 -2
- package/es/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
- package/es/components/Datagrid/Datagrid/DatagridContent.js +6 -2
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +21 -8
- package/es/components/Datagrid/Datagrid/DatagridRow.js +15 -2
- package/es/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +21 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +32 -9
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +3 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +35 -3
- package/es/components/Datagrid/Datagrid/addons/Slug/DatagridSlug.d.ts +2 -0
- package/es/components/Datagrid/Datagrid/addons/Slug/{ColumnHeaderSlug.js → DatagridSlug.js} +4 -4
- package/es/components/Datagrid/Datagrid/addons/stateReducer.js +3 -3
- package/es/components/Datagrid/useSelectAllToggle.js +5 -3
- package/es/components/Datagrid/useSortableColumns.js +2 -2
- package/es/components/EmptyStates/EmptyStateContent.d.ts +1 -1
- package/es/components/FullPageError/FullPageError.js +41 -15
- package/es/components/FullPageError/assets/Error403SVG.d.ts +9 -0
- package/es/components/FullPageError/assets/Error403SVG.js +714 -0
- package/es/components/FullPageError/assets/Error404SVG.d.ts +9 -0
- package/es/components/FullPageError/assets/Error404SVG.js +623 -0
- package/es/components/HTTPErrors/HTTPErrorContent.d.ts +1 -1
- package/es/components/InterstitialScreen/InterstitialScreen.js +1 -1
- package/es/components/SidePanel/SidePanel.js +13 -6
- package/es/components/SidePanel/motion/variants.d.ts +39 -12
- package/es/components/SidePanel/motion/variants.js +42 -11
- package/es/components/StringFormatter/StringFormatter.d.ts +6 -0
- package/es/components/StringFormatter/StringFormatter.js +79 -0
- package/es/components/StringFormatter/index.d.ts +1 -0
- package/es/components/StringFormatter/utils/enums.d.ts +14 -0
- package/es/components/StringFormatter/utils/enums.js +23 -0
- package/es/components/Tearsheet/TearsheetShell.js +26 -8
- package/es/components/UserAvatar/UserAvatar.js +59 -44
- package/es/components/index.d.ts +2 -0
- package/es/global/js/hooks/index.d.ts +2 -0
- package/es/global/js/hooks/useFocus.d.ts +11 -0
- package/es/global/js/hooks/useFocus.js +76 -0
- package/es/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
- package/es/global/js/hooks/useIsomorphicEffect.js +14 -0
- package/es/global/js/package-settings.d.ts +2 -0
- package/es/global/js/package-settings.js +2 -0
- package/es/index.js +2 -0
- package/es/settings.d.ts +2 -0
- package/lib/components/BigNumbers/BigNumbers.d.ts +11 -0
- package/lib/components/BigNumbers/BigNumbers.js +244 -0
- package/lib/components/BigNumbers/constants.d.ts +13 -0
- package/lib/components/BigNumbers/constants.js +76 -0
- package/lib/components/BigNumbers/index.d.ts +1 -0
- package/lib/components/Cascade/Cascade.d.ts +19 -2
- package/lib/components/Cascade/Cascade.js +12 -9
- package/lib/components/Coachmark/CoachmarkTagline.js +3 -4
- package/lib/components/CoachmarkStack/CoachmarkStackHome.js +2 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +4 -3
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +3 -2
- package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
- package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.js +21 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.js +9 -2
- package/lib/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +6 -2
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +20 -7
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +14 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +20 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +30 -7
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +3 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +33 -1
- package/lib/components/Datagrid/Datagrid/addons/Slug/DatagridSlug.d.ts +2 -0
- package/lib/components/Datagrid/Datagrid/addons/Slug/{ColumnHeaderSlug.js → DatagridSlug.js} +4 -4
- package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +3 -3
- package/lib/components/Datagrid/useSelectAllToggle.js +4 -2
- package/lib/components/Datagrid/useSortableColumns.js +2 -2
- package/lib/components/EmptyStates/EmptyStateContent.d.ts +1 -1
- package/lib/components/FullPageError/FullPageError.js +41 -15
- package/lib/components/FullPageError/assets/Error403SVG.d.ts +9 -0
- package/lib/components/FullPageError/assets/Error403SVG.js +722 -0
- package/lib/components/FullPageError/assets/Error404SVG.d.ts +9 -0
- package/lib/components/FullPageError/assets/Error404SVG.js +631 -0
- package/lib/components/HTTPErrors/HTTPErrorContent.d.ts +1 -1
- package/lib/components/InterstitialScreen/InterstitialScreen.js +3 -3
- package/lib/components/SidePanel/SidePanel.js +11 -4
- package/lib/components/SidePanel/motion/variants.d.ts +39 -12
- package/lib/components/SidePanel/motion/variants.js +42 -10
- package/lib/components/StringFormatter/StringFormatter.d.ts +6 -0
- package/lib/components/StringFormatter/StringFormatter.js +85 -0
- package/lib/components/StringFormatter/index.d.ts +1 -0
- package/lib/components/StringFormatter/utils/enums.d.ts +14 -0
- package/lib/components/StringFormatter/utils/enums.js +27 -0
- package/lib/components/Tearsheet/TearsheetShell.js +26 -8
- package/lib/components/UserAvatar/UserAvatar.js +59 -44
- package/lib/components/index.d.ts +2 -0
- package/lib/global/js/hooks/index.d.ts +2 -0
- package/lib/global/js/hooks/useFocus.d.ts +11 -0
- package/lib/global/js/hooks/useFocus.js +80 -0
- package/lib/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
- package/lib/global/js/hooks/useIsomorphicEffect.js +18 -0
- package/lib/global/js/package-settings.d.ts +2 -0
- package/lib/global/js/package-settings.js +2 -0
- package/lib/index.js +10 -0
- package/lib/settings.d.ts +2 -0
- package/package.json +7 -7
- package/scss/components/BigNumbers/_big-numbers.scss +151 -0
- package/scss/components/BigNumbers/_carbon-imports.scss +11 -0
- package/scss/components/BigNumbers/_index-with-carbon.scss +9 -0
- package/scss/components/BigNumbers/_index.scss +8 -0
- package/scss/components/Datagrid/styles/_datagrid.scss +19 -0
- package/scss/components/FilterSummary/_filter-summary.scss +1 -1
- package/scss/components/FullPageError/_full-page-error.scss +20 -2
- package/scss/components/ProductiveCard/_productive-card.scss +1 -1
- package/scss/components/SidePanel/_side-panel.scss +1 -1
- package/scss/components/StringFormatter/_carbon-imports.scss +10 -0
- package/scss/components/StringFormatter/_index-with-carbon.scss +9 -0
- package/scss/components/StringFormatter/_index.scss +8 -0
- package/scss/components/StringFormatter/_string-formatter.scss +97 -0
- package/scss/components/Tearsheet/_tearsheet.scss +34 -2
- package/scss/components/UserAvatar/_user-avatar.scss +47 -4
- package/scss/components/_index-with-carbon.scss +2 -0
- package/scss/components/_index.scss +2 -0
- package/es/components/Datagrid/Datagrid/addons/Slug/ColumnHeaderSlug.d.ts +0 -2
- package/es/node_modules/@carbon/icon-helpers/es/index.js +0 -140
- package/es/node_modules/@carbon/icons-react/es/Icon.js +0 -73
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-0.js +0 -2985
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-3.js +0 -2900
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3004
- package/es/node_modules/@carbon/icons-react/es/iconPropTypes-4cbeb95d.js +0 -14
- package/lib/components/Datagrid/Datagrid/addons/Slug/ColumnHeaderSlug.d.ts +0 -2
- package/lib/node_modules/@carbon/icon-helpers/es/index.js +0 -145
- package/lib/node_modules/@carbon/icons-react/es/Icon.js +0 -81
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-0.js +0 -3117
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-3.js +0 -3032
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3136
- package/lib/node_modules/@carbon/icons-react/es/iconPropTypes-4cbeb95d.js +0 -18
@@ -6,7 +6,7 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties, extends as _extends, defineProperty as _defineProperty, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import React__default, { useEffect, useState } from 'react';
|
9
|
+
import React__default, { useEffect, useState, isValidElement } from 'react';
|
10
10
|
import cx from '../../../node_modules/classnames/index.js';
|
11
11
|
import { TableRow, TableHeader } from '@carbon/react';
|
12
12
|
import { px } from '@carbon/layout';
|
@@ -14,8 +14,9 @@ import { selectionColumnId } from '../common-column-ids.js';
|
|
14
14
|
import { pkg } from '../../../settings.js';
|
15
15
|
import { handleColumnResizeEndEvent, handleColumnResizingEvent } from './addons/stateReducer.js';
|
16
16
|
import { getNodeTextContent } from '../../../global/js/utils/getNodeTextContent.js';
|
17
|
-
import {
|
17
|
+
import { DatagridSlug } from './addons/Slug/DatagridSlug.js';
|
18
18
|
|
19
|
+
var _th;
|
19
20
|
var _excluded = ["role"],
|
20
21
|
_excluded2 = ["className", "role"],
|
21
22
|
_excluded3 = ["role", "className"];
|
@@ -41,7 +42,8 @@ var ResizeHeader = function ResizeHeader(_ref) {
|
|
41
42
|
minWidth = _ref.minWidth,
|
42
43
|
dispatch = _ref.dispatch,
|
43
44
|
onColResizeEnd = _ref.onColResizeEnd,
|
44
|
-
resizerAriaLabel = _ref.resizerAriaLabel
|
45
|
+
resizerAriaLabel = _ref.resizerAriaLabel,
|
46
|
+
isFetching = _ref.isFetching;
|
45
47
|
// eslint-disable-next-line no-unused-vars
|
46
48
|
resizerProps.role;
|
47
49
|
var headerProps = _objectWithoutProperties(resizerProps, _excluded);
|
@@ -79,14 +81,17 @@ var ResizeHeader = function ResizeHeader(_ref) {
|
|
79
81
|
className: "".concat(blockClass, "__col-resizer-range"),
|
80
82
|
type: "range",
|
81
83
|
defaultValue: originalCol.width,
|
82
|
-
"aria-label": resizerAriaLabel || 'Resize column'
|
84
|
+
"aria-label": resizerAriaLabel || 'Resize column',
|
85
|
+
disabled: isFetching
|
83
86
|
})), /*#__PURE__*/React__default.createElement("span", {
|
84
87
|
className: "".concat(blockClass, "__col-resize-indicator")
|
85
88
|
}));
|
86
89
|
};
|
87
90
|
var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
88
91
|
var resizerAriaLabel = datagridState.resizerAriaLabel,
|
89
|
-
isTableSortable = datagridState.isTableSortable
|
92
|
+
isTableSortable = datagridState.isTableSortable,
|
93
|
+
rows = datagridState.rows,
|
94
|
+
isFetching = datagridState.isFetching;
|
90
95
|
// Used to measure the height of the table and uses that value
|
91
96
|
// to display a vertical line to indicate the column you are resizing
|
92
97
|
useEffect(function () {
|
@@ -132,14 +137,21 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
132
137
|
if (isTableSortable) {
|
133
138
|
return;
|
134
139
|
}
|
135
|
-
return /*#__PURE__*/React__default.createElement(
|
140
|
+
return /*#__PURE__*/React__default.createElement(DatagridSlug, {
|
136
141
|
slug: slug
|
137
142
|
});
|
138
143
|
};
|
144
|
+
var foundAIRow = rows.some(function (r) {
|
145
|
+
var _r$original;
|
146
|
+
return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
|
147
|
+
});
|
139
148
|
return /*#__PURE__*/React__default.createElement(TableRow, _extends({}, headerGroupProps, {
|
140
149
|
className: cx("".concat(blockClass, "__head"), headerGroupClassName),
|
141
150
|
ref: headRef
|
142
|
-
}),
|
151
|
+
}), foundAIRow ? _th || (_th = /*#__PURE__*/React__default.createElement("th", {
|
152
|
+
scope: "col",
|
153
|
+
"aria-hidden": "false"
|
154
|
+
})) : null, datagridState.headers.filter(function (_ref3) {
|
143
155
|
var isVisible = _ref3.isVisible;
|
144
156
|
return isVisible;
|
145
157
|
}).map(function (header, index) {
|
@@ -180,7 +192,8 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
180
192
|
minWidth: minWidth,
|
181
193
|
dispatch: dispatch,
|
182
194
|
onColResizeEnd: onColResizeEnd,
|
183
|
-
resizerAriaLabel: resizerAriaLabel
|
195
|
+
resizerAriaLabel: resizerAriaLabel,
|
196
|
+
isFetching: isFetching
|
184
197
|
}));
|
185
198
|
}));
|
186
199
|
};
|
@@ -6,12 +6,13 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { defineProperty as _defineProperty, objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import React__default from 'react';
|
9
|
+
import React__default, { isValidElement } from 'react';
|
10
10
|
import { TableRow, SkeletonText, TableCell } from '@carbon/react';
|
11
11
|
import { px } from '@carbon/layout';
|
12
12
|
import { selectionColumnId } from '../common-column-ids.js';
|
13
13
|
import cx from '../../../node_modules/classnames/index.js';
|
14
14
|
import { pkg, carbon } from '../../../settings.js';
|
15
|
+
import { DatagridSlug } from './addons/Slug/DatagridSlug.js';
|
15
16
|
|
16
17
|
var _SkeletonText;
|
17
18
|
var _excluded = ["role"],
|
@@ -27,7 +28,9 @@ var rowHeights = {
|
|
27
28
|
|
28
29
|
// eslint-disable-next-line react/prop-types
|
29
30
|
var DatagridRow = function DatagridRow(datagridState) {
|
31
|
+
var _row$original, _row$original2;
|
30
32
|
var row = datagridState.row,
|
33
|
+
rows = datagridState.rows,
|
31
34
|
rowSize = datagridState.rowSize,
|
32
35
|
withNestedRows = datagridState.withNestedRows,
|
33
36
|
prepareRow = datagridState.prepareRow,
|
@@ -109,6 +112,10 @@ var DatagridRow = function DatagridRow(datagridState) {
|
|
109
112
|
var _row$getRowProps = row.getRowProps();
|
110
113
|
_row$getRowProps.role;
|
111
114
|
var rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
|
115
|
+
var foundAIRow = rows.some(function (r) {
|
116
|
+
var _r$original;
|
117
|
+
return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
|
118
|
+
});
|
112
119
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
113
120
|
key: key
|
114
121
|
}, /*#__PURE__*/React__default.createElement(TableRow, _extends({
|
@@ -120,7 +127,13 @@ var DatagridRow = function DatagridRow(datagridState) {
|
|
120
127
|
onFocus: hoverHandler,
|
121
128
|
onBlur: focusRemover,
|
122
129
|
onKeyUp: handleOnKeyUp
|
123
|
-
}, setAdditionalRowProps()), row.
|
130
|
+
}, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original = row.original) !== null && _row$original !== void 0 && _row$original.slug ? /*#__PURE__*/React__default.createElement("td", {
|
131
|
+
className: "".concat(blockClass, "__table-row-ai-enabled")
|
132
|
+
}, /*#__PURE__*/React__default.createElement(DatagridSlug, {
|
133
|
+
slug: row === null || row === void 0 || (_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.slug
|
134
|
+
})) : /*#__PURE__*/React__default.createElement("td", {
|
135
|
+
className: "".concat(blockClass, "__table-row-ai-spacer")
|
136
|
+
}) : null, row.cells.map(function (cell, index) {
|
124
137
|
var _cell$column, _content$props;
|
125
138
|
var cellProps = cell.getCellProps();
|
126
139
|
// eslint-disable-next-line no-unused-vars
|
@@ -1,2 +1,11 @@
|
|
1
1
|
export default DatagridToolbar;
|
2
|
-
declare function DatagridToolbar(datagridState
|
2
|
+
declare function DatagridToolbar({ ariaToolbarLabel, ...datagridState }: {
|
3
|
+
[x: string]: any;
|
4
|
+
ariaToolbarLabel: any;
|
5
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
6
|
+
declare namespace DatagridToolbar {
|
7
|
+
namespace propTypes {
|
8
|
+
let ariaToolbarLabel: PropTypes.Requireable<string>;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
import PropTypes from 'prop-types';
|
@@ -5,14 +5,16 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
8
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import React__default, { useRef, useState, useEffect } from 'react';
|
10
|
+
import PropTypes from '../../../node_modules/prop-types/index.js';
|
10
11
|
import { TableToolbar, TableBatchActions, TableBatchAction, MenuButton, MenuItem } from '@carbon/react';
|
11
12
|
import { useResizeObserver } from '../../../global/js/hooks/useResizeObserver.js';
|
12
13
|
import { pkg, carbon } from '../../../settings.js';
|
13
14
|
import cx from '../../../node_modules/classnames/index.js';
|
14
15
|
import { handleSelectAllRowData } from './addons/stateReducer.js';
|
15
16
|
|
17
|
+
var _excluded = ["ariaToolbarLabel"];
|
16
18
|
var blockClass = "".concat(pkg.prefix, "--datagrid__table-toolbar");
|
17
19
|
var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
|
18
20
|
var _useState = useState(false),
|
@@ -107,6 +109,12 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
|
|
107
109
|
}
|
108
110
|
};
|
109
111
|
var onCancelHandler = function onCancelHandler() {
|
112
|
+
handleSelectAllRowData({
|
113
|
+
dispatch: dispatch,
|
114
|
+
rows: [],
|
115
|
+
getRowId: getRowId,
|
116
|
+
isChecked: false
|
117
|
+
});
|
110
118
|
toggleAllRowsSelected(false);
|
111
119
|
setGlobalFilter(null);
|
112
120
|
};
|
@@ -144,7 +152,9 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
|
|
144
152
|
}
|
145
153
|
})), renderBatchActionOverflow());
|
146
154
|
};
|
147
|
-
var DatagridToolbar = function DatagridToolbar(
|
155
|
+
var DatagridToolbar = function DatagridToolbar(_ref2) {
|
156
|
+
var ariaToolbarLabel = _ref2.ariaToolbarLabel,
|
157
|
+
datagridState = _objectWithoutProperties(_ref2, _excluded);
|
148
158
|
var ref = useRef(null);
|
149
159
|
var _useResizeObserver = useResizeObserver(ref),
|
150
160
|
width = _useResizeObserver.width;
|
@@ -156,9 +166,16 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
|
|
156
166
|
return batchActions && DatagridActions ? /*#__PURE__*/React__default.createElement("div", {
|
157
167
|
ref: ref,
|
158
168
|
className: cx([blockClass, "".concat(blockClass, "--").concat(getRowHeight)])
|
159
|
-
}, /*#__PURE__*/React__default.createElement(TableToolbar,
|
169
|
+
}, /*#__PURE__*/React__default.createElement(TableToolbar, {
|
170
|
+
"aria-label": ariaToolbarLabel
|
171
|
+
}, DatagridActions && /*#__PURE__*/React__default.createElement(DatagridActions, datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : DatagridActions ? /*#__PURE__*/React__default.createElement("div", {
|
160
172
|
className: blockClass
|
161
|
-
}, /*#__PURE__*/React__default.createElement(TableToolbar,
|
173
|
+
}, /*#__PURE__*/React__default.createElement(TableToolbar, {
|
174
|
+
"aria-label": ariaToolbarLabel
|
175
|
+
}, DatagridActions && /*#__PURE__*/React__default.createElement(DatagridActions, datagridState), DatagridBatchActions && DatagridBatchActions(datagridState))) : null;
|
176
|
+
};
|
177
|
+
DatagridToolbar.propTypes = {
|
178
|
+
ariaToolbarLabel: PropTypes.string
|
162
179
|
};
|
163
180
|
var DatagridToolbar$1 = DatagridToolbar;
|
164
181
|
|
@@ -6,9 +6,9 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import React__default, { createContext, useState } from 'react';
|
9
|
+
import React__default, { createContext, useState, useReducer } from 'react';
|
10
10
|
import PropTypes from '../../../../../node_modules/prop-types/index.js';
|
11
|
-
import { DROPDOWN, RADIO, NUMBER, DATE, CHECKBOX, CLEAR_SINGLE_FILTER } from './constants.js';
|
11
|
+
import { DROPDOWN, RADIO, NUMBER, DATE, CHECKBOX, SAVED_FILTERS, CLEAR_SINGLE_FILTER } from './constants.js';
|
12
12
|
|
13
13
|
var FilterContext = /*#__PURE__*/createContext();
|
14
14
|
var EventEmitter = {
|
@@ -139,22 +139,45 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters, renderDateLa
|
|
139
139
|
});
|
140
140
|
return tags;
|
141
141
|
};
|
142
|
-
var
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
142
|
+
var filteringReducer = function filteringReducer(state, action) {
|
143
|
+
switch (action.type) {
|
144
|
+
case SAVED_FILTERS:
|
145
|
+
{
|
146
|
+
var _ref3 = action.payload || {},
|
147
|
+
savedFilters = _ref3.savedFilters;
|
148
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
149
|
+
savedFilters: savedFilters
|
150
|
+
});
|
151
|
+
}
|
152
|
+
default:
|
153
|
+
return state;
|
154
|
+
}
|
155
|
+
};
|
156
|
+
var FilterProvider = function FilterProvider(_ref4) {
|
157
|
+
var children = _ref4.children,
|
158
|
+
filters = _ref4.filters,
|
159
|
+
filterProps = _ref4.filterProps;
|
160
|
+
var _ref5 = filterProps || {},
|
161
|
+
renderDateLabel = _ref5.renderDateLabel;
|
148
162
|
var filterTags = prepareFiltersForTags(filters, renderDateLabel);
|
149
163
|
var _useState = useState(false),
|
150
164
|
_useState2 = _slicedToArray(_useState, 2),
|
151
165
|
panelOpen = _useState2[0],
|
152
166
|
setPanelOpen = _useState2[1];
|
167
|
+
var initialState = {
|
168
|
+
savedFilters: []
|
169
|
+
};
|
170
|
+
var _useReducer = useReducer(filteringReducer, initialState),
|
171
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
172
|
+
state = _useReducer2[0],
|
173
|
+
dispatch = _useReducer2[1];
|
153
174
|
var value = {
|
154
175
|
filterTags: filterTags,
|
155
176
|
EventEmitter: EventEmitter,
|
156
177
|
panelOpen: panelOpen,
|
157
|
-
setPanelOpen: setPanelOpen
|
178
|
+
setPanelOpen: setPanelOpen,
|
179
|
+
state: state,
|
180
|
+
dispatch: dispatch
|
158
181
|
};
|
159
182
|
return /*#__PURE__*/React__default.createElement(FilterContext.Provider, {
|
160
183
|
value: value
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* Copyright IBM Corp. 2022,
|
2
|
+
* Copyright IBM Corp. 2022, 2024
|
3
3
|
*
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
@@ -22,3 +22,5 @@ export const CLEAR_SINGLE_FILTER: "clearSingleFilter";
|
|
22
22
|
/** Constants for panel dimensions */
|
23
23
|
export const PANEL_WIDTH: 320;
|
24
24
|
export const ACTION_SET_HEIGHT: 64;
|
25
|
+
/** Constants for local reducer */
|
26
|
+
export const SAVED_FILTERS: "savedFilters";
|
@@ -28,4 +28,7 @@ var CLEAR_SINGLE_FILTER = 'clearSingleFilter';
|
|
28
28
|
var PANEL_WIDTH = 320;
|
29
29
|
var ACTION_SET_HEIGHT = 64;
|
30
30
|
|
31
|
-
|
31
|
+
/** Constants for local reducer */
|
32
|
+
var SAVED_FILTERS = 'savedFilters';
|
33
|
+
|
34
|
+
export { ACTION_SET_HEIGHT, BATCH, CHECKBOX, CLEAR_FILTERS, CLEAR_SINGLE_FILTER, DATE, DROPDOWN, FLYOUT, INSTANT, NUMBER, PANEL, PANEL_WIDTH, RADIO, SAVED_FILTERS };
|
@@ -6,11 +6,12 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { slicedToArray as _slicedToArray, extends as _extends, toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import { DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, INSTANT, PANEL } from '../constants.js';
|
9
|
+
import { DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
|
10
10
|
import { Dropdown, FormGroup, RadioButtonGroup, RadioButton, NumberInput, DatePicker, DatePickerInput, Layer, Checkbox } from '@carbon/react';
|
11
|
-
import React__default, { useState, useRef, useCallback, useEffect } from 'react';
|
11
|
+
import React__default, { useContext, useState, useRef, useCallback, useEffect } from 'react';
|
12
12
|
import OverflowCheckboxes from '../OverflowCheckboxes.js';
|
13
13
|
import { getInitialStateFromFilters } from '../utils.js';
|
14
|
+
import { FilterContext } from '../FilterProvider.js';
|
14
15
|
import { handleCheckboxChange } from '../handleCheckboxChange.js';
|
15
16
|
import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
|
16
17
|
|
@@ -25,6 +26,10 @@ var useFilters = function useFilters(_ref) {
|
|
25
26
|
panelOpen = _ref.panelOpen,
|
26
27
|
autoHideFilters = _ref.autoHideFilters,
|
27
28
|
isFetching = _ref.isFetching;
|
29
|
+
var _useContext = useContext(FilterContext),
|
30
|
+
state = _useContext.state,
|
31
|
+
localDispatch = _useContext.dispatch;
|
32
|
+
var savedFilters = state.savedFilters;
|
28
33
|
/** State */
|
29
34
|
var _useState = useState(getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
|
30
35
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -122,6 +127,16 @@ var useFilters = function useFilters(_ref) {
|
|
122
127
|
filterCopy.splice(index, 1);
|
123
128
|
}
|
124
129
|
setFiltersObjectArray(filterCopy);
|
130
|
+
|
131
|
+
// Dispatch action from local filter context to track filters in order
|
132
|
+
// to keep history if `isFetching` becomes true. If so, react-table
|
133
|
+
// clears all filter history
|
134
|
+
localDispatch({
|
135
|
+
type: SAVED_FILTERS,
|
136
|
+
payload: {
|
137
|
+
savedFilters: filterCopy
|
138
|
+
}
|
139
|
+
});
|
125
140
|
if (updateMethod === INSTANT) {
|
126
141
|
setAllFilters(filterCopy);
|
127
142
|
}
|
@@ -312,10 +327,27 @@ var useFilters = function useFilters(_ref) {
|
|
312
327
|
setAllFilters(JSON.parse(prevFiltersObjectArrayRef.current));
|
313
328
|
setFetchingReset(true);
|
314
329
|
}
|
330
|
+
if (isFetching && fetchingReset) {
|
331
|
+
var cleanFilters = function cleanFilters(originalFilterState) {
|
332
|
+
var copy = _objectSpread2({}, originalFilterState);
|
333
|
+
var updatedFilters = savedFilters.map(function (f) {
|
334
|
+
if (Object.hasOwn(copy, f.id)) {
|
335
|
+
copy[f.id] = f;
|
336
|
+
return copy;
|
337
|
+
}
|
338
|
+
return copy;
|
339
|
+
});
|
340
|
+
return updatedFilters[0];
|
341
|
+
};
|
342
|
+
setFiltersObjectArray(savedFilters);
|
343
|
+
var filterStateCopy = cleanFilters(filtersState);
|
344
|
+
setFiltersState(filterStateCopy);
|
345
|
+
}
|
315
346
|
if (!isFetching) {
|
316
347
|
setFetchingReset(false);
|
317
348
|
}
|
318
|
-
|
349
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
350
|
+
}, [isFetching, reactTableFiltersState, setAllFilters, fetchingReset, savedFilters, filtersObjectArray]);
|
319
351
|
var cancel = function cancel() {
|
320
352
|
// Reverting to previous filters only applies when using batch actions
|
321
353
|
if (updateMethod === BATCH) {
|
@@ -8,7 +8,7 @@
|
|
8
8
|
import React__default, { forwardRef, isValidElement } from 'react';
|
9
9
|
import PropTypes from '../../../../../node_modules/prop-types/index.js';
|
10
10
|
|
11
|
-
var
|
11
|
+
var DatagridSlug = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
12
12
|
var slug = _ref.slug;
|
13
13
|
if (slug && /*#__PURE__*/isValidElement(slug)) {
|
14
14
|
var normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
|
@@ -17,13 +17,13 @@ var ColumnHeaderSlug = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
17
17
|
});
|
18
18
|
return normalizedSlug;
|
19
19
|
}
|
20
|
-
return;
|
20
|
+
return null;
|
21
21
|
});
|
22
|
-
|
22
|
+
DatagridSlug.propTypes = {
|
23
23
|
/**
|
24
24
|
* Specify the AI slug to be displayed
|
25
25
|
*/
|
26
26
|
slug: PropTypes.node
|
27
27
|
};
|
28
28
|
|
29
|
-
export {
|
29
|
+
export { DatagridSlug };
|
@@ -89,7 +89,7 @@ var stateReducer = function stateReducer(newState, action) {
|
|
89
89
|
if (rows) {
|
90
90
|
var newSelectedRowData = {};
|
91
91
|
rows.forEach(function (row) {
|
92
|
-
newSelectedRowData[getRowId(row, row.index)] = row;
|
92
|
+
newSelectedRowData[getRowId(row.original, row.index)] = row.original;
|
93
93
|
});
|
94
94
|
return _objectSpread2(_objectSpread2({}, newState), {}, {
|
95
95
|
selectedRowData: indeterminate || !isChecked ? {} : newSelectedRowData
|
@@ -108,7 +108,7 @@ var stateReducer = function stateReducer(newState, action) {
|
|
108
108
|
}
|
109
109
|
if (_isChecked) {
|
110
110
|
return _objectSpread2(_objectSpread2({}, newState), {}, {
|
111
|
-
selectedRowData: _objectSpread2(_objectSpread2({}, newState.selectedRowData), {}, _defineProperty({}, _getRowId(rowData, rowData.index), rowData))
|
111
|
+
selectedRowData: _objectSpread2(_objectSpread2({}, newState.selectedRowData), {}, _defineProperty({}, _getRowId(rowData.original, rowData.index), rowData.original))
|
112
112
|
});
|
113
113
|
}
|
114
114
|
if (rowData && !_isChecked) {
|
@@ -116,7 +116,7 @@ var stateReducer = function stateReducer(newState, action) {
|
|
116
116
|
var dataWithRemovedRow = Object.fromEntries(Object.entries(newData).filter(function (_ref5) {
|
117
117
|
var _ref6 = _slicedToArray(_ref5, 1),
|
118
118
|
key = _ref6[0];
|
119
|
-
return parseInt(key) !== parseInt(rowData.index);
|
119
|
+
return parseInt(key) !== parseInt(_getRowId(rowData.original, rowData.index));
|
120
120
|
}));
|
121
121
|
return _objectSpread2(_objectSpread2({}, newState), {}, {
|
122
122
|
selectedRowData: dataWithRemovedRow
|
@@ -6,11 +6,12 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import React__default, { useState
|
9
|
+
import React__default, { useState } from 'react';
|
10
10
|
import cx from '../../node_modules/classnames/index.js';
|
11
11
|
import { selectionColumnId } from './common-column-ids.js';
|
12
12
|
import SelectAllWithToggle from './Datagrid/DatagridSelectAllWithToggle.js';
|
13
13
|
import { pkg } from '../../settings.js';
|
14
|
+
import { useIsomorphicEffect } from '../../global/js/hooks/useIsomorphicEffect.js';
|
14
15
|
|
15
16
|
var blockClass = "".concat(pkg.prefix, "--datagrid__select-all");
|
16
17
|
var useSelectAllToggle = function useSelectAllToggle(hooks) {
|
@@ -36,11 +37,12 @@ var useSelectAllWithToggleComponent = function useSelectAllWithToggleComponent(h
|
|
36
37
|
hooks.useInstance.push(useInstance);
|
37
38
|
};
|
38
39
|
var useAddClassNameToSelectRow = function useAddClassNameToSelectRow(hooks) {
|
39
|
-
var _useState = useState(
|
40
|
+
var _useState = useState(0),
|
40
41
|
_useState2 = _slicedToArray(_useState, 2),
|
41
42
|
windowSize = _useState2[0],
|
42
43
|
setWindowSize = _useState2[1];
|
43
|
-
|
44
|
+
useIsomorphicEffect(function () {
|
45
|
+
setWindowSize(window.innerWidth);
|
44
46
|
function updateSize() {
|
45
47
|
setWindowSize(window.innerWidth);
|
46
48
|
}
|
@@ -12,7 +12,7 @@ import { pkg, carbon } from '../../settings.js';
|
|
12
12
|
import { Button } from '@carbon/react';
|
13
13
|
import { ArrowsVertical, ArrowDown, ArrowUp } from '@carbon/react/icons';
|
14
14
|
import { SelectAll } from './Datagrid/DatagridSelectAll.js';
|
15
|
-
import {
|
15
|
+
import { DatagridSlug } from './Datagrid/addons/Slug/DatagridSlug.js';
|
16
16
|
|
17
17
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
18
18
|
var ordering = {
|
@@ -107,7 +107,7 @@ var useSortableColumns = function useSortableColumns(hooks) {
|
|
107
107
|
kind: "ghost",
|
108
108
|
renderIcon: function renderIcon(props) {
|
109
109
|
var _headerProp$column;
|
110
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(
|
110
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DatagridSlug, {
|
111
111
|
slug: headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.slug
|
112
112
|
}), icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, props));
|
113
113
|
},
|
@@ -112,7 +112,7 @@ export namespace EmptyStateContent {
|
|
112
112
|
"aria-posinset"?: React.Validator<number | null | undefined> | undefined;
|
113
113
|
"aria-pressed"?: React.Validator<boolean | "true" | "false" | "mixed" | null | undefined> | undefined;
|
114
114
|
"aria-readonly"?: React.Validator<(boolean | "true" | "false") | null | undefined> | undefined;
|
115
|
-
"aria-relevant"?: React.Validator<"text" | "additions" | "additions removals" | "additions text" | "
|
115
|
+
"aria-relevant"?: React.Validator<"all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | null | undefined> | undefined;
|
116
116
|
"aria-required"?: React.Validator<(boolean | "true" | "false") | null | undefined> | undefined;
|
117
117
|
"aria-roledescription"?: React.Validator<string | null | undefined> | undefined;
|
118
118
|
"aria-rowcount"?: React.Validator<number | null | undefined> | undefined;
|
@@ -13,9 +13,10 @@ import { Grid, Column } from '@carbon/react';
|
|
13
13
|
import { ErrorGenericSVG } from './assets/ErrorGenericSVG.js';
|
14
14
|
import { getDevtoolsProps } from '../../global/js/utils/devtools.js';
|
15
15
|
import { pkg } from '../../settings.js';
|
16
|
+
import { Error404SVG } from './assets/Error404SVG.js';
|
17
|
+
import { Error403SVG } from './assets/Error403SVG.js';
|
16
18
|
|
17
|
-
var
|
18
|
-
var _excluded = ["children", "className", "description", "errorLabel", "title"];
|
19
|
+
var _excluded = ["children", "className", "description", "errorLabel", "kind", "title"];
|
19
20
|
|
20
21
|
// Carbon and package components we use.
|
21
22
|
/* TODO: @import(s) of carbon components and other package components. */
|
@@ -36,9 +37,9 @@ var componentName = 'FullPageError';
|
|
36
37
|
// or assumption when a prop is not supplied.
|
37
38
|
|
38
39
|
// Default values for props
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
var defaults = {
|
41
|
+
kind: 'custom'
|
42
|
+
};
|
42
43
|
|
43
44
|
/**
|
44
45
|
* TODO: A description of the component.
|
@@ -48,8 +49,33 @@ var FullPageError = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
|
|
48
49
|
className = _ref.className,
|
49
50
|
description = _ref.description,
|
50
51
|
errorLabel = _ref.errorLabel,
|
52
|
+
_ref$kind = _ref.kind,
|
53
|
+
kind = _ref$kind === void 0 ? defaults.kind : _ref$kind,
|
51
54
|
title = _ref.title,
|
52
55
|
rest = _objectWithoutProperties(_ref, _excluded);
|
56
|
+
var errorData = {
|
57
|
+
403: {
|
58
|
+
title: 'Access denied',
|
59
|
+
description: 'You are not authorized to access the requested page. Please verify that you are logged in to the hosting environment and your access permissions are correct.',
|
60
|
+
svg: /*#__PURE__*/React__default.createElement(Error403SVG, {
|
61
|
+
className: cx("".concat(blockClass, "__error-svg"), "".concat(blockClass, "__error-403"))
|
62
|
+
})
|
63
|
+
},
|
64
|
+
404: {
|
65
|
+
title: 'Page not found',
|
66
|
+
description: 'The page you requested has moved or is unavailable, or the specified URL is not valid. Please check the URL or search the site for the requested content.',
|
67
|
+
svg: /*#__PURE__*/React__default.createElement(Error404SVG, {
|
68
|
+
className: cx("".concat(blockClass, "__error-svg"), "".concat(blockClass, "__error-404"))
|
69
|
+
})
|
70
|
+
},
|
71
|
+
custom: {
|
72
|
+
title: title,
|
73
|
+
description: description,
|
74
|
+
svg: /*#__PURE__*/React__default.createElement(ErrorGenericSVG, {
|
75
|
+
className: cx("".concat(blockClass, "__error-svg"), "".concat(blockClass, "__error-custom"))
|
76
|
+
})
|
77
|
+
}
|
78
|
+
};
|
53
79
|
return /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
|
54
80
|
className: cx(blockClass,
|
55
81
|
// Apply the block class to the main HTML element
|
@@ -75,20 +101,15 @@ var FullPageError = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
|
|
75
101
|
className: "".concat(blockClass, "__error-title")
|
76
102
|
}, /*#__PURE__*/React__default.createElement("span", {
|
77
103
|
className: "".concat(blockClass, "__error-label")
|
78
|
-
}, "\u21B3 ",
|
104
|
+
}, "\u21B3 ", kind === 'custom' ? errorLabel : "Error ".concat(kind)), /*#__PURE__*/React__default.createElement("span", null, errorData[kind].title)), /*#__PURE__*/React__default.createElement("p", {
|
79
105
|
className: "".concat(blockClass, "__description")
|
80
|
-
}, description), children), /*#__PURE__*/React__default.createElement(Column, {
|
106
|
+
}, description || errorData[kind].description), children), /*#__PURE__*/React__default.createElement(Column, {
|
81
107
|
sm: 4,
|
82
108
|
md: 5,
|
83
109
|
lg: 10
|
84
110
|
}, /*#__PURE__*/React__default.createElement("div", {
|
85
|
-
|
86
|
-
|
87
|
-
height: '100%'
|
88
|
-
}
|
89
|
-
}, /*#__PURE__*/React__default.createElement(ErrorGenericSVG, {
|
90
|
-
className: "".concat(blockClass, "__error-svg")
|
91
|
-
}))))));
|
111
|
+
className: "".concat(blockClass, "__error-svg-container")
|
112
|
+
}, errorData[kind].svg)))));
|
92
113
|
});
|
93
114
|
|
94
115
|
// Return a placeholder if not released and not enabled by feature flag
|
@@ -111,13 +132,18 @@ FullPageError.propTypes = {
|
|
111
132
|
*/
|
112
133
|
className: PropTypes.string,
|
113
134
|
/**
|
114
|
-
* String that will provide the description for the error code
|
135
|
+
* String that will provide the description for the error code. <br/>
|
136
|
+
* This is optional for 403 and 404 kinds, and passing this would override their default descriptions.
|
115
137
|
*/
|
116
138
|
description: PropTypes.string.isRequired,
|
117
139
|
/**
|
118
140
|
* String that will describe the error that occurred
|
119
141
|
*/
|
120
142
|
errorLabel: PropTypes.string.isRequired,
|
143
|
+
/**
|
144
|
+
* The kind of error page to be displayed, default is custom
|
145
|
+
*/
|
146
|
+
kind: PropTypes.oneOf(['custom', '403', '404']),
|
121
147
|
/**
|
122
148
|
* This will be for the main title of the FullPageError component
|
123
149
|
*/
|