@carbon/ibm-products 1.9.0 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. package/css/index-full-carbon.css +364 -5838
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +5 -5
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +68 -3430
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +3 -3
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +185 -4098
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +5 -5
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +302 -4099
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +5 -5
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AddSelect/AddSelect.js +98 -92
  18. package/es/components/AddSelect/AddSelectColumn.js +219 -8
  19. package/es/components/AddSelect/AddSelectList.js +5 -5
  20. package/es/components/AddSelect/AddSelectSidebar.js +3 -15
  21. package/es/components/AddSelect/add-select-utils.js +64 -0
  22. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +2 -1
  23. package/es/components/ButtonMenu/ButtonMenu.js +12 -4
  24. package/es/components/DataSpreadsheet/DataSpreadsheet.js +480 -182
  25. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +124 -81
  26. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +74 -8
  27. package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +27 -0
  28. package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +28 -0
  29. package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +41 -0
  30. package/es/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +34 -0
  31. package/es/components/DataSpreadsheet/{createActiveCellFn.js → utils/createActiveCellFn.js} +21 -8
  32. package/es/components/DataSpreadsheet/{createCellSelectionArea.js → utils/createCellSelectionArea.js} +8 -4
  33. package/es/components/DataSpreadsheet/{generateData.js → utils/generateData.js} +6 -0
  34. package/es/components/DataSpreadsheet/{getCellSize.js → utils/getCellSize.js} +0 -0
  35. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +46 -0
  36. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +82 -0
  37. package/es/components/DataSpreadsheet/utils/removeCellSelections.js +30 -0
  38. package/es/components/InlineEdit/InlineEdit.js +58 -27
  39. package/es/components/OptionsTile/OptionsTile.js +31 -21
  40. package/es/components/OptionsTile/index.js +1 -1
  41. package/es/components/PageHeader/PageHeader.js +26 -15
  42. package/es/components/PageHeader/PageHeaderTitle.js +2 -1
  43. package/es/components/PageHeader/PageHeaderUtils.js +24 -29
  44. package/es/components/TagSet/TagSet.js +12 -3
  45. package/es/components/UserProfileImage/UserProfileImage.js +2 -1
  46. package/es/components/index.js +0 -1
  47. package/es/global/js/package-settings.js +1 -2
  48. package/lib/components/AddSelect/AddSelect.js +101 -92
  49. package/lib/components/AddSelect/AddSelectColumn.js +232 -13
  50. package/lib/components/AddSelect/AddSelectList.js +5 -5
  51. package/lib/components/AddSelect/AddSelectSidebar.js +9 -15
  52. package/lib/components/AddSelect/add-select-utils.js +78 -0
  53. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +2 -1
  54. package/lib/components/ButtonMenu/ButtonMenu.js +12 -4
  55. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +490 -186
  56. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +127 -82
  57. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +82 -9
  58. package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +37 -0
  59. package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +39 -0
  60. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +52 -0
  61. package/lib/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +45 -0
  62. package/lib/components/DataSpreadsheet/{createActiveCellFn.js → utils/createActiveCellFn.js} +21 -8
  63. package/lib/components/DataSpreadsheet/{createCellSelectionArea.js → utils/createCellSelectionArea.js} +8 -4
  64. package/lib/components/DataSpreadsheet/{generateData.js → utils/generateData.js} +6 -0
  65. package/lib/components/DataSpreadsheet/{getCellSize.js → utils/getCellSize.js} +0 -0
  66. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +59 -0
  67. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +92 -0
  68. package/lib/components/DataSpreadsheet/utils/removeCellSelections.js +41 -0
  69. package/lib/components/InlineEdit/InlineEdit.js +60 -28
  70. package/lib/components/OptionsTile/OptionsTile.js +30 -20
  71. package/lib/components/PageHeader/PageHeader.js +25 -15
  72. package/lib/components/PageHeader/PageHeaderTitle.js +2 -1
  73. package/lib/components/PageHeader/PageHeaderUtils.js +24 -29
  74. package/lib/components/TagSet/TagSet.js +13 -3
  75. package/lib/components/UserProfileImage/UserProfileImage.js +2 -1
  76. package/lib/components/index.js +0 -8
  77. package/lib/global/js/package-settings.js +1 -2
  78. package/package.json +17 -17
  79. package/scss/components/AddSelect/_add-select.scss +47 -14
  80. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +7 -3
  81. package/scss/components/CreateInfluencer/_create-influencer.scss +2 -0
  82. package/scss/components/CreateModal/_create-modal.scss +1 -0
  83. package/scss/components/CreateSidePanel/_create-side-panel.scss +1 -1
  84. package/scss/components/CreateSidePanel/_storybook-styles.scss +1 -1
  85. package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -0
  86. package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +1 -0
  87. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +25 -7
  88. package/scss/components/EditSidePanel/_edit-side-panel.scss +9 -0
  89. package/scss/components/EditSidePanel/_storybook-styles.scss +1 -1
  90. package/scss/components/InlineEdit/_inline-edit.scss +46 -39
  91. package/scss/components/InlineEdit/_storybook-styles.scss +1 -0
  92. package/scss/components/ModifiedTabs/_modified-tabs.scss +5 -0
  93. package/scss/components/NotificationsPanel/_notifications-panel.scss +10 -3
  94. package/scss/components/OptionsTile/_index.scss +1 -1
  95. package/scss/components/OptionsTile/_options-tile.scss +17 -17
  96. package/scss/components/OptionsTile/_storybook-styles.scss +4 -4
  97. package/scss/components/PageHeader/_page-header.scss +5 -2
  98. package/scss/components/SidePanel/_side-panel.scss +19 -12
  99. package/scss/components/StatusIcon/_status-icon.scss +1 -0
  100. package/scss/components/Tearsheet/_tearsheet.scss +4 -0
  101. package/scss/components/UserProfileImage/_user-profile-image.scss +9 -0
  102. package/scss/components/WebTerminal/_web-terminal.scss +2 -0
  103. package/scss/components/_index.scss +0 -1
  104. package/es/components/LoadingBar/LoadingBar.js +0 -156
  105. package/es/components/LoadingBar/index.js +0 -7
  106. package/lib/components/LoadingBar/LoadingBar.js +0 -170
  107. package/lib/components/LoadingBar/index.js +0 -13
  108. package/scss/components/LoadingBar/_index.scss +0 -8
  109. package/scss/components/LoadingBar/_loading-bar.scss +0 -211
  110. package/scss/components/LoadingBar/_storybook-styles.scss +0 -14
