@carbon/ibm-products 2.22.0 → 2.23.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/README.md +2 -1
- package/css/index-full-carbon.css +32 -110
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +32 -94
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +32 -110
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +32 -110
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +14 -4
- package/es/components/Datagrid/Datagrid/addons/Slug/ColumnHeaderSlug.js +26 -0
- package/es/components/Datagrid/useDefaultStringRenderer.js +3 -3
- package/es/components/Datagrid/useSortableColumns.js +15 -5
- package/es/components/FilterSummary/FilterSummary.js +100 -19
- package/es/components/TagSet/TagSet.js +11 -3
- package/es/global/js/hooks/useResizeObserver.js +2 -2
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +14 -4
- package/lib/components/Datagrid/Datagrid/addons/Slug/ColumnHeaderSlug.js +36 -0
- package/lib/components/Datagrid/useDefaultStringRenderer.js +3 -3
- package/lib/components/Datagrid/useSortableColumns.js +15 -5
- package/lib/components/FilterSummary/FilterSummary.js +103 -23
- package/lib/components/TagSet/TagSet.js +11 -3
- package/lib/global/js/hooks/useResizeObserver.js +2 -2
- package/package.json +3 -3
- package/scss/components/CreateSidePanel/_create-side-panel.scss +1 -38
- package/scss/components/Datagrid/styles/_datagrid.scss +15 -0
- package/scss/components/EditSidePanel/_edit-side-panel.scss +0 -18
- package/scss/components/FilterSummary/_filter-summary.scss +22 -1
@@ -1,4 +1,5 @@
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
2
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
4
5
|
var _excluded = ["className", "clearFiltersText", "clearFilters", "filters", "renderLabel", "overflowType", "clearButtonInline"],
|
@@ -6,22 +7,28 @@ var _excluded = ["className", "clearFiltersText", "clearFilters", "filters", "re
|
|
6
7
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
7
8
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
8
9
|
/**
|
9
|
-
* Copyright IBM Corp. 2022,
|
10
|
+
* Copyright IBM Corp. 2022, 2024
|
10
11
|
*
|
11
12
|
* This source code is licensed under the Apache-2.0 license found in the
|
12
13
|
* LICENSE file in the root directory of this source tree.
|
13
14
|
*/
|
14
|
-
|
15
|
-
import React, { useRef } from 'react';
|
15
|
+
|
16
|
+
import React, { useRef, useState } from 'react';
|
17
|
+
import { Button, IconButton } from '@carbon/react';
|
18
|
+
import { AnimatePresence, motion } from 'framer-motion';
|
19
|
+
import { ChevronDown } from '@carbon/react/icons';
|
16
20
|
import PropTypes from 'prop-types';
|
17
21
|
import cx from 'classnames';
|
18
22
|
import { TagSet } from '../TagSet';
|
19
23
|
import { pkg } from '../../settings';
|
20
24
|
import uuidv4 from '../../global/js/utils/uuidv4';
|
25
|
+
import { DURATIONS, EASINGS } from '../../global/js/utils/motionConstants';
|
26
|
+
import { useWindowResize, usePreviousValue } from '../../global/js/hooks';
|
27
|
+
import debounce from 'lodash/debounce';
|
21
28
|
import { getDevtoolsProps } from '../../global/js/utils/devtools';
|
22
29
|
var blockClass = "".concat(pkg.prefix, "--filter-summary");
|
23
30
|
var FilterSummary = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
24
|
-
var _filterSummaryClearBu;
|
31
|
+
var _viewAllButtonRef$cur, _filterSummaryClearBu;
|
25
32
|
var _ref$className = _ref.className,
|
26
33
|
className = _ref$className === void 0 ? '' : _ref$className,
|
27
34
|
_ref$clearFiltersText = _ref.clearFiltersText,
|
@@ -47,29 +54,103 @@ var FilterSummary = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
47
54
|
});
|
48
55
|
});
|
49
56
|
var filterSummaryClearButton = useRef();
|
57
|
+
var viewAllButtonRef = useRef();
|
50
58
|
var filterSummaryRef = useRef();
|
51
|
-
var localRef =
|
59
|
+
var localRef = filterSummaryRef || ref;
|
60
|
+
var _useState = useState(0),
|
61
|
+
_useState2 = _slicedToArray(_useState, 2),
|
62
|
+
overflowCount = _useState2[0],
|
63
|
+
setOverflowCount = _useState2[1];
|
64
|
+
var _useState3 = useState(false),
|
65
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
66
|
+
multiline = _useState4[0],
|
67
|
+
setMultiline = _useState4[1];
|
68
|
+
var previousState = usePreviousValue({
|
69
|
+
multiline: multiline
|
70
|
+
});
|
71
|
+
var handleViewAll = function handleViewAll() {
|
72
|
+
if (overflowCount === 0) {
|
73
|
+
setMultiline(false);
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
setMultiline(function (prev) {
|
77
|
+
return !prev;
|
78
|
+
});
|
79
|
+
};
|
80
|
+
var viewAllWidth = typeof (viewAllButtonRef === null || viewAllButtonRef === void 0 || (_viewAllButtonRef$cur = viewAllButtonRef.current) === null || _viewAllButtonRef$cur === void 0 ? void 0 : _viewAllButtonRef$cur.offsetWidth) === 'undefined' ? 0 : overflowCount > 0 ? 48 : 0;
|
81
|
+
var measurementOffset = (filterSummaryClearButton === null || filterSummaryClearButton === void 0 || (_filterSummaryClearBu = filterSummaryClearButton.current) === null || _filterSummaryClearBu === void 0 ? void 0 : _filterSummaryClearBu.offsetWidth) + viewAllWidth;
|
82
|
+
var renderTagSet = function renderTagSet(type) {
|
83
|
+
return /*#__PURE__*/React.createElement(motion.div, {
|
84
|
+
key: type,
|
85
|
+
initial: {
|
86
|
+
opacity: 0,
|
87
|
+
y: -16
|
88
|
+
},
|
89
|
+
animate: {
|
90
|
+
opacity: 1,
|
91
|
+
y: 0
|
92
|
+
},
|
93
|
+
exit: {
|
94
|
+
opacity: 0,
|
95
|
+
y: -16
|
96
|
+
},
|
97
|
+
transition: {
|
98
|
+
duration: DURATIONS.moderate01,
|
99
|
+
ease: EASINGS.productive.entrance
|
100
|
+
}
|
101
|
+
}, /*#__PURE__*/React.createElement(TagSet, {
|
102
|
+
allTagsModalSearchLabel: "Search all tags",
|
103
|
+
allTagsModalSearchPlaceholderText: "Search all tags",
|
104
|
+
allTagsModalTitle: "All tags",
|
105
|
+
showAllTagsLabel: "View all tags",
|
106
|
+
tags: tagFilters,
|
107
|
+
overflowType: overflowType,
|
108
|
+
className: cx(_defineProperty({}, "".concat(blockClass, "__clear-button-inline"), clearButtonInline)),
|
109
|
+
containingElementRef: localRef,
|
110
|
+
measurementOffset: measurementOffset,
|
111
|
+
onOverflowTagChange: function onOverflowTagChange(overflowTags) {
|
112
|
+
return setOverflowCount(overflowTags.length);
|
113
|
+
},
|
114
|
+
multiline: multiline
|
115
|
+
}));
|
116
|
+
};
|
117
|
+
useWindowResize(function () {
|
118
|
+
var handleFilterSummaryResize = function handleFilterSummaryResize() {
|
119
|
+
var _localRef$current;
|
120
|
+
if (multiline && (localRef === null || localRef === void 0 || (_localRef$current = localRef.current) === null || _localRef$current === void 0 ? void 0 : _localRef$current.offsetHeight) <= 50) {
|
121
|
+
setMultiline(false);
|
122
|
+
}
|
123
|
+
};
|
124
|
+
var filterResize = debounce(handleFilterSummaryResize, 500);
|
125
|
+
filterResize();
|
126
|
+
}, [previousState === null || previousState === void 0 ? void 0 : previousState.multiline, multiline]);
|
52
127
|
return /*#__PURE__*/React.createElement("div", _extends({}, getDevtoolsProps(componentName), {
|
53
128
|
id: filterSummaryId
|
54
129
|
}, rest, {
|
55
130
|
ref: localRef,
|
56
|
-
className: cx([blockClass, className])
|
57
|
-
}), /*#__PURE__*/React.createElement(
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
showAllTagsLabel: "View all tags",
|
62
|
-
tags: tagFilters,
|
63
|
-
overflowType: overflowType,
|
64
|
-
className: cx(_defineProperty({}, "".concat(blockClass, "__clear-button-inline"), clearButtonInline)),
|
65
|
-
containingElementRef: localRef,
|
66
|
-
measurementOffset: filterSummaryClearButton === null || filterSummaryClearButton === void 0 || (_filterSummaryClearBu = filterSummaryClearButton.current) === null || _filterSummaryClearBu === void 0 ? void 0 : _filterSummaryClearBu.offsetWidth
|
67
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
131
|
+
className: cx([blockClass, className], _defineProperty({}, "".concat(blockClass, "__expanded"), multiline))
|
132
|
+
}), /*#__PURE__*/React.createElement(AnimatePresence, {
|
133
|
+
mode: "wait",
|
134
|
+
exitBeforeEnter: true
|
135
|
+
}, !multiline && renderTagSet('single'), multiline && renderTagSet('multiline')), /*#__PURE__*/React.createElement(Button, {
|
68
136
|
kind: "ghost",
|
69
137
|
size: "sm",
|
70
138
|
onClick: clearFilters,
|
71
|
-
ref: filterSummaryClearButton
|
72
|
-
|
139
|
+
ref: filterSummaryClearButton,
|
140
|
+
className: "".concat(blockClass, "__clear-all-button")
|
141
|
+
}, clearFiltersText), (overflowCount > 0 || multiline) && /*#__PURE__*/React.createElement("div", {
|
142
|
+
className: "".concat(blockClass, "__view-all--wrapper")
|
143
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
144
|
+
ref: viewAllButtonRef,
|
145
|
+
kind: "ghost",
|
146
|
+
label: 'View all',
|
147
|
+
className: "".concat(blockClass, "__view-all--trigger"),
|
148
|
+
align: "left",
|
149
|
+
onClick: handleViewAll,
|
150
|
+
size: "sm"
|
151
|
+
}, /*#__PURE__*/React.createElement(ChevronDown, {
|
152
|
+
className: cx("".concat(blockClass, "__view-all--chevron"), _defineProperty({}, "".concat(blockClass, "__view-all--chevron-multiline"), multiline))
|
153
|
+
}))));
|
73
154
|
});
|
74
155
|
var componentName = 'FilterSummary';
|
75
156
|
FilterSummary.displayName = componentName;
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
5
|
-
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags", "containingElementRef", "measurementOffset"],
|
5
|
+
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags", "containingElementRef", "measurementOffset", "onOverflowTagChange"],
|
6
6
|
_excluded2 = ["label", "id"],
|
7
7
|
_excluded3 = ["label", "onClose"];
|
8
8
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
@@ -33,7 +33,8 @@ var defaults = {
|
|
33
33
|
align: 'start',
|
34
34
|
measurementOffset: 0,
|
35
35
|
overflowAlign: 'bottom',
|
36
|
-
overflowType: 'default'
|
36
|
+
overflowType: 'default',
|
37
|
+
onOverflowTagChange: function onOverflowTagChange() {}
|
37
38
|
};
|
38
39
|
export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
39
40
|
var _ref$align = _ref.align,
|
@@ -55,6 +56,8 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
55
56
|
containingElementRef = _ref.containingElementRef,
|
56
57
|
_ref$measurementOffse = _ref.measurementOffset,
|
57
58
|
measurementOffset = _ref$measurementOffse === void 0 ? defaults.measurementOffset : _ref$measurementOffse,
|
59
|
+
_ref$onOverflowTagCha = _ref.onOverflowTagChange,
|
60
|
+
onOverflowTagChange = _ref$onOverflowTagCha === void 0 ? defaults.onOverflowTagChange : _ref$onOverflowTagCha,
|
58
61
|
rest = _objectWithoutProperties(_ref, _excluded);
|
59
62
|
var _useState = useState(3),
|
60
63
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -151,8 +154,9 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
151
154
|
popoverOpen: popoverOpen,
|
152
155
|
setPopoverOpen: setPopoverOpen
|
153
156
|
}));
|
157
|
+
onOverflowTagChange === null || onOverflowTagChange === void 0 || onOverflowTagChange(newOverflowTags);
|
154
158
|
setDisplayedTags(newDisplayedTags);
|
155
|
-
}, [displayCount, overflowAlign, overflowClassName, overflowType, showAllTagsLabel, tags, popoverOpen, handleTagOnClose]);
|
159
|
+
}, [displayCount, overflowAlign, overflowClassName, overflowType, showAllTagsLabel, tags, onOverflowTagChange, popoverOpen, handleTagOnClose]);
|
156
160
|
var checkFullyVisibleTags = useCallback(function () {
|
157
161
|
if (multiline) {
|
158
162
|
return setDisplayCount(maxVisible);
|
@@ -306,6 +310,10 @@ TagSet.propTypes = {
|
|
306
310
|
* display tags in multiple lines
|
307
311
|
*/
|
308
312
|
multiline: PropTypes.bool,
|
313
|
+
/**
|
314
|
+
* Handler to get overflow tags
|
315
|
+
*/
|
316
|
+
onOverflowTagChange: PropTypes.func,
|
309
317
|
/**
|
310
318
|
* overflowAlign from the standard tooltip. Default center.
|
311
319
|
*/
|
@@ -41,7 +41,7 @@ export var useResizeObserver = function useResizeObserver(ref, callback) {
|
|
41
41
|
}
|
42
42
|
getInitialSize();
|
43
43
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
44
|
-
}, [width, height, ref].concat(_toConsumableArray(deps)));
|
44
|
+
}, [width, height, ref.current].concat(_toConsumableArray(deps)));
|
45
45
|
useLayoutEffect(function () {
|
46
46
|
if (!(ref !== null && ref !== void 0 && ref.current)) {
|
47
47
|
return;
|
@@ -71,7 +71,7 @@ export var useResizeObserver = function useResizeObserver(ref, callback) {
|
|
71
71
|
observer = null;
|
72
72
|
};
|
73
73
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
74
|
-
}, [ref].concat(_toConsumableArray(deps)));
|
74
|
+
}, [ref.current].concat(_toConsumableArray(deps)));
|
75
75
|
return {
|
76
76
|
width: width,
|
77
77
|
height: height
|
@@ -18,12 +18,13 @@ var _commonColumnIds = require("../common-column-ids");
|
|
18
18
|
var _settings = require("../../../settings");
|
19
19
|
var _stateReducer = require("./addons/stateReducer");
|
20
20
|
var _getNodeTextContent = require("../../../global/js/utils/getNodeTextContent");
|
21
|
+
var _ColumnHeaderSlug = require("./addons/Slug/ColumnHeaderSlug");
|
21
22
|
var _excluded = ["role"],
|
22
23
|
_excluded2 = ["className", "role"],
|
23
24
|
_excluded3 = ["role", "className"];
|
24
25
|
/* eslint-disable react/prop-types */
|
25
26
|
/**
|
26
|
-
* Copyright IBM Corp. 2020,
|
27
|
+
* Copyright IBM Corp. 2020, 2024
|
27
28
|
*
|
28
29
|
* This source code is licensed under the Apache-2.0 license found in the
|
29
30
|
* LICENSE file in the root directory of this source tree.
|
@@ -94,7 +95,8 @@ var ResizeHeader = function ResizeHeader(_ref) {
|
|
94
95
|
}));
|
95
96
|
};
|
96
97
|
var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
97
|
-
var resizerAriaLabel = datagridState.resizerAriaLabel
|
98
|
+
var resizerAriaLabel = datagridState.resizerAriaLabel,
|
99
|
+
isTableSortable = datagridState.isTableSortable;
|
98
100
|
// Used to measure the height of the table and uses that value
|
99
101
|
// to display a vertical line to indicate the column you are resizing
|
100
102
|
(0, _react.useEffect)(function () {
|
@@ -136,6 +138,14 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
136
138
|
headerGroupClassName = _headerGroup$getHeade.className,
|
137
139
|
role = _headerGroup$getHeade.role,
|
138
140
|
headerGroupProps = (0, _objectWithoutProperties2.default)(_headerGroup$getHeade, _excluded2);
|
141
|
+
var renderSlug = function renderSlug(slug) {
|
142
|
+
if (isTableSortable) {
|
143
|
+
return;
|
144
|
+
}
|
145
|
+
return /*#__PURE__*/_react.default.createElement(_ColumnHeaderSlug.ColumnHeaderSlug, {
|
146
|
+
slug: slug
|
147
|
+
});
|
148
|
+
};
|
139
149
|
return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroupProps, {
|
140
150
|
className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroupClassName),
|
141
151
|
ref: headRef
|
@@ -166,10 +176,10 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
166
176
|
headerProps = (0, _objectWithoutProperties2.default)(_header$getHeaderProp, _excluded3);
|
167
177
|
var resizerProps = header === null || header === void 0 || (_header$getResizerPro = header.getResizerProps) === null || _header$getResizerPro === void 0 ? void 0 : _header$getResizerPro.call(header);
|
168
178
|
return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, headerProps, {
|
169
|
-
className: (0, _classnames.default)(headerClassName, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header.isSorted), "".concat(blockClass, "__header-actions-column"), header.isAction)),
|
179
|
+
className: (0, _classnames.default)(headerClassName, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header.isSorted), "".concat(blockClass, "__header-actions-column"), header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/_react.default.isValidElement(header.slug))),
|
170
180
|
key: header.id,
|
171
181
|
"aria-hidden": header.id === 'spacer' && 'true'
|
172
|
-
}, getAccessibilityProps(header)), header.render('Header'), resizerProps && !header.isAction && /*#__PURE__*/_react.default.createElement(ResizeHeader, {
|
182
|
+
}, getAccessibilityProps(header)), header.render('Header'), renderSlug(header.slug), resizerProps && !header.isAction && /*#__PURE__*/_react.default.createElement(ResizeHeader, {
|
173
183
|
resizerProps: resizerProps,
|
174
184
|
header: header,
|
175
185
|
handleOnMouseDownResize: handleOnMouseDownResize,
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.ColumnHeaderSlug = void 0;
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
13
|
+
/**
|
14
|
+
* Copyright IBM Corp. 2024, 2024
|
15
|
+
*
|
16
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
18
|
+
*/
|
19
|
+
|
20
|
+
var ColumnHeaderSlug = exports.ColumnHeaderSlug = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
21
|
+
var slug = _ref.slug;
|
22
|
+
if (slug && /*#__PURE__*/(0, _react.isValidElement)(slug)) {
|
23
|
+
var normalizedSlug = /*#__PURE__*/_react.default.cloneElement(slug, {
|
24
|
+
size: 'mini',
|
25
|
+
ref: ref
|
26
|
+
});
|
27
|
+
return normalizedSlug;
|
28
|
+
}
|
29
|
+
return;
|
30
|
+
});
|
31
|
+
ColumnHeaderSlug.propTypes = {
|
32
|
+
/**
|
33
|
+
* Specify the AI slug to be displayed
|
34
|
+
*/
|
35
|
+
slug: _propTypes.default.node
|
36
|
+
};
|
@@ -26,9 +26,9 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
|
|
26
26
|
className: (0, _classnames.default)("".concat(blockClass, "__defaultStringRenderer"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__defaultStringRenderer--multiline"), ((_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.multiLineWrap) || (tableProps === null || tableProps === void 0 ? void 0 : tableProps.multiLineWrapAll)))
|
27
27
|
}, tableProps.value);
|
28
28
|
};
|
29
|
-
var HeaderRenderer = function HeaderRenderer(header) {
|
29
|
+
var HeaderRenderer = function HeaderRenderer(header, slug) {
|
30
30
|
return /*#__PURE__*/_react.default.createElement("div", {
|
31
|
-
className: "".concat(blockClass, "__defaultStringRenderer"),
|
31
|
+
className: (0, _classnames.default)("".concat(blockClass, "__defaultStringRenderer"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/_react.default.isValidElement(slug))),
|
32
32
|
title: typeof header === 'string' ? header : '',
|
33
33
|
key: typeof header === 'string' ? header : ''
|
34
34
|
}, header);
|
@@ -38,7 +38,7 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
|
|
38
38
|
return _objectSpread(_objectSpread({
|
39
39
|
Cell: StringRenderer
|
40
40
|
}, column), {}, {
|
41
|
-
Header: column.HeaderRenderer || HeaderRenderer(column.Header)
|
41
|
+
Header: column.HeaderRenderer || HeaderRenderer(column.Header, column.slug)
|
42
42
|
});
|
43
43
|
});
|
44
44
|
return (0, _toConsumableArray2.default)(columnsWithDefaultCells);
|
@@ -13,9 +13,10 @@ var _settings = require("../../settings");
|
|
13
13
|
var _react2 = require("@carbon/react");
|
14
14
|
var _icons = require("@carbon/react/icons");
|
15
15
|
var _DatagridSelectAll = require("./Datagrid/DatagridSelectAll");
|
16
|
+
var _ColumnHeaderSlug = require("./Datagrid/addons/Slug/ColumnHeaderSlug");
|
16
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
17
18
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
|
18
|
-
* Copyright IBM Corp. 2020,
|
19
|
+
* Copyright IBM Corp. 2020, 2024
|
19
20
|
*
|
20
21
|
* This source code is licensed under the Apache-2.0 license found in the
|
21
22
|
* LICENSE file in the root directory of this source tree.
|
@@ -63,7 +64,13 @@ var useSortableColumns = function useSortableColumns(hooks) {
|
|
63
64
|
ascendingSortableLabelText = instance.ascendingSortableLabelText,
|
64
65
|
descendingSortableLabelText = instance.descendingSortableLabelText,
|
65
66
|
defaultSortableLabelText = instance.defaultSortableLabelText;
|
66
|
-
var onSortClick = function onSortClick(column) {
|
67
|
+
var onSortClick = function onSortClick(event, column) {
|
68
|
+
var slug = event.target.classList.contains("".concat(_settings.carbon.prefix, "--slug")) || event.target.closest(".".concat(_settings.carbon.prefix, "--slug"));
|
69
|
+
// Do not continue with sorting if we find a slug
|
70
|
+
if (slug) {
|
71
|
+
event.stopPropagation();
|
72
|
+
return;
|
73
|
+
}
|
67
74
|
var key = column.id;
|
68
75
|
var sortDesc = column.isSortedDesc;
|
69
76
|
var _getNewSortOrder = getNewSortOrder(sortDesc),
|
@@ -101,12 +108,15 @@ var useSortableColumns = function useSortableColumns(hooks) {
|
|
101
108
|
defaultSortableLabelText: defaultSortableLabelText
|
102
109
|
}),
|
103
110
|
"aria-pressed": getAriaPressedValue(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column),
|
104
|
-
onClick: function onClick() {
|
105
|
-
return onSortClick(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column);
|
111
|
+
onClick: function onClick(event) {
|
112
|
+
return onSortClick(event, headerProp === null || headerProp === void 0 ? void 0 : headerProp.column);
|
106
113
|
},
|
107
114
|
kind: "ghost",
|
108
115
|
renderIcon: function renderIcon(props) {
|
109
|
-
|
116
|
+
var _headerProp$column;
|
117
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ColumnHeaderSlug.ColumnHeaderSlug, {
|
118
|
+
slug: headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.slug
|
119
|
+
}), icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, props));
|
110
120
|
},
|
111
121
|
className: (0, _classnames.default)("".concat(_settings.carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "--table-sort--desc"), headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc), "".concat(blockClass, "--table-sort--asc"), (headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc) === false))
|
112
122
|
}, column.Header);
|
@@ -7,20 +7,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
});
|
8
8
|
exports.default = void 0;
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
12
|
-
var _react = require("
|
13
|
-
var _react2 =
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
14
|
+
var _react2 = require("@carbon/react");
|
15
|
+
var _framerMotion = require("framer-motion");
|
16
|
+
var _icons = require("@carbon/react/icons");
|
14
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
15
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
16
19
|
var _TagSet = require("../TagSet");
|
17
20
|
var _settings = require("../../settings");
|
18
21
|
var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
|
22
|
+
var _motionConstants = require("../../global/js/utils/motionConstants");
|
23
|
+
var _hooks = require("../../global/js/hooks");
|
24
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
19
25
|
var _devtools = require("../../global/js/utils/devtools");
|
20
26
|
var _excluded = ["className", "clearFiltersText", "clearFilters", "filters", "renderLabel", "overflowType", "clearButtonInline"],
|
21
27
|
_excluded2 = ["key", "value"];
|
22
28
|
/**
|
23
|
-
* Copyright IBM Corp. 2022,
|
29
|
+
* Copyright IBM Corp. 2022, 2024
|
24
30
|
*
|
25
31
|
* This source code is licensed under the Apache-2.0 license found in the
|
26
32
|
* LICENSE file in the root directory of this source tree.
|
@@ -30,8 +36,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
30
36
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
31
37
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
32
38
|
var blockClass = "".concat(_settings.pkg.prefix, "--filter-summary");
|
33
|
-
var FilterSummary = /*#__PURE__*/
|
34
|
-
var _filterSummaryClearBu;
|
39
|
+
var FilterSummary = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
40
|
+
var _viewAllButtonRef$cur, _filterSummaryClearBu;
|
35
41
|
var _ref$className = _ref.className,
|
36
42
|
className = _ref$className === void 0 ? '' : _ref$className,
|
37
43
|
_ref$clearFiltersText = _ref.clearFiltersText,
|
@@ -56,30 +62,104 @@ var FilterSummary = /*#__PURE__*/_react2.default.forwardRef(function (_ref, ref)
|
|
56
62
|
label: (_renderLabel = renderLabel === null || renderLabel === void 0 ? void 0 : renderLabel(key, value)) !== null && _renderLabel !== void 0 ? _renderLabel : "".concat(key, ": ").concat(value)
|
57
63
|
});
|
58
64
|
});
|
59
|
-
var filterSummaryClearButton = (0,
|
60
|
-
var
|
61
|
-
var
|
62
|
-
|
65
|
+
var filterSummaryClearButton = (0, _react.useRef)();
|
66
|
+
var viewAllButtonRef = (0, _react.useRef)();
|
67
|
+
var filterSummaryRef = (0, _react.useRef)();
|
68
|
+
var localRef = filterSummaryRef || ref;
|
69
|
+
var _useState = (0, _react.useState)(0),
|
70
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
71
|
+
overflowCount = _useState2[0],
|
72
|
+
setOverflowCount = _useState2[1];
|
73
|
+
var _useState3 = (0, _react.useState)(false),
|
74
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
75
|
+
multiline = _useState4[0],
|
76
|
+
setMultiline = _useState4[1];
|
77
|
+
var previousState = (0, _hooks.usePreviousValue)({
|
78
|
+
multiline: multiline
|
79
|
+
});
|
80
|
+
var handleViewAll = function handleViewAll() {
|
81
|
+
if (overflowCount === 0) {
|
82
|
+
setMultiline(false);
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
setMultiline(function (prev) {
|
86
|
+
return !prev;
|
87
|
+
});
|
88
|
+
};
|
89
|
+
var viewAllWidth = typeof (viewAllButtonRef === null || viewAllButtonRef === void 0 || (_viewAllButtonRef$cur = viewAllButtonRef.current) === null || _viewAllButtonRef$cur === void 0 ? void 0 : _viewAllButtonRef$cur.offsetWidth) === 'undefined' ? 0 : overflowCount > 0 ? 48 : 0;
|
90
|
+
var measurementOffset = (filterSummaryClearButton === null || filterSummaryClearButton === void 0 || (_filterSummaryClearBu = filterSummaryClearButton.current) === null || _filterSummaryClearBu === void 0 ? void 0 : _filterSummaryClearBu.offsetWidth) + viewAllWidth;
|
91
|
+
var renderTagSet = function renderTagSet(type) {
|
92
|
+
return /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
|
93
|
+
key: type,
|
94
|
+
initial: {
|
95
|
+
opacity: 0,
|
96
|
+
y: -16
|
97
|
+
},
|
98
|
+
animate: {
|
99
|
+
opacity: 1,
|
100
|
+
y: 0
|
101
|
+
},
|
102
|
+
exit: {
|
103
|
+
opacity: 0,
|
104
|
+
y: -16
|
105
|
+
},
|
106
|
+
transition: {
|
107
|
+
duration: _motionConstants.DURATIONS.moderate01,
|
108
|
+
ease: _motionConstants.EASINGS.productive.entrance
|
109
|
+
}
|
110
|
+
}, /*#__PURE__*/_react.default.createElement(_TagSet.TagSet, {
|
111
|
+
allTagsModalSearchLabel: "Search all tags",
|
112
|
+
allTagsModalSearchPlaceholderText: "Search all tags",
|
113
|
+
allTagsModalTitle: "All tags",
|
114
|
+
showAllTagsLabel: "View all tags",
|
115
|
+
tags: tagFilters,
|
116
|
+
overflowType: overflowType,
|
117
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "__clear-button-inline"), clearButtonInline)),
|
118
|
+
containingElementRef: localRef,
|
119
|
+
measurementOffset: measurementOffset,
|
120
|
+
onOverflowTagChange: function onOverflowTagChange(overflowTags) {
|
121
|
+
return setOverflowCount(overflowTags.length);
|
122
|
+
},
|
123
|
+
multiline: multiline
|
124
|
+
}));
|
125
|
+
};
|
126
|
+
(0, _hooks.useWindowResize)(function () {
|
127
|
+
var handleFilterSummaryResize = function handleFilterSummaryResize() {
|
128
|
+
var _localRef$current;
|
129
|
+
if (multiline && (localRef === null || localRef === void 0 || (_localRef$current = localRef.current) === null || _localRef$current === void 0 ? void 0 : _localRef$current.offsetHeight) <= 50) {
|
130
|
+
setMultiline(false);
|
131
|
+
}
|
132
|
+
};
|
133
|
+
var filterResize = (0, _debounce.default)(handleFilterSummaryResize, 500);
|
134
|
+
filterResize();
|
135
|
+
}, [previousState === null || previousState === void 0 ? void 0 : previousState.multiline, multiline]);
|
136
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, (0, _devtools.getDevtoolsProps)(componentName), {
|
63
137
|
id: filterSummaryId
|
64
138
|
}, rest, {
|
65
139
|
ref: localRef,
|
66
|
-
className: (0, _classnames.default)([blockClass, className])
|
67
|
-
}), /*#__PURE__*/
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
showAllTagsLabel: "View all tags",
|
72
|
-
tags: tagFilters,
|
73
|
-
overflowType: overflowType,
|
74
|
-
className: (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "__clear-button-inline"), clearButtonInline)),
|
75
|
-
containingElementRef: localRef,
|
76
|
-
measurementOffset: filterSummaryClearButton === null || filterSummaryClearButton === void 0 || (_filterSummaryClearBu = filterSummaryClearButton.current) === null || _filterSummaryClearBu === void 0 ? void 0 : _filterSummaryClearBu.offsetWidth
|
77
|
-
}), /*#__PURE__*/_react2.default.createElement(_react.Button, {
|
140
|
+
className: (0, _classnames.default)([blockClass, className], (0, _defineProperty2.default)({}, "".concat(blockClass, "__expanded"), multiline))
|
141
|
+
}), /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
|
142
|
+
mode: "wait",
|
143
|
+
exitBeforeEnter: true
|
144
|
+
}, !multiline && renderTagSet('single'), multiline && renderTagSet('multiline')), /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
78
145
|
kind: "ghost",
|
79
146
|
size: "sm",
|
80
147
|
onClick: clearFilters,
|
81
|
-
ref: filterSummaryClearButton
|
82
|
-
|
148
|
+
ref: filterSummaryClearButton,
|
149
|
+
className: "".concat(blockClass, "__clear-all-button")
|
150
|
+
}, clearFiltersText), (overflowCount > 0 || multiline) && /*#__PURE__*/_react.default.createElement("div", {
|
151
|
+
className: "".concat(blockClass, "__view-all--wrapper")
|
152
|
+
}, /*#__PURE__*/_react.default.createElement(_react2.IconButton, {
|
153
|
+
ref: viewAllButtonRef,
|
154
|
+
kind: "ghost",
|
155
|
+
label: 'View all',
|
156
|
+
className: "".concat(blockClass, "__view-all--trigger"),
|
157
|
+
align: "left",
|
158
|
+
onClick: handleViewAll,
|
159
|
+
size: "sm"
|
160
|
+
}, /*#__PURE__*/_react.default.createElement(_icons.ChevronDown, {
|
161
|
+
className: (0, _classnames.default)("".concat(blockClass, "__view-all--chevron"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__view-all--chevron-multiline"), multiline))
|
162
|
+
}))));
|
83
163
|
});
|
84
164
|
var componentName = 'FilterSummary';
|
85
165
|
FilterSummary.displayName = componentName;
|
@@ -20,7 +20,7 @@ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
|
20
20
|
var _devtools = require("../../global/js/utils/devtools");
|
21
21
|
var _propsHelper = require("../../global/js/utils/props-helper");
|
22
22
|
var _settings = require("../../settings");
|
23
|
-
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags", "containingElementRef", "measurementOffset"],
|
23
|
+
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags", "containingElementRef", "measurementOffset", "onOverflowTagChange"],
|
24
24
|
_excluded2 = ["label", "id"],
|
25
25
|
_excluded3 = ["label", "onClose"]; //
|
26
26
|
// Copyright IBM Corp. 2020, 2024
|
@@ -41,7 +41,8 @@ var defaults = {
|
|
41
41
|
align: 'start',
|
42
42
|
measurementOffset: 0,
|
43
43
|
overflowAlign: 'bottom',
|
44
|
-
overflowType: 'default'
|
44
|
+
overflowType: 'default',
|
45
|
+
onOverflowTagChange: function onOverflowTagChange() {}
|
45
46
|
};
|
46
47
|
var TagSet = exports.TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
47
48
|
var _ref$align = _ref.align,
|
@@ -63,6 +64,8 @@ var TagSet = exports.TagSet = /*#__PURE__*/_react.default.forwardRef(function (_
|
|
63
64
|
containingElementRef = _ref.containingElementRef,
|
64
65
|
_ref$measurementOffse = _ref.measurementOffset,
|
65
66
|
measurementOffset = _ref$measurementOffse === void 0 ? defaults.measurementOffset : _ref$measurementOffse,
|
67
|
+
_ref$onOverflowTagCha = _ref.onOverflowTagChange,
|
68
|
+
onOverflowTagChange = _ref$onOverflowTagCha === void 0 ? defaults.onOverflowTagChange : _ref$onOverflowTagCha,
|
66
69
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
67
70
|
var _useState = (0, _react.useState)(3),
|
68
71
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
@@ -159,8 +162,9 @@ var TagSet = exports.TagSet = /*#__PURE__*/_react.default.forwardRef(function (_
|
|
159
162
|
popoverOpen: popoverOpen,
|
160
163
|
setPopoverOpen: setPopoverOpen
|
161
164
|
}));
|
165
|
+
onOverflowTagChange === null || onOverflowTagChange === void 0 || onOverflowTagChange(newOverflowTags);
|
162
166
|
setDisplayedTags(newDisplayedTags);
|
163
|
-
}, [displayCount, overflowAlign, overflowClassName, overflowType, showAllTagsLabel, tags, popoverOpen, handleTagOnClose]);
|
167
|
+
}, [displayCount, overflowAlign, overflowClassName, overflowType, showAllTagsLabel, tags, onOverflowTagChange, popoverOpen, handleTagOnClose]);
|
164
168
|
var checkFullyVisibleTags = (0, _react.useCallback)(function () {
|
165
169
|
if (multiline) {
|
166
170
|
return setDisplayCount(maxVisible);
|
@@ -314,6 +318,10 @@ TagSet.propTypes = {
|
|
314
318
|
* display tags in multiple lines
|
315
319
|
*/
|
316
320
|
multiline: _propTypes.default.bool,
|
321
|
+
/**
|
322
|
+
* Handler to get overflow tags
|
323
|
+
*/
|
324
|
+
onOverflowTagChange: _propTypes.default.func,
|
317
325
|
/**
|
318
326
|
* overflowAlign from the standard tooltip. Default center.
|
319
327
|
*/
|
@@ -49,7 +49,7 @@ var useResizeObserver = exports.useResizeObserver = function useResizeObserver(r
|
|
49
49
|
}
|
50
50
|
getInitialSize();
|
51
51
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
52
|
-
}, [width, height, ref].concat((0, _toConsumableArray2.default)(deps)));
|
52
|
+
}, [width, height, ref.current].concat((0, _toConsumableArray2.default)(deps)));
|
53
53
|
(0, _react.useLayoutEffect)(function () {
|
54
54
|
if (!(ref !== null && ref !== void 0 && ref.current)) {
|
55
55
|
return;
|
@@ -79,7 +79,7 @@ var useResizeObserver = exports.useResizeObserver = function useResizeObserver(r
|
|
79
79
|
observer = null;
|
80
80
|
};
|
81
81
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
82
|
-
}, [ref].concat((0, _toConsumableArray2.default)(deps)));
|
82
|
+
}, [ref.current].concat((0, _toConsumableArray2.default)(deps)));
|
83
83
|
return {
|
84
84
|
width: width,
|
85
85
|
height: height
|