@carbon/react 1.99.0 → 1.100.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 (277) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +978 -978
  2. package/es/components/BadgeIndicator/index.d.ts +1 -1
  3. package/es/components/BadgeIndicator/index.js +8 -6
  4. package/es/components/Breadcrumb/BreadcrumbItem.d.ts +1 -1
  5. package/es/components/Breadcrumb/BreadcrumbItem.js +6 -7
  6. package/es/components/Button/Button.Skeleton.d.ts +28 -2
  7. package/es/components/Button/Button.js +3 -2
  8. package/es/components/ChatButton/ChatButton.d.ts +3 -2
  9. package/es/components/CheckboxGroup/CheckboxGroup.d.ts +60 -2
  10. package/es/components/ComboBox/ComboBox.d.ts +6 -7
  11. package/es/components/ComboBox/ComboBox.js +22 -10
  12. package/es/components/ComposedModal/ComposedModal.d.ts +2 -2
  13. package/es/components/ContainedList/ContainedList.d.ts +35 -6
  14. package/es/components/ContainedList/ContainedList.js +3 -1
  15. package/es/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +32 -3
  16. package/es/components/ContainedList/index.d.ts +1 -1
  17. package/es/components/ContainedList/index.js +4 -1
  18. package/es/components/DangerButton/DangerButton.d.ts +1 -1
  19. package/es/components/DataTable/DataTable.d.ts +22 -5
  20. package/es/components/DataTable/DataTable.js +1 -1
  21. package/es/components/DataTable/TableExpandRow.d.ts +1 -1
  22. package/es/components/DataTable/TableExpandRow.js +2 -2
  23. package/es/components/DataTable/TableHeader.d.ts +1 -1
  24. package/es/components/DataTable/TableHeader.js +18 -16
  25. package/es/components/DataTable/TableToolbar.d.ts +25 -1
  26. package/es/components/DataTable/TableToolbarMenu.d.ts +25 -5
  27. package/es/components/DataTable/TableToolbarMenu.js +0 -3
  28. package/es/components/DataTableSkeleton/DataTableSkeleton.d.ts +51 -2
  29. package/es/components/DataTableSkeleton/DataTableSkeleton.js +6 -0
  30. package/es/components/DatePicker/DatePicker.d.ts +2 -2
  31. package/es/components/DatePicker/DatePicker.js +38 -53
  32. package/es/components/DatePicker/plugins/fixEventsPlugin.js +28 -2
  33. package/es/components/DatePickerInput/DatePickerInput.d.ts +1 -1
  34. package/es/components/DatePickerInput/DatePickerInput.js +3 -2
  35. package/es/components/Dialog/Dialog.d.ts +1 -1
  36. package/es/components/Dropdown/Dropdown.Skeleton.d.ts +19 -2
  37. package/es/components/Dropdown/Dropdown.d.ts +3 -4
  38. package/es/components/Dropdown/Dropdown.js +16 -13
  39. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +1 -1
  40. package/es/components/ExpandableSearch/ExpandableSearch.js +14 -12
  41. package/es/components/FileUploader/FileUploader.d.ts +1 -1
  42. package/es/components/FileUploader/FileUploader.js +2 -2
  43. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  44. package/es/components/FileUploader/FileUploaderDropContainer.js +28 -10
  45. package/es/components/FluidComboBox/FluidComboBox.Skeleton.d.ts +11 -3
  46. package/es/components/FluidComboBox/FluidComboBox.d.ts +2 -7
  47. package/es/components/FluidComboBox/FluidComboBox.js +1 -2
  48. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.d.ts +15 -3
  49. package/es/components/FluidDatePicker/FluidDatePicker.d.ts +2 -2
  50. package/es/components/FluidDropdown/FluidDropdown.Skeleton.d.ts +11 -3
  51. package/es/components/FluidDropdown/FluidDropdown.d.ts +1 -6
  52. package/es/components/FluidDropdown/FluidDropdown.js +1 -2
  53. package/es/components/FluidForm/FluidForm.d.ts +15 -2
  54. package/es/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +2 -2
  55. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.d.ts +11 -3
  56. package/es/components/FluidMultiSelect/FluidMultiSelect.d.ts +1 -6
  57. package/es/components/FluidMultiSelect/FluidMultiSelect.js +1 -2
  58. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.d.ts +11 -3
  59. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +1 -1
  60. package/es/components/FluidSearch/FluidSearch.Skeleton.d.ts +11 -3
  61. package/es/components/FluidSearch/FluidSearch.d.ts +1 -1
  62. package/es/components/FluidSearch/FluidSearch.js +3 -3
  63. package/es/components/FluidSelect/FluidSelect.Skeleton.d.ts +11 -3
  64. package/es/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +11 -3
  65. package/es/components/FluidTextArea/FluidTextArea.d.ts +95 -1
  66. package/es/components/FluidTextInput/FluidPasswordInput.d.ts +83 -2
  67. package/es/components/FluidTextInput/FluidTextInput.Skeleton.d.ts +11 -3
  68. package/es/components/Grid/GridContext.d.ts +19 -1
  69. package/es/components/IconButton/index.d.ts +1 -1
  70. package/es/components/IconButton/index.js +2 -2
  71. package/es/components/InlineLoading/InlineLoading.js +5 -11
  72. package/es/components/Link/Link.js +3 -0
  73. package/es/components/ListBox/ListBoxField.d.ts +35 -2
  74. package/es/components/ListBox/ListBoxMenuIcon.d.ts +16 -3
  75. package/es/components/ListBox/ListBoxMenuItem.d.ts +1 -1
  76. package/es/components/ListBox/ListBoxSelection.d.ts +34 -3
  77. package/es/components/Menu/MenuItem.d.ts +2 -2
  78. package/es/components/MultiSelect/FilterableMultiSelect.d.ts +2 -2
  79. package/es/components/MultiSelect/FilterableMultiSelect.js +22 -13
  80. package/es/components/MultiSelect/MultiSelect.d.ts +3 -4
  81. package/es/components/MultiSelect/MultiSelect.js +24 -22
  82. package/es/components/Notification/Notification.d.ts +8 -7
  83. package/es/components/Notification/Notification.js +4 -4
  84. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  85. package/es/components/OverflowMenu/OverflowMenu.js +0 -1
  86. package/es/components/OverflowMenu/index.d.ts +1 -1
  87. package/es/components/PageHeader/PageHeader.d.ts +3 -3
  88. package/es/components/Popover/index.js +21 -12
  89. package/es/components/Search/Search.d.ts +2 -2
  90. package/es/components/Select/Select.d.ts +1 -1
  91. package/es/components/Select/Select.js +2 -2
  92. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +16 -2
  93. package/es/components/SkeletonText/SkeletonText.d.ts +1 -1
  94. package/es/components/Tag/Tag.d.ts +1 -1
  95. package/es/components/Tag/Tag.js +2 -0
  96. package/es/components/Text/Text.d.ts +1 -1
  97. package/es/components/Text/Text.js +4 -3
  98. package/es/components/Text/TextDirection.d.ts +1 -1
  99. package/es/components/Text/TextDirection.js +1 -3
  100. package/es/components/Text/TextDirectionContext.d.ts +3 -3
  101. package/es/components/TextArea/TextArea.js +1 -3
  102. package/es/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  103. package/es/components/TextInput/ControlledPasswordInput.js +2 -2
  104. package/es/components/TextInput/PasswordInput.d.ts +1 -1
  105. package/es/components/TextInput/PasswordInput.js +2 -2
  106. package/es/components/TextInput/TextInput.d.ts +1 -1
  107. package/es/components/TextInput/TextInput.js +2 -2
  108. package/es/components/Tile/Tile.d.ts +1 -1
  109. package/es/components/Tile/Tile.js +37 -69
  110. package/es/components/Toggle/Toggle.Skeleton.d.ts +9 -3
  111. package/es/components/Toggletip/index.d.ts +1 -1
  112. package/es/components/Toggletip/index.js +9 -7
  113. package/es/components/Tooltip/DefinitionTooltip.d.ts +52 -1
  114. package/es/components/Tooltip/Tooltip.js +2 -0
  115. package/es/components/TreeView/TreeNode.d.ts +4 -4
  116. package/es/components/UIShell/Header.d.ts +20 -3
  117. package/es/components/UIShell/HeaderGlobalAction.d.ts +2 -2
  118. package/es/components/UIShell/HeaderName.js +1 -1
  119. package/es/components/UIShell/Link.d.ts +1 -1
  120. package/es/components/UIShell/Link.js +14 -14
  121. package/es/components/UIShell/SideNav.d.ts +3 -4
  122. package/es/components/UIShell/SideNav.js +37 -27
  123. package/es/components/UIShell/SideNavDivider.d.ts +11 -3
  124. package/es/components/UIShell/SideNavHeader.d.ts +24 -1
  125. package/es/components/UIShell/SideNavIcon.d.ts +20 -2
  126. package/es/components/UIShell/SideNavItem.d.ts +20 -2
  127. package/es/components/UIShell/SideNavItems.d.ts +22 -2
  128. package/es/components/UIShell/SideNavLink.d.ts +1 -1
  129. package/es/components/UIShell/SideNavLink.js +14 -14
  130. package/es/components/UIShell/SideNavMenu.d.ts +1 -1
  131. package/es/components/UIShell/SideNavMenu.js +2 -2
  132. package/es/components/UIShell/SideNavMenuItem.d.ts +2 -2
  133. package/es/components/UIShell/SideNavMenuItem.js +2 -2
  134. package/es/components/UIShell/SwitcherDivider.d.ts +10 -2
  135. package/es/internal/FloatingMenu.d.ts +1 -1
  136. package/es/internal/FloatingMenu.js +0 -2
  137. package/es/internal/PolymorphicProps.d.ts +3 -3
  138. package/es/internal/useNoInteractiveChildren.d.ts +1 -1
  139. package/es/internal/useNoInteractiveChildren.js +8 -10
  140. package/es/internal/useOutsideClick.d.ts +1 -1
  141. package/es/internal/useOutsideClick.js +0 -4
  142. package/lib/components/BadgeIndicator/index.d.ts +1 -1
  143. package/lib/components/BadgeIndicator/index.js +7 -5
  144. package/lib/components/Breadcrumb/BreadcrumbItem.d.ts +1 -1
  145. package/lib/components/Breadcrumb/BreadcrumbItem.js +5 -6
  146. package/lib/components/Button/Button.Skeleton.d.ts +28 -2
  147. package/lib/components/Button/Button.js +3 -2
  148. package/lib/components/ChatButton/ChatButton.d.ts +3 -2
  149. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +60 -2
  150. package/lib/components/ComboBox/ComboBox.d.ts +6 -7
  151. package/lib/components/ComboBox/ComboBox.js +22 -10
  152. package/lib/components/ComposedModal/ComposedModal.d.ts +2 -2
  153. package/lib/components/ContainedList/ContainedList.d.ts +35 -6
  154. package/lib/components/ContainedList/ContainedList.js +3 -1
  155. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +32 -3
  156. package/lib/components/ContainedList/index.d.ts +1 -1
  157. package/lib/components/ContainedList/index.js +4 -1
  158. package/lib/components/DangerButton/DangerButton.d.ts +1 -1
  159. package/lib/components/DataTable/DataTable.d.ts +22 -5
  160. package/lib/components/DataTable/DataTable.js +1 -1
  161. package/lib/components/DataTable/TableExpandRow.d.ts +1 -1
  162. package/lib/components/DataTable/TableHeader.d.ts +1 -1
  163. package/lib/components/DataTable/TableHeader.js +17 -15
  164. package/lib/components/DataTable/TableToolbar.d.ts +25 -1
  165. package/lib/components/DataTable/TableToolbarMenu.d.ts +25 -5
  166. package/lib/components/DataTable/TableToolbarMenu.js +0 -3
  167. package/lib/components/DataTableSkeleton/DataTableSkeleton.d.ts +51 -2
  168. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +6 -0
  169. package/lib/components/DatePicker/DatePicker.d.ts +2 -2
  170. package/lib/components/DatePicker/DatePicker.js +37 -52
  171. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +28 -2
  172. package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
  173. package/lib/components/DatePickerInput/DatePickerInput.js +2 -1
  174. package/lib/components/Dialog/Dialog.d.ts +1 -1
  175. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +19 -2
  176. package/lib/components/Dropdown/Dropdown.d.ts +3 -4
  177. package/lib/components/Dropdown/Dropdown.js +16 -13
  178. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +1 -1
  179. package/lib/components/ExpandableSearch/ExpandableSearch.js +13 -11
  180. package/lib/components/FileUploader/FileUploader.d.ts +1 -1
  181. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  182. package/lib/components/FileUploader/FileUploaderDropContainer.js +28 -10
  183. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.d.ts +11 -3
  184. package/lib/components/FluidComboBox/FluidComboBox.d.ts +2 -7
  185. package/lib/components/FluidComboBox/FluidComboBox.js +1 -2
  186. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.d.ts +15 -3
  187. package/lib/components/FluidDatePicker/FluidDatePicker.d.ts +2 -2
  188. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.d.ts +11 -3
  189. package/lib/components/FluidDropdown/FluidDropdown.d.ts +1 -6
  190. package/lib/components/FluidDropdown/FluidDropdown.js +1 -2
  191. package/lib/components/FluidForm/FluidForm.d.ts +15 -2
  192. package/lib/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +2 -2
  193. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.d.ts +11 -3
  194. package/lib/components/FluidMultiSelect/FluidMultiSelect.d.ts +1 -6
  195. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +1 -2
  196. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.d.ts +11 -3
  197. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +1 -1
  198. package/lib/components/FluidSearch/FluidSearch.Skeleton.d.ts +11 -3
  199. package/lib/components/FluidSearch/FluidSearch.d.ts +1 -1
  200. package/lib/components/FluidSearch/FluidSearch.js +2 -2
  201. package/lib/components/FluidSelect/FluidSelect.Skeleton.d.ts +11 -3
  202. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +11 -3
  203. package/lib/components/FluidTextArea/FluidTextArea.d.ts +95 -1
  204. package/lib/components/FluidTextInput/FluidPasswordInput.d.ts +83 -2
  205. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.d.ts +11 -3
  206. package/lib/components/Grid/GridContext.d.ts +19 -1
  207. package/lib/components/IconButton/index.d.ts +1 -1
  208. package/lib/components/InlineLoading/InlineLoading.js +5 -11
  209. package/lib/components/Link/Link.js +3 -0
  210. package/lib/components/ListBox/ListBoxField.d.ts +35 -2
  211. package/lib/components/ListBox/ListBoxMenuIcon.d.ts +16 -3
  212. package/lib/components/ListBox/ListBoxMenuItem.d.ts +1 -1
  213. package/lib/components/ListBox/ListBoxSelection.d.ts +34 -3
  214. package/lib/components/Menu/MenuItem.d.ts +2 -2
  215. package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +2 -2
  216. package/lib/components/MultiSelect/FilterableMultiSelect.js +22 -13
  217. package/lib/components/MultiSelect/MultiSelect.d.ts +3 -4
  218. package/lib/components/MultiSelect/MultiSelect.js +24 -22
  219. package/lib/components/Notification/Notification.d.ts +8 -7
  220. package/lib/components/Notification/Notification.js +4 -4
  221. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  222. package/lib/components/OverflowMenu/OverflowMenu.js +0 -1
  223. package/lib/components/OverflowMenu/index.d.ts +1 -1
  224. package/lib/components/PageHeader/PageHeader.d.ts +3 -3
  225. package/lib/components/Popover/index.js +19 -10
  226. package/lib/components/Search/Search.d.ts +2 -2
  227. package/lib/components/Select/Select.d.ts +1 -1
  228. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +16 -2
  229. package/lib/components/SkeletonText/SkeletonText.d.ts +1 -1
  230. package/lib/components/Tag/Tag.d.ts +1 -1
  231. package/lib/components/Tag/Tag.js +2 -0
  232. package/lib/components/Text/Text.d.ts +1 -1
  233. package/lib/components/Text/Text.js +3 -2
  234. package/lib/components/Text/TextDirection.d.ts +1 -1
  235. package/lib/components/Text/TextDirection.js +1 -3
  236. package/lib/components/Text/TextDirectionContext.d.ts +3 -3
  237. package/lib/components/TextArea/TextArea.js +1 -3
  238. package/lib/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  239. package/lib/components/TextInput/PasswordInput.d.ts +1 -1
  240. package/lib/components/TextInput/TextInput.d.ts +1 -1
  241. package/lib/components/Tile/Tile.d.ts +1 -1
  242. package/lib/components/Tile/Tile.js +35 -67
  243. package/lib/components/Toggle/Toggle.Skeleton.d.ts +9 -3
  244. package/lib/components/Toggletip/index.d.ts +1 -1
  245. package/lib/components/Toggletip/index.js +7 -5
  246. package/lib/components/Tooltip/DefinitionTooltip.d.ts +52 -1
  247. package/lib/components/Tooltip/Tooltip.js +2 -0
  248. package/lib/components/TreeView/TreeNode.d.ts +4 -4
  249. package/lib/components/UIShell/Header.d.ts +20 -3
  250. package/lib/components/UIShell/HeaderGlobalAction.d.ts +2 -2
  251. package/lib/components/UIShell/HeaderName.js +1 -1
  252. package/lib/components/UIShell/Link.d.ts +1 -1
  253. package/lib/components/UIShell/Link.js +13 -13
  254. package/lib/components/UIShell/SideNav.d.ts +3 -4
  255. package/lib/components/UIShell/SideNav.js +36 -26
  256. package/lib/components/UIShell/SideNavDivider.d.ts +11 -3
  257. package/lib/components/UIShell/SideNavHeader.d.ts +24 -1
  258. package/lib/components/UIShell/SideNavIcon.d.ts +20 -2
  259. package/lib/components/UIShell/SideNavItem.d.ts +20 -2
  260. package/lib/components/UIShell/SideNavItems.d.ts +22 -2
  261. package/lib/components/UIShell/SideNavLink.d.ts +1 -1
  262. package/lib/components/UIShell/SideNavLink.js +14 -14
  263. package/lib/components/UIShell/SideNavMenu.d.ts +1 -1
  264. package/lib/components/UIShell/SideNavMenuItem.d.ts +2 -2
  265. package/lib/components/UIShell/SwitcherDivider.d.ts +10 -2
  266. package/lib/internal/FloatingMenu.d.ts +1 -1
  267. package/lib/internal/FloatingMenu.js +0 -2
  268. package/lib/internal/PolymorphicProps.d.ts +3 -3
  269. package/lib/internal/useNoInteractiveChildren.d.ts +1 -1
  270. package/lib/internal/useNoInteractiveChildren.js +8 -10
  271. package/lib/internal/useOutsideClick.d.ts +1 -1
  272. package/lib/internal/useOutsideClick.js +0 -4
  273. package/package.json +7 -7
  274. package/scss/_carbon-utilities.scss +9 -0
  275. package/telemetry.yml +0 -1
  276. package/es/internal/createClassWrapper.d.ts +0 -12
  277. package/lib/internal/createClassWrapper.d.ts +0 -12
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React from 'react';
7
+ import PropTypes from 'prop-types';
8
8
  import { KeyboardEvent, MouseEvent } from 'react';
