@carbon/react 1.66.0 → 1.67.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 (102) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1005 -945
  2. package/es/components/ComboBox/ComboBox.js +11 -2
  3. package/es/components/ComboButton/index.js +1 -1
  4. package/es/components/DataTable/TableExpandHeader.d.ts +2 -2
  5. package/es/components/DataTable/TableExpandHeader.js +1 -1
  6. package/es/components/DatePicker/DatePicker.js +1 -0
  7. package/es/components/Dropdown/Dropdown.js +1 -1
  8. package/es/components/FeatureFlags/index.js +27 -7
  9. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.d.ts +15 -0
  10. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +95 -0
  11. package/es/components/FluidNumberInput/index.d.ts +11 -0
  12. package/es/components/FluidSearch/FluidSearch.Skeleton.d.ts +15 -0
  13. package/es/components/FluidSearch/FluidSearch.Skeleton.js +2 -2
  14. package/es/components/FluidSearch/FluidSearch.d.ts +73 -0
  15. package/es/components/FluidSearch/FluidSearch.js +1 -2
  16. package/es/components/FluidSearch/index.d.ts +11 -0
  17. package/es/components/FluidSelect/FluidSelect.Skeleton.d.ts +15 -0
  18. package/es/components/FluidSelect/FluidSelect.Skeleton.js +1 -2
  19. package/es/components/FluidSelect/FluidSelect.d.ts +57 -0
  20. package/es/components/FluidSelect/FluidSelect.js +1 -2
  21. package/es/components/FluidSelect/index.d.ts +13 -0
  22. package/es/components/FluidSelect/index.js +1 -0
  23. package/es/components/FluidTextInput/FluidPasswordInput.d.ts +83 -0
  24. package/es/components/FluidTextInput/FluidPasswordInput.js +87 -0
  25. package/es/components/FluidTextInput/FluidTextInput.Skeleton.d.ts +15 -0
  26. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +2 -2
  27. package/es/components/FluidTextInput/FluidTextInput.d.ts +70 -0
  28. package/es/components/FluidTextInput/FluidTextInput.js +6 -4
  29. package/es/components/FluidTextInput/index.d.ts +15 -0
  30. package/es/components/FluidTextInput/index.js +2 -0
  31. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.d.ts +35 -0
  32. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +4 -2
  33. package/es/components/FluidTimePicker/FluidTimePicker.d.ts +45 -0
  34. package/es/components/FluidTimePicker/FluidTimePicker.js +5 -5
  35. package/es/components/FluidTimePicker/index.d.ts +13 -0
  36. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.d.ts +41 -0
  37. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +2 -2
  38. package/es/components/FluidTimePickerSelect/index.d.ts +11 -0
  39. package/es/components/Menu/Menu.js +1 -1
  40. package/es/components/MultiSelect/FilterableMultiSelect.js +4 -4
  41. package/es/components/MultiSelect/MultiSelect.js +1 -1
  42. package/es/components/Notification/Notification.js +4 -2
  43. package/es/components/OverflowMenuV2/index.js +1 -3
  44. package/es/components/Pagination/Pagination.js +1 -1
  45. package/es/components/Popover/index.js +1 -1
  46. package/es/components/Tabs/Tabs.js +1 -1
  47. package/es/components/UIShell/HeaderPanel.js +1 -1
  48. package/es/index.js +10 -9
  49. package/es/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +757 -4
  50. package/es/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +76 -0
  51. package/es/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +106 -6
  52. package/lib/components/ComboBox/ComboBox.js +12 -3
  53. package/lib/components/ComboButton/index.js +2 -2
  54. package/lib/components/DataTable/TableExpandHeader.d.ts +2 -2
  55. package/lib/components/DataTable/TableExpandHeader.js +1 -1
  56. package/lib/components/DatePicker/DatePicker.js +1 -0
  57. package/lib/components/Dropdown/Dropdown.js +2 -2
  58. package/lib/components/FeatureFlags/index.js +27 -7
  59. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.d.ts +15 -0
  60. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +95 -0
  61. package/lib/components/FluidNumberInput/index.d.ts +11 -0
  62. package/lib/components/FluidSearch/FluidSearch.Skeleton.d.ts +15 -0
  63. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +2 -2
  64. package/lib/components/FluidSearch/FluidSearch.d.ts +73 -0
  65. package/lib/components/FluidSearch/FluidSearch.js +1 -2
  66. package/lib/components/FluidSearch/index.d.ts +11 -0
  67. package/lib/components/FluidSelect/FluidSelect.Skeleton.d.ts +15 -0
  68. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +1 -2
  69. package/lib/components/FluidSelect/FluidSelect.d.ts +57 -0
  70. package/lib/components/FluidSelect/FluidSelect.js +1 -2
  71. package/lib/components/FluidSelect/index.d.ts +13 -0
  72. package/lib/components/FluidSelect/index.js +2 -0
  73. package/lib/components/FluidTextInput/FluidPasswordInput.d.ts +83 -0
  74. package/lib/components/FluidTextInput/FluidPasswordInput.js +93 -0
  75. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.d.ts +15 -0
  76. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +2 -2
  77. package/lib/components/FluidTextInput/FluidTextInput.d.ts +70 -0
  78. package/lib/components/FluidTextInput/FluidTextInput.js +6 -4
  79. package/lib/components/FluidTextInput/index.d.ts +15 -0
  80. package/lib/components/FluidTextInput/index.js +3 -0
  81. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.d.ts +35 -0
  82. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +4 -2
  83. package/lib/components/FluidTimePicker/FluidTimePicker.d.ts +45 -0
  84. package/lib/components/FluidTimePicker/FluidTimePicker.js +6 -6
  85. package/lib/components/FluidTimePicker/index.d.ts +13 -0
  86. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.d.ts +41 -0
  87. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +2 -2
  88. package/lib/components/FluidTimePickerSelect/index.d.ts +11 -0
  89. package/lib/components/Menu/Menu.js +1 -1
  90. package/lib/components/MultiSelect/FilterableMultiSelect.js +5 -5
  91. package/lib/components/MultiSelect/MultiSelect.js +2 -2
  92. package/lib/components/Notification/Notification.js +4 -2
  93. package/lib/components/OverflowMenuV2/index.js +1 -3
  94. package/lib/components/Pagination/Pagination.js +1 -1
  95. package/lib/components/Popover/index.js +2 -2
  96. package/lib/components/Tabs/Tabs.js +1 -1
  97. package/lib/components/UIShell/HeaderPanel.js +1 -1
  98. package/lib/index.js +19 -18
  99. package/lib/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +763 -2
  100. package/lib/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +80 -0
  101. package/lib/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +121 -5
  102. package/package.json +8 -8