@@ -51,7 +51,7 @@ var _PageHeaderUtils = require("./PageHeaderUtils");
51
51
 
52
52
  var _PageHeaderTitle = require("./PageHeaderTitle");
53
53
 
54
- var _excluded = ["actionBarItems", "actionBarMenuOptionsClass", "actionBarOverflowAriaLabel", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "allTagsModalTitle", "hasBackgroundAlways", "breadcrumbOverflowAriaLabel", "breadcrumbs", "children", "className", "collapseHeader", "collapseHeaderIconDescription", "collapseTitle", "disableBreadcrumbScroll", "expandHeaderIconDescription", "fullWidthGrid", "hasCollapseHeaderToggle", "narrowGrid", "navigation", "pageActions", "pageActionsOverflowLabel", "pageActionsMenuOptionsClass", "showAllTagsLabel", "subtitle", "tags", "title", "withoutBackground"];
54
+ var _excluded = ["actionBarItems", "actionBarMenuOptionsClass", "actionBarOverflowAriaLabel", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "allTagsModalTitle", "hasBackgroundAlways", "breadcrumbOverflowAriaLabel", "breadcrumbs", "children", "className", "collapseHeader", "collapseHeaderIconDescription", "collapseTitle", "disableBreadcrumbScroll", "enableBreadcrumbScroll", "expandHeaderIconDescription", "fullWidthGrid", "hasCollapseHeaderToggle", "narrowGrid", "navigation", "pageActions", "pageActionsOverflowLabel", "pageActionsMenuOptionsClass", "showAllTagsLabel", "subtitle", "tags", "title", "withoutBackground"];
55
55
 
56
56
  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); }
57
57
 
@@ -69,7 +69,7 @@ var defaults = {
69
69
  };
70
70
 
71
71
  var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
72
- var _withoutBackground, _ref6, _cx2, _ref7, _cx4, _cx7;
72
+ var _withoutBackground, _enableBreadcrumbScro, _ref6, _cx2, _ref7, _cx4, _cx7;
73
73
 
74
74
  var actionBarItems = _ref.actionBarItems,
75
75
  actionBarMenuOptionsClass = _ref.actionBarMenuOptionsClass,
@@ -85,7 +85,8 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
85
85
  collapseHeader = _ref.collapseHeader,
86
86
  collapseHeaderIconDescription = _ref.collapseHeaderIconDescription,
87
87
  collapseTitle = _ref.collapseTitle,
88
- disableBreadcrumbScroll = _ref.disableBreadcrumbScroll,
88
+ deprecated_disableBreadcrumbScroll = _ref.disableBreadcrumbScroll,
89
+ enableBreadcrumbScroll = _ref.enableBreadcrumbScroll,
89
90
  expandHeaderIconDescription = _ref.expandHeaderIconDescription,
90
91
  _ref$fullWidthGrid = _ref.fullWidthGrid,
91
92
  fullWidthGrid = _ref$fullWidthGrid === void 0 ? defaults.fullWidthGrid : _ref$fullWidthGrid,
@@ -103,8 +104,10 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
103
104
  withoutBackground = _ref.withoutBackground,
104
105
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
105
106
  // handle deprecated props - START
