@carbon/ibm-products 2.1.3 → 2.3.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.
Files changed (48) hide show
  1. package/css/index-full-carbon.css +188 -188
  2. package/css/index-full-carbon.min.css +4 -4
  3. package/css/index-full-carbon.min.css.map +1 -1
  4. package/css/index-without-carbon-released-only.css +144 -144
  5. package/css/index-without-carbon-released-only.min.css +2 -2
  6. package/css/index-without-carbon-released-only.min.css.map +1 -1
  7. package/css/index-without-carbon.css +188 -188
  8. package/css/index-without-carbon.min.css +4 -4
  9. package/css/index-without-carbon.min.css.map +1 -1
  10. package/css/index.css +172 -172
  11. package/css/index.min.css +3 -3
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +22 -8
  14. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +2 -1
  15. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilterContext.js +13 -0
  16. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +4 -20
  17. package/es/components/Datagrid/index.js +2 -1
  18. package/es/components/Datagrid/utils/DatagridActions.js +7 -7
  19. package/es/components/index.js +1 -1
  20. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +22 -8
  21. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +8 -1
  22. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilterContext.js +20 -0
  23. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +4 -20
  24. package/lib/components/Datagrid/index.js +8 -1
  25. package/lib/components/Datagrid/utils/DatagridActions.js +46 -46
  26. package/lib/components/index.js +6 -0
  27. package/package.json +2 -2
  28. package/scss/components/AddSelect/_add-select.scss +6 -6
  29. package/scss/components/CreateFullPage/_create-full-page.scss +3 -3
  30. package/scss/components/CreateModal/_create-modal.scss +3 -3
  31. package/scss/components/CreateSidePanel/_create-side-panel.scss +4 -4
  32. package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -2
  33. package/scss/components/CreateTearsheet/_storybook-styles.scss +1 -1
  34. package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +2 -2
  35. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +5 -5
  36. package/scss/components/Datagrid/_storybook-styles.scss +2 -2
  37. package/scss/components/EditSidePanel/_edit-side-panel.scss +2 -2
  38. package/scss/components/EditTearsheet/_edit-tearsheet.scss +2 -2
  39. package/scss/components/EditTearsheet/_storybook-styles.scss +1 -1
  40. package/scss/components/ImportModal/_import-modal.scss +1 -1
  41. package/scss/components/NotificationsPanel/_notifications-panel.scss +2 -2
  42. package/scss/components/OptionsTile/_storybook-styles.scss +1 -1
  43. package/scss/components/PageHeader/_page-header.scss +4 -4
  44. package/scss/components/Saving/_saving.scss +1 -1
  45. package/scss/components/SidePanel/_side-panel.scss +3 -3
  46. package/scss/components/TagSet/_tag-set.scss +1 -1
  47. package/scss/components/Tearsheet/_tearsheet.scss +2 -2
  48. package/scss/components/UserProfileImage/_user-profile-image.scss +2 -2
@@ -18,7 +18,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
18
18
  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); }
19
19
  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; }
