@carbon/ibm-products 2.0.0-rc.26 → 2.0.0-rc.27

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 (49) hide show
  1. package/css/index-full-carbon.css +60 -30
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +60 -30
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +2 -2
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +60 -30
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +60 -30
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Card/Card.js +8 -6
  18. package/es/components/Card/CardHeader.js +2 -2
  19. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +15 -20
  20. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +6 -2
  21. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
  22. package/es/components/Datagrid/Datagrid/DatagridRow.js +6 -2
  23. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -1
  24. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  25. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +11 -0
  26. package/es/components/ExpressiveCard/ExpressiveCard.js +3 -3
  27. package/es/components/PageHeader/PageHeader.js +4 -3
  28. package/es/components/ProductiveCard/ProductiveCard.js +3 -3
  29. package/lib/components/Card/Card.js +7 -5
  30. package/lib/components/Card/CardHeader.js +2 -2
  31. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +14 -19
  32. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +6 -2
  33. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
  34. package/lib/components/Datagrid/Datagrid/DatagridRow.js +6 -2
  35. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -1
  36. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  37. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +11 -0
  38. package/lib/components/ExpressiveCard/ExpressiveCard.js +3 -3
  39. package/lib/components/PageHeader/PageHeader.js +4 -3
  40. package/lib/components/ProductiveCard/ProductiveCard.js +3 -3
  41. package/package.json +2 -2
  42. package/scss/components/ActionBar/_action-bar.scss +0 -4
  43. package/scss/components/Card/_card.scss +13 -6
  44. package/scss/components/ExportModal/_export-modal.scss +0 -4
  45. package/scss/components/ExpressiveCard/_expressive-card.scss +1 -1
  46. package/scss/components/PageHeader/_page-header.scss +2 -3
  47. package/scss/components/ProductiveCard/_productive-card.scss +31 -2
  48. package/scss/components/TagSet/_tag-set.scss +1 -0
  49. package/scss/components/UserProfileImage/_user-profile-image.scss +5 -0
@@ -133,6 +133,17 @@ var useFilters = function useFilters(_ref) {
133
133
 
134
134
  filtersObjectArrayCopy.splice(_index2, 1);
135
135
  }
136
+ } else if (type === NUMBER) {
137
+ // If the value is empty remove it from the filtersObjectArray
138
+ if (value === '') {
139
+ // Find the column that uses number and displays an empty string
140
+ var _index3 = filtersObjectArrayCopy.findIndex(function (filter) {
141
+ return filter.id === column;
142
+ }); // Remove it from the filters array
143
+
144
+
145
+ filtersObjectArrayCopy.splice(_index3, 1);
146
+ }
136
147
  }
137
148
 
138
149
  setFiltersObjectArray(filtersObjectArrayCopy); // // Automatically apply the filters if the updateMethod is instant
@@ -46,12 +46,12 @@ ExpressiveCard.propTypes = {
46
46
  /**
47
47
  * Optional header description
48
48
  */
49
- description: PropTypes.string,
49
+ description: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
50
50
 
51
51
  /**
52
52
  * Optional label for the top of the card
53
53
  */
54
- label: PropTypes.string,
54
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
55
55
 
56
56
  /**
57
57
  * Optional media content like an image to be placed in the card
@@ -126,6 +126,6 @@ ExpressiveCard.propTypes = {
126
126
  /**
127
127
  * Title that's displayed at the top of the card
128
128
  */
129
- title: PropTypes.string
129
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node])
130
130
  };
131
131
  ExpressiveCard.displayName = componentName;
@@ -446,8 +446,9 @@ export var PageHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
446
446
  showAllTagsLabel: showAllTagsLabel,
447
447
  tags: tags,
448
448
  overflowClassName: "".concat(blockClass, "__navigation-tags-overflow")
