@carbon/react 1.83.0 → 1.84.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 (524) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +909 -874
  2. package/README.md +1 -1
  3. package/es/components/AILabel/index.js +27 -30
  4. package/es/components/AISkeleton/AISkeletonIcon.js +4 -5
  5. package/es/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  6. package/es/components/AISkeleton/AISkeletonText.js +4 -5
  7. package/es/components/Accordion/Accordion.Skeleton.js +9 -10
  8. package/es/components/Accordion/Accordion.js +10 -11
  9. package/es/components/Accordion/AccordionItem.js +13 -14
  10. package/es/components/Accordion/AccordionProvider.js +4 -5
  11. package/es/components/AspectRatio/AspectRatio.js +7 -8
  12. package/es/components/BadgeIndicator/index.js +5 -6
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  14. package/es/components/Button/Button.Skeleton.js +7 -8
  15. package/es/components/Button/ButtonBase.js +23 -24
  16. package/es/components/ChatButton/ChatButton.Skeleton.js +5 -6
  17. package/es/components/ChatButton/ChatButton.js +11 -12
  18. package/es/components/Checkbox/Checkbox.Skeleton.js +4 -5
  19. package/es/components/Checkbox/Checkbox.js +19 -20
  20. package/es/components/CheckboxGroup/CheckboxGroup.js +16 -17
  21. package/es/components/ClassPrefix/index.js +4 -5
  22. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  23. package/es/components/CodeSnippet/CodeSnippet.js +25 -26
  24. package/es/components/ComboBox/ComboBox.js +24 -30
  25. package/es/components/ComboBox/tools/filter.js +9 -12
  26. package/es/components/ComboButton/index.js +16 -18
  27. package/es/components/ComposedModal/ComposedModal.js +50 -36
  28. package/es/components/ComposedModal/ModalFooter.js +37 -42
  29. package/es/components/ComposedModal/ModalHeader.js +14 -15
  30. package/es/components/ContainedList/ContainedList.js +10 -11
  31. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  32. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +9 -29
  33. package/es/components/ContentSwitcher/ContentSwitcher.js +96 -128
  34. package/es/components/ContentSwitcher/index.d.ts +3 -4
  35. package/es/components/ContextMenu/useContextMenu.js +1 -2
  36. package/es/components/Copy/Copy.js +11 -12
  37. package/es/components/CopyButton/CopyButton.js +10 -11
  38. package/es/components/DataTable/DataTable.js +45 -53
  39. package/es/components/DataTable/Table.js +15 -18
  40. package/es/components/DataTable/TableBatchAction.js +8 -11
  41. package/es/components/DataTable/TableBatchActions.js +18 -20
  42. package/es/components/DataTable/TableBody.js +8 -11
  43. package/es/components/DataTable/TableContainer.js +9 -10
  44. package/es/components/DataTable/TableDecoratorRow.js +4 -5
  45. package/es/components/DataTable/TableExpandHeader.js +14 -15
  46. package/es/components/DataTable/TableExpandRow.js +13 -14
  47. package/es/components/DataTable/TableExpandedRow.js +6 -7
  48. package/es/components/DataTable/TableHeader.js +15 -16
  49. package/es/components/DataTable/TableSelectAll.js +11 -12
  50. package/es/components/DataTable/TableSelectRow.js +12 -13
  51. package/es/components/DataTable/TableSlugRow.js +4 -5
  52. package/es/components/DataTable/TableToolbar.js +7 -8
  53. package/es/components/DataTable/TableToolbarMenu.js +8 -9
  54. package/es/components/DataTable/TableToolbarSearch.js +22 -24
  55. package/es/components/DataTable/state/sorting.js +3 -4
  56. package/es/components/DataTable/tools/filter.js +10 -12
  57. package/es/components/DataTable/tools/normalize.js +6 -8
  58. package/es/components/DataTable/tools/sorting.js +24 -30
  59. package/es/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  60. package/es/components/DatePicker/DatePicker.Skeleton.js +7 -8
  61. package/es/components/DatePicker/DatePicker.js +88 -65
  62. package/es/components/DatePickerInput/DatePickerInput.js +5 -6
  63. package/es/components/Dialog/index.d.ts +193 -8
  64. package/es/components/Dialog/index.js +454 -35
  65. package/es/components/Dropdown/Dropdown.Skeleton.js +6 -7
  66. package/es/components/Dropdown/Dropdown.js +40 -43
  67. package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +9 -10
  69. package/es/components/FeatureFlags/index.js +11 -12
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +4 -5
  71. package/es/components/FileUploader/FileUploader.js +22 -24
  72. package/es/components/FileUploader/FileUploaderButton.js +16 -17
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +15 -16
  74. package/es/components/FileUploader/FileUploaderItem.js +13 -14
  75. package/es/components/FileUploader/Filename.js +9 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  77. package/es/components/FluidComboBox/FluidComboBox.js +5 -6
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +10 -11
  80. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  81. package/es/components/FluidDropdown/FluidDropdown.js +5 -6
  82. package/es/components/FluidForm/FluidForm.js +5 -6
  83. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  85. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  86. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  87. package/es/components/FluidNumberInput/FluidNumberInput.js +38 -5
  88. package/es/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  89. package/es/components/FluidSearch/FluidSearch.js +4 -5
  90. package/es/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  91. package/es/components/FluidSelect/FluidSelect.js +5 -6
  92. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  93. package/es/components/FluidTextArea/FluidTextArea.js +4 -5
  94. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  95. package/es/components/FluidTextInput/FluidTextInput.js +5 -6
  96. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  97. package/es/components/FluidTimePicker/FluidTimePicker.js +11 -12
  98. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  99. package/es/components/Form/Form.js +5 -6
  100. package/es/components/FormGroup/FormGroup.js +11 -12
  101. package/es/components/FormItem/FormItem.js +5 -6
  102. package/es/components/FormLabel/FormLabel.js +6 -7
  103. package/es/components/Grid/CSSGrid.js +17 -19
  104. package/es/components/Grid/Column.js +28 -27
  105. package/es/components/Grid/ColumnHang.js +6 -7
  106. package/es/components/Grid/FlexGrid.js +9 -10
  107. package/es/components/Grid/GridContext.js +5 -6
  108. package/es/components/Grid/Row.js +8 -9
  109. package/es/components/Heading/index.js +5 -6
  110. package/es/components/Icon/Icon.Skeleton.js +4 -5
  111. package/es/components/IconButton/index.js +20 -21
  112. package/es/components/IconIndicator/index.js +7 -8
  113. package/es/components/IdPrefix/index.js +4 -5
  114. package/es/components/InlineLoading/InlineLoading.js +9 -10
  115. package/es/components/Layer/index.js +8 -9
  116. package/es/components/Layout/index.js +21 -26
  117. package/es/components/LayoutDirection/LayoutDirection.js +6 -7
  118. package/es/components/Link/Link.d.ts +1 -1
  119. package/es/components/Link/Link.js +14 -15
  120. package/es/components/ListBox/ListBoxField.js +6 -7
  121. package/es/components/ListBox/ListBoxMenu.js +5 -6
  122. package/es/components/ListBox/ListBoxMenuIcon.js +4 -5
  123. package/es/components/ListBox/ListBoxMenuItem.js +8 -10
  124. package/es/components/ListBox/ListBoxSelection.js +8 -9
  125. package/es/components/ListBox/next/ListBoxSelection.js +9 -10
  126. package/es/components/ListBox/next/ListBoxTrigger.js +5 -6
  127. package/es/components/ListItem/ListItem.js +5 -6
  128. package/es/components/Loading/Loading.js +8 -9
  129. package/es/components/Menu/Menu.js +23 -24
  130. package/es/components/Menu/MenuItem.js +39 -44
  131. package/es/components/MenuButton/index.js +16 -18
  132. package/es/components/Modal/Modal.js +74 -65
  133. package/es/components/ModalWrapper/ModalWrapper.js +2 -2
  134. package/es/components/MultiSelect/FilterableMultiSelect.js +67 -48
  135. package/es/components/MultiSelect/MultiSelect.js +43 -45
  136. package/es/components/MultiSelect/tools/sorting.js +11 -15
  137. package/es/components/Notification/Notification.js +96 -105
  138. package/es/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  139. package/es/components/NumberInput/NumberFormatPropTypes.js +40 -0
  140. package/es/components/NumberInput/NumberInput.Skeleton.js +6 -7
  141. package/es/components/NumberInput/NumberInput.d.ts +39 -3
  142. package/es/components/NumberInput/NumberInput.js +174 -44
  143. package/es/components/OrderedList/OrderedList.js +7 -8
  144. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  145. package/es/components/OverflowMenu/OverflowMenu.js +39 -46
  146. package/es/components/OverflowMenu/next/index.js +12 -13
  147. package/es/components/PageHeader/PageHeader.d.ts +39 -14
  148. package/es/components/PageHeader/PageHeader.js +187 -81
  149. package/es/components/PageHeader/index.d.ts +2 -2
  150. package/es/components/PageHeader/index.js +1 -1
  151. package/es/components/Pagination/Pagination.Skeleton.js +4 -5
  152. package/es/components/Pagination/Pagination.js +24 -25
  153. package/es/components/Pagination/experimental/PageSelector.js +8 -9
  154. package/es/components/Pagination/experimental/Pagination.js +20 -21
  155. package/es/components/PaginationNav/PaginationNav.js +33 -38
  156. package/es/components/Popover/index.js +26 -28
  157. package/es/components/ProgressBar/ProgressBar.js +11 -12
  158. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  159. package/es/components/ProgressIndicator/ProgressIndicator.js +29 -32
  160. package/es/components/RadioTile/RadioTile.js +17 -18
  161. package/es/components/Search/Search.Skeleton.js +5 -6
  162. package/es/components/Search/Search.js +26 -29
  163. package/es/components/Select/Select.Skeleton.js +5 -6
  164. package/es/components/Select/Select.js +24 -25
  165. package/es/components/SelectItem/SelectItem.js +8 -9
  166. package/es/components/SelectItemGroup/SelectItemGroup.js +7 -8
  167. package/es/components/ShapeIndicator/index.js +7 -8
  168. package/es/components/SkeletonIcon/SkeletonIcon.js +4 -5
  169. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  170. package/es/components/SkeletonText/SkeletonText.js +8 -9
  171. package/es/components/Slider/Slider.Skeleton.js +8 -9
  172. package/es/components/Slider/Slider.js +75 -83
  173. package/es/components/Slider/SliderHandles.js +6 -6
  174. package/es/components/StructuredList/StructuredList.Skeleton.js +5 -6
  175. package/es/components/Tabs/Tabs.Skeleton.js +5 -6
  176. package/es/components/Tabs/Tabs.js +83 -98
  177. package/es/components/Tabs/usePressable.js +7 -8
  178. package/es/components/Tag/DismissibleTag.js +16 -17
  179. package/es/components/Tag/OperationalTag.js +10 -11
  180. package/es/components/Tag/SelectableTag.js +13 -14
  181. package/es/components/Tag/Tag.Skeleton.js +5 -6
  182. package/es/components/Tag/Tag.js +19 -20
  183. package/es/components/Text/Text.js +6 -7
  184. package/es/components/Text/TextDirection.js +5 -6
  185. package/es/components/TextArea/TextArea.js +7 -7
  186. package/es/components/TextInput/ControlledPasswordInput.js +24 -25
  187. package/es/components/TextInput/PasswordInput.js +26 -27
  188. package/es/components/TextInput/TextInput.Skeleton.js +5 -6
  189. package/es/components/TextInput/TextInput.js +27 -28
  190. package/es/components/TextInput/util.js +14 -17
  191. package/es/components/Theme/index.js +10 -12
  192. package/es/components/Tile/Tile.js +68 -74
  193. package/es/components/TileGroup/TileGroup.d.ts +4 -4
  194. package/es/components/TileGroup/TileGroup.js +45 -53
  195. package/es/components/TileGroup/index.d.ts +3 -3
  196. package/es/components/Toggle/Toggle.Skeleton.js +4 -5
  197. package/es/components/Toggle/Toggle.js +17 -18
  198. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  199. package/es/components/Toggletip/index.js +33 -39
  200. package/es/components/Tooltip/DefinitionTooltip.js +13 -14
  201. package/es/components/Tooltip/Tooltip.js +15 -16
  202. package/es/components/TreeView/TreeNode.js +20 -21
  203. package/es/components/TreeView/TreeView.js +14 -16
  204. package/es/components/UIShell/Content.js +6 -7
  205. package/es/components/UIShell/Header.js +5 -6
  206. package/es/components/UIShell/HeaderContainer.js +5 -6
  207. package/es/components/UIShell/HeaderGlobalAction.js +12 -13
  208. package/es/components/UIShell/HeaderMenu.d.ts +10 -112
  209. package/es/components/UIShell/HeaderMenu.js +154 -201
  210. package/es/components/UIShell/HeaderMenuButton.js +10 -11
  211. package/es/components/UIShell/HeaderMenuItem.js +12 -12
  212. package/es/components/UIShell/HeaderName.js +6 -7
  213. package/es/components/UIShell/HeaderNavigation.js +7 -8
  214. package/es/components/UIShell/HeaderPanel.js +9 -10
  215. package/es/components/UIShell/HeaderSideNavItems.js +5 -6
  216. package/es/components/UIShell/Link.js +8 -9
  217. package/es/components/UIShell/SideNav.js +23 -25
  218. package/es/components/UIShell/SideNavDetails.js +6 -7
  219. package/es/components/UIShell/SideNavDivider.js +3 -4
  220. package/es/components/UIShell/SideNavFooter.js +6 -7
  221. package/es/components/UIShell/SideNavHeader.js +5 -6
  222. package/es/components/UIShell/SideNavIcon.js +5 -6
  223. package/es/components/UIShell/SideNavItem.js +5 -6
  224. package/es/components/UIShell/SideNavItems.js +5 -6
  225. package/es/components/UIShell/SideNavLink.js +10 -11
  226. package/es/components/UIShell/SideNavLinkText.js +5 -6
  227. package/es/components/UIShell/SideNavMenu.js +11 -12
  228. package/es/components/UIShell/SkipToContent.js +7 -8
  229. package/es/components/UIShell/Switcher.js +4 -5
  230. package/es/components/UIShell/SwitcherDivider.js +4 -5
  231. package/es/components/UnorderedList/UnorderedList.js +6 -7
  232. package/es/index.js +3 -3
  233. package/es/internal/FloatingMenu.js +26 -28
  234. package/es/internal/Selection.js +15 -17
  235. package/es/internal/getAnnouncement.d.ts +8 -0
  236. package/es/internal/getAnnouncement.js +22 -0
  237. package/es/internal/keyboard/match.js +6 -7
  238. package/es/internal/useControllableState.d.ts +1 -1
  239. package/es/internal/useControllableState.js +8 -9
  240. package/es/internal/useDelayedState.js +1 -2
  241. package/es/internal/useDocumentLang.d.ts +12 -0
  242. package/es/internal/useId.js +2 -4
  243. package/es/internal/useMatchMedia.js +1 -2
  244. package/es/internal/useMergedRefs.d.ts +1 -1
  245. package/es/internal/useNoInteractiveChildren.js +2 -4
  246. package/es/internal/useNormalizedInputProps.js +9 -10
  247. package/es/internal/useOverflowItems.d.ts +29 -0
  248. package/es/internal/useOverflowItems.js +122 -0
  249. package/es/internal/useResizeObserver.js +4 -5
  250. package/es/internal/useSavedCallback.js +1 -3
  251. package/es/internal/wrapFocus.js +20 -29
  252. package/es/prop-types/deprecate.js +1 -4
  253. package/es/prop-types/deprecateValuesWithin.js +1 -4
  254. package/es/prop-types/isRequiredOneOf.js +1 -4
  255. package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  256. package/es/tools/events.js +1 -4
  257. package/es/tools/mergeRefs.js +9 -14
  258. package/es/tools/uniqueId.js +1 -2
  259. package/es/tools/wrapComponent.js +9 -11
  260. package/lib/components/AILabel/index.js +27 -30
  261. package/lib/components/AISkeleton/AISkeletonIcon.js +4 -5
  262. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  263. package/lib/components/AISkeleton/AISkeletonText.js +4 -5
  264. package/lib/components/Accordion/Accordion.Skeleton.js +9 -10
  265. package/lib/components/Accordion/Accordion.js +10 -11
  266. package/lib/components/Accordion/AccordionItem.js +13 -14
  267. package/lib/components/Accordion/AccordionProvider.js +4 -5
  268. package/lib/components/AspectRatio/AspectRatio.js +7 -8
  269. package/lib/components/BadgeIndicator/index.js +5 -6
  270. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  271. package/lib/components/Button/Button.Skeleton.js +7 -8
  272. package/lib/components/Button/ButtonBase.js +23 -24
  273. package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -6
  274. package/lib/components/ChatButton/ChatButton.js +11 -12
  275. package/lib/components/Checkbox/Checkbox.Skeleton.js +4 -5
  276. package/lib/components/Checkbox/Checkbox.js +19 -20
  277. package/lib/components/CheckboxGroup/CheckboxGroup.js +16 -17
  278. package/lib/components/ClassPrefix/index.js +4 -5
  279. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  280. package/lib/components/CodeSnippet/CodeSnippet.js +25 -26
  281. package/lib/components/ComboBox/ComboBox.js +24 -30
  282. package/lib/components/ComboBox/tools/filter.js +9 -12
  283. package/lib/components/ComboButton/index.js +16 -18
  284. package/lib/components/ComposedModal/ComposedModal.js +50 -36
  285. package/lib/components/ComposedModal/ModalFooter.js +37 -42
  286. package/lib/components/ComposedModal/ModalHeader.js +14 -15
  287. package/lib/components/ContainedList/ContainedList.js +10 -11
  288. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  289. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +9 -29
  290. package/lib/components/ContentSwitcher/ContentSwitcher.js +94 -126
  291. package/lib/components/ContentSwitcher/index.d.ts +3 -4
  292. package/lib/components/ContextMenu/useContextMenu.js +1 -2
  293. package/lib/components/Copy/Copy.js +11 -12
  294. package/lib/components/CopyButton/CopyButton.js +10 -11
  295. package/lib/components/DataTable/DataTable.js +45 -53
  296. package/lib/components/DataTable/Table.js +15 -18
  297. package/lib/components/DataTable/TableBatchAction.js +8 -11
  298. package/lib/components/DataTable/TableBatchActions.js +18 -20
  299. package/lib/components/DataTable/TableBody.js +8 -11
  300. package/lib/components/DataTable/TableContainer.js +9 -10
  301. package/lib/components/DataTable/TableDecoratorRow.js +4 -5
  302. package/lib/components/DataTable/TableExpandHeader.js +14 -15
  303. package/lib/components/DataTable/TableExpandRow.js +13 -14
  304. package/lib/components/DataTable/TableExpandedRow.js +6 -7
  305. package/lib/components/DataTable/TableHeader.js +15 -16
  306. package/lib/components/DataTable/TableSelectAll.js +11 -12
  307. package/lib/components/DataTable/TableSelectRow.js +12 -13
  308. package/lib/components/DataTable/TableSlugRow.js +4 -5
  309. package/lib/components/DataTable/TableToolbar.js +7 -8
  310. package/lib/components/DataTable/TableToolbarMenu.js +8 -9
  311. package/lib/components/DataTable/TableToolbarSearch.js +22 -24
  312. package/lib/components/DataTable/state/sorting.js +3 -4
  313. package/lib/components/DataTable/tools/filter.js +10 -12
  314. package/lib/components/DataTable/tools/normalize.js +6 -8
  315. package/lib/components/DataTable/tools/sorting.js +24 -30
  316. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  317. package/lib/components/DatePicker/DatePicker.Skeleton.js +7 -8
  318. package/lib/components/DatePicker/DatePicker.js +87 -64
  319. package/lib/components/DatePickerInput/DatePickerInput.js +5 -6
  320. package/lib/components/Dialog/index.d.ts +193 -8
  321. package/lib/components/Dialog/index.js +457 -33
  322. package/lib/components/Dropdown/Dropdown.Skeleton.js +6 -7
  323. package/lib/components/Dropdown/Dropdown.js +40 -43
  324. package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
  325. package/lib/components/ExpandableSearch/ExpandableSearch.js +9 -10
  326. package/lib/components/FeatureFlags/index.js +11 -12
  327. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -5
  328. package/lib/components/FileUploader/FileUploader.js +22 -24
  329. package/lib/components/FileUploader/FileUploaderButton.js +16 -17
  330. package/lib/components/FileUploader/FileUploaderDropContainer.js +15 -16
  331. package/lib/components/FileUploader/FileUploaderItem.js +13 -14
  332. package/lib/components/FileUploader/Filename.js +9 -10
  333. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  334. package/lib/components/FluidComboBox/FluidComboBox.js +5 -6
  335. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  336. package/lib/components/FluidDatePicker/FluidDatePicker.js +10 -11
  337. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  338. package/lib/components/FluidDropdown/FluidDropdown.js +5 -6
  339. package/lib/components/FluidForm/FluidForm.js +5 -6
  340. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  341. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  342. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  343. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  344. package/lib/components/FluidNumberInput/FluidNumberInput.js +38 -5
  345. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  346. package/lib/components/FluidSearch/FluidSearch.js +4 -5
  347. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  348. package/lib/components/FluidSelect/FluidSelect.js +5 -6
  349. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  350. package/lib/components/FluidTextArea/FluidTextArea.js +4 -5
  351. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  352. package/lib/components/FluidTextInput/FluidTextInput.js +5 -6
  353. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  354. package/lib/components/FluidTimePicker/FluidTimePicker.js +11 -12
  355. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  356. package/lib/components/Form/Form.js +5 -6
  357. package/lib/components/FormGroup/FormGroup.js +11 -12
  358. package/lib/components/FormItem/FormItem.js +5 -6
  359. package/lib/components/FormLabel/FormLabel.js +6 -7
  360. package/lib/components/Grid/CSSGrid.js +17 -19
  361. package/lib/components/Grid/Column.js +28 -27
  362. package/lib/components/Grid/ColumnHang.js +6 -7
  363. package/lib/components/Grid/FlexGrid.js +9 -10
  364. package/lib/components/Grid/GridContext.js +5 -6
  365. package/lib/components/Grid/Row.js +8 -9
  366. package/lib/components/Heading/index.js +5 -6
  367. package/lib/components/Icon/Icon.Skeleton.js +4 -5
  368. package/lib/components/IconButton/index.js +20 -21
  369. package/lib/components/IconIndicator/index.js +7 -8
  370. package/lib/components/IdPrefix/index.js +4 -5
  371. package/lib/components/InlineLoading/InlineLoading.js +9 -10
  372. package/lib/components/Layer/index.js +8 -9
  373. package/lib/components/Layout/index.js +21 -26
  374. package/lib/components/LayoutDirection/LayoutDirection.js +6 -7
  375. package/lib/components/Link/Link.d.ts +1 -1
  376. package/lib/components/Link/Link.js +14 -15
  377. package/lib/components/ListBox/ListBoxField.js +6 -7
  378. package/lib/components/ListBox/ListBoxMenu.js +5 -6
  379. package/lib/components/ListBox/ListBoxMenuIcon.js +4 -5
  380. package/lib/components/ListBox/ListBoxMenuItem.js +8 -10
  381. package/lib/components/ListBox/ListBoxSelection.js +8 -9
  382. package/lib/components/ListBox/next/ListBoxSelection.js +9 -10
  383. package/lib/components/ListBox/next/ListBoxTrigger.js +5 -6
  384. package/lib/components/ListItem/ListItem.js +5 -6
  385. package/lib/components/Loading/Loading.js +8 -9
  386. package/lib/components/Menu/Menu.js +23 -24
  387. package/lib/components/Menu/MenuItem.js +39 -44
  388. package/lib/components/MenuButton/index.js +16 -18
  389. package/lib/components/Modal/Modal.js +74 -65
  390. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  391. package/lib/components/MultiSelect/FilterableMultiSelect.js +66 -47
  392. package/lib/components/MultiSelect/MultiSelect.js +43 -45
  393. package/lib/components/MultiSelect/tools/sorting.js +11 -15
  394. package/lib/components/Notification/Notification.js +96 -105
  395. package/lib/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  396. package/lib/components/NumberInput/NumberFormatPropTypes.js +48 -0
  397. package/lib/components/NumberInput/NumberInput.Skeleton.js +6 -7
  398. package/lib/components/NumberInput/NumberInput.d.ts +39 -3
  399. package/lib/components/NumberInput/NumberInput.js +173 -43
  400. package/lib/components/OrderedList/OrderedList.js +7 -8
  401. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  402. package/lib/components/OverflowMenu/OverflowMenu.js +39 -46
  403. package/lib/components/OverflowMenu/next/index.js +12 -13
  404. package/lib/components/PageHeader/PageHeader.d.ts +39 -14
  405. package/lib/components/PageHeader/PageHeader.js +185 -81
  406. package/lib/components/PageHeader/index.d.ts +2 -2
  407. package/lib/components/PageHeader/index.js +0 -2
  408. package/lib/components/Pagination/Pagination.Skeleton.js +4 -5
  409. package/lib/components/Pagination/Pagination.js +24 -25
  410. package/lib/components/Pagination/experimental/PageSelector.js +8 -9
  411. package/lib/components/Pagination/experimental/Pagination.js +20 -21
  412. package/lib/components/PaginationNav/PaginationNav.js +33 -38
  413. package/lib/components/Popover/index.js +26 -28
  414. package/lib/components/ProgressBar/ProgressBar.js +11 -12
  415. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  416. package/lib/components/ProgressIndicator/ProgressIndicator.js +29 -32
  417. package/lib/components/RadioTile/RadioTile.js +17 -18
  418. package/lib/components/Search/Search.Skeleton.js +5 -6
  419. package/lib/components/Search/Search.js +26 -29
  420. package/lib/components/Select/Select.Skeleton.js +5 -6
  421. package/lib/components/Select/Select.js +24 -25
  422. package/lib/components/SelectItem/SelectItem.js +8 -9
  423. package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -8
  424. package/lib/components/ShapeIndicator/index.js +7 -8
  425. package/lib/components/SkeletonIcon/SkeletonIcon.js +4 -5
  426. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  427. package/lib/components/SkeletonText/SkeletonText.js +8 -9
  428. package/lib/components/Slider/Slider.Skeleton.js +8 -9
  429. package/lib/components/Slider/Slider.js +75 -83
  430. package/lib/components/Slider/SliderHandles.js +6 -6
  431. package/lib/components/StructuredList/StructuredList.Skeleton.js +5 -6
  432. package/lib/components/Tabs/Tabs.Skeleton.js +5 -6
  433. package/lib/components/Tabs/Tabs.js +83 -98
  434. package/lib/components/Tabs/usePressable.js +7 -8
  435. package/lib/components/Tag/DismissibleTag.js +16 -17
  436. package/lib/components/Tag/OperationalTag.js +10 -11
  437. package/lib/components/Tag/SelectableTag.js +13 -14
  438. package/lib/components/Tag/Tag.Skeleton.js +5 -6
  439. package/lib/components/Tag/Tag.js +19 -20
  440. package/lib/components/Text/Text.js +6 -7
  441. package/lib/components/Text/TextDirection.js +5 -6
  442. package/lib/components/TextArea/TextArea.js +7 -7
  443. package/lib/components/TextInput/ControlledPasswordInput.js +24 -25
  444. package/lib/components/TextInput/PasswordInput.js +26 -27
  445. package/lib/components/TextInput/TextInput.Skeleton.js +5 -6
  446. package/lib/components/TextInput/TextInput.js +27 -28
  447. package/lib/components/TextInput/util.js +14 -17
  448. package/lib/components/Theme/index.js +10 -12
  449. package/lib/components/Tile/Tile.js +68 -74
  450. package/lib/components/TileGroup/TileGroup.d.ts +4 -4
  451. package/lib/components/TileGroup/TileGroup.js +44 -52
  452. package/lib/components/TileGroup/index.d.ts +3 -3
  453. package/lib/components/Toggle/Toggle.Skeleton.js +4 -5
  454. package/lib/components/Toggle/Toggle.js +17 -18
  455. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  456. package/lib/components/Toggletip/index.js +33 -39
  457. package/lib/components/Tooltip/DefinitionTooltip.js +13 -14
  458. package/lib/components/Tooltip/Tooltip.js +15 -16
  459. package/lib/components/TreeView/TreeNode.js +20 -21
  460. package/lib/components/TreeView/TreeView.js +14 -16
  461. package/lib/components/UIShell/Content.js +6 -7
  462. package/lib/components/UIShell/Header.js +5 -6
  463. package/lib/components/UIShell/HeaderContainer.js +5 -6
  464. package/lib/components/UIShell/HeaderGlobalAction.js +12 -13
  465. package/lib/components/UIShell/HeaderMenu.d.ts +10 -112
  466. package/lib/components/UIShell/HeaderMenu.js +152 -199
  467. package/lib/components/UIShell/HeaderMenuButton.js +10 -11
  468. package/lib/components/UIShell/HeaderMenuItem.js +12 -12
  469. package/lib/components/UIShell/HeaderName.js +6 -7
  470. package/lib/components/UIShell/HeaderNavigation.js +7 -8
  471. package/lib/components/UIShell/HeaderPanel.js +9 -10
  472. package/lib/components/UIShell/HeaderSideNavItems.js +5 -6
  473. package/lib/components/UIShell/Link.js +8 -9
  474. package/lib/components/UIShell/SideNav.js +23 -25
  475. package/lib/components/UIShell/SideNavDetails.js +6 -7
  476. package/lib/components/UIShell/SideNavDivider.js +3 -4
  477. package/lib/components/UIShell/SideNavFooter.js +6 -7
  478. package/lib/components/UIShell/SideNavHeader.js +5 -6
  479. package/lib/components/UIShell/SideNavIcon.js +5 -6
  480. package/lib/components/UIShell/SideNavItem.js +5 -6
  481. package/lib/components/UIShell/SideNavItems.js +5 -6
  482. package/lib/components/UIShell/SideNavLink.js +10 -11
  483. package/lib/components/UIShell/SideNavLinkText.js +5 -6
  484. package/lib/components/UIShell/SideNavMenu.js +11 -12
  485. package/lib/components/UIShell/SkipToContent.js +7 -8
  486. package/lib/components/UIShell/Switcher.js +4 -5
  487. package/lib/components/UIShell/SwitcherDivider.js +4 -5
  488. package/lib/components/UnorderedList/UnorderedList.js +6 -7
  489. package/lib/index.js +36 -36
  490. package/lib/internal/FloatingMenu.js +26 -28
  491. package/lib/internal/Selection.js +15 -17
  492. package/lib/internal/getAnnouncement.d.ts +8 -0
  493. package/lib/internal/getAnnouncement.js +26 -0
  494. package/lib/internal/keyboard/match.js +6 -7
  495. package/lib/internal/useControllableState.d.ts +1 -1
  496. package/lib/internal/useControllableState.js +8 -9
  497. package/lib/internal/useDelayedState.js +1 -2
  498. package/lib/internal/useDocumentLang.d.ts +12 -0
  499. package/lib/internal/useId.js +2 -4
  500. package/lib/internal/useMatchMedia.js +1 -2
  501. package/lib/internal/useMergedRefs.d.ts +1 -1
  502. package/lib/internal/useNoInteractiveChildren.js +2 -4
  503. package/lib/internal/useNormalizedInputProps.js +9 -10
  504. package/lib/internal/useOverflowItems.d.ts +29 -0
  505. package/lib/internal/useOverflowItems.js +126 -0
  506. package/lib/internal/useResizeObserver.js +4 -5
  507. package/lib/internal/useSavedCallback.js +1 -3
  508. package/lib/internal/wrapFocus.js +20 -29
  509. package/lib/prop-types/deprecate.js +1 -4
  510. package/lib/prop-types/deprecateValuesWithin.js +1 -4
  511. package/lib/prop-types/isRequiredOneOf.js +1 -4
  512. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  513. package/lib/tools/events.js +1 -4
  514. package/lib/tools/mergeRefs.js +9 -14
  515. package/lib/tools/uniqueId.js +1 -2
  516. package/lib/tools/wrapComponent.js +9 -11
  517. package/package.json +21 -19
  518. package/telemetry.yml +25 -1
  519. package/es/components/ContentSwitcher/index.js +0 -13
  520. package/es/feature-flags.d.ts +0 -7
  521. package/es/internal/useAnnouncer.js +0 -21
  522. package/lib/components/ContentSwitcher/index.js +0 -18
  523. package/lib/feature-flags.d.ts +0 -7
  524. package/lib/internal/useAnnouncer.js +0 -25
