@carbon/ibm-products 2.1.2 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/css/index-full-carbon.css +58 -216
  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 +11 -59
  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 +30 -92
  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 +28 -114
  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/AboutModal/AboutModal.js +3 -1
  18. package/es/components/ActionBar/ActionBar.js +6 -2
  19. package/es/components/AddSelect/AddSelectFormControl.js +6 -6
  20. package/es/components/AddSelect/AddSelectRow.js +5 -15
  21. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -5
  22. package/es/components/ButtonMenu/ButtonMenu.js +4 -4
  23. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +9 -3
  24. package/es/components/DataSpreadsheet/DataSpreadsheet.js +3 -3
  25. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  26. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  27. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -1
  28. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +47 -39
  29. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +24 -20
  30. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +1 -0
  31. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +15 -44
  32. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +21 -0
  33. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +17 -17
  34. package/es/components/Datagrid/useActionsColumn.js +7 -10
  35. package/es/components/Datagrid/useCustomizeColumns.js +7 -9
  36. package/es/components/Datagrid/useExpandedRow.js +7 -11
  37. package/es/components/Datagrid/useFiltering.js +8 -12
  38. package/es/components/Datagrid/useInlineEdit.js +0 -3
  39. package/es/components/Datagrid/useNestedRows.js +6 -10
  40. package/es/components/Datagrid/useStickyColumn.js +3 -10
  41. package/es/components/Datagrid/utils/DatagridActions.js +14 -6
  42. package/es/components/ImportModal/ImportModal.js +6 -13
  43. package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +17 -2
  44. package/es/components/PageHeader/PageHeader.js +6 -2
  45. package/es/components/PageHeader/PageHeaderUtils.js +2 -2
  46. package/es/components/SidePanel/SidePanel.js +3 -1
  47. package/es/components/TagSet/TagSet.js +7 -4
  48. package/es/components/Tearsheet/TearsheetShell.js +5 -4
  49. package/es/components/UserProfileImage/UserProfileImage.js +2 -13
  50. package/es/global/js/hooks/useCreateComponentStepChange.js +15 -16
  51. package/es/global/js/hooks/useResizeObserver.js +28 -14
  52. package/es/global/js/package-settings.js +1 -14
  53. package/es/global/js/utils/story-helper.js +1 -1
  54. package/lib/components/AboutModal/AboutModal.js +3 -1
  55. package/lib/components/ActionBar/ActionBar.js +6 -2
  56. package/lib/components/AddSelect/AddSelectFormControl.js +6 -6
  57. package/lib/components/AddSelect/AddSelectRow.js +5 -15
  58. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -5
  59. package/lib/components/ButtonMenu/ButtonMenu.js +4 -4
  60. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +9 -3
  61. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +3 -3
  62. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  63. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  64. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -1
  65. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +45 -37
  66. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +24 -20
  67. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +7 -0
  68. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +13 -42
  69. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +30 -0
  70. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +17 -17
  71. package/lib/components/Datagrid/useActionsColumn.js +7 -12
  72. package/lib/components/Datagrid/useCustomizeColumns.js +8 -10
  73. package/lib/components/Datagrid/useExpandedRow.js +6 -9
  74. package/lib/components/Datagrid/useFiltering.js +7 -10
  75. package/lib/components/Datagrid/useInlineEdit.js +0 -3
  76. package/lib/components/Datagrid/useNestedRows.js +6 -9
  77. package/lib/components/Datagrid/useStickyColumn.js +3 -10
  78. package/lib/components/Datagrid/utils/DatagridActions.js +13 -5
  79. package/lib/components/ImportModal/ImportModal.js +6 -13
  80. package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +17 -2
  81. package/lib/components/PageHeader/PageHeader.js +6 -2
  82. package/lib/components/PageHeader/PageHeaderUtils.js +2 -2
  83. package/lib/components/SidePanel/SidePanel.js +3 -1
  84. package/lib/components/TagSet/TagSet.js +7 -4
  85. package/lib/components/Tearsheet/TearsheetShell.js +5 -4
  86. package/lib/components/UserProfileImage/UserProfileImage.js +2 -13
  87. package/lib/global/js/hooks/useCreateComponentStepChange.js +15 -16
  88. package/lib/global/js/hooks/useResizeObserver.js +27 -13
  89. package/lib/global/js/package-settings.js +1 -14
  90. package/lib/global/js/utils/story-helper.js +1 -1
  91. package/package.json +10 -10
  92. package/scss/components/AddSelect/_add-select.scss +0 -4
  93. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +1 -0
  94. package/scss/components/ButtonMenu/_button-menu.scss +1 -32
  95. package/scss/components/DataSpreadsheet/_storybook-styles.scss +0 -6
  96. package/scss/components/Datagrid/_datagrid.scss +2 -4
  97. package/scss/components/Datagrid/_storybook-styles.scss +1 -15
  98. package/scss/components/Datagrid/styles/_datagrid.scss +13 -12
  99. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +0 -7
  100. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +0 -4
  101. package/scss/components/HTTPErrors/_storybook-styles.scss +2 -16
  102. package/scss/components/NotificationsPanel/_notifications-panel.scss +1 -1
  103. package/scss/components/NotificationsPanel/_storybook-styles.scss +4 -0
  104. package/scss/components/PageHeader/_page-header.scss +1 -0
  105. package/scss/components/PageHeader/_storybook-styles.scss +14 -42
  106. package/scss/components/SidePanel/_side-panel.scss +2 -0
  107. package/scss/components/Tearsheet/_tearsheet.scss +6 -7
  108. package/scss/components/WebTerminal/_storybook-styles.scss +1 -16
  109. package/scss/global/styles/_display-box.scss +0 -1
@@ -21,13 +21,10 @@ var OFFSET_SCROLL_CLASS = "".concat(styleClassPrefix, "-offset-scroll");
21
21
  var useStickyColumn = function useStickyColumn(hooks) {
22
22
  var tableBodyRef = useRef();
23
23
  var stickyHeaderCellRef = useRef();
24
- var _useState = useState(null),
24
+ var _useState = useState(window.innerWidth),
25
25
  _useState2 = _slicedToArray(_useState, 2),
26
26
  windowSize = _useState2[0],
27
27
  setWindowSize = _useState2[1];
28
- useEffect(function () {
29
- setWindowSize(window.innerWidth);
30
- }, []);
31
28
  useLayoutEffect(function () {
32
29
  function updateSize() {
33
30
  setWindowSize(window.innerWidth);
@@ -56,13 +53,9 @@ var useStickyColumn = function useStickyColumn(hooks) {
56
53
  headerCellElement.classList.add(OFFSET_SCROLL_CLASS);
57
54
  }
58
55
  var boundListener = debounce(onBodyResize.bind(null, tableBodyElement, headerCellElement), 250);
59
- if (typeof window !== 'undefined') {
60
- window.addEventListener('resize', boundListener);
61
- }
56
+ window.addEventListener('resize', boundListener);
62
57
  return function () {
63
- if (typeof window !== 'undefined') {
64
- window.removeEventListener('resize', boundListener);
65
- }
58
+ window.removeEventListener('resize', boundListener);
66
59
  };
67
60
  }, [instance.rows, instance.isFetching]);
68
61
  useEffect(function () {
@@ -1,4 +1,5 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  /**
3
4
  * Copyright IBM Corp. 2020, 2022
4
5
  *
@@ -7,7 +8,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
8
  */
8
9
 
9
10
  import React, { useLayoutEffect, useState, useContext } from 'react';
10
- import { TableToolbarContent, TableToolbarSearch, Button, IconButton, OverflowMenu, OverflowMenuItem, ComposedModal, ModalBody, ModalHeader, ModalFooter, Dropdown } from '@carbon/react';
11
+ import { TableToolbarContent, TableToolbarSearch, Button, OverflowMenu, OverflowMenuItem, ComposedModal, ModalBody, ModalHeader, ModalFooter, Dropdown } from '@carbon/react';
11
12
  import { Download, Add, Restart, ChevronDown, Filter } from '@carbon/react/icons';
12
13
  import { action } from '@storybook/addon-actions';
13
14
  import { pkg } from '../../../settings';
@@ -44,18 +45,25 @@ export var DatagridActions = function DatagridActions(datagridState) {
44
45
  return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'flyout' && /*#__PURE__*/React.createElement(FilterFlyout, getFilterFlyoutProps());
45
46
  };
46
47
  var renderFilterPanelButton = function renderFilterPanelButton() {
47
- return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' && /*#__PURE__*/React.createElement(IconButton, {
48
+ return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' && /*#__PURE__*/React.createElement(Button, {
48
49
  kind: "ghost",
49
- align: "bottom",
50
- label: filterProps.panelIconDescription,
50
+ hasIconOnly: true,
51
+ tooltipPosition: "bottom",
52
+ renderIcon: function renderIcon(props) {
53
+ return /*#__PURE__*/React.createElement(Filter, _extends({
54
+ size: 16
55
+ }, props));
56
+ },
57
+ iconDescription: filterProps.panelIconDescription,
51
58
  className: "".concat(blockClass, "-filter-panel-open-button"),
52
59
  onClick: function onClick() {
53
60
  return setPanelOpen(function (open) {
54
61
  return !open;
55
62
  });
56
63
  },
57
- disabled: data.length === 0
58
- }, /*#__PURE__*/React.createElement(Filter, null));
64
+ disabled: data.length === 0,
65
+ tooltipAlignment: "start"
66
+ });
59
67
  };
60
68
  var _useState = useState(false),
61
69
  _useState2 = _slicedToArray(_useState, 2),
@@ -179,13 +179,6 @@ export var ImportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
179
179
  var inputHandler = function inputHandler(evt) {
180
180
  setImportUrl(evt.target.value);
181
181
  };