9
9
  import type { TranslateWithId } from '../../types/common';
10
10
  export interface ListBoxSelectionProps extends TranslateWithId<TranslationKey> {
@@ -32,7 +32,7 @@ export interface ListBoxSelectionProps extends TranslateWithId<TranslationKey> {
32
32
  */
33
33
  selectionCount?: number;
34
34
  }
35
- export type ListBoxSelectionComponent = React.FC<ListBoxSelectionProps>;
35
+ export type ListBoxSelectionComponent = typeof ListBoxSelection;
36
36
  declare const translationIds: {
37
37
  readonly 'clear.all': "clear.all";
38
38
  readonly 'clear.selection': "clear.selection";
@@ -43,5 +43,36 @@ type TranslationKey = keyof typeof translationIds;
43
43
  * addition to conditionally rendering a badge if the control has more than one
44
44
  * selection.
45
45
  */
46
- declare const ListBoxSelection: ListBoxSelectionComponent;
46
+ declare const ListBoxSelection: {
47
+ ({ clearSelection, selectionCount, translateWithId: t, disabled, onClearSelection, readOnly, }: ListBoxSelectionProps): import("react/jsx-runtime").JSX.Element;
48
+ propTypes: {
49
+ /**
50
+ * Specify a function to be invoked when a user interacts with the clear
51
+ * selection element.
52
+ */
53
+ clearSelection: PropTypes.Validator<(...args: any[]) => any>;
54
+ /**
55
+ * Specify whether or not the clear selection element should be disabled
56
+ */
57
+ disabled: PropTypes.Requireable<boolean>;
58
+ /**
59
+ * Specify an optional `onClearSelection` handler that is called when the underlying
60
+ * element is cleared
61
+ */
62
+ onClearSelection: PropTypes.Requireable<(...args: any[]) => any>;
63
+ /**
64
+ * Whether or not the Dropdown is readonly
65
+ */
66
+ readOnly: PropTypes.Requireable<boolean>;
67
+ /**
68
+ * Specify an optional `selectionCount` value that will be used to determine
69
+ * whether the selection should display a badge or a single clear icon.
70
+ */
71
+ selectionCount: PropTypes.Requireable<number>;
72
+ /**
73
+ * Translates component strings using your i18n tool.
74
+ */
75
+ translateWithId: PropTypes.Requireable<(...args: any[]) => any>;
76
+ };
77
+ };
47
78
  export default ListBoxSelection;
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React, { ComponentProps, FC, KeyboardEvent, LiHTMLAttributes, MouseEvent, ReactNode } from 'react';
7
+ import React, { type ComponentProps, type ElementType, type KeyboardEvent, type LiHTMLAttributes, type MouseEvent, type ReactNode } from 'react';
8
8
  export interface MenuItemProps extends LiHTMLAttributes<HTMLLIElement> {
9
9
  /**
10
10
  * Optionally provide another Menu to create a submenu. props.children can't be used to specify the content of the MenuItem itself. Use props.label instead.
@@ -33,7 +33,7 @@ export interface MenuItemProps extends LiHTMLAttributes<HTMLLIElement> {
33
33
  /**
34
34
  * A component used to render an icon.
35
35
  */
36
- renderIcon?: FC;
36
+ renderIcon?: ElementType;
37
37
  /**
38
38
  * Provide a shortcut for the action of this MenuItem. Note that the component will only render it as a hint but not actually register the shortcut.
39
39
  */
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { type UseComboboxProps, type UseMultipleSelectionProps } from 'downshift';
8
- import React, { type FunctionComponent, type ReactElement, type ReactNode } from 'react';
8
+ import React, { type ReactElement, type ReactNode } from 'react';
9
9
  import { type MultiSelectSortingProps } from './MultiSelectPropTypes';
10
10
  import { type ListBoxMenuIconTranslationKey, type ListBoxSelectionTranslationKey, type ListBoxSize, type ListBoxType } from '../ListBox';
11
11
  import type { TranslateWithId } from '../../types/common';
@@ -93,7 +93,7 @@ export interface FilterableMultiSelectProps<ItemType> extends MultiSelectSorting
93
93
  * Function to render items as custom components instead of strings.
94
94
  * Defaults to null and is overridden by a getter
95
95
  */
96
- itemToElement?: FunctionComponent<ItemType>;
96
+ itemToElement?: (item: ItemType) => ReactNode;
97
97
  /**
98
98
  * Helper function passed to downshift that allows the library to render
99
99
  * a given item to a string label.
@@ -35,6 +35,7 @@ var react = require('@floating-ui/react');
35
35
  var index = require('../AILabel/index.js');
36
36
  var defaultItemToString = require('../../internal/defaultItemToString.js');
37
37
  var utils = require('../../internal/utils.js');
38
+ var useNormalizedInputProps = require('../../internal/useNormalizedInputProps.js');
38
39
  var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
39
40
 
40
41
  const {
@@ -73,7 +74,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
73
74
  hideLabel,
74
75
  id,
75
76
  initialSelectedItems = [],
76
- invalid,
77
+ invalid = false,
77
78
  invalidText,
78
79
  items,
79
80
  itemToElement: ItemToElement,
@@ -95,7 +96,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
95
96
  sortItems = sorting.defaultSortItems,
96
97
  translateWithId,
97
98
  useTitleInItem,
98
- warn,
99
+ warn = false,
99
100
  warnText,
100
101
  slug,
101
102
  inputProps
@@ -239,15 +240,23 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
239
240
  return sortedReal;
240
241
  // eslint-disable-next-line react-hooks/exhaustive-deps -- https://github.com/carbon-design-system/carbon/issues/20452
241
242
  }, [items, inputValue, controlledSelectedItems, topItems, selectionFeedback, itemToString, compareItems, locale, sortItems, nonSelectAllItems]);
243
+ const normalizedProps = useNormalizedInputProps.useNormalizedInputProps({
244
+ id,
245
+ disabled,
246
+ readOnly,
247
+ invalid,
248
+ warn
249
+ });
242
250
  const inline = type === 'inline';
243
- const showWarning = !invalid && warn;
251
+ const showWarning = normalizedProps.warn;
252
+ const showHelperText = !normalizedProps.warn && !normalizedProps.invalid;
244
253
  const wrapperClasses = cx(`${prefix}--multi-select__wrapper`, `${prefix}--multi-select--filterable__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
245
254
  [`${prefix}--multi-select__wrapper--inline`]: inline,
246
255
  [`${prefix}--list-box__wrapper--inline`]: inline,
247
- [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && invalid,
248
- [`${prefix}--list-box__wrapper--inline--invalid`]: inline && invalid,
256
+ [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && normalizedProps.invalid,
257
+ [`${prefix}--list-box__wrapper--inline--invalid`]: inline && normalizedProps.invalid,
249
258
  [`${prefix}--list-box--up`]: direction === 'top',
250
- [`${prefix}--list-box__wrapper--fluid--invalid`]: isFluid && invalid,
259
+ [`${prefix}--list-box__wrapper--fluid--invalid`]: isFluid && normalizedProps.invalid,
251
260
  [`${prefix}--list-box__wrapper--slug`]: slug,
252
261
  [`${prefix}--list-box__wrapper--decorator`]: decorator,
253
262
  [`${prefix}--autoalign`]: autoAlign
@@ -521,8 +530,8 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
521
530
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452
522
531
  item => !item.isSelectAll).length;
523
532
  const className = cx(`${prefix}--multi-select`, `${prefix}--combo-box`, `${prefix}--multi-select--filterable`, {
524
- [`${prefix}--multi-select--invalid`]: invalid,
525
- [`${prefix}--multi-select--invalid--focused`]: invalid && inputFocused,
533
+ [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,
534
+ [`${prefix}--multi-select--invalid--focused`]: inputFocused && normalizedProps.invalid,
526
535
  [`${prefix}--multi-select--open`]: isOpen,
527
536
  [`${prefix}--multi-select--inline`]: inline,
528
537
  [`${prefix}--multi-select--selected`]: controlledSelectedItems?.length > 0,
@@ -554,7 +563,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
554
563
  });
555
564
  const inputProp = getInputProps(getDropdownProps({
556
565
  'aria-controls': isOpen ? menuId : undefined,
557
- 'aria-describedby': helperText && !invalid && !warn ? helperId : undefined,
566
+ 'aria-describedby': helperText && showHelperText ? helperId : undefined,
558
567
  'aria-haspopup': 'listbox',
559
568
  // Remove excess aria `aria-labelledby`. HTML <label for>
560
569
  // provides this aria information.
@@ -649,9 +658,9 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
649
658
  light: light,
650
659
  ref: ref,
651
660
  id: id,
652
- invalid: invalid,
661
+ invalid: normalizedProps.invalid,
653
662
  invalidText: invalidText,
654
- warn: warn,
663
+ warn: normalizedProps.warn,
655
664
  warnText: warnText,
656
665
  isOpen: !readOnly && isOpen,
657
666
  size: size
@@ -675,7 +684,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
675
684
  ref: mergedRef
676
685
  }, readOnlyEventHandlers, {
677
686
  readOnly: readOnly
678
- })), invalid && /*#__PURE__*/React.createElement(iconsReact.WarningFilled, {
687
+ })), normalizedProps.invalid && /*#__PURE__*/React.createElement(iconsReact.WarningFilled, {
679
688
  className: `${prefix}--list-box__invalid-icon`
680
689
  }), showWarning && /*#__PURE__*/React.createElement(iconsReact.WarningAltFilled, {
681
690
  className: `${prefix}--list-box__invalid-icon ${prefix}--list-box__invalid-icon--warning`
@@ -744,7 +753,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
744
753
  disabled: disabled,
745
754
  tabIndex: -1
746
755
  })));
