@carbon/react 1.99.0-rc.0 → 1.100.0-rc.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 (255) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +942 -942
  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 +4 -4
  11. package/es/components/ComboBox/ComboBox.js +21 -3
  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/ExpandableSearch/ExpandableSearch.d.ts +1 -1
  38. package/es/components/ExpandableSearch/ExpandableSearch.js +14 -12
  39. package/es/components/FileUploader/FileUploader.d.ts +1 -1
  40. package/es/components/FileUploader/FileUploader.js +2 -2
  41. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  42. package/es/components/FileUploader/FileUploaderDropContainer.js +28 -10
  43. package/es/components/FluidComboBox/FluidComboBox.Skeleton.d.ts +11 -3
  44. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.d.ts +15 -3
  45. package/es/components/FluidDatePicker/FluidDatePicker.d.ts +2 -2
  46. package/es/components/FluidDropdown/FluidDropdown.Skeleton.d.ts +11 -3
  47. package/es/components/FluidForm/FluidForm.d.ts +15 -2
  48. package/es/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +2 -2
  49. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.d.ts +11 -3
  50. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.d.ts +11 -3
  51. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +1 -1
  52. package/es/components/FluidSearch/FluidSearch.Skeleton.d.ts +11 -3
  53. package/es/components/FluidSearch/FluidSearch.d.ts +1 -1
  54. package/es/components/FluidSearch/FluidSearch.js +3 -3
  55. package/es/components/FluidSelect/FluidSelect.Skeleton.d.ts +11 -3
  56. package/es/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +11 -3
  57. package/es/components/FluidTextArea/FluidTextArea.d.ts +95 -1
  58. package/es/components/FluidTextInput/FluidPasswordInput.d.ts +83 -2
  59. package/es/components/FluidTextInput/FluidTextInput.Skeleton.d.ts +11 -3
  60. package/es/components/Grid/GridContext.d.ts +19 -1
  61. package/es/components/IconButton/index.d.ts +1 -1
  62. package/es/components/IconButton/index.js +2 -2
  63. package/es/components/Link/Link.js +3 -0
  64. package/es/components/ListBox/ListBoxField.d.ts +35 -2
  65. package/es/components/ListBox/ListBoxMenuIcon.d.ts +16 -3
  66. package/es/components/ListBox/ListBoxMenuItem.d.ts +1 -1
  67. package/es/components/ListBox/ListBoxSelection.d.ts +34 -3
  68. package/es/components/Menu/MenuItem.d.ts +2 -2
  69. package/es/components/MultiSelect/FilterableMultiSelect.d.ts +2 -2
  70. package/es/components/MultiSelect/FilterableMultiSelect.js +22 -13
  71. package/es/components/MultiSelect/MultiSelect.js +22 -13
  72. package/es/components/Notification/Notification.d.ts +8 -7
  73. package/es/components/Notification/Notification.js +0 -1
  74. package/es/components/NumberInput/NumberInput.d.ts +9 -0
  75. package/es/components/NumberInput/NumberInput.js +206 -38
  76. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  77. package/es/components/OverflowMenu/OverflowMenu.js +0 -1
  78. package/es/components/OverflowMenu/index.d.ts +1 -1
  79. package/es/components/PageHeader/PageHeader.d.ts +3 -3
  80. package/es/components/Popover/index.js +21 -12
  81. package/es/components/Search/Search.d.ts +2 -2
  82. package/es/components/Select/Select.d.ts +1 -1
  83. package/es/components/Select/Select.js +2 -2
  84. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +16 -2
  85. package/es/components/SkeletonText/SkeletonText.d.ts +1 -1
  86. package/es/components/Tag/Tag.d.ts +1 -1
  87. package/es/components/Tag/Tag.js +2 -0
  88. package/es/components/Text/Text.d.ts +1 -1
  89. package/es/components/Text/Text.js +4 -3
  90. package/es/components/Text/TextDirection.d.ts +1 -1
  91. package/es/components/Text/TextDirection.js +1 -3
  92. package/es/components/Text/TextDirectionContext.d.ts +3 -3
  93. package/es/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  94. package/es/components/TextInput/ControlledPasswordInput.js +2 -2
  95. package/es/components/TextInput/PasswordInput.d.ts +1 -1
  96. package/es/components/TextInput/PasswordInput.js +2 -2
  97. package/es/components/TextInput/TextInput.d.ts +1 -1
  98. package/es/components/TextInput/TextInput.js +2 -2
  99. package/es/components/Toggle/Toggle.Skeleton.d.ts +9 -3
  100. package/es/components/Toggletip/index.d.ts +1 -1
  101. package/es/components/Toggletip/index.js +9 -7
  102. package/es/components/Tooltip/DefinitionTooltip.d.ts +52 -1
  103. package/es/components/Tooltip/Tooltip.js +2 -0
  104. package/es/components/TreeView/TreeNode.d.ts +4 -4
  105. package/es/components/UIShell/Header.d.ts +20 -3
  106. package/es/components/UIShell/HeaderGlobalAction.d.ts +2 -2
  107. package/es/components/UIShell/HeaderName.js +1 -1
  108. package/es/components/UIShell/Link.d.ts +1 -1
  109. package/es/components/UIShell/Link.js +14 -14
  110. package/es/components/UIShell/SideNav.d.ts +3 -3
  111. package/es/components/UIShell/SideNav.js +26 -25
  112. package/es/components/UIShell/SideNavDivider.d.ts +11 -3
  113. package/es/components/UIShell/SideNavHeader.d.ts +24 -1
  114. package/es/components/UIShell/SideNavIcon.d.ts +20 -2
  115. package/es/components/UIShell/SideNavItem.d.ts +20 -2
  116. package/es/components/UIShell/SideNavItems.d.ts +22 -2
  117. package/es/components/UIShell/SideNavLink.d.ts +1 -1
  118. package/es/components/UIShell/SideNavLink.js +14 -14
  119. package/es/components/UIShell/SideNavMenu.d.ts +1 -1
  120. package/es/components/UIShell/SideNavMenu.js +2 -2
  121. package/es/components/UIShell/SideNavMenuItem.d.ts +2 -2
  122. package/es/components/UIShell/SideNavMenuItem.js +2 -2
  123. package/es/components/UIShell/SwitcherDivider.d.ts +10 -2
  124. package/es/internal/FloatingMenu.d.ts +1 -1
  125. package/es/internal/FloatingMenu.js +0 -2
  126. package/es/internal/PolymorphicProps.d.ts +3 -3
  127. package/es/internal/useNoInteractiveChildren.d.ts +1 -1
  128. package/es/internal/useNoInteractiveChildren.js +8 -10
  129. package/es/internal/useOutsideClick.d.ts +1 -1
  130. package/es/internal/useOutsideClick.js +0 -4
  131. package/lib/components/BadgeIndicator/index.d.ts +1 -1
  132. package/lib/components/BadgeIndicator/index.js +7 -5
  133. package/lib/components/Breadcrumb/BreadcrumbItem.d.ts +1 -1
  134. package/lib/components/Breadcrumb/BreadcrumbItem.js +5 -6
  135. package/lib/components/Button/Button.Skeleton.d.ts +28 -2
  136. package/lib/components/Button/Button.js +3 -2
  137. package/lib/components/ChatButton/ChatButton.d.ts +3 -2
  138. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +60 -2
  139. package/lib/components/ComboBox/ComboBox.d.ts +4 -4
  140. package/lib/components/ComboBox/ComboBox.js +21 -3
  141. package/lib/components/ComposedModal/ComposedModal.d.ts +2 -2
  142. package/lib/components/ContainedList/ContainedList.d.ts +35 -6
  143. package/lib/components/ContainedList/ContainedList.js +3 -1
  144. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +32 -3
  145. package/lib/components/ContainedList/index.d.ts +1 -1
  146. package/lib/components/ContainedList/index.js +4 -1
  147. package/lib/components/DangerButton/DangerButton.d.ts +1 -1
  148. package/lib/components/DataTable/DataTable.d.ts +22 -5
  149. package/lib/components/DataTable/DataTable.js +1 -1
  150. package/lib/components/DataTable/TableExpandRow.d.ts +1 -1
  151. package/lib/components/DataTable/TableHeader.d.ts +1 -1
  152. package/lib/components/DataTable/TableHeader.js +17 -15
  153. package/lib/components/DataTable/TableToolbar.d.ts +25 -1
  154. package/lib/components/DataTable/TableToolbarMenu.d.ts +25 -5
  155. package/lib/components/DataTable/TableToolbarMenu.js +0 -3
  156. package/lib/components/DataTableSkeleton/DataTableSkeleton.d.ts +51 -2
  157. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +6 -0
  158. package/lib/components/DatePicker/DatePicker.d.ts +2 -2
  159. package/lib/components/DatePicker/DatePicker.js +37 -52
  160. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +28 -2
  161. package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
  162. package/lib/components/DatePickerInput/DatePickerInput.js +2 -1
  163. package/lib/components/Dialog/Dialog.d.ts +1 -1
  164. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +19 -2
  165. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +1 -1
  166. package/lib/components/ExpandableSearch/ExpandableSearch.js +13 -11
  167. package/lib/components/FileUploader/FileUploader.d.ts +1 -1
  168. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  169. package/lib/components/FileUploader/FileUploaderDropContainer.js +28 -10
  170. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.d.ts +11 -3
  171. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.d.ts +15 -3
  172. package/lib/components/FluidDatePicker/FluidDatePicker.d.ts +2 -2
  173. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.d.ts +11 -3
  174. package/lib/components/FluidForm/FluidForm.d.ts +15 -2
  175. package/lib/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +2 -2
  176. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.d.ts +11 -3
  177. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.d.ts +11 -3
  178. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +1 -1
  179. package/lib/components/FluidSearch/FluidSearch.Skeleton.d.ts +11 -3
  180. package/lib/components/FluidSearch/FluidSearch.d.ts +1 -1
  181. package/lib/components/FluidSearch/FluidSearch.js +2 -2
  182. package/lib/components/FluidSelect/FluidSelect.Skeleton.d.ts +11 -3
  183. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +11 -3
  184. package/lib/components/FluidTextArea/FluidTextArea.d.ts +95 -1
  185. package/lib/components/FluidTextInput/FluidPasswordInput.d.ts +83 -2
  186. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.d.ts +11 -3
  187. package/lib/components/Grid/GridContext.d.ts +19 -1
  188. package/lib/components/IconButton/index.d.ts +1 -1
  189. package/lib/components/Link/Link.js +3 -0
  190. package/lib/components/ListBox/ListBoxField.d.ts +35 -2
  191. package/lib/components/ListBox/ListBoxMenuIcon.d.ts +16 -3
  192. package/lib/components/ListBox/ListBoxMenuItem.d.ts +1 -1
  193. package/lib/components/ListBox/ListBoxSelection.d.ts +34 -3
  194. package/lib/components/Menu/MenuItem.d.ts +2 -2
  195. package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +2 -2
  196. package/lib/components/MultiSelect/FilterableMultiSelect.js +22 -13
  197. package/lib/components/MultiSelect/MultiSelect.js +22 -13
  198. package/lib/components/Notification/Notification.d.ts +8 -7
  199. package/lib/components/Notification/Notification.js +0 -1
  200. package/lib/components/NumberInput/NumberInput.d.ts +9 -0
  201. package/lib/components/NumberInput/NumberInput.js +206 -37
  202. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  203. package/lib/components/OverflowMenu/OverflowMenu.js +0 -1
  204. package/lib/components/OverflowMenu/index.d.ts +1 -1
  205. package/lib/components/PageHeader/PageHeader.d.ts +3 -3
  206. package/lib/components/Popover/index.js +19 -10
  207. package/lib/components/Search/Search.d.ts +2 -2
  208. package/lib/components/Select/Select.d.ts +1 -1
  209. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +16 -2
  210. package/lib/components/SkeletonText/SkeletonText.d.ts +1 -1
  211. package/lib/components/Tag/Tag.d.ts +1 -1
  212. package/lib/components/Tag/Tag.js +2 -0
  213. package/lib/components/Text/Text.d.ts +1 -1
  214. package/lib/components/Text/Text.js +3 -2
  215. package/lib/components/Text/TextDirection.d.ts +1 -1
  216. package/lib/components/Text/TextDirection.js +1 -3
  217. package/lib/components/Text/TextDirectionContext.d.ts +3 -3
  218. package/lib/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  219. package/lib/components/TextInput/PasswordInput.d.ts +1 -1
  220. package/lib/components/TextInput/TextInput.d.ts +1 -1
  221. package/lib/components/Toggle/Toggle.Skeleton.d.ts +9 -3
  222. package/lib/components/Toggletip/index.d.ts +1 -1
  223. package/lib/components/Toggletip/index.js +7 -5
  224. package/lib/components/Tooltip/DefinitionTooltip.d.ts +52 -1
  225. package/lib/components/Tooltip/Tooltip.js +2 -0
  226. package/lib/components/TreeView/TreeNode.d.ts +4 -4
  227. package/lib/components/UIShell/Header.d.ts +20 -3
  228. package/lib/components/UIShell/HeaderGlobalAction.d.ts +2 -2
  229. package/lib/components/UIShell/HeaderName.js +1 -1
  230. package/lib/components/UIShell/Link.d.ts +1 -1
  231. package/lib/components/UIShell/Link.js +13 -13
  232. package/lib/components/UIShell/SideNav.d.ts +3 -3
  233. package/lib/components/UIShell/SideNav.js +25 -24
  234. package/lib/components/UIShell/SideNavDivider.d.ts +11 -3
  235. package/lib/components/UIShell/SideNavHeader.d.ts +24 -1
  236. package/lib/components/UIShell/SideNavIcon.d.ts +20 -2
  237. package/lib/components/UIShell/SideNavItem.d.ts +20 -2
  238. package/lib/components/UIShell/SideNavItems.d.ts +22 -2
  239. package/lib/components/UIShell/SideNavLink.d.ts +1 -1
  240. package/lib/components/UIShell/SideNavLink.js +14 -14
  241. package/lib/components/UIShell/SideNavMenu.d.ts +1 -1
  242. package/lib/components/UIShell/SideNavMenuItem.d.ts +2 -2
  243. package/lib/components/UIShell/SwitcherDivider.d.ts +10 -2
  244. package/lib/internal/FloatingMenu.d.ts +1 -1
  245. package/lib/internal/FloatingMenu.js +0 -2
  246. package/lib/internal/PolymorphicProps.d.ts +3 -3
  247. package/lib/internal/useNoInteractiveChildren.d.ts +1 -1
  248. package/lib/internal/useNoInteractiveChildren.js +8 -10
  249. package/lib/internal/useOutsideClick.d.ts +1 -1
  250. package/lib/internal/useOutsideClick.js +0 -4
  251. package/package.json +8 -8
  252. package/scss/_carbon-utilities.scss +9 -0
  253. package/telemetry.yml +0 -1
  254. package/es/internal/createClassWrapper.d.ts +0 -12
  255. package/lib/internal/createClassWrapper.d.ts +0 -12
