@carbon/ibm-products 2.0.0-rc.8 → 2.0.0-rc.9

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 (68) hide show
  1. package/css/index-full-carbon.css +67 -21
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +4 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +67 -21
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +4 -2
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +67 -21
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +4 -2
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  14. package/es/components/AddSelect/AddSelect.js +6 -3
  15. package/es/components/AddSelect/AddSelectBody.js +50 -26
  16. package/es/components/AddSelect/AddSelectBreadcrumbs.js +1 -1
  17. package/es/components/AddSelect/AddSelectColumn.js +3 -3
  18. package/es/components/AddSelect/AddSelectFilter.js +5 -3
  19. package/es/components/AddSelect/AddSelectList.js +6 -5
  20. package/es/components/AddSelect/AddSelectMetaPanel.js +6 -0
  21. package/es/components/AddSelect/AddSelectSidebar.js +5 -2
  22. package/es/components/AddSelect/AddSelectSort.js +1 -1
  23. package/es/components/AddSelect/add-select-utils.js +7 -0
  24. package/es/components/AddSelect/hooks/useItemSort.js +6 -0
  25. package/es/components/AddSelect/hooks/useParentSelect.js +6 -0
  26. package/es/components/AddSelect/hooks/usePath.js +15 -1
  27. package/es/components/AddSelect/index.js +1 -1
  28. package/es/components/CreateFullPage/CreateFullPage.js +4 -1
  29. package/es/components/Datagrid/Datagrid/DatagridRow.js +41 -2
  30. package/es/components/Datagrid/useNestedRows.js +14 -2
  31. package/es/components/Datagrid/utils/DatagridActions.js +130 -46
  32. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  33. package/es/components/MultiAddSelect/index.js +6 -0
  34. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  35. package/es/components/SingleAddSelect/index.js +6 -0
  36. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  37. package/lib/components/AddSelect/AddSelect.js +5 -2
  38. package/lib/components/AddSelect/AddSelectBody.js +45 -25
  39. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +1 -1
  40. package/lib/components/AddSelect/AddSelectColumn.js +2 -2
  41. package/lib/components/AddSelect/AddSelectFilter.js +4 -2
  42. package/lib/components/AddSelect/AddSelectList.js +5 -4
  43. package/lib/components/AddSelect/AddSelectMetaPanel.js +6 -0
  44. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  45. package/lib/components/AddSelect/AddSelectSort.js +1 -1
  46. package/lib/components/AddSelect/add-select-utils.js +7 -0
  47. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  48. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  49. package/lib/components/AddSelect/hooks/usePath.js +9 -1
  50. package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
  51. package/lib/components/Datagrid/Datagrid/DatagridRow.js +42 -2
  52. package/lib/components/Datagrid/useNestedRows.js +15 -2
  53. package/lib/components/Datagrid/utils/DatagridActions.js +134 -44
  54. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  55. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  56. package/package.json +2 -2
  57. package/scss/components/AddSelect/_add-select.scss +24 -25
  58. package/scss/components/AddSelect/_index.scss +1 -1
  59. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  60. package/scss/components/Datagrid/_storybook-styles.scss +5 -0
  61. package/scss/components/Datagrid/styles/_datagrid.scss +49 -4
  62. package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
  63. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  64. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  65. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  66. package/scss/components/SingleAddSelect/_index.scss +7 -0
  67. package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
  68. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
@@ -28,7 +28,7 @@ var _settings = require("../../settings");
28
28
  var _UserProfileImage = require("../UserProfileImage");
29
29
 
30
30
  //
31
- // Copyright IBM Corp. 2022
31
+ // Copyright IBM Corp. 2022, 2022
32
32
  //
33
33
  // This source code is licensed under the Apache-2.0 license found in the
34
34
  // LICENSE file in the root directory of this source tree.