20
20
  /**
21
- * Copyright IBM Corp. 2022, 2022
21
+ * Copyright IBM Corp. 2022, 2023
22
22
  *
23
23
  * This source code is licensed under the Apache-2.0 license found in the
24
24
  * LICENSE file in the root directory of this source tree.
@@ -42,7 +42,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
42
42
  var selectedRowIds = datagridState.state.selectedRowIds,
43
43
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
44
44
  toolbarBatchActions = datagridState.toolbarBatchActions,
45
- setGlobalFilter = datagridState.setGlobalFilter;
45
+ setGlobalFilter = datagridState.setGlobalFilter,
46
+ rows = datagridState.rows;
46
47
  var totalSelected = (_Object$keys = Object.keys(selectedRowIds || {})) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length;
47
48
 
48
49
  // Get initial width of batch actions container,
@@ -63,6 +64,19 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
63
64
  setDisplayAllInMenu(false);
64
65
  }
65
66
  }, [width, ref, initialListWidth]);
67
+ var getSelectedRowData = function getSelectedRowData() {
68
+ var selectedRowIndexes = Object.keys(selectedRowIds);
69
+ var selectedRowData = selectedRowIndexes && selectedRowIndexes.length ? selectedRowIndexes.map(function (rowIndex) {
70
+ var filteredRow = rows.filter(function (row) {
71
+ return row.index === parseInt(rowIndex);
72
+ });
73
+ if (filteredRow.length) {
74
+ return filteredRow[0];
75
+ }
76
+ return [];
77
+ }) : [];
78
+ return selectedRowData;
79
+ };
66
80
 
67
81
  // Render batch actions in ButtonMenu
68
82
  var renderBatchActionOverflow = function renderBatchActionOverflow() {
@@ -85,8 +99,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
85
99
  return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
86
100
  key: "".concat(batchAction.label, "-").concat(index),
87
101
  itemText: batchAction.label,
88
- onClick: function onClick() {
89
- batchAction.onClick();
102
+ onClick: function onClick(event) {
103
+ batchAction.onClick(getSelectedRowData(), event);
90
104
  if (batchAction.type === 'select_all') {
91
105
  toggleAllRowsSelected(true);
92
106
  }
@@ -98,8 +112,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
98
112
  return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
99
113
  key: "".concat(batchAction.label, "-").concat(index),
100
114
  itemText: batchAction.label,
101
- onClick: function onClick() {
102
- batchAction.onClick();
115
+ onClick: function onClick(event) {
116
+ batchAction.onClick(getSelectedRowData(), event);
103
117
  if (batchAction.type === 'select_all') {
104
118
  toggleAllRowsSelected(true);
105
119
  }
@@ -123,8 +137,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
123
137
  return /*#__PURE__*/_react.default.createElement(_react2.TableBatchAction, {
124
138
  key: "".concat(batchAction.label, "-").concat(index),
125
139
  renderIcon: batchAction.renderIcon,
126
- onClick: function onClick() {
127
- batchAction.onClick();
140
+ onClick: function onClick(event) {
141
+ batchAction.onClick(getSelectedRowData(), event);
128
142
  if (batchAction.type === 'select_all') {
129
143
  toggleAllRowsSelected(true);
130
144
  }
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "useFilterContext", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _useFilterContext.default;
11
+ }
12
+ });
7
13
  Object.defineProperty(exports, "useFilters", {
8
14
  enumerable: true,
9
15
  get: function get() {
@@ -24,4 +30,5 @@ Object.defineProperty(exports, "useSubscribeToEventEmitter", {
24
30
  });
25
31
  var _useSubscribeToEventEmitter = _interopRequireDefault(require("./useSubscribeToEventEmitter"));
26
32
  var _useFilters = _interopRequireDefault(require("./useFilters"));
27
- var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));
33
+ var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));
34
+ var _useFilterContext = _interopRequireDefault(require("./useFilterContext"));
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _FilterProvider = require("../FilterProvider");
8
+ var _react = require("react");
9
+ var useFilterContext = function useFilterContext() {
10
+ // get the context
11
+ var context = (0, _react.useContext)(_FilterProvider.FilterContext);
12
+
13
+ // if `undefined`, throw an error
14
+ if (context === undefined) {
15
+ throw new Error('useFilterContext was used outside of its Provider');
16
+ }
17
+ return context;
18
+ };
19
+ var _default = useFilterContext;
20
+ exports.default = _default;
@@ -317,32 +317,16 @@ var InlineEditCell = function InlineEditCell(_ref) {
317
317
  };