747
- }) : null)), !inline && !invalid && !warn ? helper : null);
756
+ }) : null)), !inline && showHelperText ? helper : null);
748
757
  });
749
758
  FilterableMultiSelect.displayName = 'FilterableMultiSelect';
750
759
  FilterableMultiSelect.propTypes = {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -82,10 +82,9 @@ export interface MultiSelectProps<ItemType> extends MultiSelectSortingProps<Item
82
82
  */
83
83
  invalidText?: ReactNode;
84
84
  /**
85
- * Function to render items as custom components instead of strings.
86
- * Defaults to null and is overridden by a getter
85
+ * Renders an item as a custom React node instead of a string.
87
86
  */
88
- itemToElement?: React.JSXElementConstructor<ItemType>;
87
+ itemToElement?: ((item: ItemType) => NonNullable<ReactNode>) | null;
89
88
  /**
90
89
  * Helper function passed to downshift that allows the library to render a
91
90
  * given item to a string label. By default, it extracts the `label` field
@@ -34,6 +34,7 @@ var index = require('../FeatureFlags/index.js');
34
34
  var index$1 = require('../AILabel/index.js');
35
35
  var defaultItemToString = require('../../internal/defaultItemToString.js');
36
36
  var utils = require('../../internal/utils.js');
37
+ var useNormalizedInputProps = require('../../internal/useNormalizedInputProps.js');
37
38
  var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
38
39
 
39
40
  const {
@@ -73,9 +74,9 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
73
74
  clearAnnouncement = 'all items have been cleared',
74
75
  clearSelectionDescription = 'Total items selected: ',
75
76
  light,
76
- invalid,
77
+ invalid = false,
77
78
  invalidText,
78
- warn,
79
+ warn = false,
79
80
  warnText,
80
81
  useTitleInItem,
81
82
  translateWithId,
@@ -256,14 +257,22 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
256
257
  setIsOpenWrapper(open);
257
258
  setPrevOpenProp(open);
258
259
  }
260
+ const normalizedProps = useNormalizedInputProps.useNormalizedInputProps({
261
+ id,
262
+ disabled,
263
+ readOnly,
264
+ invalid,
265
+ warn
266
+ });
259
267
  const inline = type === 'inline';
260
- const showWarning = !invalid && warn;
268
+ const showWarning = normalizedProps.warn;
269
+ const showHelperText = !normalizedProps.warn && !normalizedProps.invalid && helperText;
261
270
  const wrapperClasses = cx(`${prefix}--multi-select__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
262
271
  [`${prefix}--multi-select__wrapper--inline`]: inline,
263
272
  [`${prefix}--list-box__wrapper--inline`]: inline,
264
- [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && invalid,
265
- [`${prefix}--list-box__wrapper--inline--invalid`]: inline && invalid,
266
- [`${prefix}--list-box__wrapper--fluid--invalid`]: isFluid && invalid,
273
+ [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && normalizedProps.invalid,
274
+ [`${prefix}--list-box__wrapper--inline--invalid`]: inline && normalizedProps.invalid,
275
+ [`${prefix}--list-box__wrapper--fluid--invalid`]: isFluid && normalizedProps.invalid,
267
276
  [`${prefix}--list-box__wrapper--slug`]: slug,
268
277
  [`${prefix}--list-box__wrapper--decorator`]: decorator
269
278
  });
@@ -277,8 +286,8 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
277
286
  [`${prefix}--form__helper-text--disabled`]: disabled
278
287
  });
279
288
  const className = cx(`${prefix}--multi-select`, {
280
- [`${prefix}--multi-select--invalid`]: invalid,
281
- [`${prefix}--multi-select--invalid--focused`]: invalid && inputFocused,
289
+ [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,
290
+ [`${prefix}--multi-select--invalid--focused`]: inputFocused && normalizedProps.invalid,
282
291
  [`${prefix}--multi-select--warning`]: showWarning,
283
292
  [`${prefix}--multi-select--inline`]: inline,
284
293
  [`${prefix}--multi-select--selected`]: selectedItems && selectedItems.length > 0,
@@ -287,10 +296,6 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
287
296
  [`${prefix}--autoalign`]: enableFloatingStyles,
288
297
  [`${prefix}--multi-select--selectall`]: selectAll
289
298
  });
290
-
291
- // needs to be capitalized for react to render it correctly
292
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
293
- const ItemToElement = itemToElement;
294
299
  if (selectionFeedback === 'fixed') {
295
300
  sortOptions.selectedItems = [];
296
301
  } else if (selectionFeedback === 'top-after-reopen') {
@@ -449,13 +454,13 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
449
454
  className: className,
450
455
  disabled: disabled,
451
456
  light: light,
452
- invalid: invalid,
457
+ invalid: normalizedProps.invalid,
453
458
  invalidText: invalidText,
454
- warn: warn,
459
+ warn: normalizedProps.warn,
455
460
  warnText: warnText,
456
461
  isOpen: isOpen,
457
462
  id: id
458
- }, invalid && /*#__PURE__*/React.createElement(iconsReact.WarningFilled, {
463
+ }, normalizedProps.invalid && /*#__PURE__*/React.createElement(iconsReact.WarningFilled, {
459
464
  className: `${prefix}--list-box__invalid-icon`
460
465
  }), showWarning && /*#__PURE__*/React.createElement(iconsReact.WarningAltFilled, {
461
466
  className: `${prefix}--list-box__invalid-icon ${prefix}--list-box__invalid-icon--warning`
@@ -475,7 +480,7 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
475
480
  className: `${prefix}--list-box__field`,
476
481
  disabled: disabled,
477
482
  "aria-disabled": disabled || readOnly,
478
- "aria-describedby": !inline && !invalid && !warn && helperText ? helperId : undefined
483
+ "aria-describedby": !inline && showHelperText ? helperId : undefined
479
484
  }, toggleButtonProps, {
480
485
  ref: mergedRef
481
486
  }, readOnlyEventHandlers), /*#__PURE__*/React.createElement("span", {
@@ -519,9 +524,7 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
519
524
  className: `${prefix}--checkbox-wrapper`
520
525
  }, /*#__PURE__*/React.createElement(Checkbox.default, {
521
526
  id: `${itemProps.id}__checkbox`,
522
- labelText: itemToElement ? /*#__PURE__*/React.createElement(ItemToElement, _rollupPluginBabelHelpers.extends({
523
- key: itemProps.id
524
- }, item)) : itemText,
527
+ labelText: itemToElement ? itemToElement(item) : itemText,
525
528
  checked: isChecked,
526
529
  title: useTitleInItem ? itemText : undefined,
527
530
  indeterminate: isIndeterminate,
@@ -530,7 +533,7 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
530
533
  })), itemsCleared && /*#__PURE__*/React.createElement("span", {
531
534
  "aria-live": "assertive",
532
535
  "aria-label": clearAnnouncement
533
- })), !inline && !invalid && !warn && helperText && /*#__PURE__*/React.createElement("div", {
536
+ })), !inline && showHelperText && /*#__PURE__*/React.createElement("div", {
534
537
  id: helperId,
535
538
  className: helperClasses
536
539
  }, helperText));