@@ -4,6 +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 PropTypes from 'prop-types';
7
8
  import React from 'react';
8
9
  import { PopoverAlignment } from '../Popover';
9
10
  export interface DefinitionTooltipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'id' | 'classname' | 'children' | 'type'> {
@@ -54,5 +55,55 @@ export interface DefinitionTooltipProps extends Omit<React.ButtonHTMLAttributes<
54
55
  */
55
56
  triggerClassName?: string;
56
57
  }
57
- declare const DefinitionTooltip: React.FC<DefinitionTooltipProps>;
58
+ declare const DefinitionTooltip: {
59
+ ({ align, autoAlign, className, children, definition, defaultOpen, id, openOnHover, tooltipText, triggerClassName, ...rest }: DefinitionTooltipProps): import("react/jsx-runtime").JSX.Element;
60
+ propTypes: {
61
+ /**
62
+ * Specify how the trigger should align with the tooltip
63
+ */
64
+ align: PropTypes.Requireable<string>;
65
+ /**
66
+ * Will auto-align the popover. This prop is currently experimental and is
67
+ * subject to future changes. Requires React v17+
68
+ * @see https://github.com/carbon-design-system/carbon/issues/18714
69
+ */
70
+ autoAlign: PropTypes.Requireable<boolean>;
71
+ /**
72
+ * The `children` prop will be used as the value that is being defined
73
+ */
74
+ children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
75
+ /**
76
+ * Specify an optional className to be applied to the container node
77
+ */
78
+ className: PropTypes.Requireable<string>;
79
+ /**
80
+ * Specify whether the tooltip should be open when it first renders
81
+ */
82
+ defaultOpen: PropTypes.Requireable<boolean>;
83
+ /**
84
+ * The `definition` prop is used as the content inside of the tooltip that
85
+ * appears when a user interacts with the element rendered by the `children`
86
+ * prop
87
+ */
88
+ definition: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
89
+ /**
90
+ * Provide a value that will be assigned as the id of the tooltip
91
+ */
92
+ id: PropTypes.Requireable<string>;
93
+ /**
94
+ * Specifies whether or not the `DefinitionTooltip` should open on hover or not
95
+ */
96
+ openOnHover: PropTypes.Requireable<boolean>;
97
+ /**
98
+ * [Deprecated in v11] Please use the `definition` prop instead.
99
+ *
100
+ * Provide the text that will be displayed in the tooltip when it is rendered.
101
+ */
102
+ tooltipText: (props: Record<string, any>, propName: string, componentName: string, ...rest: any[]) => any;
103
+ /**
104
+ * The CSS class name of the trigger element
105
+ */
106
+ triggerClassName: PropTypes.Requireable<string>;
107
+ };
108
+ };
58
109
  export { DefinitionTooltip };