@@ -143,7 +143,6 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
143
143
  }
144
144
  }
145
145
  function focusItem(e) {
146
- e?.preventDefault();
147
146
  const currentItem = focusableItems.findIndex(item => item.ref?.current?.contains(document.activeElement));
148
147
  let indexToFocus = currentItem;
149
148
 
@@ -168,6 +167,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
168
167
  if (indexToFocus !== currentItem) {
169
168
  const nodeToFocus = focusableItems[indexToFocus];
170
169
  nodeToFocus.ref?.current?.focus();
170
+ e?.preventDefault();
171
171
  }
172
172
  }
173
173
  function handleBlur(e) {
@@ -31,7 +31,7 @@ require('../FluidForm/FluidForm.js');
31
31
  var FormContext = require('../FluidForm/FormContext.js');
32
32
  var Selection = require('../../internal/Selection.js');
33
33
  var react = require('@floating-ui/react');
34
- var floatingUi_core = require('../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js');
34
+ var floatingUi_dom = require('../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js');
35
35
  var match = require('../../internal/keyboard/match.js');
36
36
  var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
37
37
  var keys = require('../../internal/keyboard/keys.js');
@@ -157,7 +157,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
157
157
  width: `${rects.reference.width}px`
158
158
  });
159
159
  }
160
- }), floatingUi_core.hide()],
160
+ }), floatingUi_dom.hide()],
161
161
  whileElementsMounted: react.autoUpdate
162
162
  } : {});