106
- // if withoutBackground is null check deprecated_hasBackgroundAlways and default false
107
- (_withoutBackground = withoutBackground) !== null && _withoutBackground !== void 0 ? _withoutBackground : withoutBackground = !(deprecated_hasBackgroundAlways !== null && deprecated_hasBackgroundAlways !== void 0 ? deprecated_hasBackgroundAlways : true); // handle deprecated props - END
107
+ // if withoutBackground is nullish check deprecated_hasBackgroundAlways and default false
108
+ (_withoutBackground = withoutBackground) !== null && _withoutBackground !== void 0 ? _withoutBackground : withoutBackground = !(deprecated_hasBackgroundAlways !== null && deprecated_hasBackgroundAlways !== void 0 ? deprecated_hasBackgroundAlways : true); // prefer enabled if nullish check deprecated_disableBreadcrumbScroll and default false
109
+
110
+ (_enableBreadcrumbScro = enableBreadcrumbScroll) !== null && _enableBreadcrumbScro !== void 0 ? _enableBreadcrumbScro : enableBreadcrumbScroll = !(deprecated_disableBreadcrumbScroll !== null && deprecated_disableBreadcrumbScroll !== void 0 ? deprecated_disableBreadcrumbScroll : true); // handle deprecated props - END
108
111
 
109
112
  var _useState = (0, _react.useState)({}),
110
113
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -126,7 +129,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
126
129
  var hasBreadcrumbRow = !!breadcrumbs || !!actionBarItems; // utility functions
127
130
 
128
131
  var checkUpdateVerticalSpace = function checkUpdateVerticalSpace() {
129
- return (0, _PageHeaderUtils.utilCheckUpdateVerticalSpace)(headerRef, offsetTopMeasuringRef, navigation, disableBreadcrumbScroll, hasActionBar, widthIsNarrow, setMetrics);
132
+ return (0, _PageHeaderUtils.utilCheckUpdateVerticalSpace)(headerRef, offsetTopMeasuringRef, navigation, enableBreadcrumbScroll, hasActionBar, widthIsNarrow, setMetrics);
130
133
  }; // NOTE: The buffer is used to add space between the bottom of the header and the last content
131
134
  // Not pre-collapsed and (subtitle or children)
132
135
 
@@ -245,6 +248,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
245
248
 
246
249
 
247
250
  (0, _react.useEffect)(function () {
251
+ /* istanbul ignore else */
248
252
  if (pageActions !== null && pageActions !== void 0 && pageActions.content) {
249
253
  var minWidth = pageActions.minWidth,
250
254
  maxWidth = pageActions.maxWidth;
@@ -302,8 +306,9 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
302
306
  return _objectSpread(_objectSpread({}, prev), {}, (_objectSpread3 = {}, (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--height-px"), "".concat(metrics.headerHeight, "px")), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--width-px"), "".concat(metrics.headerWidth, "px")), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--header-top"), "".concat(metrics.headerTopValue + metrics.headerOffset, "px")), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-title-visibility"), scrollYValue > 0 ? 'visible' : 'hidden'), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--scroll"), "".concat(scrollYValue)), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-title-top"), "".concat(Math.max(0, metrics.breadcrumbTitleHeight + metrics.titleRowSpaceAbove - scrollYValue), "px")), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-title-opacity"), "".concat(Math.min(1, Math.max(0, (scrollYValue - (metrics.titleRowSpaceAbove || 0)) / (metrics.breadcrumbTitleHeight || 1) // don't want to divide by zero
303
307
  )))), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-row-width-px"), "".concat(metrics.breadcrumbRowWidth, "px")), _objectSpread3));
304
308
  });