@@ -189,6 +189,8 @@ const Tooltip = /*#__PURE__*/React.forwardRef(({
189
189
  }, label || description))
190
190
  );
191
191
  });
192
+
193
+ // @ts-expect-error - `propTypes` isn't typed.
192
194
  Tooltip.propTypes = {
193
195
  /**
194
196
  * Specify how the trigger should align with the tooltip
@@ -1,10 +1,10 @@
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.
6
6
  */
7
- import React, { type ComponentType, type FunctionComponent } from 'react';
7
+ import React, { type ElementType } from 'react';
8
8
  type UncontrolledOnToggle = (event: React.MouseEvent | React.KeyboardEvent, node: Pick<TreeNodeProps, 'id' | 'label' | 'value' | 'isExpanded'>) => void;
9
9
  type ControlledOnToggle = (isExpanded: TreeNodeProps['isExpanded']) => void;
10
10
  export type TreeNodeProps = {
@@ -78,7 +78,7 @@ export type TreeNodeProps = {
78
78
  /**
79
79
  * A component used to render an icon.
80
80
  */
81
- renderIcon?: ComponentType | FunctionComponent;
81
+ renderIcon?: ElementType;
82
82
  /**
83
83
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
84
84
  * Array containing all selected node IDs in the tree
@@ -178,7 +178,7 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
178
178
  /**
179
179
  * A component used to render an icon.
180
180
  */
181
- renderIcon?: ComponentType | FunctionComponent;
181
+ renderIcon?: ElementType;
182
182
  /**
183
183
  * **Note:** this is controlled by the parent TreeView component, do not set manually.
184
184
  * Array containing all selected node IDs in the tree
@@ -1,10 +1,11 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
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.
6
6
  */
7
- import React, { ReactNode } from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import { ReactNode } from 'react';
8
9
  export interface HeaderProps {
9
10
  children?: ReactNode;
10
11
  /**
@@ -20,5 +21,21 @@ export interface HeaderProps {
20
21
  */
21
22
  className?: string;
22
23
  }
23
- declare const Header: React.FC<HeaderProps>;
24
+ declare const Header: {
25
+ ({ className: customClassName, children, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
26
+ propTypes: {
27
+ /**
28
+ * Optionally provide aria-label
29
+ */
30
+ 'aria-label': PropTypes.Requireable<string>;
31
+ /**
32
+ * Optionally provide aria-labelledby
33
+ */
34
+ 'aria-labelledby': PropTypes.Requireable<string>;
35
+ /**
36
+ * Optionally provide a custom class name that is applied to the underlying header
37
+ */
38
+ className: PropTypes.Requireable<string>;
39
+ };
40
+ };
24
41
  export default Header;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
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.
@@ -55,5 +55,5 @@ export interface HeaderGlobalActionProps {
55
55
  *
56
56
  * Note: children passed to this component should be an Icon.
57
57
  */
58
- declare const HeaderGlobalAction: React.FC<HeaderGlobalActionProps>;
58
+ declare const HeaderGlobalAction: React.ForwardRefExoticComponent<HeaderGlobalActionProps & React.RefAttributes<HTMLButtonElement>>;
59
59
  export default HeaderGlobalAction;
@@ -28,7 +28,7 @@ function HeaderName({
28
28
  className: className
29
29
  }), prefix && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
30
30
  className: `${selectorPrefix}--header__name--prefix`
31
- }, prefix), "\xA0"), children);
31
+ }, prefix), "\xA0"), /*#__PURE__*/React.createElement("span", null, children));
32
32
  }
