@carbon/react 1.80.1 → 1.81.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 (293) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +785 -785
  2. package/es/components/Accordion/AccordionItem.d.ts +2 -2
  3. package/es/components/AspectRatio/AspectRatio.d.ts +2 -2
  4. package/es/components/Button/Button.js +3 -0
  5. package/es/components/Button/ButtonBase.d.ts +2 -2
  6. package/es/components/ChatButton/ChatButton.js +5 -3
  7. package/es/components/CodeSnippet/CodeSnippet.js +2 -0
  8. package/es/components/ComboBox/ComboBox.d.ts +1 -1
  9. package/es/components/ComboBox/ComboBox.js +52 -30
  10. package/es/components/ComposedModal/ComposedModal.d.ts +1 -1
  11. package/es/components/ComposedModal/ComposedModal.js +1 -2
  12. package/es/components/ComposedModal/ModalFooter.js +0 -1
  13. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -1
  14. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +1 -1
  15. package/es/components/ContextMenu/useContextMenu.d.ts +1 -1
  16. package/es/components/DataTable/DataTable.d.ts +5 -5
  17. package/es/components/DataTable/DataTable.js +1 -1
  18. package/es/components/DataTable/TableActionList.d.ts +1 -1
  19. package/es/components/DataTable/TableCell.js +28 -4
  20. package/es/components/DataTable/TableExpandHeader.d.ts +1 -1
  21. package/es/components/DataTable/TableHead.d.ts +1 -1
  22. package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
  23. package/es/components/DataTable/TableToolbarSearch.d.ts +1 -1
  24. package/es/components/DataTable/tools/cells.d.ts +13 -0
  25. package/es/components/DataTable/tools/cells.js +3 -6
  26. package/es/components/DataTable/tools/filter.d.ts +26 -0
  27. package/es/components/DataTable/tools/filter.js +8 -17
  28. package/es/components/DatePicker/DatePicker.js +1 -1
  29. package/es/components/DatePickerInput/DatePickerInput.d.ts +2 -2
  30. package/es/components/Dropdown/Dropdown.d.ts +1 -1
  31. package/es/components/Dropdown/Dropdown.js +6 -6
  32. package/es/components/FeatureFlags/index.d.ts +1 -1
  33. package/es/components/FileUploader/FileUploader.d.ts +6 -1
  34. package/es/components/FileUploader/FileUploader.js +3 -1
  35. package/es/components/FileUploader/FileUploaderButton.d.ts +1 -1
  36. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  37. package/es/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
  38. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +5 -6
  39. package/es/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +3 -3
  40. package/es/components/FluidMultiSelect/FluidMultiSelect.d.ts +2 -2
  41. package/es/components/FluidMultiSelect/FluidMultiSelect.js +6 -4
  42. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +40 -0
  43. package/es/components/FluidNumberInput/FluidNumberInput.js +123 -0
  44. package/es/components/FluidTextInput/FluidTextInput.js +2 -2
  45. package/es/components/Grid/Column.js +1 -1
  46. package/es/components/Grid/GridTypes.d.ts +6 -1
  47. package/es/components/Layer/LayerLevel.d.ts +3 -3
  48. package/es/components/Layer/LayerLevel.js +4 -3
  49. package/es/components/Layer/index.d.ts +4 -2
  50. package/es/components/Layer/index.js +3 -2
  51. package/es/components/Link/Link.js +3 -1
  52. package/es/components/Menu/Menu.d.ts +1 -1
  53. package/es/components/Menu/Menu.js +4 -14
  54. package/es/components/Menu/MenuContext.d.ts +1 -1
  55. package/es/components/Menu/MenuItem.js +15 -4
  56. package/es/components/Modal/Modal.js +5 -2
  57. package/es/components/ModalWrapper/ModalWrapper.d.ts +2 -2
  58. package/es/components/MultiSelect/FilterableMultiSelect.d.ts +3 -3
  59. package/es/components/MultiSelect/FilterableMultiSelect.js +4 -3
  60. package/es/components/MultiSelect/MultiSelect.d.ts +2 -6
  61. package/es/components/MultiSelect/MultiSelect.js +22 -4
  62. package/es/components/MultiSelect/index.d.ts +2 -4
  63. package/es/components/NumberInput/NumberInput.js +2 -1
  64. package/es/components/OverflowMenu/OverflowMenu.d.ts +7 -1
  65. package/es/components/OverflowMenu/OverflowMenu.js +69 -17
  66. package/es/components/OverflowMenu/index.d.ts +2 -4
  67. package/es/components/OverflowMenu/index.js +10 -6
  68. package/es/components/OverflowMenu/next/index.js +0 -1
  69. package/es/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
  70. package/es/components/PageHeader/PageHeader.d.ts +9 -2
  71. package/es/components/PageHeader/PageHeader.js +16 -4
  72. package/es/components/PageHeader/index.d.ts +2 -2
  73. package/es/components/PageHeader/index.js +1 -1
  74. package/es/components/PaginationNav/PaginationNav.d.ts +1 -1
  75. package/es/components/PaginationNav/PaginationNav.js +2 -1
  76. package/es/components/Popover/index.d.ts +3 -2
  77. package/es/components/Popover/index.js +10 -5
  78. package/es/components/Portal/index.d.ts +1 -1
  79. package/es/components/Search/Search.js +0 -1
  80. package/es/components/SkeletonText/SkeletonText.js +3 -1
  81. package/es/components/Slider/Slider.d.ts +3 -13
  82. package/es/components/Slider/Slider.js +2 -14
  83. package/es/components/Tabs/Tabs.d.ts +2 -2
  84. package/es/components/Tabs/Tabs.js +8 -6
  85. package/es/components/Tabs/usePressable.js +1 -1
  86. package/es/components/Tag/Tag.js +9 -2
  87. package/es/components/Text/Text.js +3 -2
  88. package/es/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  89. package/es/components/TextInput/ControlledPasswordInput.js +0 -6
  90. package/es/components/TextInput/TextInput.d.ts +1 -1
  91. package/es/components/TextInput/TextInput.js +0 -4
  92. package/es/components/TextInput/index.d.ts +6 -0
  93. package/es/components/TextInput/index.js +0 -8
  94. package/es/components/Tile/Tile.js +0 -1
  95. package/es/components/Toggle/Toggle.d.ts +1 -1
  96. package/es/components/ToggleSmall/ToggleSmall.Skeleton.d.ts +9 -14
  97. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +37 -41
  98. package/es/components/Toggletip/index.js +11 -8
  99. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  100. package/es/components/TreeView/TreeView.d.ts +1 -1
  101. package/es/components/UIShell/Content.d.ts +14 -1
  102. package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  103. package/es/components/UIShell/HeaderMenu.d.ts +2 -99
  104. package/es/components/UIShell/HeaderMenu.js +10 -3
  105. package/es/components/UIShell/HeaderMenuButton.d.ts +1 -98
  106. package/es/components/UIShell/HeaderMenuItem.d.ts +3 -4
  107. package/es/components/UIShell/HeaderMenuItem.js +3 -3
  108. package/es/components/UIShell/HeaderName.js +1 -1
  109. package/es/components/UIShell/HeaderNavigation.d.ts +0 -97
  110. package/es/components/UIShell/Link.d.ts +8 -8
  111. package/es/components/UIShell/Link.js +8 -5
  112. package/es/components/UIShell/SideNav.d.ts +3 -3
  113. package/es/components/UIShell/SideNav.js +1 -1
  114. package/es/components/UIShell/SideNavHeader.js +0 -1
  115. package/es/components/UIShell/SideNavLink.d.ts +3 -4
  116. package/es/components/UIShell/SideNavLink.js +8 -3
  117. package/es/components/UIShell/SideNavMenu.js +0 -1
  118. package/es/components/UIShell/SideNavMenuItem.d.ts +1 -49
  119. package/es/components/UIShell/SideNavMenuItem.js +1 -1
  120. package/es/components/UIShell/SideNavSwitcher.js +0 -1
  121. package/es/components/UIShell/SwitcherItem.d.ts +2 -2
  122. package/es/components/UIShell/SwitcherItem.js +1 -1
  123. package/es/index.d.ts +2 -2
  124. package/es/index.js +7 -7
  125. package/es/internal/FloatingMenu.js +2 -1
  126. package/es/internal/clamp.d.ts +10 -0
  127. package/es/internal/clamp.js +13 -0
  128. package/es/internal/useEvent.d.ts +9 -0
  129. package/es/internal/useEvent.js +8 -49
  130. package/es/internal/useId.js +1 -1
  131. package/es/internal/useMatchMedia.d.ts +7 -2
  132. package/es/internal/useMatchMedia.js +9 -10
  133. package/es/internal/useNoInteractiveChildren.js +4 -2
  134. package/es/internal/useOutsideClick.d.ts +1 -1
  135. package/es/prop-types/AriaPropTypes.js +1 -1
  136. package/es/prop-types/isRequiredOneOf.d.ts +16 -0
  137. package/es/prop-types/isRequiredOneOf.js +11 -9
  138. package/es/tools/setupGetInstanceId.d.ts +12 -0
  139. package/es/tools/setupGetInstanceId.js +7 -8
  140. package/es/tools/toggleClass.d.ts +14 -0
  141. package/es/tools/toggleClass.js +9 -10
  142. package/es/tools/wrapComponent.d.ts +1 -1
  143. package/es/types/common.d.ts +1 -6
  144. package/lib/components/Accordion/AccordionItem.d.ts +2 -2
  145. package/lib/components/AspectRatio/AspectRatio.d.ts +2 -2
  146. package/lib/components/Button/Button.js +3 -0
  147. package/lib/components/Button/ButtonBase.d.ts +2 -2
  148. package/lib/components/ChatButton/ChatButton.js +5 -3
  149. package/lib/components/CodeSnippet/CodeSnippet.js +2 -0
  150. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  151. package/lib/components/ComboBox/ComboBox.js +52 -30
  152. package/lib/components/ComposedModal/ComposedModal.d.ts +1 -1
  153. package/lib/components/ComposedModal/ComposedModal.js +2 -3
  154. package/lib/components/ComposedModal/ModalFooter.js +0 -1
  155. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -1
  156. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +1 -1
  157. package/lib/components/ContextMenu/useContextMenu.d.ts +1 -1
  158. package/lib/components/DataTable/DataTable.d.ts +5 -5
  159. package/lib/components/DataTable/DataTable.js +1 -1
  160. package/lib/components/DataTable/TableActionList.d.ts +1 -1
  161. package/lib/components/DataTable/TableCell.js +28 -3
  162. package/lib/components/DataTable/TableExpandHeader.d.ts +1 -1
  163. package/lib/components/DataTable/TableHead.d.ts +1 -1
  164. package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
  165. package/lib/components/DataTable/TableToolbarSearch.d.ts +1 -1
  166. package/lib/components/DataTable/tools/cells.d.ts +13 -0
  167. package/lib/components/DataTable/tools/cells.js +3 -6
  168. package/lib/components/DataTable/tools/filter.d.ts +26 -0
  169. package/lib/components/DataTable/tools/filter.js +8 -17
  170. package/lib/components/DatePicker/DatePicker.js +1 -1
  171. package/lib/components/DatePickerInput/DatePickerInput.d.ts +2 -2
  172. package/lib/components/Dropdown/Dropdown.d.ts +1 -1
  173. package/lib/components/Dropdown/Dropdown.js +6 -6
  174. package/lib/components/FeatureFlags/index.d.ts +1 -1
  175. package/lib/components/FileUploader/FileUploader.d.ts +6 -1
  176. package/lib/components/FileUploader/FileUploader.js +3 -1
  177. package/lib/components/FileUploader/FileUploaderButton.d.ts +1 -1
  178. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  179. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
  180. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +4 -5
  181. package/lib/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +3 -3
  182. package/lib/components/FluidMultiSelect/FluidMultiSelect.d.ts +2 -2
  183. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +7 -5
  184. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +50 -0
  185. package/lib/components/FluidNumberInput/FluidNumberInput.js +133 -0
  186. package/lib/components/FluidTextInput/FluidTextInput.js +2 -2
  187. package/lib/components/Grid/Column.js +1 -1
  188. package/lib/components/Grid/GridTypes.d.ts +6 -1
  189. package/lib/components/Layer/LayerLevel.d.ts +3 -3
  190. package/lib/components/Layer/LayerLevel.js +4 -2
  191. package/lib/components/Layer/index.d.ts +4 -2
  192. package/lib/components/Layer/index.js +2 -1
  193. package/lib/components/Link/Link.js +3 -1
  194. package/lib/components/Menu/Menu.d.ts +1 -1
  195. package/lib/components/Menu/Menu.js +4 -14
  196. package/lib/components/Menu/MenuContext.d.ts +1 -1
  197. package/lib/components/Menu/MenuItem.js +15 -4
  198. package/lib/components/Modal/Modal.js +6 -3
  199. package/lib/components/ModalWrapper/ModalWrapper.d.ts +2 -2
  200. package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +3 -3
  201. package/lib/components/MultiSelect/FilterableMultiSelect.js +3 -2
  202. package/lib/components/MultiSelect/MultiSelect.d.ts +2 -6
  203. package/lib/components/MultiSelect/MultiSelect.js +21 -3
  204. package/lib/components/MultiSelect/index.d.ts +2 -4
  205. package/lib/components/NumberInput/NumberInput.js +2 -1
  206. package/lib/components/OverflowMenu/OverflowMenu.d.ts +7 -1
  207. package/lib/components/OverflowMenu/OverflowMenu.js +69 -17
  208. package/lib/components/OverflowMenu/index.d.ts +2 -4
  209. package/lib/components/OverflowMenu/index.js +9 -5
  210. package/lib/components/OverflowMenu/next/index.js +0 -1
  211. package/lib/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
  212. package/lib/components/PageHeader/PageHeader.d.ts +9 -2
  213. package/lib/components/PageHeader/PageHeader.js +17 -3
  214. package/lib/components/PageHeader/index.d.ts +2 -2
  215. package/lib/components/PageHeader/index.js +2 -0
  216. package/lib/components/PaginationNav/PaginationNav.d.ts +1 -1
  217. package/lib/components/PaginationNav/PaginationNav.js +2 -1
  218. package/lib/components/Popover/index.d.ts +3 -2
  219. package/lib/components/Popover/index.js +10 -5
  220. package/lib/components/Portal/index.d.ts +1 -1
  221. package/lib/components/Search/Search.js +0 -1
  222. package/lib/components/SkeletonText/SkeletonText.js +3 -1
  223. package/lib/components/Slider/Slider.d.ts +3 -13
  224. package/lib/components/Slider/Slider.js +2 -14
  225. package/lib/components/Tabs/Tabs.d.ts +2 -2
  226. package/lib/components/Tabs/Tabs.js +7 -5
  227. package/lib/components/Tabs/usePressable.js +1 -1
  228. package/lib/components/Tag/Tag.js +9 -2
  229. package/lib/components/Text/Text.js +2 -1
  230. package/lib/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  231. package/lib/components/TextInput/ControlledPasswordInput.js +0 -6
  232. package/lib/components/TextInput/TextInput.d.ts +1 -1
  233. package/lib/components/TextInput/TextInput.js +0 -4
  234. package/lib/components/TextInput/index.d.ts +6 -0
  235. package/lib/components/TextInput/index.js +1 -7
  236. package/lib/components/Tile/Tile.js +0 -1
  237. package/lib/components/Toggle/Toggle.d.ts +1 -1
  238. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.d.ts +9 -14
  239. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +34 -39
  240. package/lib/components/Toggletip/index.js +11 -8
  241. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  242. package/lib/components/TreeView/TreeView.d.ts +1 -1
  243. package/lib/components/UIShell/Content.d.ts +14 -1
  244. package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  245. package/lib/components/UIShell/HeaderMenu.d.ts +2 -99
  246. package/lib/components/UIShell/HeaderMenu.js +10 -3
  247. package/lib/components/UIShell/HeaderMenuButton.d.ts +1 -98
  248. package/lib/components/UIShell/HeaderMenuItem.d.ts +3 -4
  249. package/lib/components/UIShell/HeaderMenuItem.js +3 -3
  250. package/lib/components/UIShell/HeaderName.js +1 -1
  251. package/lib/components/UIShell/HeaderNavigation.d.ts +0 -97
  252. package/lib/components/UIShell/Link.d.ts +8 -8
  253. package/lib/components/UIShell/Link.js +7 -5
  254. package/lib/components/UIShell/SideNav.d.ts +3 -3
  255. package/lib/components/UIShell/SideNav.js +1 -1
  256. package/lib/components/UIShell/SideNavHeader.js +0 -1
  257. package/lib/components/UIShell/SideNavLink.d.ts +3 -4
  258. package/lib/components/UIShell/SideNavLink.js +8 -3
  259. package/lib/components/UIShell/SideNavMenu.js +0 -1
  260. package/lib/components/UIShell/SideNavMenuItem.d.ts +1 -49
  261. package/lib/components/UIShell/SideNavMenuItem.js +1 -1
  262. package/lib/components/UIShell/SideNavSwitcher.js +0 -1
  263. package/lib/components/UIShell/SwitcherItem.d.ts +2 -2
  264. package/lib/components/UIShell/SwitcherItem.js +1 -1
  265. package/lib/index.d.ts +2 -2
  266. package/lib/index.js +13 -11
  267. package/lib/internal/FloatingMenu.js +2 -1
  268. package/lib/internal/clamp.d.ts +10 -0
  269. package/lib/internal/clamp.js +17 -0
  270. package/lib/internal/useEvent.d.ts +9 -0
  271. package/lib/internal/useEvent.js +8 -49
  272. package/lib/internal/useId.js +1 -1
  273. package/lib/internal/useMatchMedia.d.ts +7 -2
  274. package/lib/internal/useMatchMedia.js +9 -10
  275. package/lib/internal/useNoInteractiveChildren.js +4 -2
  276. package/lib/internal/useOutsideClick.d.ts +1 -1
  277. package/lib/prop-types/AriaPropTypes.js +1 -1
  278. package/lib/prop-types/isRequiredOneOf.d.ts +16 -0
  279. package/lib/prop-types/isRequiredOneOf.js +11 -9
  280. package/lib/tools/setupGetInstanceId.d.ts +12 -0
  281. package/lib/tools/setupGetInstanceId.js +7 -8
  282. package/lib/tools/toggleClass.d.ts +14 -0
  283. package/lib/tools/toggleClass.js +9 -10
  284. package/lib/tools/wrapComponent.d.ts +1 -1
  285. package/lib/types/common.d.ts +1 -6
  286. package/package.json +15 -15
  287. package/telemetry.yml +11 -12
  288. package/es/components/MultiSelect/index.js +0 -13
  289. package/es/internal/ClickListener.d.ts +0 -13
  290. package/es/internal/ClickListener.js +0 -47
  291. package/lib/components/MultiSelect/index.js +0 -19
  292. package/lib/internal/ClickListener.d.ts +0 -13
  293. package/lib/internal/ClickListener.js +0 -51