182
- var onCloseHandler = function onCloseHandler() {
183
- setFiles([]);
184
- setImportUrl('');
185
- if (onClose) {
186
- onClose();
187
- }
188
- };
189
182
  var numberOfFiles = files.length;
190
183
  var numberOfValidFiles = files.filter(function (f) {
191
184
  return !f.invalid;
@@ -197,13 +190,13 @@ export var ImportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
197
190
  var blockClass = "".concat(pkg.prefix, "--import-modal");
198
191
  return /*#__PURE__*/React.createElement(ComposedModal, _extends({}, rest, _objectSpread({
199
192
  open: open,
200
- ref: ref
193
+ ref: ref,
194
+ onClose: onClose
201
195
  }, getDevtoolsProps(componentName)), {
202
196
  "aria-label": title,
203
197
  className: cx(blockClass, className),
204
198
  size: "sm",
205
- preventCloseOnClickOutside: true,
206
- onClose: onCloseHandler
199
+ preventCloseOnClickOutside: true
207
200
  }), /*#__PURE__*/React.createElement(ModalHeader, {
208
201
  className: "".concat(blockClass, "__header"),
209
202
  title: title
@@ -266,7 +259,7 @@ export var ImportModal = /*#__PURE__*/forwardRef(function (_ref, ref) {
266
259
  }, /*#__PURE__*/React.createElement(Button, {
267
260
  type: "button",
268
261
  kind: "secondary",
269
- onClick: onCloseHandler
262
+ onClick: onClose
270
263
  }, secondaryButtonText), /*#__PURE__*/React.createElement(Button, {
271
264
  type: "submit",
272
265
  kind: "primary",
@@ -369,11 +362,11 @@ ImportModal.propTypes = {
369
362
  /**
370
363
  * Specify a handler for "submitting" modal. Access the imported file via `file => {}`
371
364
  */
372
- onRequestSubmit: PropTypes.func.isRequired,
365
+ onRequestSubmit: PropTypes.func,
373
366
  /**
374
367
  * Specify whether the Modal is currently open
375
368
  */
376
- open: PropTypes.bool.isRequired,
369
+ open: PropTypes.bool,
377
370
  /**
378
371
  * Specify the text for the primary button
379
372
  */
@@ -15,19 +15,34 @@ var UnreadNotificationBell = function UnreadNotificationBell() {
15
15
  xmlns: "http://www.w3.org/2000/svg",
16
16
  xmlnsXlink: "http://www.w3.org/1999/xlink"
17
17
  }, /*#__PURE__*/React.createElement("title", null, "Unread notification bell"), /*#__PURE__*/React.createElement("g", {
18
+ id: "Page-1",
19
+ stroke: "none",
20
+ strokeWidth: "1",
21
+ fill: "none",
22
+ fillRule: "evenodd"
23
+ }, /*#__PURE__*/React.createElement("g", {
18
24
  id: "Group",
19
25
  transform: "translate(-1.000000, 0.000000)"
26
+ }, /*#__PURE__*/React.createElement("g", {
27
+ id: "notification"
20
28
  }, /*#__PURE__*/React.createElement("path", {
21
29
  d: "M17.9419375,12.058125 L16.25,10.3661875 L16.25,8.125 C16.245845,4.91692673 13.816599,2.23147626 10.625,1.90675 L10.625,0.625 L9.375,0.625 L9.375,1.90675 C6.183401,2.23147626 3.754155,4.91692673 3.75,8.125 L3.75,10.3661875 L2.0580625,12.058125 C1.94086706,12.1753182 1.875,12.3342622 1.875,12.5 L1.875,14.375 C1.875,14.720178 2.15482203,15 2.5,15 L6.875,15 L6.875,15.4855 C6.84694527,17.1272367 8.05869477,18.5271305 9.6875,18.7346875 C10.5660567,18.8218694 11.4405518,18.5337871 12.0952737,17.9415019 C12.7499955,17.3492167 13.1239886,16.5078712 13.125,15.625 L13.125,15 L17.5,15 C17.845178,15 18.125,14.720178 18.125,14.375 L18.125,12.5 C18.125,12.3342622 18.0591329,12.1753182 17.9419375,12.058125 Z M11.875,15.625 C11.875,16.6605339 11.0355339,17.5 10,17.5 C8.96446609,17.5 8.125,16.6605339 8.125,15.625 L8.125,15 L11.875,15 L11.875,15.625 Z M16.875,13.75 L3.125,13.75 L3.125,12.7588125 L4.816875,11.066875 C4.93409336,10.949692 4.9999646,10.7907468 5,10.625 L5,8.125 C5,5.36357625 7.23857625,3.125 10,3.125 C12.7614237,3.125 15,5.36357625 15,8.125 L15,10.625 C15.0000354,10.7907468 15.0659066,10.949692 15.183125,11.066875 L16.875,12.7588125 L16.875,13.75 Z",
22
30
  id: "Shape",
31
+ fill: "#FFFFFF",
23
32
  fillRule: "nonzero"
24
- }), /*#__PURE__*/React.createElement("circle", {
33
+ }), /*#__PURE__*/React.createElement("rect", {
34
+ id: "_Transparent_Rectangle_",
35
+ x: "0",
36
+ y: "0",
37
+ width: "20",
38
+ height: "20"
39
+ })), /*#__PURE__*/React.createElement("circle", {
25
40
  id: "Oval",
26
41
  stroke: "#161616",
27
42
  fill: "#DA1E28",
28
43
  cx: "15",
29
44
  cy: "4.375",
30
45
  r: "2.5"
31
- })));
46
+ }))));
32
47
  };
33
48
  export { UnreadNotificationBell };
@@ -314,8 +314,12 @@ export var PageHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
314
314
  utilSetCollapsed(collapseHeader, metrics.headerOffset, metrics.headerTopValue);
315
315
  }
316
316
  }, [collapseHeader, metrics.headerOffset, metrics.headerTopValue]);
