@carbon/ibm-products 1.62.0 → 1.63.0

Sign up to get free protection for your applications and to get access to all the features.
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;