@@ -94,11 +94,12 @@ var AddSelectList = function AddSelectList(_ref) {
94
94
  var src = _ref4.src,
95
95
  alt = _ref4.alt,
96
96
  icon = _ref4.icon,
97
- backgroundColor = _ref4.backgroundColor;
97
+ backgroundColor = _ref4.backgroundColor,
98
+ theme = _ref4.theme;
98
99
  return {
99
100
  className: "".concat(blockClass, "-cell-avatar"),
100
101
  size: 'lg',
101
- theme: 'light',
102
+ theme: theme,
102
103
  image: src,
103
104
  imageDescription: alt,
104
105
  icon: icon,
@@ -142,7 +143,7 @@ var AddSelectList = function AddSelectList(_ref) {
142
143
 
143
144
  return /*#__PURE__*/_react.default.createElement(_react2.StructuredListRow, {
144
145
  key: item.id,
145
- className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-selected"), isSelected(item.id)), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-meta-selected"), isInMetaPanel(item.id)), _cx2)),
146
+ className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row--selected"), isSelected(item.id)), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), _cx2)),
146
147
  onClick: function onClick(evt) {
147
148
  return metaPanelHandler(item, evt);
148
149
  }
@@ -25,6 +25,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  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; }
27
27
 
28
+ //
29
+ // Copyright IBM Corp. 2022, 2022
30
+ //
31
+ // This source code is licensed under the Apache-2.0 license found in the
32
+ // LICENSE file in the root directory of this source tree.
33
+ //
28
34
  var blockClass = "".concat(_settings.pkg.prefix, "--add-select__meta-panel");
29
35
  var componentName = 'AddSelectMetaPanel';
30
36
 
@@ -31,6 +31,7 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
31
31
  var appliedModifiers = _ref.appliedModifiers,
32
32
  closeIconDescription = _ref.closeIconDescription,
33
33
  displayMetalPanel = _ref.displayMetalPanel,
34
+ illustrationTheme = _ref.illustrationTheme,
34
35
  influencerTitle = _ref.influencerTitle,
35
36
  items = _ref.items,
36
37
  metaPanelTitle = _ref.metaPanelTitle,
@@ -116,7 +117,8 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
116
117
  }, /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
117
118
  subtitle: noSelectionDescription,
118
119
  title: noSelectionTitle,
119
- size: "sm"
120
+ size: "sm",
121
+ illustrationTheme: illustrationTheme
120
122
  })));
121
123
  };
122
124
 