317
- useResizeObserver(sizingContainerRef, handleResizeActionBarColumn);
318
- useResizeObserver(headerRef, handleResize);
317
+ useResizeObserver(sizingContainerRef, {
318
+ callback: handleResizeActionBarColumn
319
+ });
320
+ useResizeObserver(headerRef, {
321
+ callback: handleResize
322
+ });
319
323
 
320
324
  // Determine what form of title to display in the breadcrumb
321
325
  var breadcrumbItemForTitle = utilGetBreadcrumbItemForTitle(blockClass, collapseTitle, title);
@@ -65,11 +65,11 @@ export var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(
65
65
  var scrollableContainer = scrollableAncestor(headerRef.current);
66
66
 
67
67
  /* istanbul ignore next */
68
- var scrollableContainerTop = scrollableContainer ? scrollableContainer.scrollTop - scrollableContainer.getBoundingClientRect().top : 0;
68
+ var scrollableContainerTop = scrollableContainer ? scrollableContainer.scrollTop - scrollableContainer.offsetTop : 0;
69
69
 
70
70
  // The header offset calculation is either going to work out at 0 if we have no gap between scrolling container
71
71
  // top and the measuring ref top, or the difference between. It does not change on scroll or resize.
72
- update.headerOffset = (offsetTopMeasuringRef.current ? offsetTopMeasuringRef.current.getBoundingClientRect().top : 0) + scrollableContainerTop;
72
+ update.headerOffset = scrollableContainerTop + offsetTopMeasuringRef.current.getBoundingClientRect().top;
73
73
 
74
74
  /* istanbul ignore next */
75
75
  update.breadcrumbRowHeight = breadcrumbRowEl ? breadcrumbRowEl.clientHeight : 0;
@@ -444,7 +444,9 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
444
444
  }, title));
445
445
  };
446
446
  var contentRef = ref || sidePanelRef;