318
318
  var setRenderIcon = function setRenderIcon() {
319
319
  if (type === 'text') {
320
- return function (props) {
321
- return /*#__PURE__*/_react.default.createElement(_icons.Edit, (0, _extends2.default)({
322
- size: 16
323
- }, props));
324
- };
320
+ return _icons.Edit;
325
321
  }
326
322
  if (type === 'number') {
327
- return function (props) {
328
- return /*#__PURE__*/_react.default.createElement(_icons.CaretSort, (0, _extends2.default)({
329
- size: 16
330
- }, props));
331
- };
323
+ return _icons.CaretSort;
332
324
  }
333
325
  if (type === 'selection') {
334
- return function (props) {
335
- return /*#__PURE__*/_react.default.createElement(_icons.ChevronDown, (0, _extends2.default)({
336
- size: 16
337
- }, props));
338
- };
326
+ return _icons.ChevronDown;
339
327
  }
340
328
  if (type === 'date') {
341
- return function (props) {
342
- return /*#__PURE__*/_react.default.createElement(_icons.Calendar, (0, _extends2.default)({
343
- size: 16
344
- }, props));
345
- };
329
+ return _icons.Calendar;
346
330
  }
347
331
  };
348
332
  var renderDateCell = function renderDateCell() {
@@ -70,6 +70,12 @@ Object.defineProperty(exports, "useExpandedRow", {
70
70
  return _useExpandedRow.default;
71
71
  }
72
72
  });
73
+ Object.defineProperty(exports, "useFilterContext", {
74
+ enumerable: true,
75
+ get: function get() {
76
+ return _hooks.useFilterContext;
77
+ }
78
+ });
73
79
  Object.defineProperty(exports, "useFiltering", {
74
80
  enumerable: true,
75
81
  get: function get() {
@@ -150,4 +156,5 @@ var _useColumnOrder = _interopRequireDefault(require("./useColumnOrder"));
150
156
  var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
151
157
  var _useEditableCell = _interopRequireDefault(require("./useEditableCell"));
152
158
  var _useFiltering = _interopRequireDefault(require("./useFiltering"));
153
- var _getAutoSizedColumnWidth = require("./utils/getAutoSizedColumnWidth");
159
+ var _getAutoSizedColumnWidth = require("./utils/getAutoSizedColumnWidth");
160
+ var _hooks = require("./Datagrid/addons/Filtering/hooks");
@@ -7,13 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.DatagridActions = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _react2 = require("@carbon/react");
12
10
  var _icons = require("@carbon/react/icons");
11
+ var _react = require("@carbon/react");
12
+ var _ButtonMenu = require("../../ButtonMenu");
13
+ var _react2 = _interopRequireWildcard(require("react"));
13
14
  var _addonActions = require("@storybook/addon-actions");
14
15
  var _settings = require("../../../settings");
15
- var _ButtonMenu = require("../../ButtonMenu");
16
- var _Filtering = require("../Datagrid/addons/Filtering");
16
+ var _hooks = require("../Datagrid/addons/Filtering/hooks");
17
17
  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); }
18
18
  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; }
19
19
  /**
@@ -25,8 +25,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
25
 
26
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
27
27
  var DatagridActions = function DatagridActions(datagridState) {
28
- var _useContext = (0, _react.useContext)(_Filtering.FilterContext),
29
- setPanelOpen = _useContext.setPanelOpen;
28
+ var _useFilterContext = (0, _hooks.useFilterContext)(),
29
+ setPanelOpen = _useFilterContext.setPanelOpen;
30
30
  var selectedFlatRows = datagridState.selectedFlatRows,
31
31
  setGlobalFilter = datagridState.setGlobalFilter,
32
32
  CustomizeColumnsButton = datagridState.CustomizeColumnsButton,
@@ -51,10 +51,10 @@ var DatagridActions = function DatagridActions(datagridState) {
51
51
  }
52
52
  };
53
53
  var renderFilterFlyout = function renderFilterFlyout() {
54
- return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'flyout' && /*#__PURE__*/_react.default.createElement(FilterFlyout, getFilterFlyoutProps());
54
+ return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'flyout' && /*#__PURE__*/_react2.default.createElement(FilterFlyout, getFilterFlyoutProps());
55
55
  };