@@ -125,6 +127,7 @@ AddSelectSidebar.propTypes = {
125
127
  appliedModifiers: _propTypes.default.array,
126
128
  closeIconDescription: _propTypes.default.string,
127
129
  displayMetalPanel: _propTypes.default.object,
130
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
128
131
  influencerTitle: _propTypes.default.string,
129
132
  items: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
130
133
  metaPanelTitle: _propTypes.default.string,
@@ -22,7 +22,7 @@ var _icons = require("@carbon/react/icons");
22
22
  var _settings = require("../../settings");
23
23
 
24
24
  //
25
- // Copyright IBM Corp. 2022
25
+ // Copyright IBM Corp. 2022, 2022
26
26
  //
27
27
  // This source code is licensed under the Apache-2.0 license found in the
28
28
  // LICENSE file in the root directory of this source tree.
@@ -17,6 +17,13 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
17
17
 
18
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
19
 
20
+ //
21
+ // Copyright IBM Corp. 2022, 2022
22
+ //
23
+ // This source code is licensed under the Apache-2.0 license found in the
24
+ // LICENSE file in the root directory of this source tree.
25
+ //
26
+
20
27
  /**
21
28
  * to be able to more easily and efficiently the child entries the data needs to be
22
29
  * normalized. this function recursively goes through the data array to build a single
@@ -11,6 +11,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
 
12
12
  var _react = require("react");
13
13
 
14
+ //
15
+ // Copyright IBM Corp. 2022, 2022
16
+ //
17
+ // This source code is licensed under the Apache-2.0 license found in the
18
+ // LICENSE file in the root directory of this source tree.
19
+ //
14
20
  var useItemSort = function useItemSort() {
15
21
  var _useState = (0, _react.useState)(''),
16
22
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -11,6 +11,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
 
12
12
  var _react = require("react");
13
13
 
14
+ //
15
+ // Copyright IBM Corp. 2022, 2022
16
+ //
17
+ // This source code is licensed under the Apache-2.0 license found in the
18
+ // LICENSE file in the root directory of this source tree.
19
+ //
14
20
  var useParentSelect = function useParentSelect() {
15
21
  var _useState = (0, _react.useState)(null),
16
22
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -64,10 +64,18 @@ var usePath = function usePath() {
64
64
  setPath((0, _toConsumableArray2.default)(pathCopy));
65
65
  };
66
66
 
67
+ var resetPath = function resetPath() {
68
+ setPath([{
69
+ id: 'base_of_path',
70
+ title: itemsLabel
71
+ }]);
72
+ };
73
+
67
74
  return {
68
75
  path: path,
69
76
  setPath: handler,
70
- pathOnclick: pathClickHandler
77
+ pathOnclick: pathClickHandler,
78
+ resetPath: resetPath
71
79
  };
72
80
  };
73
81
 
@@ -220,7 +220,10 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
220
220
  className: "".concat(blockClass, "__modal"),
221
221
  size: "sm",
222
222
  open: modalIsOpen,
223
- "aria-label": modalTitle
223
+ "aria-label": modalTitle,
224
+ onClose: function onClose() {
225
+ setModalIsOpen(false);
226
+ }
224
227
  }, /*#__PURE__*/_react.default.createElement(_react2.ModalHeader, {
225
228
  title: modalTitle
226
229
  }), /*#__PURE__*/_react.default.createElement(_react2.ModalBody, null, /*#__PURE__*/_react.default.createElement("p", null, modalDescription)), /*#__PURE__*/_react.default.createElement(_react2.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_react2.Button, {
@@ -19,6 +19,8 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _react2 = require("@carbon/react");
21
21
 
22
+ var _layout = require("@carbon/layout");
23
+
22
24
  var _commonColumnIds = require("../common-column-ids");
23
25
 
24
26
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -37,25 +39,63 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
37
39
 
38
40
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
39
41
  var TableRow = _react2.DataTable.TableRow,
40
- TableCell = _react2.DataTable.TableCell; // eslint-disable-next-line react/prop-types
42
+ TableCell = _react2.DataTable.TableCell;
43
+ var rowHeights = {
44
+ xs: 24,
45
+ sm: 32,
46
+ md: 40,
47
+ lg: 48,
48
+ xl: 64
49
+ }; // eslint-disable-next-line react/prop-types
41
50
 
42
51
  var DatagridRow = function DatagridRow(datagridState) {
43
52
  var _cx;
44
53
 
45
- var row = datagridState.row;
54
+ var row = datagridState.row,
55
+ rowSize = datagridState.rowSize,
56
+ withNestedRows = datagridState.withNestedRows;
46
57
 
47
58
  var _useContext = (0, _react.useContext)(_InlineEditContext.InlineEditContext),
48
59
  state = _useContext.state;
49
60
 
50
61
  var activeCellId = state.activeCellId;
51
62
  var activeCellObject = activeCellId && (0, _getCellIdAsObject.getCellIdAsObject)(activeCellId);
63
+
64
+ var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
65
+ var isExpanded = _ref.isExpanded,
66
+ subRows = _ref.subRows;
67
+ var size = 0;
68
+
69
+ if (isExpanded && subRows) {
70
+ size += subRows.length;
71
+ subRows.forEach(function (child) {
72
+ size += getVisibleNestedRowCount(child);
73
+ });
74
+ }
75
+
76
+ return size;
77
+ };
78
+
52
79
  return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({
53
80
  className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), (0, _defineProperty2.default)(_cx, "".concat(_settings.carbon.prefix, "--data-table--selected"), row.isSelected), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-hover-active"), activeCellObject && row.index === activeCellObject.row), _cx))
54
81
  }, row.getRowProps(), {
55
82
  key: row.id,
56
83
  onMouseEnter: function onMouseEnter(event) {
84
+ var _hoverRow$style, _hoverRow$style2, _hoverRow$style3;
85
+
86
+ if (!withNestedRows) {
87
+ return;
88
+ }
89
+
90
+ var subRowCount = getVisibleNestedRowCount(row);
91
+ var totalNestedRowIndicatorHeight = (0, _layout.px)(subRowCount * rowHeights[rowSize]);
57
92
  var hoverRow = event.target.closest(".".concat(blockClass, "__carbon-row-expanded"));
58
93
  hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.classList.add("".concat(blockClass, "__carbon-row-expanded-hover-active"));
94
+ var rowExpanderButton = hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.querySelector(".".concat(blockClass, "__row-expander"));
95
+ var rowSizeValue = rowSize || 'lg';
96
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style = hoverRow.style) === null || _hoverRow$style === void 0 ? void 0 : _hoverRow$style.setProperty("--".concat(blockClass, "--indicator-height"), totalNestedRowIndicatorHeight);
97
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style2 = hoverRow.style) === null || _hoverRow$style2 === void 0 ? void 0 : _hoverRow$style2.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeights[rowSizeValue]));
98
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style3 = hoverRow.style) === null || _hoverRow$style3 === void 0 ? void 0 : _hoverRow$style3.setProperty("--".concat(blockClass, "--indicator-offset-amount"), (0, _layout.px)((rowExpanderButton === null || rowExpanderButton === void 0 ? void 0 : rowExpanderButton.offsetLeft) || 0));
59
99
  },
60
100
  onMouseLeave: function onMouseLeave(event) {
61
101
  var hoverRow = event.target.closest(".".concat(blockClass, "__carbon-row-expanded"));
@@ -7,8 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _settings = require("../../settings");
11
13
 
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
12
16
  var _useNestedRowExpander = _interopRequireDefault(require("./useNestedRowExpander"));
13
17
 
14
18
  /*
@@ -25,9 +29,11 @@ var useNestedRows = function useNestedRows(hooks) {
25
29
  var marginLeft = 24;
26
30
 
27
31
  var getRowProps = function getRowProps(props, _ref) {
32
+ var _cx;
33
+
28
34
  var row = _ref.row;
29
35
  return [props, {
30
- className: row.depth > 0 ? "".concat(blockClass, "__carbon-nested-row") : ''
36
+ className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), _cx))
31
37
  }];
32
38
  };
33
39
 
@@ -36,7 +42,7 @@ var useNestedRows = function useNestedRows(hooks) {
36
42
  return [props, {
37
43
  style: {
38
44
  marginLeft: "".concat(row.depth > 0 ? marginLeft : 0, "px"),
39
- paddingLeft: "".concat(row.depth > 1 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft : 0, "px"),
45
+ paddingLeft: "".concat(row.depth === 2 ? marginLeft * (row.depth - 1) + marginLeft - 8 : row.depth > 2 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft - 16 : 0, "px"),
40
46
  maxWidth: "calc(100% - ".concat(marginLeft * row.depth, "px)")
41
47
  }
42
48
  }];
@@ -56,9 +62,16 @@ var useNestedRows = function useNestedRows(hooks) {
56
62
  }];
57
63
  };
58
64
 
65
+ var useInstance = function useInstance(instance) {
66
+ Object.assign(instance, {
67
+ withNestedRows: true
68
+ });
69
+ };
70
+
59
71
  hooks.getRowProps.push(getRowProps);
60
72
  hooks.getRowProps.push(getRowStyles);
61
73
  hooks.getCellProps.push(getCellProps);
74
+ hooks.useInstance.push(useInstance);
62
75
  };
63
76
 
64
77
  var _default = useNestedRows;
@@ -2,14 +2,16 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.DatagridActions = void 0;
9
11
 
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _react2 = require("@carbon/react");
15
17
 
@@ -21,6 +23,10 @@ var _settings = require("../../../settings");
21
23
 
22
24
  var _ButtonMenu = require("../../ButtonMenu");
23
25
 
26
+ 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); }
27
+
28
+ 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; }
29
+
24
30
  /**
25
31
  * Copyright IBM Corp. 2020, 2022
26
32
  *
@@ -55,23 +61,42 @@ var DatagridActions = function DatagridActions(datagridState) {
55
61
  var searchForAColumn = 'Search';
56
62
  var isNothingSelected = selectedFlatRows.length === 0;
57
63
  var style = {
58
- 'button:nth-child(1) > span:nth-child(1)': {
64
+ 'button:nthChild(1) > span:nthChild(1)': {
59
65
  bottom: '-37px'
60
66
  }
61
67
  };
68
+
69
+ var _useState = (0, _react.useState)(false),
70
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
71
+ modalOpen = _useState2[0],
72
+ setModalOpen = _useState2[1];
73
+
74
+ var _useState3 = (0, _react.useState)(window.innerWidth),
75
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
76
+ size = _useState4[0],
77
+ setSize = _useState4[1];
78
+
79
+ (0, _react.useLayoutEffect)(function () {
80
+ function updateSize() {
81
+ setSize(window.innerWidth);
82
+ }
83
+
84
+ window.addEventListener('resize', updateSize);
85
+ return function () {
86
+ return window.removeEventListener('resize', updateSize);
87
+ };
88
+ }, []);
89
+ var mobileToolbar = size < 672 ? true : false;
90
+ var items = ['Option 1', 'Option 2', 'Option 3'];
62
91
  return isNothingSelected && (useDenseHeader && useDenseHeader ? /*#__PURE__*/_react.default.createElement(TableToolbarContent, {
63
92
  size: "sm"
64
- }, /*#__PURE__*/_react.default.createElement("div", {
93
+ }, !mobileToolbar ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
65
94
  style: style
66
95
  }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
67
96
  kind: "ghost",
68
97
  hasIconOnly: true,
69
98
  tooltipPosition: "bottom",
70
- renderIcon: function renderIcon(props) {
71
- return /*#__PURE__*/_react.default.createElement(_icons.Download, (0, _extends2.default)({
72
- size: 16
73
- }, props));
74
- },
99
+ renderIcon: _icons.Download,
75
100
  iconDescription: 'Download CSV',
76
101
  onClick: downloadCsv
77
102
  })), /*#__PURE__*/_react.default.createElement("div", {
@@ -80,11 +105,7 @@ var DatagridActions = function DatagridActions(datagridState) {
80
105
  kind: "ghost",
81
106
  hasIconOnly: true,
82
107
  tooltipPosition: "bottom",
83
- renderIcon: function renderIcon(props) {
84
- return /*#__PURE__*/_react.default.createElement(_icons.Filter, (0, _extends2.default)({
85
- size: 16
86
- }, props));
87
- },
108
+ renderIcon: _icons.Filter,
88
109
  iconDescription: 'Left panel',
89
110
  onClick: leftPanelClick
90
111
  })), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