33
33
  HeaderName.propTypes = {
34
34
  /**
@@ -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.
@@ -16,24 +16,24 @@ var deprecate = require('../../prop-types/deprecate.js');
16
16
 
17
17
  // First define the component without generics
18
18
 
19
- const LinkBase = ({
20
- element,
21
- as: BaseComponent,
22
- // Captured here to prevent it from being passed into the created element.
23
- // See https://github.com/carbon-design-system/carbon/issues/3970
24
- // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452
25
- isSideNavExpanded: _isSideNavExpanded,
26
- ...rest
27
- }, ref) => {
19
+ const frFn = React.forwardRef;
20
+ const Link = frFn((props, ref) => {
21
+ const {
22
+ element,
23
+ as: BaseComponent,
24
+ // Captured here to prevent it from being passed into the created element.
25
+ // See https://github.com/carbon-design-system/carbon/issues/3970
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452
27
+ isSideNavExpanded: _isSideNavExpanded,
28
+ ...rest
29
+ } = props;
30
+
28
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452
29
32
  const BaseComponentAsAny = BaseComponent ?? element ?? 'a';
30
33
  return /*#__PURE__*/React.createElement(BaseComponentAsAny, _rollupPluginBabelHelpers.extends({
31
34
  ref: ref
32
35
  }, rest));
33
- };
34
-
35
- // Use forwardRef with the non-generic function
36
- const Link = /*#__PURE__*/React.forwardRef(LinkBase);
36
+ });
37
37
 