@@ -157,9 +157,15 @@ class HeaderMenu extends React__default.Component {
157
157
  onKeyDown,
158
158
  ...rest
159
159
  } = this.props;
160
- const hasActiveDescendant = childrenArg => React__default.Children.toArray(childrenArg).some(child => /*#__PURE__*/React__default.isValidElement(child) && (
161
- // This is the type guard
162
- child.props.isActive || child.props.isCurrentPage || Array.isArray(child.props.children) && hasActiveDescendant(child.props.children)));
160
+ const hasActiveDescendant = childrenArg => React__default.Children.toArray(childrenArg).some(child => {
161
+ if (! /*#__PURE__*/React__default.isValidElement(child)) {
162
+ return false;
163
+ }
164
+
165
+ // Explicitly type the element to access props safely
166
+ const element = child;
167
+ return element.props.isActive || element.props.isCurrentPage || Array.isArray(element.props.children) && hasActiveDescendant(element.props.children);
168
+ });
163
169
  const accessibilityLabel = {
164
170
  'aria-label': ariaLabel,
165
171
  'aria-labelledby': ariaLabelledBy
@@ -203,6 +209,7 @@ class HeaderMenu extends React__default.Component {
203
209
  className: `${this.context}--header__menu-arrow`
204
210
  })), /*#__PURE__*/React__default.createElement("ul", _extends({}, accessibilityLabel, {
205
211
  ref: this._subMenus,
212
+ onClick: this.handleOnClick,
206
213
  className: `${prefix}--header__menu`
207
214
  }), React__default.Children.map(children, this._renderMenuItem)));