@@ -92,30 +113,49 @@ var DatagridActions = function DatagridActions(datagridState) {
92
113
  className: "".concat(blockClass, "__toolbar-divider")
93
114
  }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
94
115
  kind: "ghost",
95
- renderIcon: function renderIcon(props) {
96
- return /*#__PURE__*/_react.default.createElement(_icons.Add, (0, _extends2.default)({
97
- size: 16
98
- }, props));
99
- },
116
+ renderIcon: _icons.Add,
100
117
  iconDescription: 'Action'
101
118
  }, "Ghost button")), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
102
119
  style: style
103
- }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Button, {
120
+ }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
121
+ ariaLabel: "Tools",
122
+ size: "md",
123
+ flipped: true
124
+ }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
125
+ itemText: "Filter",
126
+ hasDivider: true,
127
+ requireTitle: true,
128
+ onClick: function onClick() {
129
+ return setModalOpen(true);
130
+ }
131
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
132
+ itemText: "Export",
133
+ hasDivider: true,
134
+ requireTitle: true
135
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
136
+ itemText: "Settings",
137
+ hasDivider: true,
138
+ requireTitle: true
139
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
140
+ itemText: "Import items",
141
+ hasDivider: true,
142
+ requireTitle: true
143
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
144
+ itemText: "Create",
145
+ hasDivider: true,
146
+ requireTitle: true
147
+ }))) : !mobileToolbar ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Button, {
104
148
  kind: "ghost",
105
149
  hasIconOnly: true,
106
150
  tooltipPosition: "bottom",
107
- renderIcon: function renderIcon(props) {
108
- return /*#__PURE__*/_react.default.createElement(_icons.Filter, (0, _extends2.default)({
109
- size: 16
110
- }, props));
111
- },
151
+ renderIcon: _icons.Filter,
112
152
  iconDescription: 'Left panel',
113
153
  onClick: leftPanelClick
114
154
  }), /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