38
38
  /**
39
39
  * Link is a custom component that allows us to supporting rendering elements
@@ -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.
@@ -9,7 +9,7 @@ export interface SideNavProps {
9
9
  expanded?: boolean | undefined;
10
10
  defaultExpanded?: boolean | undefined;
11
11
  isChildOfHeader?: boolean | undefined;
12
- onToggle?: (event: FocusEvent<HTMLElement> | KeyboardEvent<HTMLElement> | boolean, value: boolean) => void | undefined;
12
+ onToggle?: (event: FocusEvent<HTMLElement> | KeyboardEvent<HTMLElement> | boolean, value: boolean) => void;
13
13
  href?: string | undefined;
14
14
  isFixedNav?: boolean | undefined;
15
15
  isRail?: boolean | undefined;
@@ -17,7 +17,7 @@ export interface SideNavProps {
17
17
  addFocusListeners?: boolean | undefined;
18
18
  addMouseListeners?: boolean | undefined;
19
19
  onOverlayClick?: MouseEventHandler<HTMLDivElement> | undefined;
20
- onSideNavBlur?: () => void | undefined;
20
+ onSideNavBlur?: () => void;
21
21
  enterDelayMs?: number;
22
22
  inert?: boolean;
23
23
  }
@@ -28,28 +28,30 @@ var useMatchMedia = require('../../internal/useMatchMedia.js');
28
28
  // import SideNavFooter from './SideNavFooter';
29
29
 
30
30
  const SideNavContext = /*#__PURE__*/React.createContext({});
