@carbon/ibm-products 2.0.0-rc.26 → 2.0.0-rc.28
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +131 -251
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -5
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +202 -219
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -3
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +131 -251
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -5
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +131 -251
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -5
- package/css/index.min.css.map +1 -1
- package/es/components/AboutModal/AboutModal.js +3 -4
- package/es/components/ActionBar/ActionBar.js +13 -29
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +15 -21
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
- package/es/components/Card/Card.js +8 -6
- package/es/components/Card/CardHeader.js +2 -2
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +15 -20
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +6 -2
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
- package/es/components/Datagrid/Datagrid/DatagridRow.js +6 -2
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +7 -8
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +6 -5
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +6 -5
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +19 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +19 -5
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +19 -1
- package/es/components/Datagrid/useFiltering.js +4 -2
- package/es/components/Datagrid/useOnRowClick.js +11 -1
- package/es/components/Datagrid/useSelectRows.js +2 -0
- package/es/components/{InlineEditV2/InlineEditV2.js → EditInPlace/EditInPlace.js} +92 -30
- package/es/components/{InlineEdit → EditInPlace}/index.js +1 -1
- package/es/components/ExpressiveCard/ExpressiveCard.js +3 -3
- package/es/components/PageHeader/PageHeader.js +40 -38
- package/es/components/PageHeader/PageHeaderTitle.js +18 -18
- package/es/components/ProductiveCard/ProductiveCard.js +3 -3
- package/es/components/SidePanel/SidePanel.js +25 -26
- package/es/components/TagSet/TagSet.js +5 -7
- package/es/components/Tearsheet/TearsheetShell.js +4 -6
- package/es/components/index.js +1 -1
- package/es/global/js/hooks/useResizeObserver.js +79 -0
- package/es/global/js/hooks/useWindowResize.js +6 -0
- package/es/global/js/hooks/useWindowScroll.js +7 -0
- package/es/global/js/package-settings.js +2 -4
- package/lib/components/AboutModal/AboutModal.js +3 -4
- package/lib/components/ActionBar/ActionBar.js +13 -29
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +13 -19
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
- package/lib/components/Card/Card.js +7 -5
- package/lib/components/Card/CardHeader.js +2 -2
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +14 -19
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +6 -2
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +6 -2
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +5 -4
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +6 -5
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +19 -4
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +19 -5
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +18 -1
- package/lib/components/Datagrid/useFiltering.js +4 -2
- package/lib/components/Datagrid/useOnRowClick.js +11 -1
- package/lib/components/Datagrid/useSelectRows.js +2 -0
- package/lib/components/{InlineEditV2/InlineEditV2.js → EditInPlace/EditInPlace.js} +100 -34
- package/lib/components/{InlineEdit → EditInPlace}/index.js +3 -3
- package/lib/components/ExpressiveCard/ExpressiveCard.js +3 -3
- package/lib/components/PageHeader/PageHeader.js +40 -38
- package/lib/components/PageHeader/PageHeaderTitle.js +19 -19
- package/lib/components/ProductiveCard/ProductiveCard.js +3 -3
- package/lib/components/SidePanel/SidePanel.js +25 -26
- package/lib/components/TagSet/TagSet.js +5 -7
- package/lib/components/Tearsheet/TearsheetShell.js +4 -6
- package/lib/components/index.js +7 -7
- package/lib/global/js/hooks/useResizeObserver.js +91 -0
- package/lib/global/js/hooks/useWindowScroll.js +6 -0
- package/lib/global/js/package-settings.js +2 -4
- package/package.json +3 -4
- package/scss/components/ActionBar/_action-bar.scss +0 -4
- package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +10 -1
- package/scss/components/Card/_card.scss +13 -6
- package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +11 -7
- package/scss/components/{InlineEditV2/_inline-edit-v2.scss → EditInPlace/_edit-in-place.scss} +56 -14
- package/scss/components/{InlineEditV1 → EditInPlace}/_index-with-carbon.scss +1 -1
- package/scss/components/{InlineEditV2 → EditInPlace}/_index.scss +1 -1
- package/scss/components/{InlineEditV1 → EditInPlace}/_storybook-styles.scss +3 -15
- package/scss/components/ExportModal/_export-modal.scss +0 -4
- package/scss/components/ExpressiveCard/_expressive-card.scss +1 -1
- package/scss/components/PageHeader/_page-header.scss +3 -10
- package/scss/components/ProductiveCard/_productive-card.scss +31 -2
- package/scss/components/TagSet/_tag-set.scss +1 -0
- package/scss/components/UserProfileImage/_user-profile-image.scss +5 -0
- package/scss/components/_index-released-only-with-carbon.scss +1 -1
- package/scss/components/_index-released-only.scss +1 -1
- package/scss/components/_index-with-carbon.scss +1 -2
- package/scss/components/_index.scss +1 -2
- package/es/components/InlineEdit/InlineEdit.js +0 -47
- package/es/components/InlineEditV1/InlineEditV1.js +0 -442
- package/es/components/InlineEditV1/index.js +0 -7
- package/es/components/InlineEditV2/index.js +0 -7
- package/lib/components/InlineEdit/InlineEdit.js +0 -63
- package/lib/components/InlineEditV1/InlineEditV1.js +0 -459
- package/lib/components/InlineEditV1/index.js +0 -13
- package/lib/components/InlineEditV2/index.js +0 -13
- package/scss/components/InlineEditV1/_carbon-imports.scss +0 -6
- package/scss/components/InlineEditV1/_index.scss +0 -8
- package/scss/components/InlineEditV1/_inline-edit-v1.scss +0 -269
- package/scss/components/InlineEditV2/_index-with-carbon.scss +0 -9
- package/scss/components/InlineEditV2/_storybook-styles.scss +0 -9
- /package/scss/components/{InlineEditV2 → EditInPlace}/_carbon-imports.scss +0 -0
@@ -69,12 +69,12 @@ ExpressiveCard.propTypes = {
|
|
69
69
|
/**
|
70
70
|
* Optional header description
|
71
71
|
*/
|
72
|
-
description: _propTypes.default.string,
|
72
|
+
description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
|
73
73
|
|
74
74
|
/**
|
75
75
|
* Optional label for the top of the card
|
76
76
|
*/
|
77
|
-
label: _propTypes.default.string,
|
77
|
+
label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
|
78
78
|
|
79
79
|
/**
|
80
80
|
* Optional media content like an image to be placed in the card
|
@@ -149,6 +149,6 @@ ExpressiveCard.propTypes = {
|
|
149
149
|
/**
|
150
150
|
* Title that's displayed at the top of the card
|
151
151
|
*/
|
152
|
-
title: _propTypes.default.string
|
152
|
+
title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node])
|
153
153
|
};
|
154
154
|
ExpressiveCard.displayName = componentName;
|
@@ -25,7 +25,7 @@ var _layout = require("@carbon/layout");
|
|
25
25
|
|
26
26
|
var _classnames = _interopRequireDefault(require("classnames"));
|
27
27
|
|
28
|
-
var
|
28
|
+
var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
29
29
|
|
30
30
|
var _react2 = require("@carbon/react");
|
31
31
|
|
@@ -69,7 +69,7 @@ var defaults = {
|
|
69
69
|
};
|
70
70
|
|
71
71
|
var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
72
|
-
var _withoutBackground, _enableBreadcrumbScro,
|
72
|
+
var _withoutBackground, _enableBreadcrumbScro, _ref7, _cx2, _ref8, _cx4, _cx7;
|
73
73
|
|
74
74
|
var actionBarItems = _ref.actionBarItems,
|
75
75
|
actionBarMenuOptionsClass = _ref.actionBarMenuOptionsClass,
|
@@ -224,7 +224,9 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
224
224
|
/* istanbul ignore next */
|
225
225
|
|
226
226
|
|
227
|
-
var handleResizeActionBarColumn = function handleResizeActionBarColumn(
|
227
|
+
var handleResizeActionBarColumn = function handleResizeActionBarColumn(_ref4) {
|
228
|
+
var width = _ref4.width;
|
229
|
+
|
228
230
|
/* don't know how to test resize */
|
229
231
|
|
230
232
|
/* istanbul ignore next */
|
@@ -309,8 +311,8 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
309
311
|
}, [headerRef, enableBreadcrumbScroll, metrics, metrics.breadcrumbRowHeight, metrics.breadcrumbRowSpaceBelow, metrics.breadcrumbTitleHeight, metrics.breadcrumbRowWidth, metrics.headerHeight, metrics.headerWidth, metrics.headerOffset, metrics.headerTopValue, metrics.navigationRowHeight, navigation, scrollYValue, tags]);
|
310
312
|
(0, _hooks.useNearestScroll)(headerRef, // on scroll or various layout changes check updates if needed
|
311
313
|
// istanbul ignore next
|
312
|
-
function (
|
313
|
-
var current =
|
314
|
+
function (_ref5) {
|
315
|
+
var current = _ref5.current;
|
314
316
|
setPageHeaderStyles(function (prev) {
|
315
317
|
return _objectSpread(_objectSpread({}, prev), {}, (0, _defineProperty2.default)({}, "--".concat(_PageHeaderUtils.blockClass, "--breadcrumb-top"), "".concat(metrics.headerOffset, "px")));
|
316
318
|
});
|
@@ -326,8 +328,8 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
326
328
|
document.documentElement.style.setProperty("--".concat(_PageHeaderUtils.blockClass, "--tagset-tooltip-offset"), "".concat(tagsetTooltipOffset, "px"));
|
327
329
|
setScrollYValue(current.scrollY);
|
328
330
|
}, [metrics.headerHeight, metrics.headerTopValue, metrics.headerOffset, enableBreadcrumbScroll]);
|
329
|
-
(0, _hooks.useWindowResize)(function (
|
330
|
-
var current =
|
331
|
+
(0, _hooks.useWindowResize)(function (_ref6) {
|
332
|
+
var current = _ref6.current;
|
331
333
|
// on window resize and other updates some values may have changed
|
332
334
|
checkUpdateVerticalSpace();
|
333
335
|
setWidthIsNarrow(current.innerWidth / 16 < parseInt(_layout.breakpoints.md.width)); // small (below medium) media query
|
@@ -377,15 +379,11 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
377
379
|
(0, _PageHeaderUtils.utilSetCollapsed)(collapseHeader, metrics.headerOffset, metrics.headerTopValue);
|
378
380
|
}
|
379
381
|
}, [collapseHeader, metrics.headerOffset, metrics.headerTopValue]);
|
380
|
-
(0,
|
381
|
-
|
382
|
-
targetRef: sizingContainerRef,
|
383
|
-
handleWidth: true
|
382
|
+
(0, _useResizeObserver.useResizeObserver)(sizingContainerRef, {
|
383
|
+
callback: handleResizeActionBarColumn
|
384
384
|
});
|
385
|
-
(0,
|
386
|
-
|
387
|
-
targetRef: headerRef,
|
388
|
-
handleHeight: true
|
385
|
+
(0, _useResizeObserver.useResizeObserver)(headerRef, {
|
386
|
+
callback: handleResize
|
389
387
|
}); // Determine what form of title to display in the breadcrumb
|
390
388
|
|
391
389
|
var breadcrumbItemForTitle = (0, _PageHeaderUtils.utilGetBreadcrumbItemForTitle)(_PageHeaderUtils.blockClass, collapseTitle, title);
|
@@ -393,7 +391,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
393
391
|
className: "".concat(_PageHeaderUtils.blockClass, "--offset-top-measuring-element"),
|
394
392
|
ref: offsetTopMeasuringRef
|
395
393
|
}), /*#__PURE__*/_react.default.createElement("section", (0, _extends2.default)({}, rest, {
|
396
|
-
className: (0, _classnames.default)([_PageHeaderUtils.blockClass, "".concat(_PageHeaderUtils.blockClass, "--no-margins-below-row"), className, (
|
394
|
+
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)]),
|
397
395
|
style: pageHeaderStyles,
|
398
396
|
ref: headerRef
|
399
397
|
}, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement(_react2.FlexGrid, {
|
@@ -415,7 +413,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
415
413
|
breadcrumbs: breadcrumbs && breadcrumbItemForTitle ? breadcrumbs.concat(breadcrumbItemForTitle) : breadcrumbItemForTitle ? [breadcrumbItemForTitle] : breadcrumbs // breadcrumbs may be null or undefined
|
416
414
|
|
417
415
|
}) : null), /*#__PURE__*/_react.default.createElement(_react2.Column, {
|
418
|
-
className: (0, _classnames.default)(["".concat(_PageHeaderUtils.blockClass, "__action-bar-column ").concat(_PageHeaderUtils.blockClass, "__action-bar-column--background"), (
|
416
|
+
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)])
|
419
417
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
420
418
|
className: "".concat(_PageHeaderUtils.blockClass, "__action-bar-column-content"),
|
421
419
|
ref: sizingContainerRef
|
@@ -475,8 +473,9 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
475
473
|
showAllTagsLabel: showAllTagsLabel,
|
476
474
|
tags: tags,
|
477
475
|
overflowClassName: "".concat(_PageHeaderUtils.blockClass, "__navigation-tags-overflow")
|
478
|
-
})) : null) : null), hasCollapseButton ? /*#__PURE__*/_react.default.createElement(
|
479
|
-
className: (0, _classnames.default)("".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle"), (0, _defineProperty2.default)({}, "".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle--collapsed"), fullyCollapsed))
|
476
|
+
})) : null) : null), hasCollapseButton ? /*#__PURE__*/_react.default.createElement("div", {
|
477
|
+
className: (0, _classnames.default)("".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle"), (0, _defineProperty2.default)({}, "".concat(_PageHeaderUtils.blockClass, "__collapse-expand-toggle--collapsed"), fullyCollapsed))
|
478
|
+
}, /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
480
479
|
hasIconOnly: true,
|
481
480
|
iconDescription:
|
482
481
|
/* istanbul ignore next */
|
@@ -492,7 +491,7 @@ var PageHeader = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
492
491
|
tooltipPosition: "bottom",
|
493
492
|
tooltipAlignment: "end",
|
494
493
|
type: "button"
|
495
|
-
}) : null));
|
494
|
+
})) : null));
|
496
495
|
|
497
496
|
function thePageActions(isBreadcrumbRow, inBreadcrumbRow) {
|
498
497
|
if (pageActions) {
|
@@ -574,8 +573,8 @@ PageHeader.propTypes = _objectSpread({
|
|
574
573
|
*
|
575
574
|
* NOTE: This prop is required if actionBarItems are supplied
|
576
575
|
*/
|
577
|
-
actionBarOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (
|
578
|
-
var actionBarItems =
|
576
|
+
actionBarOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (_ref10) {
|
577
|
+
var actionBarItems = _ref10.actionBarItems;
|
579
578
|
return actionBarItems && actionBarItems.length > 0;
|
580
579
|
}),
|
581
580
|
|
@@ -610,8 +609,8 @@ PageHeader.propTypes = _objectSpread({
|
|
610
609
|
* If the user supplies breadcrumbs then this property is required.
|
611
610
|
* It is used in an overflow menu when there is insufficient space to display all breadcrumbs inline.
|
612
611
|
*/
|
613
|
-
breadcrumbOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (
|
614
|
-
var breadcrumbs =
|
612
|
+
breadcrumbOverflowAriaLabel: _propTypes.default.string.isRequired.if(function (_ref11) {
|
613
|
+
var breadcrumbs = _ref11.breadcrumbs;
|
615
614
|
return breadcrumbs && breadcrumbs.length > 0;
|
616
615
|
}),
|
617
616
|
|
@@ -650,8 +649,8 @@ PageHeader.propTypes = _objectSpread({
|
|
650
649
|
/**
|
651
650
|
* A text version of the `label` for display, required if `label` is not a string.
|
652
651
|
*/
|
653
|
-
title: _propTypes.default.string.isRequired.if(function (
|
654
|
-
var label =
|
652
|
+
title: _propTypes.default.string.isRequired.if(function (_ref12) {
|
653
|
+
var label = _ref12.label;
|
655
654
|
return typeof label !== 'string';
|
656
655
|
})
|
657
656
|
})),
|
@@ -681,9 +680,9 @@ PageHeader.propTypes = _objectSpread({
|
|
681
680
|
* If `hasCollapseHeaderToggle` is set and `withoutBackground` is unset/falsy then assistive text is
|
682
681
|
* required for both the expend and collapse states of the button component used.
|
683
682
|
*/
|
684
|
-
collapseHeaderIconDescription: _propTypes.default.string.isRequired.if(function (
|
685
|
-
var withoutBackground =
|
686
|
-
hasCollapseHeaderToggle =
|
683
|
+
collapseHeaderIconDescription: _propTypes.default.string.isRequired.if(function (_ref13) {
|
684
|
+
var withoutBackground = _ref13.withoutBackground,
|
685
|
+
hasCollapseHeaderToggle = _ref13.hasCollapseHeaderToggle;
|
687
686
|
return !withoutBackground && hasCollapseHeaderToggle;
|
688
687
|
}),
|
689
688
|
|
@@ -703,9 +702,9 @@ PageHeader.propTypes = _objectSpread({
|
|
703
702
|
* If `hasCollapseHeaderToggle` is set and `withoutBackground` is unset/falsy then assistive text is
|
704
703
|
* required for both the expend and collapse states of the button component used.
|
705
704
|
*/
|
706
|
-
expandHeaderIconDescription: _propTypes.default.string.isRequired.if(function (
|
707
|
-
var withoutBackground =
|
708
|
-
hasCollapseHeaderToggle =
|
705
|
+
expandHeaderIconDescription: _propTypes.default.string.isRequired.if(function (_ref14) {
|
706
|
+
var withoutBackground = _ref14.withoutBackground,
|
707
|
+
hasCollapseHeaderToggle = _ref14.hasCollapseHeaderToggle;
|
709
708
|
return !withoutBackground && hasCollapseHeaderToggle;
|
710
709
|
}),
|
711
710
|
|
@@ -776,8 +775,8 @@ PageHeader.propTypes = _objectSpread({
|
|
776
775
|
*
|
777
776
|
* NOTE: This prop is required if pageActions are supplied
|
778
777
|
*/
|
779
|
-
pageActionsOverflowLabel: _propTypes.default.node.isRequired.if(function (
|
780
|
-
var pageActions =
|
778
|
+
pageActionsOverflowLabel: _propTypes.default.node.isRequired.if(function (_ref15) {
|
779
|
+
var pageActions = _ref15.pageActions;
|
781
780
|
return pageActions && pageActions.length > 0 && !pageActions.content;
|
782
781
|
}),
|
783
782
|
|
@@ -840,14 +839,17 @@ PageHeader.propTypes = _objectSpread({
|
|
840
839
|
loading: _propTypes.default.bool,
|
841
840
|
// inline edit version properties
|
842
841
|
editableLabel: _propTypes.default.string,
|
843
|
-
// .isRequired.if(
|
842
|
+
// .isRequired.if(editInPlaceRequired),
|
844
843
|
id: _propTypes.default.string,
|
845
|
-
// .isRequired.if(
|
844
|
+
// .isRequired.if(editInPlaceRequired),
|
845
|
+
onCancel: _propTypes.default.func,
|
846
846
|
onChange: _propTypes.default.func,
|
847
847
|
onSave: _propTypes.default.func,
|
848
848
|
cancelDescription: _propTypes.default.string,
|
849
|
-
//.isRequired.if(
|
850
|
-
|
849
|
+
//.isRequired.if(editInPlaceRequired),
|
850
|
+
editDescription: _propTypes.default.string,
|
851
|
+
// .isRequired.if(editInPlaceRequired),
|
852
|
+
saveDescription: _propTypes.default.string //.isRequired.if(editInPlaceRequired),
|
851
853
|
// Update docgen if changed
|
852
854
|
|
853
855
|
}), _propTypes.default.string, _propTypes.default.shape({
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
|
-
exports.
|
8
|
+
exports.editInPlaceRequired = exports.PageHeaderTitle = void 0;
|
9
9
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
11
|
|
@@ -23,7 +23,7 @@ var _react2 = require("@carbon/react");
|
|
23
23
|
|
24
24
|
var _ = require("../");
|
25
25
|
|
26
|
-
var _excluded = ["text", "content", "loading", "icon", "asText", "onChange", "onSave", "editDescription", "editableLabel", "
|
26
|
+
var _excluded = ["text", "content", "loading", "icon", "asText", "onChange", "onSave", "editDescription", "editableLabel", "cancelDescription", "saveDescription"];
|
27
27
|
|
28
28
|
/**
|
29
29
|
*
|
@@ -46,7 +46,7 @@ var PageHeaderTitle = function PageHeaderTitle(_ref) {
|
|
46
46
|
onSave = title.onSave,
|
47
47
|
editDescription = title.editDescription,
|
48
48
|
editableLabel = title.editableLabel,
|
49
|
-
|
49
|
+
cancelDescription = title.cancelDescription,
|
50
50
|
saveDescription = title.saveDescription,
|
51
51
|
rest = (0, _objectWithoutProperties2.default)(title, _excluded);
|
52
52
|
var titleText;
|
@@ -63,17 +63,17 @@ var PageHeaderTitle = function PageHeaderTitle(_ref) {
|
|
63
63
|
className: "".concat(blockClass, "__title-icon")
|
64
64
|
}) : null, loading ? /*#__PURE__*/_react.default.createElement(_react2.SkeletonText, {
|
65
65
|
className: "".concat(blockClass, "__title-skeleton")
|
66
|
-
}) : isEditable ? /*#__PURE__*/_react.default.createElement(_.
|
67
|
-
|
68
|
-
hideLabel: true,
|
66
|
+
}) : isEditable ? /*#__PURE__*/_react.default.createElement(_.EditInPlace, (0, _extends2.default)({
|
67
|
+
tooltipAlignment: "bottom",
|
69
68
|
value: text,
|
70
|
-
|
69
|
+
cancelLabel: cancelDescription,
|
70
|
+
editLabel: editDescription,
|
71
|
+
saveLabel: saveDescription,
|
72
|
+
labelText: editableLabel,
|
71
73
|
onChange: onChange,
|
72
74
|
onSave: onSave,
|
73
|
-
|
74
|
-
|
75
|
-
saveDescription: saveDescription,
|
76
|
-
buttonTooltipPosition: "bottom"
|
75
|
+
size: "md",
|
76
|
+
inheritTypography: true
|
77
77
|
}, rest)) : /*#__PURE__*/_react.default.createElement("span", {
|
78
78
|
title: !loading ? asText : null
|
79
79
|
}, text));
|
@@ -90,12 +90,12 @@ var PageHeaderTitle = function PageHeaderTitle(_ref) {
|
|
90
90
|
|
91
91
|
exports.PageHeaderTitle = PageHeaderTitle;
|
92
92
|
|
93
|
-
var
|
93
|
+
var editInPlaceRequired = function editInPlaceRequired(_ref2) {
|
94
94
|
var onSave = _ref2.onSave;
|
95
95
|
return !!onSave;
|
96
96
|
};
|
97
97
|
|
98
|
-
exports.
|
98
|
+
exports.editInPlaceRequired = editInPlaceRequired;
|
99
99
|
PageHeaderTitle.propTypes = {
|
100
100
|
// passed from page header
|
101
101
|
blockClass: _propTypes.default.string.isRequired,
|
@@ -118,7 +118,7 @@ PageHeaderTitle.propTypes = {
|
|
118
118
|
* - onSave: function to process a confirmed change
|
119
119
|
* - editDescription: description for edit button
|
120
120
|
* - editableLabel: label for edit required if onSave supplied
|
121
|
-
* -
|
121
|
+
* - cancelDescription: description for edit cancel button
|
122
122
|
* - saveDescription: description for edit save button
|
123
123
|
* - Object containing user defined contents. These must fit within the area defined for the title in both main part of the header and the breadcrumb.
|
124
124
|
* - content: title or name of current location shown in main part of page header
|
@@ -131,13 +131,13 @@ PageHeaderTitle.propTypes = {
|
|
131
131
|
icon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
132
132
|
loading: _propTypes.default.bool,
|
133
133
|
// inline edit version properties
|
134
|
-
editDescription: _propTypes.default.string.isRequired.if(
|
135
|
-
editableLabel: _propTypes.default.string.isRequired.if(
|
136
|
-
id: _propTypes.default.string.isRequired.if(
|
134
|
+
editDescription: _propTypes.default.string.isRequired.if(editInPlaceRequired),
|
135
|
+
editableLabel: _propTypes.default.string.isRequired.if(editInPlaceRequired),
|
136
|
+
id: _propTypes.default.string.isRequired.if(editInPlaceRequired),
|
137
137
|
onChange: _propTypes.default.func,
|
138
138
|
onSave: _propTypes.default.func,
|
139
|
-
|
140
|
-
saveDescription: _propTypes.default.string.isRequired.if(
|
139
|
+
cancelDescription: _propTypes.default.string.isRequired.if(editInPlaceRequired),
|
140
|
+
saveDescription: _propTypes.default.string.isRequired.if(editInPlaceRequired) // Update docgen if changed
|
141
141
|
|
142
142
|
}), _propTypes.default.string, _propTypes.default.shape({
|
143
143
|
content: _propTypes.default.node.isRequired,
|
@@ -93,12 +93,12 @@ ProductiveCard.propTypes = {
|
|
93
93
|
/**
|
94
94
|
* Optional header description
|
95
95
|
*/
|
96
|
-
description: _propTypes.default.string,
|
96
|
+
description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
|
97
97
|
|
98
98
|
/**
|
99
99
|
* Optional label for the top of the card
|
100
100
|
*/
|
101
|
-
label: _propTypes.default.string,
|
101
|
+
label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
|
102
102
|
|
103
103
|
/**
|
104
104
|
* Provides the callback for a clickable card
|
@@ -148,7 +148,7 @@ ProductiveCard.propTypes = {
|
|
148
148
|
/**
|
149
149
|
* Title that's displayed at the top of the card
|
150
150
|
*/
|
151
|
-
title: _propTypes.default.string,
|
151
|
+
title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.node]),
|
152
152
|
|
153
153
|
/**
|
154
154
|
* Determines title size
|
@@ -25,7 +25,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
25
|
|
26
26
|
var _classnames = _interopRequireDefault(require("classnames"));
|
27
27
|
|
28
|
-
var
|
28
|
+
var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
29
29
|
|
30
30
|
var _motion = require("@carbon/motion");
|
31
31
|
|
@@ -77,7 +77,7 @@ var defaults = {
|
|
77
77
|
*/
|
78
78
|
|
79
79
|
var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
80
|
-
var _window,
|
80
|
+
var _window, _ref5, _cx4;
|
81
81
|
|
82
82
|
var actionToolbarButtons = _ref.actionToolbarButtons,
|
83
83
|
actions = _ref.actions,
|
@@ -198,9 +198,10 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
198
198
|
}, [labelText, title]);
|
199
199
|
/* istanbul ignore next */
|
200
200
|
|
201
|
-
var handleResize = function handleResize(
|
201
|
+
var handleResize = function handleResize(_ref2) {
|
202
202
|
var _sidePanelOuter$style3;
|
203
203
|
|
204
|
+
var height = _ref2.height;
|
204
205
|
setPanelHeight(height);
|
205
206
|
var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
|
206
207
|
var actionsContainer = getActionsContainerElement();
|
@@ -397,9 +398,9 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
397
398
|
|
398
399
|
/* istanbul ignore next */
|
399
400
|
|
400
|
-
var handleBlur = function handleBlur(
|
401
|
-
var oldActiveNode =
|
402
|
-
currentActiveNode =
|
401
|
+
var handleBlur = function handleBlur(_ref3) {
|
402
|
+
var oldActiveNode = _ref3.target,
|
403
|
+
currentActiveNode = _ref3.relatedTarget;
|
403
404
|
|
404
405
|
// focus trap should only be set if the side panel is a `slideOver` type
|
405
406
|
if (open && sidePanelInnerRef && !slideIn) {
|
@@ -414,7 +415,7 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
414
415
|
};
|
415
416
|
|
416
417
|
var primaryActionContainerClassNames = (0, _classnames.default)(["".concat(blockClass, "__actions-container"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__actions-container-condensed"), condensedActions)]);
|
417
|
-
var mainPanelClassNames = (0, _classnames.default)([blockClass, className, "".concat(blockClass, "__container"), "".concat(blockClass, "__container--").concat(size), (
|
418
|
+
var mainPanelClassNames = (0, _classnames.default)([blockClass, className, "".concat(blockClass, "__container"), "".concat(blockClass, "__container--").concat(size), (_ref5 = {}, (0, _defineProperty2.default)(_ref5, "".concat(blockClass, "__container-right-placement"), placement === 'right'), (0, _defineProperty2.default)(_ref5, "".concat(blockClass, "__container-left-placement"), placement === 'left'), (0, _defineProperty2.default)(_ref5, "".concat(blockClass, "__container-with-action-toolbar"), actionToolbarButtons && actionToolbarButtons.length), (0, _defineProperty2.default)(_ref5, "".concat(blockClass, "__container-without-overlay"), !includeOverlay && !slideIn), (0, _defineProperty2.default)(_ref5, "".concat(blockClass, "__container-is-animating"), !animationComplete || !open), _ref5)]);
|
418
419
|
|
419
420
|
var renderHeader = function renderHeader() {
|
420
421
|
var _cx, _cx2;
|
@@ -453,17 +454,17 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
453
454
|
className: (0, _classnames.default)("".concat(blockClass, "__subtitle-text"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "__subtitle-text-no-animation"), !animateTitle), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "__subtitle-text-no-animation-no-action-toolbar"), !animateTitle && (!actionToolbarButtons || !actionToolbarButtons.length)), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "__subtitle-text-is-animating"), !animationComplete && animateTitle), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "__subtitle-without-title"), !title), _cx2))
|
454
455
|
}, subtitle), actionToolbarButtons && actionToolbarButtons.length && /*#__PURE__*/_react.default.createElement("div", {
|
455
456
|
className: (0, _classnames.default)("".concat(blockClass, "__action-toolbar"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__action-toolbar-no-animation"), !animateTitle))
|
456
|
-
}, actionToolbarButtons.map(function (
|
457
|
-
var label =
|
458
|
-
kind =
|
459
|
-
icon =
|
460
|
-
tooltipPosition =
|
461
|
-
tooltipAlignment =
|
462
|
-
leading =
|
463
|
-
disabled =
|
464
|
-
className =
|
465
|
-
onClick =
|
466
|
-
rest = (0, _objectWithoutProperties2.default)(
|
457
|
+
}, actionToolbarButtons.map(function (_ref6) {
|
458
|
+
var label = _ref6.label,
|
459
|
+
kind = _ref6.kind,
|
460
|
+
icon = _ref6.icon,
|
461
|
+
tooltipPosition = _ref6.tooltipPosition,
|
462
|
+
tooltipAlignment = _ref6.tooltipAlignment,
|
463
|
+
leading = _ref6.leading,
|
464
|
+
disabled = _ref6.disabled,
|
465
|
+
className = _ref6.className,
|
466
|
+
onClick = _ref6.onClick,
|
467
|
+
rest = (0, _objectWithoutProperties2.default)(_ref6, _excluded2);
|
467
468
|
return /*#__PURE__*/_react.default.createElement(_react2.Button, (0, _extends2.default)({}, rest, {
|
468
469
|
key: label,
|
469
470
|
kind: kind || 'ghost',
|
@@ -493,10 +494,8 @@ var SidePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
493
494
|
};
|
494
495
|
|
495
496
|
var contentRef = ref || sidePanelRef;
|
496
|
-
(0,
|
497
|
-
|
498
|
-
onResize: handleResize,
|
499
|
-
targetRef: contentRef
|
497
|
+
(0, _useResizeObserver.useResizeObserver)(contentRef, {
|
498
|
+
callback: handleResize
|
500
499
|
});
|
501
500
|
return /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, null, open && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, (0, _extends2.default)({}, (0, _devtools.getDevtoolsProps)(componentName), rest, {
|
502
501
|
id: "".concat(blockClass, "-outer"),
|
@@ -667,8 +666,8 @@ SidePanel.propTypes = {
|
|
667
666
|
* This is the selector to the element that contains all of the page content that will shrink if the panel is a slide in.
|
668
667
|
* This prop is required when using the `slideIn` variant of the side panel.
|
669
668
|
*/
|
670
|
-
selectorPageContent: _propTypes.default.string.isRequired.if(function (
|
671
|
-
var slideIn =
|
669
|
+
selectorPageContent: _propTypes.default.string.isRequired.if(function (_ref8) {
|
670
|
+
var slideIn = _ref8.slideIn;
|
672
671
|
return slideIn;
|
673
672
|
}),
|
674
673
|
|
@@ -696,8 +695,8 @@ SidePanel.propTypes = {
|
|
696
695
|
/**
|
697
696
|
* Sets the title text
|
698
697
|
*/
|
699
|
-
title: _propTypes.default.string.isRequired.if(function (
|
700
|
-
var labelText =
|
698
|
+
title: _propTypes.default.string.isRequired.if(function (_ref9) {
|
699
|
+
var labelText = _ref9.labelText;
|
701
700
|
return labelText;
|
702
701
|
})
|
703
702
|
};
|
@@ -31,7 +31,7 @@ var _TagSetModal = require("./TagSetModal");
|
|
31
31
|
|
32
32
|
var _react2 = require("@carbon/react");
|
33
33
|
|
34
|
-
var
|
34
|
+
var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
35
35
|
|
36
36
|
var _devtools = require("../../global/js/utils/devtools");
|
37
37
|
|
@@ -245,13 +245,11 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
245
245
|
setShowAllModalOpen(false);
|
246
246
|
};
|
247
247
|
|
248
|
-
(0,
|
249
|
-
|
250
|
-
targetRef: sizingContainerRef
|
248
|
+
(0, _useResizeObserver.useResizeObserver)(sizingContainerRef, {
|
249
|
+
callback: handleSizerTagsResize
|
251
250
|
});
|
252
|
-
(0,
|
253
|
-
|
254
|
-
targetRef: tagSetRef
|
251
|
+
(0, _useResizeObserver.useResizeObserver)(tagSetRef, {
|
252
|
+
callback: handleResize
|
255
253
|
});
|
256
254
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
257
255
|
className: (0, _classnames.default)([blockClass, className]),
|
@@ -21,7 +21,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
21
21
|
|
22
22
|
var _reactDom = require("react-dom");
|
23
23
|
|
24
|
-
var
|
24
|
+
var _useResizeObserver2 = require("../../global/js/hooks/useResizeObserver");
|
25
25
|
|
26
26
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
27
27
|
|
@@ -118,13 +118,11 @@ var TearsheetShell = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
118
118
|
}
|
119
119
|
}, [portalTargetIn]);
|
120
120
|
var localRef = (0, _react.useRef)();
|
121
|
+
var resizer = (0, _react.useRef)(null);
|
121
122
|
var modalRef = ref || localRef;
|
122
123
|
|
123
|
-
var
|
124
|
-
|
125
|
-
}),
|
126
|
-
width = _useResizeDetector.width,
|
127
|
-
resizer = _useResizeDetector.ref;
|
124
|
+
var _useResizeObserver = (0, _useResizeObserver2.useResizeObserver)(resizer),
|
125
|
+
width = _useResizeObserver.width;
|
128
126
|
|
129
127
|
var wide = size === 'wide'; // Keep track of the stack depth and our position in it (1-based, 0=closed)
|
130
128
|
|
package/lib/components/index.js
CHANGED
@@ -99,6 +99,12 @@ Object.defineProperty(exports, "EditFullPage", {
|
|
99
99
|
return _EditFullPage.EditFullPage;
|
100
100
|
}
|
101
101
|
});
|
102
|
+
Object.defineProperty(exports, "EditInPlace", {
|
103
|
+
enumerable: true,
|
104
|
+
get: function get() {
|
105
|
+
return _EditInPlace.EditInPlace;
|
106
|
+
}
|
107
|
+
});
|
102
108
|
Object.defineProperty(exports, "EditSidePanel", {
|
103
109
|
enumerable: true,
|
104
110
|
get: function get() {
|
@@ -171,12 +177,6 @@ Object.defineProperty(exports, "ImportModal", {
|
|
171
177
|
return _ImportModal.ImportModal;
|
172
178
|
}
|
173
179
|
});
|
174
|
-
Object.defineProperty(exports, "InlineEdit", {
|
175
|
-
enumerable: true,
|
176
|
-
get: function get() {
|
177
|
-
return _InlineEdit.InlineEdit;
|
178
|
-
}
|
179
|
-
});
|
180
180
|
Object.defineProperty(exports, "ModifiedTabs", {
|
181
181
|
enumerable: true,
|
182
182
|
get: function get() {
|
@@ -516,7 +516,7 @@ var _EditSidePanel = require("./EditSidePanel");
|
|
516
516
|
|
517
517
|
var _OptionsTile = require("./OptionsTile");
|
518
518
|
|
519
|
-
var
|
519
|
+
var _EditInPlace = require("./EditInPlace");
|
520
520
|
|
521
521
|
var _DataSpreadsheet = require("./DataSpreadsheet");
|
522
522
|
|
@@ -0,0 +1,91 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.useResizeObserver = void 0;
|
9
|
+
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
11
|
+
|
12
|
+
var _react = require("react");
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Copyright IBM Corp. 2023, 2023
|
16
|
+
*
|
17
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
18
|
+
* LICENSE file in the root directory of this source tree.
|
19
|
+
*/
|
20
|
+
var useResizeObserver = function useResizeObserver(ref) {
|
21
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
22
|
+
callback: null,
|
23
|
+
throttleInterval: 0
|
24
|
+
};
|
25
|
+
var callback = options.callback,
|
26
|
+
throttleInterval = options.throttleInterval;
|
27
|
+
|
28
|
+
var _useState = (0, _react.useState)(0),
|
29
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
30
|
+
width = _useState2[0],
|
31
|
+
setWidth = _useState2[1];
|
32
|
+
|
33
|
+
var _useState3 = (0, _react.useState)(0),
|
34
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
35
|
+
height = _useState4[0],
|
36
|
+
setHeight = _useState4[1];
|
37
|
+
|
38
|
+
var throttleTimeout = (0, _react.useRef)(null);
|
39
|
+
var entriesToHandle = (0, _react.useRef)(null);
|
40
|
+
(0, _react.useLayoutEffect)(function () {
|
41
|
+
if (!(ref !== null && ref !== void 0 && ref.current)) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
|
45
|
+
var doCallbacks = function doCallbacks() {
|
46
|
+
if (!(ref !== null && ref !== void 0 && ref.current) || !Array.isArray(entriesToHandle === null || entriesToHandle === void 0 ? void 0 : entriesToHandle.current)) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
|
50
|
+
var entry = entriesToHandle.current[0];
|
51
|
+
setWidth(entry.contentRect.width);
|
52
|
+
setHeight(entry.contentRect.height);
|
53
|
+
throttleTimeout.current = null;
|
54
|
+
callback && callback(entry.contentRect);
|
55
|
+
};
|
56
|
+
|
57
|
+
var observer = new ResizeObserver(function (entries) {
|
58
|
+
// always update entriesToHandle
|
59
|
+
entriesToHandle.current = entries;
|
60
|
+
|
61
|
+
if (throttleInterval) {
|
62
|
+
// if a throttleInterval check for running timeout
|
63
|
+
if (throttleTimeout.current === null) {
|
64
|
+
// no live timeout set entries to handle and move on
|
65
|
+
// set up throttle
|
66
|
+
throttleTimeout.current = setTimeout(function () {
|
67
|
+
// do callbacks
|
68
|
+
doCallbacks(); // reset throttle
|
69
|
+
|
70
|
+
throttleTimeout.current = null;
|
71
|
+
}, throttleInterval);
|
72
|
+
}
|
73
|
+
} else {
|
74
|
+
// no throttle do callbacks every time
|
75
|
+
doCallbacks();
|
76
|
+
}
|
77
|
+
}); // observe all refs passed
|
78
|
+
|
79
|
+
observer.observe(ref.current);
|
80
|
+
return function () {
|
81
|
+
observer.disconnect();
|
82
|
+
observer = null;
|
83
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
84
|
+
}, [ref, options]);
|
85
|
+
return {
|
86
|
+
width: width,
|
87
|
+
height: height
|
88
|
+
};
|
89
|
+
};
|
90
|
+
|
91
|
+
exports.useResizeObserver = useResizeObserver;
|
@@ -14,6 +14,12 @@ var _react = require("react");
|
|
14
14
|
|
15
15
|
var _scrollableAncestor = require("../utils/scrollableAncestor");
|
16
16
|
|
17
|
+
/**
|
18
|
+
* Copyright IBM Corp. 2022, 2023
|
19
|
+
*
|
20
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
21
|
+
* LICENSE file in the root directory of this source tree.
|
22
|
+
*/
|
17
23
|
var windowExists = (typeof window === "undefined" ? "undefined" : (0, _typeof2.default)(window)) !== "undefined";
|
18
24
|
|
19
25
|
var useTargetScroll = function useTargetScroll(target, effect, deps, throttleInterval) {
|