163
163
  React.useLayoutEffect(() => {
@@ -247,10 +247,10 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
247
247
  const nextIsOpen = forceIsOpen ?? !isOpen;
248
248
  setIsOpen(nextIsOpen);
249
249
  validateHighlightFocus();
250
- if (onMenuChange) {
251
- onMenuChange(nextIsOpen);
252
- }
253
250
  }
251
+ React.useEffect(() => {
252
+ onMenuChange?.(isOpen);
253
+ }, [isOpen, onMenuChange]);
254
254
  const {
255
255
  getToggleButtonProps,
256
256
  getLabelProps,
@@ -30,7 +30,7 @@ var Checkbox = require('../Checkbox/Checkbox.js');
30
30
  require('../Checkbox/Checkbox.Skeleton.js');
31
31
  var noopFn = require('../../internal/noopFn.js');
32
32
  var react = require('@floating-ui/react');
33
- var floatingUi_core = require('../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js');
33
+ var floatingUi_dom = require('../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js');
34
34
  var match = require('../../internal/keyboard/match.js');
35
35
  var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
36
36
  var keys = require('../../internal/keyboard/keys.js');
@@ -160,7 +160,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
160
160
  width: `${rects.reference.width}px`
161
161
  });
162
162
  }
163
- }), floatingUi_core.hide()],
163
+ }), floatingUi_dom.hide()],
164
164
  whileElementsMounted: react.autoUpdate
165
165
  } : {});
166
166
  React.useLayoutEffect(() => {
@@ -45,13 +45,15 @@ function useEscapeToClose(ref, callback) {
45
45
  let override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
46
46
  const handleKeyDown = event => {
47
47
  // The callback should only be called when focus is on or within the container
48
- const elementContainsFocus = ref.current && document.activeElement === ref.current || ref.current.contains(document.activeElement);
48
+ const elementContainsFocus = ref.current && document.activeElement === ref.current || ref.current?.contains(document.activeElement);
49
49
  if (match.matches(event, [keys.Escape]) && override && elementContainsFocus) {
50
50
  callback(event);
51
51
  }
52
52
  };
53
53
  useIsomorphicEffect["default"](() => {
54
- document.addEventListener('keydown', handleKeyDown, false);
54
+ if (ref.current !== null) {
55
+ document.addEventListener('keydown', handleKeyDown, false);
56
+ }
55
57
  return () => document.removeEventListener('keydown', handleKeyDown, false);
56
58
  });
57
59
  }
@@ -25,9 +25,7 @@ function OverflowMenuV2(props) {
25
25
  didWarnAboutDeprecation = true;
26
26
  }
27
27
  return /*#__PURE__*/React__default["default"].createElement(index.FeatureFlags, {
28
- flags: {
29
- 'enable-v12-overflowmenu': true
30
- }
28
+ enableV12Overflowmenu: true
31
29
  }, /*#__PURE__*/React__default["default"].createElement(index$1["default"], props));
32
30
  }
33
31
 
@@ -110,7 +110,7 @@ const Pagination = /*#__PURE__*/React__default["default"].forwardRef(function Pa
110
110
  [`${prefix}--pagination__button--backward`]: true,
111
111
  [`${prefix}--pagination__button--no-index`]: backButtonDisabled
112
112
  });
113
- const forwardButtonDisabled = disabled || page === totalPages;
113
+ const forwardButtonDisabled = disabled || page === totalPages && !pagesUnknown;
114
114
  const forwardButtonClasses = cx__default["default"]({
115
115
  [`${prefix}--pagination__button`]: true,
116
116
  [`${prefix}--pagination__button--forward`]: true,
@@ -20,7 +20,7 @@ var usePrefix = require('../../internal/usePrefix.js');
20
20
  var useEvent = require('../../internal/useEvent.js');
21
21
  var createPropAdapter = require('../../tools/createPropAdapter.js');
22
22
  var react = require('@floating-ui/react');
23
- var floatingUi_core = require('../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js');
23
+ var floatingUi_dom = require('../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js');
24
24
 
25
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
26
 
@@ -139,7 +139,7 @@ const Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popov
139
139
  fallbackAxisSideDirection: 'start'
140
140
  }), react.arrow({
141
141
  element: caretRef
142
- }), floatingUi_core.hide()],
142
+ }), floatingUi_dom.hide()],
143
143
  whileElementsMounted: react.autoUpdate
144
144
  } : {} // When autoAlign is turned off, floating-ui will not be used
145
145
  );
@@ -821,7 +821,7 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab(_ref8, forwardRef) {
821
821
  // determine number of tabs, excluding disabled
822
822
  const tabCount = Array.from(tabRef.current.parentElement.childNodes).filter(node => {
823
823
  const element = node;
824
- return element.classList.contains('cds--tabs__nav-link') && !element.classList.contains('cds--tabs__nav-item--disabled');
824
+ return element.classList.contains(`${prefix}--tabs__nav-link`) && !element.classList.contains(`${prefix}--tabs__nav-item--disabled`);
825
825
  }).length;
826
826
 
827
827
  // if not removing last tab focus on next tab
@@ -50,7 +50,7 @@ const HeaderPanel = /*#__PURE__*/React__default["default"].forwardRef(function H
50
50
  const eventHandlers = {};
51
51
  if (addFocusListeners) {
52
52
  eventHandlers.onBlur = event => {
53
- if (!event.currentTarget.contains(event.relatedTarget) && !lastClickedElement?.classList?.contains('cds--switcher__item-link')) {
53
+ if (!event.currentTarget.contains(event.relatedTarget) && !lastClickedElement?.classList?.contains(`${prefix}--switcher__item-link`)) {
54
54
  setExpandedState(false);
55
55
  setLastClickedElement(null);
56
56
  if (expanded) {
package/lib/index.js CHANGED
@@ -163,8 +163,18 @@ var SideNavMenuItem = require('./components/UIShell/SideNavMenuItem.js');
163
163
  var SideNavSwitcher = require('./components/UIShell/SideNavSwitcher.js');
164
164
  var UnorderedList = require('./components/UnorderedList/UnorderedList.js');
165
165
  var index = require('./components/FeatureFlags/index.js');
166
+ var FluidSelect = require('./components/FluidSelect/FluidSelect.js');
167
+ var FluidSelect_Skeleton = require('./components/FluidSelect/FluidSelect.Skeleton.js');
168
+ var FluidSearch = require('./components/FluidSearch/FluidSearch.js');
169
+ var FluidSearch_Skeleton = require('./components/FluidSearch/FluidSearch.Skeleton.js');
166
170
  var FluidTextArea = require('./components/FluidTextArea/FluidTextArea.js');
167
171
  var FluidTextArea_Skeleton = require('./components/FluidTextArea/FluidTextArea.Skeleton.js');
172
+ var FluidTextInput = require('./components/FluidTextInput/FluidTextInput.js');
173
+ require('./components/FluidTextInput/FluidPasswordInput.js');
174
+ var FluidTextInput_Skeleton = require('./components/FluidTextInput/FluidTextInput.Skeleton.js');
175
+ var FluidTimePicker = require('./components/FluidTimePicker/FluidTimePicker.js');
176
+ var FluidTimePicker_Skeleton = require('./components/FluidTimePicker/FluidTimePicker.Skeleton.js');
177
+ var FluidTimePickerSelect = require('./components/FluidTimePickerSelect/FluidTimePickerSelect.js');
168
178
  var index$c = require('./components/Heading/index.js');
169
179
  var index$d = require('./components/IconButton/index.js');
170
180
  var index$e = require('./components/Layer/index.js');
@@ -185,9 +195,6 @@ var index$g = require('./components/Theme/index.js');
185
195
  var usePrefix = require('./internal/usePrefix.js');
186
196
  var useIdPrefix = require('./internal/useIdPrefix.js');
187
197
  var FluidDatePicker_Skeleton = require('./components/FluidDatePicker/FluidDatePicker.Skeleton.js');
188
- var FluidSearch_Skeleton = require('./components/FluidSearch/FluidSearch.Skeleton.js');
189
- var FluidTextInput = require('./components/FluidTextInput/FluidTextInput.js');
190
- var FluidTextInput_Skeleton = require('./components/FluidTextInput/FluidTextInput.Skeleton.js');
191
198
  var PageSelector = require('./components/Pagination/experimental/PageSelector.js');
192
199
  var Pagination = require('./components/Pagination/experimental/Pagination.js');
193
200
  var ContainedListItem = require('./components/ContainedList/ContainedListItem/ContainedListItem.js');
@@ -204,12 +211,6 @@ var FluidDropdown = require('./components/FluidDropdown/FluidDropdown.js');
204
211
  var FluidDropdown_Skeleton = require('./components/FluidDropdown/FluidDropdown.Skeleton.js');
205
212
  var FluidMultiSelect = require('./components/FluidMultiSelect/FluidMultiSelect.js');
206
213
  var FluidMultiSelect_Skeleton = require('./components/FluidMultiSelect/FluidMultiSelect.Skeleton.js');
207
- var FluidSelect = require('./components/FluidSelect/FluidSelect.js');
208
- var FluidSelect_Skeleton = require('./components/FluidSelect/FluidSelect.Skeleton.js');
209
- var FluidSearch = require('./components/FluidSearch/FluidSearch.js');
210
- var FluidTimePicker = require('./components/FluidTimePicker/FluidTimePicker.js');
211
- var FluidTimePicker_Skeleton = require('./components/FluidTimePicker/FluidTimePicker.Skeleton.js');
212
- var FluidTimePickerSelect = require('./components/FluidTimePickerSelect/FluidTimePickerSelect.js');
213
214
  var LayoutDirection = require('./components/LayoutDirection/LayoutDirection.js');
214
215
  var useLayoutDirection = require('./components/LayoutDirection/useLayoutDirection.js');
215
216
  var Text = require('./components/Text/Text.js');
@@ -429,8 +430,17 @@ exports.UnorderedList = UnorderedList["default"];
429
430
  exports.unstable_FeatureFlags = index.FeatureFlags;
430
431
  exports.unstable_useFeatureFlag = index.useFeatureFlag;
431
432
  exports.unstable_useFeatureFlags = index.useFeatureFlags;
433
+ exports.unstable__FluidSelect = FluidSelect["default"];
434
+ exports.unstable__FluidSelectSkeleton = FluidSelect_Skeleton["default"];
435
+ exports.unstable__FluidSearch = FluidSearch["default"];
436
+ exports.unstable__FluidSearchSkeleton = FluidSearch_Skeleton["default"];
432
437
  exports.unstable__FluidTextArea = FluidTextArea["default"];
433
438
  exports.unstable__FluidTextAreaSkeleton = FluidTextArea_Skeleton["default"];
439
+ exports.unstable__FluidTextInput = FluidTextInput["default"];
440
+ exports.unstable__FluidTextInputSkeleton = FluidTextInput_Skeleton["default"];
441
+ exports.unstable__FluidTimePicker = FluidTimePicker["default"];
442
+ exports.unstable__FluidTimePickerSkeleton = FluidTimePicker_Skeleton["default"];
443
+ exports.unstable__FluidTimePickerSelect = FluidTimePickerSelect["default"];
434
444
  exports.Heading = index$c.Heading;
435
445
  exports.Section = index$c.Section;
436
446
  exports.IconButton = index$d.IconButton;
@@ -467,9 +477,6 @@ exports.PrefixContext = usePrefix.PrefixContext;
467
477
  exports.usePrefix = usePrefix.usePrefix;
468
478
  exports.useIdPrefix = useIdPrefix.useIdPrefix;
469
479
  exports.unstable__FluidDatePickerSkeleton = FluidDatePicker_Skeleton["default"];
470
- exports.unstable__FluidSearchSkeleton = FluidSearch_Skeleton["default"];
471
- exports.unstable__FluidTextInput = FluidTextInput["default"];
472
- exports.unstable__FluidTextInputSkeleton = FluidTextInput_Skeleton["default"];
473
480
  exports.unstable_PageSelector = PageSelector["default"];
474
481
  exports.unstable_Pagination = Pagination["default"];
475
482
  exports.ContainedListItem = ContainedListItem["default"];
@@ -486,12 +493,6 @@ exports.unstable__FluidDropdown = FluidDropdown["default"];
486
493
  exports.unstable__FluidDropdownSkeleton = FluidDropdown_Skeleton["default"];
487
494
  exports.unstable__FluidMultiSelect = FluidMultiSelect["default"];
488
495
  exports.unstable__FluidMultiSelectSkeleton = FluidMultiSelect_Skeleton["default"];
489
- exports.unstable__FluidSelect = FluidSelect["default"];
490
- exports.unstable__FluidSelectSkeleton = FluidSelect_Skeleton["default"];
491
- exports.unstable__FluidSearch = FluidSearch["default"];
492
- exports.unstable__FluidTimePicker = FluidTimePicker["default"];
493
- exports.unstable__FluidTimePickerSkeleton = FluidTimePicker_Skeleton["default"];
494
- exports.unstable__FluidTimePickerSelect = FluidTimePickerSelect["default"];
495
496
  exports.unstable_LayoutDirection = LayoutDirection.LayoutDirection;
496
497
  exports.unstable_useLayoutDirection = useLayoutDirection.useLayoutDirection;
497
498
  exports.unstable_Text = Text.Text;