305
- }, [headerRef, disableBreadcrumbScroll, metrics, metrics.breadcrumbRowHeight, metrics.breadcrumbRowSpaceBelow, metrics.breadcrumbTitleHeight, metrics.breadcrumbRowWidth, metrics.headerHeight, metrics.headerWidth, metrics.headerOffset, metrics.headerTopValue, metrics.navigationRowHeight, navigation, scrollYValue, tags]);
309
+ }, [headerRef, enableBreadcrumbScroll, metrics, metrics.breadcrumbRowHeight, metrics.breadcrumbRowSpaceBelow, metrics.breadcrumbTitleHeight, metrics.breadcrumbRowWidth, metrics.headerHeight, metrics.headerWidth, metrics.headerOffset, metrics.headerTopValue, metrics.navigationRowHeight, navigation, scrollYValue, tags]);
306
310
  (0, _hooks.useNearestScroll)(headerRef, // on scroll or various layout changes check updates if needed
311
+ // istanbul ignore next
307
312
  function (_ref4) {
308
313
  var current = _ref4.current;
309
314
  setPageHeaderStyles(function (prev) {
@@ -320,13 +325,13 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
320
325
  document.documentElement.style.setProperty("--".concat(_PageHeaderUtils.blockClass, "--tagset-tooltip-position"), fullyCollapsed ? 'fixed' : 'absolute');
321
326
  document.documentElement.style.setProperty("--".concat(_PageHeaderUtils.blockClass, "--tagset-tooltip-offset"), "".concat(tagsetTooltipOffset, "px"));
322
327
  setScrollYValue(current.scrollY);
323
- }, [metrics.headerHeight, metrics.headerTopValue, metrics.headerOffset, disableBreadcrumbScroll]);
328
+ }, [metrics.headerHeight, metrics.headerTopValue, metrics.headerOffset, enableBreadcrumbScroll]);
324
329
  (0, _hooks.useWindowResize)(function (_ref5) {
325
330
  var current = _ref5.current;
326
331
  // on window resize and other updates some values may have changed
327
332
  checkUpdateVerticalSpace();
328
- setWidthIsNarrow(current.innerWidth < 672); // small (below medium) media query
329
- }, [actionBarItems, children, breadcrumbs, disableBreadcrumbScroll, navigation, pageActions, subtitle, tags, title]);
333
+ setWidthIsNarrow(current.innerWidth < _layout.breakpoints.md.width); // small (below medium) media query
334
+ }, [actionBarItems, children, breadcrumbs, enableBreadcrumbScroll, navigation, pageActions, subtitle, tags, title]);
330
335
  (0, _react.useEffect)(function () {
331
336
  checkUpdateVerticalSpace(); // eslint-disable-next-line react-hooks/exhaustive-deps
332
337
  }, [fullWidthGrid, narrowGrid]);
@@ -364,7 +369,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
364
369
 
365
370
  var nextToTabsCheck = function nextToTabsCheck() {
366
371
  /* istanbul ignore next */
367
- return disableBreadcrumbScroll && !actionBarItems && scrollYValue + metrics.headerTopValue >= 0;
372
+ return enableBreadcrumbScroll && !actionBarItems && scrollYValue + metrics.headerTopValue >= 0;
368
373
  };
369
374
 
