@carbon/ibm-products 2.0.0-rc.27 → 2.0.0-rc.29
Sign up to get free protection for your applications and to get access to all the features.
- package/css/config.css +3 -0
- package/css/config.css.map +1 -0
- package/css/index-full-carbon.css +126 -355
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +6 -6
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +196 -252
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +4 -4
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +126 -355
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +6 -6
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +126 -355
- package/css/index.css.map +1 -1
- package/css/index.min.css +6 -6
- package/css/index.min.css.map +1 -1
- package/es/components/AboutModal/AboutModal.js +44 -66
- package/es/components/ActionBar/ActionBar.js +13 -29
- package/es/components/AddSelect/AddSelectBody.js +4 -2
- package/es/components/AddSelect/AddSelectColumn.js +11 -5
- package/es/components/AddSelect/AddSelectFilter.js +5 -4
- package/es/components/AddSelect/AddSelectRow.js +3 -3
- package/es/components/AddSelect/AddSelectSort.js +2 -1
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +15 -21
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +7 -8
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +6 -5
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +19 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +8 -5
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +19 -1
- package/es/components/Datagrid/index.js +1 -0
- package/es/components/Datagrid/useEditableCell.js +13 -0
- package/es/components/Datagrid/useFiltering.js +4 -2
- package/es/components/Datagrid/useInlineEdit.js +16 -11
- package/es/components/Datagrid/useOnRowClick.js +11 -1
- package/es/components/Datagrid/useSelectRows.js +2 -0
- package/es/components/{InlineEditV2/InlineEditV2.js → EditInPlace/EditInPlace.js} +92 -30
- package/es/components/{InlineEdit → EditInPlace}/index.js +1 -1
- package/es/components/ExampleComponent/ExampleDeprecatedComponent.js +24 -0
- package/es/components/PageHeader/PageHeader.js +36 -35
- package/es/components/PageHeader/PageHeaderTitle.js +18 -18
- package/es/components/SidePanel/SidePanel.js +25 -26
- package/es/components/TagSet/TagSet.js +5 -7
- package/es/components/Tearsheet/Tearsheet.js +5 -0
- package/es/components/Tearsheet/TearsheetShell.js +4 -6
- package/es/components/index.js +1 -2
- package/es/global/js/hooks/useResizeObserver.js +79 -0
- package/es/global/js/hooks/useWindowResize.js +6 -0
- package/es/global/js/hooks/useWindowScroll.js +7 -0
- package/es/global/js/package-settings.js +4 -6
- package/es/settings.js +40 -20
- package/lib/components/AboutModal/AboutModal.js +43 -66
- package/lib/components/ActionBar/ActionBar.js +13 -29
- package/lib/components/AddSelect/AddSelectBody.js +4 -2
- package/lib/components/AddSelect/AddSelectColumn.js +11 -5
- package/lib/components/AddSelect/AddSelectFilter.js +4 -3
- package/lib/components/AddSelect/AddSelectRow.js +2 -2
- package/lib/components/AddSelect/AddSelectSort.js +2 -1
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +13 -19
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +5 -4
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -4
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +19 -4
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +8 -5
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +18 -1
- package/lib/components/Datagrid/index.js +8 -0
- package/lib/components/Datagrid/useEditableCell.js +23 -0
- package/lib/components/Datagrid/useFiltering.js +4 -2
- package/lib/components/Datagrid/useInlineEdit.js +22 -11
- package/lib/components/Datagrid/useOnRowClick.js +11 -1
- package/lib/components/Datagrid/useSelectRows.js +2 -0
- package/lib/components/{InlineEditV2/InlineEditV2.js → EditInPlace/EditInPlace.js} +100 -34
- package/lib/components/{InlineEdit → EditInPlace}/index.js +3 -3
- package/lib/components/ExampleComponent/ExampleDeprecatedComponent.js +38 -0
- package/lib/components/PageHeader/PageHeader.js +36 -35
- package/lib/components/PageHeader/PageHeaderTitle.js +19 -19
- package/lib/components/SidePanel/SidePanel.js +25 -26
- package/lib/components/TagSet/TagSet.js +5 -7
- package/lib/components/Tearsheet/Tearsheet.js +5 -0
- package/lib/components/Tearsheet/TearsheetShell.js +4 -6
- package/lib/components/index.js +7 -15
- package/lib/global/js/hooks/useResizeObserver.js +91 -0
- package/lib/global/js/hooks/useWindowScroll.js +6 -0
- package/lib/global/js/package-settings.js +4 -6
- package/lib/settings.js +43 -21
- package/package.json +3 -4
- package/scss/components/AboutModal/_about-modal.scss +34 -53
- package/scss/components/AboutModal/_storybook-styles.scss +10 -4
- package/scss/components/AddSelect/_add-select.scss +7 -3
- package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +10 -1
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -1
- package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +11 -7
- package/scss/components/{InlineEditV2/_inline-edit-v2.scss → EditInPlace/_edit-in-place.scss} +56 -14
- package/scss/components/{InlineEditV1 → EditInPlace}/_index-with-carbon.scss +1 -1
- package/scss/components/{InlineEditV2 → EditInPlace}/_index.scss +1 -1
- package/scss/components/{InlineEditV1 → EditInPlace}/_storybook-styles.scss +3 -15
- package/scss/components/PageHeader/_page-header.scss +1 -7
- package/scss/components/_index-released-only-with-carbon.scss +1 -1
- package/scss/components/_index-released-only.scss +1 -1
- package/scss/components/_index-with-carbon.scss +1 -3
- package/scss/components/_index.scss +1 -3
- package/scss/config.scss +1 -0
- package/es/components/InlineEdit/InlineEdit.js +0 -47
- package/es/components/InlineEditV1/InlineEditV1.js +0 -442
- package/es/components/InlineEditV1/index.js +0 -7
- package/es/components/InlineEditV2/index.js +0 -7
- package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -34
- package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -47
- package/es/components/ModifiedTabs/ModifiedTabs.js +0 -141
- package/es/components/ModifiedTabs/index.js +0 -1
- package/lib/components/InlineEdit/InlineEdit.js +0 -63
- package/lib/components/InlineEditV1/InlineEditV1.js +0 -459
- package/lib/components/InlineEditV1/index.js +0 -13
- package/lib/components/InlineEditV2/index.js +0 -13
- package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -50
- package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -63
- package/lib/components/ModifiedTabs/ModifiedTabs.js +0 -164
- package/lib/components/ModifiedTabs/index.js +0 -13
- package/scss/components/InlineEditV1/_carbon-imports.scss +0 -6
- package/scss/components/InlineEditV1/_index.scss +0 -8
- package/scss/components/InlineEditV1/_inline-edit-v1.scss +0 -269
- package/scss/components/InlineEditV2/_index-with-carbon.scss +0 -9
- package/scss/components/InlineEditV2/_storybook-styles.scss +0 -9
- package/scss/components/ModifiedTabs/_carbon-imports.scss +0 -10
- package/scss/components/ModifiedTabs/_index-with-carbon.scss +0 -9
- package/scss/components/ModifiedTabs/_index.scss +0 -8
- package/scss/components/ModifiedTabs/_modified-tabs.scss +0 -89
- package/scss/components/ModifiedTabs/_storybook-styles.scss +0 -6
- /package/scss/components/{InlineEditV2 → EditInPlace}/_carbon-imports.scss +0 -0
@@ -25,7 +25,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
25
|
|
26
26
|
var _settings = require("../../settings");
|
27
27
|
|
28
|
-
var
|
28
|
+
var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
29
29
|
|
30
30
|
var _react2 = require("@carbon/react");
|
31
31
|
|
@@ -85,7 +85,9 @@ var ActionBar = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
85
85
|
var internalId = (0, _react.useRef)((0, _uuidv.default)());
|
86
86
|
var refDisplayedItems = (0, _react.useRef)(null);
|
87
87
|
var sizingRef = (0, _react.useRef)(null);
|
88
|
-
var sizes = (0, _react.useRef)({});
|
88
|
+
var sizes = (0, _react.useRef)({});
|
89
|
+
var backupRef = (0, _react.useRef)();
|
90
|
+
var localRef = ref || backupRef; // create hidden sizing items
|
89
91
|
|
90
92
|
(0, _react.useEffect)(function () {
|
91
93
|
// Hidden action bar and items used to calculate sizes
|
@@ -190,44 +192,26 @@ var ActionBar = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
190
192
|
|
191
193
|
(0, _react.useEffect)(function () {
|
192
194
|
checkFullyVisibleItems(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
193
|
-
}, [maxVisible, hiddenSizingItems]);
|
194
|
-
/* istanbul ignore next */
|
195
|
-
// not sure how to fake window resize
|
195
|
+
}, [maxVisible, hiddenSizingItems]); // /* istanbul ignore next */ // not sure how to fake window resize
|
196
196
|
|
197
197
|
var handleResize = function handleResize() {
|
198
|
-
// width is the space available for all action bar items horizontally
|
199
|
-
// the action bar items are squares so the height should be one item wide
|
200
|
-
|
201
|
-
/* istanbul ignore next */
|
202
|
-
// not sure how to fake window resize
|
203
|
-
checkFullyVisibleItems();
|
204
|
-
};
|
205
|
-
/* istanbul ignore next */
|
206
|
-
// not sure how to fake window resize
|
207
|
-
|
208
|
-
|
209
|
-
var handleActionBarItemsResize = function handleActionBarItemsResize() {
|
210
198
|
// when the hidden sizing items change size
|
211
199
|
|
212
200
|
/* istanbul ignore next */
|
213
201
|
// not sure how to fake window resize
|
214
202
|
checkFullyVisibleItems();
|
215
|
-
};
|
216
|
-
|
217
|
-
(0, _reactResizeDetector.useResizeDetector)({
|
218
|
-
onResize: handleActionBarItemsResize,
|
219
|
-
targetRef: sizingRef
|
220
|
-
});
|
203
|
+
}; // // resize of the items
|
221
204
|
|
222
|
-
var _useResizeDetector = (0, _reactResizeDetector.useResizeDetector)({
|
223
|
-
onResize: handleResize,
|
224
|
-
targetRef: ref
|
225
|
-
}),
|
226
|
-
outerRef = _useResizeDetector.ref;
|
227
205
|
|
206
|
+
(0, _useResizeObserver.useResizeObserver)(sizingRef, {
|
207
|
+
callback: handleResize
|
208
|
+
});
|
209
|
+
(0, _useResizeObserver.useResizeObserver)(localRef, {
|
210
|
+
callback: handleResize
|
211
|
+
});
|
228
212
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
229
213
|
className: (0, _classnames.default)([blockClass, className]),
|
230
|
-
ref:
|
214
|
+
ref: localRef
|
231
215
|
}), hiddenSizingItems, /*#__PURE__*/_react.default.createElement("div", {
|
232
216
|
ref: refDisplayedItems,
|
233
217
|
className: (0, _classnames.default)(["".concat(blockClass, "__displayed-items"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__displayed-items--right"), rightAlign)])
|
@@ -51,7 +51,7 @@ var _usePath2 = _interopRequireDefault(require("./hooks/usePath"));
|
|
51
51
|
|
52
52
|
var _settings = require("../../settings");
|
53
53
|
|
54
|
-
var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "filterByLabel", "globalFilterOpts", "globalFiltersLabel", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "illustrationTheme", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "normalizedItems", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "searchResultsTitle", "title", "useNormalizedItems"];
|
54
|
+
var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "filterByLabel", "globalFilterOpts", "globalFiltersLabel", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "illustrationTheme", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "normalizedItems", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "searchResultsTitle", "sortByLabel", "title", "useNormalizedItems"];
|
55
55
|
|
56
56
|
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); }
|
57
57
|
|
@@ -102,6 +102,7 @@ var AddSelectBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
102
102
|
open = _ref.open,
|
103
103
|
portalTarget = _ref.portalTarget,
|
104
104
|
searchResultsTitle = _ref.searchResultsTitle,
|
105
|
+
sortByLabel = _ref.sortByLabel,
|
105
106
|
title = _ref.title,
|
106
107
|
useNormalizedItems = _ref.useNormalizedItems,
|
107
108
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
@@ -326,7 +327,8 @@ var AddSelectBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
326
327
|
items: itemsToDisplay,
|
327
328
|
columnInputPlaceholder: columnInputPlaceholder,
|
328
329
|
header: (_path$ = path[0]) === null || _path$ === void 0 ? void 0 : _path$.title,
|
329
|
-
filterByLabel: filterByLabel
|
330
|
+
filterByLabel: filterByLabel,
|
331
|
+
sortByLabel: sortByLabel
|
330
332
|
}))) : /*#__PURE__*/_react.default.createElement("div", null, hasResults ? /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, commonListProps, {
|
331
333
|
filteredItems: itemsToDisplay,
|
332
334
|
modifiers: items.modifiers,
|
@@ -39,7 +39,7 @@ var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
|
|
39
39
|
|
40
40
|
var _useParentSelect2 = _interopRequireDefault(require("./hooks/useParentSelect"));
|
41
41
|
|
42
|
-
var _excluded = ["columnInputPlaceholder", "filterByLabel", "header", "items", "multiSelection", "parentId", "path", "setMultiSelection", "setPath"];
|
42
|
+
var _excluded = ["columnInputPlaceholder", "filterByLabel", "header", "items", "multiSelection", "parentId", "path", "setMultiSelection", "setPath", "sortByLabel"];
|
43
43
|
|
44
44
|
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); }
|
45
45
|
|
@@ -59,6 +59,7 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
59
59
|
path = _ref.path,
|
60
60
|
setMultiSelection = _ref.setMultiSelection,
|
61
61
|
setPath = _ref.setPath,
|
62
|
+
sortByLabel = _ref.sortByLabel,
|
62
63
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
63
64
|
var carbonPrefix = (0, _react2.usePrefix)();
|
64
65
|
|
@@ -207,7 +208,8 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
207
208
|
setSortDirection: setSortDirection,
|
208
209
|
sortAttribute: sortAttribute,
|
209
210
|
sortDirection: sortDirection,
|
210
|
-
sortBy: sortBy
|
211
|
+
sortBy: sortBy,
|
212
|
+
sortByLabel: sortByLabel
|
211
213
|
}), filterByOpts.length > 0 && /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
|
212
214
|
renderIcon: function renderIcon(props) {
|
213
215
|
return /*#__PURE__*/_react.default.createElement(_icons.Filter, (0, _extends2.default)({
|
@@ -216,7 +218,8 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
216
218
|
},
|
217
219
|
className: "".concat(colClass, "-overflow"),
|
218
220
|
flipped: true,
|
219
|
-
ariaLabel: filterByLabel
|
221
|
+
ariaLabel: filterByLabel,
|
222
|
+
iconDescription: filterByLabel
|
220
223
|
}, filterByOpts.map(function (opt) {
|
221
224
|
return /*#__PURE__*/_react.default.createElement("div", {
|
222
225
|
key: opt,
|
@@ -260,7 +263,9 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
260
263
|
setMultiSelection: setMultiSelection,
|
261
264
|
parentId: selectedItem.id,
|
262
265
|
setPath: setPath,
|
263
|
-
path: path
|
266
|
+
path: path,
|
267
|
+
sortByLabel: sortByLabel,
|
268
|
+
filterByLabel: filterByLabel
|
264
269
|
}, props)));
|
265
270
|
};
|
266
271
|
|
@@ -274,6 +279,7 @@ AddSelectColumn.propTypes = {
|
|
274
279
|
parentId: _propTypes.default.string,
|
275
280
|
path: _propTypes.default.array,
|
276
281
|
setMultiSelection: _propTypes.default.func,
|
277
|
-
setPath: _propTypes.default.func
|
282
|
+
setPath: _propTypes.default.func,
|
283
|
+
sortByLabel: _propTypes.default.string
|
278
284
|
};
|
279
285
|
AddSelectColumn.displayName = componentName;
|
@@ -134,16 +134,17 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
|
|
134
134
|
className: filterBtnClassnames,
|
135
135
|
size: "md",
|
136
136
|
tooltipPosition: "left"
|
137
|
-
}), open && /*#__PURE__*/_react.default.createElement(
|
138
|
-
className: blockClass
|
137
|
+
}), open && /*#__PURE__*/_react.default.createElement(_react2.Layer, {
|
138
|
+
className: blockClass,
|
139
|
+
level: 1
|
139
140
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
140
141
|
className: "".concat(blockClass, "-content")
|
141
142
|
}, /*#__PURE__*/_react.default.createElement("p", null, filtersLabel), /*#__PURE__*/_react.default.createElement("div", {
|
142
143
|
className: "".concat(blockClass, "-opts")
|
143
144
|
}, filterOpts.map(function (filterOpts) {
|
144
145
|
return /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
|
145
|
-
id: filterOpts.id,
|
146
146
|
key: filterOpts.id,
|
147
|
+
id: filterOpts.id,
|
147
148
|
titleText: filterOpts.label,
|
148
149
|
items: filterOpts.opts,
|
149
150
|
onChange: function onChange(value) {
|
@@ -174,7 +174,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
|
|
174
174
|
item: item,
|
175
175
|
selected: selected,
|
176
176
|
onClick: handleMultiSelection
|
177
|
-
}), hasModifiers && /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
|
177
|
+
}), hasModifiers && /*#__PURE__*/_react.default.createElement(_react2.Layer, null, /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
|
178
178
|
id: "add-select-modifier-".concat(item.id),
|
179
179
|
type: "inline",
|
180
180
|
items: modifiers.options,
|
@@ -186,7 +186,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
|
|
186
186
|
var selectedItem = _ref3.selectedItem;
|
187
187
|
return modifierHandler(item.id, selectedItem);
|
188
188
|
}
|
189
|
-
})) : /*#__PURE__*/_react.default.createElement(_AddSelectFormControl.AddSelectFormControl, {
|
189
|
+
}))) : /*#__PURE__*/_react.default.createElement(_AddSelectFormControl.AddSelectFormControl, {
|
190
190
|
type: "radio",
|
191
191
|
item: item,
|
192
192
|
selected: selected,
|
@@ -71,7 +71,8 @@ var AddSelectSort = function AddSelectSort(_ref) {
|
|
71
71
|
},
|
72
72
|
className: "".concat(blockClass, "_overflow"),
|
73
73
|
flipped: true,
|
74
|
-
ariaLabel: sortByLabel
|
74
|
+
ariaLabel: sortByLabel,
|
75
|
+
iconDescription: sortByLabel
|
75
76
|
}, sortByOpts.map(function (opt) {
|
76
77
|
return /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
|
77
78
|
className: "".concat(blockClass, "_overflow-item"),
|
@@ -23,7 +23,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
23
|
|
24
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
25
25
|
|
26
|
-
var
|
26
|
+
var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
27
27
|
|
28
28
|
var _react2 = require("@carbon/react");
|
29
29
|
|
@@ -274,15 +274,6 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
274
274
|
// not sure how to test resize
|
275
275
|
checkFullyVisibleBreadcrumbItems();
|
276
276
|
};
|
277
|
-
/* istanbul ignore next */
|
278
|
-
// not sure how to test resize
|
279
|
-
|
280
|
-
|
281
|
-
var handleBreadcrumbItemsResize = function handleBreadcrumbItemsResize() {
|
282
|
-
/* istanbul ignore next */
|
283
|
-
// not sure how to test resize
|
284
|
-
checkFullyVisibleBreadcrumbItems();
|
285
|
-
};
|
286
277
|
|
287
278
|
var backItem = breadcrumbs[breadcrumbs.length - 1];
|
288
279
|
/* istanbul ignore if */
|
@@ -290,15 +281,15 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
290
281
|
|
291
282
|
if (backItem.isCurrentPage) {
|
292
283
|
backItem = breadcrumbs[breadcrumbs.length - 2];
|
293
|
-
}
|
284
|
+
} // container resize
|
294
285
|
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
});
|
299
|
-
|
300
|
-
|
301
|
-
|
286
|
+
|
287
|
+
(0, _useResizeObserver.useResizeObserver)(sizingContainerRef, {
|
288
|
+
callback: handleResize
|
289
|
+
}); // item resize
|
290
|
+
|
291
|
+
(0, _useResizeObserver.useResizeObserver)(breadcrumbItemWithOverflow, {
|
292
|
+
callback: handleResize
|
302
293
|
});
|
303
294
|
return /*#__PURE__*/_react.default.createElement("div", {
|
304
295
|
className: (0, _classnames.default)(blockClass, className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__with-items"), displayedBreadcrumbItems.length > 1)),
|
@@ -314,8 +305,11 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
314
305
|
href: backItem.href,
|
315
306
|
renderIcon: function renderIcon() {
|
316
307
|
return /*#__PURE__*/_react.default.createElement(_react2.IconButton, {
|
308
|
+
className: "".concat(blockClass, "__back__button"),
|
309
|
+
align: "right",
|
310
|
+
kind: "ghost",
|
317
311
|
label: backItem.title || backItem.label,
|
318
|
-
|
312
|
+
size: "sm"
|
319
313
|
}, /*#__PURE__*/_react.default.createElement(_icons.ArrowLeft, {
|
320
314
|
size: 16
|
321
315
|
}));
|
@@ -23,7 +23,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
23
|
|
24
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
25
25
|
|
26
|
-
var
|
26
|
+
var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
27
27
|
|
28
28
|
var _react2 = require("@carbon/react");
|
29
29
|
|
@@ -172,18 +172,14 @@ var ButtonSetWithOverflow = function ButtonSetWithOverflow(_ref) {
|
|
172
172
|
}).reverse());
|
173
173
|
});
|
174
174
|
|
175
|
-
(0,
|
176
|
-
|
177
|
-
targetRef: sizingContainerRefSet
|
175
|
+
(0, _useResizeObserver.useResizeObserver)(sizingContainerRefSet, {
|
176
|
+
callback: checkFullyVisibleItems
|
178
177
|
});
|
179
|
-
(0,
|
180
|
-
|
181
|
-
targetRef: sizingContainerRefCombo
|
178
|
+
(0, _useResizeObserver.useResizeObserver)(sizingContainerRefCombo, {
|
179
|
+
callback: checkFullyVisibleItems
|
182
180
|
});
|
183
|
-
(0,
|
184
|
-
|
185
|
-
targetRef: spaceAvailableRef,
|
186
|
-
handleWidth: true
|
181
|
+
(0, _useResizeObserver.useResizeObserver)(spaceAvailableRef, {
|
182
|
+
callback: checkFullyVisibleItems
|
187
183
|
});
|
188
184
|
return /*#__PURE__*/_react.default.createElement("div", {
|
189
185
|
className: (0, _classnames.default)([blockClass, className, (0, _defineProperty2.default)({}, "".concat(blockClass, "--right"), rightAlign)]),
|
@@ -120,7 +120,8 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
|
|
120
120
|
}, props));
|
121
121
|
},
|
122
122
|
size: "sm",
|
123
|
-
ariaLabel: allRowsLabel
|
123
|
+
ariaLabel: allRowsLabel,
|
124
|
+
menuOptionsClass: "".concat(blockClass, "__select-all-toggle-overflow")
|
124
125
|
}, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
|
125
126
|
itemText: allPageRowsLabel,
|
126
127
|
requireTitle: true,
|
@@ -19,7 +19,7 @@ var _icons = require("@carbon/react/icons");
|
|
19
19
|
|
20
20
|
var _react2 = require("@carbon/react");
|
21
21
|
|
22
|
-
var
|
22
|
+
var _useResizeObserver2 = require("../../../global/js/hooks/useResizeObserver");
|
23
23
|
|
24
24
|
var _ButtonMenu = require("../../ButtonMenu");
|
25
25
|
|
@@ -157,9 +157,10 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
|
|
157
157
|
};
|
158
158
|
|
159
159
|
var DatagridToolbar = function DatagridToolbar(datagridState) {
|
160
|
-
var
|
161
|
-
|
162
|
-
|
160
|
+
var ref = (0, _react.useRef)(null);
|
161
|
+
|
162
|
+
var _useResizeObserver = (0, _useResizeObserver2.useResizeObserver)(ref),
|
163
|
+
width = _useResizeObserver.width;
|
163
164
|
|
164
165
|
var DatagridActions = datagridState.DatagridActions,
|
165
166
|
DatagridBatchActions = datagridState.DatagridBatchActions,
|
@@ -25,7 +25,7 @@ var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
|
|
25
25
|
|
26
26
|
var _layout = require("@carbon/layout");
|
27
27
|
|
28
|
-
var
|
28
|
+
var _useResizeObserver = require("../../../global/js/hooks/useResizeObserver");
|
29
29
|
|
30
30
|
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); }
|
31
31
|
|
@@ -73,9 +73,8 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
73
73
|
gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
|
74
74
|
};
|
75
75
|
|
76
|
-
(0,
|
77
|
-
|
78
|
-
targetRef: gridRef
|
76
|
+
(0, _useResizeObserver.useResizeObserver)(gridRef, {
|
77
|
+
callback: handleVirtualGridResize
|
79
78
|
});
|
80
79
|
|
81
80
|
var syncScroll = function syncScroll(e) {
|
@@ -73,9 +73,13 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
73
73
|
secondaryActionLabel = _ref$secondaryActionL === void 0 ? 'Cancel' : _ref$secondaryActionL,
|
74
74
|
setAllFilters = _ref.setAllFilters,
|
75
75
|
_ref$data = _ref.data,
|
76
|
-
data = _ref$data === void 0 ? [] : _ref$data
|
77
|
-
|
76
|
+
data = _ref$data === void 0 ? [] : _ref$data,
|
77
|
+
_ref$initialFilters = _ref.initialFilters,
|
78
|
+
initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
|
79
|
+
// Save the initial filters we only need the filters once when it loads
|
80
|
+
var initialFiltersRef = (0, _react2.useRef)(initialFilters);
|
78
81
|
/** State */
|
82
|
+
|
79
83
|
var _useState = (0, _react2.useState)(false),
|
80
84
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
81
85
|
open = _useState2[0],
|
@@ -85,7 +89,8 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
85
89
|
updateMethod: updateMethod,
|
86
90
|
filters: filters,
|
87
91
|
setAllFilters: setAllFilters,
|
88
|
-
variation: _constants.FLYOUT
|
92
|
+
variation: _constants.FLYOUT,
|
93
|
+
initialFilters: initialFiltersRef.current
|
89
94
|
}),
|
90
95
|
filtersState = _useFilters.filtersState,
|
91
96
|
prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
|
@@ -235,6 +240,15 @@ FilterFlyout.propTypes = {
|
|
235
240
|
*/
|
236
241
|
flyoutIconDescription: _propTypes.default.string,
|
237
242
|
|
243
|
+
/**
|
244
|
+
* Filters that should be applied on load
|
245
|
+
*/
|
246
|
+
initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
|
247
|
+
id: _propTypes.default.string.isRequired,
|
248
|
+
type: _propTypes.default.string.isRequired,
|
249
|
+
value: _propTypes.default.any.isRequired
|
250
|
+
})),
|
251
|
+
|
238
252
|
/**
|
239
253
|
* Callback when the apply button is clicked
|
240
254
|
*/
|
@@ -87,9 +87,13 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
87
87
|
_ref$searchLabelText = _ref.searchLabelText,
|
88
88
|
searchLabelText = _ref$searchLabelText === void 0 ? 'Filter search' : _ref$searchLabelText,
|
89
89
|
_ref$searchPlaceholde = _ref.searchPlaceholder,
|
90
|
-
searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde
|
91
|
-
|
90
|
+
searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde,
|
91
|
+
_ref$initialFilters = _ref.initialFilters,
|
92
|
+
initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
|
93
|
+
// Save the initial filters we only need the filters once
|
94
|
+
var initialFiltersRef = (0, _react.useRef)(initialFilters);
|
92
95
|
/** State */
|
96
|
+
|
93
97
|
var _useState = (0, _react.useState)(false),
|
94
98
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
95
99
|
showDividerLine = _useState2[0],
|
@@ -99,7 +103,8 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
99
103
|
updateMethod: updateMethod,
|
100
104
|
filters: filterSections,
|
101
105
|
setAllFilters: setAllFilters,
|
102
|
-
variation: _constants.PANEL
|
106
|
+
variation: _constants.PANEL,
|
107
|
+
initialFilters: initialFiltersRef.current
|
103
108
|
}),
|
104
109
|
filtersState = _useFilters.filtersState,
|
105
110
|
prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
|
@@ -255,13 +260,14 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
255
260
|
height: getScrollableContainerHeight()
|
256
261
|
},
|
257
262
|
onScroll: onInnerContainerScroll
|
258
|
-
}, filterSections.map(function (_ref2) {
|
263
|
+
}, filterSections.map(function (_ref2, index) {
|
259
264
|
var _ref2$categoryTitle = _ref2.categoryTitle,
|
260
265
|
categoryTitle = _ref2$categoryTitle === void 0 ? null : _ref2$categoryTitle,
|
261
266
|
_ref2$filters = _ref2.filters,
|
262
267
|
filters = _ref2$filters === void 0 ? [] : _ref2$filters,
|
263
268
|
hasAccordion = _ref2.hasAccordion;
|
264
269
|
return /*#__PURE__*/_react.default.createElement("div", {
|
270
|
+
key: index,
|
265
271
|
className: "".concat(componentClass, "__category")
|
266
272
|
}, categoryTitle && /*#__PURE__*/_react.default.createElement("div", {
|
267
273
|
className: "".concat(componentClass, "__category-title")
|
@@ -283,6 +289,15 @@ FilterPanel.propTypes = {
|
|
283
289
|
closeIconDescription: _propTypes.default.string,
|
284
290
|
filterPanelMinHeight: _propTypes.default.number,
|
285
291
|
filterSections: _propTypes.default.array,
|
292
|
+
|
293
|
+
/**
|
294
|
+
* Filters that should be applied on load
|
295
|
+
*/
|
296
|
+
initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
|
297
|
+
id: _propTypes.default.string.isRequired,
|
298
|
+
type: _propTypes.default.string.isRequired,
|
299
|
+
value: _propTypes.default.any.isRequired
|
300
|
+
})),
|
286
301
|
onApply: _propTypes.default.func,
|
287
302
|
onCancel: _propTypes.default.func,
|
288
303
|
onPanelClose: _propTypes.default.func,
|
@@ -40,15 +40,16 @@ var useFilters = function useFilters(_ref) {
|
|
40
40
|
_ref$filters = _ref.filters,
|
41
41
|
filters = _ref$filters === void 0 ? [] : _ref$filters,
|
42
42
|
setAllFilters = _ref.setAllFilters,
|
43
|
-
variation = _ref.variation
|
43
|
+
variation = _ref.variation,
|
44
|
+
initialFilters = _ref.initialFilters;
|
44
45
|
|
45
46
|
/** State */
|
46
|
-
var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation),
|
47
|
+
var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation, initialFilters),
|
47
48
|
_useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
|
48
49
|
filtersState = _useInitialStateFromF2[0],
|
49
50
|
setFiltersState = _useInitialStateFromF2[1];
|
50
51
|
|
51
|
-
var _useState = (0, _react.useState)(
|
52
|
+
var _useState = (0, _react.useState)(initialFilters),
|
52
53
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
53
54
|
filtersObjectArray = _useState2[0],
|
54
55
|
setFiltersObjectArray = _useState2[1]; // When using batch actions we have to store the filters to then apply them later
|
@@ -66,8 +67,10 @@ var useFilters = function useFilters(_ref) {
|
|
66
67
|
};
|
67
68
|
|
68
69
|
var reset = function reset() {
|
69
|
-
//
|
70
|
-
var
|
70
|
+
// When we reset we want the "initialFilters" to be an empty array
|
71
|
+
var resetFiltersArray = []; // Get the initial values for the filters
|
72
|
+
|
73
|
+
var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filters, variation, resetFiltersArray);
|
71
74
|
var initialFiltersObjectArray = []; // Set the state to the initial values
|
72
75
|
|
73
76
|
setFiltersState(initialFiltersState);
|
package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js
CHANGED
@@ -24,8 +24,9 @@ var _utils = require("../utils");
|
|
24
24
|
*/
|
25
25
|
var useInitialStateFromFilters = function useInitialStateFromFilters(filters) {
|
26
26
|
var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
|
27
|
+
var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
27
28
|
|
28
|
-
var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation)),
|
29
|
+
var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation, initialFilters)),
|
29
30
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
30
31
|
state = _useState2[0],
|
31
32
|
setState = _useState2[1];
|
@@ -13,9 +13,22 @@ var _constants = require("./constants");
|
|
13
13
|
* This source code is licensed under the Apache-2.0 license found in the
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
15
15
|
*/
|
16
|
-
|
16
|
+
var applyInitialFilters = function applyInitialFilters(filterState, initialFilters) {
|
17
|
+
Object.keys(filterState).forEach(function (key) {
|
18
|
+
var hasInitialFilter = initialFilters.find(function (filter) {
|
19
|
+
return filter.id === key;
|
20
|
+
});
|
21
|
+
|
22
|
+
if (hasInitialFilter) {
|
23
|
+
filterState[key].value = hasInitialFilter.value;
|
24
|
+
}
|
25
|
+
});
|
26
|
+
}; // This functions takes the filters passed in and makes an object to track it's state
|
27
|
+
|
28
|
+
|
17
29
|
var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
|
18
30
|
var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
|
31
|
+
var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
19
32
|
var initialFilterState = {};
|
20
33
|
|
21
34
|
var setInitialState = function setInitialState(_ref) {
|
@@ -76,6 +89,10 @@ var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
|
|
76
89
|
console.error('No variation passed into useInitialStateFromFilters');
|
77
90
|
}
|
78
91
|
|
92
|
+
if (initialFilters.length > 0) {
|
93
|
+
applyInitialFilters(initialFilterState, initialFilters);
|
94
|
+
}
|
95
|
+
|
79
96
|
return initialFilterState;
|
80
97
|
};
|
81
98
|
|
@@ -59,6 +59,12 @@ Object.defineProperty(exports, "useDisableSelectRows", {
|
|
59
59
|
return _useDisableSelectRows.default;
|
60
60
|
}
|
61
61
|
});
|
62
|
+
Object.defineProperty(exports, "useEditableCell", {
|
63
|
+
enumerable: true,
|
64
|
+
get: function get() {
|
65
|
+
return _useEditableCell.default;
|
66
|
+
}
|
67
|
+
});
|
62
68
|
Object.defineProperty(exports, "useExpandedRow", {
|
63
69
|
enumerable: true,
|
64
70
|
get: function get() {
|
@@ -162,6 +168,8 @@ var _useColumnOrder = _interopRequireDefault(require("./useColumnOrder"));
|
|
162
168
|
|
163
169
|
var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
|
164
170
|
|
171
|
+
var _useEditableCell = _interopRequireDefault(require("./useEditableCell"));
|
172
|
+
|
165
173
|
var _useFiltering = _interopRequireDefault(require("./useFiltering"));
|
166
174
|
|
167
175
|
var _getAutoSizedColumnWidth = require("./utils/getAutoSizedColumnWidth");
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.default = void 0;
|
9
|
+
|
10
|
+
var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Copyright IBM Corp. 2023, 2023
|
14
|
+
*
|
15
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
17
|
+
*/
|
18
|
+
var useEditableCell = function useEditableCell(hooks) {
|
19
|
+
(0, _useInlineEdit.default)(hooks, 'usingEditableCell');
|
20
|
+
};
|
21
|
+
|
22
|
+
var _default = useEditableCell;
|
23
|
+
exports.default = _default;
|
@@ -76,11 +76,13 @@ var useFiltering = function useFiltering(hooks) {
|
|
76
76
|
setAllFilters = instance.setAllFilters,
|
77
77
|
setFilter = instance.setFilter,
|
78
78
|
headers = instance.headers,
|
79
|
-
data = instance.data
|
79
|
+
data = instance.data,
|
80
|
+
state = instance.state;
|
80
81
|
var defaultProps = {
|
81
82
|
variation: 'flyout',
|
82
83
|
updateMethod: _constants.BATCH,
|
83
|
-
panelIconDescription: 'Open filter panel'
|
84
|
+
panelIconDescription: 'Open filter panel',
|
85
|
+
initialFilters: state.filters
|
84
86
|
};
|
85
87
|
|
86
88
|
var getFilterFlyoutProps = function getFilterFlyoutProps() {
|