@carbon/ibm-products 2.6.0 → 2.7.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/css/index-full-carbon.css +6291 -5856
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -3
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +21 -21
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +1259 -193
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -3
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +3674 -3623
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -3
- package/css/index.min.css.map +1 -1
- package/es/components/CreateTearsheet/CreateTearsheet.js +30 -14
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
- package/es/components/Datagrid/Datagrid/Datagrid.js +12 -7
- package/es/components/Datagrid/Datagrid/DatagridContent.js +18 -14
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -4
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +2 -5
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +11 -17
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +0 -1
- package/es/components/Datagrid/useDefaultStringRenderer.js +2 -1
- package/es/components/Datagrid/useSortableColumns.js +13 -5
- package/es/components/Datagrid/utils/getColTitle.js +25 -0
- package/es/components/NotificationsPanel/NotificationsPanel.js +5 -5
- package/es/components/OptionsTile/OptionsTile.js +2 -4
- package/es/global/js/hooks/useCreateComponentStepChange.js +98 -49
- package/es/global/js/hooks/useResizeObserver.js +15 -1
- package/es/global/js/hooks/useRetrieveStepData.js +1 -1
- package/es/global/js/utils/StoryDocsPage.js +0 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.js +30 -14
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -7
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +17 -13
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -4
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +2 -5
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +11 -17
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +0 -1
- package/lib/components/Datagrid/useDefaultStringRenderer.js +2 -1
- package/lib/components/Datagrid/useSortableColumns.js +13 -5
- package/lib/components/Datagrid/utils/getColTitle.js +32 -0
- package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -5
- package/lib/components/OptionsTile/OptionsTile.js +2 -4
- package/lib/global/js/hooks/useCreateComponentStepChange.js +98 -49
- package/lib/global/js/hooks/useResizeObserver.js +15 -1
- package/lib/global/js/hooks/useRetrieveStepData.js +1 -1
- package/lib/global/js/utils/StoryDocsPage.js +0 -1
- package/package.json +9 -9
- package/scss/components/Datagrid/styles/_useColumnCenterAlign.scss +9 -9
@@ -1,6 +1,6 @@
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
2
2
|
/**
|
3
|
-
* Copyright IBM Corp. 2022,
|
3
|
+
* Copyright IBM Corp. 2022, 2023
|
4
4
|
*
|
5
5
|
* This source code is licensed under the Apache-2.0 license found in the
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
@@ -83,7 +83,6 @@ export var StoryDocsPage = function StoryDocsPage(_ref2) {
|
|
83
83
|
var isFullScreen = (csfFile === null || csfFile === void 0 || (_csfFile$meta = csfFile.meta) === null || _csfFile$meta === void 0 || (_csfFile$meta = _csfFile$meta.parameters) === null || _csfFile$meta === void 0 ? void 0 : _csfFile$meta.layout) === 'fullscreen' || false;
|
84
84
|
var storyHelperClass = isFullScreen ? 'c4p--story-docs-page--fullscreen' : '';
|
85
85
|
var processedBlocks = processBlocks(blocks, csfFile.stories, omitUnreferencedStories);
|
86
|
-
console.log(processBlocks);
|
87
86
|
var storyCount = (_processedBlocks$filt = processedBlocks === null || processedBlocks === void 0 ? void 0 : processedBlocks.filter(function (block) {
|
88
87
|
return !!block.story;
|
89
88
|
}).length) !== null && _processedBlocks$filt !== void 0 ? _processedBlocks$filt : 0;
|
@@ -89,26 +89,34 @@ var CreateTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
89
89
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
90
90
|
isDisabled = _useState10[0],
|
91
91
|
setIsDisabled = _useState10[1];
|
92
|
-
var _useState11 = (0, _react.useState)(),
|
92
|
+
var _useState11 = (0, _react.useState)(false),
|
93
93
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
94
|
-
|
95
|
-
|
94
|
+
loadingPrevious = _useState12[0],
|
95
|
+
setLoadingPrevious = _useState12[1];
|
96
96
|
var _useState13 = (0, _react.useState)(),
|
97
97
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
98
|
-
|
99
|
-
|
100
|
-
var _useState15 = (0, _react.useState)(
|
98
|
+
onPrevious = _useState14[0],
|
99
|
+
_setOnPrevious = _useState14[1];
|
100
|
+
var _useState15 = (0, _react.useState)(),
|
101
101
|
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
102
|
-
|
103
|
-
|
104
|
-
var _useState17 = (0, _react.useState)(
|
102
|
+
onNext = _useState16[0],
|
103
|
+
_setOnNext = _useState16[1];
|
104
|
+
var _useState17 = (0, _react.useState)(),
|
105
105
|
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
106
|
-
|
107
|
-
|
108
|
-
var _useState19 = (0, _react.useState)(
|
106
|
+
onMount = _useState18[0],
|
107
|
+
_setOnMount = _useState18[1];
|
108
|
+
var _useState19 = (0, _react.useState)([]),
|
109
109
|
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
110
|
-
|
111
|
-
|
110
|
+
stepData = _useState20[0],
|
111
|
+
setStepData = _useState20[1];
|
112
|
+
var _useState21 = (0, _react.useState)(1),
|
113
|
+
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
114
|
+
firstIncludedStep = _useState22[0],
|
115
|
+
setFirstIncludedStep = _useState22[1];
|
116
|
+
var _useState23 = (0, _react.useState)(null),
|
117
|
+
_useState24 = (0, _slicedToArray2.default)(_useState23, 2),
|
118
|
+
lastIncludedStep = _useState24[0],
|
119
|
+
setLastIncludedStep = _useState24[1];
|
112
120
|
var previousState = (0, _hooks.usePreviousValue)({
|
113
121
|
currentStep: currentStep,
|
114
122
|
open: open
|
@@ -152,11 +160,14 @@ var CreateTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
152
160
|
firstIncludedStep: firstIncludedStep,
|
153
161
|
lastIncludedStep: lastIncludedStep,
|
154
162
|
stepData: stepData,
|
163
|
+
onPrevious: onPrevious,
|
155
164
|
onNext: onNext,
|
156
165
|
isSubmitDisabled: isDisabled,
|
157
166
|
setCurrentStep: setCurrentStep,
|
158
167
|
setIsSubmitting: setIsSubmitting,
|
159
168
|
setShouldViewAll: setShouldViewAll,
|
169
|
+
setLoadingPrevious: setLoadingPrevious,
|
170
|
+
loadingPrevious: loadingPrevious,
|
160
171
|
onClose: onClose,
|
161
172
|
onRequestSubmit: onRequestSubmit,
|
162
173
|
componentName: componentName,
|
@@ -213,6 +224,11 @@ var CreateTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
213
224
|
value: {
|
214
225
|
currentStep: currentStep,
|
215
226
|
setIsDisabled: setIsDisabled,
|
227
|
+
setOnPrevious: function setOnPrevious(fn) {
|
228
|
+
return _setOnPrevious(function () {
|
229
|
+
return fn;
|
230
|
+
});
|
231
|
+
},
|
216
232
|
setOnNext: function setOnNext(fn) {
|
217
233
|
return _setOnNext(function () {
|
218
234
|
return fn;
|
@@ -18,7 +18,7 @@ var _CreateTearsheet = require("./CreateTearsheet");
|
|
18
18
|
var _settings = require("../../settings");
|
19
19
|
var _pconsole = _interopRequireDefault(require("../../global/js/utils/pconsole"));
|
20
20
|
var _hooks = require("../../global/js/hooks");
|
21
|
-
var _excluded = ["children", "className", "description", "disableSubmit", "fieldsetLegendText", "hasFieldset", "includeStep", "introStep", "onNext", "
|
21
|
+
var _excluded = ["children", "className", "description", "disableSubmit", "fieldsetLegendText", "hasFieldset", "includeStep", "introStep", "onMount", "onNext", "onPrevious", "secondaryLabel", "subtitle", "title"];
|
22
22
|
/**
|
23
23
|
* Copyright IBM Corp. 2021, 2023
|
24
24
|
*
|
@@ -47,8 +47,9 @@ var CreateTearsheetStep = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
|
|
47
47
|
_ref$includeStep = _ref.includeStep,
|
48
48
|
includeStep = _ref$includeStep === void 0 ? defaults.includeStep : _ref$includeStep,
|
49
49
|
introStep = _ref.introStep,
|
50
|
-
onNext = _ref.onNext,
|
51
50
|
onMount = _ref.onMount,
|
51
|
+
onNext = _ref.onNext,
|
52
|
+
onPrevious = _ref.onPrevious,
|
52
53
|
secondaryLabel = _ref.secondaryLabel,
|
53
54
|
subtitle = _ref.subtitle,
|
54
55
|
title = _ref.title,
|
@@ -90,8 +91,9 @@ var CreateTearsheetStep = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
|
|
90
91
|
if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
|
91
92
|
stepsContext.setIsDisabled(disableSubmit);
|
92
93
|
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext); // needs to be updated here otherwise there could be stale state values from only initially setting onNext
|
94
|
+
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnPrevious(onPrevious);
|
93
95
|
}
|
94
|
-
}, [stepsContext, stepNumber, disableSubmit, onNext]);
|
96
|
+
}, [stepsContext, stepNumber, disableSubmit, onNext, onPrevious]);
|
95
97
|
var renderDescription = function renderDescription() {
|
96
98
|
if (description) {
|
97
99
|
if (typeof description === 'string') {
|
@@ -177,11 +179,15 @@ CreateTearsheetStep.propTypes = {
|
|
177
179
|
*/
|
178
180
|
onMount: _propTypes.default.func,
|
179
181
|
/**
|
180
|
-
* Optional function to be called
|
182
|
+
* Optional function to be called when you move to the next step.
|
181
183
|
* For example, this can be used to validate input fields before proceeding to the next step.
|
182
184
|
* This function can _optionally_ return a promise that is either resolved or rejected and the CreateTearsheet will handle the submitting state of the next button.
|
183
185
|
*/
|
184
186
|
onNext: _propTypes.default.func,
|
187
|
+
/**
|
188
|
+
* Optional function to be called when you move to the previous step.
|
189
|
+
*/
|
190
|
+
onPrevious: _propTypes.default.func,
|
185
191
|
/**
|
186
192
|
* Sets the optional secondary label on the progress step component
|
187
193
|
*/
|
@@ -223,6 +223,9 @@ var MultiStepTearsheet = function MultiStepTearsheet(_ref2) {
|
|
223
223
|
},
|
224
224
|
checked: shouldIncludeAdditionalStep
|
225
225
|
})))), /*#__PURE__*/_react.default.createElement(_CreateTearsheetStep.CreateTearsheetStep, {
|
226
|
+
onPrevious: function onPrevious() {
|
227
|
+
console.log('custom onPrevious handler');
|
228
|
+
},
|
226
229
|
title: "Dynamic step",
|
227
230
|
subtitle: "Dynamic step subtitle",
|
228
231
|
description: "This is an example showing how to include a dynamic step into the CreateTearsheet",
|
@@ -16,7 +16,7 @@ var _pconsole = _interopRequireDefault(require("../../../global/js/utils/pconsol
|
|
16
16
|
var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
|
17
17
|
var _DatagridContent = require("./DatagridContent");
|
18
18
|
var _FilterProvider = require("./addons/Filtering/FilterProvider");
|
19
|
-
var _excluded = ["datagridState"];
|
19
|
+
var _excluded = ["datagridState", "title"];
|
20
20
|
/**
|
21
21
|
* Copyright IBM Corp. 2020, 2023
|
22
22
|
*
|
@@ -31,6 +31,7 @@ var componentName = 'Datagrid';
|
|
31
31
|
*/
|
32
32
|
var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
33
33
|
var datagridState = _ref.datagridState,
|
34
|
+
title = _ref.title,
|
34
35
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
35
36
|
if (!datagridState) {
|
36
37
|
_pconsole.default.warn('Datagrid was not passed datagridState which is required to render this component.');
|
@@ -44,6 +45,10 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
44
45
|
className = datagridState.className,
|
45
46
|
filters = datagridState.state.filters;
|
46
47
|
var rows = DatagridPagination && datagridState.page || datagridState.rows;
|
48
|
+
var props = {
|
49
|
+
title: title,
|
50
|
+
datagridState: datagridState
|
51
|
+
};
|
47
52
|
return /*#__PURE__*/_react.default.createElement(_FilterProvider.FilterProvider, {
|
48
53
|
filters: filters
|
49
54
|
}, /*#__PURE__*/_react.default.createElement(_InlineEditContext.InlineEditProvider, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
@@ -52,11 +57,7 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
52
57
|
className: (0, _classnames.default)(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
|
53
58
|
}, (0, _devtools.getDevtoolsProps)(componentName)), (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' ? /*#__PURE__*/_react.default.createElement("div", {
|
54
59
|
className: "".concat(blockClass, "__datagridWithPanel ").concat(blockClass, "__displayFlex")
|
55
|
-
}, /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent,
|
56
|
-
datagridState: datagridState
|
57
|
-
})) : /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, {
|
58
|
-
datagridState: datagridState
|
59
|
-
}))));
|
60
|
+
}, /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, props)) : /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, props))));
|
60
61
|
});
|
61
62
|
|
62
63
|
// Return a placeholder if not released and not enabled by feature flag
|
@@ -70,5 +71,9 @@ Datagrid.propTypes = {
|
|
70
71
|
/**
|
71
72
|
* The data grid state, much of it being supplied by the useDatagrid hook
|
72
73
|
*/
|
73
|
-
datagridState: _propTypes.default.object.isRequired
|
74
|
+
datagridState: _propTypes.default.object.isRequired,
|
75
|
+
/**
|
76
|
+
* Table title
|
77
|
+
*/
|
78
|
+
title: _propTypes.default.string
|
74
79
|
};
|
@@ -8,23 +8,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
exports.DatagridContent = void 0;
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
var _Filtering = require("./addons/Filtering");
|
11
12
|
var _react = _interopRequireWildcard(require("react"));
|
12
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
13
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
14
13
|
var _react2 = require("@carbon/react");
|
15
|
-
var
|
16
|
-
var
|
14
|
+
var _settings = require("../../../settings");
|
15
|
+
var _constants = require("./addons/Filtering/constants");
|
17
16
|
var _DatagridBody = _interopRequireDefault(require("./DatagridBody"));
|
17
|
+
var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
|
18
18
|
var _DatagridToolbar = _interopRequireDefault(require("./DatagridToolbar"));
|
19
|
-
var
|
20
|
-
var _settings = require("../../../settings");
|
19
|
+
var _FilterSummary = require("../../FilterSummary");
|
21
20
|
var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
|
22
|
-
var
|
21
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
22
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
23
23
|
var _handleGridFocus = require("./addons/InlineEdit/handleGridFocus");
|
24
|
+
var _handleGridKeyPress = require("./addons/InlineEdit/handleGridKeyPress");
|
25
|
+
var _layout = require("@carbon/layout");
|
24
26
|
var _hooks = require("../../../global/js/hooks");
|
25
27
|
var _hooks2 = require("../../DataSpreadsheet/hooks");
|
26
|
-
var _FilterSummary = require("../../FilterSummary");
|
27
|
-
var _constants = require("./addons/Filtering/constants");
|
28
28
|
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); }
|
29
29
|
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; }
|
30
30
|
/**
|
@@ -37,7 +37,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
37
37
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
38
38
|
var DatagridContent = function DatagridContent(_ref) {
|
39
39
|
var _cx4;
|
40
|
-
var datagridState = _ref.datagridState
|
40
|
+
var datagridState = _ref.datagridState,
|
41
|
+
title = _ref.title;
|
41
42
|
var _useContext = (0, _react.useContext)(_InlineEditContext.InlineEditContext),
|
42
43
|
inlineEditState = _useContext.state,
|
43
44
|
dispatch = _useContext.dispatch;
|
@@ -105,7 +106,8 @@ var DatagridContent = function DatagridContent(_ref) {
|
|
105
106
|
} : null,
|
106
107
|
onFocus: withInlineEdit ? function () {
|
107
108
|
return (0, _handleGridFocus.handleGridFocus)(inlineEditState, dispatch);
|
108
|
-
} : null
|
109
|
+
} : null,
|
110
|
+
title: title
|
109
111
|
}), !withVirtualScroll ? /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState) : null, /*#__PURE__*/_react.default.createElement(_DatagridBody.default, (0, _extends2.default)({}, datagridState, {
|
110
112
|
rows: rows
|
111
113
|
})));
|
@@ -136,7 +138,8 @@ var DatagridContent = function DatagridContent(_ref) {
|
|
136
138
|
filters: filterTags,
|
137
139
|
clearFilters: function clearFilters() {
|
138
140
|
return EventEmitter.dispatch(_constants.CLEAR_FILTERS);
|
139
|
-
}
|
141
|
+
},
|
142
|
+
renderLabel: filterProps.renderLabel
|
140
143
|
});
|
141
144
|
};
|
142
145
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableContainer, {
|
@@ -188,5 +191,6 @@ DatagridContent.propTypes = {
|
|
188
191
|
setAllFilters: _propTypes.default.func,
|
189
192
|
getFilterProps: _propTypes.default.func,
|
190
193
|
state: _propTypes.default.object
|
191
|
-
})
|
194
|
+
}),
|
195
|
+
title: _propTypes.default.string
|
192
196
|
};
|
@@ -12,6 +12,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _react2 = require("@carbon/react");
|
13
13
|
var _commonColumnIds = require("../common-column-ids");
|
14
14
|
var _settings = require("../../../settings");
|
15
|
+
var _getColTitle = _interopRequireDefault(require("../utils/getColTitle"));
|
15
16
|
/**
|
16
17
|
* Copyright IBM Corp. 2020, 2022
|
17
18
|
*
|
@@ -22,6 +23,16 @@ var _settings = require("../../../settings");
|
|
22
23
|
// @flow
|
23
24
|
|
24
25
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
26
|
+
var getAccessibilityProps = function getAccessibilityProps(header) {
|
27
|
+
var props = {};
|
28
|
+
var title = (0, _getColTitle.default)(header);
|
29
|
+
if (title) {
|
30
|
+
props.title = title;
|
31
|
+
} else {
|
32
|
+
props['aria-hidden'] = true;
|
33
|
+
}
|
34
|
+
return props;
|
35
|
+
};
|
25
36
|
var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
26
37
|
return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
|
27
38
|
role: false
|
@@ -44,7 +55,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
44
55
|
}), {
|
45
56
|
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
|
46
57
|
key: header.id
|
47
|
-
}), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
|
58
|
+
}, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
|
48
59
|
className: "".concat(blockClass, "__resizer")
|
49
60
|
})));
|
50
61
|
}));
|
@@ -42,8 +42,7 @@ var Columns = function Columns(_ref) {
|
|
42
42
|
onSelectColumn = _ref.onSelectColumn,
|
43
43
|
assistiveTextInstructionsLabel = _ref.assistiveTextInstructionsLabel,
|
44
44
|
assistiveTextDisabledInstructionsLabel = _ref.assistiveTextDisabledInstructionsLabel,
|
45
|
-
selectAllLabel = _ref.selectAllLabel
|
46
|
-
isTableSortable = _ref.isTableSortable;
|
45
|
+
selectAllLabel = _ref.selectAllLabel;
|
47
46
|
var _React$useState = _react.default.useState(''),
|
48
47
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
49
48
|
ariaRegionText = _React$useState2[0],
|
@@ -99,7 +98,6 @@ var Columns = function Columns(_ref) {
|
|
99
98
|
filterString: filterString,
|
100
99
|
focusIndex: focusIndex,
|
101
100
|
getNextIndex: getNextIndex,
|
102
|
-
isTableSortable: isTableSortable,
|
103
101
|
moveElement: moveElement,
|
104
102
|
onSelectColumn: onSelectColumn,
|
105
103
|
setAriaRegionText: setAriaRegionText,
|
@@ -115,7 +113,6 @@ Columns.propTypes = {
|
|
115
113
|
filterString: _propTypes.default.string.isRequired,
|
116
114
|
getVisibleColumnsCount: _propTypes.default.func.isRequired,
|
117
115
|
instructionsLabel: _propTypes.default.string,
|
118
|
-
isTableSortable: _propTypes.default.bool.isRequired,
|
119
116
|
onSelectColumn: _propTypes.default.func.isRequired,
|
120
117
|
selectAllLabel: _propTypes.default.string,
|
121
118
|
setColumnStatus: _propTypes.default.func,
|
package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js
CHANGED
@@ -48,8 +48,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
48
48
|
_ref$assistiveTextDis = _ref.assistiveTextDisabledInstructionsLabel,
|
49
49
|
assistiveTextDisabledInstructionsLabel = _ref$assistiveTextDis === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$assistiveTextDis,
|
50
50
|
_ref$selectAllLabel = _ref.selectAllLabel,
|
51
|
-
selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel
|
52
|
-
isTableSortable = _ref.isTableSortable;
|
51
|
+
selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel;
|
53
52
|
var _useState = (0, _react.useState)(''),
|
54
53
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
55
54
|
visibleColumnsCount = _useState2[0],
|
@@ -159,8 +158,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
159
158
|
setColumnObjects(cols);
|
160
159
|
setDirty();
|
161
160
|
},
|
162
|
-
selectAllLabel: selectAllLabel
|
163
|
-
isTableSortable: isTableSortable
|
161
|
+
selectAllLabel: selectAllLabel
|
164
162
|
}));
|
165
163
|
};
|
166
164
|
CustomizeColumnsTearsheet.propTypes = {
|
@@ -171,7 +169,6 @@ CustomizeColumnsTearsheet.propTypes = {
|
|
171
169
|
findColumnPlaceholderLabel: _propTypes.default.string,
|
172
170
|
instructionsLabel: _propTypes.default.string,
|
173
171
|
isOpen: _propTypes.default.bool.isRequired,
|
174
|
-
isTableSortable: _propTypes.default.bool.isRequired,
|
175
172
|
onSaveColumnPrefs: _propTypes.default.func.isRequired,
|
176
173
|
originalColumnDefinitions: _propTypes.default.array.isRequired,
|
177
174
|
primaryButtonTextLabel: _propTypes.default.string,
|
@@ -11,6 +11,7 @@ var _react2 = require("@carbon/react");
|
|
11
11
|
var _common = require("./common");
|
12
12
|
var _DraggableElement = _interopRequireDefault(require("../../DraggableElement"));
|
13
13
|
var _settings = require("../../../../../settings");
|
14
|
+
var _getColTitle2 = _interopRequireDefault(require("../../../utils/getColTitle"));
|
14
15
|
/**
|
15
16
|
* Copyright IBM Corp. 2023, 2023
|
16
17
|
*
|
@@ -24,7 +25,6 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
24
25
|
filterString = _ref.filterString,
|
25
26
|
focusIndex = _ref.focusIndex,
|
26
27
|
getNextIndex = _ref.getNextIndex,
|
27
|
-
isTableSortable = _ref.isTableSortable,
|
28
28
|
moveElement = _ref.moveElement,
|
29
29
|
onSelectColumn = _ref.onSelectColumn,
|
30
30
|
setAriaRegionText = _ref.setAriaRegionText,
|
@@ -33,23 +33,18 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
33
33
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, columns
|
34
34
|
// hide the columns without Header, e.g the sticky actions, spacer
|
35
35
|
.filter(function (colDef) {
|
36
|
-
|
37
|
-
|
38
|
-
return !!colDef.Header.props && !!((_colDef$Header$props = colDef.Header.props) !== null && _colDef$Header$props !== void 0 && _colDef$Header$props.title) || isTableSortable && !!sortableTitle;
|
39
|
-
}).filter(function (colDef) {
|
36
|
+
return !!(0, _getColTitle2.default)(colDef);
|
37
|
+
}).filter(Boolean).filter(function (colDef) {
|
40
38
|
return !colDef.isAction;
|
41
39
|
}).filter(function (colDef) {
|
42
|
-
var
|
43
|
-
|
44
|
-
return filterString.length === 0 || (isTableSortable ? sortableTitle === null || sortableTitle === void 0 ? void 0 : sortableTitle.toLowerCase().includes(filterString) : (_colDef$Header$props2 = colDef.Header.props) === null || _colDef$Header$props2 === void 0 || (_colDef$Header$props2 = _colDef$Header$props2.title) === null || _colDef$Header$props2 === void 0 ? void 0 : _colDef$Header$props2.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
|
40
|
+
var _getColTitle;
|
41
|
+
return filterString.length === 0 || ((_getColTitle = (0, _getColTitle2.default)(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
|
45
42
|
}).map(function (colDef, i) {
|
46
|
-
var
|
47
|
-
var isSortableColumn = !!colDef.canSort && !!isTableSortable;
|
48
|
-
var sortableTitle = isTableSortable && ((_colDef$Header$props$3 = colDef.Header().props.children.props) === null || _colDef$Header$props$3 === void 0 ? void 0 : _colDef$Header$props$3.title);
|
43
|
+
var colHeaderTitle = (0, _getColTitle2.default)(colDef);
|
49
44
|
var searchString = new RegExp('(' + filterString + ')');
|
50
|
-
var res = filterString.length ?
|
45
|
+
var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
|
51
46
|
var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
|
52
|
-
var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] :
|
47
|
+
var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colHeaderTitle;
|
53
48
|
var isFrozenColumn = !!colDef.sticky;
|
54
49
|
var listContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Checkbox, {
|
55
50
|
wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
|
@@ -60,8 +55,8 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
60
55
|
return onSelectColumn(colDef, checked);
|
61
56
|
},
|
62
57
|
id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
|
63
|
-
labelText:
|
64
|
-
title:
|
58
|
+
labelText: colHeaderTitle,
|
59
|
+
title: colHeaderTitle,
|
65
60
|
className: "".concat(blockClass, "__customize-columns-checkbox"),
|
66
61
|
hideLabel: true
|
67
62
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
@@ -78,7 +73,7 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
78
73
|
id: "dnd-datagrid-columns-".concat(colDef.id),
|
79
74
|
type: "column-customization",
|
80
75
|
disabled: filterString.length > 0 || isFrozenColumn,
|
81
|
-
ariaLabel:
|
76
|
+
ariaLabel: colHeaderTitle,
|
82
77
|
onGrab: setAriaRegionText,
|
83
78
|
isFocused: focusIndex === i,
|
84
79
|
moveElement: moveElement,
|
@@ -108,7 +103,6 @@ DraggableItemsList.propTypes = {
|
|
108
103
|
filterString: _propTypes.PropTypes.string.isRequired,
|
109
104
|
focusIndex: _propTypes.PropTypes.number.isRequired,
|
110
105
|
getNextIndex: _propTypes.PropTypes.func.isRequired,
|
111
|
-
isTableSortable: _propTypes.PropTypes.bool,
|
112
106
|
moveElement: _propTypes.PropTypes.func.isRequired,
|
113
107
|
onSelectColumn: _propTypes.PropTypes.func.isRequired,
|
114
108
|
setAriaRegionText: _propTypes.PropTypes.func.isRequired,
|
@@ -29,7 +29,6 @@ var TearsheetWrapper = function TearsheetWrapper(_ref) {
|
|
29
29
|
rest = (0, _objectWithoutProperties2.default)(_instance$customizeCo, _excluded);
|
30
30
|
return /*#__PURE__*/React.createElement(_CustomizeColumnsTearsheet.default, (0, _extends2.default)({}, rest, labels, {
|
31
31
|
isOpen: isTearsheetOpen,
|
32
|
-
isTableSortable: (instance === null || instance === void 0 ? void 0 : instance.isTableSortable) || false,
|
33
32
|
setIsTearsheetOpen: setIsTearsheetOpen,
|
34
33
|
columnDefinitions: instance.allColumns,
|
35
34
|
originalColumnDefinitions: instance.columns,
|
@@ -30,7 +30,8 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
|
|
30
30
|
var HeaderRenderer = function HeaderRenderer(header) {
|
31
31
|
return /*#__PURE__*/_react.default.createElement("div", {
|
32
32
|
className: "".concat(blockClass, "__defaultStringRenderer"),
|
33
|
-
title: typeof header === 'string' ? header : ''
|
33
|
+
title: typeof header === 'string' ? header : '',
|
34
|
+
key: typeof header === 'string' ? header : ''
|
34
35
|
}, header);
|
35
36
|
};
|
36
37
|
var visibleColumns = function visibleColumns(columns) {
|
@@ -30,8 +30,12 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
|
|
30
30
|
var ascendingSortableLabelText = _ref.ascendingSortableLabelText,
|
31
31
|
descendingSortableLabelText = _ref.descendingSortableLabelText,
|
32
32
|
defaultSortableLabelText = _ref.defaultSortableLabelText;
|
33
|
-
|
34
|
-
|
33
|
+
if (!col) {
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
var _ref2 = col || {},
|
37
|
+
isSorted = _ref2.isSorted,
|
38
|
+
isSortedDesc = _ref2.isSortedDesc;
|
35
39
|
if (!isSorted) {
|
36
40
|
return defaultSortableLabelText || 'none';
|
37
41
|
}
|
@@ -43,16 +47,20 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
|
|
43
47
|
}
|
44
48
|
};
|
45
49
|
var getAriaPressedValue = function getAriaPressedValue(col) {
|
46
|
-
|
50
|
+
if (!col) {
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
var _ref3 = col || {},
|
54
|
+
isSorted = _ref3.isSorted;
|
47
55
|
if (isSorted) {
|
48
56
|
return 'true';
|
49
57
|
}
|
50
58
|
return 'false';
|
51
59
|
};
|
52
60
|
var useSortableColumns = function useSortableColumns(hooks) {
|
53
|
-
var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns,
|
61
|
+
var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref4) {
|
54
62
|
var _instance$customizeCo;
|
55
|
-
var instance =
|
63
|
+
var instance = _ref4.instance;
|
56
64
|
var onSort = instance.onSort,
|
57
65
|
ascendingSortableLabelText = instance.ascendingSortableLabelText,
|
58
66
|
descendingSortableLabelText = instance.descendingSortableLabelText,
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
// This function recursively looks for the nested header element until we can find the key which contains the title.
|
8
|
+
// This can happen if multiple hooks are used together that manipulate the rendering of the column
|
9
|
+
// header, such as `useColumnCenterAlign` and `useSortableColumns`.
|
10
|
+
var getNestedTitle = function getNestedTitle(component) {
|
11
|
+
if (component && !component.key) {
|
12
|
+
return getNestedTitle(component.children);
|
13
|
+
}
|
14
|
+
if (component && component.key && typeof component.key === 'string') {
|
15
|
+
return component.key;
|
16
|
+
}
|
17
|
+
};
|
18
|
+
var getColTitle = function getColTitle(col) {
|
19
|
+
var _col$Header;
|
20
|
+
if (!col) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
var checkTitle = function checkTitle() {
|
24
|
+
if (col.Header().props.children.props && col.Header().props.children.props.title) {
|
25
|
+
return col.Header().props.children.props.title;
|
26
|
+
}
|
27
|
+
return getNestedTitle(col.Header().props.children.props);
|
28
|
+
};
|
29
|
+
return typeof (col === null || col === void 0 ? void 0 : col.Header) === 'function' ? checkTitle() : col === null || col === void 0 || (_col$Header = col.Header) === null || _col$Header === void 0 || (_col$Header = _col$Header.props) === null || _col$Header === void 0 ? void 0 : _col$Header.title;
|
30
|
+
};
|
31
|
+
var _default = getColTitle;
|
32
|
+
exports.default = _default;
|
@@ -336,7 +336,7 @@ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref,
|
|
336
336
|
className: "".concat(blockClass, "__header-container")
|
337
337
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
338
338
|
className: "".concat(blockClass, "__header-flex")
|
339
|
-
}, /*#__PURE__*/_react.default.createElement("
|
339
|
+
}, /*#__PURE__*/_react.default.createElement("h2", {
|
340
340
|
className: "".concat(blockClass, "__header")
|
341
341
|
}, title), /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
342
342
|
size: "sm",
|
@@ -345,7 +345,7 @@ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref,
|
|
345
345
|
onClick: function onClick() {
|
346
346
|
return onDismissAllNotifications();
|
347
347
|
}
|
348
|
-
}, dismissAllLabel)), /*#__PURE__*/_react.default.createElement(_react2.Toggle, {
|
348
|
+
}, dismissAllLabel)), onDoNotDisturbChange && /*#__PURE__*/_react.default.createElement(_react2.Toggle, {
|
349
349
|
size: "sm",
|
350
350
|
className: "".concat(blockClass, "__do-not-disturb-toggle"),
|
351
351
|
id: "".concat(blockClass, "__do-not-disturb-toggle-component"),
|
@@ -447,11 +447,11 @@ NotificationsPanel.propTypes = {
|
|
447
447
|
*/
|
448
448
|
dismissSingleNotificationIconDescription: _propTypes.default.string,
|
449
449
|
/**
|
450
|
-
* Determines if the `Do not disturb` toggle is on or off when the component is rendered
|
450
|
+
* Optional: Determines if the `Do not disturb` toggle is on or off when the component is rendered
|
451
451
|
*/
|
452
452
|
doNotDisturbDefaultToggled: _propTypes.default.bool,
|
453
453
|
/**
|
454
|
-
* Label for Do not disturb toggle
|
454
|
+
* Optional: Label for Do not disturb toggle
|
455
455
|
*/
|
456
456
|
doNotDisturbLabel: _propTypes.default.string,
|
457
457
|
/**
|
@@ -499,7 +499,7 @@ NotificationsPanel.propTypes = {
|
|
499
499
|
*/
|
500
500
|
onDismissSingleNotification: _propTypes.default.func,
|
501
501
|
/**
|
502
|
-
*
|
502
|
+
* Optional: function that returns the current selected value of the disable notification toggle
|
503
503
|
*/
|
504
504
|
onDoNotDisturbChange: _propTypes.default.func,
|
505
505
|
/**
|
@@ -223,13 +223,11 @@ var OptionsTile = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
223
223
|
id: "".concat(id, "-toggle"),
|
224
224
|
className: "".concat(blockClass, "__toggle"),
|
225
225
|
toggled: enabled,
|
226
|
-
labelA: "",
|
227
|
-
labelB: "",
|
228
226
|
"aria-labelledby": titleId,
|
227
|
+
hideLabel: true,
|
229
228
|
onToggle: onToggle,
|
230
229
|
size: "sm",
|
231
|
-
disabled: isLocked
|
232
|
-
labelText: title
|
230
|
+
disabled: isLocked
|
233
231
|
})), isExpandable ? /*#__PURE__*/_react.default.createElement("details", {
|
234
232
|
open: isOpen,
|
235
233
|
ref: detailsRef
|