370
375
  (0, _react.useEffect)(function () {
@@ -455,7 +460,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
455
460
  showAllTagsLabel: showAllTagsLabel,
456
461
  tags: tags,
457
462
  overflowClassName: "".concat(_PageHeaderUtils.blockClass, "__navigation-tags-overflow")
458
- }))) : null), // this navigation pushes the breadcrumb off or settles underneath it depending on disableBreadcrumbScroll
463
+ }))) : null), // this navigation pushes the breadcrumb off or settles underneath it depending on enableBreadcrumbScroll
459
464
  navigation ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Row, {
460
465
  className: (0, _classnames.default)("".concat(_PageHeaderUtils.blockClass, "__navigation-row"), (_cx7 = {}, (0, _defineProperty2.default)(_cx7, "".concat(_PageHeaderUtils.blockClass, "__navigation-row--spacing-above-06"), !!navigation), (0, _defineProperty2.default)(_cx7, "".concat(_PageHeaderUtils.blockClass, "__navigation-row--has-tags"), tags), _cx7))
461
466
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Column, {
@@ -529,6 +534,11 @@ var TYPES = {
529
534
  };
530
535
  var tagTypes = Object.keys(TYPES);
531
536
  var deprecatedProps = {
537
+ /**
538
+ * **Deprecated** see property `enableBreadcrumbScroll`
539
+ */
540
+ disableBreadcrumbScroll: (0, _propsHelper.deprecateProp)(_propTypes.default.bool, 'Property replaced by `enableBreadcrumbScroll`'),
541
+
532
542
  /**
533
543
  * **Deprecated** see property `withoutBackground`
534
544
  */
@@ -678,10 +688,10 @@ PageHeader.propTypes = _objectSpread({
678
688
  collapseTitle: _propTypes.default.bool,
679
689
 
680
690
  /**
681
- * Standard behavior scrolls the breadcrumb off to leave just tabs. This
682
- * option preserves vertical space for both the breadcrumb and tabs if they're supplied.
691
+ * Standard keeps the breadcrumb on the page. This option allows the breadcrumb
692
+ * to scroll off
683
693
  */
684
- disableBreadcrumbScroll: _propTypes.default.bool,
694
+ enableBreadcrumbScroll: _propTypes.default.bool,
685
695
 
686
696
  /**
687
697
  * If `hasCollapseHeaderToggle` is set and `withoutBackground` is unset/falsy then assistive text is
@@ -71,7 +71,8 @@ var PageHeaderTitle = function PageHeaderTitle(_ref) {
71
71
  onSave: onSave,
72
72
  labelText: editableLabel,
73
73
  revertDescription: revertDescription,
74
- saveDescription: saveDescription
74
+ saveDescription: saveDescription,
75
+ buttonTooltipPosition: "bottom"
75
76
  }, rest)) : /*#__PURE__*/_react.default.createElement("span", {
76
77
  title: !loading ? asText : null
77
78
  }, text));
@@ -29,7 +29,7 @@ var blockClass = "".concat(_settings.pkg.prefix, "--page-header");
29
29
  * @param {{}} headerRef
30
30
  * @param {{}} offsetTopMeasuringRef
31
31
  * @param {{}} navigation
32
- * @param {boolean} disableBreadcrumbScroll
32
+ * @param {boolean} enableBreadcrumbScroll
33
33
  * @param {boolean} hasActionBar
34
34
  * @param {boolean} widthIsNarrow
35
35
  * @param {()} setMetrics
@@ -37,7 +37,7 @@ var blockClass = "".concat(_settings.pkg.prefix, "--page-header");
37
37
 
38
38
  exports.blockClass = blockClass;
39
39
 
40
- var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(headerRef, offsetTopMeasuringRef, navigation, disableBreadcrumbScroll, hasActionBar, widthIsNarrow, setMetrics) {
40
+ var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(headerRef, offsetTopMeasuringRef, navigation, enableBreadcrumbScroll, hasActionBar, widthIsNarrow, setMetrics) {
41
41
  var dynamicRefs = {};
42
42
 
43
43
  var getDynamicRef = function getDynamicRef(selector) {
@@ -85,7 +85,10 @@ var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(headerR
85
85
  var scrollableContainer = (0, _scrollableAncestor.scrollableAncestor)(headerRef.current);
86
86
  /* istanbul ignore next */
87
87
 
88
- update.headerOffset = offsetTopMeasuringRef.current.getBoundingClientRect().top - (scrollableContainer === null || scrollableContainer === void 0 ? void 0 : scrollableContainer.getBoundingClientRect().top) || 0;
88
+ var scrollableContainerTop = scrollableContainer ? scrollableContainer.scrollTop - scrollableContainer.offsetTop : 0; // The header offset calculation is either going to work out at 0 if we have no gap between scrolling container
89
+ // top and the measuring ref top, or the difference between. It does not change on scroll or resize.
90
+
91
+ update.headerOffset = scrollableContainerTop + offsetTopMeasuringRef.current.getBoundingClientRect().top;
89
92
  /* istanbul ignore next */
90
93
 
91
94
  update.breadcrumbRowHeight = breadcrumbRowEl ? breadcrumbRowEl.clientHeight : 0;
@@ -122,42 +125,34 @@ var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(headerR
122
125
  update.headerTopValue += 8;
123
126
  }
124
127
 
125
- if (disableBreadcrumbScroll || !navigation) {
128
+ if (!enableBreadcrumbScroll || !navigation) {
126
129
  // adjust sticky top if no navigation or breadcrumb is to stay on screen
127
130
  update.headerTopValue += update.breadcrumbRowHeight;
128
- } else {
129
- if (navigation && !widthIsNarrow) {
130
- update.headerTopValue -= 8;
131
- }
132
- }
131
+ } // if (window) {
133
132
 
134
- if (window) {
135
- var val;
136
- /* don't know how to test resize */
137
133
 
138
- /* istanbul ignore if */
134
+ var val;
135
+ /* don't know how to test resize */
139
136
 
140
- if (breadcrumbRowEl) {
141
- val = parseFloat(window.getComputedStyle(breadcrumbRowEl).getPropertyValue('margin-bottom'), 10);
142
- update.breadcrumbRowSpaceBelow = isNaN(val) ? 0 : val;
143
- }
144
- /* don't know how to test resize */
137
+ /* istanbul ignore if */
138
+
139
+ if (breadcrumbRowEl) {
140
+ val = parseFloat(window.getComputedStyle(breadcrumbRowEl).getPropertyValue('margin-bottom'), 10);
141
+ update.breadcrumbRowSpaceBelow = isNaN(val) ? 0 : val;
142
+ }
143
+ /* don't know how to test resize */
145
144
 
146
- /* istanbul ignore if */
145
+ /* istanbul ignore if */
147
146
 
148
147
 
149
- if (titleRowEl) {
150
- val = parseFloat(window.getComputedStyle(titleRowEl).getPropertyValue('margin-top'), 10);
151
- update.titleRowSpaceAbove = isNaN(val) ? 0 : val;
148
+ if (titleRowEl) {
149
+ val = parseFloat(window.getComputedStyle(titleRowEl).getPropertyValue('margin-top'), 10);
150
+ update.titleRowSpaceAbove = isNaN(val) ? 0 : val;
152
151
 
153
- if (pageActionsEl) {
154
- val = parseFloat(window.getComputedStyle(pageActionsEl).getPropertyValue('margin-top'), 10);
155
- update.pageActionsSpaceAbove = titleRowEl.clientHeight - pageActionsEl.clientHeight + update.titleRowSpaceAbove - (isNaN(val) ? 0 : val);
156
- }
152
+ if (pageActionsEl) {
153
+ val = parseFloat(window.getComputedStyle(pageActionsEl).getPropertyValue('margin-top'), 10);
154
+ update.pageActionsSpaceAbove = titleRowEl.clientHeight - pageActionsEl.clientHeight + update.titleRowSpaceAbove - (isNaN(val) ? 0 : val);
157
155
  }
158
- } else {
159
- update.breadcrumbRowSpaceBelow = 0;
160
- update.titleRowSpaceAbove = 0;
161
156
  }
162
157
 
163
158
  return _objectSpread(_objectSpread({}, previous), update);
@@ -19,6 +19,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
+ var _reactDom = require("react-dom");
23
+
22
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
25
 
24
26
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -37,7 +39,7 @@ var _propsHelper = require("../../global/js/utils/props-helper");
37
39
 
38
40
  var _settings = require("../../settings");
39
41
 
40
- var _excluded = ["align", "className", "maxVisible", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
42
+ var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
41
43
  _excluded2 = ["label", "id"],
42
44
  _excluded3 = ["label"];
43
45
 
@@ -55,6 +57,7 @@ var allTagsModalSearchThreshold = 10; // Default values for props
55
57
 
56
58
  var defaults = {
57
59
  align: 'start',
60
+ allTagsModalTarget: document.body,
58
61
  overflowAlign: 'center',
59
62
  overflowDirection: 'bottom'
60
63
  };
@@ -62,6 +65,8 @@ var defaults = {
62
65
  var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
63
66
  var _ref$align = _ref.align,
64
67
  align = _ref$align === void 0 ? defaults.align : _ref$align,
68
+ _ref$allTagsModalTarg = _ref.allTagsModalTarget,
69
+ allTagsModalTarget = _ref$allTagsModalTarg === void 0 ? defaults.allTagsModalTarget : _ref$allTagsModalTarg,
65
70
  className = _ref.className,
66
71
  maxVisible = _ref.maxVisible,
67
72
  _ref$overflowAlign = _ref.overflowAlign,
@@ -246,14 +251,14 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
246
251
  }, hiddenSizingTags), /*#__PURE__*/_react.default.createElement("div", {
247
252
  className: "".concat(blockClass, "__tag-container"),
248
253
  ref: displayedArea
249
- }, displayedTags)), tags && displayCount < tags.length ? /*#__PURE__*/_react.default.createElement(_TagSetModal.TagSetModal, {
254
+ }, displayedTags)), allTagsModalTarget && tags && displayCount < tags.length ? /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react.default.createElement(_TagSetModal.TagSetModal, {
250
255
  allTags: tags,
251
256
  open: showAllModalOpen,
252
257
  title: allTagsModalTitle,
253
258
  onClose: handleModalClose,
254
259
  searchLabel: allTagsModalSearchLabel,
255
260
  searchPlaceholder: allTagsModalSearchPlaceholderText
256
- }) : null);
261
+ }), allTagsModalTarget) : null);
257
262
  }); // Return a placeholder if not released and not enabled by feature flag
258
263
 
259
264
 
@@ -301,6 +306,11 @@ TagSet.propTypes = {
301
306
  */
302
307
  allTagsModalSearchPlaceholderText: string_required_if_more_than_10_tags,
303
308
 
309
+ /**
310
+ * portal target for the all tags modal
311
+ */
312
+ allTagsModalTarget: _propTypes.default.node,
313
+
304
314
  /**
305
315
  * title for the show all modal. **Note: Required if more than 10 tags**
306
316
  */
@@ -86,7 +86,8 @@ var UserProfileImage = /*#__PURE__*/_react.default.forwardRef(function (_ref, re
86
86
  };
87
87
 
88
88
  return FillItem && (tooltipText ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TooltipIcon, {
89
- tooltipText: tooltipText
89
+ tooltipText: tooltipText,
90
+ className: "".concat(blockClass, "__tooltip")
90
91
  }, renderUserProfileImage()) : renderUserProfileImage());
91
92
  }); // Return a placeholder if not released and not enabled by feature flag