208
215
  }
@@ -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 { type ComponentProps } from 'react';
7
+ import { type ComponentProps, type JSX } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  type HeaderMenuButtonBaseProps = Omit<ComponentProps<'button'>, 'title' | 'type'>;
10
10
  export interface HeaderMenuButtonProps extends HeaderMenuButtonBaseProps {
@@ -37,103 +37,6 @@ declare namespace HeaderMenuButton {
37
37
  * button fires it's onclick event
38
38
  */
39
39
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
40
- 0: string;
41
- length: 1;
42
- toString(): string;
43
- toLocaleString(): string;
44
- toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
45
- pop(): string | undefined;
46
- push(...items: string[]): number;
47
- concat(...items: ConcatArray<string>[]): string[];
48
- concat(...items: (string | ConcatArray<string>)[]): string[];
49
- join(separator?: string): string;
50
- reverse(): string[];
51
- shift(): string | undefined;
52
- slice(start?: number, end?: number): string[];
53
- sort(compareFn?: ((a: string, b: string) => number) | undefined): [key: string];
54
- splice(start: number, deleteCount?: number): string[];
55
- splice(start: number, deleteCount: number, ...items: string[]): string[];
56
- unshift(...items: string[]): number;
57
- indexOf(searchElement: string, fromIndex?: number): number;
58
- lastIndexOf(searchElement: string, fromIndex?: number): number;
59
- every<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[];
60
- every(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean;
61
- some(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean;
62
- forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void;
63
- map<U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any): U[];
64
- filter<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[];
65
- filter(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[];
66
- reduce(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string;
67
- reduce(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string;
68
- reduce<U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U;
69
- reduceRight(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string;
70
- reduceRight(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string;
71
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U;
72
- find<S extends string>(predicate: (value: string, index: number, obj: string[]) => value is S, thisArg?: any): S | undefined;
73
- find(predicate: (value: string, index: number, obj: string[]) => unknown, thisArg?: any): string | undefined;
74
- findIndex(predicate: (value: string, index: number, obj: string[]) => unknown, thisArg?: any): number;
75
- fill(value: string, start?: number, end?: number): [key: string];
76
- copyWithin(target: number, start: number, end?: number): [key: string];
77
- entries(): ArrayIterator<[number, string]>;
78
- keys(): ArrayIterator<number>;
79
- values(): ArrayIterator<string>;
80
- includes(searchElement: string, fromIndex?: number): boolean;
81
- flatMap<U, This = undefined>(callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined): U[];
82
- flat<A, D extends number = 1>(this: A, depth?: D | undefined): FlatArray<A, D>[];
83
- at(index: number): string | undefined;
84
- findLast<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined;
85
- findLast(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined;
86
- findLastIndex(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): number;
87
- toReversed(): string[];
88
- toSorted(compareFn?: ((a: string, b: string) => number) | undefined): string[];
89
- toSpliced(start: number, deleteCount: number, ...items: string[]): string[];
90
- toSpliced(start: number, deleteCount?: number): string[];
91
- with(index: number, value: string): string[];
92
- [Symbol.iterator](): ArrayIterator<string>;
93
- [Symbol.unscopables]: {
94
- [x: number]: boolean | undefined;
95
- length?: boolean | undefined;
96
- toString?: boolean | undefined;
97
- toLocaleString?: boolean | undefined;
98
- pop?: boolean | undefined;
99
- push?: boolean | undefined;
100
- concat?: boolean | undefined;
101
- join?: boolean | undefined;
102
- reverse?: boolean | undefined;
103
- shift?: boolean | undefined;
104
- slice?: boolean | undefined;
105
- sort?: boolean | undefined;
106
- splice?: boolean | undefined;
107
- unshift?: boolean | undefined;
108
- indexOf?: boolean | undefined;
109
- lastIndexOf?: boolean | undefined;
110
- every?: boolean | undefined;
111
- some?: boolean | undefined;
112
- forEach?: boolean | undefined;
113
- map?: boolean | undefined;
114
- filter?: boolean | undefined;
115
- reduce?: boolean | undefined;
116
- reduceRight?: boolean | undefined;
117
- find?: boolean | undefined;
118
- findIndex?: boolean | undefined;
119
- fill?: boolean | undefined;
120
- copyWithin?: boolean | undefined;
121
- entries?: boolean | undefined;
122
- keys?: boolean | undefined;
123
- values?: boolean | undefined;
124
- includes?: boolean | undefined;
125
- flatMap?: boolean | undefined;
126
- flat?: boolean | undefined;
127
- at?: boolean | undefined;
128
- findLast?: boolean | undefined;
129
- findLastIndex?: boolean | undefined;
130
- toReversed?: boolean | undefined;
131
- toSorted?: boolean | undefined;
132
- toSpliced?: boolean | undefined;
133
- with?: boolean | undefined;
134
- [Symbol.iterator]?: boolean | undefined;
135
- readonly [Symbol.unscopables]?: boolean | undefined;
136
- };
137
40
  };
138
41
  }
139
42
  export default HeaderMenuButton;
@@ -4,7 +4,8 @@
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 { type ComponentProps, type ForwardedRef, type ReactNode, ElementType, WeakValidationMap } from 'react';
7
+ import { WeakValidationMap } from 'prop-types';
8
+ import { type ComponentProps, type ReactNode, ElementType, JSX } from 'react';
8
9
  import { PolymorphicComponentPropWithRef } from '../../internal/PolymorphicProps';
9
10
  export interface HeaderMenuItemBaseProps {
10
11
  className?: string | undefined;
@@ -17,9 +18,7 @@ export interface HeaderMenuItemBaseProps {
17
18
  }
18
19
  export type HeaderMenuItemProps<E extends ElementType = 'a'> = PolymorphicComponentPropWithRef<E, HeaderMenuItemBaseProps>;
19
20
  export interface HeaderMenuItemComponent {
20
- <E extends ElementType = 'a'>(props: HeaderMenuItemProps<E> & {
21
- ref?: ForwardedRef<ElementType>;
22
- }): JSX.Element | null;
21
+ <E extends ElementType = 'a'>(props: HeaderMenuItemProps<E>): JSX.Element | null;
23
22
  displayName?: string;
24
23
  propTypes?: WeakValidationMap<HeaderMenuItemProps<any>>;
25
24
  }
@@ -9,11 +9,11 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
9
9
  import PropTypes from 'prop-types';
10
10
  import React__default, { forwardRef } from 'react';
11
11
  import cx from 'classnames';
12
- import { LinkPropTypes, Link } from './Link.js';
12
+ import Link, { LinkPropTypes } from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
  import deprecate from '../../prop-types/deprecate.js';
15
15
 
16
- const HeaderMenuItem = /*#__PURE__*/forwardRef(function HeaderMenuItemRenderFunction(_ref, ref) {
16
+ const HeaderMenuItem = /*#__PURE__*/forwardRef(function HeaderMenuItem(_ref, ref) {
17
17
  let {
18
18
  className,
19
19
  isActive,
@@ -21,7 +21,7 @@ const HeaderMenuItem = /*#__PURE__*/forwardRef(function HeaderMenuItemRenderFunc
21
21
  'aria-current': ariaCurrent,
22
22
  children,
23
23
  role,
24
- tabIndex = 0,
24
+ tabIndex,
25
25
  ...rest
26
26
  } = _ref;
27
27
  const prefix = usePrefix();
@@ -9,7 +9,7 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
9
9
  import cx from 'classnames';
10
10
  import React__default from 'react';
11
11
  import PropTypes from 'prop-types';
12
- import { LinkPropTypes, Link } from './Link.js';
12
+ import Link, { LinkPropTypes } from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
15
  function HeaderName(_ref) {
@@ -19,103 +19,6 @@ declare namespace HeaderNavigation {
19
19
  * Optionally provide a custom class to apply to the underlying <nav> node
20
20
  */
21
21
  className: PropTypes.Requireable<string>;
22
- 0: string;
23
- length: 1;
24
- toString(): string;
25
- toLocaleString(): string;
26
- toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
27
- pop(): string | undefined;
28
- push(...items: string[]): number;
29
- concat(...items: ConcatArray<string>[]): string[];
30
- concat(...items: (string | ConcatArray<string>)[]): string[];
31
- join(separator?: string): string;
32
- reverse(): string[];
33
- shift(): string | undefined;
34
- slice(start?: number, end?: number): string[];
35
- sort(compareFn?: ((a: string, b: string) => number) | undefined): [key: string];
36
- splice(start: number, deleteCount?: number): string[];
37
- splice(start: number, deleteCount: number, ...items: string[]): string[];
38
- unshift(...items: string[]): number;
39
- indexOf(searchElement: string, fromIndex?: number): number;
40
- lastIndexOf(searchElement: string, fromIndex?: number): number;
41
- every<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[];
42
- every(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean;
43
- some(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean;
44
- forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void;
45
- map<U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any): U[];
46
- filter<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[];
47
- filter(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[];
48
- reduce(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string;
49
- reduce(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string;
50
- reduce<U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U;
51
- reduceRight(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string;
52
- reduceRight(callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string;
53
- reduceRight<U>(callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U;
54
- find<S extends string>(predicate: (value: string, index: number, obj: string[]) => value is S, thisArg?: any): S | undefined;
55
- find(predicate: (value: string, index: number, obj: string[]) => unknown, thisArg?: any): string | undefined;
56
- findIndex(predicate: (value: string, index: number, obj: string[]) => unknown, thisArg?: any): number;
57
- fill(value: string, start?: number, end?: number): [key: string];
58
- copyWithin(target: number, start: number, end?: number): [key: string];
59
- entries(): ArrayIterator<[number, string]>;
60
- keys(): ArrayIterator<number>;
61
- values(): ArrayIterator<string>;
62
- includes(searchElement: string, fromIndex?: number): boolean;
63
- flatMap<U, This = undefined>(callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined): U[];
64
- flat<A, D extends number = 1>(this: A, depth?: D | undefined): FlatArray<A, D>[];
65
- at(index: number): string | undefined;
66
- findLast<S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined;
67
- findLast(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined;
68
- findLastIndex(predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): number;
69
- toReversed(): string[];
70
- toSorted(compareFn?: ((a: string, b: string) => number) | undefined): string[];
71
- toSpliced(start: number, deleteCount: number, ...items: string[]): string[];
72
- toSpliced(start: number, deleteCount?: number): string[];
73
- with(index: number, value: string): string[];
74
- [Symbol.iterator](): ArrayIterator<string>;
75
- [Symbol.unscopables]: {
76
- [x: number]: boolean | undefined;
77
- length?: boolean | undefined;
78
- toString?: boolean | undefined;
79
- toLocaleString?: boolean | undefined;
80
- pop?: boolean | undefined;
81
- push?: boolean | undefined;
82
- concat?: boolean | undefined;
83
- join?: boolean | undefined;
84
- reverse?: boolean | undefined;
85
- shift?: boolean | undefined;
86
- slice?: boolean | undefined;
87
- sort?: boolean | undefined;
88
- splice?: boolean | undefined;
89
- unshift?: boolean | undefined;
90
- indexOf?: boolean | undefined;
91
- lastIndexOf?: boolean | undefined;
92
- every?: boolean | undefined;
93
- some?: boolean | undefined;
94
- forEach?: boolean | undefined;
95
- map?: boolean | undefined;
96
- filter?: boolean | undefined;
97
- reduce?: boolean | undefined;
98
- reduceRight?: boolean | undefined;
99
- find?: boolean | undefined;
100
- findIndex?: boolean | undefined;
101
- fill?: boolean | undefined;
102
- copyWithin?: boolean | undefined;
103
- entries?: boolean | undefined;
104
- keys?: boolean | undefined;
105
- values?: boolean | undefined;
106
- includes?: boolean | undefined;
107
- flatMap?: boolean | undefined;
108
- flat?: boolean | undefined;
109
- at?: boolean | undefined;
110
- findLast?: boolean | undefined;
111
- findLastIndex?: boolean | undefined;
112
- toReversed?: boolean | undefined;
113
- toSorted?: boolean | undefined;
114
- toSpliced?: boolean | undefined;
115
- with?: boolean | undefined;
116
- [Symbol.iterator]?: boolean | undefined;
117
- readonly [Symbol.unscopables]?: boolean | undefined;
118
- };
119
22
  };
120
23
  }
121
24
  export default HeaderNavigation;
@@ -4,24 +4,24 @@
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';
8
- import React, { ForwardedRef, type ElementType, type WeakValidationMap } from 'react';
7
+ import PropTypes, { WeakValidationMap } from 'prop-types';
8
+ import { JSX, type ElementType } from 'react';
9
9
  import { PolymorphicProps } from '../../types/common';
10
- import { HeaderMenuItemBaseProps } from './HeaderMenuItem';
11
10
  export interface LinkBaseProps {
12
11
  /**
13
12
  * @deprecated Use `as` instead
14
13
  */
15
- element?: undefined;
16
- ref?: ForwardedRef<ElementType>;
14
+ element?: ElementType | undefined;
15
+ as?: ElementType | undefined;
16
+ isSideNavExpanded?: boolean | undefined;
17
17
  }
18
- export type LinkProps<E extends React.ElementType> = PolymorphicProps<E, LinkBaseProps>;
18
+ export type LinkProps<E extends ElementType = 'a'> = PolymorphicProps<E, LinkBaseProps>;
19
19
  export interface LinkComponent {
20
- <E extends ElementType = 'a'>(props: LinkProps<E> | HeaderMenuItemBaseProps): JSX.Element | null;
20
+ <E extends ElementType = 'a'>(props: LinkProps<E>): JSX.Element | null;
21
21
  displayName?: string;
22
22
  propTypes?: WeakValidationMap<LinkProps<any>>;
23
23
  }
24
- export declare const Link: LinkComponent;
24
+ declare const Link: LinkComponent;
25
25
  /**
26
26
  * Link is a custom component that allows us to supporting rendering elements
27
27
  * other than `a` in our markup. The goal is to allow users to support passing
@@ -10,10 +10,9 @@ import PropTypes from 'prop-types';
10
10
  import React__default from 'react';
11
11
  import deprecate from '../../prop-types/deprecate.js';
12
12
 
13
- // Note: Maybe we should use `as` instead of `element`? `as` appears to be
14
- // standard and is used in other places in this project.
13
+ // First define the component without generics
15
14
 
16
- const Link = /*#__PURE__*/React__default.forwardRef(function LinkRenderFunction(_ref, ref) {
15
+ const LinkBase = (_ref, ref) => {
17
16
  let {
18
17
  element,
19
18
  as: BaseComponent,
@@ -26,7 +25,11 @@ const Link = /*#__PURE__*/React__default.forwardRef(function LinkRenderFunction(
26
25
  return /*#__PURE__*/React__default.createElement(BaseComponentAsAny, _extends({
27
26
  ref: ref
28
27
  }, rest));
29
- });
28
+ };
29
+
30
+ // Use forwardRef with the non-generic function
31
+ const Link = /*#__PURE__*/React__default.forwardRef(LinkBase);
32
+
30
33
  /**
31
34
  * Link is a custom component that allows us to supporting rendering elements
32
35
  * other than `a` in our markup. The goal is to allow users to support passing
@@ -56,4 +59,4 @@ const LinkPropTypes = {
56
59
  Link.displayName = 'Link';
57
60
  Link.propTypes = LinkPropTypes;
58
61
 
59
- export { Link, LinkPropTypes, Link as default };
62
+ export { LinkPropTypes, Link as default };
@@ -4,8 +4,8 @@
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 ComponentProps, type FocusEvent, type KeyboardEvent, type MouseEventHandler } from 'react';
8
- export interface SideNavProps extends ComponentProps<'nav'> {
7
+ import React, { type FocusEvent, type KeyboardEvent, type MouseEventHandler } from 'react';
8
+ export interface SideNavProps {
9
9
  expanded?: boolean | undefined;
10
10
  defaultExpanded?: boolean | undefined;
11
11
  isChildOfHeader?: boolean | undefined;
@@ -25,5 +25,5 @@ interface SideNavContextData {
25
25
  isRail?: boolean | undefined;
26
26
  }
27
27
  export declare const SideNavContext: React.Context<SideNavContextData>;
28
- declare const SideNav: React.ForwardRefExoticComponent<Omit<SideNavProps, "ref"> & React.RefAttributes<HTMLElement>>;
28
+ declare const SideNav: React.ForwardRefExoticComponent<Omit<SideNavProps & React.ClassAttributes<HTMLElement> & React.HTMLAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
29
29
  export default SideNav;
@@ -171,7 +171,7 @@ function SideNavRenderFunction(_ref, ref) {
171
171
  tabIndex: -1,
172
172
  ref: navRef,
173
173
  className: `${prefix}--side-nav__navigation ${className}`,
174
- inert: !isRail ? expanded || isLg ? undefined : -1 : undefined
174
+ inert: !isRail ? !(expanded || isLg) : undefined
175
175
  }, accessibilityLabel, eventHandlers, other), childrenToRender));
176
176
  }
177
177
  const SideNav = /*#__PURE__*/React__default.forwardRef(SideNavRenderFunction);
@@ -41,7 +41,6 @@ SideNavHeader.propTypes = {
41
41
  /**
42
42
  * A component used to render an icon.
43
43
  */
44
- // @ts-expect-error - PropTypes are unable to cover this case.
45
44
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired
46
45
  };
47
46
 
@@ -4,7 +4,8 @@
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 { ComponentType, ElementType, ForwardedRef, ReactNode, WeakValidationMap } from 'react';
7
+ import { WeakValidationMap } from 'prop-types';
8
+ import { ComponentType, ElementType, JSX, ReactNode } from 'react';
8
9
  import { LinkProps } from './Link';
9
10
  export type SideNavLinkProps<E extends ElementType> = LinkProps<E> & {
10
11
  /**
@@ -46,9 +47,7 @@ export type SideNavLinkProps<E extends ElementType> = LinkProps<E> & {
46
47
  tabIndex?: number;
47
48
  };
48
49
  export interface SideNavLinkComponent {
49
- <E extends ElementType = 'a'>(props: SideNavLinkProps<E> & {
50
- ref?: ForwardedRef<ElementType>;
51
- }): JSX.Element | null;
50
+ <E extends ElementType = 'a'>(props: SideNavLinkProps<E>): JSX.Element | null;
52
51
  displayName?: string;
53
52
  propTypes?: WeakValidationMap<SideNavLinkProps<any>>;
54
53
  }
@@ -9,14 +9,16 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
11
  import React__default, { forwardRef, useContext } from 'react';
12
- import { LinkPropTypes, Link } from './Link.js';
12
+ import Link, { LinkPropTypes } from './Link.js';
13
13
  import SideNavIcon from './SideNavIcon.js';
14
14
  import SideNavItem from './SideNavItem.js';
15
15
  import SideNavLinkText from './SideNavLinkText.js';
16
16
  import { usePrefix } from '../../internal/usePrefix.js';
17
17
  import { SideNavContext } from './SideNav.js';
18
18
 
19
- const SideNavLink = /*#__PURE__*/forwardRef(function SideNavLink(_ref, ref) {
19
+ // First define a non-generic base component to work with forwardRef
20
+
21
+ const SideNavLinkBase = (_ref, ref) => {
20
22
  let {
21
23
  children,
22
24
  className: customClassName,
@@ -43,7 +45,10 @@ const SideNavLink = /*#__PURE__*/forwardRef(function SideNavLink(_ref, ref) {
43
45
  }), IconElement && /*#__PURE__*/React__default.createElement(SideNavIcon, {
44
46
  small: true
45
47
  }, /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement(SideNavLinkText, null, children)));
46
- });
48
+ };
49
+
50
+ // Use forwardRef with the non-generic function and cast to the generic component type
51
+ const SideNavLink = /*#__PURE__*/forwardRef(SideNavLinkBase);
47
52
  SideNavLink.displayName = 'SideNavLink';
48
53
  SideNavLink.propTypes = {
49
54
  ...LinkPropTypes,
@@ -112,7 +112,6 @@ SideNavMenu.propTypes = {
112
112
  /**
113
113
  * A component used to render an icon.
114
114
  */
115
- // @ts-expect-error - PropTypes are unable to cover this case.
116
115
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
117
116
  /**
118
117
  * Optional prop to specify the tabIndex of the button. If undefined, it will be applied default validation
@@ -30,53 +30,5 @@ export type SideNavMenuItemProps = ComponentProps<typeof Link> & {
30
30
  */
31
31
  as?: ElementType;
32
32
  };
33
- declare const SideNavMenuItem: React.ForwardRefExoticComponent<((import("./HeaderMenuItem").HeaderMenuItemBaseProps & {
34
- /**
35
- * Specify the children to be rendered inside of the `SideNavMenuItem`
36
- */
37
- children?: React.ReactNode;
38
- /**
39
- * Provide an optional class to be applied to the containing node
40
- */
41
- className?: string;
42
- /**
43
- * Optionally specify whether the link is "active". An active link is one that
44
- * has an href that is the same as the current page. Can also pass in
45
- * `aria-current="page"`, as well.
46
- */
47
- isActive?: boolean;
48
- /**
49
- * Optionally provide an href for the underlying li`
50
- */
51
- href?: string;
52
- /**
53
- * Optional component to render instead of default Link
54
- */
55
- as?: ElementType;
56
- }) | Omit<import("./Link").LinkBaseProps & Omit<any, "as"> & {
57
- as?: React.ElementType | undefined;
58
- } & {
59
- /**
60
- * Specify the children to be rendered inside of the `SideNavMenuItem`
61
- */
62
- children?: React.ReactNode;
63
- /**
64
- * Provide an optional class to be applied to the containing node
65
- */
66
- className?: string;
67
- /**
68
- * Optionally specify whether the link is "active". An active link is one that
69
- * has an href that is the same as the current page. Can also pass in
70
- * `aria-current="page"`, as well.
71
- */
72
- isActive?: boolean;
73
- /**
74
- * Optionally provide an href for the underlying li`
75
- */
76
- href?: string;
77
- /**
78
- * Optional component to render instead of default Link
79
- */
80
- as?: ElementType;
81
- }, "ref">) & React.RefAttributes<HTMLElement>>;
33
+ declare const SideNavMenuItem: React.ForwardRefExoticComponent<Omit<SideNavMenuItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
82
34
  export default SideNavMenuItem;
@@ -10,7 +10,7 @@ import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
11
  import React__default from 'react';
12
12
  import SideNavLinkText from './SideNavLinkText.js';
13
- import { Link } from './Link.js';
13
+ import Link from './Link.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
16
  const SideNavMenuItem = /*#__PURE__*/React__default.forwardRef(function SideNavMenuItem(props, ref) {
@@ -73,7 +73,6 @@ SideNavSwitcher.propTypes = {
73
73
  * `<option>`. The text value will be what is displayed to the user and is set
74
74
  * as the `value` prop for each `<option>`.
75
75
  */
76
- // @ts-expect-error
77
76
  options: PropTypes.arrayOf(PropTypes.string).isRequired
78
77
  };
79
78
 
@@ -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, { HTMLAttributeAnchorTarget, KeyboardEvent } from 'react';
7
+ import React, { HTMLAttributeAnchorTarget, KeyboardEvent, MouseEvent } from 'react';
8
8
  export interface BaseSwitcherItemProps {
9
9
  /**
10
10
  * Specify the text content for the link
@@ -32,7 +32,7 @@ export interface BaseSwitcherItemProps {
32
32
  /**
33
33
  * event handlers
34
34
  */
35
- onClick?: (event: MouseEvent) => void;
35
+ onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
36
36
  /**
37
37
  * Specify the tab index of the Link
38
38
  */
@@ -9,7 +9,7 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
9
9
  import React__default, { forwardRef } from 'react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
- import { Link } from './Link.js';
12
+ import Link from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
  import { ArrowDown, ArrowUp } from '../../internal/keyboard/keys.js';
15
15
  import { match } from '../../internal/keyboard/match.js';
package/es/index.d.ts CHANGED
@@ -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.
@@ -35,7 +35,6 @@ export { FeatureFlags, useFeatureFlag, useFeatureFlags, FeatureFlags as unstable
35
35
  useFeatureFlag as unstable_useFeatureFlag, // this export can be removed in v12
36
36
  useFeatureFlags as unstable_useFeatureFlags, } from './components/FeatureFlags';
37
37
  export * from './components/FileUploader';
38
- export * from './components/FilterableMultiSelect';
39
38
  export * from './components/FluidForm';
40
39
  export * from './components/Form';
41
40
  export * from './components/FormGroup';
@@ -108,6 +107,7 @@ export { FluidSelect as unstable__FluidSelect, FluidSelectSkeleton as unstable__
108
107
  export { FluidSearch as unstable__FluidSearch, FluidSearchSkeleton as unstable__FluidSearchSkeleton, } from './components/FluidSearch';
109
108
  export { FluidTextArea as unstable__FluidTextArea, FluidTextAreaSkeleton as unstable__FluidTextAreaSkeleton, } from './components/FluidTextArea';
110
109
  export { FluidTextInput as unstable__FluidTextInput, FluidTextInputSkeleton as unstable__FluidTextInputSkeleton, } from './components/FluidTextInput';
110
+ export { FluidNumberInput as unstable__FluidNumberInput, FluidNumberInputSkeleton as unstable__FluidNumberInputSkeleton, } from './components/FluidNumberInput';
111
111
  export { FluidTimePicker as unstable__FluidTimePicker, FluidTimePickerSkeleton as unstable__FluidTimePickerSkeleton, } from './components/FluidTimePicker';
112
112
  export { FluidTimePickerSelect as unstable__FluidTimePickerSelect } from './components/FluidTimePickerSelect';
113
113
  export * from './components/Heading';