449
- })) : null) : null), hasCollapseButton ? /*#__PURE__*/React.createElement(Button, {
450
- className: cx("".concat(blockClass, "__collapse-expand-toggle"), _defineProperty({}, "".concat(blockClass, "__collapse-expand-toggle--collapsed"), fullyCollapsed)),
449
+ })) : null) : null), hasCollapseButton ? /*#__PURE__*/React.createElement("div", {
450
+ className: cx("".concat(blockClass, "__collapse-expand-toggle"), _defineProperty({}, "".concat(blockClass, "__collapse-expand-toggle--collapsed"), fullyCollapsed))
451
+ }, /*#__PURE__*/React.createElement(Button, {
451
452
  hasIconOnly: true,
452
453
  iconDescription:
453
454
  /* istanbul ignore next */
@@ -463,7 +464,7 @@ export var PageHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
463
464
  tooltipPosition: "bottom",
464
465
  tooltipAlignment: "end",
465
466
  type: "button"
466
- }) : null));
467
+ })) : null));
467
468
 
468
469
  function thePageActions(isBreadcrumbRow, inBreadcrumbRow) {
469
470
  if (pageActions) {
@@ -75,12 +75,12 @@ ProductiveCard.propTypes = {
75
75
  /**
76
76
  * Optional header description
77
77
  */
78
- description: PropTypes.string,
78
+ description: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
79
79
 
80
80
  /**
81
81
  * Optional label for the top of the card
82
82
  */
83
- label: PropTypes.string,
83
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
84
84
 
85
85
  /**
86
86
  * Provides the callback for a clickable card
@@ -130,7 +130,7 @@ ProductiveCard.propTypes = {
130
130
  /**
131
131
  * Title that's displayed at the top of the card
132
132
  */
133
- title: PropTypes.string,
133
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
134
134
 
135
135
  /**
136
136
  * Determines title size
@@ -112,7 +112,9 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
112
112
  if (overflowActions.length > 0) {
113
113
  var pos = actionsPlacement === 'top' ? 'bottom' : 'top';
114
114
  var size = actionsPlacement === 'top' ? 'sm' : 'md';
115
- return /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
115
+ return /*#__PURE__*/_react.default.createElement(_react2.Layer, {
116
+ level: 2
117
+ }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
116
118
  size: size,
117
119
  direction: pos,
118
120
  flipped: true,
@@ -123,7 +125,7 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
123
125
  return /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, (0, _extends2.default)({
124
126
  key: id
125
127
  }, rest));
126
- }));
128
+ })));
127
129
  }
128
130
 