@@ -19,13 +19,12 @@ import { usePrefix } from '../../internal/usePrefix.js';
19
19
  /**
20
20
  * Used to render the label for a Toggletip
21
21
  */
22
- function ToggletipLabel(_ref) {
23
- let {
24
- as: BaseComponent = 'span',
25
- children,
26
- className: customClassName,
27
- ...rest
28
- } = _ref;
22
+ function ToggletipLabel({
23
+ as: BaseComponent = 'span',
24
+ children,
25
+ className: customClassName,
26
+ ...rest
27
+ }) {
29
28
  const prefix = usePrefix();
30
29
  const className = cx(`${prefix}--toggletip-label`, customClassName);
31
30
  const BaseComponentAsAny = BaseComponent;
@@ -60,16 +59,15 @@ function useToggletip() {
60
59
  * is responsible for coordinating between interactions with the button and the
61
60
  * visibility of the content
62
61
  */
63
- function Toggletip(_ref2) {
64
- let {
65
- align,
66
- as,
67
- autoAlign,
68
- className: customClassName,
69
- children,
70
- defaultOpen = false,
71
- ...rest
72
- } = _ref2;
62
+ function Toggletip({
63
+ align,
64
+ as,
65
+ autoAlign,
66
+ className: customClassName,
67
+ children,
68
+ defaultOpen = false,
69
+ ...rest
70
+ }) {
73
71
  const ref = useRef(null);
74
72
  const [open, setOpen] = useState(defaultOpen);
75
73
  const prefix = usePrefix();
@@ -127,10 +125,9 @@ function Toggletip(_ref2) {
127
125
  actions.close();
128
126
  }
129
127
  });
130
- useWindowEvent('click', _ref3 => {
131
- let {
132
- target
133
- } = _ref3;
128
+ useWindowEvent('click', ({
129
+ target
130
+ }) => {
134
131
  if (open && target instanceof Node && !ref.current?.contains(target)) {
135
132
  actions.close();
136
133
  }
@@ -209,14 +206,13 @@ Toggletip.propTypes = {
209
206
  * clicks and keyboard interactions.
210
207
  */
211
208
 
212
- const ToggletipButton = /*#__PURE__*/React.forwardRef(function ToggletipButton(_ref4, ref) {
213
- let {
214
- children,
215
- className: customClassName,
216
- label = 'Show information',
217
- as: BaseComponent,
218
- ...rest
219
- } = _ref4;
209
+ const ToggletipButton = /*#__PURE__*/React.forwardRef(function ToggletipButton({
210
+ children,
211
+ className: customClassName,
212
+ label = 'Show information',
213
+ as: BaseComponent,
214
+ ...rest
215
+ }, ref) {
220
216
  const toggletip = useToggletip();
221
217
  const prefix = usePrefix();
222
218
  const className = cx(`${prefix}--toggletip-button`, customClassName);
@@ -254,11 +250,10 @@ ToggletipButton.displayName = 'ToggletipButton';
254
250
  * `children` passed in as a prop inside of `PopoverContent` so that they will
255
251
  * be rendered inside of the popover for this component.
256
252
  */
257
- const ToggletipContent = /*#__PURE__*/React.forwardRef(function ToggletipContent(_ref5, ref) {
258
- let {
259
- children,
260
- className: customClassName
261
- } = _ref5;
253
+ const ToggletipContent = /*#__PURE__*/React.forwardRef(function ToggletipContent({
254
+ children,
255
+ className: customClassName
256
+ }, ref) {
262
257
  const toggletip = useToggletip();
263
258
  const prefix = usePrefix();
264
259
  return /*#__PURE__*/React.createElement(PopoverContent, _extends({
@@ -286,11 +281,10 @@ ToggletipContent.displayName = 'ToggletipContent';
286
281
  * `ToggletipActions` is a container for one or two actions present at the base
287
282
  * of a toggletip. It is used for layout of these items.
288
283
  */
289
- function ToggletipActions(_ref6) {
290
- let {
291
- children,
292
- className: customClassName
293
- } = _ref6;
284
+ function ToggletipActions({
285
+ children,
286
+ className: customClassName
287
+ }) {
294
288
  const prefix = usePrefix();
295
289
  const className = cx(`${prefix}--toggletip-actions`, customClassName);
296
290
  return /*#__PURE__*/React.createElement("div", {
@@ -16,20 +16,19 @@ import { useFallbackId } from '../../internal/useId.js';
16
16
  import { usePrefix } from '../../internal/usePrefix.js';
17
17
  import deprecate from '../../prop-types/deprecate.js';
18
18
 
19
- const DefinitionTooltip = _ref => {
20
- let {
21
- align = 'bottom',
22
- autoAlign,
23
- className,
24
- children,
25
- definition,
26
- defaultOpen = false,
27
- id,
28
- openOnHover,
29
- tooltipText,
30
- triggerClassName,
31
- ...rest
32
- } = _ref;
19
+ const DefinitionTooltip = ({
20
+ align = 'bottom',
21
+ autoAlign,
22
+ className,
23
+ children,
24
+ definition,
25
+ defaultOpen = false,
26
+ id,
27
+ openOnHover,
28
+ tooltipText,
29
+ triggerClassName,
30
+ ...rest
31
+ }) => {
33
32
  const [isOpen, setOpen] = useState(defaultOpen);
34
33
  const prefix = usePrefix();
35
34
  const tooltipId = useFallbackId(id);
@@ -22,22 +22,21 @@ import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
22
22
  * Event types that trigger a "drag" to stop.
23
23
  */
24
24
  const DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
25
- const Tooltip = /*#__PURE__*/React.forwardRef((_ref, ref) => {
26
- let {
27
- as,
28
- align = 'top',
29
- className: customClassName,
30
- children,
31
- label,
32
- description,
33
- enterDelayMs = 100,
34
- leaveDelayMs = 300,
35
- defaultOpen = false,
36
- closeOnActivation = false,
37
- dropShadow = false,
38
- highContrast = true,
39
- ...rest
40
- } = _ref;
25
+ const Tooltip = /*#__PURE__*/React.forwardRef(({
26
+ as,
27
+ align = 'top',
28
+ className: customClassName,
29
+ children,
30
+ label,
31
+ description,
32
+ enterDelayMs = 100,
33
+ leaveDelayMs = 300,
34
+ defaultOpen = false,
35
+ closeOnActivation = false,
36
+ dropShadow = false,
37
+ highContrast = true,
38
+ ...rest
39
+ }, ref) => {
41
40
  const tooltipRef = useRef(null);
42
41
  const [open, setOpen] = useDelayedState(defaultOpen);
43
42
  const [isDragging, setIsDragging] = useState(false);
@@ -17,27 +17,26 @@ import { usePrefix } from '../../internal/usePrefix.js';
17
17
  import { uniqueId } from '../../tools/uniqueId.js';
18
18
  import { useFeatureFlag } from '../FeatureFlags/index.js';
19
19
 
20
- const TreeNode = /*#__PURE__*/React.forwardRef((_ref, forwardedRef) => {
21
- let {
22
- active,
23
- children,
24
- className,
25
- depth: propDepth,
26
- disabled,
27
- id: nodeId,
28
- isExpanded,
29
- defaultIsExpanded,
30
- label,
31
- onNodeFocusEvent,
32
- onSelect: onNodeSelect,
33
- onToggle,
34
- onTreeSelect,
35
- renderIcon: Icon,
36
- selected: propSelected,
37
- value,
38
- href,
39
- ...rest
40
- } = _ref;
20
+ const TreeNode = /*#__PURE__*/React.forwardRef(({
21
+ active,
22
+ children,
23
+ className,
24
+ depth: propDepth,
25
+ disabled,
26
+ id: nodeId,
27
+ isExpanded,
28
+ defaultIsExpanded,
29
+ label,
30
+ onNodeFocusEvent,
31
+ onSelect: onNodeSelect,
32
+ onToggle,
33
+ onTreeSelect,
34
+ renderIcon: Icon,
35
+ selected: propSelected,
36
+ value,
37
+ href,
38
+ ...rest
39
+ }, forwardedRef) => {
41
40
  // These are provided by the parent TreeView component
42
41
  const depth = propDepth;
43
42
  const selected = propSelected;
@@ -17,20 +17,19 @@ import { uniqueId } from '../../tools/uniqueId.js';
17
17
  import { useFeatureFlag } from '../FeatureFlags/index.js';
18
18
  import TreeNode from './TreeNode.js';
19
19
 
20
- const TreeView = _ref => {
21
- let {
22
- active: prespecifiedActive,
23
- children,
24
- className,
25
- hideLabel = false,
26
- label,
27
- multiselect = false,
28
- onActivate,
29
- onSelect,
30
- selected: preselected,
31
- size = 'sm',
32
- ...rest
33
- } = _ref;
20
+ const TreeView = ({
21
+ active: prespecifiedActive,
22
+ children,
23
+ className,
24
+ hideLabel = false,
25
+ label,
26
+ multiselect = false,
27
+ onActivate,
28
+ onSelect,
29
+ selected: preselected,
30
+ size = 'sm',
31
+ ...rest
32
+ }) => {
34
33
  const enableTreeviewControllable = useFeatureFlag('enable-treeview-controllable');
35
34
  const {
36
35
  current: treeId
@@ -65,8 +64,7 @@ const TreeView = _ref => {
65
64
  item.tabIndex = -1;
66
65
  });
67
66
  }
68
- function handleTreeSelect(event) {
69
- let node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
67
+ function handleTreeSelect(event, node = {}) {
70
68
  const nodeId = node.id;
71
69
  if (multiselect && (event.metaKey || event.ctrlKey)) {
72
70
  if (!selected.includes(nodeId)) {
@@ -10,13 +10,12 @@ import PropTypes from 'prop-types';
10
10
  import React from 'react';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
 
13
- const Content = _ref => {
14
- let {
15
- className: customClassName,
16
- children,
17
- tagName = 'main',
18
- ...rest
19
- } = _ref;
13
+ const Content = ({
14
+ className: customClassName,
15
+ children,
16
+ tagName = 'main',
17
+ ...rest
18
+ }) => {
20
19
  const prefix = usePrefix();
21
20
  const className = cx(`${prefix}--content`, customClassName);
22
21
  return /*#__PURE__*/React.createElement(tagName, {
@@ -12,12 +12,11 @@ import React from 'react';
12
12
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
- const Header = _ref => {
16
- let {
17
- className: customClassName,
18
- children,
19
- ...rest
20
- } = _ref;
15
+ const Header = ({
16
+ className: customClassName,
17
+ children,
18
+ ...rest
19
+ }) => {
21
20
  const prefix = usePrefix();
22
21
  const className = cx(`${prefix}--header`, customClassName);
23
22
  return /*#__PURE__*/React.createElement("header", _extends({}, rest, {
@@ -12,12 +12,11 @@ import { Escape } from '../../internal/keyboard/keys.js';
12
12
  import { match } from '../../internal/keyboard/match.js';
13
13
  import { useWindowEvent } from '../../internal/useEvent.js';
14
14
 
15
- function HeaderContainer(_ref) {
16
- let {
17
- render: Children,
18
- isSideNavExpanded = false,
19
- ...rest
20
- } = _ref;
15
+ function HeaderContainer({
16
+ render: Children,
17
+ isSideNavExpanded = false,
18
+ ...rest
19
+ }) {
21
20
  //state for expandable sidenav
22
21
  const [isSideNavExpandedState, setIsSideNavExpandedState] = useState(isSideNavExpanded);
23
22
  useWindowEvent('keydown', event => {
@@ -22,19 +22,18 @@ import { usePrefix } from '../../internal/usePrefix.js';
22
22
  *
23
23
  * Note: children passed to this component should be an Icon.
24
24
  */
25
- const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAction(_ref, ref) {
26
- let {
27
- 'aria-label': ariaLabel,
28
- 'aria-labelledby': ariaLabelledBy,
29
- children,
30
- className: customClassName,
31
- onClick,
32
- tooltipHighContrast = true,
33
- tooltipDropShadow,
34
- isActive,
35
- tooltipAlignment,
36
- ...rest
37
- } = _ref;
25
+ const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAction({
26
+ 'aria-label': ariaLabel,
27
+ 'aria-labelledby': ariaLabelledBy,
28
+ children,
29
+ className: customClassName,
30
+ onClick,
31
+ tooltipHighContrast = true,
32
+ tooltipDropShadow,
33
+ isActive,
34
+ tooltipAlignment,
35
+ ...rest
36
+ }, ref) {
38
37
  const prefix = usePrefix();
39
38
  const className = cx({
40
39
  [customClassName]: !!customClassName,
@@ -1,17 +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 React, { type JSX } from 'react';
8
- import PropTypes from 'prop-types';
9
- /**
10
- * `HeaderMenu` is used to render submenu's in the `Header`. Most often children
11
- * will be a `HeaderMenuItem`. It handles certain keyboard events to help
12
- * with managing focus. It also passes along refs to each child so that it can
13
- * help manage focus state of its children.
14
- */
7
+ import React, { type FocusEvent, type KeyboardEvent, type MouseEvent, type ReactNode, type Ref } from 'react';
15
8
  export interface HeaderMenuProps {
16
9
  /**
17
10
  * Required props for the accessibility label of the menu
@@ -25,7 +18,7 @@ export interface HeaderMenuProps {
25
18
  /**
26
19
  * Provide a custom ref handler for the menu button
27
20
  */
28
- focusRef?: React.Ref<any>;
21
+ focusRef?: Ref<any>;
29
22
  /**
30
23
  * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
31
24
  */
@@ -43,21 +36,21 @@ export interface HeaderMenuProps {
43
36
  * Optionally provide an onBlur handler that is called when the underlying
44
37
  * button fires it's onblur event
45
38
  */
46
- onBlur?: (event: React.FocusEvent<HTMLLIElement>) => void;
39
+ onBlur?: (event: FocusEvent<HTMLLIElement>) => void;
47
40
  /**
48
41
  * Optionally provide an onClick handler that is called when the underlying
49
42
  * button fires it's onclick event
50
43
  */
51
- onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;
44
+ onClick?: (event: MouseEvent<HTMLLIElement>) => void;
52
45
  /**
53
46
  * Optionally provide an onKeyDown handler that is called when the underlying
54
47
  * button fires it's onkeydown event
55
48
  */
56
- onKeyDown?: (event: React.KeyboardEvent<HTMLLIElement>) => void;
49
+ onKeyDown?: (event: KeyboardEvent<HTMLLIElement>) => void;
57
50
  /**
58
51
  * Optional component to render instead of string
59
52
  */
60
- renderMenuContent?: () => JSX.Element;
53
+ renderMenuContent?: () => ReactNode;
61
54
  /**
62
55
  * Optionally provide a tabIndex for the underlying menu button
63
56
  */
@@ -65,102 +58,7 @@ export interface HeaderMenuProps {
65
58
  /**
66
59
  * The children should be a series of `HeaderMenuItem` components.
67
60
  */
68
- children?: React.ReactNode;
69
- }
70
- interface HeaderMenuState {
71
- expanded: boolean;
72
- selectedIndex: number | null;
73
- }
74
- declare class HeaderMenu extends React.Component<HeaderMenuProps, HeaderMenuState> {
75
- static propTypes: {
76
- /**
77
- * Optionally provide a custom class to apply to the underlying `<li>` node
78
- */
79
- className: PropTypes.Requireable<string>;
80
- /**
81
- * Provide a custom ref handler for the menu button
82
- */
83
- focusRef: PropTypes.Requireable<(...args: any[]) => any>;
84
- /**
85
- * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
86
- */
87
- isActive: PropTypes.Requireable<boolean>;
88
- /**
89
- * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
90
- * @deprecated Please use `isActive` instead. This will be removed in the next major release.
91
- */
92
- isCurrentPage: (props: any, propName: any, componentName: any, ...rest: any[]) => any;
93
- /**
94
- * Provide a label for the link text
95
- */
96
- menuLinkName: PropTypes.Validator<string>;
97
- /**
98
- * Optionally provide an onBlur handler that is called when the underlying
99
- * button fires it's onblur event
100
- */
101
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
102
- /**
103
- * Optionally provide an onClick handler that is called when the underlying
104
- * button fires it's onclick event
105
- */
106
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
107
- /**
108
- * Optionally provide an onKeyDown handler that is called when the underlying
109
- * button fires it's onkeydown event
110
- */
111
- onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
112
- /**
113
- * Optional component to render instead of string
114
- */
115
- renderMenuContent: PropTypes.Requireable<(...args: any[]) => any>;
116
- /**
117
- * Optionally provide a tabIndex for the underlying menu button
118
- */
119
- tabIndex: PropTypes.Requireable<number>;
120
- };
121
- static contextType: React.Context<string>;
122
- _subMenus: React.RefObject<HTMLUListElement | null>;
123
- private items;
124
- private menuButtonRef;
125
- constructor(props: any);
126
- /**
127
- * Toggle the expanded state of the menu on click.
128
- */
129
- handleOnClick: (e: any) => void;
130
- /**
131
- * Keyboard event handler for the entire menu.
132
- */
133
- handleOnKeyDown: (event: any) => void;
134
- /**
135
- * Handle our blur event from our underlying menuitems. Will mostly be used
136
- * for closing our menu in response to a user clicking off or tabbing out of
137
- * the menu or menubar.
138
- */
139
- handleOnBlur: (event: any) => void;
140
- /**
141
- * ref handler for our menu button. If we are supplied a `focusRef` prop, we also
142
- * forward along the node.
143
- *
144
- * This is useful when this component is a child in a
145
- * menu or menubar as it will allow the parent to explicitly focus the menu
146
- * button node when that child should receive focus.
147
- */
148
- handleMenuButtonRef: (node: any) => void;
149
- /**
150
- * Handles individual menuitem refs. We assign them to a class instance
151
- * property so that we can properly manage focus of our children.
152
- */
153
- handleItemRef: (index: any) => (node: any) => void;
154
- handleMenuClose: (event: any) => void;
155
- render(): import("react/jsx-runtime").JSX.Element;
156
- /**
157
- * We capture the `ref` for each child inside of `this.items` to properly
158
- * manage focus. In addition to this focus management, all items receive a
159
- * `tabIndex: -1` so the user won't hit a large number of items in their tab
160
- * sequence when they might not want to go through all the items.
161
- */
162
- _renderMenuItem: (item: React.ReactNode, index: number) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
61
+ children?: ReactNode;
163
62
  }
164
- declare const HeaderMenuForwardRef: React.ForwardRefExoticComponent<HeaderMenuProps & React.RefAttributes<unknown>>;
165
- export { HeaderMenu };
166
- export default HeaderMenuForwardRef;
63
+ export declare const HeaderMenu: React.ForwardRefExoticComponent<HeaderMenuProps & React.RefAttributes<HTMLLIElement>>;
64
+ export default HeaderMenu;