56
56
  var renderFilterPanelButton = function renderFilterPanelButton() {
57
- return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' && /*#__PURE__*/_react.default.createElement(_react2.IconButton, {
57
+ return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' && /*#__PURE__*/_react2.default.createElement(_react.IconButton, {
58
58
  kind: "ghost",
59
59
  align: "bottom",
60
60
  label: filterProps.panelIconDescription,
@@ -65,17 +65,17 @@ var DatagridActions = function DatagridActions(datagridState) {
65
65
  });
66
66
  },
67
67
  disabled: data.length === 0
68
- }, /*#__PURE__*/_react.default.createElement(_icons.Filter, null));
68
+ }, /*#__PURE__*/_react2.default.createElement(_icons.Filter, null));
69
69
  };
70
- var _useState = (0, _react.useState)(false),
70
+ var _useState = (0, _react2.useState)(false),
71
71
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
72
72
  modalOpen = _useState2[0],
73
73
  setModalOpen = _useState2[1];
74
- var _useState3 = (0, _react.useState)(window.innerWidth),
74
+ var _useState3 = (0, _react2.useState)(window.innerWidth),
75
75
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
76
76
  size = _useState4[0],
77
77
  setSize = _useState4[1];
78
- (0, _react.useLayoutEffect)(function () {
78
+ (0, _react2.useLayoutEffect)(function () {
79
79
  function updateSize() {
80
80
  setSize(window.innerWidth);
81
81
  }
@@ -86,54 +86,54 @@ var DatagridActions = function DatagridActions(datagridState) {
86
86
  }, []);
87
87
  var mobileToolbar = size < 672 ? true : false;
88
88
  var items = ['Option 1', 'Option 2', 'Option 3'];
89
- return isNothingSelected && (useDenseHeader && useDenseHeader ? /*#__PURE__*/_react.default.createElement(_react2.TableToolbarContent, {
89
+ return isNothingSelected && (useDenseHeader && useDenseHeader ? /*#__PURE__*/_react2.default.createElement(_react.TableToolbarContent, {
90
90
  size: "sm"
91
- }, !mobileToolbar ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderFilterPanelButton(), /*#__PURE__*/_react.default.createElement("div", {
91
+ }, !mobileToolbar ? /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, renderFilterPanelButton(), /*#__PURE__*/_react2.default.createElement("div", {
92
92
  style: style
93
- }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
93
+ }, /*#__PURE__*/_react2.default.createElement(_react.Button, {
94
94
  kind: "ghost",
95
95
  hasIconOnly: true,
96
96
  tooltipPosition: "bottom",
97
97
  renderIcon: _icons.Download,
98
98
  iconDescription: 'Download CSV',
99
99
  onClick: downloadCsv
100
- })), renderFilterFlyout(), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
100
+ })), renderFilterFlyout(), CustomizeColumnsButton && /*#__PURE__*/_react2.default.createElement("div", {
101
101
  style: style
102
- }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
102
+ }, /*#__PURE__*/_react2.default.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/_react2.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react2.default.createElement("div", {
103
103
  style: style,
104
104
  className: "".concat(blockClass, "__toolbar-divider")
105
- }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
105
+ }, /*#__PURE__*/_react2.default.createElement(_react.Button, {
106
106
  kind: "ghost",
107
107
  renderIcon: _icons.Add,
108
108
  iconDescription: 'Action'
109
- }, "Ghost button"))) : /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
109
+ }, "Ghost button"))) : /*#__PURE__*/_react2.default.createElement(_react.OverflowMenu, {
110
110
  "aria-label": "Tools",
111
111
  size: "md",
112
112
  flipped: true
113
- }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
113
+ }, /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
114
114
  itemText: "Filter",
115
115
  hasDivider: true,
116
116
  requireTitle: true,
117
117
  onClick: function onClick() {
118
118
  return setModalOpen(true);
119
119
  }
120
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
120
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
121
121
  itemText: "Export",
122
122
  hasDivider: true,
123
123
  requireTitle: true
124
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
124
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
125
125
  itemText: "Settings",
126
126
  hasDivider: true,
127
127
  requireTitle: true
128
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
128
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
129
129
  itemText: "Import items",