447
- useResizeObserver(contentRef, handleResize);
447
+ useResizeObserver(contentRef, {
448
+ callback: handleResize
449
+ });
448
450
  return /*#__PURE__*/React.createElement(AnimatePresence, null, open && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(motion.div, _extends({}, getDevtoolsProps(componentName), rest, {
449
451
  id: "".concat(blockClass, "-outer"),
450
452
  className: mainPanelClassNames,
@@ -156,8 +156,7 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
156
156
  if (sizingTags.length > 0) {
157
157
  var spaceAvailable = tagSetRef.current.offsetWidth;
158
158
  for (var i in sizingTags) {
159
- var _sizingTags$i;
160
- var tagWidth = ((_sizingTags$i = sizingTags[i]) === null || _sizingTags$i === void 0 ? void 0 : _sizingTags$i.offsetWidth) || 0;
159
+ var tagWidth = sizingTags[i].offsetWidth;
161
160
  if (spaceAvailable >= tagWidth) {
162
161
  spaceAvailable -= tagWidth;
163
162
  willFit += 1;
@@ -199,8 +198,12 @@ export var TagSet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
199
198
  var handleModalClose = function handleModalClose() {
200
199
  setShowAllModalOpen(false);
201
200
  };
202
- useResizeObserver(sizingContainerRef, handleSizerTagsResize);
203
- useResizeObserver(tagSetRef, handleResize);
201
+ useResizeObserver(sizingContainerRef, {
202
+ callback: handleSizerTagsResize
203
+ });
204
+ useResizeObserver(tagSetRef, {
205
+ callback: handleResize
206
+ });
204
207
  return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
205
208
  className: cx([blockClass, className]),
206
209
  ref: tagSetRef
@@ -216,8 +216,7 @@ export var TearsheetShell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
216
216
  closeModal: onClose,
217
217
  iconDescription: closeIconDescription
218
218
  }, /*#__PURE__*/React.createElement(Wrap, {
219
- className: "".concat(bc, "__header-content"),
220
- element: wide ? Layer : undefined
219
+ className: "".concat(bc, "__header-content")
221
220
  }, /*#__PURE__*/React.createElement(Wrap, {
222
221
  className: "".concat(bc, "__header-fields")
223
222
  }, /*#__PURE__*/React.createElement(Wrap, {
@@ -242,10 +241,12 @@ export var TearsheetShell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
242
241
  className: "".concat(bc, "__right")
243
242
  }, /*#__PURE__*/React.createElement(Wrap, {
244
243
  className: "".concat(bc, "__main"),
245
- alwaysRender: includeActions
244
+ alwaysRender: includeActions,
245
+ element: wide ? Layer : undefined
246
246
  }, /*#__PURE__*/React.createElement(Wrap, {
247
247
  className: "".concat(bc, "__content"),
248
- alwaysRender: influencer && influencerPosition === 'right'
248
+ alwaysRender: influencer && influencerPosition === 'right',
249
+ element: wide ? Layer : undefined
249
250
  }, children), /*#__PURE__*/React.createElement(Wrap, {
250
251
  className: cx((_cx6 = {}, _defineProperty(_cx6, "".concat(bc, "__influencer"), true), _defineProperty(_cx6, "".concat(bc, "__influencer--wide"), influencerWidth === 'wide'), _cx6)),
251
252
  neverRender: influencerPosition !== 'right'
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["backgroundColor", "className", "kind", "icon", "initials", "image", "imageDescription", "size", "theme", "tooltipText", "tooltipAlignment"];
3
+ var _excluded = ["backgroundColor", "className", "kind", "icon", "initials", "image", "imageDescription", "size", "theme", "tooltipText"];
4
4
  /**
5
5
  * Copyright IBM Corp. 2021, 2021
6
6
  *
@@ -28,10 +28,6 @@ var componentName = 'UserProfileImage';
28
28
 
29
29
  // NOTE: the component SCSS is not imported here: it is rolled up separately.
30
30
 
31
- // Default values for props
32
- var defaults = {
33
- tooltipAlignment: 'bottom'
34
- };
35
31
  /**
36
32
  * This is a user profile image component which displays an image, or initials or icon for a user.
37
33
  */
@@ -46,8 +42,6 @@ export var UserProfileImage = /*#__PURE__*/React.forwardRef(function (_ref, ref)
46
42
  size = _ref.size,
47
43
  theme = _ref.theme,
48
44
  tooltipText = _ref.tooltipText,
49
- _ref$tooltipAlignment = _ref.tooltipAlignment,
50
- tooltipAlignment = _ref$tooltipAlignment === void 0 ? defaults.tooltipAlignment : _ref$tooltipAlignment,
51
45
  rest = _objectWithoutProperties(_ref, _excluded);
52
46
  var icons = {
53
47
  user: {
@@ -127,8 +121,7 @@ export var UserProfileImage = /*#__PURE__*/React.forwardRef(function (_ref, ref)
127
121
  return FillItem && (tooltipText ? /*#__PURE__*/React.createElement(IconButton, {
128
122
  label: tooltipText,
129
123
  className: "".concat(blockClass, "__tooltip"),
130
- kind: "ghost",
131
- align: tooltipAlignment
124
+ kind: "ghost"
132
125
  }, renderUserProfileImage()) : renderUserProfileImage());
133
126
  });
134
127
 
@@ -176,10 +169,6 @@ UserProfileImage.propTypes = {
176
169
  * Set theme in which the component will be rendered
177
170
  */
178
171
  theme: PropTypes.oneOf(['light', 'dark']).isRequired,
179
- /**
180
- * Specify how the trigger should align with the tooltip
181
- */
182
- tooltipAlignment: PropTypes.oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'right']),
183
172
  /**
184
173
  * Pass in the display name to have it shown on hover
185
174
  */
@@ -30,20 +30,6 @@ export var useCreateComponentStepChange = function useCreateComponentStepChange(
30
30
  componentBlockClass = _ref.componentBlockClass,
31
31
  setCreateComponentActions = _ref.setCreateComponentActions,
32
32
  setModalIsOpen = _ref.setModalIsOpen;
33
- var continueToNextStep = useCallback(function () {
34
- setIsSubmitting(false);
35
- setCurrentStep(function (prev) {
36
- // Find next included step to render
37
- // There will always be a next step otherwise we will
38
- // have reach the onSubmit
39
- do {
40
- var _stepData;
41
- prev++;
42
- } while (!((_stepData = stepData[prev - 1]) !== null && _stepData !== void 0 && _stepData.shouldIncludeStep));
43
- return prev;
44
- });
45
- }, [setCurrentStep, setIsSubmitting, stepData]);
46
-
47
33
  // useEffect to handle multi step logic
48
34
  useEffect(function () {
49
35
  var onUnmount = function onUnmount() {
@@ -171,9 +157,9 @@ export var useCreateComponentStepChange = function useCreateComponentStepChange(
171
157
  // There will always be a previous step otherwise we will
172
158
  // have disabled the back button since we have reached the first visible step
173
159
  do {
174
- var _stepData2;
160
+ var _stepData;
175
161
  prev--;
176
- } while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
162
+ } while (!((_stepData = stepData[prev - 1]) !== null && _stepData !== void 0 && _stepData.shouldIncludeStep));
177
163
  return prev;
178
164
  });
179
165
  },
@@ -201,4 +187,17 @@ export var useCreateComponentStepChange = function useCreateComponentStepChange(
201
187
  setCreateComponentActions(buttons);
202
188
  }
203
189
  }, [firstIncludedStep, lastIncludedStep, stepData, onNext, isSubmitDisabled, backButtonText, cancelButtonText, currentStep, onClose, nextButtonText, submitButtonText, onRequestSubmit, isSubmitting, shouldViewAll, componentBlockClass, componentName, continueToNextStep, setCurrentStep, setCreateComponentActions, setIsSubmitting, setShouldViewAll, setModalIsOpen]);
190
+ var continueToNextStep = useCallback(function () {
191
+ setIsSubmitting(false);
192
+ setCurrentStep(function (prev) {
193
+ // Find next included step to render
194
+ // There will always be a next step otherwise we will
195
+ // have reach the onSubmit
196
+ do {
197
+ var _stepData2;
198
+ prev++;
199
+ } while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
200
+ return prev;
201
+ });
202
+ }, [setCurrentStep, setIsSubmitting, stepData]);
204
203
  };
@@ -5,8 +5,14 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  * This source code is licensed under the Apache-2.0 license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
- import { useRef, useState, useLayoutEffect, useEffect } from 'react';
9
- export var useResizeObserver = function useResizeObserver(ref, callback) {
8
+ import { useRef, useState, useLayoutEffect } from 'react';
9
+ export var useResizeObserver = function useResizeObserver(ref) {
10
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
11
+ callback: null,
12
+ throttleInterval: 0
13
+ };
14
+ var callback = options.callback,
15
+ throttleInterval = options.throttleInterval;
10
16
  var _useState = useState(0),
11
17
  _useState2 = _slicedToArray(_useState, 2),
12
18
  width = _useState2[0],
@@ -15,14 +21,8 @@ export var useResizeObserver = function useResizeObserver(ref, callback) {
15
21
  _useState4 = _slicedToArray(_useState3, 2),
16
22
  height = _useState4[0],
17
23
  setHeight = _useState4[1];
24
+ var throttleTimeout = useRef(null);
18
25
  var entriesToHandle = useRef(null);
19
- var cb = useRef(callback);
20
- useEffect(function () {
21
- // ref for callback removes it as dependency fro useLayoutEffect
22
- // This significantly reduces repeated calls if a function is redefined on every
23
- // render
24
- cb.current = callback;
25
- }, [callback]);
26
26
  useLayoutEffect(function () {
27
27
  if (!(ref !== null && ref !== void 0 && ref.current)) {
28
28
  return;
@@ -34,15 +34,29 @@ export var useResizeObserver = function useResizeObserver(ref, callback) {
34
34
  var entry = entriesToHandle.current[0];
35
35
  setWidth(entry.contentRect.width);
36
36
  setHeight(entry.contentRect.height);
37
- cb.current && cb.current(entry.contentRect);
37
+ throttleTimeout.current = null;
38
+ callback && callback(entry.contentRect);
38
39
  };
39
40
  var observer = new ResizeObserver(function (entries) {
40
41
  // always update entriesToHandle
41
42
  entriesToHandle.current = entries;
42
- window.requestAnimationFrame(function () {
43
- // do callbacks
43
+ if (throttleInterval) {
44
+ // if a throttleInterval check for running timeout
45
+ if (throttleTimeout.current === null) {
46
+ // no live timeout set entries to handle and move on
47
+
48
+ // set up throttle
49
+ throttleTimeout.current = setTimeout(function () {
50
+ // do callbacks
51
+ doCallbacks();
52
+ // reset throttle
53
+ throttleTimeout.current = null;
54
+ }, throttleInterval);
55
+ }
56
+ } else {
57
+ // no throttle do callbacks every time
44
58
  doCallbacks();
45
- });
59
+ }
46
60
  });
47
61
 
48
62
  // observe all refs passed
@@ -52,7 +66,7 @@ export var useResizeObserver = function useResizeObserver(ref, callback) {
52
66
  observer = null;
53
67
  };
54
68
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
- }, [ref]);
69
+ }, [ref, options]);
56
70
  return {
57
71
  width: width,
58
72
  height: height
@@ -76,15 +76,7 @@ var defaults = {
76
76
  'a-new-feature': false,
77
77
  'default-portal-target-body': true,
78
78
  'Datagrid.useInfiniteScroll': false,
79
- 'Datagrid.useInlineEdit': false,
80
- 'Datagrid.useEditableCell': false,
81
- 'Datagrid.useExpandedRow': false,
82
- 'Datagrid.useNestedRows': false,
83
- 'Datagrid.useActionsColumn': false,
84
- 'Datagrid.useFiltering': false,
85
- 'Datagrid.useCustomizeColumns': false,
86
- 'ExampleComponent.secondaryIcon': false,
87
- 'ExampleComponent.useExample': false
79
+ 'Datagrid.useInlineEdit': false
88
80
  }
89
81
  };
90
82
  var warningMessageComponent = function warningMessageComponent(property) {
@@ -131,11 +123,6 @@ var component = new Proxy(_objectSpread({}, defaults.component), {
131
123
  });
132
124
  var feature = new Proxy(_objectSpread({}, defaults.feature), {
133
125
  set: function set(target, property, value) {
134
- // If we receive a feature flag that doesn't exist in our defaults we should not log
135
- // a warning message and instead just return
136
- if (!Object.getOwnPropertyDescriptor(defaults.feature, property)) {
137
- return true;
138
- }
139
126
  if (target[property] !== true && !silent && value) {
140
127
  // not already true, not silent, and now true
141
128
  console.warn(warningMessageFeature(property));
@@ -103,6 +103,6 @@ StackblitzLink.propTypes = {
103
103
  * @returns "dark" or "light"
104
104
  */
105
105
  export var getSelectedCarbonTheme = function getSelectedCarbonTheme() {
106
- var themeId = document.querySelector('[storybook-carbon-theme]').getAttribute('storybook-carbon-theme');
106
+ var themeId = document.querySelector('html').getAttribute('storybook-carbon-theme');
107
107
  return themeId === 'g90' || themeId === 'g100' ? 'dark' : 'light';
108
108
  };
@@ -81,7 +81,9 @@ var AboutModal = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
81
81
  }, [bodyRef]);
82
82
 
83
83
  // Detect resize of the ModalBody to recalculate whether scrolling is enabled
84
- (0, _useResizeObserver.useResizeObserver)(bodyRef, handleResize);
84
+ (0, _useResizeObserver.useResizeObserver)(bodyRef, {
85
+ callback: handleResize
86
+ });
85
87
  return /*#__PURE__*/_react.default.createElement(_react2.ComposedModal, (0, _extends2.default)({}, rest, {
86
88
  className: (0, _classnames.default)(blockClass,
87
89
  // Apply the block class to the main HTML element
@@ -192,8 +192,12 @@ var ActionBar = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
192
192
  };
193
193
 
194
194
  // // resize of the items
195
- (0, _useResizeObserver.useResizeObserver)(sizingRef, handleResize);
196
- (0, _useResizeObserver.useResizeObserver)(localRef, handleResize);
195
+ (0, _useResizeObserver.useResizeObserver)(sizingRef, {
196
+ callback: handleResize
197
+ });
198
+ (0, _useResizeObserver.useResizeObserver)(localRef, {
199
+ callback: handleResize
200
+ });
197
201
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
198
202
  className: (0, _classnames.default)([blockClass, className]),
199
203
  ref: localRef
@@ -14,15 +14,16 @@ var _UserProfileImage = require("../UserProfileImage");
14
14
  var componentName = 'AddSelectFormControl';
15
15
  var blockClass = "".concat(_settings.pkg.prefix, "--add-select__selections");
16
16
  var AddSelectFormControl = function AddSelectFormControl(_ref) {
17
+ var _controlProps;
17
18
  var item = _ref.item,
18
19
  onClick = _ref.onClick,
19
20
  selected = _ref.selected,
20
21
  type = _ref.type;
21
- var controlProps = (0, _defineProperty2.default)({
22
+ var controlProps = (_controlProps = {
22
23
  onClick: onClick,
23
- className: "".concat(blockClass, "-form-control-wrapper ").concat(blockClass, "-form-control-wrapper--").concat(type),
24
- size: 20
25
- }, "aria-labelledby", "control-label-".concat(item.id));
24
+ id: item.id,
25
+ className: "".concat(blockClass, "-form-control-wrapper")
26
+ }, (0, _defineProperty2.default)(_controlProps, "aria-label", item.title), (0, _defineProperty2.default)(_controlProps, "size", 20), _controlProps);
26
27
  var getCheckbox = function getCheckbox() {
27
28
  if (selected) {
28
29
  return /*#__PURE__*/_react.default.createElement(_icons.CheckboxCheckedFilled, controlProps);
@@ -74,8 +75,7 @@ var AddSelectFormControl = function AddSelectFormControl(_ref) {
74
75
  }, getItemIcon(item)), /*#__PURE__*/_react.default.createElement("div", {
75
76
  className: "".concat(blockClass, "-form-control-label-text")
76
77
  }, /*#__PURE__*/_react.default.createElement("span", {
77
- className: "".concat(blockClass, "-cell-title"),
78
- id: "control-label-".concat(item.id)
78
+ className: "".concat(blockClass, "-cell-title")
79
79
  }, item.title), item.subtitle && /*#__PURE__*/_react.default.createElement("span", {
80
80
  className: "".concat(blockClass, "-cell-subtitle")
81
81
  }, item.subtitle))));
@@ -47,7 +47,6 @@ var AddSelectRow = function AddSelectRow(_ref) {
47
47
  setMultiSelection = _ref.setMultiSelection,
48
48
  setParentSelected = _ref.setParentSelected,
49
49
  setSingleSelection = _ref.setSingleSelection,
50
- setSize = _ref.setSize,
51
50
  singleSelection = _ref.singleSelection;
52
51
  var ref = (0, _react.useRef)(null);
53
52
  (0, _react.useEffect)(function () {
@@ -130,20 +129,14 @@ var AddSelectRow = function AddSelectRow(_ref) {
130
129
  var hasModifiers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) > 0;
131
130
  var tabIndex = getTabIndex();
132
131
  var selected = isSelected();
133
- var expanded = parentSelected === item.id;
134
132
  return /*#__PURE__*/_react.default.createElement("div", {
135
- className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "-row--selected"), isSelected()), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "-row--active"), expanded), _cx)),
133
+ className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "-row--selected"), isSelected(item.id)), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "-row--active"), parentSelected === item.id), _cx)),
136
134
  onKeyDown: onSelectKeyDown,
137
135
  tabIndex: tabIndex,
138
136
  ref: ref,
139
- role: "row",
140
- "aria-selected": selected,
141
- "aria-posinset": index,
142
- "aria-setsize": setSize,
143
- "aria-expanded": expanded
137
+ role: "row"
144
138
  }, /*#__PURE__*/_react.default.createElement("div", {
145
- className: "".concat(blockClass, "-cell"),
146
- role: "gridcell"
139
+ className: "".concat(blockClass, "-cell")
147
140
  }, /*#__PURE__*/_react.default.createElement("div", {
148
141
  className: "".concat(blockClass, "-cell-wrapper")
149
142
  }, multi ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AddSelectFormControl.AddSelectFormControl, {
@@ -156,7 +149,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
156
149
  type: "inline",
157
150
  items: modifiers.options,
158
151
  label: modifiers.label,
159
- disabled: !isSelected(),
152
+ disabled: !isSelected(item.id),
160
153
  className: "".concat(blockClass, "-dropdown"),
161
154
  initialSelectedItem: item[modifiers.id],
162
155
  onChange: function onChange(_ref3) {
@@ -181,9 +174,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
181
174
  hasIconOnly: true,
182
175
  onClick: onNavigateItem,
183
176
  kind: "ghost",
184
- size: "sm",
185
- tabIndex: -1,
186
- "aria-hidden": true
177
+ size: "sm"
187
178
  }), item.meta && /*#__PURE__*/_react.default.createElement(_react2.Button, {
188
179
  className: "".concat(blockClass, "-view-meta"),
189
180
  renderIcon: function renderIcon(props) {
@@ -221,7 +212,6 @@ AddSelectRow.propTypes = {
221
212
  setMultiSelection: _propTypes.default.func,
222
213
  setParentSelected: _propTypes.default.func,
223
214
  setSingleSelection: _propTypes.default.func,
224
- setSize: _propTypes.default.number,
225
215
  singleSelection: _propTypes.default.string
226
216
  };
227
217
  AddSelectRow.displayName = componentName;
@@ -167,9 +167,6 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
167
167
  setDisplayedBreadcrumbItems(newDisplayedBreadcrumbItems);
168
168
  }, [breadcrumbs, displayCount]);
169
169
  var checkFullyVisibleBreadcrumbItems = function checkFullyVisibleBreadcrumbItems() {
170
- if (!breadcrumbItemWithOverflow.current) {
171
- return;
172
- }
173
170
  var displayItemIndex = function displayItemIndex(itemCount, index) {
174
171
  // In this data set the overflow measuring item is [0]
175
172
  // so the first displayItem in the list is [1]
@@ -260,9 +257,13 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
260
257
  }
261
258
 
262
259
  // container resize
263
- (0, _useResizeObserver.useResizeObserver)(sizingContainerRef, handleResize);
260
+ (0, _useResizeObserver.useResizeObserver)(sizingContainerRef, {
261
+ callback: handleResize
262
+ });
264
263
  // item resize
265
- (0, _useResizeObserver.useResizeObserver)(breadcrumbItemWithOverflow, handleResize);
264
+ (0, _useResizeObserver.useResizeObserver)(breadcrumbItemWithOverflow, {
265
+ callback: handleResize
266
+ });
266
267
  return /*#__PURE__*/_react.default.createElement("div", {
267
268
  className: (0, _classnames.default)(blockClass, className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__with-items"), displayedBreadcrumbItems.length > 1)),
268
269
  ref: breadcrumbItemWithOverflow