@carbon/react 1.83.0-rc.0 → 1.83.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 (361) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1008 -938
  2. package/es/components/AILabel/index.js +13 -13
  3. package/es/components/AISkeleton/AISkeletonIcon.js +2 -2
  4. package/es/components/AISkeleton/AISkeletonPlaceholder.js +2 -2
  5. package/es/components/AISkeleton/AISkeletonText.js +2 -2
  6. package/es/components/Accordion/Accordion.Skeleton.js +15 -15
  7. package/es/components/Accordion/Accordion.js +3 -3
  8. package/es/components/Accordion/AccordionItem.js +9 -9
  9. package/es/components/Accordion/AccordionProvider.js +2 -2
  10. package/es/components/AspectRatio/AspectRatio.js +2 -2
  11. package/es/components/BadgeIndicator/index.js +3 -3
  12. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +5 -5
  13. package/es/components/Breadcrumb/Breadcrumb.js +3 -3
  14. package/es/components/Breadcrumb/BreadcrumbItem.js +9 -9
  15. package/es/components/Button/Button.Skeleton.js +3 -3
  16. package/es/components/Button/Button.js +5 -5
  17. package/es/components/Button/ButtonBase.js +5 -5
  18. package/es/components/ButtonSet/ButtonSet.js +2 -2
  19. package/es/components/ChatButton/ChatButton.Skeleton.js +2 -2
  20. package/es/components/ChatButton/ChatButton.js +3 -3
  21. package/es/components/Checkbox/Checkbox.Skeleton.js +4 -4
  22. package/es/components/Checkbox/Checkbox.js +15 -15
  23. package/es/components/CheckboxGroup/CheckboxGroup.js +12 -12
  24. package/es/components/ClassPrefix/index.js +2 -2
  25. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +7 -7
  26. package/es/components/CodeSnippet/CodeSnippet.js +16 -16
  27. package/es/components/ComboBox/ComboBox.js +18 -18
  28. package/es/components/ComboButton/index.js +7 -7
  29. package/es/components/ComposedModal/ComposedModal.js +20 -20
  30. package/es/components/ComposedModal/ModalFooter.js +8 -8
  31. package/es/components/ComposedModal/ModalHeader.js +8 -8
  32. package/es/components/ContainedList/ContainedList.js +7 -7
  33. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +7 -7
  34. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
  35. package/es/components/ContentSwitcher/ContentSwitcher.js +13 -7
  36. package/es/components/Copy/Copy.js +2 -2
  37. package/es/components/CopyButton/CopyButton.js +4 -4
  38. package/es/components/DangerButton/DangerButton.js +2 -2
  39. package/es/components/DataTable/DataTable.d.ts +81 -283
  40. package/es/components/DataTable/DataTable.js +83 -123
  41. package/es/components/DataTable/Table.d.ts +2 -2
  42. package/es/components/DataTable/Table.js +4 -4
  43. package/es/components/DataTable/TableActionList.d.ts +1 -1
  44. package/es/components/DataTable/TableBatchAction.js +2 -2
  45. package/es/components/DataTable/TableBatchActions.js +9 -9
  46. package/es/components/DataTable/TableBody.d.ts +3 -3
  47. package/es/components/DataTable/TableBody.js +2 -2
  48. package/es/components/DataTable/TableCell.d.ts +3 -4
  49. package/es/components/DataTable/TableCell.js +2 -2
  50. package/es/components/DataTable/TableContainer.d.ts +2 -3
  51. package/es/components/DataTable/TableContainer.js +6 -6
  52. package/es/components/DataTable/TableDecoratorRow.js +4 -4
  53. package/es/components/DataTable/TableExpandHeader.d.ts +2 -3
  54. package/es/components/DataTable/TableExpandHeader.js +4 -4
  55. package/es/components/DataTable/TableExpandRow.js +8 -8
  56. package/es/components/DataTable/TableExpandedRow.d.ts +3 -3
  57. package/es/components/DataTable/TableExpandedRow.js +4 -4
  58. package/es/components/DataTable/TableHead.d.ts +1 -1
  59. package/es/components/DataTable/TableHeader.d.ts +4 -4
  60. package/es/components/DataTable/TableHeader.js +15 -15
  61. package/es/components/DataTable/TableRow.d.ts +3 -4
  62. package/es/components/DataTable/TableRow.js +4 -4
  63. package/es/components/DataTable/TableSelectAll.js +3 -3
  64. package/es/components/DataTable/TableSelectRow.js +4 -4
  65. package/es/components/DataTable/TableSlugRow.js +3 -3
  66. package/es/components/DataTable/TableToolbar.js +2 -2
  67. package/es/components/DataTable/TableToolbarAction.js +2 -2
  68. package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
  69. package/es/components/DataTable/TableToolbarMenu.js +2 -2
  70. package/es/components/DataTable/TableToolbarSearch.js +2 -2
  71. package/es/components/DataTable/index.d.ts +1 -1
  72. package/es/components/DataTableSkeleton/DataTableSkeleton.js +15 -15
  73. package/es/components/DatePicker/DatePicker.Skeleton.js +8 -8
  74. package/es/components/DatePicker/DatePicker.js +17 -17
  75. package/es/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  76. package/es/components/DatePickerInput/DatePickerInput.js +19 -19
  77. package/es/components/Dialog/index.d.ts +5 -6
  78. package/es/components/Dialog/index.js +10 -10
  79. package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  80. package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
  81. package/es/components/Dropdown/Dropdown.d.ts +3 -3
  82. package/es/components/Dropdown/Dropdown.js +18 -18
  83. package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
  84. package/es/components/ExpandableSearch/ExpandableSearch.js +3 -3
  85. package/es/components/FeatureFlags/index.js +2 -2
  86. package/es/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  87. package/es/components/FileUploader/FileUploader.Skeleton.js +5 -5
  88. package/es/components/FileUploader/FileUploader.d.ts +2 -3
  89. package/es/components/FileUploader/FileUploader.js +12 -12
  90. package/es/components/FileUploader/FileUploaderButton.d.ts +2 -3
  91. package/es/components/FileUploader/FileUploaderButton.js +4 -4
  92. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  93. package/es/components/FileUploader/FileUploaderDropContainer.js +5 -5
  94. package/es/components/FileUploader/FileUploaderItem.d.ts +2 -3
  95. package/es/components/FileUploader/FileUploaderItem.js +13 -13
  96. package/es/components/FileUploader/Filename.d.ts +3 -4
  97. package/es/components/FileUploader/Filename.js +7 -7
  98. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -5
  99. package/es/components/FluidComboBox/FluidComboBox.js +4 -4
  100. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +11 -11
  101. package/es/components/FluidDatePicker/FluidDatePicker.js +4 -4
  102. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  103. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -5
  104. package/es/components/FluidDropdown/FluidDropdown.js +4 -4
  105. package/es/components/FluidForm/FluidForm.d.ts +3 -4
  106. package/es/components/FluidForm/FluidForm.js +3 -3
  107. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -5
  108. package/es/components/FluidMultiSelect/FluidMultiSelect.js +5 -5
  109. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -5
  110. package/es/components/FluidNumberInput/FluidNumberInput.js +4 -4
  111. package/es/components/FluidSearch/FluidSearch.Skeleton.js +5 -5
  112. package/es/components/FluidSearch/FluidSearch.js +4 -4
  113. package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -5
  114. package/es/components/FluidSelect/FluidSelect.js +4 -4
  115. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -5
  116. package/es/components/FluidTextArea/FluidTextArea.js +3 -3
  117. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -5
  118. package/es/components/FluidTextInput/FluidTextInput.js +5 -5
  119. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +3 -3
  120. package/es/components/FluidTimePicker/FluidTimePicker.js +13 -13
  121. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +3 -3
  122. package/es/components/Form/Form.js +2 -2
  123. package/es/components/FormGroup/FormGroup.d.ts +3 -4
  124. package/es/components/FormGroup/FormGroup.js +4 -4
  125. package/es/components/FormItem/FormItem.js +2 -2
  126. package/es/components/FormLabel/FormLabel.js +2 -2
  127. package/es/components/Grid/CSSGrid.js +8 -8
  128. package/es/components/Grid/Column.js +5 -5
  129. package/es/components/Grid/ColumnHang.js +2 -2
  130. package/es/components/Grid/FlexGrid.js +4 -4
  131. package/es/components/Grid/Grid.js +3 -3
  132. package/es/components/Grid/GridContext.d.ts +2 -2
  133. package/es/components/Grid/GridContext.js +1 -1
  134. package/es/components/Grid/Row.js +2 -2
  135. package/es/components/Heading/index.js +9 -9
  136. package/es/components/Icon/Icon.Skeleton.js +2 -2
  137. package/es/components/IconButton/index.js +11 -6
  138. package/es/components/IconIndicator/index.js +4 -4
  139. package/es/components/IdPrefix/index.js +2 -2
  140. package/es/components/InlineCheckbox/InlineCheckbox.js +6 -6
  141. package/es/components/InlineLoading/InlineLoading.js +10 -10
  142. package/es/components/Layer/LayerContext.js +2 -2
  143. package/es/components/Layer/index.d.ts +4 -0
  144. package/es/components/Layer/index.js +15 -8
  145. package/es/components/Layout/index.js +5 -5
  146. package/es/components/LayoutDirection/LayoutDirection.js +4 -4
  147. package/es/components/LayoutDirection/LayoutDirectionContext.js +2 -2
  148. package/es/components/Link/Link.js +6 -6
  149. package/es/components/ListBox/ListBox.d.ts +2 -3
  150. package/es/components/ListBox/ListBox.js +5 -5
  151. package/es/components/ListBox/ListBoxField.d.ts +3 -4
  152. package/es/components/ListBox/ListBoxField.js +2 -2
  153. package/es/components/ListBox/ListBoxMenu.d.ts +2 -3
  154. package/es/components/ListBox/ListBoxMenu.js +2 -2
  155. package/es/components/ListBox/ListBoxMenuIcon.js +4 -4
  156. package/es/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  157. package/es/components/ListBox/ListBoxMenuItem.js +3 -3
  158. package/es/components/ListBox/ListBoxSelection.js +6 -6
  159. package/es/components/ListBox/next/ListBoxSelection.js +7 -7
  160. package/es/components/ListBox/next/ListBoxTrigger.js +4 -4
  161. package/es/components/ListItem/ListItem.js +2 -2
  162. package/es/components/Loading/Loading.d.ts +3 -3
  163. package/es/components/Loading/Loading.js +6 -6
  164. package/es/components/Menu/Menu.js +3 -3
  165. package/es/components/Menu/MenuItem.js +16 -16
  166. package/es/components/MenuButton/index.js +4 -4
  167. package/es/components/Modal/Modal.d.ts +2 -3
  168. package/es/components/Modal/Modal.js +35 -35
  169. package/es/components/ModalWrapper/ModalWrapper.js +7 -7
  170. package/es/components/MultiSelect/FilterableMultiSelect.js +22 -26
  171. package/es/components/MultiSelect/MultiSelect.js +23 -23
  172. package/es/components/Notification/Notification.js +41 -41
  173. package/es/components/NumberInput/NumberInput.Skeleton.js +4 -4
  174. package/es/components/NumberInput/NumberInput.js +22 -22
  175. package/es/components/OrderedList/OrderedList.js +2 -2
  176. package/es/components/OverflowMenu/OverflowMenu.js +7 -7
  177. package/es/components/OverflowMenu/index.js +3 -3
  178. package/es/components/OverflowMenu/next/index.js +6 -6
  179. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
  180. package/es/components/OverflowMenuV2/index.js +3 -3
  181. package/es/components/PageHeader/PageHeader.js +29 -29
  182. package/es/components/Pagination/Pagination.Skeleton.js +8 -8
  183. package/es/components/Pagination/Pagination.js +17 -17
  184. package/es/components/Pagination/experimental/PageSelector.js +3 -3
  185. package/es/components/Pagination/experimental/Pagination.js +14 -14
  186. package/es/components/PaginationNav/PaginationNav.js +31 -31
  187. package/es/components/Popover/index.js +15 -15
  188. package/es/components/PrimaryButton/PrimaryButton.js +2 -2
  189. package/es/components/ProgressBar/ProgressBar.js +13 -13
  190. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +7 -7
  191. package/es/components/ProgressIndicator/ProgressIndicator.js +20 -20
  192. package/es/components/RadioButton/RadioButton.Skeleton.js +4 -4
  193. package/es/components/RadioButton/RadioButton.js +10 -10
  194. package/es/components/RadioButtonGroup/RadioButtonGroup.js +16 -16
  195. package/es/components/RadioTile/RadioTile.js +12 -12
  196. package/es/components/Search/Search.Skeleton.js +4 -4
  197. package/es/components/Search/Search.js +11 -11
  198. package/es/components/SecondaryButton/SecondaryButton.js +2 -2
  199. package/es/components/Select/Select.Skeleton.js +5 -5
  200. package/es/components/Select/Select.js +19 -19
  201. package/es/components/SelectItem/SelectItem.js +2 -2
  202. package/es/components/SelectItemGroup/SelectItemGroup.js +2 -2
  203. package/es/components/ShapeIndicator/index.js +7 -7
  204. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  205. package/es/components/SkeletonIcon/SkeletonIcon.js +3 -7
  206. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
  207. package/es/components/SkeletonText/SkeletonText.js +4 -4
  208. package/es/components/Slider/Slider.Skeleton.js +17 -17
  209. package/es/components/Slider/Slider.js +38 -38
  210. package/es/components/Slider/SliderHandles.js +19 -19
  211. package/es/components/Stack/HStack.js +2 -2
  212. package/es/components/Stack/Stack.js +2 -2
  213. package/es/components/Stack/VStack.js +2 -2
  214. package/es/components/StructuredList/StructuredList.Skeleton.js +12 -12
  215. package/es/components/StructuredList/StructuredList.js +24 -24
  216. package/es/components/Switch/IconSwitch.js +3 -3
  217. package/es/components/Switch/Switch.js +4 -4
  218. package/es/components/TabContent/TabContent.js +2 -2
  219. package/es/components/Tabs/Tabs.Skeleton.js +7 -7
  220. package/es/components/Tabs/Tabs.js +60 -60
  221. package/es/components/Tag/DismissibleTag.js +10 -10
  222. package/es/components/Tag/OperationalTag.js +6 -6
  223. package/es/components/Tag/SelectableTag.js +6 -6
  224. package/es/components/Tag/Tag.Skeleton.js +2 -2
  225. package/es/components/Tag/Tag.js +15 -15
  226. package/es/components/Text/Text.js +4 -4
  227. package/es/components/Text/TextDirection.js +2 -2
  228. package/es/components/Text/createTextComponent.js +2 -2
  229. package/es/components/TextArea/TextArea.Skeleton.js +4 -4
  230. package/es/components/TextArea/TextArea.js +19 -19
  231. package/es/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  232. package/es/components/TextInput/ControlledPasswordInput.js +13 -13
  233. package/es/components/TextInput/PasswordInput.js +15 -15
  234. package/es/components/TextInput/TextInput.Skeleton.js +4 -4
  235. package/es/components/TextInput/TextInput.js +17 -17
  236. package/es/components/Theme/index.js +10 -10
  237. package/es/components/Tile/Tile.js +36 -36
  238. package/es/components/TileGroup/TileGroup.d.ts +3 -4
  239. package/es/components/TileGroup/TileGroup.js +8 -8
  240. package/es/components/TimePicker/TimePicker.d.ts +2 -3
  241. package/es/components/TimePicker/TimePicker.js +14 -14
  242. package/es/components/TimePickerSelect/TimePickerSelect.js +4 -4
  243. package/es/components/Toggle/Toggle.Skeleton.js +4 -4
  244. package/es/components/Toggle/Toggle.js +10 -10
  245. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +8 -8
  246. package/es/components/Toggletip/index.js +12 -12
  247. package/es/components/Tooltip/DefinitionTooltip.js +4 -4
  248. package/es/components/Tooltip/Tooltip.d.ts +3 -0
  249. package/es/components/Tooltip/Tooltip.js +25 -13
  250. package/es/components/TreeView/TreeNode.js +45 -36
  251. package/es/components/TreeView/TreeView.js +30 -21
  252. package/es/components/UIShell/Content.js +2 -2
  253. package/es/components/UIShell/Header.js +2 -2
  254. package/es/components/UIShell/HeaderContainer.js +2 -2
  255. package/es/components/UIShell/HeaderGlobalAction.js +3 -3
  256. package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  257. package/es/components/UIShell/HeaderMenu.js +14 -14
  258. package/es/components/UIShell/HeaderMenuButton.js +4 -4
  259. package/es/components/UIShell/HeaderMenuItem.js +11 -9
  260. package/es/components/UIShell/HeaderName.js +3 -3
  261. package/es/components/UIShell/HeaderNavigation.js +3 -3
  262. package/es/components/UIShell/HeaderPanel.js +3 -3
  263. package/es/components/UIShell/HeaderSideNavItems.js +2 -2
  264. package/es/components/UIShell/Link.js +3 -3
  265. package/es/components/UIShell/SideNav.js +7 -7
  266. package/es/components/UIShell/SideNavDetails.js +3 -3
  267. package/es/components/UIShell/SideNavDivider.js +3 -3
  268. package/es/components/UIShell/SideNavFooter.js +7 -7
  269. package/es/components/UIShell/SideNavHeader.js +3 -3
  270. package/es/components/UIShell/SideNavIcon.js +2 -2
  271. package/es/components/UIShell/SideNavItem.js +2 -2
  272. package/es/components/UIShell/SideNavItems.js +5 -5
  273. package/es/components/UIShell/SideNavLink.js +5 -5
  274. package/es/components/UIShell/SideNavLinkText.js +2 -2
  275. package/es/components/UIShell/SideNavMenu.js +10 -10
  276. package/es/components/UIShell/SideNavMenuItem.js +5 -5
  277. package/es/components/UIShell/SideNavSwitcher.js +8 -8
  278. package/es/components/UIShell/SkipToContent.js +2 -2
  279. package/es/components/UIShell/Switcher.js +8 -8
  280. package/es/components/UIShell/SwitcherDivider.js +2 -2
  281. package/es/components/UIShell/SwitcherItem.js +3 -3
  282. package/es/components/UnorderedList/UnorderedList.js +2 -2
  283. package/es/index.js +23 -24
  284. package/es/internal/FloatingMenu.js +4 -4
  285. package/es/internal/__mocks__/mockHTMLElement.d.ts +9 -0
  286. package/es/internal/createClassWrapper.js +2 -2
  287. package/es/internal/useId.js +2 -2
  288. package/es/internal/useIdPrefix.js +3 -3
  289. package/es/internal/useNormalizedInputProps.js +3 -3
  290. package/es/internal/usePrefix.js +3 -3
  291. package/es/internal/useResizeObserver.d.ts +14 -0
  292. package/es/internal/useResizeObserver.js +74 -0
  293. package/es/internal/wrapFocus.js +3 -6
  294. package/es/tools/wrapComponent.d.ts +3 -4
  295. package/es/tools/wrapComponent.js +2 -2
  296. package/es/types/common.d.ts +0 -2
  297. package/lib/components/CodeSnippet/CodeSnippet.js +2 -3
  298. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
  299. package/lib/components/ContentSwitcher/ContentSwitcher.js +7 -1
  300. package/lib/components/DataTable/DataTable.d.ts +81 -283
  301. package/lib/components/DataTable/DataTable.js +82 -123
  302. package/lib/components/DataTable/Table.d.ts +2 -2
  303. package/lib/components/DataTable/TableActionList.d.ts +1 -1
  304. package/lib/components/DataTable/TableBody.d.ts +3 -3
  305. package/lib/components/DataTable/TableCell.d.ts +3 -4
  306. package/lib/components/DataTable/TableContainer.d.ts +2 -3
  307. package/lib/components/DataTable/TableExpandHeader.d.ts +2 -3
  308. package/lib/components/DataTable/TableExpandedRow.d.ts +3 -3
  309. package/lib/components/DataTable/TableHead.d.ts +1 -1
  310. package/lib/components/DataTable/TableHeader.d.ts +4 -4
  311. package/lib/components/DataTable/TableRow.d.ts +3 -4
  312. package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
  313. package/lib/components/DataTable/index.d.ts +1 -1
  314. package/lib/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  315. package/lib/components/Dialog/index.d.ts +5 -6
  316. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  317. package/lib/components/Dropdown/Dropdown.d.ts +3 -3
  318. package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  319. package/lib/components/FileUploader/FileUploader.d.ts +2 -3
  320. package/lib/components/FileUploader/FileUploaderButton.d.ts +2 -3
  321. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  322. package/lib/components/FileUploader/FileUploaderItem.d.ts +2 -3
  323. package/lib/components/FileUploader/Filename.d.ts +3 -4
  324. package/lib/components/FluidForm/FluidForm.d.ts +3 -4
  325. package/lib/components/FormGroup/FormGroup.d.ts +3 -4
  326. package/lib/components/Grid/GridContext.d.ts +2 -2
  327. package/lib/components/Grid/GridContext.js +5 -23
  328. package/lib/components/IconButton/index.js +6 -1
  329. package/lib/components/Layer/index.d.ts +4 -0
  330. package/lib/components/Layer/index.js +9 -2
  331. package/lib/components/Link/Link.js +1 -1
  332. package/lib/components/ListBox/ListBox.d.ts +2 -3
  333. package/lib/components/ListBox/ListBoxField.d.ts +3 -4
  334. package/lib/components/ListBox/ListBoxMenu.d.ts +2 -3
  335. package/lib/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  336. package/lib/components/Loading/Loading.d.ts +3 -3
  337. package/lib/components/Modal/Modal.d.ts +2 -3
  338. package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -5
  339. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  340. package/lib/components/SkeletonIcon/SkeletonIcon.js +1 -5
  341. package/lib/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  342. package/lib/components/TileGroup/TileGroup.d.ts +3 -4
  343. package/lib/components/TimePicker/TimePicker.d.ts +2 -3
  344. package/lib/components/Tooltip/Tooltip.d.ts +3 -0
  345. package/lib/components/Tooltip/Tooltip.js +18 -6
  346. package/lib/components/TreeView/TreeNode.js +20 -11
  347. package/lib/components/TreeView/TreeView.js +27 -18
  348. package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  349. package/lib/components/UIShell/HeaderMenuItem.js +7 -5
  350. package/lib/index.js +46 -47
  351. package/lib/internal/__mocks__/mockHTMLElement.d.ts +9 -0
  352. package/lib/internal/useResizeObserver.d.ts +14 -0
  353. package/lib/internal/useResizeObserver.js +78 -0
  354. package/lib/internal/wrapFocus.js +3 -6
  355. package/lib/tools/wrapComponent.d.ts +3 -4
  356. package/lib/types/common.d.ts +0 -2
  357. package/package.json +5 -6
  358. package/scss/components/content-switcher/_tokens.scss +9 -0
  359. package/telemetry.yml +4 -1
  360. package/es/components/DataTable/index.js +0 -76
  361. package/lib/components/DataTable/index.js +0 -82
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default, { useState } from 'react';
11
+ import React, { useState } from 'react';
12
12
  import { Popover, PopoverContent } from '../Popover/index.js';