130
130
  hasDivider: true,
131
131
  requireTitle: true
132
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
132
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
133
133
  itemText: "Create",
134
134
  hasDivider: true,
135
135
  requireTitle: true
136
- }))) : !mobileToolbar ? /*#__PURE__*/_react.default.createElement(_react2.TableToolbarContent, null, renderFilterPanelButton(), /*#__PURE__*/_react.default.createElement(_react2.TableToolbarSearch, {
136
+ }))) : !mobileToolbar ? /*#__PURE__*/_react2.default.createElement(_react.TableToolbarContent, null, renderFilterPanelButton(), /*#__PURE__*/_react2.default.createElement(_react.TableToolbarSearch, {
137
137
  size: "xl",
138
138
  id: "columnSearch",
139
139
  persistent: true,
@@ -141,40 +141,40 @@ var DatagridActions = function DatagridActions(datagridState) {
141
141
  onChange: function onChange(e) {
142
142
  return setGlobalFilter(e.target.value);
143
143
  }
144
- }), renderFilterFlyout(), /*#__PURE__*/_react.default.createElement("div", {
144
+ }), renderFilterFlyout(), /*#__PURE__*/_react2.default.createElement("div", {
145
145
  style: style
146
- }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
146
+ }, /*#__PURE__*/_react2.default.createElement(_react.Button, {
147
147
  kind: "ghost",
148
148
  hasIconOnly: true,
149
149
  tooltipPosition: "bottom",
150
150
  renderIcon: _icons.Restart,
151
151
  iconDescription: 'Refresh',
152
152
  onClick: refreshColumns
153
- })), /*#__PURE__*/_react.default.createElement("div", {
153
+ })), /*#__PURE__*/_react2.default.createElement("div", {
154
154
  style: style
155
- }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
155
+ }, /*#__PURE__*/_react2.default.createElement(_react.Button, {
156
156
  kind: "ghost",
157
157
  hasIconOnly: true,
158
158
  tooltipPosition: "bottom",
159
159
  renderIcon: _icons.Download,
160
160
  iconDescription: 'Download CSV',
161
161
  onClick: downloadCsv
162
- })), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
162
+ })), CustomizeColumnsButton && /*#__PURE__*/_react2.default.createElement("div", {
163
163
  style: style
164
- }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenu, {
164
+ }, /*#__PURE__*/_react2.default.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/_react2.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react2.default.createElement(_ButtonMenu.ButtonMenu, {
165
165
  label: "Primary button",
166
166
  renderIcon: _icons.ChevronDown,
167
167
  menuOptionsClass: "".concat(blockClass, "__toolbar-options")
168
- }, /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
168
+ }, /*#__PURE__*/_react2.default.createElement(_ButtonMenu.ButtonMenuItem, {
169
169
  itemText: "Option 1",
170
170
  onClick: (0, _addonActions.action)("Click on ButtonMenu Option 1")
171
- }), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
171
+ }), /*#__PURE__*/_react2.default.createElement(_ButtonMenu.ButtonMenuItem, {
172
172
  itemText: "Option 2",
173
173
  onClick: (0, _addonActions.action)("Click on ButtonMenu Option 2")
174
- }), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
174
+ }), /*#__PURE__*/_react2.default.createElement(_ButtonMenu.ButtonMenuItem, {
175
175
  itemText: "Option 3",
176
176
  onClick: (0, _addonActions.action)("Click on ButtonMenu Option 3")
177
- }))) : /*#__PURE__*/_react.default.createElement(_react2.TableToolbarContent, null, renderFilterPanelButton(), /*#__PURE__*/_react.default.createElement(_react2.TableToolbarSearch, {
177
+ }))) : /*#__PURE__*/_react2.default.createElement(_react.TableToolbarContent, null, renderFilterPanelButton(), /*#__PURE__*/_react2.default.createElement(_react.TableToolbarSearch, {
178
178
  size: "xl",
179
179
  id: "columnSearch",
180
180
  persistent: true,
@@ -182,59 +182,59 @@ var DatagridActions = function DatagridActions(datagridState) {
182
182
  onChange: function onChange(e) {
183
183
  return setGlobalFilter(e.target.value);
184
184
  }
185
- }), renderFilterFlyout(), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
185
+ }), renderFilterFlyout(), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenu, {
186
186
  "aria-label": "Tools",
187
187
  size: "lg",
188
188
  flipped: true,
189
189
  renderIcon: _icons.ChevronDown,
190
190
  className: "".concat(blockClass, "__toolbar-menu__trigger"),
191
191
  menuOptionsClass: "".concat(blockClass, "__toolbar-options")
192
- }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
192
+ }, /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
193
193
  itemText: "Filter",