115
- size: "lg",
155
+ size: "xl",
116
156
  id: "columnSearch",
117
157
  persistent: true,
118
- placeholder: searchForAColumn,
158
+ placeHolderText: searchForAColumn,
119
159
  onChange: function onChange(e) {
120
160
  return setGlobalFilter(e.target.value);
121
161
  }
@@ -125,11 +165,7 @@ var DatagridActions = function DatagridActions(datagridState) {
125
165
  kind: "ghost",
126
166
  hasIconOnly: true,
127
167
  tooltipPosition: "bottom",
128
- renderIcon: function renderIcon(props) {
129
- return /*#__PURE__*/_react.default.createElement(_icons.Restart, (0, _extends2.default)({
130
- size: 16
131
- }, props));
132
- },
168
+ renderIcon: _icons.Restart,
133
169
  iconDescription: 'Refresh',
134
170
  onClick: refreshColumns
135
171
  })), /*#__PURE__*/_react.default.createElement("div", {
@@ -138,23 +174,14 @@ var DatagridActions = function DatagridActions(datagridState) {
138
174
  kind: "ghost",
139
175
  hasIconOnly: true,
140
176
  tooltipPosition: "bottom",
141
- renderIcon: function renderIcon(props) {
142
- return /*#__PURE__*/_react.default.createElement(_icons.Download, (0, _extends2.default)({
143
- size: 16
144
- }, props));
145
- },
177
+ renderIcon: _icons.Download,
146
178
  iconDescription: 'Download CSV',
147
179
  onClick: downloadCsv
148
180
  })), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
149
181
  style: style
150
182
  }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenu, {
151
- menuAriaLabel: "Primary action button menu",
152
183
  label: "Primary button",
153
- renderIcon: function renderIcon(props) {
154
- return /*#__PURE__*/_react.default.createElement(_icons.Add, (0, _extends2.default)({
155
- size: 16
156
- }, props));
157
- }
184
+ renderIcon: _icons.Add
158
185
  }, /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
159
186
  itemText: "Option 1",
160
187
  onClick: (0, _addonActions.action)("Click on ButtonMenu Option 1")
@@ -164,7 +191,70 @@ var DatagridActions = function DatagridActions(datagridState) {
164
191
  }), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
165
192
  itemText: "Option 3",
166
193
  onClick: (0, _addonActions.action)("Click on ButtonMenu Option 3")
