@carbon/ibm-products 1.62.0 → 1.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/index-full-carbon.css +24 -2
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -3
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +19 -0
- 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 +24 -2
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -3
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +24 -2
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -3
- package/css/index.min.css.map +1 -1
- package/es/components/Carousel/Carousel.js +194 -119
- package/es/components/Carousel/CarouselItem.js +8 -21
- package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +6 -7
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +3 -1
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -0
- package/es/components/Datagrid/Datagrid/DatagridRow.js +19 -10
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +19 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +15 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +4 -3
- package/es/components/Datagrid/Datagrid/addons/stateReducer.js +67 -24
- package/es/components/Datagrid/useExpandedRow.js +3 -6
- package/es/components/Datagrid/useFocusRowExpander.js +40 -0
- package/es/components/Datagrid/useNestedRowExpander.js +9 -0
- package/es/components/Datagrid/useNestedRows.js +0 -4
- package/es/components/Datagrid/useRowExpander.js +9 -0
- package/es/components/Datagrid/useSelectRows.js +23 -11
- package/es/components/Datagrid/utils/handleFilterTagLabelText.js +26 -0
- package/es/components/FilterSummary/FilterSummary.js +21 -7
- package/es/components/Guidebanner/Guidebanner.js +9 -12
- package/es/components/TagSet/TagSet.js +22 -5
- package/es/global/js/package-settings.js +0 -2
- package/lib/components/Carousel/Carousel.js +190 -114
- package/lib/components/Carousel/CarouselItem.js +9 -25
- package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +6 -7
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +3 -1
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -0
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +13 -3
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +19 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +15 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +4 -3
- package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +70 -26
- package/lib/components/Datagrid/useExpandedRow.js +2 -5
- package/lib/components/Datagrid/useFocusRowExpander.js +46 -0
- package/lib/components/Datagrid/useNestedRowExpander.js +9 -0
- package/lib/components/Datagrid/useNestedRows.js +0 -4
- package/lib/components/Datagrid/useRowExpander.js +9 -0
- package/lib/components/Datagrid/useSelectRows.js +17 -4
- package/lib/components/Datagrid/utils/handleFilterTagLabelText.js +33 -0
- package/lib/components/FilterSummary/FilterSummary.js +23 -6
- package/lib/components/Guidebanner/Guidebanner.js +9 -12
- package/lib/components/TagSet/TagSet.js +21 -4
- package/lib/global/js/package-settings.js +0 -2
- package/package.json +3 -3
- package/scss/components/Carousel/_carousel.scss +1 -2
- package/scss/components/Datagrid/styles/_useExpandedRow.scss +21 -0
- package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -0
- package/scss/components/FilterSummary/_filter-summary.scss +6 -1
- package/es/components/Carousel/utils.js +0 -98
- package/lib/components/Carousel/utils.js +0 -108
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -8,16 +9,20 @@ exports.default = void 0;
|
|
|
8
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
11
|
var _carbonComponentsReact = require("carbon-components-react");
|
|
11
|
-
var _react =
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
15
|
var _TagSet = require("../TagSet");
|
|
15
16
|
var _settings = require("../../settings");
|
|
17
|
+
var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
|
|
16
18
|
var _excluded = ["key", "value"];
|
|
19
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
21
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
23
|
var blockClass = "".concat(_settings.pkg.prefix, "--filter-summary");
|
|
20
24
|
var FilterSummary = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
25
|
+
var _filterSummaryClearBu;
|
|
21
26
|
var _ref$className = _ref.className,
|
|
22
27
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
23
28
|
_ref$clearFiltersText = _ref.clearFiltersText,
|
|
@@ -29,7 +34,10 @@ var FilterSummary = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
|
29
34
|
_ref$renderLabel = _ref.renderLabel,
|
|
30
35
|
renderLabel = _ref$renderLabel === void 0 ? null : _ref$renderLabel,
|
|
31
36
|
_ref$overflowType = _ref.overflowType,
|
|
32
|
-
overflowType = _ref$overflowType === void 0 ? 'default' : _ref$overflowType
|
|
37
|
+
overflowType = _ref$overflowType === void 0 ? 'default' : _ref$overflowType,
|
|
38
|
+
_ref$clearButtonInlin = _ref.clearButtonInline,
|
|
39
|
+
clearButtonInline = _ref$clearButtonInlin === void 0 ? true : _ref$clearButtonInlin;
|
|
40
|
+
var filterSummaryId = "".concat(blockClass, "__").concat((0, _uuidv.default)());
|
|
33
41
|
var tagFilters = filters.map(function (_ref2) {
|
|
34
42
|
var _renderLabel;
|
|
35
43
|
var key = _ref2.key,
|
|
@@ -40,26 +48,35 @@ var FilterSummary = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
|
40
48
|
label: (_renderLabel = renderLabel === null || renderLabel === void 0 ? void 0 : renderLabel(key, value)) !== null && _renderLabel !== void 0 ? _renderLabel : "".concat(key, ": ").concat(value)
|
|
41
49
|
});
|
|
42
50
|
});
|
|
51
|
+
var filterSummaryClearButton = (0, _react.useRef)();
|
|
52
|
+
var filterSummaryRef = (0, _react.useRef)();
|
|
53
|
+
var localRef = filterSummaryRef || ref;
|
|
43
54
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
44
|
-
ref:
|
|
45
|
-
className: (0, _classnames.default)([blockClass, className])
|
|
55
|
+
ref: localRef,
|
|
56
|
+
className: (0, _classnames.default)([blockClass, className]),
|
|
57
|
+
id: filterSummaryId
|
|
46
58
|
}, /*#__PURE__*/_react.default.createElement(_TagSet.TagSet, {
|
|
47
59
|
allTagsModalSearchLabel: "Search all tags",
|
|
48
60
|
allTagsModalSearchPlaceholderText: "Search all tags",
|
|
49
61
|
allTagsModalTitle: "All tags",
|
|
50
62
|
showAllTagsLabel: "View all tags",
|
|
51
63
|
tags: tagFilters,
|
|
52
|
-
overflowType: overflowType
|
|
64
|
+
overflowType: overflowType,
|
|
65
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "__clear-button-inline"), clearButtonInline)),
|
|
66
|
+
containingElementRef: localRef,
|
|
67
|
+
measurementOffset: filterSummaryClearButton === null || filterSummaryClearButton === void 0 ? void 0 : (_filterSummaryClearBu = filterSummaryClearButton.current) === null || _filterSummaryClearBu === void 0 ? void 0 : _filterSummaryClearBu.offsetWidth
|
|
53
68
|
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
|
54
69
|
kind: "ghost",
|
|
55
70
|
size: "sm",
|
|
56
|
-
onClick: clearFilters
|
|
71
|
+
onClick: clearFilters,
|
|
72
|
+
ref: filterSummaryClearButton
|
|
57
73
|
}, clearFiltersText));
|
|
58
74
|
});
|
|
59
75
|
var componentName = 'FilterSummary';
|
|
60
76
|
FilterSummary.displayName = componentName;
|
|
61
77
|
FilterSummary.propTypes = {
|
|
62
78
|
className: _propTypes.default.string,
|
|
79
|
+
clearButtonInline: _propTypes.default.boolean,
|
|
63
80
|
clearFilters: _propTypes.default.func.isRequired,
|
|
64
81
|
clearFiltersText: _propTypes.default.string,
|
|
65
82
|
filters: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
@@ -73,9 +73,6 @@ var Guidebanner = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
73
73
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
74
74
|
isCollapsed = _useState6[0],
|
|
75
75
|
setIsCollapsed = _useState6[1];
|
|
76
|
-
var handleScrollableChange = function handleScrollableChange(value) {
|
|
77
|
-
setShowNavigation(value);
|
|
78
|
-
};
|
|
79
76
|
var handleClickToggle = function handleClickToggle() {
|
|
80
77
|
setScrollPosition(0);
|
|
81
78
|
scrollRef.current.scrollToView(0);
|
|
@@ -100,9 +97,13 @@ var Guidebanner = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
100
97
|
left: _colors.blue90,
|
|
101
98
|
right: _colors.purple70
|
|
102
99
|
},
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
onChangeIsScrollable: function onChangeIsScrollable(value) {
|
|
101
|
+
setShowNavigation(value);
|
|
102
|
+
},
|
|
103
|
+
onScroll: function onScroll(scrollPercent) {
|
|
104
|
+
setScrollPosition(scrollPercent);
|
|
105
|
+
},
|
|
106
|
+
ref: scrollRef
|
|
106
107
|
}, children), /*#__PURE__*/_react.default.createElement("div", {
|
|
107
108
|
className: (0, _classnames.default)([collapsible || showNavigation ? "".concat(blockClass, "__navigation") : null])
|
|
108
109
|
}, collapsible && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
|
@@ -121,9 +122,7 @@ var Guidebanner = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
121
122
|
tooltipPosition: "top",
|
|
122
123
|
iconDescription: previousIconDescription,
|
|
123
124
|
onClick: function onClick() {
|
|
124
|
-
scrollRef.current.scrollPrev()
|
|
125
|
-
return setScrollPosition(scrollPercentage);
|
|
126
|
-
});
|
|
125
|
+
scrollRef.current.scrollPrev();
|
|
127
126
|
}
|
|
128
127
|
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
|
129
128
|
kind: "ghost",
|
|
@@ -136,9 +135,7 @@ var Guidebanner = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
136
135
|
tooltipAlignment: "end",
|
|
137
136
|
iconDescription: nextIconDescription,
|
|
138
137
|
onClick: function onClick() {
|
|
139
|
-
scrollRef.current.scrollNext()
|
|
140
|
-
return setScrollPosition(scrollPercentage);
|
|
141
|
-
});
|
|
138
|
+
scrollRef.current.scrollNext();
|
|
142
139
|
}
|
|
143
140
|
}))), onClose && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
|
144
141
|
className: "".concat(blockClass, "__close-button"),
|
|
@@ -21,7 +21,7 @@ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
|
|
|
21
21
|
var _devtools = require("../../global/js/utils/devtools");
|
|
22
22
|
var _propsHelper = require("../../global/js/utils/props-helper");
|
|
23
23
|
var _settings = require("../../settings");
|
|
24
|
-
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
|
|
24
|
+
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags", "containingElementRef", "measurementOffset"],
|
|
25
25
|
_excluded2 = ["label", "id"],
|
|
26
26
|
_excluded3 = ["label"];
|
|
27
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -36,6 +36,7 @@ var allTagsModalSearchThreshold = 10;
|
|
|
36
36
|
var defaults = {
|
|
37
37
|
align: 'start',
|
|
38
38
|
// allTagsModalTarget: document.body,
|
|
39
|
+
measurementOffset: 0,
|
|
39
40
|
overflowAlign: 'center',
|
|
40
41
|
overflowDirection: 'bottom',
|
|
41
42
|
overflowType: 'default'
|
|
@@ -59,6 +60,9 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
59
60
|
allTagsModalSearchPlaceholderText = _ref.allTagsModalSearchPlaceholderText,
|
|
60
61
|
showAllTagsLabel = _ref.showAllTagsLabel,
|
|
61
62
|
tags = _ref.tags,
|
|
63
|
+
containingElementRef = _ref.containingElementRef,
|
|
64
|
+
_ref$measurementOffse = _ref.measurementOffset,
|
|
65
|
+
measurementOffset = _ref$measurementOffse === void 0 ? defaults.measurementOffset : _ref$measurementOffse,
|
|
62
66
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
63
67
|
var _useState = (0, _react.useState)(3),
|
|
64
68
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -163,7 +167,9 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
163
167
|
// how many will fit?
|
|
164
168
|
var willFit = 0;
|
|
165
169
|
if (sizingTags.length > 0) {
|
|
166
|
-
var
|
|
170
|
+
var optionalContainingElement = containingElementRef === null || containingElementRef === void 0 ? void 0 : containingElementRef.current;
|
|
171
|
+
var measurementOffsetValue = typeof measurementOffset === 'number' ? measurementOffset : 0;
|
|
172
|
+
var spaceAvailable = optionalContainingElement ? optionalContainingElement.offsetWidth - measurementOffsetValue : tagSetRef.current.offsetWidth;
|
|
167
173
|
for (var i in sizingTags) {
|
|
168
174
|
var tagWidth = sizingTags[i].offsetWidth;
|
|
169
175
|
if (spaceAvailable >= tagWidth) {
|
|
@@ -186,7 +192,7 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
186
192
|
} else {
|
|
187
193
|
setDisplayCount(maxVisible ? Math.min(willFit, maxVisible) : willFit);
|
|
188
194
|
}
|
|
189
|
-
}, [maxVisible, multiline, sizingTags, tagSetRef]);
|
|
195
|
+
}, [maxVisible, multiline, sizingTags, tagSetRef, containingElementRef, measurementOffset]);
|
|
190
196
|
(0, _react.useEffect)(function () {
|
|
191
197
|
checkFullyVisibleTags();
|
|
192
198
|
}, [checkFullyVisibleTags, maxVisible, multiline, sizingTags]);
|
|
@@ -208,7 +214,8 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
208
214
|
setShowAllModalOpen(false);
|
|
209
215
|
};
|
|
210
216
|
(0, _useResizeObserver.useResizeObserver)(sizingContainerRef, handleSizerTagsResize);
|
|
211
|
-
|
|
217
|
+
var resizeOption = containingElementRef ? containingElementRef : tagSetRef;
|
|
218
|
+
(0, _useResizeObserver.useResizeObserver)(resizeOption, handleResize);
|
|
212
219
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
|
213
220
|
className: (0, _classnames.default)([blockClass, className]),
|
|
214
221
|
ref: tagSetRef
|
|
@@ -289,10 +296,20 @@ TagSet.propTypes = {
|
|
|
289
296
|
* className
|
|
290
297
|
*/
|
|
291
298
|
className: _propTypes.default.string,
|
|
299
|
+
/**
|
|
300
|
+
* Optional ref for custom resize container to measure available space
|
|
301
|
+
* Default will measure the available space of the TagSet container itself.
|
|
302
|
+
*/
|
|
303
|
+
containingElementRef: _propTypes.default.object,
|
|
292
304
|
/**
|
|
293
305
|
* maximum visible tags
|
|
294
306
|
*/
|
|
295
307
|
maxVisible: _propTypes.default.number,
|
|
308
|
+
/**
|
|
309
|
+
* Specify offset amount for measure available space, only used when `containingElementSelector`
|
|
310
|
+
* is also provided
|
|
311
|
+
*/
|
|
312
|
+
measurementOffset: _propTypes.default.number,
|
|
296
313
|
/**
|
|
297
314
|
* display tags in multiple lines
|
|
298
315
|
*/
|
|
@@ -95,8 +95,6 @@ var defaults = {
|
|
|
95
95
|
feature: {
|
|
96
96
|
'a-new-feature': false,
|
|
97
97
|
'default-portal-target-body': true,
|
|
98
|
-
'Datagrid.useExpandedRow': false,
|
|
99
|
-
'Datagrid.useNestedRows': false,
|
|
100
98
|
'Datagrid.useInlineEdit': false,
|
|
101
99
|
'Datagrid.useFiltering': false,
|
|
102
100
|
'Datagrid.useCustomizeColumns': false,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/ibm-products",
|
|
3
3
|
"description": "Carbon for IBM Products",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.63.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "es/index.js",
|
|
@@ -92,10 +92,10 @@
|
|
|
92
92
|
"@carbon/themes": "^10.55.3",
|
|
93
93
|
"@carbon/type": "^10.45.3",
|
|
94
94
|
"carbon-components": "^10.58.12",
|
|
95
|
-
"carbon-components-react": "^7.59.
|
|
95
|
+
"carbon-components-react": "^7.59.17",
|
|
96
96
|
"carbon-icons": "^7.0.7",
|
|
97
97
|
"react": "^16.8.6 || ^17.0.1",
|
|
98
98
|
"react-dom": "^16.8.6 || ^17.0.1"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "2fe150f0f2374e506659d44f2c4a616ef7c4f2b0"
|
|
101
101
|
}
|
|
@@ -63,3 +63,24 @@
|
|
|
63
63
|
.#{$block-class} .#{$block-class}__expandable-row--hover td {
|
|
64
64
|
background: $layer-hover;
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
.#{$block-class}
|
|
68
|
+
.#{$carbon-prefix}--data-table
|
|
69
|
+
tbody
|
|
70
|
+
tr:hover
|
|
71
|
+
td.#{$block-class}__expanded-row-cell-wrapper,
|
|
72
|
+
.#{$block-class}
|
|
73
|
+
.#{$carbon-prefix}--data-table
|
|
74
|
+
td.#{$block-class}__expanded-row-cell-wrapper,
|
|
75
|
+
.#{$block-class}
|
|
76
|
+
.#{$carbon-prefix}--data-table
|
|
77
|
+
.#{$block-class}__carbon-row-expanded
|
|
78
|
+
td.#{$block-class}__expandable-row-cell {
|
|
79
|
+
border: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.#{$block-class}
|
|
83
|
+
.#{$carbon-prefix}--data-table
|
|
84
|
+
td.#{$block-class}__expanded-row-cell-wrapper {
|
|
85
|
+
padding: 0;
|
|
86
|
+
}
|
|
@@ -67,3 +67,12 @@
|
|
|
67
67
|
.#{$block-class}__row-size__row-settings-trigger--open.#{$carbon-prefix}--btn--ghost {
|
|
68
68
|
background-color: $ui-02;
|
|
69
69
|
}
|
|
70
|
+
|
|
71
|
+
.#{$block-class}
|
|
72
|
+
table.#{$carbon-prefix}--data-table--xl.#{$block-class}__vertical-align-center
|
|
73
|
+
td.#{$block-class}__expandable-row-cell,
|
|
74
|
+
.#{$block-class}
|
|
75
|
+
table.#{$carbon-prefix}--data-table--xl.#{$block-class}__vertical-align-top
|
|
76
|
+
td.#{$block-class}__expandable-row-cell {
|
|
77
|
+
padding-top: $spacing-03;
|
|
78
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//
|
|
2
|
-
// Copyright IBM Corp. 2022
|
|
2
|
+
// Copyright IBM Corp. 2022, 2023
|
|
3
3
|
//
|
|
4
4
|
// This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
@@ -17,3 +17,8 @@ $block-class: #{$pkg-prefix}--filter-summary;
|
|
|
17
17
|
border-top: 1px solid $ui-03;
|
|
18
18
|
background: $ui-01;
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
.#{$block-class}
|
|
22
|
+
.#{$pkg-prefix}--tag-set.#{$pkg-prefix}--tag-set.#{$block-class}__clear-button-inline {
|
|
23
|
+
width: auto;
|
|
24
|
+
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright IBM Corp. 2023, 2023
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
10
|
-
export var useIntersection = function useIntersection(element, threshold) {
|
|
11
|
-
var _useState = useState(false),
|
|
12
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
13
|
-
isVisible = _useState2[0],
|
|
14
|
-
setState = _useState2[1];
|
|
15
|
-
useEffect(function () {
|
|
16
|
-
var el = element.current;
|
|
17
|
-
var observer = new IntersectionObserver(function (_ref) {
|
|
18
|
-
var _ref2 = _slicedToArray(_ref, 1),
|
|
19
|
-
entry = _ref2[0];
|
|
20
|
-
setState(entry.isIntersecting);
|
|
21
|
-
}, {
|
|
22
|
-
threshold: threshold
|
|
23
|
-
});
|
|
24
|
-
el && observer.observe(el);
|
|
25
|
-
return function () {
|
|
26
|
-
return observer.unobserve(el);
|
|
27
|
-
};
|
|
28
|
-
}, [element, threshold]);
|
|
29
|
-
return isVisible;
|
|
30
|
-
};
|
|
31
|
-
export var useIsOverflow = function useIsOverflow(ref) {
|
|
32
|
-
var _useState3 = useState(),
|
|
33
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
-
isScrollable = _useState4[0],
|
|
35
|
-
setIsScrollable = _useState4[1];
|
|
36
|
-
var _useState5 = useState(),
|
|
37
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
-
mutationObserver = _useState6[0],
|
|
39
|
-
setMutationObserver = _useState6[1];
|
|
40
|
-
var _useState7 = useState(),
|
|
41
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
42
|
-
resizeObserver = _useState8[0],
|
|
43
|
-
setResizeObserver = _useState8[1];
|
|
44
|
-
var checkOverflow = useCallback(function () {
|
|
45
|
-
if (!ref.current) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
var hasOverflow = ref.current.scrollWidth > ref.current.clientWidth;
|
|
49
|
-
setIsScrollable(hasOverflow);
|
|
50
|
-
}, [ref]);
|
|
51
|
-
useEffect(function () {
|
|
52
|
-
if (!mutationObserver) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
return function () {
|
|
56
|
-
if (mutationObserver) {
|
|
57
|
-
mutationObserver.disconnect();
|
|
58
|
-
}
|
|
59
|
-
if (resizeObserver) {
|
|
60
|
-
resizeObserver.disconnect();
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
useLayoutEffect(function () {
|
|
65
|
-
var current = ref.current;
|
|
66
|
-
if (current) {
|
|
67
|
-
if ('ResizeObserver' in window && !resizeObserver) {
|
|
68
|
-
setResizeObserver(new ResizeObserver(checkOverflow).observe(current));
|
|
69
|
-
}
|
|
70
|
-
if ('MutationObserver' in window && !mutationObserver) {
|
|
71
|
-
setMutationObserver(new MutationObserver(checkOverflow).observe(current, {
|
|
72
|
-
attributes: false,
|
|
73
|
-
childList: true,
|
|
74
|
-
subtree: false
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
checkOverflow();
|
|
78
|
-
}
|
|
79
|
-
}, [ref, checkOverflow, mutationObserver, resizeObserver]);
|
|
80
|
-
return isScrollable;
|
|
81
|
-
};
|
|
82
|
-
export var useWindowEvent = function useWindowEvent(eventName, callback) {
|
|
83
|
-
var savedCallback = useRef(null);
|
|
84
|
-
useEffect(function () {
|
|
85
|
-
savedCallback.current = callback;
|
|
86
|
-
});
|
|
87
|
-
useEffect(function () {
|
|
88
|
-
function handler(event) {
|
|
89
|
-
if (savedCallback.current) {
|
|
90
|
-
savedCallback.current(event);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
window.addEventListener(eventName, handler);
|
|
94
|
-
return function () {
|
|
95
|
-
window.removeEventListener(eventName, handler);
|
|
96
|
-
};
|
|
97
|
-
}, [eventName]);
|
|
98
|
-
};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.useWindowEvent = exports.useIsOverflow = exports.useIntersection = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
/**
|
|
11
|
-
* Copyright IBM Corp. 2023, 2023
|
|
12
|
-
*
|
|
13
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
14
|
-
* LICENSE file in the root directory of this source tree.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
var useIntersection = function useIntersection(element, threshold) {
|
|
18
|
-
var _useState = (0, _react.useState)(false),
|
|
19
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
20
|
-
isVisible = _useState2[0],
|
|
21
|
-
setState = _useState2[1];
|
|
22
|
-
(0, _react.useEffect)(function () {
|
|
23
|
-
var el = element.current;
|
|
24
|
-
var observer = new IntersectionObserver(function (_ref) {
|
|
25
|
-
var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
|
|
26
|
-
entry = _ref2[0];
|
|
27
|
-
setState(entry.isIntersecting);
|
|
28
|
-
}, {
|
|
29
|
-
threshold: threshold
|
|
30
|
-
});
|
|
31
|
-
el && observer.observe(el);
|
|
32
|
-
return function () {
|
|
33
|
-
return observer.unobserve(el);
|
|
34
|
-
};
|
|
35
|
-
}, [element, threshold]);
|
|
36
|
-
return isVisible;
|
|
37
|
-
};
|
|
38
|
-
exports.useIntersection = useIntersection;
|
|
39
|
-
var useIsOverflow = function useIsOverflow(ref) {
|
|
40
|
-
var _useState3 = (0, _react.useState)(),
|
|
41
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
42
|
-
isScrollable = _useState4[0],
|
|
43
|
-
setIsScrollable = _useState4[1];
|
|
44
|
-
var _useState5 = (0, _react.useState)(),
|
|
45
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
46
|
-
mutationObserver = _useState6[0],
|
|
47
|
-
setMutationObserver = _useState6[1];
|
|
48
|
-
var _useState7 = (0, _react.useState)(),
|
|
49
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
50
|
-
resizeObserver = _useState8[0],
|
|
51
|
-
setResizeObserver = _useState8[1];
|
|
52
|
-
var checkOverflow = (0, _react.useCallback)(function () {
|
|
53
|
-
if (!ref.current) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
var hasOverflow = ref.current.scrollWidth > ref.current.clientWidth;
|
|
57
|
-
setIsScrollable(hasOverflow);
|
|
58
|
-
}, [ref]);
|
|
59
|
-
(0, _react.useEffect)(function () {
|
|
60
|
-
if (!mutationObserver) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
return function () {
|
|
64
|
-
if (mutationObserver) {
|
|
65
|
-
mutationObserver.disconnect();
|
|
66
|
-
}
|
|
67
|
-
if (resizeObserver) {
|
|
68
|
-
resizeObserver.disconnect();
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
(0, _react.useLayoutEffect)(function () {
|
|
73
|
-
var current = ref.current;
|
|
74
|
-
if (current) {
|
|
75
|
-
if ('ResizeObserver' in window && !resizeObserver) {
|
|
76
|
-
setResizeObserver(new ResizeObserver(checkOverflow).observe(current));
|
|
77
|
-
}
|
|
78
|
-
if ('MutationObserver' in window && !mutationObserver) {
|
|
79
|
-
setMutationObserver(new MutationObserver(checkOverflow).observe(current, {
|
|
80
|
-
attributes: false,
|
|
81
|
-
childList: true,
|
|
82
|
-
subtree: false
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
checkOverflow();
|
|
86
|
-
}
|
|
87
|
-
}, [ref, checkOverflow, mutationObserver, resizeObserver]);
|
|
88
|
-
return isScrollable;
|
|
89
|
-
};
|
|
90
|
-
exports.useIsOverflow = useIsOverflow;
|
|
91
|
-
var useWindowEvent = function useWindowEvent(eventName, callback) {
|
|
92
|
-
var savedCallback = (0, _react.useRef)(null);
|
|
93
|
-
(0, _react.useEffect)(function () {
|
|
94
|
-
savedCallback.current = callback;
|
|
95
|
-
});
|
|
96
|
-
(0, _react.useEffect)(function () {
|
|
97
|
-
function handler(event) {
|
|
98
|
-
if (savedCallback.current) {
|
|
99
|
-
savedCallback.current(event);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
window.addEventListener(eventName, handler);
|
|
103
|
-
return function () {
|
|
104
|
-
window.removeEventListener(eventName, handler);
|
|
105
|
-
};
|
|
106
|
-
}, [eventName]);
|
|
107
|
-
};
|
|
108
|
-
exports.useWindowEvent = useWindowEvent;
|