194
194
  hasDivider: true,
195
195
  requireTitle: true,
196
196
  onClick: function onClick() {
197
197
  return setModalOpen(true);
198
198
  }
199
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
199
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
200
200
  itemText: "Export",
201
201
  hasDivider: true,
202
202
  requireTitle: true
203
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
203
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
204
204
  itemText: "Settings",
205
205
  hasDivider: true,
206
206
  requireTitle: true
207
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
207
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
208
208
  itemText: "Import items",
209
209
  hasDivider: true,
210
210
  requireTitle: true
211
- }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
211
+ }), /*#__PURE__*/_react2.default.createElement(_react.OverflowMenuItem, {
212
212
  itemText: "Create",
213
213
  hasDivider: true,
214
214
  requireTitle: true
215
- })), modalOpen && /*#__PURE__*/_react.default.createElement(_react2.ComposedModal, {
215
+ })), modalOpen && /*#__PURE__*/_react2.default.createElement(_react.ComposedModal, {
216
216
  size: "lg",
217
217
  open: modalOpen && modalOpen,
218
218
  onClose: function onClose() {
219
219
  return setModalOpen(false);
220
220
  },
221
221
  className: "".concat(blockClass, "__mobile-toolbar-modal")
222
- }, /*#__PURE__*/_react.default.createElement(_react2.ModalHeader, null, /*#__PURE__*/_react.default.createElement("h4", null, "Filters")), /*#__PURE__*/_react.default.createElement(_react2.ModalBody, null, /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
222
+ }, /*#__PURE__*/_react2.default.createElement(_react.ModalHeader, null, /*#__PURE__*/_react2.default.createElement("h4", null, "Filters")), /*#__PURE__*/_react2.default.createElement(_react.ModalBody, null, /*#__PURE__*/_react2.default.createElement(_react.Dropdown, {
223
223
  initialSelectedItem: items[2],
224
224
  items: items,
225
225
  titleText: "Label",
226
226
  id: "filter1"
227
- }), /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
227
+ }), /*#__PURE__*/_react2.default.createElement(_react.Dropdown, {
228
228
  initialSelectedItem: items[2],
229
229
  items: items,
230
230
  titleText: "Label",
231
231
  id: "filter2"
232
- }), /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
232
+ }), /*#__PURE__*/_react2.default.createElement(_react.Dropdown, {
233
233
  initialSelectedItem: items[2],
234
234
  items: items,
235
235
  titleText: "Label",
236
236
  id: "filter3"
237
- })), /*#__PURE__*/_react.default.createElement(_react2.ModalFooter, {
237
+ })), /*#__PURE__*/_react2.default.createElement(_react.ModalFooter, {
238
238
  primaryButtonText: "Apply",
239
239
  secondaryButtonText: "Cancel"
240
240
  }))));
@@ -381,6 +381,12 @@ Object.defineProperty(exports, "useExpandedRow", {
381
381
  return _Datagrid.useExpandedRow;
382
382
  }
383
383
  });