92
93
 
@@ -147,12 +147,6 @@ Object.defineProperty(exports, "InlineEdit", {
147
147
  return _InlineEdit.InlineEdit;
148
148
  }
149
149
  });
150
- Object.defineProperty(exports, "LoadingBar", {
151
- enumerable: true,
152
- get: function get() {
153
- return _LoadingBar.LoadingBar;
154
- }
155
- });
156
150
  Object.defineProperty(exports, "ModifiedTabs", {
157
151
  enumerable: true,
158
152
  get: function get() {
@@ -326,8 +320,6 @@ var _HTTPErrors = require("./HTTPErrors");
326
320
 
327
321
  var _ImportModal = require("./ImportModal");
328
322
 
329
- var _LoadingBar = require("./LoadingBar");
330
-
331
323
  var _ModifiedTabs = require("./ModifiedTabs");
332
324
 
333
325
  var _MultiAddSelect = require("./MultiAddSelect");
@@ -44,6 +44,7 @@ var defaults = {
44
44
  NoTagsEmptyState: true,
45
45
  NotFoundEmptyState: true,
46
46
  NotificationsEmptyState: true,
47
+ OptionsTile: true,
47
48
  PageHeader: true,
48
49
  ProductiveCard: true,
49
50
  RemoveModal: true,
@@ -58,14 +59,12 @@ var defaults = {
58
59
  // other public components not yet reviewed and released:
59
60
  MultiAddSelect: false,
60
61
  SingleAddSelect: false,
61
- LoadingBar: false,
62
62
  ModifiedTabs: false,
63
63
  Toolbar: false,
64
64
  ToolbarButton: false,
65
65
  ToolbarGroup: false,
66
66
  WebTerminal: false,
67
67
  EditSidePanel: false,
68
- OptionsTile: false,
69
68
  CancelableTextEdit: false,
70
69
  InlineEdit: false,
71
70
  DataSpreadsheet: false
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": "1.9.0",
4
+ "version": "1.11.1",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -51,8 +51,8 @@
51
51
  },
52
52
  "devDependencies": {
53
53
  "@babel/cli": "^7.17.6",
54
- "@babel/core": "^7.17.5",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.9",
54
+ "@babel/core": "^7.17.7",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.11",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
@@ -60,33 +60,33 @@
60
60
  "fs-extra": "^10.0.1",
61
61
  "glob": "^7.2.0",
62
62
  "jest": "^27.5.1",
63
- "jest-config-ibm-cloud-cognitive": "^0.23.10",
64
- "npm-check-updates": "^12.4.0",
63
+ "jest-config-ibm-cloud-cognitive": "^0.23.12",
64
+ "npm-check-updates": "^12.5.4",
65
65
  "npm-run-all": "^4.1.5",
66
66
  "rimraf": "^3.0.2",
67
67
  "sass": "^1.49.9",
68
68
  "yargs": "^17.3.1"
69
69
  },
70
70
  "dependencies": {
71
- "@babel/runtime": "^7.17.2",
72
- "@carbon/telemetry": "^0.0.0-alpha.6",
71
+ "@babel/runtime": "^7.17.7",
72
+ "@carbon/telemetry": "^0.1.0",
73
73
  "react-resize-detector": "^7.0.0",
74
74
  "react-table": "^7.7.0",
75
75
  "react-window": "^1.8.6"
76
76
  },
77
77
  "peerDependencies": {
78
- "@carbon/colors": "^10.36.0",
79
- "@carbon/icons-react": "^10.46.0",
80
- "@carbon/import-once": "^10.5.0",
81
- "@carbon/layout": "^10.36.0",
82
- "@carbon/motion": "^10.28.0",
83
- "@carbon/themes": "^10.50.0",
84
- "@carbon/type": "^10.40.0",
85
- "carbon-components": "^10.53.0",
86
- "carbon-components-react": "^7.53.0",
78
+ "@carbon/colors": "^10.37.0",
79
+ "@carbon/icons-react": "^10.48.0",
80
+ "@carbon/import-once": "^10.7.0",
81
+ "@carbon/layout": "^10.37.0",
82
+ "@carbon/motion": "^10.29.0",
83
+ "@carbon/themes": "^10.53.1",
84
+ "@carbon/type": "^10.43.1",
85
+ "carbon-components": "^10.55.1",
86
+ "carbon-components-react": "^7.55.1",
87
87
  "carbon-icons": "^7.0.7",
88
88
  "react": "^16.8.6 || ^17.0.1",
89
89
  "react-dom": "^16.8.6 || ^17.0.1"
90
90
  },
91
- "gitHead": "a21d7abe81dcae33cd53a13cc9d34e60edade3d4"
91
+ "gitHead": "dd67992eea35e2e7b27032bade757b9e7037fb23"
92
92
  }
@@ -24,19 +24,11 @@
24
24
  padding: $spacing-05;
25
25
  }
26
26
 
27
- .#{$block-class}__items-label {
28
- margin-right: $spacing-03;
29
-
30
- &-container {
31
- display: flex;
32
- align-items: center;
33
- margin-top: $spacing-05;
34
- margin-bottom: $spacing-03;
35
- }
36
- }
37
-
38
27
  .#{$block-class}__selections {
39
- border-top: 1px solid $ui-03;
28
+ &.#{$carbon-prefix}--structured-list {
29
+ border-top: 1px solid $ui-03;
30
+ margin-bottom: 0;
31
+ }
40
32
 