129
131
  var icons = actionIcons.map(function (_ref3) {
@@ -266,8 +268,8 @@ Card.propTypes = {
266
268
  children: _propTypes.default.node,
267
269
  className: _propTypes.default.string,
268
270
  clickZone: _propTypes.default.oneOf(['one', 'two', 'three']),
269
- description: _propTypes.default.string,
270
- label: _propTypes.default.string,
271
+ description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
272
+ label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
271
273
  media: _propTypes.default.node,
272
274
  mediaPosition: _propTypes.default.oneOf(['top', 'left']),
273
275
  onClick: _propTypes.default.func,
@@ -292,7 +294,7 @@ Card.propTypes = {
292
294
  secondaryButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
293
295
  secondaryButtonKind: _propTypes.default.oneOf(['secondary', 'ghost']),
294
296
  secondaryButtonText: _propTypes.default.string,
295
- title: _propTypes.default.string,
297
+ title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
296
298
  titleSize: _propTypes.default.oneOf(['default', 'large'])
297
299
  };
298
300
  Card.displayName = componentName;
@@ -78,7 +78,7 @@ var CardHeader = function CardHeader(_ref) {
78
78
  exports.CardHeader = CardHeader;
79
79
  CardHeader.propTypes = {
80
80
  actions: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.node]),
81
- description: _propTypes.default.string,
81
+ description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
82
82
  hasActions: _propTypes.default.bool,
83
83
  label: _propTypes.default.string,
84
84
  noActionIcons: _propTypes.default.bool,
@@ -86,7 +86,7 @@ CardHeader.propTypes = {
86
86
  primaryButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
87
87
  primaryButtonPlacement: _propTypes.default.oneOf(['top', 'bottom']),
88
88
  primaryButtonText: _propTypes.default.string,
89
- title: _propTypes.default.string,
89
+ title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
90
90
  titleSize: _propTypes.default.oneOf(['default', 'large'])
91
91
  };
92
92
  CardHeader.displayName = componentName;
@@ -17,12 +17,11 @@ var _react2 = require("@carbon/react");
17
17
 
18
18
  var _EmptyStates = require("../../EmptyStates");
19
19
 
20
- /*
21
- * Licensed Materials - Property of IBM
22
- * 5724-Q36
23
- * (c) Copyright IBM Corp. 2020
24
- * US Government Users Restricted Rights - Use, duplication or disclosure
25
- * restricted by GSA ADP Schedule Contract with IBM Corp.
20
+ /**
21
+ * Copyright IBM Corp. 2020, 2023
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.
26
25
  */
27
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
28
27
 
@@ -37,25 +36,21 @@ var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
37
36
  illustrationTheme = datagridState.illustrationTheme,
38
37
  emptyStateAction = datagridState.emptyStateAction,
39
38
  emptyStateLink = datagridState.emptyStateLink;
40
- return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
41
- className: "".concat(blockClass, "__empty-state-body")
42
- }), /*#__PURE__*/_react.default.createElement(_react2.TableRow, null, /*#__PURE__*/_react.default.createElement(_react2.TableCell, {
43
- colSpan: headers.length
44
- }, emptyStateType === 'error' && /*#__PURE__*/_react.default.createElement(_EmptyStates.ErrorEmptyState, {
45
- illustrationTheme: illustrationTheme,
46
- size: emptyStateSize,
47
- title: emptyStateTitle,
48
- subtitle: emptyStateDescription,
49
- action: emptyStateAction,
50
- link: emptyStateLink
51
- }), emptyStateType === 'noData' && /*#__PURE__*/_react.default.createElement(_EmptyStates.NoDataEmptyState, {
39
+ var emptyStateProps = {
52
40
  illustrationTheme: illustrationTheme,
53
41
  size: emptyStateSize,
54
42
  title: emptyStateTitle,
55
43
  subtitle: emptyStateDescription,
56
44
  action: emptyStateAction,
57
45
  link: emptyStateLink
58
- }))));
46
+ };
47
+ return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps({
48
+ role: false
49
+ }), {
50
+ className: "".concat(blockClass, "__empty-state-body")
51
+ }), /*#__PURE__*/_react.default.createElement(_react2.TableRow, null, /*#__PURE__*/_react.default.createElement(_react2.TableCell, {
52
+ colSpan: headers.length
53
+ }, emptyStateType === 'error' && /*#__PURE__*/_react.default.createElement(_EmptyStates.ErrorEmptyState, emptyStateProps), emptyStateType === 'noData' && /*#__PURE__*/_react.default.createElement(_EmptyStates.NoDataEmptyState, emptyStateProps), emptyStateType === 'notFound' && /*#__PURE__*/_react.default.createElement(_EmptyStates.NotFoundEmptyState, emptyStateProps))));
59
54
  };
60
55
 
61
56
  var _default = DatagridEmptyBody;
@@ -31,7 +31,9 @@ var _settings = require("../../../settings");
31
31
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
32
32
 
33
33
  var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
34
- return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
34
+ return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
35
+ role: false
36
+ }), {
35
37
  className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
36
38
  ref: headRef
37
39
  }), datagridState.headers.filter(function (_ref) {
@@ -47,7 +49,9 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
47
49
  });
48
50
  }
49
51
 
50
- return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, header.getHeaderProps(), {
52
+ return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, header.getHeaderProps({
53
+ role: false
54
+ }), {
51
55
  className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), header.canSort), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
52
56
  key: header.id
53
57
  }), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
@@ -30,7 +30,9 @@ var DatagridRefBody = function DatagridRefBody(datagridState) {
30
30
  var getTableBodyProps = datagridState.getTableBodyProps,
31
31
  rows = datagridState.rows,
32
32
  prepareRow = datagridState.prepareRow;
33
- return /*#__PURE__*/_react.default.createElement("tbody", (0, _extends2.default)({}, getTableBodyProps(), {
33
+ return /*#__PURE__*/_react.default.createElement("tbody", (0, _extends2.default)({}, getTableBodyProps({
34
+ role: false
35
+ }), {
34
36
  className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
35
37
  }), rows.map(function (row) {
36
38
  prepareRow(row);
@@ -80,7 +80,9 @@ var DatagridRow = function DatagridRow(datagridState) {
80
80
 
81
81
  return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({
82
82
  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), _cx))
83
- }, row.getRowProps(), {
83
+ }, row.getRowProps({
84
+ role: false
85
+ }), {
84
86
  key: row.id,
85
87
  onMouseEnter: function onMouseEnter(event) {
86
88
  if (!withNestedRows) {
@@ -114,7 +116,9 @@ var DatagridRow = function DatagridRow(datagridState) {
114
116
  }
115
117
  }
116
118
  }), row.cells.map(function (cell, index) {
117
- var cellProps = cell.getCellProps();
119
+ var cellProps = cell.getCellProps({
120
+ role: false
121
+ });
118
122
  var children = cellProps.children,
119
123
  restProps = (0, _objectWithoutProperties2.default)(cellProps, _excluded);
120
124
 
@@ -29,7 +29,9 @@ var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
29
29
  var getTableBodyProps = datagridState.getTableBodyProps,
30
30
  rows = datagridState.rows,
31
31
  prepareRow = datagridState.prepareRow;
32
- return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
32
+ return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps({
33
+ role: false
34
+ }), {
33
35
  className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
34
36
  }), rows.map(function (row) {
35
37
  prepareRow(row);
@@ -101,7 +101,9 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
101
101
  width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
102
102
  overflow: 'hidden'
103
103
  }
104
- }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
104
+ }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps({
105
+ role: false
106
+ }), {
105
107
  onScroll: function onScroll(e) {
106
108
  return syncScroll(e);
107
109
  }
@@ -147,6 +147,17 @@ var useFilters = function useFilters(_ref) {
147
147
 
148
148
  filtersObjectArrayCopy.splice(_index2, 1);
149
149
  }
150
+ } else if (type === _constants.NUMBER) {
151
+ // If the value is empty remove it from the filtersObjectArray
152
+ if (value === '') {
153
+ // Find the column that uses number and displays an empty string
154
+ var _index3 = filtersObjectArrayCopy.findIndex(function (filter) {
155
+ return filter.id === column;
156
+ }); // Remove it from the filters array
157
+
158
+
159
+ filtersObjectArrayCopy.splice(_index3, 1);
160
+ }
150
161
  }
151
162
 
152
163
  setFiltersObjectArray(filtersObjectArrayCopy); // // Automatically apply the filters if the updateMethod is instant
@@ -69,12 +69,12 @@ ExpressiveCard.propTypes = {
69
69
  /**
70
70
  * Optional header description
71
71
  */
72
- description: _propTypes.default.string,
72
+ description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
73
73
 
74
74
  /**
75
75
  * Optional label for the top of the card
76
76
  */
77
- label: _propTypes.default.string,
77
+ label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
78
78
 
79
79
  /**
80
80
  * Optional media content like an image to be placed in the card
@@ -149,6 +149,6 @@ ExpressiveCard.propTypes = {
149
149
  /**
150
150
  * Title that's displayed at the top of the card
151
151
  */
152
- title: _propTypes.default.string
152
+ title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node])
153
153
  };
154
154
  ExpressiveCard.displayName = componentName;
@@ -475,8 +475,9 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
475
475
  showAllTagsLabel: showAllTagsLabel,
476
476
  tags: tags,
477
477
  overflowClassName: "".concat(_PageHeaderUtils.blockClass, "__navigation-tags-overflow")
478
- })) : null) : null), hasCollapseButton ? /*#__PURE__*/_react.default.createElement(_react2.Button, {
479
- className: (0, _classnames.default)("".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle"), (0, _defineProperty2.default)({}, "".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle--collapsed"), fullyCollapsed)),
478
+ })) : null) : null), hasCollapseButton ? /*#__PURE__*/_react.default.createElement("div", {
479
+ className: (0, _classnames.default)("".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle"), (0, _defineProperty2.default)({}, "".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle--collapsed"), fullyCollapsed))
480
+ }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
480
481
  hasIconOnly: true,
481
482
  iconDescription:
482
483
  /* istanbul ignore next */
@@ -492,7 +493,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
492
493
  tooltipPosition: "bottom",
493
494
  tooltipAlignment: "end",
494
495
  type: "button"
495
- }) : null));
496
+ })) : null));
496
497
 
497
498
  function thePageActions(isBreadcrumbRow, inBreadcrumbRow) {
498
499
  if (pageActions) {
@@ -93,12 +93,12 @@ ProductiveCard.propTypes = {
93
93
  /**
94
94
  * Optional header description
95
95
  */
96
- description: _propTypes.default.string,
96
+ description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
97
97
 
98
98
  /**
99
99
  * Optional label for the top of the card
100
100
  */
101
- label: _propTypes.default.string,
101
+ label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
102
102
 
103
103
  /**
104
104
  * Provides the callback for a clickable card
@@ -148,7 +148,7 @@ ProductiveCard.propTypes = {
148
148
  /**
149
149
  * Title that's displayed at the top of the card
150
150
  */
151
- title: _propTypes.default.string,
151
+ title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
152
152
 
153
153
  /**
154
154
  * Determines title size
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.26",
4
+ "version": "2.0.0-rc.27",
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": "021c153ea593848f7c1a2049c95af0b880603c9e"
97
+ "gitHead": "33ed98e63caf4d07ba69eb8cb709fd44b3303c78"
98
98
  }
@@ -28,10 +28,6 @@ $block-class-overflow-items: #{$_block-class}-overflow-items;
28
28
  justify-content: flex-end;
29
29
  }
30
30
 
31
- .#{$block-class-overflow-items} {
32
- display: inline-block;
33
- }
34
-
35
31
  .#{$_block-class}__hidden-sizing-items {
36
32
  // This breadcrumb container is used to measure the width of all displayable breadcrumbs
37
33
  @include measuring-container;
@@ -15,18 +15,18 @@
15
15
  $block-class: #{c4p-settings.$pkg-prefix}--card;
16
16
 
17
17
  .#{$block-class} {
18
- background: $layer-01;
18
+ background-color: $layer-01;
19
19
  color: $text-primary;
20
20
  }
21
21
 
22
22
  .#{$block-class}__clickable {
23
23
  cursor: pointer;
24
24
  // stylelint-disable-next-line carbon/motion-easing-use
25
- transition: background $duration-fast-02;
25
+ transition: background-color $duration-fast-02;
26
26
  }
27
27
 
28
28
  .#{$block-class}__clickable:hover {
29
- background: $background-hover;
29
+ background-color: $layer-hover-01;
30
30
  }
31
31
 
32
32
  .#{$block-class}__media-left {
@@ -82,7 +82,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--card;
82
82
  }
83
83
 
84
84
  .#{$block-class}__body {
85
- @include type-style('body-short-01');
85
+ @include type-style('body-compact-01');
86
86
 
87
87
  padding: $spacing-05;
88
88
  padding-top: 0;
@@ -96,15 +96,22 @@ $block-class: #{c4p-settings.$pkg-prefix}--card;
96
96
  .#{$block-class}__actions {
97
97
  display: flex;
98
98
  flex-direction: row;
99
- margin: $spacing-05;
100
- margin-top: 0;
101
99
  }
102
100
 
103
101
  .#{$block-class}__icon {
102
+ padding: $spacing-03;
104
103
  color: inherit;
105
104
  cursor: pointer;
106
105
  }
107
106
 
107
+ .#{$block-class}__icon:hover {
108
+ background-color: $layer-hover-01;
109
+ }
110
+
111
+ #{$block-class}__icon:active {
112
+ color: $link-primary-hover;
113
+ }
114
+
108
115
  .#{$block-class}__link {
109
116
  color: inherit;
110
117
  text-decoration: inherit;
@@ -44,7 +44,3 @@ $block-class: #{c4p-settings.$pkg-prefix}--export-modal;
44
44
  .#{$block-class}__error-icon {
45
45
  fill: $button-danger-primary;
46
46
  }
47
-
48
- .#{c4p-settings.$carbon-prefix}--modal-content.#{$block-class}__body-container {
49
- padding-bottom: $spacing-06;
50
- }
@@ -14,5 +14,5 @@
14
14
  $block-class: #{c4p-settings.$pkg-prefix}--card;
15
15
 
16
16
  .#{$block-class}__title {
17
- @include type.type-style('productive-heading-03');
17
+ @include type.type-style('heading-03');
18
18
  }
@@ -616,7 +616,7 @@ $right-section-alt-width: 100% - $left-section-alt-width;
616
616
  background-color: $background;
617
617
  }
618
618
 
619
- .#{$carbon-prefix}--btn.#{$carbon-prefix}--btn--icon-only.#{$block-class}__collapse-expand-toggle {
619
+ .#{$block-class}__collapse-expand-toggle {
620
620
  position: absolute;
621
621
  z-index: $raised-z-index + 1;
622
622
  right: 0;
@@ -628,8 +628,7 @@ $right-section-alt-width: 100% - $left-section-alt-width;
628
628
  transition: all $duration-slow-01 motion(standard, productive);
629
629
  }
630
630
 
631
- .#{$block-class}__collapse-expand-toggle--collapsed
632
- .#{$carbon-prefix}--btn__icon {
631
+ .#{$block-class}__collapse-expand-toggle--collapsed svg {
633
632
  // transform: rotate(90deg);
634
633
  transform: scaleY(-1);
635
634
  }
@@ -21,11 +21,11 @@ $block-class: #{c4p-settings.$pkg-prefix}--card;
21
21
  }
22
22
 
23
23
  .#{$block-class}__title {
24
- @include type.type-style('productive-heading-02');
24
+ @include type.type-style('heading-compact-02');
25
25
  }
26
26
 
27
27
  .#{$block-class}__title-lg .#{$block-class}__title {
28
- @include type.type-style('productive-heading-03');
28
+ @include type.type-style('heading-03');
29
29
  }
30
30
 
31
31
  .#{$block-class}__body {
@@ -43,6 +43,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--card;
43
43
  }
44
44
 
45
45
  .#{$block-class}__actions {
46
+ min-height: $spacing-07;
46
47
  margin: 0;
47
48
  }
48
49
 
@@ -51,6 +52,34 @@ $block-class: #{c4p-settings.$pkg-prefix}--card;
51
52
  margin-right: $spacing-03;
52
53
  }
53
54
 
55
+ .#{$block-class}__actions-header-ghost-button {
56
+ min-height: $spacing-07;
57
+ padding: 0 $spacing-05;
58
+ // stylelint-disable-next-line carbon/layout-token-use
59
+ padding-right: calc($spacing-01 + $spacing-03);
60
+ // stylelint-disable-next-line carbon/layout-token-use
61
+ padding-left: calc($spacing-01 + $spacing-03);
62
+
63
+ /* stylelint-disable-next-line max-nesting-depth */
64
+ &::before {
65
+ position: absolute;
66
+ left: 0;
67
+ width: 0.05rem;
68
+ height: $spacing-06;
69
+ background-color: theme.$layer-hover-01;
70
+ content: '';
71
+ opacity: 1;
72
+ }
73
+
74
+ /* stylelint-disable-next-line max-nesting-depth */
75
+ &:hover {
76
+ /* stylelint-disable-next-line max-nesting-depth */
77
+ &::before {
78
+ opacity: 0;
79
+ }
80
+ }
81
+ }
82
+
54
83
  .#{$block-class}__title-lg .#{$block-class}__actions-header,
55
84
  .#{$block-class}__header-has-label .#{$block-class}__actions-header {
56
85
  margin-top: 0;
@@ -154,6 +154,7 @@ $block-class-modal: #{$_block-class}-modal;
154
154
  padding: 0;
155
155
  margin: 0;
156
156
  background-color: inherit;
157
+ border-radius: 0;
157
158
  color: inherit;
158
159
  text-overflow: ellipsis;
159
160
  white-space: nowrap;
@@ -92,6 +92,11 @@ $theme-keys: map-keys($themes);
92
92
  border-radius: 50%;
93
93
  }
94
94
 
95
+ .#{$carbon-prefix}--btn--ghost.#{$block-class}__tooltip:focus {
96
+ border: 0;
97
+ box-shadow: 0 0 0 $spacing-02 $focus;
98
+ }
99
+
95
100
  .#{$carbon-prefix}--tooltip__trigger .#{$block-class} svg,
96
101
  .#{$block-class}__tooltip.#{$carbon-prefix}--btn--ghost:not([disabled]) svg {
97
102
  fill: $layer-01;