384
+ Object.defineProperty(exports, "useFilterContext", {
385
+ enumerable: true,
386
+ get: function get() {
387
+ return _Datagrid.useFilterContext;
388
+ }
389
+ });
384
390
  Object.defineProperty(exports, "useFiltering", {
385
391
  enumerable: true,
386
392
  get: function get() {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.1.3",
4
+ "version": "2.3.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -94,5 +94,5 @@
94
94
  "react": "^16.8.6 || ^17.0.1",
95
95
  "react-dom": "^16.8.6 || ^17.0.1"
96
96
  },
97
- "gitHead": "8fb7c59793ba9325124d55ae01191adb45acff4e"
97
+ "gitHead": "921bd04d38883be8c837181166e3b8156210a24f"
98
98
  }
@@ -145,7 +145,7 @@ $tearsheet-class: #{$pkg-prefix}--tearsheet;
145
145
  border-bottom: 1px solid $layer-accent-01;
146
146
 
147
147
  .#{$block-class}__sidebar-title {
148
- @include type.type-style('productive-heading-02');
148
+ @include type.type-style('heading-compact-02');
149
149
  }
150
150
  }
151
151
 
@@ -177,7 +177,7 @@ $tearsheet-class: #{$pkg-prefix}--tearsheet;
177
177
  }
178
178
 
179
179
  .#{$block-class} .#{$block-class}__sidebar-item-body {
180
- @include type.type-style('body-long-01');
180
+ @include type.type-style('body-01');
181
181
 
182
182
  margin-bottom: $spacing-05;
183
183
  }
@@ -342,15 +342,15 @@ button.#{$block-class}__global-filter-toggle {
342
342
  }
343
343
 
344
344
  .#{$block-class}__meta-panel p.#{$block-class}__meta-panel-title {
345
- @include type.type-style('productive-heading-03');
345
+ @include type.type-style('heading-03');
346
346
  }
347
347
 
348
348
  .#{$block-class}__meta-panel p.#{$block-class}__meta-panel-entry-title {
349
- @include type.type-style('productive-heading-01');
349
+ @include type.type-style('heading-compact-01');
350
350
  }
351
351
 
352
352
  .#{$block-class}__meta-panel p.#{$block-class}__meta-panel-entry-body {
353
- @include type.type-style('body-short-01');
353
+ @include type.type-style('body-compact-01');
354
354
  }
355
355
 
356
356
  // overrides
@@ -391,7 +391,7 @@ button.#{$block-class}__global-filter-toggle {
391
391
  }
392
392
 
393
393
  .#{$block-class} .#{$block-class}__items-label {
394
- @include type.type-style('productive-heading-01');
394
+ @include type.type-style('heading-compact-01');
395
395
  }
396
396
 
397
397
  .#{$block-class}
@@ -41,13 +41,13 @@ $step-block-class: #{c4p-settings.$pkg-prefix}--create-full-page__step;
41
41
  }
42
42
 
43
43
  .#{$block-class} .#{$block-class}__step-subtitle {
44
- @include type.type-style('productive-heading-01');
44
+ @include type.type-style('heading-compact-01');
45
45
 
46
46
  margin-bottom: $spacing-03;
47
47
  }
48
48
 
49
49
  .#{$block-class} .#{$block-class}__step-description {
50
- @include type.type-style('body-long-01');
50
+ @include type.type-style('body-01');
51
51
 
52
52
  margin-bottom: $spacing-06;
53
53
  }
@@ -139,7 +139,7 @@ $step-block-class: #{c4p-settings.$pkg-prefix}--create-full-page__step;
139
139
  }
140
140
 
141
141
  .#{$block-class} .#{$block-class}__step-title {
142
- @include type.type-style('productive-heading-04');
142
+ @include type.type-style('heading-04');
143
143
 
144
144
  margin-bottom: $spacing-05;
145
145
  }
@@ -46,20 +46,20 @@
46
46
  }
47
47
 
48
48
  .#{c4p-settings.$pkg-prefix}--create-modal__title {
49
- @include type.type-style('productive-heading-03');
49
+ @include type.type-style('heading-03');
50
50
 
51
51
  margin-bottom: $spacing-02;
52
52
  }
53
53
 
54
54
  .#{c4p-settings.$pkg-prefix}--create-modal__subtitle {