41
33
  &-wrapper {
42
34
  display: block;
@@ -121,20 +113,56 @@
121
113
  .#{$block-class}__columns {
122
114
  display: flex;
123
115
  flex-direction: row;
116
+ overflow-x: auto;
124
117
  }
125
118
 
126
119
  .#{$block-class}__columns .#{$block-class}__selections-cell {
127
120
  // stylelint-disable-next-line
128
- padding: 0 $spacing-05 !important;
121
+ padding: 0 !important;
129
122
  }
130
123
 
131
124
  .#{$block-class}__column {
125
+ overflow: auto;
126
+ max-width: 15rem;
127
+ flex: 1 0 15rem;
132
128
  padding: $spacing-05;
133
- border-right: $ui-03;
129
+ border-top: 1px solid $ui-03;
130
+ border-right: 1px solid $ui-03;
131
+
132
+ &-search-bar {
133
+ display: flex;
134
+
135
+ label {
136
+ display: none;
137
+ }
138
+ }
139
+
140
+ &-sort-filter {
141
+ display: flex;
142
+ }
143
+
144
+ .bx--overflow-menu {
145
+ border-bottom: 1px solid $ui-04;
146
+ }
147
+ }
148
+
149
+ .#{$block-class}__tag-container {
150
+ display: flex;
151
+ align-items: center;
152
+ margin-top: $spacing-05;
153
+ margin-bottom: $spacing-03;
154
+
155
+ &-label {
156
+ margin-right: $spacing-03;
157
+ }
134
158
  }