@@ -612,8 +615,7 @@ MultiSelect.propTypes = {
612
615
  */
613
616
  invalidText: PropTypes.node,
614
617
  /**
615
- * Function to render items as custom components instead of strings.
616
- * Defaults to null and is overridden by a getter
618
+ * Renders an item as a custom React node instead of a string.
617
619
  */
618
620
  itemToElement: PropTypes.func,
619
621
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,6 +7,7 @@
7
7
  import PropTypes from 'prop-types';
8
8
  import React, { type ReactNode, type MouseEvent, type ButtonHTMLAttributes, type HTMLAttributes, type ComponentProps } from 'react';
9
9
  import Button, { type ButtonProps } from '../Button';
10
+ type NotificationCloseHandler = ((event: MouseEvent) => boolean) | ((event: MouseEvent) => void);
10
11
  export interface NotificationActionButtonProps extends ButtonProps<'button'> {
11
12
  /**
12
13
  * Specify the content of the notification action button.
@@ -151,7 +152,7 @@ export interface ToastNotificationProps extends HTMLAttributes<HTMLDivElement> {
151
152
  /**
152
153
  * Provide a function that is called when menu is closed
153
154
  */
154
- onClose?(event: MouseEvent): boolean | void;
155
+ onClose?: NotificationCloseHandler;
155
156
  /**
156
157
  * Provide a function that is called when the close button is clicked
157
158
  */
@@ -277,7 +278,7 @@ export interface InlineNotificationProps extends HTMLAttributes<HTMLDivElement>
277
278
  /**
278
279
  * Provide a function that is called when menu is closed
279
280
  */
280
- onClose?(event: MouseEvent): boolean | void;
281
+ onClose?: NotificationCloseHandler;
281
282
  /**
282
283
  * Provide a function that is called when the close button is clicked
283
284
  */
@@ -409,7 +410,7 @@ export interface ActionableNotificationProps extends HTMLAttributes<HTMLDivEleme
409
410
  * Provide a function that is called when menu is closed.
410
411
  * Default behavior of hiding the notification is prevented if this function returns false.
411
412
  */
412
- onClose?(event: MouseEvent): boolean | void;
413
+ onClose?: NotificationCloseHandler;
413
414
  /**
414
415
  * Provide a function that is called when the close button is clicked
415
416
  */
@@ -617,6 +618,6 @@ export declare namespace Callout {
617
618
  /**
618
619
  * @deprecated Use `CalloutProps` instead.
619
620
  */
620
- export interface StaticNotificationProps extends CalloutProps {
621
- }
622
- export declare const StaticNotification: React.FC<StaticNotificationProps>;
621
+ export type StaticNotificationProps = CalloutProps;
622
+ export declare const StaticNotification: (props: StaticNotificationProps) => import("react/jsx-runtime").JSX.Element;
623
+ export {};
@@ -574,6 +574,8 @@ function ActionableNotification({
574
574
  role: "link",
575
575
  className: `${prefix}--visually-hidden`
576
576
  }, "Focus sentinel"), /*#__PURE__*/React.createElement("div", {
577
+ ref: innerModal
578
+ }, /*#__PURE__*/React.createElement("div", {
577
579
  className: `${prefix}--actionable-notification__details`
578
580
  }, /*#__PURE__*/React.createElement(NotificationIcon, {
579
581
  notificationType: inline ? 'inline' : 'toast',
@@ -595,8 +597,7 @@ function ActionableNotification({
595
597
  as: "div",
596
598
  className: `${prefix}--actionable-notification__caption`
597
599
  }, caption), children))), /*#__PURE__*/React.createElement("div", {
598
- className: `${prefix}--actionable-notification__button-wrapper`,
599
- ref: innerModal
600
+ className: `${prefix}--actionable-notification__button-wrapper`
600
601
  }, actionButtonLabel && /*#__PURE__*/React.createElement(NotificationActionButton, {
601
602
  onClick: onActionButtonClick,
602
603
  inline: inline
@@ -604,7 +605,7 @@ function ActionableNotification({
604
605
  "aria-label": deprecatedAriaLabel || ariaLabel,
605
606
  notificationType: "actionable",
606
607
  onClick: handleCloseButtonClick
607
- })), !focusTrapWithoutSentinels && /*#__PURE__*/React.createElement("span", {
608
+ }))), !focusTrapWithoutSentinels && /*#__PURE__*/React.createElement("span", {
608
609
  ref: endTrap,
609
610
  tabIndex: 0,
610
611
  role: "link",
@@ -812,7 +813,6 @@ Callout.propTypes = {
812
813
  /**
813
814
  * @deprecated Use `CalloutProps` instead.
814
815
  */
815
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- https://github.com/carbon-design-system/carbon/issues/20452
816
816
 
817
817
  let didWarnAboutDeprecation = false;
818
818
  const StaticNotification = props => {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -79,7 +79,6 @@ const getMenuOffset = (menuBody, direction, trigger, flip) => {
79
79
  case 'top':
80
80
  case 'bottom':
81
81
  {
82
- // TODO: Ensure `trigger` is there for `<OverflowMenu open>`
83
82
  const triggerWidth = !trigger ? 0 : trigger.offsetWidth;
84
83
  return {
85
84
  left: (!flip ? 1 : -1) * (menuWidth / 2 - triggerWidth / 2),
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React, { type ComponentType, type FunctionComponent } from 'react';
7
+ import React, { type ElementType } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import { TYPES } from '../Tag/Tag';
10
10
  /**
@@ -32,7 +32,7 @@ interface PageHeaderBreadcrumbBarProps {
32
32
  /**
33
33
  * Provide an optional icon to render in front of the PageHeaderContent's title.
34
34
  */
35
- renderIcon?: ComponentType | FunctionComponent;
35
+ renderIcon?: ElementType;
36
36
  /**
37
37
  * The PageHeaderBreadcrumbBar's content actions
38
38
  */
@@ -68,7 +68,7 @@ interface PageHeaderContentProps {
68
68
  /**
69
69
  * Provide an optional icon to render in front of the PageHeaderContent's title.
70
70
  */
71
- renderIcon?: ComponentType | FunctionComponent;
71
+ renderIcon?: ElementType;
72
72
  /**
73
73
  * The PageHeaderContent's title
74
74
  */
@@ -149,7 +149,9 @@ forwardRef) {
149
149
  refs,
150
150
  floatingStyles,
151
151
  placement,
152
- middlewareData
152
+ middlewareData,
153
+ elements,
154
+ update
153
155
  } = react.useFloating(enableFloatingStyles ? {
154
156
  placement: align,
155
157
  // The floating element is positioned relative to its nearest
@@ -169,12 +171,18 @@ forwardRef) {
169
171
  }), react.arrow({
170
172
  element: caretRef,
171
173
  padding: 16
172
- }), autoAlign && react.hide()],
173
- whileElementsMounted: react.autoUpdate
174
+ }), autoAlign && react.hide()]
174
175
  } : {}
175
176
  // When autoAlign is turned off & the `enable-v12-dynamic-floating-styles` feature flag is not
176
177
  // enabled, floating-ui will not be used
177
178
  );
179
+ React.useEffect(() => {
180
+ if (!enableFloatingStyles) return;
181
+ if (open && elements.reference && elements.floating) {
182
+ const cleanup = react.autoUpdate(elements.reference, elements.floating, update);
183
+ return cleanup;
184
+ }
185
+ }, [enableFloatingStyles, open, elements, update]);
178
186
  const value = React.useMemo(() => {
179
187
  return {
180
188
  floating,
@@ -399,11 +407,13 @@ Popover.propTypes = {
399
407
  */
400
408
  open: PropTypes.bool.isRequired
401
409
  };
402
- function PopoverContentRenderFunction({
403
- className,
404
- children,
405
- ...rest
406
- }, forwardRef) {
410
+ const frFn = React.forwardRef;
411
+ const PopoverContent = frFn((props, forwardRef) => {
412
+ const {
413
+ className,
414
+ children,
415
+ ...rest
416
+ } = props;
407
417
  const prefix = usePrefix.usePrefix();
408
418
  const {
409
419
  setFloating,
@@ -429,8 +439,7 @@ function PopoverContentRenderFunction({
429
439
  }),
430
440
  ref: caretRef
431
441
  }));
432
- }
433
- const PopoverContent = /*#__PURE__*/React.forwardRef(PopoverContentRenderFunction);
442
+ });
434
443
  PopoverContent.displayName = 'PopoverContent';
435
444
  PopoverContent.propTypes = {
436
445
  /**
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React, { type ChangeEvent, type ComponentType, type FunctionComponent, type HTMLAttributes, type KeyboardEvent, type MouseEvent, type ReactNode } from 'react';
7
+ import React, { type ChangeEvent, type ElementType, type HTMLAttributes, type KeyboardEvent, type MouseEvent, type ReactNode } from 'react';
8
8
  type InputPropsBase = Omit<HTMLAttributes<HTMLInputElement>, 'onChange'>;
9
9
  export interface SearchProps extends InputPropsBase {
10
10
  /**
@@ -61,7 +61,7 @@ export interface SearchProps extends InputPropsBase {
61
61
  /**
62
62
  * A component used to render an icon.
63
63
  */
64
- renderIcon?: ComponentType | FunctionComponent;
64
+ renderIcon?: ElementType;
65
65
  /**
66
66
  * @deprecated Specify the role for the underlying `<input>`.
67
67
  * No longer needed since `<input type="search">` already provides the correct semantics.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,9 +1,23 @@
1
- import React from 'react';
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
2
8
  export interface SkeletonIconProps {
3
9
  /**
4
10
  * Specify an optional className to add.
5
11
  */
6
12
  className?: string;
7
13
  }
8
- declare const SkeletonIcon: React.FC<SkeletonIconProps>;
14
+ declare const SkeletonIcon: {
15
+ ({ className, ...other }: SkeletonIconProps): import("react/jsx-runtime").JSX.Element;
16
+ propTypes: {
17
+ /**
18
+ * Specify an optional className to add.
19
+ */
20
+ className: PropTypes.Requireable<string>;
21
+ };
22
+ };
9
23
  export default SkeletonIcon;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -72,7 +72,7 @@ export interface TagBaseProps {
72
72
  */
73
73
  slug?: ReactNode;
74
74
  /**
75
- * @deprecated The `title` prop has been deprecated and will be removed in the next major version. Use DismissibleTag instead.
75
+ * @deprecated The `title` prop has been deprecated and will be removed in the next major version. Use `children` instead.
76
76
  */
77
77
  title?: string;
78
78
  /**
@@ -156,6 +156,8 @@ const TagBase = /*#__PURE__*/React.forwardRef(({
156
156
  }, normalizedDecorator) : '');
157
157
  });
158
158
  const Tag = TagBase;
159
+
160
+ // @ts-expect-error - `propTypes` isn't typed.
159
161
  Tag.propTypes = {
160
162
  /**
161
163
  * Provide an alternative tag or component to use instead of the default
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -13,7 +13,7 @@ var React = require('react');
13
13
  var TextDirectionContext = require('./TextDirectionContext.js');
14
14
 
15
15
  // eslint-disable-next-line react/display-name -- https://github.com/carbon-design-system/carbon/issues/20452
16
- const TextBase = /*#__PURE__*/React.forwardRef(({
16
+ const Text = /*#__PURE__*/React.forwardRef(({
17
17
  as,
18
18
  children,
19
19
  dir = 'auto',
@@ -55,7 +55,8 @@ const TextBase = /*#__PURE__*/React.forwardRef(({
55
55
  ref: ref
56
56
  }, rest, textProps), children));
57
57
  });
58
- const Text = TextBase;
58
+
59
+ // @ts-expect-error - `propTypes` isn't typed.
59
60
  Text.propTypes = {
60
61
  /**
61
62
  * Provide a custom element type used to render the outermost node
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.