167
- })))));
194
+ })))) : /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
195
+ size: "xl",
196
+ id: "columnSearch",
197
+ persistent: true,
198
+ placeHolderText: searchForAColumn,
199
+ onChange: function onChange(e) {
200
+ return setGlobalFilter(e.target.value);
201
+ }
202
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
203
+ ariaLabel: "Tools",
204
+ size: "lg",
205
+ flipped: true,
206
+ renderIcon: _icons.ChevronDown,
207
+ className: "".concat(blockClass, "__toolbar-menu__trigger"),
208
+ menuOptionsClass: "".concat(blockClass, "__toolbar-options")
209
+ }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
210
+ itemText: "Filter",
211
+ hasDivider: true,
212
+ requireTitle: true,
213
+ onClick: function onClick() {
214
+ return setModalOpen(true);
215
+ }
216
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
217
+ itemText: "Export",
218
+ hasDivider: true,
219
+ requireTitle: true
220
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
221
+ itemText: "Settings",
222
+ hasDivider: true,
223
+ requireTitle: true
224
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
225
+ itemText: "Import items",
226
+ hasDivider: true,
227
+ requireTitle: true
228
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
229
+ itemText: "Create",
230
+ hasDivider: true,
231
+ requireTitle: true
232
+ })), modalOpen && /*#__PURE__*/_react.default.createElement(_react2.ComposedModal, {
233
+ size: "lg",
234
+ open: modalOpen && modalOpen,
235
+ onClose: function onClose() {
236
+ return setModalOpen(false);
237
+ },
238
+ className: "".concat(blockClass, "__mobile-toolbar-modal")
239
+ }, /*#__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, {
240
+ initialSelectedItem: items[2],
241
+ items: items,
242
+ titleText: "Label",
243
+ id: "filter1"
244
+ }), /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
245
+ initialSelectedItem: items[2],
246
+ items: items,
247
+ titleText: "Label",
248
+ id: "filter2"
249
+ }), /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
250
+ initialSelectedItem: items[2],
251
+ items: items,
252
+ titleText: "Label",
253
+ id: "filter3"
254
+ })), /*#__PURE__*/_react.default.createElement(_react2.ModalFooter, {
255
+ primaryButtonText: "Apply",
256
+ secondaryButtonText: "Cancel"
257
+ }))));
168
258
  };
169
259
 
170
260
  exports.DatagridActions = DatagridActions;
@@ -25,6 +25,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  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; }
27
27
 
28
+ //
29
+ // Copyright IBM Corp. 2022, 2022
30
+ //
31
+ // This source code is licensed under the Apache-2.0 license found in the
32
+ // LICENSE file in the root directory of this source tree.
33
+ //
28
34
  var componentName = 'MultiAddSelect';
29
35
  var MultiAddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
30
36
  return /*#__PURE__*/_react.default.createElement(_AddSelect.AddSelect, (0, _extends2.default)({}, props, {
@@ -86,6 +92,11 @@ MultiAddSelect.propTypes = {
86
92
  */
87
93
  globalSearchPlaceholder: _propTypes.default.string,
88
94
 
95
+ /**
96
+ * the theme for the empty state illustration
97
+ */
98
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
99
+
89
100
  /**
90
101
  * title that displays in the sidebar / influencer
91
102
  */
@@ -106,7 +117,8 @@ MultiAddSelect.propTypes = {
106
117
  avatar: _propTypes.default.shape({
107
118
  alt: _propTypes.default.string,
108
119
  icon: _propTypes.default.func,
109
- src: _propTypes.default.string
120
+ src: _propTypes.default.string,
121
+ theme: _propTypes.default.oneOf(['light', 'dark'])
110
122
  }),
111
123
  children: _propTypes.default.object,
112
124
  icon: _propTypes.default.func,
@@ -167,15 +179,10 @@ MultiAddSelect.propTypes = {
167
179
  */
168
180
  open: _propTypes.default.bool,
169
181
 
170
- /**
171
- * description for the remove item icon
172
- */
173
- removeIconDescription: _propTypes.default.string,
174
-
175
182
  /**
176
183
  * text that displays when displaying filtered items
177
184
  */
178
- searchResultsLabel: _propTypes.default.string,
185
+ searchResultsTitle: _propTypes.default.string,
179
186
 
180
187
  /**
181
188
  * header text
@@ -27,6 +27,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
27
 
28
28
  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; }
29
29
 
30
+ //
31
+ // Copyright IBM Corp. 2022
32
+ //
33
+ // This source code is licensed under the Apache-2.0 license found in the
34
+ // LICENSE file in the root directory of this source tree.
35
+ //
30
36
  var componentName = 'SingleAddSelect';
31
37
  var SingleAddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
32
38
  // remove multi add select specific props
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.0.0-rc.8",
4
+ "version": "2.0.0-rc.9",
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": "84c6ea6511d0f4502aa315888ecb4ff108ec97f9"
97
+ "gitHead": "c3b38e1f910de3ae5691557fc340ab43cccf1108"
98
98
  }