@carbon/react 1.89.0 → 1.90.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 (262) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +877 -877
  2. package/README.md +2 -2
  3. package/es/components/AILabel/index.js +8 -6
  4. package/es/components/Breadcrumb/BreadcrumbItem.js +2 -0
  5. package/es/components/Button/Button.js +3 -0
  6. package/es/components/ChatButton/ChatButton.js +1 -0
  7. package/es/components/CheckboxGroup/CheckboxGroup.js +21 -2
  8. package/es/components/ComboBox/ComboBox.js +17 -1
  9. package/es/components/ComboButton/index.js +1 -0
  10. package/es/components/ComposedModal/ComposedModal.js +18 -4
  11. package/es/components/DataTable/DataTable.d.ts +3 -8
  12. package/es/components/DataTable/DataTable.js +14 -0
  13. package/es/components/DataTable/Table.js +3 -3
  14. package/es/components/DataTable/TableExpandHeader.js +5 -1
  15. package/es/components/DataTable/TableExpandRow.d.ts +33 -5
  16. package/es/components/DataTable/TableExpandRow.js +5 -2
  17. package/es/components/DataTable/TableHeader.d.ts +1 -2
  18. package/es/components/DataTable/TableHeader.js +3 -2
  19. package/es/components/DataTable/TableRow.d.ts +3 -6
  20. package/es/components/DataTable/TableRow.js +40 -22
  21. package/es/components/DataTable/TableSlugRow.js +1 -0
  22. package/es/components/DataTable/TableToolbarMenu.js +3 -0
  23. package/es/components/DataTable/state/sorting.d.ts +57 -14
  24. package/es/components/DataTable/state/sorting.js +42 -50
  25. package/es/components/DataTable/tools/sorting.js +5 -0
  26. package/es/components/DatePicker/DatePicker.js +14 -3
  27. package/es/components/DatePickerInput/DatePickerInput.js +6 -0
  28. package/es/components/Dialog/Dialog.js +10 -2
  29. package/es/components/Dropdown/Dropdown.js +16 -4
  30. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +1 -0
  31. package/es/components/FileUploader/FileUploader.js +9 -2
  32. package/es/components/FileUploader/FileUploaderButton.js +1 -1
  33. package/es/components/FileUploader/FileUploaderDropContainer.js +1 -1
  34. package/es/components/FileUploader/FileUploaderItem.js +3 -0
  35. package/es/components/FluidMultiSelect/FluidMultiSelect.js +2 -0
  36. package/es/components/FluidNumberInput/FluidNumberInput.js +3 -2
  37. package/es/components/FluidSearch/FluidSearch.js +3 -2
  38. package/es/components/FluidSelect/FluidSelect.js +3 -2
  39. package/es/components/FluidTextInput/FluidTextInput.js +3 -2
  40. package/es/components/FluidTimePicker/FluidTimePicker.js +11 -4
  41. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +3 -2
  42. package/es/components/Grid/CSSGrid.js +5 -0
  43. package/es/components/Grid/Column.js +3 -0
  44. package/es/components/Grid/ColumnHang.js +1 -0
  45. package/es/components/Grid/FlexGrid.js +1 -0
  46. package/es/components/Grid/Row.js +1 -0
  47. package/es/components/Heading/index.js +3 -1
  48. package/es/components/IconButton/index.js +4 -2
  49. package/es/components/IconIndicator/index.js +4 -2
  50. package/es/components/InlineCheckbox/InlineCheckbox.js +3 -2
  51. package/es/components/Layout/index.js +6 -4
  52. package/es/components/LayoutDirection/LayoutDirection.js +2 -0
  53. package/es/components/Link/Link.js +3 -0
  54. package/es/components/ListBox/ListBoxMenuItem.js +4 -1
  55. package/es/components/ListBox/next/ListBoxTrigger.js +3 -2
  56. package/es/components/Menu/Menu.js +6 -9
  57. package/es/components/Menu/MenuContext.js +1 -0
  58. package/es/components/Menu/MenuItem.js +5 -13
  59. package/es/components/MenuButton/index.js +7 -2
  60. package/es/components/Modal/Modal.js +15 -6
  61. package/es/components/ModalWrapper/ModalWrapper.js +2 -0
  62. package/es/components/MultiSelect/FilterableMultiSelect.js +24 -5
  63. package/es/components/MultiSelect/MultiSelect.js +21 -5
  64. package/es/components/Notification/Notification.js +1 -1
  65. package/es/components/NumberInput/NumberInput.js +18 -7
  66. package/es/components/OverflowMenu/OverflowMenu.js +2 -0
  67. package/es/components/OverflowMenu/next/index.js +3 -2
  68. package/es/components/OverflowMenuItem/OverflowMenuItem.js +2 -0
  69. package/es/components/PageHeader/PageHeader.d.ts +3 -3
  70. package/es/components/PageHeader/PageHeader.js +22 -8
  71. package/es/components/Pagination/Pagination.js +6 -2
  72. package/es/components/PaginationNav/PaginationNav.js +2 -5
  73. package/es/components/Popover/index.js +20 -6
  74. package/es/components/ProgressBar/ProgressBar.js +4 -2
  75. package/es/components/RadioTile/RadioTile.js +2 -2
  76. package/es/components/Search/Search.js +2 -2
  77. package/es/components/Select/Select.js +2 -3
  78. package/es/components/ShapeIndicator/index.js +4 -2
  79. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.d.ts +4 -4
  80. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +1 -2
  81. package/es/components/SkeletonText/SkeletonText.js +0 -2
  82. package/es/components/Slider/Slider.js +11 -16
  83. package/es/components/Stack/HStack.js +1 -0
  84. package/es/components/Stack/Stack.js +6 -9
  85. package/es/components/Stack/VStack.js +1 -0
  86. package/es/components/StructuredList/StructuredList.js +3 -0
  87. package/es/components/Switch/Switch.js +1 -1
  88. package/es/components/Tabs/Tabs.js +28 -17
  89. package/es/components/Tag/DismissibleTag.d.ts +5 -0
  90. package/es/components/Tag/DismissibleTag.js +8 -1
  91. package/es/components/Tag/OperationalTag.js +2 -0
  92. package/es/components/Tag/SelectableTag.js +2 -0
  93. package/es/components/Tag/Tag.js +4 -0
  94. package/es/components/Tag/isEllipsisActive.js +1 -0
  95. package/es/components/Text/Text.js +1 -0
  96. package/es/components/TextInput/ControlledPasswordInput.js +2 -4
  97. package/es/components/TextInput/PasswordInput.js +7 -2
  98. package/es/components/TextInput/TextInput.js +4 -2
  99. package/es/components/Theme/index.js +8 -3
  100. package/es/components/Tile/Tile.js +14 -17
  101. package/es/components/TimePicker/TimePicker.js +1 -0
  102. package/es/components/Toggle/Toggle.js +1 -1
  103. package/es/components/Toggletip/index.js +23 -8
  104. package/es/components/Tooltip/DefinitionTooltip.js +1 -0
  105. package/es/components/Tooltip/Tooltip.js +30 -23
  106. package/es/components/TreeView/TreeNode.d.ts +28 -0
  107. package/es/components/TreeView/TreeNode.js +19 -10
  108. package/es/components/TreeView/TreeView.js +7 -0
  109. package/es/components/UIShell/HeaderContainer.js +3 -1
  110. package/es/components/UIShell/HeaderGlobalAction.js +2 -2
  111. package/es/components/UIShell/HeaderMenu.js +3 -3
  112. package/es/components/UIShell/HeaderPanel.js +2 -2
  113. package/es/components/UIShell/Link.js +2 -0
  114. package/es/components/UIShell/SideNavItems.js +1 -0
  115. package/es/components/UIShell/SideNavMenu.js +2 -2
  116. package/es/components/UIShell/SideNavMenuItem.js +1 -1
  117. package/es/components/UIShell/SideNavSwitcher.js +1 -1
  118. package/es/components/UIShell/Switcher.js +2 -1
  119. package/es/components/UIShell/SwitcherItem.js +4 -2
  120. package/es/internal/FloatingMenu.js +7 -1
  121. package/es/internal/Selection.js +12 -3
  122. package/es/internal/useMergedRefs.js +1 -0
  123. package/es/internal/useNoInteractiveChildren.js +4 -0
  124. package/es/internal/useOutsideClick.js +1 -0
  125. package/es/internal/useOverflowItems.js +6 -0
  126. package/es/internal/useResizeObserver.js +4 -0
  127. package/es/internal/useSavedCallback.js +1 -0
  128. package/es/internal/warning.js +1 -0
  129. package/es/prop-types/isRequiredOneOf.js +4 -1
  130. package/es/tools/events.js +3 -1
  131. package/es/tools/wrapComponent.js +1 -0
  132. package/lib/components/AILabel/index.js +8 -6
  133. package/lib/components/Breadcrumb/BreadcrumbItem.js +2 -0
  134. package/lib/components/Button/Button.js +3 -0
  135. package/lib/components/ChatButton/ChatButton.js +1 -0
  136. package/lib/components/CheckboxGroup/CheckboxGroup.js +20 -1
  137. package/lib/components/ComboBox/ComboBox.js +17 -1
  138. package/lib/components/ComboButton/index.js +1 -0
  139. package/lib/components/ComposedModal/ComposedModal.js +18 -4
  140. package/lib/components/DataTable/DataTable.d.ts +3 -8
  141. package/lib/components/DataTable/DataTable.js +14 -0
  142. package/lib/components/DataTable/Table.js +3 -3
  143. package/lib/components/DataTable/TableExpandHeader.js +5 -1
  144. package/lib/components/DataTable/TableExpandRow.d.ts +33 -5
  145. package/lib/components/DataTable/TableExpandRow.js +5 -2
  146. package/lib/components/DataTable/TableHeader.d.ts +1 -2
  147. package/lib/components/DataTable/TableHeader.js +3 -2
  148. package/lib/components/DataTable/TableRow.d.ts +3 -6
  149. package/lib/components/DataTable/TableRow.js +39 -21
  150. package/lib/components/DataTable/TableSlugRow.js +1 -0
  151. package/lib/components/DataTable/TableToolbarMenu.js +3 -0
  152. package/lib/components/DataTable/state/sorting.d.ts +57 -14
  153. package/lib/components/DataTable/state/sorting.js +41 -50
  154. package/lib/components/DataTable/tools/sorting.js +5 -0
  155. package/lib/components/DatePicker/DatePicker.js +14 -3
  156. package/lib/components/DatePickerInput/DatePickerInput.js +6 -0
  157. package/lib/components/Dialog/Dialog.js +10 -2
  158. package/lib/components/Dropdown/Dropdown.js +16 -4
  159. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +1 -0
  160. package/lib/components/FileUploader/FileUploader.js +9 -2
  161. package/lib/components/FileUploader/FileUploaderButton.js +1 -1
  162. package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -1
  163. package/lib/components/FileUploader/FileUploaderItem.js +3 -0
  164. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +2 -0
  165. package/lib/components/FluidNumberInput/FluidNumberInput.js +3 -2
  166. package/lib/components/FluidSearch/FluidSearch.js +3 -2
  167. package/lib/components/FluidSelect/FluidSelect.js +3 -2
  168. package/lib/components/FluidTextInput/FluidTextInput.js +3 -2
  169. package/lib/components/FluidTimePicker/FluidTimePicker.js +11 -4
  170. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +3 -2
  171. package/lib/components/Grid/CSSGrid.js +5 -0
  172. package/lib/components/Grid/Column.js +3 -0
  173. package/lib/components/Grid/ColumnHang.js +1 -0
  174. package/lib/components/Grid/FlexGrid.js +1 -0
  175. package/lib/components/Grid/Row.js +1 -0
  176. package/lib/components/Heading/index.js +3 -1
  177. package/lib/components/IconButton/index.js +4 -2
  178. package/lib/components/IconIndicator/index.js +4 -2
  179. package/lib/components/InlineCheckbox/InlineCheckbox.js +3 -2
  180. package/lib/components/Layout/index.js +6 -4
  181. package/lib/components/LayoutDirection/LayoutDirection.js +2 -0
  182. package/lib/components/Link/Link.js +3 -0
  183. package/lib/components/ListBox/ListBoxMenuItem.js +4 -1
  184. package/lib/components/ListBox/next/ListBoxTrigger.js +3 -2
  185. package/lib/components/Menu/Menu.js +6 -9
  186. package/lib/components/Menu/MenuContext.js +1 -0
  187. package/lib/components/Menu/MenuItem.js +5 -13
  188. package/lib/components/MenuButton/index.js +7 -2
  189. package/lib/components/Modal/Modal.js +15 -6
  190. package/lib/components/ModalWrapper/ModalWrapper.js +2 -0
  191. package/lib/components/MultiSelect/FilterableMultiSelect.js +24 -5
  192. package/lib/components/MultiSelect/MultiSelect.js +21 -5
  193. package/lib/components/Notification/Notification.js +1 -1
  194. package/lib/components/NumberInput/NumberInput.js +17 -6
  195. package/lib/components/OverflowMenu/OverflowMenu.js +2 -0
  196. package/lib/components/OverflowMenu/next/index.js +3 -2
  197. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +2 -0
  198. package/lib/components/PageHeader/PageHeader.d.ts +3 -3
  199. package/lib/components/PageHeader/PageHeader.js +22 -8
  200. package/lib/components/Pagination/Pagination.js +6 -2
  201. package/lib/components/PaginationNav/PaginationNav.js +2 -5
  202. package/lib/components/Popover/index.js +20 -6
  203. package/lib/components/ProgressBar/ProgressBar.js +4 -2
  204. package/lib/components/RadioTile/RadioTile.js +2 -2
  205. package/lib/components/Search/Search.js +2 -2
  206. package/lib/components/Select/Select.js +2 -3
  207. package/lib/components/ShapeIndicator/index.js +4 -2
  208. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.d.ts +4 -4
  209. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +1 -2
  210. package/lib/components/SkeletonText/SkeletonText.js +0 -2
  211. package/lib/components/Slider/Slider.js +11 -16
  212. package/lib/components/Stack/HStack.js +1 -0
  213. package/lib/components/Stack/Stack.js +6 -9
  214. package/lib/components/Stack/VStack.js +1 -0
  215. package/lib/components/StructuredList/StructuredList.js +3 -0
  216. package/lib/components/Switch/Switch.js +1 -1
  217. package/lib/components/Tabs/Tabs.js +28 -17
  218. package/lib/components/Tag/DismissibleTag.d.ts +5 -0
  219. package/lib/components/Tag/DismissibleTag.js +8 -1
  220. package/lib/components/Tag/OperationalTag.js +2 -0
  221. package/lib/components/Tag/SelectableTag.js +2 -0
  222. package/lib/components/Tag/Tag.js +4 -0
  223. package/lib/components/Tag/isEllipsisActive.js +1 -0
  224. package/lib/components/Text/Text.js +1 -0
  225. package/lib/components/TextInput/ControlledPasswordInput.js +2 -4
  226. package/lib/components/TextInput/PasswordInput.js +7 -2
  227. package/lib/components/TextInput/TextInput.js +4 -2
  228. package/lib/components/Theme/index.js +8 -3
  229. package/lib/components/Tile/Tile.js +14 -17
  230. package/lib/components/TimePicker/TimePicker.js +1 -0
  231. package/lib/components/Toggle/Toggle.js +1 -1
  232. package/lib/components/Toggletip/index.js +22 -7
  233. package/lib/components/Tooltip/DefinitionTooltip.js +1 -0
  234. package/lib/components/Tooltip/Tooltip.js +30 -23
  235. package/lib/components/TreeView/TreeNode.d.ts +28 -0
  236. package/lib/components/TreeView/TreeNode.js +19 -10
  237. package/lib/components/TreeView/TreeView.js +7 -0
  238. package/lib/components/UIShell/HeaderContainer.js +3 -1
  239. package/lib/components/UIShell/HeaderGlobalAction.js +2 -2
  240. package/lib/components/UIShell/HeaderMenu.js +3 -3
  241. package/lib/components/UIShell/HeaderPanel.js +2 -2
  242. package/lib/components/UIShell/Link.js +2 -0
  243. package/lib/components/UIShell/SideNavItems.js +1 -0
  244. package/lib/components/UIShell/SideNavMenu.js +2 -2
  245. package/lib/components/UIShell/SideNavMenuItem.js +1 -1
  246. package/lib/components/UIShell/SideNavSwitcher.js +1 -1
  247. package/lib/components/UIShell/Switcher.js +2 -1
  248. package/lib/components/UIShell/SwitcherItem.js +4 -2
  249. package/lib/internal/FloatingMenu.js +7 -1
  250. package/lib/internal/Selection.js +12 -3
  251. package/lib/internal/useMergedRefs.js +1 -0
  252. package/lib/internal/useNoInteractiveChildren.js +4 -0
  253. package/lib/internal/useOutsideClick.js +1 -0
  254. package/lib/internal/useOverflowItems.js +6 -0
  255. package/lib/internal/useResizeObserver.js +4 -0
  256. package/lib/internal/useSavedCallback.js +1 -0
  257. package/lib/internal/warning.js +1 -0
  258. package/lib/prop-types/isRequiredOneOf.js +4 -1
  259. package/lib/tools/events.js +3 -1
  260. package/lib/tools/wrapComponent.js +1 -0
  261. package/package.json +11 -11
  262. package/telemetry.yml +14 -0
