@carbon/ibm-products 2.1.3 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }