@carbon/ibm-products 2.13.0 → 2.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. package/css/index-full-carbon.css +512 -36
  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 +34 -2
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +81 -21
  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 +62 -9
  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/AddSelect/AddSelectRow.js +1 -0
  18. package/es/components/CreateFullPage/CreateFullPage.docs-page.js +6 -0
  19. package/es/components/CreateFullPage/CreateFullPageStep.js +7 -1
  20. package/es/components/CreateInfluencer/CreateInfluencer.js +2 -1
  21. package/es/components/CreateTearsheet/CreateTearsheet.docs-page.js +7 -0
  22. package/es/components/CreateTearsheet/CreateTearsheetStep.js +8 -2
  23. package/es/components/CreateTearsheet/preview-components/MultiStepWithStepInErrorState.js +145 -0
  24. package/es/components/Datagrid/Datagrid/DatagridContent.js +6 -3
  25. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -52
  26. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -2
  27. package/es/components/Datagrid/Datagrid/addons/Filtering/OverflowCheckboxes.js +1 -1
  28. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +3 -2
  29. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +37 -24
  30. package/es/components/Datagrid/useActionsColumn.js +1 -1
  31. package/es/components/Datagrid/useSortableColumns.js +1 -1
  32. package/es/components/EditTearsheet/EditTearsheet.js +9 -7
  33. package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +12 -5
  34. package/es/components/FilterSummary/FilterSummary.js +6 -2
  35. package/es/components/TagSet/TagSet.js +11 -3
  36. package/es/components/TagSet/TagSetOverflow.js +16 -5
  37. package/es/global/js/hooks/index.js +3 -2
  38. package/es/global/js/hooks/usePrefix.js +11 -0
  39. package/es/global/js/hooks/useRetrieveStepData.js +6 -3
  40. package/es/index.js +2 -1
  41. package/lib/components/AddSelect/AddSelectRow.js +1 -0
  42. package/lib/components/CreateFullPage/CreateFullPage.docs-page.js +6 -0
  43. package/lib/components/CreateFullPage/CreateFullPageStep.js +7 -1
  44. package/lib/components/CreateInfluencer/CreateInfluencer.js +2 -1
  45. package/lib/components/CreateTearsheet/CreateTearsheet.docs-page.js +7 -0
  46. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +8 -2
  47. package/lib/components/CreateTearsheet/preview-components/MultiStepWithStepInErrorState.js +155 -0
  48. package/lib/components/Datagrid/Datagrid/DatagridContent.js +6 -3
  49. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +7 -52
  50. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -2
  51. package/lib/components/Datagrid/Datagrid/addons/Filtering/OverflowCheckboxes.js +1 -1
  52. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +3 -2
  53. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +44 -33
  54. package/lib/components/Datagrid/useActionsColumn.js +1 -1
  55. package/lib/components/Datagrid/useSortableColumns.js +1 -1
  56. package/lib/components/EditTearsheet/EditTearsheet.js +9 -7
  57. package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +12 -5
  58. package/lib/components/FilterSummary/FilterSummary.js +6 -2
  59. package/lib/components/TagSet/TagSet.js +11 -3
  60. package/lib/components/TagSet/TagSetOverflow.js +16 -5
  61. package/lib/global/js/hooks/index.js +8 -1
  62. package/lib/global/js/hooks/usePrefix.js +18 -0
  63. package/lib/global/js/hooks/useRetrieveStepData.js +6 -3
  64. package/lib/index.js +9 -1
  65. package/package.json +8 -8
  66. package/scss/components/Checklist/_checklist.scss +18 -16
  67. package/scss/components/Datagrid/_storybook-styles.scss +14 -0
  68. package/scss/components/Datagrid/styles/_useInlineEdit.scss +6 -6
  69. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +37 -1
  70. package/scss/components/TagSet/_tag-set.scss +10 -2
@@ -4,36 +4,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeStartEvent = exports.handleColumnResizeEndEvent = void 0;
7
+ exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _settings = require("../../../../settings");
10
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
- /**
13
- * Copyright IBM Corp. 2023, 2023
14
- *
15
- * This source code is licensed under the Apache-2.0 license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- */
18
-
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
14
+ * Copyright IBM Corp. 2023, 2023
15
+ *
16
+ * This source code is licensed under the Apache-2.0 license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */
19
19
  var COLUMN_RESIZE_START = 'columnStartResizing';
20
20
  var COLUMN_RESIZING = 'columnResizing';
21
21
  var COLUMN_RESIZE_END = 'columnDoneResizing';
22
22
  var INIT = 'init';
23
- var handleColumnResizeStartEvent = exports.handleColumnResizeStartEvent = function handleColumnResizeStartEvent(dispatch, headerId) {
24
- dispatch({
25
- type: COLUMN_RESIZE_START,
26
- payload: {
27
- headerId: headerId
28
- }
29
- });
30
- };
31
- var handleColumnResizeEndEvent = exports.handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId) {
23
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
24
+ var handleColumnResizeEndEvent = exports.handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
32
25
  dispatch({
33
26
  type: COLUMN_RESIZE_END,
34
27
  payload: {
35
28
  onColResizeEnd: onColResizeEnd,
36
- headerId: headerId
29
+ headerId: headerId,
30
+ isKeyEvent: isKeyEvent
37
31
  }
38
32
  });
39
33
  };
@@ -67,42 +61,45 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
67
61
  }
68
62
  case COLUMN_RESIZE_START:
69
63
  {
70
- var headerId = action.payload.headerId;
64
+ var _ref = action.payload || {},
65
+ headerId = _ref.headerId;
71
66
  return _objectSpread(_objectSpread({}, newState), {}, {
72
67
  isResizing: headerId
73
68
  });
74
69
  }
75
70
  case COLUMN_RESIZING:
76
71
  {
77
- var _ref = action.payload || {},
78
- _headerId = _ref.headerId,
79
- newWidth = _ref.newWidth,
80
- defaultWidth = _ref.defaultWidth;
72
+ var _ref2 = action.payload || {},
73
+ _headerId = _ref2.headerId,
74
+ newWidth = _ref2.newWidth,
75
+ defaultWidth = _ref2.defaultWidth;
81
76
  var newColumnWidth = {};
82
77
  if (typeof _headerId === 'undefined') {
83
78
  return _objectSpread({}, newState);
84
79
  }
85
80
  newColumnWidth[_headerId] = newWidth;
86
- var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref2) {
87
- var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
88
- _ = _ref3[0],
89
- value = _ref3[1];
81
+ var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref3) {
82
+ var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
83
+ _ = _ref4[0],
84
+ value = _ref4[1];
90
85
  return !isNaN(value);
91
86
  }));
87
+ var headerIdArray = newState.columnResizing.headerIdWidths || [];
92
88
  return _objectSpread(_objectSpread({}, newState), {}, {
93
89
  isResizing: _headerId,
94
90
  columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
95
91
  columnWidth: defaultWidth,
96
92
  columnWidths: _objectSpread(_objectSpread({}, cleanedWidths), newColumnWidth),
97
- headerIdWidths: [_headerId, newWidth]
93
+ headerIdWidths: [].concat((0, _toConsumableArray2.default)(headerIdArray), [[_headerId, newWidth]])
98
94
  })
99
95
  });
100
96
  }
101
97
  case COLUMN_RESIZE_END:
102
98
  {
103
- var _action$payload = action.payload,
104
- onColResizeEnd = _action$payload.onColResizeEnd,
105
- _headerId2 = _action$payload.headerId;
99
+ var _ref5 = action.payload || {},
100
+ onColResizeEnd = _ref5.onColResizeEnd,
101
+ _headerId2 = _ref5.headerId,
102
+ isKeyEvent = _ref5.isKeyEvent;
106
103
  var currentColumn = {};
107
104
  currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
108
105
  var allChangedColumns = newState.columnResizing.columnWidths;
@@ -110,8 +107,22 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
110
107
  if (isResizing) {
111
108
  onColResizeEnd === null || onColResizeEnd === void 0 || onColResizeEnd(currentColumn, allChangedColumns);
112
109
  }
110
+ if (!isKeyEvent) {
111
+ if (typeof isKeyEvent === 'undefined') {
112
+ // Blur resizer input if it has focus and is not from a key event resize
113
+ if (document.activeElement.classList.contains("".concat(blockClass, "__col-resizer-range"))) {
114
+ var _document;
115
+ (_document = document) === null || _document === void 0 || (_document = _document.activeElement) === null || _document === void 0 || _document.blur();
116
+ }
117
+ return;
118
+ }
119
+ }
113
120
  return _objectSpread(_objectSpread({}, newState), {}, {
114
- isResizing: false
121
+ isResizing: false,
122
+ columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
123
+ isResizingColumn: false,
124
+ startX: null
125
+ })
115
126
  });
116
127
  }
117
128
  }
@@ -91,7 +91,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
91
91
  }
92
92
  })));
93
93
  })), !isFetching && rowActions.length > 2 && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
94
- align: "top-right",
94
+ align: "left",
95
95
  size: "sm",
96
96
  flipped: true,
97
97
  onClick: function onClick(e) {
@@ -116,7 +116,7 @@ var useSortableColumns = function useSortableColumns(hooks) {
116
116
  };
117
117
  return _objectSpread(_objectSpread({}, column), {}, {
118
118
  Header: Header,
119
- minWidth: column.disableSortBy === true ? 0 : 90
119
+ minWidth: column.disableSortBy === true ? 0 : column.minWidth ? column.minWidth : 90
120
120
  });
121
121
  });
122
122
  return (_instance$customizeCo = instance.customizeColumnsProps) !== null && _instance$customizeCo !== void 0 && _instance$customizeCo.isTearsheetOpen ? visibleColumns : (0, _toConsumableArray2.default)(sortableColumns);
@@ -16,7 +16,7 @@ var _react2 = require("@carbon/react");
16
16
  var _settings = require("../../settings");
17
17
  var _devtools = require("../../global/js/utils/devtools");
18
18
  var _TearsheetShell = require("../Tearsheet/TearsheetShell");
19
- var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onHandleModalClick", "onFormChange", "sideNavAriaLabel"];
19
+ var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onRequestSubmit", "onFormChange", "sideNavAriaLabel"];
20
20
  /**
21
21
  * Copyright IBM Corp. 2022, 2023
22
22
  *
@@ -61,7 +61,7 @@ var EditTearsheet = exports.EditTearsheet = /*#__PURE__*/(0, _react.forwardRef)(
61
61
  title = _ref.title,
62
62
  _ref$verticalPosition = _ref.verticalPosition,
63
63
  verticalPosition = _ref$verticalPosition === void 0 ? defaults.verticalPosition : _ref$verticalPosition,
64
- onHandleModalClick = _ref.onHandleModalClick,
64
+ onRequestSubmit = _ref.onRequestSubmit,
65
65
  onFormChange = _ref.onFormChange,
66
66
  _ref$sideNavAriaLabel = _ref.sideNavAriaLabel,
67
67
  sideNavAriaLabel = _ref$sideNavAriaLabel === void 0 ? defaults.sideNavAriaLabel : _ref$sideNavAriaLabel,
@@ -101,13 +101,15 @@ var EditTearsheet = exports.EditTearsheet = /*#__PURE__*/(0, _react.forwardRef)(
101
101
  }
102
102
  return /*#__PURE__*/_react.default.createElement(_TearsheetShell.TearsheetShell, (0, _extends2.default)({}, rest, (0, _devtools.getDevtoolsProps)(componentName), {
103
103
  actions: [{
104
+ key: 'edit-action-button-submit',
104
105
  label: submitButtonText,
105
- onClick: onHandleModalClick,
106
+ onClick: onRequestSubmit,
106
107
  kind: 'primary'
107
108
  }, {
109
+ key: 'edit-action-button-cancel',
108
110
  label: cancelButtonText,
109
- onClick: onHandleModalClick,
110
- kind: 'secondary'
111
+ onClick: onClose,
112
+ kind: 'ghost'
111
113
  }],
112
114
  className: (0, _classnames.default)(blockClass, className),
113
115
  description: description,
@@ -187,9 +189,9 @@ EditTearsheet.propTypes = {
187
189
  */
188
190
  onFormChange: _propTypes.default.func,
189
191
  /**
190
- * Specifies whether the tearsheet is currently open.
192
+ * Specify a handler for submitting the tearsheet.
191
193
  */
192
- onHandleModalClick: _propTypes.default.func,
194
+ onRequestSubmit: _propTypes.default.func.isRequired,
193
195
  /**
194
196
  * Specifies whether the tearsheet is currently open.
195
197
  */
@@ -80,14 +80,21 @@ var MultiFormEditTearsheet = exports.MultiFormEditTearsheet = function MultiForm
80
80
  setIsInvalid(false);
81
81
  setOpen(false);
82
82
  };
83
- var handleModalClick = function handleModalClick() {
84
- setOpen(!open);
83
+ var onClose = function onClose() {
84
+ clearCreateData();
85
+ (0, _addonActions.action)('onClose')();
86
+ };
87
+ var onSubmit = function onSubmit() {
88
+ setOpen(false);
89
+ (0, _addonActions.action)('onSubmit')();
85
90
  };
86
91
  var handleFormChange = function handleFormChange() {
87
92
  (0, _addonActions.action)('handleFormChange')();
88
93
  };
89
94
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("style", null, ".".concat(blockClass, " { opacity: 0 }"), ";"), /*#__PURE__*/_react.default.createElement(_react2.Button, {
90
- onClick: handleModalClick
95
+ onClick: function onClick() {
96
+ return setOpen(!open);
97
+ }
91
98
  }, open ? 'Close EditTearsheet' : 'Open EditTearsheet'), /*#__PURE__*/_react.default.createElement(_EditTearsheet.EditTearsheet, {
92
99
  influencerWidth: influencerWidth,
93
100
  label: label,
@@ -97,8 +104,8 @@ var MultiFormEditTearsheet = exports.MultiFormEditTearsheet = function MultiForm
97
104
  description: description,
98
105
  title: title,
99
106
  open: open,
100
- onHandleModalClick: handleModalClick,
101
- onClose: clearCreateData,
107
+ onRequestSubmit: onSubmit,
108
+ onClose: onClose,
102
109
  onFormChange: handleFormChange
103
110
  }, /*#__PURE__*/_react.default.createElement(_EditTearsheetForm.EditTearsheetForm, {
104
111
  title: "Topic name",
@@ -33,7 +33,9 @@ var FilterSummary = /*#__PURE__*/_react2.default.forwardRef(function (_ref, ref)
33
33
  _ref$filters = _ref.filters,
34
34
  filters = _ref$filters === void 0 ? [] : _ref$filters,
35
35
  _ref$renderLabel = _ref.renderLabel,
36
- renderLabel = _ref$renderLabel === void 0 ? null : _ref$renderLabel;
36
+ renderLabel = _ref$renderLabel === void 0 ? null : _ref$renderLabel,
37
+ _ref$overflowType = _ref.overflowType,
38
+ overflowType = _ref$overflowType === void 0 ? 'default' : _ref$overflowType;
37
39
  var tagFilters = filters.map(function (_ref2) {
38
40
  var _renderLabel;
39
41
  var key = _ref2.key,
@@ -52,7 +54,8 @@ var FilterSummary = /*#__PURE__*/_react2.default.forwardRef(function (_ref, ref)
52
54
  allTagsModalSearchPlaceholderText: "Search all tags",
53
55
  allTagsModalTitle: "All tags",
54
56
  showAllTagsLabel: "View all tags",
55
- tags: tagFilters
57
+ tags: tagFilters,
58
+ overflowType: overflowType
56
59
  }), /*#__PURE__*/_react2.default.createElement(_react.Button, {
57
60
  kind: "ghost",
58
61
  size: "sm",
@@ -66,6 +69,7 @@ FilterSummary.propTypes = {
66
69
  clearFilters: _propTypes.default.func.isRequired,
67
70
  clearFiltersText: _propTypes.default.string,
68
71
  filters: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
72
+ overflowType: _propTypes.default.oneOf(['default', 'tag']),
69
73
  renderLabel: _propTypes.default.func
70
74
  };
71
75
  var _default = exports.default = FilterSummary;
@@ -20,7 +20,7 @@ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
20
20
  var _devtools = require("../../global/js/utils/devtools");
21
21
  var _propsHelper = require("../../global/js/utils/props-helper");
22
22
  var _settings = require("../../settings");
23
- var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
23
+ var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
24
24
  _excluded2 = ["label", "id"],
25
25
  _excluded3 = ["label"]; //
26
26
  // Copyright IBM Corp. 2020, 2022
@@ -39,7 +39,8 @@ var allTagsModalSearchThreshold = 10;
39
39
  // Default values for props
40
40
  var defaults = {
41
41
  align: 'start',
42
- overflowAlign: 'bottom'
42
+ overflowAlign: 'bottom',
43
+ overflowType: 'default'
43
44
  };
44
45
  var TagSet = exports.TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
45
46
  var _ref$align = _ref.align,
@@ -51,6 +52,8 @@ var TagSet = exports.TagSet = /*#__PURE__*/_react.default.forwardRef(function (_
51
52
  _ref$overflowAlign = _ref.overflowAlign,
52
53
  overflowAlign = _ref$overflowAlign === void 0 ? defaults.overflowAlign : _ref$overflowAlign,
53
54
  overflowClassName = _ref.overflowClassName,
55
+ _ref$overflowType = _ref.overflowType,
56
+ overflowType = _ref$overflowType === void 0 ? defaults.overflowType : _ref$overflowType,
54
57
  allTagsModalTitle = _ref.allTagsModalTitle,
55
58
  allTagsModalSearchLabel = _ref.allTagsModalSearchLabel,
56
59
  allTagsModalSearchPlaceholderText = _ref.allTagsModalSearchPlaceholderText,
@@ -131,12 +134,13 @@ var TagSet = exports.TagSet = /*#__PURE__*/_react.default.forwardRef(function (_
131
134
  onShowAllClick: handleShowAllClick,
132
135
  overflowTags: newOverflowTags,
133
136
  overflowAlign: overflowAlign,
137
+ overflowType: overflowType,
134
138
  showAllTagsLabel: showAllTagsLabel,
135
139
  key: "displayed-tag-overflow",
136
140
  ref: overflowTag
137
141
  }));
138
142
  setDisplayedTags(newDisplayedTags);
139
- }, [displayCount, overflowAlign, overflowClassName, showAllTagsLabel, tags]);
143
+ }, [displayCount, overflowAlign, overflowClassName, overflowType, showAllTagsLabel, tags]);
140
144
  var checkFullyVisibleTags = (0, _react.useCallback)(function () {
141
145
  if (multiline) {
142
146
  return setDisplayCount(maxVisible);
@@ -285,6 +289,10 @@ TagSet.propTypes = {
285
289
  * overflowClassName for the tooltip popup
286
290
  */
287
291
  overflowClassName: _propTypes.default.string,
292
+ /**
293
+ * Type of rendering displayed inside of the tag overflow component
294
+ */
295
+ overflowType: _propTypes.default.oneOf(['default', 'tag']),
288
296
  /**
289
297
  * label for the overflow show all tags link.
290
298
  *
@@ -16,7 +16,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _react2 = require("@carbon/react");
17
17
  var _hooks = require("../../global/js/hooks");
18
18
  var _settings = require("../../settings");
19
- var _excluded = ["allTagsModalSearchThreshold", "className", "onShowAllClick", "overflowAlign", "overflowTags", "showAllTagsLabel"]; //
19
+ var _excluded = ["allTagsModalSearchThreshold", "className", "onShowAllClick", "overflowAlign", "overflowTags", "overflowType", "showAllTagsLabel"]; //
20
20
  // Copyright IBM Corp. 2021, 2022
21
21
  //
22
22
  // This source code is licensed under the Apache-2.0 license found in the
@@ -40,6 +40,7 @@ var TagSetOverflow = exports.TagSetOverflow = /*#__PURE__*/_react.default.forwar
40
40
  _ref$overflowAlign = _ref.overflowAlign,
41
41
  overflowAlign = _ref$overflowAlign === void 0 ? defaults.overflowAlign : _ref$overflowAlign,
42
42
  overflowTags = _ref.overflowTags,
43
+ overflowType = _ref.overflowType,
43
44
  showAllTagsLabel = _ref.showAllTagsLabel,
44
45
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
46
  var _useState = (0, _react.useState)(false),
@@ -89,12 +90,18 @@ var TagSetOverflow = exports.TagSetOverflow = /*#__PURE__*/_react.default.forwar
89
90
  }, overflowTags.filter(function (_, index) {
90
91
  return overflowTags.length > allTagsModalSearchThreshold ? index < allTagsModalSearchThreshold : index <= allTagsModalSearchThreshold;
91
92
  }).map(function (tag, index) {
93
+ var _cx2;
94
+ var tagProps = {};
95
+ if (overflowType === 'tag') {
96
+ tagProps.type = 'high-contrast';
97
+ }
98
+ if (overflowType === 'default') {
99
+ tagProps.filter = false;
100
+ }
92
101
  return /*#__PURE__*/_react.default.createElement("li", {
93
- className: "".concat(blockClass, "__tag-item"),
102
+ className: (0, _classnames.default)("".concat(blockClass, "__tag-item"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "__tag-item--default"), overflowType === 'default'), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "__tag-item--tag"), overflowType === 'tag'), _cx2)),
94
103
  key: index
95
- }, /*#__PURE__*/_react.default.cloneElement(tag, {
96
- filter: false
97
- }));
104
+ }, /*#__PURE__*/_react.default.cloneElement(tag, tagProps));
98
105
  })), overflowTags.length > allTagsModalSearchThreshold && /*#__PURE__*/_react.default.createElement(_react2.Link, {
99
106
  className: "".concat(blockClass, "__show-all-tags-link"),
100
107
  href: "",
@@ -124,6 +131,10 @@ TagSetOverflow.propTypes = {
124
131
  * tags shown in overflow
125
132
  */
126
133
  overflowTags: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
134
+ /**
135
+ * Type of rendering displayed inside of the tag overflow component
136
+ */
137
+ overflowType: _propTypes.default.oneOf(['default', 'tag']),
127
138
  /**
128
139
  * label for the overflow show all tags link
129
140
  */
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "useNearestScroll", {
39
39
  return _useWindowScroll.useNearestScroll;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "usePrefix", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _usePrefix.usePrefix;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "usePreviousValue", {
43
49
  enumerable: true,
44
50
  get: function get() {
@@ -85,4 +91,5 @@ var _usePreviousValue = require("./usePreviousValue");
85
91
  var _useResetCreateComponent = require("./useResetCreateComponent");
86
92
  var _useRetrieveStepData = require("./useRetrieveStepData");
87
93
  var _useValidCreateStepCount = require("./useValidCreateStepCount");
88
- var _useControllableState = require("./useControllableState");
94
+ var _useControllableState = require("./useControllableState");
95
+ var _usePrefix = require("./usePrefix");
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.usePrefix = void 0;
8
+ var _packageSettings = _interopRequireDefault(require("../package-settings"));
9
+ /**
10
+ * Copyright IBM Corp. 2023, 2023
11
+ *
12
+ * This source code is licensed under the Apache-2.0 license found in the
13
+ * LICENSE file in the root directory of this source tree.
14
+ */
15
+
16
+ var usePrefix = exports.usePrefix = function usePrefix() {
17
+ return _packageSettings.default.prefix;
18
+ };
@@ -16,11 +16,12 @@ var _react = require("react");
16
16
 
17
17
  /**
18
18
  * This useEffect makes sure that every CreateTearsheetStep/CreateFullPageStep reports back it's
19
- * title, secondaryLabel, introStep, and shouldIncludeStep data so that it can be sent to the CreateInfluencer.
19
+ * title, secondaryLabel, introStep, invalid and shouldIncludeStep data so that it can be sent to the CreateInfluencer.
20
20
  * @param {object} useResetCreateComponent
21
21
  * @param {object} useResetCreateComponent.stepsContext
22
22
  * @param {number} useResetCreateComponent.stepNumber
23
23
  * @param {boolean} useResetCreateComponent.introStep
24
+ * @param {boolean} useResetCreateComponent.invalid
24
25
  * @param {boolean} useResetCreateComponent.shouldIncludeStep
25
26
  * @param {string} useResetCreateComponent.secondaryLabel
26
27
  * @param {string} useResetCreateComponent.title
@@ -29,6 +30,7 @@ var useRetrieveStepData = exports.useRetrieveStepData = function useRetrieveStep
29
30
  var stepsContext = _ref.stepsContext,
30
31
  stepNumber = _ref.stepNumber,
31
32
  introStep = _ref.introStep,
33
+ invalid = _ref.invalid,
32
34
  shouldIncludeStep = _ref.shouldIncludeStep,
33
35
  secondaryLabel = _ref.secondaryLabel,
34
36
  title = _ref.title;
@@ -39,10 +41,11 @@ var useRetrieveStepData = exports.useRetrieveStepData = function useRetrieveStep
39
41
  title: title,
40
42
  secondaryLabel: secondaryLabel,
41
43
  introStep: introStep,
44
+ invalid: invalid,
42
45
  shouldIncludeStep: shouldIncludeStep
43
46
  };
44
47
  var previousItem = prev[stepNumber - 1];
45
- if ((previousItem === null || previousItem === void 0 ? void 0 : previousItem.title) !== stepItem.title || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.secondaryLabel) !== stepItem.secondaryLabel || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.introStep) !== stepItem.introStep || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.shouldIncludeStep) !== stepItem.shouldIncludeStep) {
48
+ if ((previousItem === null || previousItem === void 0 ? void 0 : previousItem.title) !== stepItem.title || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.secondaryLabel) !== stepItem.secondaryLabel || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.introStep) !== stepItem.introStep || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.shouldIncludeStep) !== stepItem.shouldIncludeStep || (previousItem === null || previousItem === void 0 ? void 0 : previousItem.invalid) !== stepItem.invalid) {
46
49
  var clone = (0, _toConsumableArray2.default)(prev);
47
50
  clone[stepNumber - 1] = stepItem;
48
51
  return clone;
@@ -50,5 +53,5 @@ var useRetrieveStepData = exports.useRetrieveStepData = function useRetrieveStep
50
53
  return prev;
51
54
  });
52
55
  }
53
- }, [shouldIncludeStep, title, secondaryLabel, introStep, stepsContext, stepNumber]);
56
+ }, [shouldIncludeStep, title, secondaryLabel, introStep, invalid, stepsContext, stepNumber]);
54
57
  };
package/lib/index.js CHANGED
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- pkg: true
7
+ pkg: true,
8
+ usePrefix: true
8
9
  };
9
10
  Object.defineProperty(exports, "pkg", {
10
11
  enumerable: true,
@@ -12,7 +13,14 @@ Object.defineProperty(exports, "pkg", {
12
13
  return _settings.pkg;
13
14
  }
14
15
  });
16
+ Object.defineProperty(exports, "usePrefix", {
17
+ enumerable: true,
18
+ get: function get() {
19
+ return _hooks.usePrefix;
20
+ }
21
+ });
15
22
  var _settings = require("./settings");
23
+ var _hooks = require("./global/js/hooks");
16
24
  var _components = require("./components");
17
25
  Object.keys(_components).forEach(function (key) {
18
26
  if (key === "default" || key === "__esModule") return;
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.13.0",
4
+ "version": "2.15.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -87,14 +87,14 @@
87
87
  "react-window": "^1.8.9"
88
88
  },
89
89
  "peerDependencies": {
90
- "@carbon/grid": "^11.20.0",
91
- "@carbon/layout": "^11.19.0",
92
- "@carbon/motion": "^11.15.0",
93
- "@carbon/react": "^1.40.0",
94
- "@carbon/themes": "^11.25.0",
95
- "@carbon/type": "^11.24.0",
90
+ "@carbon/grid": "^11.21.1",
91
+ "@carbon/layout": "^11.20.1",
92
+ "@carbon/motion": "^11.16.1",
93
+ "@carbon/react": "^1.41.1",
94
+ "@carbon/themes": "^11.26.1",
95
+ "@carbon/type": "^11.25.1",
96
96
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
97
97
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
98
98
  },
99
- "gitHead": "0f226a6af5fd9c21aa5d39f26266f561895385b9"
99
+ "gitHead": "71e9863315eb75b25df98cf9989f7bca88a10718"
100
100
  }
@@ -25,10 +25,10 @@
25
25
  // The block part of our conventional BEM class names (blockClass__E--M).
26
26
  $block-class: #{c4p-settings.$pkg-prefix}--checklist;
27
27
 
28
- // .#{$block-class} {
29
28
  .#{$block-class}__header {
30
29
  display: flex;
31
30
  padding: $spacing-05;
31
+ border-bottom: 1px solid $border-subtle-01;
32
32
  background-color: $layer-01;
33
33
  gap: $spacing-03;
34
34
  }
@@ -78,8 +78,8 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
78
78
  }
79
79
 
80
80
  // TOGGLE
81
- // The <iconbutton> itself (class="...__toggle") is embedded inside two more tags,
82
- // which do not accept any classnames passed via the <iconbutton>.
81
+ // The <IconButton> itself (class="...__toggle") is embedded inside two more tags,
82
+ // which do not accept any class names passed via the <IconButton>.
83
83
  // So, we have to refer to it via it's "tooltip" wrapper element. :/
84
84
  .#{$block-class}__header .#{c4p-settings.$carbon-prefix}--tooltip {
85
85
  height: 2rem;
@@ -107,6 +107,8 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
107
107
  // Override Primary button styling to appear more like a link.
108
108
  // "Unset" some settings to allow an inner div to enable multiple lines and an ellipsis if req'd.
109
109
  .#{$block-class}__button.#{c4p-settings.$carbon-prefix}--btn--primary {
110
+ @include type-style('body-short-01');
111
+
110
112
  max-width: none;
111
113
  min-height: auto;
112
114
  // override bx--btn to allow two-line ellipsis
@@ -117,8 +119,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
117
119
  background-color: transparent;
118
120
  color: $link-primary;
119
121
  }
120
- // The CSS for the Carbon button's label
121
- // is incompatible with two-line ellipsis,
122
+ // The CSS for the Carbon button's label is incompatible with two-line ellipsis,
122
123
  // but a div inside a Carbon button works.
123
124
  .#{$block-class}__button.#{c4p-settings.$carbon-prefix}--btn--primary div {
124
125
  @include ellipsis-2-lines();
@@ -136,11 +137,6 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
136
137
  text-decoration: underline;
137
138
  }
138
139
 
139
- .#{$block-class}__button--error {
140
- /* stylelint-disable-next-line declaration-no-important */
141
- color: $text-error !important;
142
- }
143
-
144
140
  // container for animated content
145
141
  .#{$block-class}__content-outer {
146
142
  overflow: hidden;
@@ -167,6 +163,9 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
167
163
  padding: $spacing-05;
168
164
  border-top: 1px solid $border-subtle-01;
169
165
  }
166
+ .#{$block-class}__list-group:first-of-type {
167
+ border-top: none;
168
+ }
170
169
 
171
170
  .#{$block-class}__list-title {
172
171
  @include type-style('body-short-01');
@@ -185,9 +184,14 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
185
184
  }
186
185
 
187
186
  .#{$block-class}__icon {
188
- /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
187
+ /* stylelint-disable-next-line */
189
188
  margin: to-rem(1px) $spacing-03 0 0;
190
- color: $link-primary;
189
+ color: $icon-primary;
190
+ }
191
+
192
+ .#{$block-class}__icon--checked,
193
+ .#{$block-class}__icon--indeterminate {
194
+ color: $interactive;
191
195
  }
192
196
 
193
197
  .#{$block-class}__icon--error {
@@ -203,9 +207,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
203
207
  @include ellipsis-2-lines();
204
208
  }
205
209
 
206
- .#{$block-class}__label--checked,
207
- .#{$block-class}__label--disabled,
208
- .#{$block-class}__label--error {
210
+ .#{$block-class}__label--disabled {
209
211
  color: $text-disabled;
210
212
  }
211
213
 
@@ -213,5 +215,5 @@ $block-class: #{c4p-settings.$pkg-prefix}--checklist;
213
215
  @include ellipsis-2-lines();
214
216
 
215
217
  padding: $spacing-03 $spacing-05;
216
- border-top: 1px solid $border-subtle;
218
+ border-top: 1px solid $border-subtle-01;
217
219
  }
@@ -8,6 +8,7 @@
8
8
  @use '@carbon/styles/scss/theme' as *;
9
9
  @use '@carbon/styles/scss/type';
10
10
  @use '@carbon/styles/scss/spacing' as *;
11
+ @use '@carbon/styles/scss/components/tooltip';
11
12
 
12
13
  @use 'ALIAS_STORY_STYLE_CONFIG' as c4p-settings;
13
14
 
@@ -141,3 +142,16 @@ div[data-story-title*='#{$story-anchor}']
141
142
  overflow: auto;
142
143
  width: 100%;
143
144
  }
145
+
146
+ .sb--tooltip-trigger {
147
+ display: flex;
148
+ box-sizing: border-box;
149
+ align-items: center;
150
+ justify-content: center;
151
+ padding: 0;
152
+ border: 0;
153
+ margin: 0;
154
+ background: none;
155
+ cursor: pointer;
156
+ text-align: start;
157
+ }