@carbon/ibm-products 2.22.0 → 2.23.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|