@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.
Files changed (65) hide show
  1. package/css/index-full-carbon.css +24 -2
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +19 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +24 -2
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +24 -2
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Carousel/Carousel.js +194 -119
  18. package/es/components/Carousel/CarouselItem.js +8 -21
  19. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +6 -7
  20. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +3 -1
  21. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -0
  22. package/es/components/Datagrid/Datagrid/DatagridRow.js +19 -10
  23. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +19 -1
  24. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +15 -1
  25. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +4 -3
  26. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +67 -24
  27. package/es/components/Datagrid/useExpandedRow.js +3 -6
  28. package/es/components/Datagrid/useFocusRowExpander.js +40 -0
  29. package/es/components/Datagrid/useNestedRowExpander.js +9 -0
  30. package/es/components/Datagrid/useNestedRows.js +0 -4
  31. package/es/components/Datagrid/useRowExpander.js +9 -0
  32. package/es/components/Datagrid/useSelectRows.js +23 -11
  33. package/es/components/Datagrid/utils/handleFilterTagLabelText.js +26 -0
  34. package/es/components/FilterSummary/FilterSummary.js +21 -7
  35. package/es/components/Guidebanner/Guidebanner.js +9 -12
  36. package/es/components/TagSet/TagSet.js +22 -5
  37. package/es/global/js/package-settings.js +0 -2
  38. package/lib/components/Carousel/Carousel.js +190 -114
  39. package/lib/components/Carousel/CarouselItem.js +9 -25
  40. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +6 -7
  41. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +3 -1
  42. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -0
  43. package/lib/components/Datagrid/Datagrid/DatagridRow.js +13 -3
  44. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +19 -1
  45. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +15 -1
  46. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +4 -3
  47. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +70 -26
  48. package/lib/components/Datagrid/useExpandedRow.js +2 -5
  49. package/lib/components/Datagrid/useFocusRowExpander.js +46 -0
  50. package/lib/components/Datagrid/useNestedRowExpander.js +9 -0
  51. package/lib/components/Datagrid/useNestedRows.js +0 -4
  52. package/lib/components/Datagrid/useRowExpander.js +9 -0
  53. package/lib/components/Datagrid/useSelectRows.js +17 -4
  54. package/lib/components/Datagrid/utils/handleFilterTagLabelText.js +33 -0
  55. package/lib/components/FilterSummary/FilterSummary.js +23 -6
  56. package/lib/components/Guidebanner/Guidebanner.js +9 -12
  57. package/lib/components/TagSet/TagSet.js +21 -4
  58. package/lib/global/js/package-settings.js +0 -2
  59. package/package.json +3 -3
  60. package/scss/components/Carousel/_carousel.scss +1 -2
  61. package/scss/components/Datagrid/styles/_useExpandedRow.scss +21 -0
  62. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -0
  63. package/scss/components/FilterSummary/_filter-summary.scss +6 -1
  64. package/es/components/Carousel/utils.js +0 -98
  65. 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 = _interopRequireDefault(require("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: 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
- ref: scrollRef,
104
- scrollableChange: handleScrollableChange,
105
- scrollTune: -450
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().then(function (scrollPercentage) {
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().then(function (scrollPercentage) {
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 spaceAvailable = tagSetRef.current.offsetWidth;
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
- (0, _useResizeObserver.useResizeObserver)(tagSetRef, handleResize);
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.62.0",
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.16",
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": "89c6e18fc0a426f7a6835947561210242824fb07"
100
+ "gitHead": "2fe150f0f2374e506659d44f2c4a616ef7c4f2b0"
101
101
  }
@@ -59,9 +59,8 @@
59
59
  }
60
60
 
61
61
  display: flex;
62
+ overflow: scroll;
62
63
  -ms-overflow-style: none;
63
- overflow-x: scroll;
64
- overflow-y: hidden;
65
64
  scroll-behavior: smooth;
66
65
  scroll-snap-type: x mandatory;
67
66
  scrollbar-width: none;
@@ -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;