135
159
 
136
160
  // overrides
137
161
 
162
+ .#{$block-class}__tag-container .#{$carbon-prefix}--tag {
163
+ margin: 0;
164
+ }
165
+
138
166
  // the influencer sidebar needs to be even with the buttons
139
167
  .#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__influencer {
140
168
  max-width: 29rem;
@@ -145,6 +173,11 @@
145
173
  color: $text-02;
146
174
  }
147
175
 
176
+ .#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__content {
177
+ display: flex;
178
+ flex-direction: column;
179
+ }
180
+
148
181
  .#{$block-class} .#{$block-class}__items-label {
149
182
  @include carbon--type-style('productive-heading-01');
150
183
  }
@@ -61,6 +61,10 @@
61
61
  display: inline-flex;
62
62
  vertical-align: middle;
63
63
  }
64
+
65
+ .#{$block-class}__displayed-breadcrumb:last-child {
66
+ max-width: calc(100% - $spacing-07); // allow room for breadcrumb back
67
+ }
64
68
  }
65
69
 
66
70
  .#{$carbon-prefix}--breadcrumb-item:last-child {
@@ -78,10 +82,10 @@
78
82
  width: 100%;
79
83
  text-overflow: ellipsis;
80
84
  }
85
+ }
81
86
 
82
- .#{$carbon-prefix}--link {
83
- max-height: 18px; // to match breadcrumb - overflow button is 20 by default
84
- }
87
+ .#{$block-class}__overflow-menu-options.#{$block-class}__overflow-menu-options {
88
+ z-index: z('header');
85
89
  }
86
90
  }
87
91
 
@@ -19,6 +19,7 @@
19
19
  // stylelint-disable-next-line carbon/layout-token-use
20
20
  transform: translateX($influencerAnimationStart);
21
21
  }
22
+
22
23
  100% {
23
24
  opacity: 1;
24
25
  transform: translateX(0);
@@ -29,6 +30,7 @@
29
30
  opacity: 1;
30
31
  transform: translateX(0);
31
32
  }
33
+
32
34
  100% {
33
35
  opacity: 0;
34
36
  // stylelint-disable-next-line carbon/layout-token-use
@@ -70,6 +70,7 @@
70
70
 
71
71
  .#{$pkg-prefix}--create-modal__form > * {
72
72
  margin-bottom: $spacing-05;
73
+
73
74
  &:last-child {
74
75
  margin-bottom: 0;
75
76
  }
@@ -68,7 +68,7 @@
68
68
  }
69
69
 
70
70
  .#{$block-class}.#{$side-panel-block-class}
71
- .bx--btn.#{$side-panel-block-class}__close-button {
71
+ .#{$carbon-prefix}--btn.#{$side-panel-block-class}__close-button {
72
72
  display: none;
73
73
  }
74
74
 
@@ -17,7 +17,7 @@ $story-prefix: create-side-panel-stories__;
17
17
  grid-template-columns: 1fr 1fr;
18
18
  }
19
19
 
20
- .#{$story-prefix}example-form-group .bx--label {
20
+ .#{$story-prefix}example-form-group .#{$carbon-prefix}--label {
21
21
  margin-bottom: 0;
22
22
  }
23
23
 
@@ -29,6 +29,7 @@
29
29
  // stylelint-disable-next-line carbon/layout-token-use
30
30
  transform: translateY(-0.75rem);
31
31
  }
32
+
32
33
  100% {
33
34
  opacity: 1;
34
35
  transform: translateY(0);
@@ -47,6 +47,7 @@
47
47
 
48
48
  .#{$block-class} .#{$block-class}__form > * {
49
49
  margin-bottom: $spacing-05;
50
+
50
51
  &:last-child {
51
52
  margin-bottom: 0;
52
53
  }