@carbon/ibm-products 1.9.0 → 1.10.0
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.
- package/css/index-full-carbon.css +123 -5628
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +4 -4
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +45 -3424
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +3 -3
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +91 -3894
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +4 -4
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +91 -3895
- package/css/index.css.map +1 -1
- package/css/index.min.css +4 -4
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelect.js +11 -6
- package/es/components/AddSelect/AddSelectColumn.js +44 -7
- package/es/components/ButtonMenu/ButtonMenu.js +1 -1
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +316 -133
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +113 -69
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +22 -5
- package/es/components/DataSpreadsheet/checkActiveHeaderCell.js +34 -0
- package/es/components/DataSpreadsheet/createActiveCellFn.js +3 -1
- package/es/components/InlineEdit/InlineEdit.js +11 -21
- package/es/components/OptionsTile/OptionsTile.js +11 -1
- package/es/components/PageHeader/PageHeader.js +48 -40
- package/es/components/PageHeader/PageHeaderUtils.js +3 -7
- package/es/components/TagSet/TagSet.js +12 -3
- package/es/components/UserProfileImage/UserProfileImage.js +2 -1
- package/lib/components/AddSelect/AddSelect.js +11 -6
- package/lib/components/AddSelect/AddSelectColumn.js +55 -13
- package/lib/components/ButtonMenu/ButtonMenu.js +1 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +317 -134
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +112 -70
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +24 -5
- package/lib/components/DataSpreadsheet/checkActiveHeaderCell.js +45 -0
- package/lib/components/DataSpreadsheet/createActiveCellFn.js +3 -1
- package/lib/components/InlineEdit/InlineEdit.js +10 -20
- package/lib/components/OptionsTile/OptionsTile.js +11 -1
- package/lib/components/PageHeader/PageHeader.js +47 -40
- package/lib/components/PageHeader/PageHeaderUtils.js +3 -7
- package/lib/components/TagSet/TagSet.js +13 -3
- package/lib/components/UserProfileImage/UserProfileImage.js +2 -1
- package/package.json +14 -14
- package/scss/components/AddSelect/_add-select.scss +27 -14
- package/scss/components/CreateInfluencer/_create-influencer.scss +2 -0
- package/scss/components/CreateModal/_create-modal.scss +1 -0
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -0
- package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +1 -0
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +12 -7
- package/scss/components/InlineEdit/_inline-edit.scss +20 -11
- package/scss/components/InlineEdit/_storybook-styles.scss +1 -0
- package/scss/components/LoadingBar/_loading-bar.scss +13 -0
- package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -0
- package/scss/components/PageHeader/_page-header.scss +2 -0
- package/scss/components/SidePanel/_side-panel.scss +11 -4
- package/scss/components/StatusIcon/_status-icon.scss +1 -0
- package/scss/components/UserProfileImage/_user-profile-image.scss +9 -0
- package/scss/components/WebTerminal/_web-terminal.scss +2 -0
@@ -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,
|
72
|
+
var _withoutBackground, _ref2, _ref7, _cx2, _ref8, _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
|
-
|
88
|
+
deprecated_disableBreadcrumbScroll = _ref.disableBreadcrumbScroll,
|
89
|
+
in_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,
|
@@ -123,10 +124,11 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
123
124
|
var offsetTopMeasuringRef = (0, _react.useRef)(null); // state based on props only
|
124
125
|
|
125
126
|
var hasActionBar = actionBarItems && actionBarItems.length > 0;
|
126
|
-
var hasBreadcrumbRow = !!breadcrumbs || !!actionBarItems;
|
127
|
+
var hasBreadcrumbRow = !!breadcrumbs || !!actionBarItems;
|
128
|
+
var enableBreadcrumbScroll = (_ref2 = in_enableBreadcrumbScroll !== null && in_enableBreadcrumbScroll !== void 0 ? in_enableBreadcrumbScroll : !deprecated_disableBreadcrumbScroll) !== null && _ref2 !== void 0 ? _ref2 : false; // utility functions
|
127
129
|
|
128
130
|
var checkUpdateVerticalSpace = function checkUpdateVerticalSpace() {
|
129
|
-
return (0, _PageHeaderUtils.utilCheckUpdateVerticalSpace)(headerRef, offsetTopMeasuringRef, navigation,
|
131
|
+
return (0, _PageHeaderUtils.utilCheckUpdateVerticalSpace)(headerRef, offsetTopMeasuringRef, navigation, enableBreadcrumbScroll, hasActionBar, widthIsNarrow, setMetrics);
|
130
132
|
}; // NOTE: The buffer is used to add space between the bottom of the header and the last content
|
131
133
|
// Not pre-collapsed and (subtitle or children)
|
132
134
|
|
@@ -189,9 +191,9 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
189
191
|
setWidthIsNarrow = _useState26[1]; // handlers
|
190
192
|
|
191
193
|
|
192
|
-
var handleActionBarWidthChange = function handleActionBarWidthChange(
|
193
|
-
var minWidth =
|
194
|
-
maxWidth =
|
194
|
+
var handleActionBarWidthChange = function handleActionBarWidthChange(_ref3) {
|
195
|
+
var minWidth = _ref3.minWidth,
|
196
|
+
maxWidth = _ref3.maxWidth;
|
195
197
|
|
196
198
|
/* don't know how to test resize */
|
197
199
|
|
@@ -204,9 +206,9 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
204
206
|
setActionBarMinWidth(minWidth);
|
205
207
|
};
|
206
208
|
|
207
|
-
var handlePageActionWidthChange = function handlePageActionWidthChange(
|
208
|
-
var minWidth =
|
209
|
-
maxWidth =
|
209
|
+
var handlePageActionWidthChange = function handlePageActionWidthChange(_ref4) {
|
210
|
+
var minWidth = _ref4.minWidth,
|
211
|
+
maxWidth = _ref4.maxWidth;
|
210
212
|
|
211
213
|
/* don't know how to test resize */
|
212
214
|
|
@@ -302,10 +304,10 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
302
304
|
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
305
|
)))), (0, _defineProperty2.default)(_objectSpread3, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-row-width-px"), "".concat(metrics.breadcrumbRowWidth, "px")), _objectSpread3));
|
304
306
|
});
|
305
|
-
}, [headerRef,
|
307
|
+
}, [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
308
|
(0, _hooks.useNearestScroll)(headerRef, // on scroll or various layout changes check updates if needed
|
307
|
-
function (
|
308
|
-
var current =
|
309
|
+
function (_ref5) {
|
310
|
+
var current = _ref5.current;
|
309
311
|
setPageHeaderStyles(function (prev) {
|
310
312
|
return _objectSpread(_objectSpread({}, prev), {}, (0, _defineProperty2.default)({}, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-top"), "".concat(metrics.headerOffset, "px")));
|
311
313
|
});
|
@@ -320,13 +322,13 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
320
322
|
document.documentElement.style.setProperty("--".concat(_PageHeaderUtils.blockClass, "--tagset-tooltip-position"), fullyCollapsed ? 'fixed' : 'absolute');
|
321
323
|
document.documentElement.style.setProperty("--".concat(_PageHeaderUtils.blockClass, "--tagset-tooltip-offset"), "".concat(tagsetTooltipOffset, "px"));
|
322
324
|
setScrollYValue(current.scrollY);
|
323
|
-
}, [metrics.headerHeight, metrics.headerTopValue, metrics.headerOffset,
|
324
|
-
(0, _hooks.useWindowResize)(function (
|
325
|
-
var current =
|
325
|
+
}, [metrics.headerHeight, metrics.headerTopValue, metrics.headerOffset, enableBreadcrumbScroll]);
|
326
|
+
(0, _hooks.useWindowResize)(function (_ref6) {
|
327
|
+
var current = _ref6.current;
|
326
328
|
// on window resize and other updates some values may have changed
|
327
329
|
checkUpdateVerticalSpace();
|
328
|
-
setWidthIsNarrow(current.innerWidth <
|
329
|
-
}, [actionBarItems, children, breadcrumbs,
|
330
|
+
setWidthIsNarrow(current.innerWidth < _layout.breakpoints.md.width); // small (below medium) media query
|
331
|
+
}, [actionBarItems, children, breadcrumbs, enableBreadcrumbScroll, navigation, pageActions, subtitle, tags, title]);
|
330
332
|
(0, _react.useEffect)(function () {
|
331
333
|
checkUpdateVerticalSpace(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
332
334
|
}, [fullWidthGrid, narrowGrid]);
|
@@ -364,7 +366,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
364
366
|
|
365
367
|
var nextToTabsCheck = function nextToTabsCheck() {
|
366
368
|
/* istanbul ignore next */
|
367
|
-
return
|
369
|
+
return enableBreadcrumbScroll && !actionBarItems && scrollYValue + metrics.headerTopValue >= 0;
|
368
370
|
};
|
369
371
|
|
370
372
|
(0, _react.useEffect)(function () {
|
@@ -388,7 +390,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
388
390
|
className: "".concat(_PageHeaderUtils.blockClass, "--offset-top-measuring-element"),
|
389
391
|
ref: offsetTopMeasuringRef
|
390
392
|
}), /*#__PURE__*/_react.default.createElement("section", (0, _extends2.default)({}, rest, {
|
391
|
-
className: (0, _classnames.default)([_PageHeaderUtils.blockClass, "".concat(_PageHeaderUtils.blockClass, "--no-margins-below-row"), className, (
|
393
|
+
className: (0, _classnames.default)([_PageHeaderUtils.blockClass, "".concat(_PageHeaderUtils.blockClass, "--no-margins-below-row"), className, (_ref7 = {}, (0, _defineProperty2.default)(_ref7, "".concat(_PageHeaderUtils.blockClass, "--has-navigation"), navigation || tags), (0, _defineProperty2.default)(_ref7, "".concat(_PageHeaderUtils.blockClass, "--has-navigation-tags-only"), !navigation && tags), _ref7)]),
|
392
394
|
style: pageHeaderStyles,
|
393
395
|
ref: headerRef
|
394
396
|
}, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Grid, {
|
@@ -410,7 +412,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
410
412
|
breadcrumbs: breadcrumbs && breadcrumbItemForTitle ? breadcrumbs.concat(breadcrumbItemForTitle) : breadcrumbItemForTitle ? [breadcrumbItemForTitle] : breadcrumbs // breadcrumbs may be null or undefined
|
411
413
|
|
412
414
|
}) : null), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Column, {
|
413
|
-
className: (0, _classnames.default)(["".concat(_PageHeaderUtils.blockClass, "__action-bar-column ").concat(_PageHeaderUtils.blockClass, "__action-bar-column--background"), (
|
415
|
+
className: (0, _classnames.default)(["".concat(_PageHeaderUtils.blockClass, "__action-bar-column ").concat(_PageHeaderUtils.blockClass, "__action-bar-column--background"), (_ref8 = {}, (0, _defineProperty2.default)(_ref8, "".concat(_PageHeaderUtils.blockClass, "__action-bar-column--has-page-actions"), pageActions), (0, _defineProperty2.default)(_ref8, "".concat(_PageHeaderUtils.blockClass, "__action-bar-column--influenced-by-collapse-button"), spaceForCollapseButton), _ref8)])
|
414
416
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
415
417
|
className: "".concat(_PageHeaderUtils.blockClass, "__action-bar-column-content"),
|
416
418
|
ref: sizingContainerRef
|
@@ -455,7 +457,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
455
457
|
showAllTagsLabel: showAllTagsLabel,
|
456
458
|
tags: tags,
|
457
459
|
overflowClassName: "".concat(_PageHeaderUtils.blockClass, "__navigation-tags-overflow")
|
458
|
-
}))) : null), // this navigation pushes the breadcrumb off or settles underneath it depending on
|
460
|
+
}))) : null), // this navigation pushes the breadcrumb off or settles underneath it depending on enableBreadcrumbScroll
|
459
461
|
navigation ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Row, {
|
460
462
|
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
463
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Column, {
|
@@ -529,6 +531,11 @@ var TYPES = {
|
|
529
531
|
};
|
530
532
|
var tagTypes = Object.keys(TYPES);
|
531
533
|
var deprecatedProps = {
|
534
|
+
/**
|
535
|
+
* **Deprecated** see property `enableBreadcrumbScroll`
|
536
|
+
*/
|
537
|
+
disableBreadcrumbScroll: (0, _propsHelper.deprecateProp)(_propTypes.default.bool, 'Property replaced by `enableBreadcrumbScroll`'),
|
538
|
+
|
532
539
|
/**
|
533
540
|
* **Deprecated** see property `withoutBackground`
|
534
541
|
*/
|
@@ -558,8 +565,8 @@ PageHeader.propTypes = _objectSpread({
|
|
558
565
|
*
|
559
566
|
* NOTE: This prop is required if actionBarItems are supplied
|
560
567
|
*/
|
561
|
-
actionBarOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (
|
562
|
-
var actionBarItems =
|
568
|
+
actionBarOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (_ref10) {
|
569
|
+
var actionBarItems = _ref10.actionBarItems;
|
563
570
|
return actionBarItems && actionBarItems.length > 0;
|
564
571
|
}),
|
565
572
|
|
@@ -594,8 +601,8 @@ PageHeader.propTypes = _objectSpread({
|
|
594
601
|
* If the user supplies breadcrumbs then this property is required.
|
595
602
|
* It is used in an overflow menu when there is insufficient space to display all breadcrumbs inline.
|
596
603
|
*/
|
597
|
-
breadcrumbOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (
|
598
|
-
var breadcrumbs =
|
604
|
+
breadcrumbOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (_ref11) {
|
605
|
+
var breadcrumbs = _ref11.breadcrumbs;
|
599
606
|
return breadcrumbs && breadcrumbs.length > 0;
|
600
607
|
}),
|
601
608
|
|
@@ -634,8 +641,8 @@ PageHeader.propTypes = _objectSpread({
|
|
634
641
|
/**
|
635
642
|
* A text version of the `label` for display, required if `label` is not a string.
|
636
643
|
*/
|
637
|
-
title: _propTypes.default.string.isRequired.if(function (
|
638
|
-
var label =
|
644
|
+
title: _propTypes.default.string.isRequired.if(function (_ref12) {
|
645
|
+
var label = _ref12.label;
|
639
646
|
return typeof label !== 'string';
|
640
647
|
})
|
641
648
|
})),
|
@@ -665,9 +672,9 @@ PageHeader.propTypes = _objectSpread({
|
|
665
672
|
* If `hasCollapseHeaderToggle` is set and `withoutBackground` is unset/falsy then assistive text is
|
666
673
|
* required for both the expend and collapse states of the button component used.
|
667
674
|
*/
|
668
|
-
collapseHeaderIconDescription: _propTypes.default.string.isRequired.if(function (
|
669
|
-
var withoutBackground =
|
670
|
-
hasCollapseHeaderToggle =
|
675
|
+
collapseHeaderIconDescription: _propTypes.default.string.isRequired.if(function (_ref13) {
|
676
|
+
var withoutBackground = _ref13.withoutBackground,
|
677
|
+
hasCollapseHeaderToggle = _ref13.hasCollapseHeaderToggle;
|
671
678
|
return !withoutBackground && hasCollapseHeaderToggle;
|
672
679
|
}),
|
673
680
|
|
@@ -678,18 +685,18 @@ PageHeader.propTypes = _objectSpread({
|
|
678
685
|
collapseTitle: _propTypes.default.bool,
|
679
686
|
|
680
687
|
/**
|
681
|
-
* Standard
|
682
|
-
*
|
688
|
+
* Standard keeps the breadcrumb on the page. This option allows the breadcrumb
|
689
|
+
* to scroll off
|
683
690
|
*/
|
684
|
-
|
691
|
+
enableBreadcrumbScroll: _propTypes.default.bool,
|
685
692
|
|
686
693
|
/**
|
687
694
|
* If `hasCollapseHeaderToggle` is set and `withoutBackground` is unset/falsy then assistive text is
|
688
695
|
* required for both the expend and collapse states of the button component used.
|
689
696
|
*/
|
690
|
-
expandHeaderIconDescription: _propTypes.default.string.isRequired.if(function (
|
691
|
-
var withoutBackground =
|
692
|
-
hasCollapseHeaderToggle =
|
697
|
+
expandHeaderIconDescription: _propTypes.default.string.isRequired.if(function (_ref14) {
|
698
|
+
var withoutBackground = _ref14.withoutBackground,
|
699
|
+
hasCollapseHeaderToggle = _ref14.hasCollapseHeaderToggle;
|
693
700
|
return !withoutBackground && hasCollapseHeaderToggle;
|
694
701
|
}),
|
695
702
|
|
@@ -760,8 +767,8 @@ PageHeader.propTypes = _objectSpread({
|
|
760
767
|
*
|
761
768
|
* NOTE: This prop is required if pageActions are supplied
|
762
769
|
*/
|
763
|
-
pageActionsOverflowLabel: _propTypes.default.node.isRequired.if(function (
|
764
|
-
var pageActions =
|
770
|
+
pageActionsOverflowLabel: _propTypes.default.node.isRequired.if(function (_ref15) {
|
771
|
+
var pageActions = _ref15.pageActions;
|
765
772
|
return pageActions && pageActions.length > 0 && !pageActions.content;
|
766
773
|
}),
|
767
774
|
|
@@ -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}
|
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,
|
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) {
|
@@ -122,13 +122,9 @@ var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(headerR
|
|
122
122
|
update.headerTopValue += 8;
|
123
123
|
}
|
124
124
|
|
125
|
-
if (
|
125
|
+
if (!enableBreadcrumbScroll || !navigation) {
|
126
126
|
// adjust sticky top if no navigation or breadcrumb is to stay on screen
|
127
127
|
update.headerTopValue += update.breadcrumbRowHeight;
|
128
|
-
} else {
|
129
|
-
if (navigation && !widthIsNarrow) {
|
130
|
-
update.headerTopValue -= 8;
|
131
|
-
}
|
132
128
|
}
|
133
129
|
|
134
130
|
if (window) {
|
@@ -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
|
|
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.
|
4
|
+
"version": "1.10.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -52,7 +52,7 @@
|
|
52
52
|
"devDependencies": {
|
53
53
|
"@babel/cli": "^7.17.6",
|
54
54
|
"@babel/core": "^7.17.5",
|
55
|
-
"babel-preset-ibm-cloud-cognitive": "^0.14.
|
55
|
+
"babel-preset-ibm-cloud-cognitive": "^0.14.10",
|
56
56
|
"chalk": "^4.1.2",
|
57
57
|
"change-case": "^4.1.2",
|
58
58
|
"copyfiles": "^2.4.1",
|
@@ -60,8 +60,8 @@
|
|
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.
|
64
|
-
"npm-check-updates": "^12.
|
63
|
+
"jest-config-ibm-cloud-cognitive": "^0.23.11",
|
64
|
+
"npm-check-updates": "^12.5.2",
|
65
65
|
"npm-run-all": "^4.1.5",
|
66
66
|
"rimraf": "^3.0.2",
|
67
67
|
"sass": "^1.49.9",
|
@@ -75,18 +75,18 @@
|
|
75
75
|
"react-window": "^1.8.6"
|
76
76
|
},
|
77
77
|
"peerDependencies": {
|
78
|
-
"@carbon/colors": "^10.
|
79
|
-
"@carbon/icons-react": "^10.
|
80
|
-
"@carbon/import-once": "^10.
|
81
|
-
"@carbon/layout": "^10.
|
82
|
-
"@carbon/motion": "^10.
|
83
|
-
"@carbon/themes": "^10.
|
84
|
-
"@carbon/type": "^10.
|
85
|
-
"carbon-components": "^10.
|
86
|
-
"carbon-components-react": "^7.
|
78
|
+
"@carbon/colors": "^10.37.0",
|
79
|
+
"@carbon/icons-react": "^10.47.0",
|
80
|
+
"@carbon/import-once": "^10.7.0",
|
81
|
+
"@carbon/layout": "^10.37.0",
|
82
|
+
"@carbon/motion": "^10.29.0",
|
83
|
+
"@carbon/themes": "^10.52.0",
|
84
|
+
"@carbon/type": "^10.42.0",
|
85
|
+
"carbon-components": "^10.54.0",
|
86
|
+
"carbon-components-react": "^7.54.2",
|
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": "
|
91
|
+
"gitHead": "9c24da12c6e7a113e4d6f20bfb5d61a212460c89"
|
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
|
-
|
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,16 +113,32 @@
|
|
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
|
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-
|
129
|
+
border-top: 1px solid $ui-03;
|
130
|
+
border-right: 1px solid $ui-03;
|
131
|
+
}
|
132
|
+
|
133
|
+
.#{$block-class}__tag-container {
|
134
|
+
display: flex;
|
135
|
+
align-items: center;
|
136
|
+
margin-top: $spacing-05;
|
137
|
+
margin-bottom: $spacing-03;
|
138
|
+
|
139
|
+
&-label {
|
140
|
+
margin-right: $spacing-03;
|
141
|
+
}
|
134
142
|
}
|
135
143
|
|
136
144
|
// overrides
|
@@ -145,6 +153,11 @@
|
|
145
153
|
color: $text-02;
|
146
154
|
}
|
147
155
|
|
156
|
+
.#{$block-class} .#{$tearsheet-class} .#{$tearsheet-class}__content {
|
157
|
+
display: flex;
|
158
|
+
flex-direction: column;
|
159
|
+
}
|
160
|
+
|
148
161
|
.#{$block-class} .#{$block-class}__items-label {
|
149
162
|
@include carbon--type-style('productive-heading-01');
|
150
163
|
}
|
@@ -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
|
@@ -35,10 +35,6 @@
|
|
35
35
|
position: relative;
|
36
36
|
}
|
37
37
|
|
38
|
-
button.#{$block-class}__td {
|
39
|
-
margin: 0;
|
40
|
-
background-color: transparent;
|
41
|
-
}
|
42
38
|
.#{$block-class}__tr {
|
43
39
|
:last-child {
|
44
40
|
.#{$block-class}__td {
|
@@ -60,22 +56,25 @@
|
|
60
56
|
border-right: 1px solid $text-03;
|
61
57
|
}
|
62
58
|
.#{$block-class}__th,
|
63
|
-
|
59
|
+
.#{$block-class}__td-th.#{$block-class}__td {
|
64
60
|
@include set-header-borders();
|
65
61
|
|
66
62
|
background-color: $ui-01;
|
67
63
|
cursor: pointer;
|
68
64
|
}
|
69
|
-
.#{$block-class}__td-th {
|
65
|
+
.#{$block-class}__td-th.#{$block-class}__td {
|
70
66
|
@include carbon--font-weight('semibold');
|
71
67
|
|
72
68
|
display: flex;
|
73
69
|
align-items: center;
|
74
70
|
justify-content: flex-end;
|
75
71
|
}
|
72
|
+
|
76
73
|
.#{$block-class}__td {
|
77
74
|
@include set-body-borders();
|
78
75
|
|
76
|
+
margin: 0;
|
77
|
+
background-color: transparent;
|
79
78
|
cursor: cell;
|
80
79
|
text-align: left;
|
81
80
|
}
|
@@ -87,9 +86,10 @@
|
|
87
86
|
}
|
88
87
|
.#{$block-class}__active-cell--highlight {
|
89
88
|
position: absolute;
|
90
|
-
z-index:
|
89
|
+
z-index: 3;
|
91
90
|
border: $spacing-01 solid $interactive-01;
|
92
91
|
background-color: transparent;
|
92
|
+
|
93
93
|
&:focus {
|
94
94
|
border: $spacing-01 solid $interactive-01;
|
95
95
|
outline: 0;
|
@@ -100,6 +100,7 @@
|
|
100
100
|
z-index: 2;
|
101
101
|
border: 1px solid $interactive-01;
|
102
102
|
pointer-events: none;
|
103
|
+
|
103
104
|
&::before {
|
104
105
|
position: absolute;
|
105
106
|
top: 0;
|
@@ -112,6 +113,10 @@
|
|
112
113
|
opacity: 0.25;
|
113
114
|
}
|
114
115
|
}
|
116
|
+
.#{$block-class}__th--active-header,
|
117
|
+
.#{$block-class}__td-th--active-header.#{$block-class}__td {
|
118
|
+
background-color: $ui-03;
|
119
|
+
}
|
115
120
|
}
|
116
121
|
}
|
117
122
|
|
@@ -81,7 +81,9 @@
|
|
81
81
|
|
82
82
|
position: relative;
|
83
83
|
display: inline-block;
|
84
|
-
//
|
84
|
+
// A standard input box is based on size (often around 150px)
|
85
|
+
// In our case there are potentially 2 * size buttons which we double
|
86
|
+
min-width: calc(4 * var(--#{$block-class}--size));
|
85
87
|
max-width: 100%;
|
86
88
|
height: var(--#{$block-class}--size);
|
87
89
|
background-color: var(--#{$block-class}--background-color);
|
@@ -119,11 +121,11 @@
|
|
119
121
|
overflow: hidden;
|
120
122
|
// positions text and placeholder including when showing placeholder
|
121
123
|
// NOTE: Using flex does strange things to a caret in content editable
|
122
|
-
|
123
|
-
max-width: calc(100% -
|
124
|
+
width: calc(100% - 2 * var(--#{$block-class}--size) - $spacing-05);
|
125
|
+
max-width: calc(100% - 2 * var(--#{$block-class}--size) - $spacing-05);
|
124
126
|
min-height: var(--#{$block-class}--size);
|
125
127
|
// stylelint-disable-next-line carbon/layout-token-use
|
126
|
-
margin-right: calc(
|
128
|
+
margin-right: calc(2 * var(--#{$block-class}--size));
|
127
129
|
// room for toolbar
|
128
130
|
margin-left: $spacing-05;
|
129
131
|
// stylelint-disable-next-line carbon/type-token-use
|
@@ -134,6 +136,14 @@
|
|
134
136
|
}
|
135
137
|
}
|
136
138
|
|
139
|
+
&.#{$block-class}--invalid .#{$block-class}__input {
|
140
|
+
// add space for validation
|
141
|
+
width: calc(100% - 3 * var(--#{$block-class}--size) - $spacing-05);
|
142
|
+
max-width: calc(100% - 3 * var(--#{$block-class}--size) - $spacing-05);
|
143
|
+
// stylelint-disable-next-line carbon/layout-token-use
|
144
|
+
margin-right: calc(3 * var(--#{$block-class}--size));
|
145
|
+
}
|
146
|
+
|
137
147
|
.#{$block-class}__input::after {
|
138
148
|
position: absolute;
|
139
149
|
top: 0;
|
@@ -198,12 +208,17 @@
|
|
198
208
|
right: 0;
|
199
209
|
display: flex;
|
200
210
|
// width: room for validation, and two buttons
|
201
|
-
width: calc(
|
211
|
+
width: calc(2 * var(--#{$block-class}--size));
|
202
212
|
height: 100%;
|
203
213
|
justify-content: space-between;
|
204
214
|
cursor: text;
|
205
215
|
}
|
206
216
|
|
217
|
+
&.#{$block-class}--invalid .#{$block-class}__after-input-elements {
|
218
|
+
// width: room for validation, and two buttons
|
219
|
+
width: calc(3 * var(--#{$block-class}--size));
|
220
|
+
}
|
221
|
+
|
207
222
|
.#{$block-class}__toolbar--animation {
|
208
223
|
// makes room for the top clip text but hides the side overflow
|
209
224
|
clip-path: --tooltip-top-bottom-safe-clip();
|
@@ -276,9 +291,7 @@
|
|
276
291
|
|
277
292
|
&.#{$block-class}.#{$block-class} .#{$block-class}__edit {
|
278
293
|
@include input-button-defaults($block-class);
|
279
|
-
|
280
294
|
// pointer-events: none;
|
281
|
-
|
282
295
|
&:hover,
|
283
296
|
&:active,
|
284
297
|
&:focus {
|
@@ -309,10 +322,6 @@
|
|
309
322
|
@include input-button-defaults($block-class);
|
310
323
|
}
|
311
324
|
|
312
|
-
&.#{$block-class}--warn .#{$block-class}__validation-icon {
|
313
|
-
color: $support-warning;
|
314
|
-
}
|
315
|
-
|
316
325
|
&.#{$block-class}--invalid .#{$block-class}__validation-icon {
|
317
326
|
color: $support-error;
|
318
327
|
}
|