31
- function SideNavRenderFunction({
32
- expanded: expandedProp,
33
- defaultExpanded = false,
34
- isChildOfHeader = true,
35
- 'aria-label': ariaLabel,
36
- 'aria-labelledby': ariaLabelledBy,
37
- children,
38
- onToggle,
39
- className: customClassName,
40
- // TO-DO: comment back in when footer is added for rails
41
- // translateById: t = (id) => translations[id],
42
- href,
43
- isFixedNav = false,
44
- isRail,
45
- isPersistent = true,
46
- addFocusListeners = true,
47
- addMouseListeners = true,
48
- onOverlayClick,
49
- onSideNavBlur,
50
- enterDelayMs = 100,
51
- ...other
52
- }, ref) {
31
+ const frFn = React.forwardRef;
32
+ const SideNav = frFn((props, ref) => {
33
+ const {
34
+ expanded: expandedProp,
35
+ defaultExpanded = false,
36
+ isChildOfHeader = true,
37
+ 'aria-label': ariaLabel,
38
+ 'aria-labelledby': ariaLabelledBy,
39
+ children,
40
+ onToggle,
41
+ className: customClassName,
42
+ // TO-DO: comment back in when footer is added for rails
43
+ // translateById: t = (id) => translations[id],
44
+ href,
45
+ isFixedNav = false,
46
+ isRail,
47
+ isPersistent = true,
48
+ addFocusListeners = true,
49
+ addMouseListeners = true,
50
+ onOverlayClick,
51
+ onSideNavBlur,
52
+ enterDelayMs = 100,
53
+ ...other
54
+ } = props;
53
55
  const prefix = usePrefix.usePrefix();
54
56
  const {
55
57
  current: controlled
@@ -175,8 +177,7 @@ function SideNavRenderFunction({
175
177
  className: `${prefix}--side-nav__navigation ${className}`,
176
178
  inert: !isRail ? !(expanded || isLg) : undefined
177
179
  }, accessibilityLabel, eventHandlers, other), childrenToRender));
178
- }
179
- const SideNav = /*#__PURE__*/React.forwardRef(SideNavRenderFunction);
180
+ });
180
181
  SideNav.displayName = 'SideNav';
