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

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