55
- @include type.type-style('body-short-01');
55
+ @include type.type-style('body-compact-01');
56
56
 
57
57
  margin-bottom: $spacing-03;
58
58
  color: $text-secondary;
59
59
  }
60
60
 
61
61
  .#{c4p-settings.$pkg-prefix}--create-modal__description {
62
- @include type.type-style('body-long-01');
62
+ @include type.type-style('body-01');
63
63
 
64
64
  padding-right: calc(20% - #{$spacing-05});
65
65
  margin: $spacing-03 0 $spacing-05 0;
@@ -56,13 +56,13 @@ $side-panel-block-class: #{c4p-settings.$pkg-prefix}--side-panel;
56
56
  }
57
57
 
58
58
  .#{$create-side-panel-block-class}__form-title-text {
59
- @include type.type-style('productive-heading-02');
59
+ @include type.type-style('heading-compact-02');
60
60
 
61
61
  padding-bottom: $spacing-03;
62
62
  }
63
63
 
64
64
  .#{$create-side-panel-block-class}__form-description-text {
65
- @include type.type-style('body-long-01');
65
+ @include type.type-style('body-01');
66
66
  }
67
67
 
68
68
  .#{$create-side-panel-block-class}.#{$side-panel-block-class}
@@ -71,13 +71,13 @@ $side-panel-block-class: #{c4p-settings.$pkg-prefix}--side-panel;
71
71
  }
72
72
 
73
73
  .#{$create-side-panel-block-class}__title {
74
- @include type.type-style('productive-heading-03');
74
+ @include type.type-style('heading-03');
75
75
 
76
76
  margin-bottom: $spacing-02;
77
77
  }
78
78
 
79
79
  .#{$create-side-panel-block-class}__subtitle {
80
- @include type.type-style('body-short-01');
80
+ @include type.type-style('body-compact-01');
81
81
 
82
82
  margin-bottom: $spacing-03;
83
83
  color: $text-secondary;
@@ -133,7 +133,7 @@ $tearsheet-fieldset-class: #{c4p-settings.$pkg-prefix}--tearsheet-create__step--
133
133
  .#{$create-tearsheet-block-class}__section--subtitle,
134
134
  .#{$create-tearsheet-block-class}
135
135
  .#{$create-tearsheet-block-class}__step--subtitle {
136
- @include type.type-style('productive-heading-01');
136
+ @include type.type-style('heading-compact-01');
137
137
 
138
138
  margin-bottom: $spacing-03;
139
139
  }
@@ -142,7 +142,7 @@ $tearsheet-fieldset-class: #{c4p-settings.$pkg-prefix}--tearsheet-create__step--
142
142
  .#{$create-tearsheet-block-class}__section--description,
143
143
  .#{$create-tearsheet-block-class}
144
144
  .#{$create-tearsheet-block-class}__step--description {
145
- @include type.type-style('body-long-01');
145
+ @include type.type-style('body-01');
146
146
 
147
147
  margin-bottom: $spacing-06;
148
148
  }
@@ -13,7 +13,7 @@
13
13
  $preview-block-class: #{c4p-settings.$pkg-prefix}--tearsheet-create-multi-step;
14
14
 
15
15
  .#{$preview-block-class}__description {
16
- @include type.type-style('body-short-01');
16
+ @include type.type-style('body-compact-01');
17
17
 
18
18
  padding-bottom: $spacing-04;
19
19
  }
@@ -51,11 +51,11 @@ $block-class: #{c4p-settings.$pkg-prefix}--create-tearsheet-narrow;
51
51
  }
52
52
 
53
53
  .#{$block-class} .#{$block-class}__form-title-text {
54
- @include type.type-style('productive-heading-02');
54
+ @include type.type-style('heading-compact-02');
55
55
 
56
56
  padding-bottom: $spacing-03;
57
57
  }
58
58
 
59
59
  .#{$block-class} .#{$block-class}__form-description-text {
60
- @include type.type-style('body-long-01');
60
+ @include type.type-style('body-01');
61
61
  }