181
182
  SideNav.propTypes = {
182
183
  /**
@@ -1,15 +1,23 @@
1
1
  /**
2
- * Copyright IBM Corp. 2021
2
+ * Copyright IBM Corp. 2021, 2025
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.
6
6
  */
7
- import React from 'react';
7
+ import PropTypes from 'prop-types';
8
8
  interface SideNavDividerProps {
9
9
  /**
10
10
  * Provide an optional class to be applied to the containing node
11
11
  */
12
12
  className?: string;
13
13
  }
14
- declare const SideNavDivider: React.FC<SideNavDividerProps>;
14
+ declare const SideNavDivider: {
15
+ ({ className }: SideNavDividerProps): import("react/jsx-runtime").JSX.Element;
16
+ propTypes: {
17
+ /**
18
+ * Provide an optional class to be applied to the containing node
19
+ */
20
+ className: PropTypes.Requireable<string>;
21
+ };
22
+ };
15
23
  export default SideNavDivider;
@@ -4,6 +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 PropTypes from 'prop-types';
7
8
  import React from 'react';
8
9
  export interface SideNavHeaderProps {
9
10
  /**
@@ -24,5 +25,27 @@ export interface SideNavHeaderProps {
24
25
  */
25
26
  renderIcon: React.ComponentType;
26
27
  }
27
- declare const SideNavHeader: React.FC<SideNavHeaderProps>;
28
+ declare const SideNavHeader: {
29
+ ({ children, className: customClassName, renderIcon: IconElement, }: SideNavHeaderProps): import("react/jsx-runtime").JSX.Element;
30
+ displayName: string;
31
+ propTypes: {
32
+ /**
33
+ * The child nodes to be rendered
34
+ */
35
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
36
+ /**
37
+ * Provide an optional class to be applied to the containing node
38
+ */
39
+ className: PropTypes.Requireable<string>;
40
+ /**
41
+ * Property to indicate if the side nav container is open (or not). Use to
42
+ * keep local state and styling in step with the SideNav expansion state.
43
+ */
44
+ isSideNavExpanded: PropTypes.Requireable<boolean>;
45
+ /**
46
+ * A component used to render an icon.
47
+ */
48
+ renderIcon: PropTypes.Validator<object>;
49
+ };
50
+ };
28
51
  export default SideNavHeader;
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
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.
6
6
  */
7
+ import PropTypes from 'prop-types';
7
8
  import React from 'react';
8
9
  export interface SideNavIconProps {
9
10
  /**
@@ -21,5 +22,22 @@ export interface SideNavIconProps {
21
22
  */
22
23
  small?: boolean;
23
24
  }
24
- declare const SideNavIcon: React.FC<SideNavIconProps>;
25
+ declare const SideNavIcon: {
26
+ ({ children, className: customClassName, small, }: SideNavIconProps): import("react/jsx-runtime").JSX.Element;
27
+ propTypes: {
28
+ /**
29
+ * Provide a single icon as the child to `SideNavIcon` to render in the
30
+ * container
31
+ */
32
+ children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
33
+ /**
34
+ * Provide an optional class to be applied to the containing node
35
+ */
36
+ className: PropTypes.Requireable<string>;
37
+ /**
38
+ * Specify whether the icon should be placed in a smaller bounding box
39
+ */
40
+ small: PropTypes.Requireable<boolean>;
41
+ };
42
+ };
25
43
  export default SideNavIcon;
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
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.
6
6
  */
7
+ import PropTypes from 'prop-types';
7
8
  import React from 'react';
8
9
  export interface SideNavItemProps {
9
10
  /**
@@ -20,5 +21,22 @@ export interface SideNavItemProps {
20
21
  */
21
22
  large?: boolean;
22
23
  }
23
- declare const SideNavItem: React.FC<SideNavItemProps>;
24
+ declare const SideNavItem: {
25
+ ({ className: customClassName, children, large, }: SideNavItemProps): import("react/jsx-runtime").JSX.Element;
26
+ propTypes: {
27
+ /**
28
+ * Provide a single icon as the child to `SideNavItem` to render in the
29
+ * container
30
+ */
31
+ children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
32
+ /**
33
+ * Provide an optional class to be applied to the containing node
34
+ */
35
+ className: PropTypes.Requireable<string>;
36
+ /**
37
+ * Specify if this is a large variation of the SideNavItem
38
+ */
39
+ large: PropTypes.Requireable<boolean>;
40
+ };
41
+ };
24
42
  export default SideNavItem;
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
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.
6
6
  */
7
+ import PropTypes from 'prop-types';
7
8
  import React from 'react';
8
9
  export interface SideNavItemsProps {
9
10
  /**
@@ -21,5 +22,24 @@ export interface SideNavItemsProps {
21
22
  */
22
23
  isSideNavExpanded?: boolean;
23
24
  }
24
- declare const SideNavItems: React.FC<SideNavItemsProps>;
25
+ declare const SideNavItems: {
26
+ ({ className: customClassName, children, isSideNavExpanded, }: SideNavItemsProps): import("react/jsx-runtime").JSX.Element;
27
+ displayName: string;
28
+ propTypes: {
29
+ /**
30
+ * Provide a single icon as the child to `SideNavIcon` to render in the
31
+ * container
32
+ */
33
+ children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
34
+ /**
35
+ * Provide an optional class to be applied to the containing node
36
+ */
37
+ className: PropTypes.Requireable<string>;
38
+ /**
39
+ * Property to indicate if the side nav container is open (or not). Use to
40
+ * keep local state and styling in step with the SideNav expansion state.
41
+ */
42
+ isSideNavExpanded: PropTypes.Requireable<boolean>;
43
+ };
44
+ };
25
45
  export default SideNavItems;
@@ -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.
@@ -22,16 +22,18 @@ var SideNav = require('./SideNav.js');
22
22
 
23
23
  // First define a non-generic base component to work with forwardRef
24
24
 
25
- const SideNavLinkBase = ({
26
- children,
27
- className: customClassName,
28
- renderIcon: IconElement,
29
- isActive,
30
- isSideNavExpanded,
31
- large = false,
32
- tabIndex,
33
- ...rest
34
- }, ref) => {
25
+ const frFn = React.forwardRef;
26
+ const SideNavLink = frFn((props, ref) => {
27
+ const {
28
+ children,
29
+ className: customClassName,
30
+ renderIcon: IconElement,
31
+ isActive,
32
+ isSideNavExpanded,
33
+ large = false,
34
+ tabIndex,
35
+ ...rest
36
+ } = props;
35
37
  const isRail = React.useContext(SideNav.SideNavContext);
36
38
  const prefix = usePrefix.usePrefix();
37
39
  const className = cx({
@@ -48,10 +50,8 @@ const SideNavLinkBase = ({
48
50
  }), IconElement && /*#__PURE__*/React.createElement(SideNavIcon.default, {
49
51
  small: true
50
52
  }, /*#__PURE__*/React.createElement(IconElement, null)), /*#__PURE__*/React.createElement(SideNavLinkText.default, null, children)));
51
- };
52
-
53
- // Use forwardRef with the non-generic function and cast to the generic component type
54
- const SideNavLink = /*#__PURE__*/React.forwardRef(SideNavLinkBase);
53
+ // Cast preserves the generic call signature for consumers after forwardRef.
54
+ });
55
55
  SideNavLink.displayName = 'SideNavLink';
56
56
  SideNavLink.propTypes = {
57
57
  ...Link.LinkPropTypes,
@@ -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,10 +1,10 @@
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.
6
6
  */
7
- import React, { ElementType, ComponentProps } from 'react';
7
+ import React, { type ComponentProps, type ElementType } from 'react';
8
8
  import Link from './Link';
9
9
  export type SideNavMenuItemProps = ComponentProps<typeof Link> & {
10
10
  /**
@@ -4,12 +4,20 @@
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
  export interface SwitcherDividerProps {
9
9
  /**
10
10
  * Optionally provide a custom class to apply to the underlying `<li>` node
11
11
  */
12
12
  className?: string;
13
13
  }
14
- declare const SwitcherDivider: React.FC<SwitcherDividerProps>;
14
+ declare const SwitcherDivider: {
15
+ ({ className: customClassName, ...other }: SwitcherDividerProps): import("react/jsx-runtime").JSX.Element;
16
+ propTypes: {
17
+ /**
18
+ * Optionally provide a custom class to apply to the underlying `<li>` node
19
+ */
20
+ className: PropTypes.Requireable<string>;
21
+ };
22
+ };
15
23
  export default SwitcherDivider;
@@ -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.
@@ -174,8 +174,6 @@ const FloatingMenu = ({
174
174
  // Re-check after setting the position if not already adjusting.
175
175
  if (!isAdjustment) {
176
176
  const newMenuSize = menuBody.getBoundingClientRect();
177
- // TODO: Was there a bug in the old code? How could one `DOMRect` be
178
- // compared to another using `!==`?
179
177
  if (newMenuSize.width !== menuSize.width || newMenuSize.height !== menuSize.height) {
180
178
  updateMenuPosition(true);
181
179
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2025
2
+ * Copyright IBM Corp. 2025, 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.
@@ -8,9 +8,9 @@ type AsProp<C extends React.ElementType> = {
8
8
  as?: C;
9
9
  };
10
10
  type PropsToOmit<C extends React.ElementType, P> = keyof (AsProp<C> & P);
11
- export type PolymorphicComponentProp<C extends React.ElementType, Props = {}> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
11
+ export type PolymorphicComponentProp<C extends React.ElementType, Props = Record<string, never>> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
12
12
  export type PolymorphicRef<C extends React.ElementType> = React.ComponentPropsWithRef<C>['ref'];
13
- export type PolymorphicComponentPropWithRef<C extends React.ElementType, Props = {}> = PolymorphicComponentProp<C, Props> & {
13
+ export type PolymorphicComponentPropWithRef<C extends React.ElementType, Props = Record<string, never>> = PolymorphicComponentProp<C, Props> & {
14
14
  ref?: PolymorphicRef<C>;
15
15
  };
16
16
  export {};
@@ -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.
@@ -10,13 +10,12 @@
10
10
  var React = require('react');
11
11
 
12
12
  const useNoInteractiveChildren = (ref, message = 'component should have no interactive child nodes') => {
13
- // TODO: Why can't the condition go inside the hook?
14
13
  if (process.env.NODE_ENV !== 'production') {
15
- // TODO: https://github.com/carbon-design-system/carbon/issues/19005
16
- /*
14
+ // This hook is intentionally called conditionally because it is
15
+ // stripped from production builds. In development it runs once
16
+ // to enforce accessibility constraints.
17
+ //
17
18
  // eslint-disable-next-line react-hooks/rules-of-hooks
18
- */
19
- // eslint-disable-next-line react-hooks/rules-of-hooks -- https://github.com/carbon-design-system/carbon/issues/20452
20
19
  React.useEffect(() => {
21
20
  const node = ref.current ? getInteractiveContent(ref.current) : false;
22
21
  if (node) {
@@ -30,13 +29,12 @@ const useNoInteractiveChildren = (ref, message = 'component should have no inter
30
29
  }
31
30
  };
32
31
  const useInteractiveChildrenNeedDescription = (ref, message = `interactive child node(s) should have an \`aria-describedby\` property`) => {
33
- // TODO: Why can't the condition go inside the hook?
34
32
  if (process.env.NODE_ENV !== 'production') {
35
- // TODO: https://github.com/carbon-design-system/carbon/issues/19005
36
- /*
33
+ // This hook is intentionally called conditionally because it is
34
+ // stripped from production builds. In development it runs once
35
+ // to enforce accessibility constraints.
36
+ //
37
37
  // eslint-disable-next-line react-hooks/rules-of-hooks
38
- */
39
- // eslint-disable-next-line react-hooks/rules-of-hooks -- https://github.com/carbon-design-system/carbon/issues/20452
40
38
  React.useEffect(() => {
41
39
  const node = ref.current ? getInteractiveContent(ref.current) : false;
42
40
  if (node && !node.hasAttribute('aria-describedby')) {