@@ -16,16 +16,20 @@ import { useMatchMedia } from '../../internal/useMatchMedia.js';
16
16
  const ThemeContext = /*#__PURE__*/React.createContext({
17
17
  theme: 'white'
18
18
  });
19
- const GlobalTheme = /*#__PURE__*/React.forwardRef(function GlobalTheme({
19
+
20
+ // eslint-disable-next-line react/display-name -- https://github.com/carbon-design-system/carbon/issues/20071
21
+ const GlobalTheme = /*#__PURE__*/React.forwardRef(({
20
22
  children,
21
23
  theme
22
- }, ref) {
24
+ }, ref) => {
23
25
  const value = useMemo(() => {
24
26
  return {
25
27
  theme
26
28
  };
27
29
  }, [theme]);
28
- const childrenWithProps = /*#__PURE__*/React.cloneElement(children, {
30
+ const childrenWithProps = /*#__PURE__*/React.cloneElement(
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
32
+ children, {
29
33
  ref: ref
30
34
  });
31
35
  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
@@ -67,6 +71,7 @@ function Theme({
67
71
  isDark
68
72
  };
69
73
  }, [theme]);
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
70
75
  const BaseComponentAsAny = BaseComponent;
71
76
  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
72
77
  value: value
@@ -27,7 +27,7 @@ import { isComponentElement } from '../../internal/utils.js';
27
27
  import { Text } from '../Text/Text.js';
28
28
 
29
29
  var _CheckboxCheckedFille, _Checkbox, _ChevronDown, _ChevronDown2;
30
- const Tile = /*#__PURE__*/React.forwardRef(function Tile({
30
+ const Tile = /*#__PURE__*/React.forwardRef(({
31
31
  children,
32
32
  className,
33
33
  decorator,
@@ -35,7 +35,7 @@ const Tile = /*#__PURE__*/React.forwardRef(function Tile({
35
35
  slug,
36
36
  hasRoundedCorners = false,
37
37
  ...rest
38
- }, ref) {
38
+ }, ref) => {
39
39
  const prefix = usePrefix();
40
40
  const tileClasses = cx(`${prefix}--tile`, {
41
41
  [`${prefix}--tile--light`]: light,
@@ -82,7 +82,7 @@ Tile.propTypes = {
82
82
  */
83
83
  slug: deprecate(PropTypes.node, 'The `slug` prop for `Tile` has ' + 'been deprecated in favor of the new `decorator` prop. It will be removed in the next major release.')
84
84
  };
85
- const ClickableTile = /*#__PURE__*/React.forwardRef(function ClickableTile({
85
+ const ClickableTile = /*#__PURE__*/React.forwardRef(({
86
86
  children,
87
87
  className,
88
88
  clicked = false,
@@ -96,7 +96,7 @@ const ClickableTile = /*#__PURE__*/React.forwardRef(function ClickableTile({
96
96
  hasRoundedCorners,
97
97
  slug,
98
98
  ...rest
99
- }, ref) {
99
+ }, ref) => {
100
100
  const prefix = usePrefix();
101
101
  const classes = cx(`${prefix}--tile`, `${prefix}--tile--clickable`, {
102
102
  [`${prefix}--tile--is-clicked`]: clicked,
@@ -205,7 +205,8 @@ ClickableTile.propTypes = {
205
205
  */
206
206
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
207
207
  };
208
- const SelectableTile = /*#__PURE__*/React.forwardRef(function SelectableTile({
208
+ // eslint-disable-next-line react/display-name -- https://github.com/carbon-design-system/carbon/issues/20071
209
+ const SelectableTile = /*#__PURE__*/React.forwardRef(({
209
210
  children,
210
211
  className,
211
212
  decorator,
@@ -221,7 +222,7 @@ const SelectableTile = /*#__PURE__*/React.forwardRef(function SelectableTile({
221
222
  slug,
222
223
  hasRoundedCorners,
223
224
  ...rest
224
- }, ref) {
225
+ }, ref) => {
225
226
  const prefix = usePrefix();
226
227
  const clickHandler = onClick;
227
228
  const keyDownHandler = onKeyDown;
@@ -282,9 +283,7 @@ const SelectableTile = /*#__PURE__*/React.forwardRef(function SelectableTile({
282
283
  onClick: !disabled ? handleClick : undefined,
283
284
  role: "checkbox",
284
285
  "aria-checked": isSelected,
285
- onKeyDown: !disabled ? handleKeyDown : undefined
286
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
287
- ,
286
+ onKeyDown: !disabled ? handleKeyDown : undefined,
288
287
  tabIndex: !disabled ? tabIndex : undefined,
289
288
  ref: ref,
290
289
  id: id,
@@ -364,16 +363,14 @@ SelectableTile.propTypes = {
364
363
  */
365
364
  value: deprecate(PropTypes.oneOfType([PropTypes.string, PropTypes.number]), 'The `value` property is no longer used. It will be removed in the next major release.`')
366
365
  };
367
- const ExpandableTile = /*#__PURE__*/React.forwardRef(function ExpandableTile({
366
+ const ExpandableTile = /*#__PURE__*/React.forwardRef(({
368
367
  tabIndex = 0,
369
368
  className,
370
369
  children,
371
370
  decorator,
372
371
  expanded = false,
373
372
  tileMaxHeight = 0,
374
- // eslint-disable-line
375
373
  tilePadding = 0,
376
- // eslint-disable-line
377
374
  onClick,
378
375
  onKeyUp,
379
376
  tileCollapsedIconText = 'Interact to expand Tile',
@@ -384,7 +381,7 @@ const ExpandableTile = /*#__PURE__*/React.forwardRef(function ExpandableTile({
384
381
  slug,
385
382
  hasRoundedCorners,
386
383
  ...rest
387
- }, forwardRef) {
384
+ }, forwardRef) => {
388
385
  const [isTileMaxHeight, setIsTileMaxHeight] = useState(tileMaxHeight);
389
386
  const [isTilePadding, setIsTilePadding] = useState(tilePadding);
390
387
  const [prevExpanded, setPrevExpanded] = useState(expanded);
@@ -609,9 +606,9 @@ ExpandableTile.propTypes = {
609
606
  tileExpandedLabel: PropTypes.string
610
607
  };
611
608
  ExpandableTile.displayName = 'ExpandableTile';
612
- const TileAboveTheFoldContent = /*#__PURE__*/React.forwardRef(function TilAboveTheFoldContent({
609
+ const TileAboveTheFoldContent = /*#__PURE__*/React.forwardRef(({
613
610
  children
614
- }, ref) {
611
+ }, ref) => {
615
612
  const prefix = usePrefix();
616
613
  return /*#__PURE__*/React.createElement("div", {
617
614
  ref: ref,
@@ -625,9 +622,9 @@ TileAboveTheFoldContent.propTypes = {
625
622
  children: PropTypes.node
626
623
  };
627
624
  TileAboveTheFoldContent.displayName = 'TileAboveTheFoldContent';
628
- const TileBelowTheFoldContent = /*#__PURE__*/React.forwardRef(function TileBelowTheFoldContent({
625
+ const TileBelowTheFoldContent = /*#__PURE__*/React.forwardRef(({
629
626
  children
630
- }, ref) {
627
+ }, ref) => {
631
628
  const prefix = usePrefix();
632
629
  return /*#__PURE__*/React.createElement("div", {
633
630
  ref: ref,
@@ -112,6 +112,7 @@ const TimePicker = frFn((props, ref) => {
112
112
  }
113
113
  };
114
114
  const mappedChildren = React.Children.map(children, pickerSelect => {
115
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
115
116
  const item = pickerSelect;
116
117
  if (item) {
117
118
  return /*#__PURE__*/React.cloneElement(item, {
@@ -67,7 +67,7 @@ function Toggle({
67
67
  const labelId = `${id}_label`;
68
68
  return (
69
69
  /*#__PURE__*/
70
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
70
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events
71
71
  React.createElement("div", {
72
72
  className: wrapperClasses,
73
73
  onClick: !labelText ? e => {
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React, { useContext, useRef, useState } from 'react';
11
+ import React, { useContext, useRef, useState, useEffect } from 'react';
12
12
  import { Popover, PopoverContent } from '../Popover/index.js';
13
13
  import { Escape } from '../../internal/keyboard/keys.js';
14
14
  import { match } from '../../internal/keyboard/match.js';
@@ -27,6 +27,7 @@ function ToggletipLabel({
27
27
  }) {
28
28
  const prefix = usePrefix();
29
29
  const className = cx(`${prefix}--toggletip-label`, customClassName);
30
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
30
31
  const BaseComponentAsAny = BaseComponent;
31
32
  return /*#__PURE__*/React.createElement(BaseComponentAsAny, _extends({
32
33
  className: className
@@ -127,13 +128,25 @@ function Toggletip({
127
128
  actions.close();
128
129
  }
129
130
  });
130
- useWindowEvent('click', ({
131
- target
132
- }) => {
133
- if (open && target instanceof Node && !ref.current?.contains(target)) {
134
- actions.close();
135
- }
136
- });
131
+ useEffect(() => {
132
+ if (!ref.current) return;
133
+ const targetDocument = ref.current.ownerDocument || document;
134
+ const eventType = 'PointerEvent' in window ? 'pointerdown' : 'mousedown';
135
+ const handleOutsideClick = event => {
136
+ const node = event.target;
137
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20071
138
+ if (open && node && !ref.current.contains(node)) {
139
+ setOpen(false);
140
+ }
141
+ };
142
+ const options = {
143
+ capture: true
144
+ };
145
+ targetDocument.addEventListener(eventType, handleOutsideClick, options);
146
+ return () => {
147
+ targetDocument.removeEventListener(eventType, handleOutsideClick, options);
148
+ };
149
+ }, [open]);
137
150
  return /*#__PURE__*/React.createElement(ToggletipContext.Provider, {
138
151
  value: value
139
152
  }, /*#__PURE__*/React.createElement(Popover, _extends({
@@ -154,6 +167,7 @@ function Toggletip({
154
167
  // Get all the properties from Popover except for "open".
155
168
  // The Typescript types for PropTypes are really messed up so we need lots of
156
169
  // casting. It will be great when we can finally get rid of PropTypes altogether.
170
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20071
157
171
  const {
158
172
  open,
159
173
  ...popoverNonOpenPropTypes
@@ -181,6 +195,7 @@ const ToggletipButton = /*#__PURE__*/React.forwardRef(function ToggletipButton({
181
195
  const toggletip = useToggletip();
182
196
  const prefix = usePrefix();
183
197
  const className = cx(`${prefix}--toggletip-button`, customClassName);
198
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
184
199
  const ComponentToggle = BaseComponent ?? 'button';
185
200
  if (ComponentToggle !== 'button') {
186
201
  return /*#__PURE__*/React.createElement(ComponentToggle, _extends({}, toggletip?.onClick, {
@@ -48,6 +48,7 @@ const DefinitionTooltip = ({
48
48
  setOpen(false);
49
49
  },
50
50
  onMouseEnter: () => {
51
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20071
51
52
  openOnHover ? setOpen(true) : null;
52
53
  },
53
54
  onFocus: () => {
@@ -22,6 +22,7 @@ import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
22
22
  * Event types that trigger a "drag" to stop.
23
23
  */
24
24
  const DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
25
+ // eslint-disable-next-line react/display-name -- https://github.com/carbon-design-system/carbon/issues/20071
25
26
  const Tooltip = /*#__PURE__*/React.forwardRef(({
26
27
  as,
27
28
  align = 'top',
@@ -68,6 +69,8 @@ const Tooltip = /*#__PURE__*/React.forwardRef(({
68
69
  'aria-labelledby': labelledBy,
69
70
  'aria-describedby': describedBy
70
71
  };
72
+
73
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
71
74
  function getChildEventHandlers(childProps) {
72
75
  const eventHandlerFunctions = Object.keys(triggerProps).filter(prop => prop.startsWith('on'));
73
76
  const eventHandlers = {};
@@ -154,29 +157,33 @@ const Tooltip = /*#__PURE__*/React.forwardRef(({
154
157
  });
155
158
  };
156
159
  }, [isDragging, onDragStop]);
157
- return /*#__PURE__*/React.createElement(Popover, _extends({
158
- as: as,
159
- ref: ref
160
- }, rest, {
161
- align: align,
162
- className: cx(`${prefix}--tooltip`, customClassName),
163
- dropShadow: dropShadow,
164
- highContrast: highContrast,
165
- onKeyDown: onKeyDown,
166
- onMouseLeave: onMouseLeave,
167
- open: open
168
- }), /*#__PURE__*/React.createElement("div", {
169
- className: `${prefix}--tooltip-trigger__wrapper`
170
- }, typeof child !== 'undefined' ? /*#__PURE__*/React.cloneElement(child, {
171
- ...triggerProps,
172
- ...getChildEventHandlers(child.props)
173
- }) : null), /*#__PURE__*/React.createElement(PopoverContent, {
174
- "aria-hidden": open ? 'false' : 'true',
175
- className: `${prefix}--tooltip-content`,
176
- id: id,
177
- onMouseEnter: onMouseEnter,
178
- role: "tooltip"
179
- }, label || description));
160
+ return (
161
+ /*#__PURE__*/
162
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
163
+ React.createElement(Popover, _extends({
164
+ as: as,
165
+ ref: ref
166
+ }, rest, {
167
+ align: align,
168
+ className: cx(`${prefix}--tooltip`, customClassName),
169
+ dropShadow: dropShadow,
170
+ highContrast: highContrast,
171
+ onKeyDown: onKeyDown,
172
+ onMouseLeave: onMouseLeave,
173
+ open: open
174
+ }), /*#__PURE__*/React.createElement("div", {
175
+ className: `${prefix}--tooltip-trigger__wrapper`
176
+ }, typeof child !== 'undefined' ? /*#__PURE__*/React.cloneElement(child, {
177
+ ...triggerProps,
178
+ ...getChildEventHandlers(child.props)
179
+ }) : null), /*#__PURE__*/React.createElement(PopoverContent, {
180
+ "aria-hidden": open ? 'false' : 'true',
181
+ className: `${prefix}--tooltip-content`,
182
+ id: id,
183
+ onMouseEnter: onMouseEnter,
184
+ role: "tooltip"
185
+ }, label || description))
186
+ );
180
187
  });
181
188
  Tooltip.propTypes = {
182
189
  /**
@@ -11,6 +11,9 @@ export type TreeNodeProps = {
11
11
  /**
12
12
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
13
13
  * The ID of the active node in the tree
14
+ *
15
+ * @deprecated The `active` prop for `TreeNode` has
16
+ * been deprecated after the introduction of context. It will be removed in the next major release.
14
17
  */
15
18
  active?: string | number;
16
19
  /**
@@ -29,6 +32,9 @@ export type TreeNodeProps = {
29
32
  /**
30
33
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
31
34
  * TreeNode depth to determine spacing
35
+ *
36
+ * @deprecated The `depth` prop for `TreeNode` has
37
+ * been deprecated after the introduction of context. It will be removed in the next major release.
32
38
  */
33
39
  depth?: number;
34
40
  /**
@@ -49,6 +55,9 @@ export type TreeNodeProps = {
49
55
  label: React.ReactNode;
50
56
  /**
51
57
  * Callback function for when the node receives or loses focus
58
+ *
59
+ * @deprecated The `onNodeFocusEvent` prop for `TreeNode` has
60
+ * been deprecated after the introduction of context. It will be removed in the next major release.
52
61
  */
53
62
  onNodeFocusEvent?: (event: React.FocusEvent<HTMLElement>) => void;
54
63
  /**
@@ -61,6 +70,9 @@ export type TreeNodeProps = {
61
70
  onToggle?: UncontrolledOnToggle | ControlledOnToggle;
62
71
  /**
63
72
  * Callback function for when any node in the tree is selected
73
+ *
74
+ * @deprecated The `onTreeSelect` prop for `TreeNode` has
75
+ * been deprecated after the introduction of context. It will be removed in the next major release.
64
76
  */
65
77
  onTreeSelect?: (event: React.MouseEvent | React.KeyboardEvent, node: Pick<TreeNodeProps, 'id' | 'label' | 'value'>) => void;
66
78
  /**
@@ -70,6 +82,8 @@ export type TreeNodeProps = {
70
82
  /**
71
83
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
72
84
  * Array containing all selected node IDs in the tree
85
+ * @deprecated The `selected` prop for `TreeNode` has
86
+ * been deprecated after the introduction of context. It will be removed in the next major release.
73
87
  */
74
88
  selected?: Array<string | number>;
75
89
  /**
@@ -97,6 +111,9 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
97
111
  /**
98
112
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
99
113
  * The ID of the active node in the tree
114
+ *
115
+ * @deprecated The `active` prop for `TreeNode` has
116
+ * been deprecated after the introduction of context. It will be removed in the next major release.
100
117
  */
101
118
  active?: string | number;
102
119
  /**
@@ -115,6 +132,9 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
115
132
  /**
116
133
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
117
134
  * TreeNode depth to determine spacing
135
+ *
136
+ * @deprecated The `depth` prop for `TreeNode` has
137
+ * been deprecated after the introduction of context. It will be removed in the next major release.
118
138
  */
119
139
  depth?: number;
120
140
  /**
@@ -135,6 +155,9 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
135
155
  label: React.ReactNode;
136
156
  /**
137
157
  * Callback function for when the node receives or loses focus
158
+ *
159
+ * @deprecated The `onNodeFocusEvent` prop for `TreeNode` has
160
+ * been deprecated after the introduction of context. It will be removed in the next major release.
138
161
  */
139
162
  onNodeFocusEvent?: (event: React.FocusEvent<HTMLElement>) => void;
140
163
  /**
@@ -147,6 +170,9 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
147
170
  onToggle?: UncontrolledOnToggle | ControlledOnToggle;
148
171
  /**
149
172
  * Callback function for when any node in the tree is selected
173
+ *
174
+ * @deprecated The `onTreeSelect` prop for `TreeNode` has
175
+ * been deprecated after the introduction of context. It will be removed in the next major release.
150
176
  */
151
177
  onTreeSelect?: (event: React.MouseEvent | React.KeyboardEvent, node: Pick<TreeNodeProps, "id" | "label" | "value">) => void;
152
178
  /**
@@ -156,6 +182,8 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
156
182
  /**
157
183
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
158
184
  * Array containing all selected node IDs in the tree
185
+ * @deprecated The `selected` prop for `TreeNode` has
186
+ * been deprecated after the introduction of context. It will be removed in the next major release.
159
187
  */
160
188
  selected?: Array<string | number>;
161
189
  /**
@@ -12,6 +12,7 @@ import PropTypes from 'prop-types';
12
12
  import React, { useContext, useRef, useState, useEffect, useCallback } from 'react';
13
13
  import { ArrowLeft, ArrowRight, Enter, Space } from '../../internal/keyboard/keys.js';
14
14
  import { matches, match } from '../../internal/keyboard/match.js';
15
+ import { deprecate } from '../../prop-types/deprecate.js';
15
16
  import { useControllableState } from '../../internal/useControllableState.js';
16
17
  import { usePrefix } from '../../internal/usePrefix.js';
17
18
  import { useId } from '../../internal/useId.js';
@@ -56,8 +57,7 @@ const useEllipsisCheck = (label, detailsWrapperRef) => {
56
57
  }
57
58
  }, [detailsWrapperRef]);
58
59
  useEffect(() => {
59
- let animationFrameId;
60
- animationFrameId = requestAnimationFrame(checkEllipsis);
60
+ const animationFrameId = requestAnimationFrame(checkEllipsis);
61
61
  let resizeObserver;
62
62
  if (typeof window !== 'undefined' && typeof window.ResizeObserver !== 'undefined' && labelTextRef.current) {
63
63
  resizeObserver = new window.ResizeObserver(() => {
@@ -72,9 +72,11 @@ const useEllipsisCheck = (label, detailsWrapperRef) => {
72
72
  cancelAnimationFrame(animationFrameId);
73
73
  if (resizeObserver) {
74
74
  if (labelTextRef.current) {
75
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- https://github.com/carbon-design-system/carbon/issues/20071
75
76
  resizeObserver.unobserve(labelTextRef.current);
76
77
  }
77
78
  if (detailsWrapperRef.current) {
79
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- https://github.com/carbon-design-system/carbon/issues/20071
78
80
  resizeObserver.unobserve(detailsWrapperRef.current);
79
81
  }
80
82
  resizeObserver.disconnect();
@@ -125,6 +127,8 @@ const TreeNode = /*#__PURE__*/React.forwardRef(({
125
127
  tooltipText
126
128
  } = useEllipsisCheck(label, detailsWrapperRef);
127
129
  const enableTreeviewControllable = useFeatureFlag('enable-treeview-controllable');
130
+
131
+ // eslint-disable-next-line react-hooks/rules-of-hooks -- https://github.com/carbon-design-system/carbon/issues/20071
128
132
  const {
129
133
  current: id
130
134
  } = useRef(nodeId || useId());
@@ -367,7 +371,10 @@ const TreeNode = /*#__PURE__*/React.forwardRef(({
367
371
  const nodeContent = /*#__PURE__*/React.createElement("div", {
368
372
  className: `${prefix}--tree-node__label`,
369
373
  ref: currentNodeLabel
370
- }, children && /*#__PURE__*/React.createElement("span", {
374
+ }, children &&
375
+ /*#__PURE__*/
376
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions , jsx-a11y/click-events-have-key-events -- https://github.com/carbon-design-system/carbon/issues/20071
377
+ React.createElement("span", {
371
378
  className: `${prefix}--tree-parent-node__toggle`,
372
379
  onClick: handleToggleClick
373
380
  }, /*#__PURE__*/React.createElement(CaretDown, {
@@ -395,7 +402,7 @@ const TreeNode = /*#__PURE__*/React.forwardRef(({
395
402
  value: depth + 1
396
403
  }, children)));
397
404
  }
398
- return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
405
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
399
406
  "aria-expanded": children ? !!expanded : undefined,
400
407
  ref: setRefs
401
408
  }), nodeContent, children && /*#__PURE__*/React.createElement("ul", {
@@ -406,14 +413,14 @@ const TreeNode = /*#__PURE__*/React.forwardRef(({
406
413
  })
407
414
  }, /*#__PURE__*/React.createElement(DepthContext.Provider, {
408
415
  value: depth + 1
409
- }, children)));
416
+ }, children))));
410
417
  });
411
418
  TreeNode.propTypes = {
412
419
  /**
413
420
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
414
421
  * The ID of the active node in the tree
415
422
  */
416
- active: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
423
+ active: deprecate(PropTypes.oneOfType([PropTypes.string, PropTypes.number]), 'The `active` prop for `TreeNode` is no longer needed and has ' + 'been deprecated. It will be removed in the next major release.'),
417
424
  /**
418
425
  * Specify the children of the TreeNode
419
426
  */
@@ -431,7 +438,7 @@ TreeNode.propTypes = {
431
438
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
432
439
  * TreeNode depth to determine spacing
433
440
  */
434
- depth: PropTypes.number,
441
+ depth: deprecate(PropTypes.number, 'The `depth` prop for `TreeNode` is no longer needed and has ' + 'been deprecated. It will be removed in the next major release.'),
435
442
  /**
436
443
  * Specify if the TreeNode is disabled
437
444
  */
@@ -451,7 +458,7 @@ TreeNode.propTypes = {
451
458
  /**
452
459
  * Callback function for when the node receives or loses focus
453
460
  */
454
- onNodeFocusEvent: PropTypes.func,
461
+ onNodeFocusEvent: deprecate(PropTypes.func, 'The `onNodeFocusEvent` prop for `TreeNode` is no longer needed and has ' + 'been deprecated. It will be removed in the next major release.'),
455
462
  /**
456
463
  * Callback function for when the node is selected
457
464
  */
@@ -463,18 +470,20 @@ TreeNode.propTypes = {
463
470
  /**
464
471
  * Callback function for when any node in the tree is selected
465
472
  */
466
- onTreeSelect: PropTypes.func,
473
+ onTreeSelect: deprecate(PropTypes.func, 'The `onTreeSelect` prop for `TreeNode` is no longer needed and has ' + 'been deprecated. It will be removed in the next major release.'),
467
474
  /**
468
475
  * A component used to render an icon.
469
476
  */
477
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20071
470
478
  // @ts-ignore
471
479
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
472
480
  /**
473
481
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
474
482
  * Array containing all selected node IDs in the tree
475
483
  */
484
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20071
476
485
  // @ts-ignore
477
- selected: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
486
+ selected: deprecate(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), 'The `selected` prop for `TreeNode` is no longer needed and has ' + 'been deprecated. It will be removed in the next major release.'),
478
487
  /**
479
488
  * Specify the value of the TreeNode
480
489
  */
@@ -32,11 +32,14 @@ const TreeView = ({
32
32
  ...rest
33
33
  }) => {
34
34
  const enableTreeviewControllable = useFeatureFlag('enable-treeview-controllable');
35
+
36
+ // eslint-disable-next-line react-hooks/rules-of-hooks -- https://github.com/carbon-design-system/carbon/issues/20071
35
37
  const {
36
38
  current: treeId
37
39
  } = useRef(rest.id || useId());
38
40
  const prefix = usePrefix();
39
41
  const treeClasses = cx(className, `${prefix}--tree`, {
42
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20071
40
43
  // @ts-ignore - will always be false according to prop types
41
44
 
42
45
  [`${prefix}--tree--${size}`]: size !== 'default'
@@ -62,6 +65,8 @@ const TreeView = ({
62
65
  item.tabIndex = -1;
63
66
  });
64
67
  }
68
+
69
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- https://github.com/carbon-design-system/carbon/issues/20071
65
70
  function handleTreeSelect(event, node) {
66
71
  const nodeId = node.id;
67
72
  if (nodeId) {
@@ -110,6 +115,7 @@ const TreeView = ({
110
115
  if (match(event, ArrowDown)) {
111
116
  nextFocusNode = treeWalker.current.nextNode();
112
117
  }
118
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20071
113
119
  // @ts-ignore - `matches` doesn't like the object syntax without missing properties
114
120
  if (matches(event, [Home, End, {
115
121
  code: 'KeyA'
@@ -126,6 +132,7 @@ const TreeView = ({
126
132
  }
127
133
  }
128
134
  }
135
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20071
129
136
  // @ts-ignore - `matches` doesn't like the object syntax without missing properties
130
137
  if (match(event, {
131
138
  code: 'KeyA'
@@ -27,7 +27,9 @@ function HeaderContainer({
27
27
  const handleHeaderMenuButtonClick = useCallback(() => {
28
28
  setIsSideNavExpandedState(prevIsSideNavExpanded => !prevIsSideNavExpanded);
29
29
  }, [setIsSideNavExpandedState]);
30
- return /*#__PURE__*/React.createElement(Children, _extends({}, rest, {
30
+ return /*#__PURE__*/React.createElement(Children
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
32
+ , _extends({}, rest, {
31
33
  isSideNavExpanded: isSideNavExpandedState,
32
34
  onClickSideNavExpand: handleHeaderMenuButtonClick
33
35
  }));
@@ -22,7 +22,7 @@ import { usePrefix } from '../../internal/usePrefix.js';
22
22
  *
23
23
  * Note: children passed to this component should be an Icon.
24
24
  */
25
- const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAction({
25
+ const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(({
26
26
  'aria-label': ariaLabel,
27
27
  'aria-labelledby': ariaLabelledBy,
28
28
  children,
@@ -33,7 +33,7 @@ const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAc
33
33
  isActive,
34
34
  tooltipAlignment,
35
35
  ...rest
36
- }, ref) {
36
+ }, ref) => {
37
37
  const prefix = usePrefix();
38
38
  const className = cx({
39
39
  [customClassName]: !!customClassName,
@@ -120,6 +120,7 @@ const HeaderMenu = frFn((props, ref) => {
120
120
  */
121
121
  const renderMenuItem = (item, index) => {
122
122
  if (/*#__PURE__*/isValidElement(item)) {
123
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
123
124
  return /*#__PURE__*/cloneElement(item, {
124
125
  ref: handleItemRef(index)
125
126
  });
@@ -157,9 +158,8 @@ const HeaderMenu = frFn((props, ref) => {
157
158
  onBlur: composeEventHandlers([onBlur, handleOnBlur]),
158
159
  ref: ref
159
160
  }), /*#__PURE__*/React.createElement("a", _extends({
160
- // eslint-disable-line jsx-a11y/role-supports-aria-props,jsx-a11y/anchor-is-valid
161
- "aria-haspopup": "menu" // eslint-disable-line jsx-a11y/aria-proptypes
162
- ,
161
+ // eslint-disable-line jsx-a11y/anchor-is-valid
162
+ "aria-haspopup": "menu",
163
163
  "aria-expanded": expanded,
164
164
  className: linkClassName,
165
165
  href: "#",
@@ -17,7 +17,7 @@ import { useMergedRefs } from '../../internal/useMergedRefs.js';
17
17
  import Switcher from './Switcher.js';
18
18
  import { noopFn } from '../../internal/noopFn.js';
19
19
 
20
- const HeaderPanel = /*#__PURE__*/React.forwardRef(function HeaderPanel({
20
+ const HeaderPanel = /*#__PURE__*/React.forwardRef(({
21
21
  children,
22
22
  className: customClassName,
23
23
  expanded,
@@ -25,7 +25,7 @@ const HeaderPanel = /*#__PURE__*/React.forwardRef(function HeaderPanel({
25
25
  onHeaderPanelFocus = noopFn,
26
26
  href,
27
27
  ...rest
28
- }, ref) {
28
+ }, ref) => {
29
29
  const prefix = usePrefix();
30
30
  const headerPanelReference = useRef(null);
31
31
  const headerPanelRef = useMergedRefs([headerPanelReference, ref]);
@@ -17,9 +17,11 @@ const LinkBase = ({
17
17
  as: BaseComponent,
18
18
  // Captured here to prevent it from being passed into the created element.
19
19
  // See https://github.com/carbon-design-system/carbon/issues/3970
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20071
20
21
  isSideNavExpanded: _isSideNavExpanded,
21
22
  ...rest
22
23
  }, ref) => {
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
23
25
  const BaseComponentAsAny = BaseComponent ?? element ?? 'a';
24
26
  return /*#__PURE__*/React.createElement(BaseComponentAsAny, _extends({
25
27
  ref: ref
@@ -21,6 +21,7 @@ const SideNavItems = ({
21
21
  const childrenWithExpandedState = React.Children.map(children, child => {
22
22
  if (/*#__PURE__*/React.isValidElement(child)) {
23
23
  // avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20071
24
25
  const childDisplayName = child.type?.displayName;
25
26
  return /*#__PURE__*/React.cloneElement(child, {
26
27
  ...(CARBON_SIDENAV_ITEMS.includes(childDisplayName) ? {