13
13
  import { Escape } from '../../internal/keyboard/keys.js';
14
14
  import { match } from '../../internal/keyboard/match.js';
@@ -39,7 +39,7 @@ const DefinitionTooltip = _ref => {
39
39
  setOpen(false);
40
40
  }
41
41
  }
42
- return /*#__PURE__*/React__default.createElement(Popover, {
42
+ return /*#__PURE__*/React.createElement(Popover, {
43
43
  align: align,
44
44
  className: className,
45
45
  autoAlign: autoAlign,
@@ -55,7 +55,7 @@ const DefinitionTooltip = _ref => {
55
55
  setOpen(true);
56
56
  },
57
57
  open: isOpen
58
- }, /*#__PURE__*/React__default.createElement("button", _extends({}, rest, {
58
+ }, /*#__PURE__*/React.createElement("button", _extends({}, rest, {
59
59
  className: cx(`${prefix}--definition-term`, triggerClassName),
60
60
  "aria-controls": tooltipId,
61
61
  "aria-expanded": isOpen,
@@ -69,7 +69,7 @@ const DefinitionTooltip = _ref => {
69
69
  },
70
70
  onKeyDown: onKeyDown,
71
71
  type: "button"
72
- }), children), /*#__PURE__*/React__default.createElement(PopoverContent, {
72
+ }), children), /*#__PURE__*/React.createElement(PopoverContent, {
73
73
  className: `${prefix}--definition-tooltip`,
74
74
  id: tooltipId
75
75
  }, tooltipText ?? definition));
@@ -54,6 +54,9 @@ interface TooltipBaseProps {
54
54
  /**
55
55
  * Provide the label to be rendered inside of the Tooltip. The label will use
56
56
  * `aria-labelledby` and will fully describe the child node that is provided.
57
+ * If the child already has an `aria-label`, the tooltip will not apply
58
+ * `aria-labelledby`. If the child has its own `aria-labelledby`, that value
59
+ * will be kept. Otherwise, the tooltip will use its own ID to label the child.
57
60
  * This means that if you have text in the child node, that it will not be
58
61
  * announced to the screen reader.
59
62
  *
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default, { useRef, useState, useCallback, useEffect } from 'react';
11
+ import React, { useRef, useState, useCallback, useEffect } from 'react';
12
12
  import { Popover, PopoverContent } from '../Popover/index.js';
13
13
  import { Escape, Enter, Space } from '../../internal/keyboard/keys.js';
14
14
  import { match } from '../../internal/keyboard/match.js';
@@ -22,7 +22,7 @@ import useIsomorphicEffect from '../../internal/useIsomorphicEffect.js';
22
22
  * Event types that trigger a "drag" to stop.
23
23
  */
24
24
  const DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
25
- const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
25
+ const Tooltip = /*#__PURE__*/React.forwardRef((_ref, ref) => {
26
26
  let {
27
27
  as,
28
28
  align = 'top',
@@ -45,7 +45,22 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
45
45
  const [isPointerIntersecting, setIsPointerIntersecting] = useState(false);
46
46
  const id = useId('tooltip');
47
47
  const prefix = usePrefix();
48
- const child = React__default.Children.only(children);
48
+ const child = React.Children.only(children);
49
+ const {
50
+ 'aria-label': ariaLabel,
51
+ 'aria-labelledby': ariaLabelledBy,
52
+ 'aria-describedby': ariaDescribedBy
53
+ } = child?.props ?? {};
54
+ const hasLabel = !!label;
55
+ const hasAriaLabel = typeof ariaLabel === 'string' ? ariaLabel.trim() !== '' : false;
56
+
57
+ // An `aria-label` takes precedence over `aria-describedby`, but when it's
58
+ // needed and the user doesn't specify one, the fallback `id` is used.
59
+ const labelledBy = hasAriaLabel ? null : hasLabel ? ariaLabelledBy ?? id : undefined;
60
+
61
+ // If `aria-label` is present, use any provided `aria-describedby`.
62
+ // If not, fallback to child's `aria-describedby` or the tooltip `id` if needed.
63
+ const describedBy = hasAriaLabel ? ariaDescribedBy : ariaDescribedBy ?? (!hasLabel && !ariaLabelledBy ? id : undefined);
49
64
  const triggerProps = {
50
65
  onFocus: () => !focusByMouse && setOpen(true),
51
66
  onBlur: () => {
@@ -58,7 +73,9 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
58
73
  onMouseLeave,
59
74
  onMouseDown,
60
75
  onMouseMove: onMouseMove,
61
- onTouchStart: onDragStart
76
+ onTouchStart: onDragStart,
77
+ 'aria-labelledby': labelledBy,
78
+ 'aria-describedby': describedBy
62
79
  };
63
80
  function getChildEventHandlers(childProps) {
64
81
  const eventHandlerFunctions = Object.keys(triggerProps).filter(prop => prop.startsWith('on'));
@@ -73,11 +90,6 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
73
90
  });
74
91
  return eventHandlers;
75
92
  }
76
- if (label) {
77
- triggerProps['aria-labelledby'] = id;
78
- } else {
79
- triggerProps['aria-describedby'] = id;
80
- }
81
93
  const onKeyDown = useCallback(event => {
82
94
  if (open && match(event, Escape)) {
83
95
  event.stopPropagation();
@@ -151,7 +163,7 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
151
163
  });
152
164
  };
153
165
  }, [isDragging, onDragStop]);
154
- return /*#__PURE__*/React__default.createElement(Popover, _extends({
166
+ return /*#__PURE__*/React.createElement(Popover, _extends({
155
167
  as: as,
156
168
  ref: ref
157
169
  }, rest, {
@@ -162,12 +174,12 @@ const Tooltip = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
162
174
  onKeyDown: onKeyDown,
163
175
  onMouseLeave: onMouseLeave,
164
176
  open: open
165
- }), /*#__PURE__*/React__default.createElement("div", {
177
+ }), /*#__PURE__*/React.createElement("div", {
166
178
  className: `${prefix}--tooltip-trigger__wrapper`
167
- }, child !== undefined ? /*#__PURE__*/React__default.cloneElement(child, {
179
+ }, child !== undefined ? /*#__PURE__*/React.cloneElement(child, {
168
180
  ...triggerProps,
169
181
  ...getChildEventHandlers(child.props)
170
- }) : null), /*#__PURE__*/React__default.createElement(PopoverContent, {
182
+ }) : null), /*#__PURE__*/React.createElement(PopoverContent, {
171
183
  "aria-hidden": open ? 'false' : 'true',
172
184
  className: `${prefix}--tooltip-content`,
173
185
  id: id,
@@ -9,7 +9,7 @@ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js
9
9
  import { CaretDown } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
- import React__default, { useRef, useState, useEffect } from 'react';
12
+ import React, { useRef, useState, useEffect } from 'react';
13
13
  import { ArrowLeft, ArrowRight, Enter, Space } from '../../internal/keyboard/keys.js';
14
14
  import { matches, match } from '../../internal/keyboard/match.js';
15
15
  import { useControllableState } from '../../internal/useControllableState.js';
@@ -17,7 +17,7 @@ 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__default.forwardRef((_ref, forwardedRef) => {
20
+ const TreeNode = /*#__PURE__*/React.forwardRef((_ref, forwardedRef) => {
21
21
  let {
22
22
  active,
23
23
  children,
@@ -70,19 +70,28 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
70
70
  forwardedRef.current = element;
71
71
  }
72
72
  };
73
- const nodesWithProps = React__default.Children.map(children, node => {
74
- if (/*#__PURE__*/React__default.isValidElement(node)) {
75
- return /*#__PURE__*/React__default.cloneElement(node, {
76
- active,
77
- depth: depth + 1,
78
- disabled: disabled || node.props.disabled,
79
- onTreeSelect,
80
- onNodeFocusEvent,
81
- selected,
82
- tabIndex: !node.props.disabled && -1 || null
73
+ function enhanceTreeNodes(children) {
74
+ return React.Children.map(children, node => {
75
+ if (! /*#__PURE__*/React.isValidElement(node)) return node;
76
+ const isTreeNode = node.type.displayName === 'TreeNode';
77
+ if (isTreeNode) {
78
+ return /*#__PURE__*/React.cloneElement(node, {
79
+ active,
80
+ depth: depth + 1,
81
+ disabled: disabled || node.props.disabled,
82
+ onTreeSelect,
83
+ onNodeFocusEvent,
84
+ selected,
85
+ tabIndex: node.props.disabled ? null : -1
86
+ });
87
+ }
88
+ const newChildren = enhanceTreeNodes(node.props.children);
89
+ return /*#__PURE__*/React.cloneElement(node, {
90
+ children: newChildren
83
91
  });
84
- }
85
- });
92
+ });
93
+ }
94
+ const nodesWithProps = enhanceTreeNodes(children);
86
95
  const isActive = active === id;
87
96
  const isSelected = selected.includes(id);
88
97
  const treeNodeClasses = cx(className, `${prefix}--tree-node`, {
@@ -282,52 +291,52 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
282
291
  };
283
292
  if (!children) {
284
293
  if (href) {
285
- return /*#__PURE__*/React__default.createElement("li", {
294
+ return /*#__PURE__*/React.createElement("li", {
286
295
  role: "none"
287
- }, /*#__PURE__*/React__default.createElement("a", _extends({}, treeNodeProps, {
296
+ }, /*#__PURE__*/React.createElement("a", _extends({}, treeNodeProps, {
288
297
  ref: setRefs,
289
298
  href: !disabled ? href : undefined
290
- }), /*#__PURE__*/React__default.createElement("div", {
299
+ }), /*#__PURE__*/React.createElement("div", {
291
300
  className: `${prefix}--tree-node__label`,
292
301
  ref: currentNodeLabel
293
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
302
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
294
303
  className: `${prefix}--tree-node__icon`
295
304
  }), label)));
296
305
  } else {
297
- return /*#__PURE__*/React__default.createElement("li", _extends({}, treeNodeProps, {
306
+ return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
298
307
  ref: setRefs
299
- }), /*#__PURE__*/React__default.createElement("div", {
308
+ }), /*#__PURE__*/React.createElement("div", {
300
309
  className: `${prefix}--tree-node__label`,
301
310
  ref: currentNodeLabel
302
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
311
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
303
312
  className: `${prefix}--tree-node__icon`
304
313
  }), label));
305
314
  }
306
315
  }
307
316
  if (href) {
308
- return /*#__PURE__*/React__default.createElement("li", {
317
+ return /*#__PURE__*/React.createElement("li", {
309
318
  role: "none",
310
319
  className: `${prefix}--tree-node-link-parent`
311
- }, /*#__PURE__*/React__default.createElement("a", _extends({}, treeNodeProps, {
320
+ }, /*#__PURE__*/React.createElement("a", _extends({}, treeNodeProps, {
312
321
  "aria-expanded": !!expanded,
313
322
  ref: setRefs,
314
323
  href: !disabled ? href : undefined
315
- }), /*#__PURE__*/React__default.createElement("div", {
324
+ }), /*#__PURE__*/React.createElement("div", {
316
325
  className: `${prefix}--tree-node__label`,
317
326
  ref: currentNodeLabel
318
- }, /*#__PURE__*/React__default.createElement("span", {
327
+ }, /*#__PURE__*/React.createElement("span", {
319
328
  className: `${prefix}--tree-parent-node__toggle`
320
329
  // @ts-ignore
321
330
  ,
322
331
  disabled: disabled,
323
332
  onClick: handleToggleClick
324
- }, /*#__PURE__*/React__default.createElement(CaretDown, {
333
+ }, /*#__PURE__*/React.createElement(CaretDown, {
325
334
  className: toggleClasses
326
- })), /*#__PURE__*/React__default.createElement("span", {
335
+ })), /*#__PURE__*/React.createElement("span", {
327
336
  className: `${prefix}--tree-node__label__details`
328
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
337
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
329
338
  className: `${prefix}--tree-node__icon`
330
- }), label))), /*#__PURE__*/React__default.createElement("ul", {
339
+ }), label))), /*#__PURE__*/React.createElement("ul", {
331
340
  id: `${id}-subtree`,
332
341
  role: "group",
333
342
  className: cx(`${prefix}--tree-node__children`, {
@@ -335,25 +344,25 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
335
344
  })
336
345
  }, nodesWithProps));
337
346
  } else {
338
- return /*#__PURE__*/React__default.createElement("li", _extends({}, treeNodeProps, {
347
+ return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
339
348
  "aria-expanded": !!expanded,
340
349
  ref: setRefs
341
- }), /*#__PURE__*/React__default.createElement("div", {
350
+ }), /*#__PURE__*/React.createElement("div", {
342
351
  className: `${prefix}--tree-node__label`,
343
352
  ref: currentNodeLabel
344
- }, /*#__PURE__*/React__default.createElement("span", {
353
+ }, /*#__PURE__*/React.createElement("span", {
345
354
  className: `${prefix}--tree-parent-node__toggle`
346
355
  // @ts-ignore
347
356
  ,
348
357
  disabled: disabled,
349
358
  onClick: handleToggleClick
350
- }, /*#__PURE__*/React__default.createElement(CaretDown, {
359
+ }, /*#__PURE__*/React.createElement(CaretDown, {
351
360
  className: toggleClasses
352
- })), /*#__PURE__*/React__default.createElement("span", {
361
+ })), /*#__PURE__*/React.createElement("span", {
353
362
  className: `${prefix}--tree-node__label__details`
354
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
363
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
355
364
  className: `${prefix}--tree-node__icon`
356
- }), label)), /*#__PURE__*/React__default.createElement("ul", {
365
+ }), label)), /*#__PURE__*/React.createElement("ul", {
357
366
  id: `${id}-subtree`,
358
367
  role: "group",
359
368
  className: cx(`${prefix}--tree-node__children`, {
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default, { useRef, useState, useEffect } from 'react';
11
+ import React, { useRef, useState, useEffect } from 'react';
12
12
  import { ArrowUp, ArrowDown, Home, End } from '../../internal/keyboard/keys.js';
13
13
  import { matches, match } from '../../internal/keyboard/match.js';
14
14
  import { useControllableState } from '../../internal/useControllableState.js';
@@ -111,24 +111,33 @@ const TreeView = _ref => {
111
111
  }
112
112
  }
113
113
  let focusTarget = false;
114
- const nodesWithProps = React__default.Children.map(children, _node => {
115
- const node = _node;
116
- const sharedNodeProps = {
117
- active,
118
- depth: 0,
119
- onNodeFocusEvent: handleFocusEvent,
120
- onTreeSelect: handleTreeSelect,
121
- selected,
122
- tabIndex: !node.props.disabled && -1 || undefined
123
- };
124
- if (!focusTarget && !node.props.disabled) {
125
- sharedNodeProps.tabIndex = 0;
126
- focusTarget = true;
127
- }
128
- if (/*#__PURE__*/React__default.isValidElement(node)) {
129
- return /*#__PURE__*/React__default.cloneElement(node, sharedNodeProps);
130
- }
131
- });
114
+ function enhanceTreeNodes(children) {
115
+ return React.Children.map(children, child => {
116
+ if (! /*#__PURE__*/React.isValidElement(child)) return child;
117
+ const isTreeNode = child.type.displayName === 'TreeNode';
118
+ if (isTreeNode) {
119
+ const node = child;
120
+ const sharedNodeProps = {
121
+ active,
122
+ depth: 0,
123
+ onNodeFocusEvent: handleFocusEvent,
124
+ onTreeSelect: handleTreeSelect,
125
+ selected,
126
+ tabIndex: node.props.disabled ? undefined : -1
127
+ };
128
+ if (!focusTarget && !node.props.disabled) {
129
+ sharedNodeProps.tabIndex = 0;
130
+ focusTarget = true;
131
+ }
132
+ return /*#__PURE__*/React.cloneElement(child, sharedNodeProps);
133
+ }
134
+ const newChildren = enhanceTreeNodes(child.props.children);
135
+ return /*#__PURE__*/React.cloneElement(child, {
136
+ children: newChildren
137
+ });
138
+ });
139
+ }
140
+ const nodesWithProps = enhanceTreeNodes(children);
132
141
  function handleKeyDown(event) {
133
142
  event.stopPropagation();
134
143
  if (matches(event, [ArrowUp, ArrowDown, Home, End])) {
@@ -211,11 +220,11 @@ const TreeView = _ref => {
211
220
  }, []);
212
221
  useActiveAndSelectedOnMount();
213
222
  const labelId = `${treeId}__label`;
214
- const TreeLabel = () => !hideLabel ? /*#__PURE__*/React__default.createElement("label", {
223
+ const TreeLabel = () => !hideLabel ? /*#__PURE__*/React.createElement("label", {
215
224
  id: labelId,
216
225
  className: `${prefix}--label`
217
226
  }, label) : null;
218
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TreeLabel, null), /*#__PURE__*/React__default.createElement("ul", _extends({}, rest, {
227
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TreeLabel, null), /*#__PURE__*/React.createElement("ul", _extends({}, rest, {
219
228
  "aria-label": hideLabel ? label : undefined,
220
229
  "aria-labelledby": !hideLabel ? labelId : undefined,
221
230
  "aria-multiselectable": multiselect || undefined,
@@ -7,7 +7,7 @@
7
7
 
8
8
  import cx from 'classnames';
9
9
  import PropTypes from 'prop-types';
10
- import React__default from 'react';
10
+ import React from 'react';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
 
13
13
  const Content = _ref => {
@@ -19,7 +19,7 @@ const Content = _ref => {
19
19
  } = _ref;
20
20
  const prefix = usePrefix();
21
21
  const className = cx(`${prefix}--content`, customClassName);
22
- return /*#__PURE__*/React__default.createElement(tagName, {
22
+ return /*#__PURE__*/React.createElement(tagName, {
23
23
  ...rest,
24
24
  className
25
25
  }, children);
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default from 'react';
11
+ import React from 'react';
12
12
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
@@ -20,7 +20,7 @@ const Header = _ref => {
20
20
  } = _ref;
21
21
  const prefix = usePrefix();
22
22
  const className = cx(`${prefix}--header`, customClassName);
23
- return /*#__PURE__*/React__default.createElement("header", _extends({}, rest, {
23
+ return /*#__PURE__*/React.createElement("header", _extends({}, rest, {
24
24
  className: className
25
25
  }), children);
26
26
  };
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
- import React__default, { useState, useCallback } from 'react';
10
+ import React, { useState, useCallback } from 'react';
11
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';
@@ -28,7 +28,7 @@ function HeaderContainer(_ref) {
28
28
  const handleHeaderMenuButtonClick = useCallback(() => {
29
29
  setIsSideNavExpandedState(prevIsSideNavExpanded => !prevIsSideNavExpanded);
30
30
  }, [setIsSideNavExpandedState]);
31
- return /*#__PURE__*/React__default.createElement(Children, _extends({}, rest, {
31
+ return /*#__PURE__*/React.createElement(Children, _extends({}, rest, {
32
32
  isSideNavExpanded: isSideNavExpandedState,
33
33
  onClickSideNavExpand: handleHeaderMenuButtonClick
34
34
  }));
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
- import React__default from 'react';
10
+ import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import Button from '../Button/Button.js';
@@ -22,7 +22,7 @@ import { usePrefix } from '../../internal/usePrefix.js';
22
22
  *
23
23
  * Note: children passed to this component should be an Icon.
24
24
  */
25
- const HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function HeaderGlobalAction(_ref, ref) {
25
+ const HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAction(_ref, ref) {
26
26
  let {
27
27
  'aria-label': ariaLabel,
28
28
  'aria-labelledby': ariaLabelledBy,
@@ -45,7 +45,7 @@ const HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function Heade
45
45
  'aria-label': ariaLabel,
46
46
  'aria-labelledby': ariaLabelledBy
47
47
  };
48
- return /*#__PURE__*/React__default.createElement(Button, _extends({}, rest, accessibilityLabel, {
48
+ return /*#__PURE__*/React.createElement(Button, _extends({}, rest, accessibilityLabel, {
49
49
  className: className,
50
50
  onClick: onClick,
51
51
  type: "button",
@@ -7,5 +7,5 @@
7
7
  /**
8
8
  * Generic container for `HeaderGlobalAction` components
9
9
  */
10
- declare const HeaderGlobalBar: (props: import("../../types/common").ReactAttr<"div">) => React.ReactElement<any>;
10
+ declare const HeaderGlobalBar: (props: import("react").HTMLAttributes<"div">) => React.ReactElement<any>;
11
11
  export default HeaderGlobalBar;
@@ -8,7 +8,7 @@
8
8
  import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { ChevronDown } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
- import React__default from 'react';
11
+ import React from 'react';
12
12
  import PropTypes from 'prop-types';
13
13
  import { Enter, Space, Escape } from '../../internal/keyboard/keys.js';
14
14
  import { matches } from '../../internal/keyboard/match.js';
@@ -24,10 +24,10 @@ import { composeEventHandlers } from '../../tools/events.js';
24
24
  * help manage focus state of its children.
25
25
  */
26
26
 
27
- class HeaderMenu extends React__default.Component {
27
+ class HeaderMenu extends React.Component {
28
28
  constructor(props) {
29
29
  super(props);
30
- _defineProperty(this, "_subMenus", /*#__PURE__*/React__default.createRef());
30
+ _defineProperty(this, "_subMenus", /*#__PURE__*/React.createRef());
31
31
  _defineProperty(this, "items", []);
32
32
  _defineProperty(this, "menuButtonRef", null);
33
33
  /**
@@ -124,8 +124,8 @@ class HeaderMenu extends React__default.Component {
124
124
  * sequence when they might not want to go through all the items.
125
125
  */
126
126
  _defineProperty(this, "_renderMenuItem", (item, index) => {
127
- if (/*#__PURE__*/React__default.isValidElement(item)) {
128
- return /*#__PURE__*/React__default.cloneElement(item, {
127
+ if (/*#__PURE__*/React.isValidElement(item)) {
128
+ return /*#__PURE__*/React.cloneElement(item, {
129
129
  ref: this.handleItemRef(index)
130
130
  });
131
131
  }
@@ -157,8 +157,8 @@ 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 => {
161
- if (! /*#__PURE__*/React__default.isValidElement(child)) {
160
+ const hasActiveDescendant = childrenArg => React.Children.toArray(childrenArg).some(child => {
161
+ if (! /*#__PURE__*/React.isValidElement(child)) {
162
162
  return false;
163
163
  }
164
164
 
@@ -190,12 +190,12 @@ class HeaderMenu extends React__default.Component {
190
190
  // - aria-haspopup can definitely have the value "menu"
191
191
  // - aria-expanded is on their example node with role="menuitem"
192
192
  // - href can be set to javascript:void(0), ideally this will be a button
193
- return /*#__PURE__*/React__default.createElement("li", _extends({}, rest, {
193
+ return /*#__PURE__*/React.createElement("li", _extends({}, rest, {
194
194
  className: itemClassName,
195
195
  onKeyDown: composeEventHandlers([onKeyDown, this.handleMenuClose]),
196
196
  onClick: composeEventHandlers([onClick, this.handleOnClick]),
197
197
  onBlur: composeEventHandlers([onBlur, this.handleOnBlur])
198
- }), /*#__PURE__*/React__default.createElement("a", _extends({
198
+ }), /*#__PURE__*/React.createElement("a", _extends({
199
199
  // eslint-disable-line jsx-a11y/role-supports-aria-props,jsx-a11y/anchor-is-valid
200
200
  "aria-haspopup": "menu" // eslint-disable-line jsx-a11y/aria-proptypes
201
201
  ,
@@ -205,13 +205,13 @@ class HeaderMenu extends React__default.Component {
205
205
  onKeyDown: this.handleOnKeyDown,
206
206
  ref: this.handleMenuButtonRef,
207
207
  tabIndex: 0
208
- }, accessibilityLabel), menuLinkName, MenuContent ? /*#__PURE__*/React__default.createElement(MenuContent, null) : /*#__PURE__*/React__default.createElement(ChevronDown, {
208
+ }, accessibilityLabel), menuLinkName, MenuContent ? /*#__PURE__*/React.createElement(MenuContent, null) : /*#__PURE__*/React.createElement(ChevronDown, {
209
209
  className: `${this.context}--header__menu-arrow`
210
- })), /*#__PURE__*/React__default.createElement("ul", _extends({}, accessibilityLabel, {
210
+ })), /*#__PURE__*/React.createElement("ul", _extends({}, accessibilityLabel, {
211
211
  ref: this._subMenus,
212
212
  onClick: this.handleOnClick,
213
213
  className: `${prefix}--header__menu`
214
- }), React__default.Children.map(children, this._renderMenuItem)));
214
+ }), React.Children.map(children, this._renderMenuItem)));
215
215
  }
216
216
  }
217
217
  _defineProperty(HeaderMenu, "propTypes", {
@@ -265,8 +265,8 @@ _defineProperty(HeaderMenu, "propTypes", {
265
265
  tabIndex: PropTypes.number
266
266
  });
267
267
  _defineProperty(HeaderMenu, "contextType", PrefixContext);
268
- const HeaderMenuForwardRef = /*#__PURE__*/React__default.forwardRef((props, ref) => {
269
- return /*#__PURE__*/React__default.createElement(HeaderMenu, _extends({}, props, {
268
+ const HeaderMenuForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => {
269
+ return /*#__PURE__*/React.createElement(HeaderMenu, _extends({}, props, {
270
270
  focusRef: ref
271
271
  }));
272
272
  });
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { Menu, Close } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
- import React__default from 'react';
11
+ import React from 'react';
12
12
  import PropTypes from 'prop-types';
13
13
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
@@ -36,13 +36,13 @@ function HeaderMenuButton(_ref) {
36
36
  [`${prefix}--header__menu-toggle`]: true,
37
37
  [`${prefix}--header__menu-toggle__hidden`]: !isCollapsible
38
38
  });
39
- const menuIcon = renderMenuIcon ? renderMenuIcon : _Menu || (_Menu = /*#__PURE__*/React__default.createElement(Menu, {
39
+ const menuIcon = renderMenuIcon ? renderMenuIcon : _Menu || (_Menu = /*#__PURE__*/React.createElement(Menu, {
40
40
  size: 20
41
41
  }));
42
- const closeIcon = renderCloseIcon ? renderCloseIcon : _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, {
42
+ const closeIcon = renderCloseIcon ? renderCloseIcon : _Close || (_Close = /*#__PURE__*/React.createElement(Close, {
43
43
  size: 20
44
44
  }));
45
- return /*#__PURE__*/React__default.createElement("button", _extends({}, rest, {
45
+ return /*#__PURE__*/React.createElement("button", _extends({}, rest, {
46
46
  "aria-label": ariaLabel,
47
47
  "aria-labelledby": ariaLabelledBy,
48
48
  className: className,
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
- import React__default, { forwardRef } from 'react';
10
+ import React, { forwardRef } from 'react';
11
11
  import cx from 'classnames';
12
12
  import Link, { LinkPropTypes } from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
@@ -28,21 +28,23 @@ const HeaderMenuItem = /*#__PURE__*/forwardRef(function HeaderMenuItem(_ref, ref
28
28
  if (isCurrentPage) {
29
29
  isActive = isCurrentPage;
30
30
  }
31
+ // We set the current class only if `isActive` is passed in and we do
32
+ // not have an `aria-current="page"` set for the breadcrumb item. When this
33
+ // class is added we also set `aria-current` as `true`
34
+ const hasCurrentClass = isActive && ariaCurrent !== 'page';
31
35
  const linkClassName = cx({
32
36
  [`${prefix}--header__menu-item`]: true,
33
- // We set the current class only if `isActive` is passed in and we do
34
- // not have an `aria-current="page"` set for the breadcrumb item
35
- [`${prefix}--header__menu-item--current`]: isActive && ariaCurrent !== 'page'
37
+ [`${prefix}--header__menu-item--current`]: hasCurrentClass
36
38
  });
37
- return /*#__PURE__*/React__default.createElement("li", {
39
+ return /*#__PURE__*/React.createElement("li", {
38
40
  className: className,
39
41
  role: role
40
- }, /*#__PURE__*/React__default.createElement(Link, _extends({}, rest, {
41
- "aria-current": ariaCurrent,
42
+ }, /*#__PURE__*/React.createElement(Link, _extends({}, rest, {
43
+ "aria-current": hasCurrentClass ? true : ariaCurrent,
42
44
  className: linkClassName,
43
45
  ref: ref,
44
46
  tabIndex: tabIndex
45
- }), /*#__PURE__*/React__default.createElement("span", {
47
+ }), /*#__PURE__*/React.createElement("span", {
46
48
  className: `${prefix}--text-truncate--end`
47
49
  }, children)));
48
50
  });
@@ -63,7 +65,7 @@ HeaderMenuItem.propTypes = {
63
65
  */
64
66
  className: PropTypes.string,
65
67
  /**
66
- * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
68
+ * If `true` and `aria-current !== 'page'`, applies selected styles to the item and sets `aria-current="true"`.
67
69
  */
68
70
  isActive: PropTypes.bool,
69
71
  /**
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
- import React__default from 'react';
10
+ import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import Link, { LinkPropTypes } from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
@@ -21,9 +21,9 @@ function HeaderName(_ref) {
21
21
  } = _ref;
22
22
  const selectorPrefix = usePrefix();
23
23
  const className = cx(`${selectorPrefix}--header__name`, customClassName);
24
- return /*#__PURE__*/React__default.createElement(Link, _extends({}, rest, {
24
+ return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {
25
25
  className: className
26
- }), prefix && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
26
+ }), prefix && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
27
27
  className: `${selectorPrefix}--header__name--prefix`
28
28
  }, prefix), "\xA0"), children);
29
29
  }