@carbon/react 1.83.0-rc.0 → 1.84.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +895 -790
  2. package/README.md +1 -1
  3. package/es/components/AILabel/index.js +37 -40
  4. package/es/components/AISkeleton/AISkeletonIcon.js +6 -7
  5. package/es/components/AISkeleton/AISkeletonPlaceholder.js +6 -7
  6. package/es/components/AISkeleton/AISkeletonText.js +6 -7
  7. package/es/components/Accordion/Accordion.Skeleton.js +24 -25
  8. package/es/components/Accordion/Accordion.js +13 -14
  9. package/es/components/Accordion/AccordionItem.js +22 -23
  10. package/es/components/Accordion/AccordionProvider.js +6 -7
  11. package/es/components/AspectRatio/AspectRatio.js +9 -10
  12. package/es/components/BadgeIndicator/index.js +7 -8
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  14. package/es/components/Breadcrumb/Breadcrumb.js +3 -3
  15. package/es/components/Breadcrumb/BreadcrumbItem.js +9 -9
  16. package/es/components/Button/Button.Skeleton.js +10 -11
  17. package/es/components/Button/Button.js +5 -5
  18. package/es/components/Button/ButtonBase.js +27 -28
  19. package/es/components/ButtonSet/ButtonSet.js +2 -2
  20. package/es/components/ChatButton/ChatButton.Skeleton.js +7 -8
  21. package/es/components/ChatButton/ChatButton.js +13 -14
  22. package/es/components/Checkbox/Checkbox.Skeleton.js +8 -9
  23. package/es/components/Checkbox/Checkbox.js +33 -34
  24. package/es/components/CheckboxGroup/CheckboxGroup.js +28 -29
  25. package/es/components/ClassPrefix/index.js +6 -7
  26. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +12 -13
  27. package/es/components/CodeSnippet/CodeSnippet.js +41 -42
  28. package/es/components/ComboBox/ComboBox.js +42 -48
  29. package/es/components/ComboBox/tools/filter.js +9 -12
  30. package/es/components/ComboButton/index.js +22 -24
  31. package/es/components/ComposedModal/ComposedModal.js +49 -52
  32. package/es/components/ComposedModal/ModalFooter.js +42 -47
  33. package/es/components/ComposedModal/ModalHeader.js +21 -22
  34. package/es/components/ContainedList/ContainedList.js +17 -18
  35. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +16 -17
  36. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +17 -29
  37. package/es/components/ContentSwitcher/ContentSwitcher.js +100 -126
  38. package/es/components/ContentSwitcher/index.d.ts +3 -4
  39. package/es/components/ContextMenu/useContextMenu.js +1 -2
  40. package/es/components/Copy/Copy.js +13 -14
  41. package/es/components/CopyButton/CopyButton.js +14 -15
  42. package/es/components/DangerButton/DangerButton.js +2 -2
  43. package/es/components/DataTable/DataTable.d.ts +81 -283
  44. package/es/components/DataTable/DataTable.js +124 -172
  45. package/es/components/DataTable/Table.d.ts +2 -2
  46. package/es/components/DataTable/Table.js +19 -22
  47. package/es/components/DataTable/TableActionList.d.ts +1 -1
  48. package/es/components/DataTable/TableBatchAction.js +9 -12
  49. package/es/components/DataTable/TableBatchActions.js +27 -29
  50. package/es/components/DataTable/TableBody.d.ts +3 -3
  51. package/es/components/DataTable/TableBody.js +9 -12
  52. package/es/components/DataTable/TableCell.d.ts +3 -4
  53. package/es/components/DataTable/TableCell.js +2 -2
  54. package/es/components/DataTable/TableContainer.d.ts +2 -3
  55. package/es/components/DataTable/TableContainer.js +15 -16
  56. package/es/components/DataTable/TableDecoratorRow.js +8 -9
  57. package/es/components/DataTable/TableExpandHeader.d.ts +2 -3
  58. package/es/components/DataTable/TableExpandHeader.js +18 -19
  59. package/es/components/DataTable/TableExpandRow.js +20 -21
  60. package/es/components/DataTable/TableExpandedRow.d.ts +3 -3
  61. package/es/components/DataTable/TableExpandedRow.js +10 -11
  62. package/es/components/DataTable/TableHead.d.ts +1 -1
  63. package/es/components/DataTable/TableHeader.d.ts +4 -4
  64. package/es/components/DataTable/TableHeader.js +29 -30
  65. package/es/components/DataTable/TableRow.d.ts +3 -4
  66. package/es/components/DataTable/TableRow.js +4 -4
  67. package/es/components/DataTable/TableSelectAll.js +14 -15
  68. package/es/components/DataTable/TableSelectRow.js +16 -17
  69. package/es/components/DataTable/TableSlugRow.js +7 -8
  70. package/es/components/DataTable/TableToolbar.js +9 -10
  71. package/es/components/DataTable/TableToolbarAction.js +2 -2
  72. package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
  73. package/es/components/DataTable/TableToolbarMenu.js +10 -11
  74. package/es/components/DataTable/TableToolbarSearch.js +24 -26
  75. package/es/components/DataTable/index.d.ts +1 -1
  76. package/es/components/DataTable/state/sorting.js +3 -4
  77. package/es/components/DataTable/tools/filter.js +10 -12
  78. package/es/components/DataTable/tools/normalize.js +6 -8
  79. package/es/components/DataTable/tools/sorting.js +24 -30
  80. package/es/components/DataTableSkeleton/DataTableSkeleton.js +26 -27
  81. package/es/components/DatePicker/DatePicker.Skeleton.js +15 -16
  82. package/es/components/DatePicker/DatePicker.js +104 -81
  83. package/es/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  84. package/es/components/DatePickerInput/DatePickerInput.js +24 -25
  85. package/es/components/Dialog/index.d.ts +194 -10
  86. package/es/components/Dialog/index.js +458 -39
  87. package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  88. package/es/components/Dropdown/Dropdown.Skeleton.js +10 -11
  89. package/es/components/Dropdown/Dropdown.d.ts +3 -3
  90. package/es/components/Dropdown/Dropdown.js +57 -60
  91. package/es/components/ErrorBoundary/ErrorBoundary.js +4 -4
  92. package/es/components/ExpandableSearch/ExpandableSearch.js +11 -12
  93. package/es/components/FeatureFlags/index.js +13 -14
  94. package/es/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  95. package/es/components/FileUploader/FileUploader.Skeleton.js +9 -10
  96. package/es/components/FileUploader/FileUploader.d.ts +2 -3
  97. package/es/components/FileUploader/FileUploader.js +33 -35
  98. package/es/components/FileUploader/FileUploaderButton.d.ts +2 -3
  99. package/es/components/FileUploader/FileUploaderButton.js +20 -21
  100. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  101. package/es/components/FileUploader/FileUploaderDropContainer.js +20 -21
  102. package/es/components/FileUploader/FileUploaderItem.d.ts +2 -3
  103. package/es/components/FileUploader/FileUploaderItem.js +26 -27
  104. package/es/components/FileUploader/Filename.d.ts +3 -4
  105. package/es/components/FileUploader/Filename.js +16 -17
  106. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +9 -10
  107. package/es/components/FluidComboBox/FluidComboBox.js +8 -9
  108. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +16 -17
  109. package/es/components/FluidDatePicker/FluidDatePicker.js +13 -14
  110. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  111. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +9 -10
  112. package/es/components/FluidDropdown/FluidDropdown.js +8 -9
  113. package/es/components/FluidForm/FluidForm.d.ts +3 -4
  114. package/es/components/FluidForm/FluidForm.js +8 -9
  115. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +9 -10
  116. package/es/components/FluidMultiSelect/FluidMultiSelect.js +10 -11
  117. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +9 -10
  118. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  119. package/es/components/FluidNumberInput/FluidNumberInput.js +41 -8
  120. package/es/components/FluidSearch/FluidSearch.Skeleton.js +9 -10
  121. package/es/components/FluidSearch/FluidSearch.js +7 -8
  122. package/es/components/FluidSelect/FluidSelect.Skeleton.js +9 -10
  123. package/es/components/FluidSelect/FluidSelect.js +8 -9
  124. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  125. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  126. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  127. package/es/components/FluidTextInput/FluidTextInput.js +9 -10
  128. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +8 -9
  129. package/es/components/FluidTimePicker/FluidTimePicker.js +23 -24
  130. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -8
  131. package/es/components/Form/Form.js +7 -8
  132. package/es/components/FormGroup/FormGroup.d.ts +3 -4
  133. package/es/components/FormGroup/FormGroup.js +15 -16
  134. package/es/components/FormItem/FormItem.js +7 -8
  135. package/es/components/FormLabel/FormLabel.js +8 -9
  136. package/es/components/Grid/CSSGrid.js +23 -25
  137. package/es/components/Grid/Column.js +32 -31
  138. package/es/components/Grid/ColumnHang.js +8 -9
  139. package/es/components/Grid/FlexGrid.js +12 -13
  140. package/es/components/Grid/Grid.js +3 -3
  141. package/es/components/Grid/GridContext.d.ts +2 -2
  142. package/es/components/Grid/GridContext.js +6 -7
  143. package/es/components/Grid/Row.js +10 -11
  144. package/es/components/Heading/index.js +13 -14
  145. package/es/components/Icon/Icon.Skeleton.js +6 -7
  146. package/es/components/IconButton/index.js +30 -26
  147. package/es/components/IconIndicator/index.js +10 -11
  148. package/es/components/IdPrefix/index.js +6 -7
  149. package/es/components/InlineCheckbox/InlineCheckbox.js +6 -6
  150. package/es/components/InlineLoading/InlineLoading.js +19 -20
  151. package/es/components/Layer/LayerContext.js +2 -2
  152. package/es/components/Layer/index.d.ts +4 -0
  153. package/es/components/Layer/index.js +21 -15
  154. package/es/components/Layout/index.js +24 -29
  155. package/es/components/LayoutDirection/LayoutDirection.js +10 -11
  156. package/es/components/LayoutDirection/LayoutDirectionContext.js +2 -2
  157. package/es/components/Link/Link.d.ts +1 -1
  158. package/es/components/Link/Link.js +19 -20
  159. package/es/components/ListBox/ListBox.d.ts +2 -3
  160. package/es/components/ListBox/ListBox.js +5 -5
  161. package/es/components/ListBox/ListBoxField.d.ts +3 -4
  162. package/es/components/ListBox/ListBoxField.js +8 -9
  163. package/es/components/ListBox/ListBoxMenu.d.ts +2 -3
  164. package/es/components/ListBox/ListBoxMenu.js +7 -8
  165. package/es/components/ListBox/ListBoxMenuIcon.js +8 -9
  166. package/es/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  167. package/es/components/ListBox/ListBoxMenuItem.js +11 -13
  168. package/es/components/ListBox/ListBoxSelection.js +14 -15
  169. package/es/components/ListBox/next/ListBoxSelection.js +16 -17
  170. package/es/components/ListBox/next/ListBoxTrigger.js +8 -9
  171. package/es/components/ListItem/ListItem.js +7 -8
  172. package/es/components/Loading/Loading.d.ts +3 -3
  173. package/es/components/Loading/Loading.js +14 -15
  174. package/es/components/Menu/Menu.js +26 -27
  175. package/es/components/Menu/MenuItem.js +55 -60
  176. package/es/components/MenuButton/index.js +20 -22
  177. package/es/components/Modal/Modal.d.ts +2 -3
  178. package/es/components/Modal/Modal.js +85 -93
  179. package/es/components/ModalWrapper/ModalWrapper.js +9 -9
  180. package/es/components/MultiSelect/FilterableMultiSelect.js +68 -74
  181. package/es/components/MultiSelect/MultiSelect.js +65 -67
  182. package/es/components/MultiSelect/tools/sorting.js +11 -15
  183. package/es/components/Notification/Notification.js +137 -146
  184. package/es/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  185. package/es/components/NumberInput/NumberFormatPropTypes.js +40 -0
  186. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  187. package/es/components/NumberInput/NumberInput.d.ts +39 -3
  188. package/es/components/NumberInput/NumberInput.js +195 -65
  189. package/es/components/OrderedList/OrderedList.js +9 -10
  190. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  191. package/es/components/OverflowMenu/OverflowMenu.js +42 -48
  192. package/es/components/OverflowMenu/index.js +3 -3
  193. package/es/components/OverflowMenu/next/index.js +17 -18
  194. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
  195. package/es/components/OverflowMenuV2/index.js +3 -3
  196. package/es/components/PageHeader/PageHeader.d.ts +29 -5
  197. package/es/components/PageHeader/PageHeader.js +136 -90
  198. package/es/components/Pagination/Pagination.Skeleton.js +12 -13
  199. package/es/components/Pagination/Pagination.js +40 -41
  200. package/es/components/Pagination/experimental/PageSelector.js +11 -12
  201. package/es/components/Pagination/experimental/Pagination.js +34 -35
  202. package/es/components/PaginationNav/PaginationNav.js +63 -68
  203. package/es/components/Popover/index.js +40 -42
  204. package/es/components/PrimaryButton/PrimaryButton.js +2 -2
  205. package/es/components/ProgressBar/ProgressBar.js +24 -25
  206. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +12 -13
  207. package/es/components/ProgressIndicator/ProgressIndicator.js +49 -52
  208. package/es/components/RadioButton/RadioButton.Skeleton.js +4 -4
  209. package/es/components/RadioButton/RadioButton.js +10 -10
  210. package/es/components/RadioButtonGroup/RadioButtonGroup.js +16 -16
  211. package/es/components/RadioTile/RadioTile.js +28 -29
  212. package/es/components/Search/Search.Skeleton.js +9 -10
  213. package/es/components/Search/Search.js +36 -38
  214. package/es/components/SecondaryButton/SecondaryButton.js +2 -2
  215. package/es/components/Select/Select.Skeleton.js +10 -11
  216. package/es/components/Select/Select.js +42 -43
  217. package/es/components/SelectItem/SelectItem.js +10 -11
  218. package/es/components/SelectItemGroup/SelectItemGroup.js +9 -10
  219. package/es/components/ShapeIndicator/index.js +13 -14
  220. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  221. package/es/components/SkeletonIcon/SkeletonIcon.js +7 -12
  222. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +6 -7
  223. package/es/components/SkeletonText/SkeletonText.js +12 -13
  224. package/es/components/Slider/Slider.Skeleton.js +25 -26
  225. package/es/components/Slider/Slider.js +99 -113
  226. package/es/components/Slider/SliderHandles.js +20 -20
  227. package/es/components/Stack/HStack.js +2 -2
  228. package/es/components/Stack/Stack.js +2 -2
  229. package/es/components/Stack/VStack.js +2 -2
  230. package/es/components/StructuredList/StructuredList.Skeleton.js +17 -18
  231. package/es/components/StructuredList/StructuredList.js +24 -24
  232. package/es/components/Switch/IconSwitch.js +3 -3
  233. package/es/components/Switch/Switch.js +4 -4
  234. package/es/components/TabContent/TabContent.js +2 -2
  235. package/es/components/Tabs/Tabs.Skeleton.js +12 -13
  236. package/es/components/Tabs/Tabs.js +141 -156
  237. package/es/components/Tabs/usePressable.js +7 -8
  238. package/es/components/Tag/DismissibleTag.js +26 -27
  239. package/es/components/Tag/OperationalTag.js +16 -17
  240. package/es/components/Tag/SelectableTag.js +19 -20
  241. package/es/components/Tag/Tag.Skeleton.js +7 -8
  242. package/es/components/Tag/Tag.js +33 -34
  243. package/es/components/Text/Text.js +9 -10
  244. package/es/components/Text/TextDirection.js +7 -8
  245. package/es/components/Text/createTextComponent.js +2 -2
  246. package/es/components/TextArea/TextArea.Skeleton.js +4 -4
  247. package/es/components/TextArea/TextArea.js +22 -22
  248. package/es/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  249. package/es/components/TextInput/ControlledPasswordInput.js +36 -37
  250. package/es/components/TextInput/PasswordInput.js +40 -41
  251. package/es/components/TextInput/TextInput.Skeleton.js +9 -10
  252. package/es/components/TextInput/TextInput.js +43 -44
  253. package/es/components/TextInput/util.js +14 -17
  254. package/es/components/Theme/index.js +19 -21
  255. package/es/components/Tile/Tile.js +98 -104
  256. package/es/components/TileGroup/TileGroup.d.ts +3 -4
  257. package/es/components/TileGroup/TileGroup.js +8 -8
  258. package/es/components/TimePicker/TimePicker.d.ts +2 -3
  259. package/es/components/TimePicker/TimePicker.js +14 -14
  260. package/es/components/TimePickerSelect/TimePickerSelect.js +4 -4
  261. package/es/components/Toggle/Toggle.Skeleton.js +8 -9
  262. package/es/components/Toggle/Toggle.js +27 -28
  263. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +14 -15
  264. package/es/components/Toggletip/index.js +43 -49
  265. package/es/components/Tooltip/DefinitionTooltip.js +17 -18
  266. package/es/components/Tooltip/Tooltip.d.ts +3 -0
  267. package/es/components/Tooltip/Tooltip.js +39 -28
  268. package/es/components/TreeView/TreeNode.js +64 -56
  269. package/es/components/TreeView/TreeView.js +44 -37
  270. package/es/components/UIShell/Content.js +8 -9
  271. package/es/components/UIShell/Header.js +7 -8
  272. package/es/components/UIShell/HeaderContainer.js +7 -8
  273. package/es/components/UIShell/HeaderGlobalAction.js +14 -15
  274. package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  275. package/es/components/UIShell/HeaderMenu.d.ts +10 -112
  276. package/es/components/UIShell/HeaderMenu.js +154 -201
  277. package/es/components/UIShell/HeaderMenuButton.js +14 -15
  278. package/es/components/UIShell/HeaderMenuItem.js +21 -20
  279. package/es/components/UIShell/HeaderName.js +9 -10
  280. package/es/components/UIShell/HeaderNavigation.js +10 -11
  281. package/es/components/UIShell/HeaderPanel.js +11 -12
  282. package/es/components/UIShell/HeaderSideNavItems.js +7 -8
  283. package/es/components/UIShell/Link.js +11 -12
  284. package/es/components/UIShell/SideNav.js +30 -32
  285. package/es/components/UIShell/SideNavDetails.js +9 -10
  286. package/es/components/UIShell/SideNavDivider.js +6 -7
  287. package/es/components/UIShell/SideNavFooter.js +13 -14
  288. package/es/components/UIShell/SideNavHeader.js +8 -9
  289. package/es/components/UIShell/SideNavIcon.js +7 -8
  290. package/es/components/UIShell/SideNavItem.js +7 -8
  291. package/es/components/UIShell/SideNavItems.js +10 -11
  292. package/es/components/UIShell/SideNavLink.js +15 -16
  293. package/es/components/UIShell/SideNavLinkText.js +7 -8
  294. package/es/components/UIShell/SideNavMenu.js +20 -21
  295. package/es/components/UIShell/SideNavMenuItem.js +5 -5
  296. package/es/components/UIShell/SideNavSwitcher.js +8 -8
  297. package/es/components/UIShell/SkipToContent.js +9 -10
  298. package/es/components/UIShell/Switcher.js +12 -13
  299. package/es/components/UIShell/SwitcherDivider.js +6 -7
  300. package/es/components/UIShell/SwitcherItem.js +3 -3
  301. package/es/components/UnorderedList/UnorderedList.js +8 -9
  302. package/es/index.js +25 -26
  303. package/es/internal/FloatingMenu.js +30 -32
  304. package/es/internal/Selection.js +15 -17
  305. package/{lib/feature-flags.d.ts → es/internal/__mocks__/mockHTMLElement.d.ts} +4 -2
  306. package/es/internal/createClassWrapper.js +2 -2
  307. package/es/internal/getAnnouncement.d.ts +8 -0
  308. package/es/internal/getAnnouncement.js +22 -0
  309. package/es/internal/keyboard/match.js +6 -7
  310. package/es/internal/useControllableState.d.ts +1 -1
  311. package/es/internal/useControllableState.js +8 -9
  312. package/es/internal/useDelayedState.js +1 -2
  313. package/es/internal/useDocumentLang.d.ts +12 -0
  314. package/es/internal/useId.js +4 -6
  315. package/es/internal/useIdPrefix.js +3 -3
  316. package/es/internal/useMatchMedia.js +1 -2
  317. package/es/internal/useMergedRefs.d.ts +1 -1
  318. package/es/internal/useNoInteractiveChildren.js +2 -4
  319. package/es/internal/useNormalizedInputProps.js +12 -13
  320. package/es/internal/usePrefix.js +3 -3
  321. package/es/internal/useResizeObserver.d.ts +14 -0
  322. package/es/internal/useResizeObserver.js +73 -0
  323. package/es/internal/useSavedCallback.js +1 -3
  324. package/es/internal/wrapFocus.js +23 -35
  325. package/es/prop-types/deprecate.js +1 -4
  326. package/es/prop-types/deprecateValuesWithin.js +1 -4
  327. package/es/prop-types/isRequiredOneOf.js +1 -4
  328. package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  329. package/es/tools/events.js +1 -4
  330. package/es/tools/mergeRefs.js +9 -14
  331. package/es/tools/uniqueId.js +1 -2
  332. package/es/tools/wrapComponent.d.ts +3 -4
  333. package/es/tools/wrapComponent.js +11 -13
  334. package/es/types/common.d.ts +0 -2
  335. package/lib/components/AILabel/index.js +27 -30
  336. package/lib/components/AISkeleton/AISkeletonIcon.js +4 -5
  337. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  338. package/lib/components/AISkeleton/AISkeletonText.js +4 -5
  339. package/lib/components/Accordion/Accordion.Skeleton.js +9 -10
  340. package/lib/components/Accordion/Accordion.js +10 -11
  341. package/lib/components/Accordion/AccordionItem.js +13 -14
  342. package/lib/components/Accordion/AccordionProvider.js +4 -5
  343. package/lib/components/AspectRatio/AspectRatio.js +7 -8
  344. package/lib/components/BadgeIndicator/index.js +5 -6
  345. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  346. package/lib/components/Button/Button.Skeleton.js +7 -8
  347. package/lib/components/Button/ButtonBase.js +23 -24
  348. package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -6
  349. package/lib/components/ChatButton/ChatButton.js +11 -12
  350. package/lib/components/Checkbox/Checkbox.Skeleton.js +4 -5
  351. package/lib/components/Checkbox/Checkbox.js +19 -20
  352. package/lib/components/CheckboxGroup/CheckboxGroup.js +16 -17
  353. package/lib/components/ClassPrefix/index.js +4 -5
  354. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  355. package/lib/components/CodeSnippet/CodeSnippet.js +27 -29
  356. package/lib/components/ComboBox/ComboBox.js +24 -30
  357. package/lib/components/ComboBox/tools/filter.js +9 -12
  358. package/lib/components/ComboButton/index.js +16 -18
  359. package/lib/components/ComposedModal/ComposedModal.js +31 -34
  360. package/lib/components/ComposedModal/ModalFooter.js +37 -42
  361. package/lib/components/ComposedModal/ModalHeader.js +14 -15
  362. package/lib/components/ContainedList/ContainedList.js +10 -11
  363. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  364. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +17 -29
  365. package/lib/components/ContentSwitcher/ContentSwitcher.js +98 -124
  366. package/lib/components/ContentSwitcher/index.d.ts +3 -4
  367. package/lib/components/ContextMenu/useContextMenu.js +1 -2
  368. package/lib/components/Copy/Copy.js +11 -12
  369. package/lib/components/CopyButton/CopyButton.js +10 -11
  370. package/lib/components/DataTable/DataTable.d.ts +81 -283
  371. package/lib/components/DataTable/DataTable.js +123 -172
  372. package/lib/components/DataTable/Table.d.ts +2 -2
  373. package/lib/components/DataTable/Table.js +15 -18
  374. package/lib/components/DataTable/TableActionList.d.ts +1 -1
  375. package/lib/components/DataTable/TableBatchAction.js +8 -11
  376. package/lib/components/DataTable/TableBatchActions.js +18 -20
  377. package/lib/components/DataTable/TableBody.d.ts +3 -3
  378. package/lib/components/DataTable/TableBody.js +8 -11
  379. package/lib/components/DataTable/TableCell.d.ts +3 -4
  380. package/lib/components/DataTable/TableContainer.d.ts +2 -3
  381. package/lib/components/DataTable/TableContainer.js +9 -10
  382. package/lib/components/DataTable/TableDecoratorRow.js +4 -5
  383. package/lib/components/DataTable/TableExpandHeader.d.ts +2 -3
  384. package/lib/components/DataTable/TableExpandHeader.js +14 -15
  385. package/lib/components/DataTable/TableExpandRow.js +13 -14
  386. package/lib/components/DataTable/TableExpandedRow.d.ts +3 -3
  387. package/lib/components/DataTable/TableExpandedRow.js +6 -7
  388. package/lib/components/DataTable/TableHead.d.ts +1 -1
  389. package/lib/components/DataTable/TableHeader.d.ts +4 -4
  390. package/lib/components/DataTable/TableHeader.js +15 -16
  391. package/lib/components/DataTable/TableRow.d.ts +3 -4
  392. package/lib/components/DataTable/TableSelectAll.js +11 -12
  393. package/lib/components/DataTable/TableSelectRow.js +12 -13
  394. package/lib/components/DataTable/TableSlugRow.js +4 -5
  395. package/lib/components/DataTable/TableToolbar.js +7 -8
  396. package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
  397. package/lib/components/DataTable/TableToolbarMenu.js +8 -9
  398. package/lib/components/DataTable/TableToolbarSearch.js +22 -24
  399. package/lib/components/DataTable/index.d.ts +1 -1
  400. package/lib/components/DataTable/state/sorting.js +3 -4
  401. package/lib/components/DataTable/tools/filter.js +10 -12
  402. package/lib/components/DataTable/tools/normalize.js +6 -8
  403. package/lib/components/DataTable/tools/sorting.js +24 -30
  404. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  405. package/lib/components/DatePicker/DatePicker.Skeleton.js +7 -8
  406. package/lib/components/DatePicker/DatePicker.js +87 -64
  407. package/lib/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  408. package/lib/components/DatePickerInput/DatePickerInput.js +5 -6
  409. package/lib/components/Dialog/index.d.ts +194 -10
  410. package/lib/components/Dialog/index.js +457 -33
  411. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  412. package/lib/components/Dropdown/Dropdown.Skeleton.js +6 -7
  413. package/lib/components/Dropdown/Dropdown.d.ts +3 -3
  414. package/lib/components/Dropdown/Dropdown.js +40 -43
  415. package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
  416. package/lib/components/ExpandableSearch/ExpandableSearch.js +9 -10
  417. package/lib/components/FeatureFlags/index.js +11 -12
  418. package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  419. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -5
  420. package/lib/components/FileUploader/FileUploader.d.ts +2 -3
  421. package/lib/components/FileUploader/FileUploader.js +22 -24
  422. package/lib/components/FileUploader/FileUploaderButton.d.ts +2 -3
  423. package/lib/components/FileUploader/FileUploaderButton.js +16 -17
  424. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  425. package/lib/components/FileUploader/FileUploaderDropContainer.js +15 -16
  426. package/lib/components/FileUploader/FileUploaderItem.d.ts +2 -3
  427. package/lib/components/FileUploader/FileUploaderItem.js +13 -14
  428. package/lib/components/FileUploader/Filename.d.ts +3 -4
  429. package/lib/components/FileUploader/Filename.js +9 -10
  430. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  431. package/lib/components/FluidComboBox/FluidComboBox.js +5 -6
  432. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  433. package/lib/components/FluidDatePicker/FluidDatePicker.js +10 -11
  434. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  435. package/lib/components/FluidDropdown/FluidDropdown.js +5 -6
  436. package/lib/components/FluidForm/FluidForm.d.ts +3 -4
  437. package/lib/components/FluidForm/FluidForm.js +5 -6
  438. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  439. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  440. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  441. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  442. package/lib/components/FluidNumberInput/FluidNumberInput.js +38 -5
  443. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  444. package/lib/components/FluidSearch/FluidSearch.js +4 -5
  445. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  446. package/lib/components/FluidSelect/FluidSelect.js +5 -6
  447. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  448. package/lib/components/FluidTextArea/FluidTextArea.js +4 -5
  449. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  450. package/lib/components/FluidTextInput/FluidTextInput.js +5 -6
  451. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  452. package/lib/components/FluidTimePicker/FluidTimePicker.js +11 -12
  453. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  454. package/lib/components/Form/Form.js +5 -6
  455. package/lib/components/FormGroup/FormGroup.d.ts +3 -4
  456. package/lib/components/FormGroup/FormGroup.js +11 -12
  457. package/lib/components/FormItem/FormItem.js +5 -6
  458. package/lib/components/FormLabel/FormLabel.js +6 -7
  459. package/lib/components/Grid/CSSGrid.js +17 -19
  460. package/lib/components/Grid/Column.js +28 -27
  461. package/lib/components/Grid/ColumnHang.js +6 -7
  462. package/lib/components/Grid/FlexGrid.js +9 -10
  463. package/lib/components/Grid/GridContext.d.ts +2 -2
  464. package/lib/components/Grid/GridContext.js +10 -29
  465. package/lib/components/Grid/Row.js +8 -9
  466. package/lib/components/Heading/index.js +5 -6
  467. package/lib/components/Icon/Icon.Skeleton.js +4 -5
  468. package/lib/components/IconButton/index.js +26 -22
  469. package/lib/components/IconIndicator/index.js +7 -8
  470. package/lib/components/IdPrefix/index.js +4 -5
  471. package/lib/components/InlineLoading/InlineLoading.js +9 -10
  472. package/lib/components/Layer/index.d.ts +4 -0
  473. package/lib/components/Layer/index.js +16 -10
  474. package/lib/components/Layout/index.js +21 -26
  475. package/lib/components/LayoutDirection/LayoutDirection.js +6 -7
  476. package/lib/components/Link/Link.d.ts +1 -1
  477. package/lib/components/Link/Link.js +15 -16
  478. package/lib/components/ListBox/ListBox.d.ts +2 -3
  479. package/lib/components/ListBox/ListBoxField.d.ts +3 -4
  480. package/lib/components/ListBox/ListBoxField.js +6 -7
  481. package/lib/components/ListBox/ListBoxMenu.d.ts +2 -3
  482. package/lib/components/ListBox/ListBoxMenu.js +5 -6
  483. package/lib/components/ListBox/ListBoxMenuIcon.js +4 -5
  484. package/lib/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  485. package/lib/components/ListBox/ListBoxMenuItem.js +8 -10
  486. package/lib/components/ListBox/ListBoxSelection.js +8 -9
  487. package/lib/components/ListBox/next/ListBoxSelection.js +9 -10
  488. package/lib/components/ListBox/next/ListBoxTrigger.js +5 -6
  489. package/lib/components/ListItem/ListItem.js +5 -6
  490. package/lib/components/Loading/Loading.d.ts +3 -3
  491. package/lib/components/Loading/Loading.js +8 -9
  492. package/lib/components/Menu/Menu.js +23 -24
  493. package/lib/components/Menu/MenuItem.js +39 -44
  494. package/lib/components/MenuButton/index.js +16 -18
  495. package/lib/components/Modal/Modal.d.ts +2 -3
  496. package/lib/components/Modal/Modal.js +55 -63
  497. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  498. package/lib/components/MultiSelect/FilterableMultiSelect.js +46 -52
  499. package/lib/components/MultiSelect/MultiSelect.js +43 -45
  500. package/lib/components/MultiSelect/tools/sorting.js +11 -15
  501. package/lib/components/Notification/Notification.js +96 -105
  502. package/lib/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  503. package/lib/components/NumberInput/NumberFormatPropTypes.js +48 -0
  504. package/lib/components/NumberInput/NumberInput.Skeleton.js +6 -7
  505. package/lib/components/NumberInput/NumberInput.d.ts +39 -3
  506. package/lib/components/NumberInput/NumberInput.js +173 -43
  507. package/lib/components/OrderedList/OrderedList.js +7 -8
  508. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  509. package/lib/components/OverflowMenu/OverflowMenu.js +35 -41
  510. package/lib/components/OverflowMenu/next/index.js +12 -13
  511. package/lib/components/PageHeader/PageHeader.d.ts +29 -5
  512. package/lib/components/PageHeader/PageHeader.js +119 -73
  513. package/lib/components/Pagination/Pagination.Skeleton.js +4 -5
  514. package/lib/components/Pagination/Pagination.js +24 -25
  515. package/lib/components/Pagination/experimental/PageSelector.js +8 -9
  516. package/lib/components/Pagination/experimental/Pagination.js +20 -21
  517. package/lib/components/PaginationNav/PaginationNav.js +33 -38
  518. package/lib/components/Popover/index.js +26 -28
  519. package/lib/components/ProgressBar/ProgressBar.js +11 -12
  520. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  521. package/lib/components/ProgressIndicator/ProgressIndicator.js +29 -32
  522. package/lib/components/RadioTile/RadioTile.js +17 -18
  523. package/lib/components/Search/Search.Skeleton.js +5 -6
  524. package/lib/components/Search/Search.js +26 -28
  525. package/lib/components/Select/Select.Skeleton.js +5 -6
  526. package/lib/components/Select/Select.js +24 -25
  527. package/lib/components/SelectItem/SelectItem.js +8 -9
  528. package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -8
  529. package/lib/components/ShapeIndicator/index.js +7 -8
  530. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  531. package/lib/components/SkeletonIcon/SkeletonIcon.js +5 -10
  532. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  533. package/lib/components/SkeletonText/SkeletonText.js +8 -9
  534. package/lib/components/Slider/Slider.Skeleton.js +8 -9
  535. package/lib/components/Slider/Slider.js +69 -83
  536. package/lib/components/Slider/SliderHandles.js +6 -6
  537. package/lib/components/StructuredList/StructuredList.Skeleton.js +5 -6
  538. package/lib/components/Tabs/Tabs.Skeleton.js +5 -6
  539. package/lib/components/Tabs/Tabs.js +83 -98
  540. package/lib/components/Tabs/usePressable.js +7 -8
  541. package/lib/components/Tag/DismissibleTag.js +16 -17
  542. package/lib/components/Tag/OperationalTag.js +10 -11
  543. package/lib/components/Tag/SelectableTag.js +13 -14
  544. package/lib/components/Tag/Tag.Skeleton.js +5 -6
  545. package/lib/components/Tag/Tag.js +19 -20
  546. package/lib/components/Text/Text.js +6 -7
  547. package/lib/components/Text/TextDirection.js +5 -6
  548. package/lib/components/TextArea/TextArea.js +3 -3
  549. package/lib/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  550. package/lib/components/TextInput/ControlledPasswordInput.js +24 -25
  551. package/lib/components/TextInput/PasswordInput.js +26 -27
  552. package/lib/components/TextInput/TextInput.Skeleton.js +5 -6
  553. package/lib/components/TextInput/TextInput.js +27 -28
  554. package/lib/components/TextInput/util.js +14 -17
  555. package/lib/components/Theme/index.js +10 -12
  556. package/lib/components/Tile/Tile.js +68 -74
  557. package/lib/components/TileGroup/TileGroup.d.ts +3 -4
  558. package/lib/components/TimePicker/TimePicker.d.ts +2 -3
  559. package/lib/components/Toggle/Toggle.Skeleton.js +4 -5
  560. package/lib/components/Toggle/Toggle.js +17 -18
  561. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  562. package/lib/components/Toggletip/index.js +33 -39
  563. package/lib/components/Tooltip/DefinitionTooltip.js +13 -14
  564. package/lib/components/Tooltip/Tooltip.d.ts +3 -0
  565. package/lib/components/Tooltip/Tooltip.js +33 -22
  566. package/lib/components/TreeView/TreeNode.js +40 -32
  567. package/lib/components/TreeView/TreeView.js +41 -34
  568. package/lib/components/UIShell/Content.js +6 -7
  569. package/lib/components/UIShell/Header.js +5 -6
  570. package/lib/components/UIShell/HeaderContainer.js +5 -6
  571. package/lib/components/UIShell/HeaderGlobalAction.js +12 -13
  572. package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  573. package/lib/components/UIShell/HeaderMenu.d.ts +10 -112
  574. package/lib/components/UIShell/HeaderMenu.js +152 -199
  575. package/lib/components/UIShell/HeaderMenuButton.js +10 -11
  576. package/lib/components/UIShell/HeaderMenuItem.js +17 -16
  577. package/lib/components/UIShell/HeaderName.js +6 -7
  578. package/lib/components/UIShell/HeaderNavigation.js +7 -8
  579. package/lib/components/UIShell/HeaderPanel.js +9 -10
  580. package/lib/components/UIShell/HeaderSideNavItems.js +5 -6
  581. package/lib/components/UIShell/Link.js +8 -9
  582. package/lib/components/UIShell/SideNav.js +23 -25
  583. package/lib/components/UIShell/SideNavDetails.js +6 -7
  584. package/lib/components/UIShell/SideNavDivider.js +3 -4
  585. package/lib/components/UIShell/SideNavFooter.js +6 -7
  586. package/lib/components/UIShell/SideNavHeader.js +5 -6
  587. package/lib/components/UIShell/SideNavIcon.js +5 -6
  588. package/lib/components/UIShell/SideNavItem.js +5 -6
  589. package/lib/components/UIShell/SideNavItems.js +5 -6
  590. package/lib/components/UIShell/SideNavLink.js +10 -11
  591. package/lib/components/UIShell/SideNavLinkText.js +5 -6
  592. package/lib/components/UIShell/SideNavMenu.js +11 -12
  593. package/lib/components/UIShell/SkipToContent.js +7 -8
  594. package/lib/components/UIShell/Switcher.js +4 -5
  595. package/lib/components/UIShell/SwitcherDivider.js +4 -5
  596. package/lib/components/UnorderedList/UnorderedList.js +6 -7
  597. package/lib/index.js +81 -82
  598. package/lib/internal/FloatingMenu.js +26 -28
  599. package/lib/internal/Selection.js +15 -17
  600. package/{es/feature-flags.d.ts → lib/internal/__mocks__/mockHTMLElement.d.ts} +4 -2
  601. package/lib/internal/getAnnouncement.d.ts +8 -0
  602. package/lib/internal/getAnnouncement.js +26 -0
  603. package/lib/internal/keyboard/match.js +6 -7
  604. package/lib/internal/useControllableState.d.ts +1 -1
  605. package/lib/internal/useControllableState.js +8 -9
  606. package/lib/internal/useDelayedState.js +1 -2
  607. package/lib/internal/useDocumentLang.d.ts +12 -0
  608. package/lib/internal/useId.js +2 -4
  609. package/lib/internal/useMatchMedia.js +1 -2
  610. package/lib/internal/useMergedRefs.d.ts +1 -1
  611. package/lib/internal/useNoInteractiveChildren.js +2 -4
  612. package/lib/internal/useNormalizedInputProps.js +9 -10
  613. package/lib/internal/useResizeObserver.d.ts +14 -0
  614. package/lib/internal/useResizeObserver.js +77 -0
  615. package/lib/internal/useSavedCallback.js +1 -3
  616. package/lib/internal/wrapFocus.js +23 -35
  617. package/lib/prop-types/deprecate.js +1 -4
  618. package/lib/prop-types/deprecateValuesWithin.js +1 -4
  619. package/lib/prop-types/isRequiredOneOf.js +1 -4
  620. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  621. package/lib/tools/events.js +1 -4
  622. package/lib/tools/mergeRefs.js +9 -14
  623. package/lib/tools/uniqueId.js +1 -2
  624. package/lib/tools/wrapComponent.d.ts +3 -4
  625. package/lib/tools/wrapComponent.js +9 -11
  626. package/lib/types/common.d.ts +0 -2
  627. package/package.json +21 -20
  628. package/scss/components/content-switcher/_tokens.scss +9 -0
  629. package/telemetry.yml +27 -2
  630. package/es/components/ContentSwitcher/index.js +0 -13
  631. package/es/components/DataTable/index.js +0 -76
  632. package/es/internal/useAnnouncer.js +0 -21
  633. package/lib/components/ContentSwitcher/index.js +0 -18
  634. package/lib/components/DataTable/index.js +0 -82
  635. package/lib/internal/useAnnouncer.js +0 -25
@@ -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,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__default.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;
@@ -70,19 +69,28 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
70
69
  forwardedRef.current = element;
71
70
  }
72
71
  };
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
72
+ function enhanceTreeNodes(children) {
73
+ return React.Children.map(children, node => {
74
+ if (! /*#__PURE__*/React.isValidElement(node)) return node;
75
+ const isTreeNode = node.type.displayName === 'TreeNode';
76
+ if (isTreeNode) {
77
+ return /*#__PURE__*/React.cloneElement(node, {
78
+ active,
79
+ depth: depth + 1,
80
+ disabled: disabled || node.props.disabled,
81
+ onTreeSelect,
82
+ onNodeFocusEvent,
83
+ selected,
84
+ tabIndex: node.props.disabled ? null : -1
85
+ });
86
+ }
87
+ const newChildren = enhanceTreeNodes(node.props.children);
88
+ return /*#__PURE__*/React.cloneElement(node, {
89
+ children: newChildren
83
90
  });
84
- }
85
- });
91
+ });
92
+ }
93
+ const nodesWithProps = enhanceTreeNodes(children);
86
94
  const isActive = active === id;
87
95
  const isSelected = selected.includes(id);
88
96
  const treeNodeClasses = cx(className, `${prefix}--tree-node`, {
@@ -282,52 +290,52 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
282
290
  };
283
291
  if (!children) {
284
292
  if (href) {
285
- return /*#__PURE__*/React__default.createElement("li", {
293
+ return /*#__PURE__*/React.createElement("li", {
286
294
  role: "none"
287
- }, /*#__PURE__*/React__default.createElement("a", _extends({}, treeNodeProps, {
295
+ }, /*#__PURE__*/React.createElement("a", _extends({}, treeNodeProps, {
288
296
  ref: setRefs,
289
297
  href: !disabled ? href : undefined
290
- }), /*#__PURE__*/React__default.createElement("div", {
298
+ }), /*#__PURE__*/React.createElement("div", {
291
299
  className: `${prefix}--tree-node__label`,
292
300
  ref: currentNodeLabel
293
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
301
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
294
302
  className: `${prefix}--tree-node__icon`
295
303
  }), label)));
296
304
  } else {
297
- return /*#__PURE__*/React__default.createElement("li", _extends({}, treeNodeProps, {
305
+ return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
298
306
  ref: setRefs
299
- }), /*#__PURE__*/React__default.createElement("div", {
307
+ }), /*#__PURE__*/React.createElement("div", {
300
308
  className: `${prefix}--tree-node__label`,
301
309
  ref: currentNodeLabel
302
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
310
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
303
311
  className: `${prefix}--tree-node__icon`
304
312
  }), label));
305
313
  }
306
314
  }
307
315
  if (href) {
308
- return /*#__PURE__*/React__default.createElement("li", {
316
+ return /*#__PURE__*/React.createElement("li", {
309
317
  role: "none",
310
318
  className: `${prefix}--tree-node-link-parent`
311
- }, /*#__PURE__*/React__default.createElement("a", _extends({}, treeNodeProps, {
319
+ }, /*#__PURE__*/React.createElement("a", _extends({}, treeNodeProps, {
312
320
  "aria-expanded": !!expanded,
313
321
  ref: setRefs,
314
322
  href: !disabled ? href : undefined
315
- }), /*#__PURE__*/React__default.createElement("div", {
323
+ }), /*#__PURE__*/React.createElement("div", {
316
324
  className: `${prefix}--tree-node__label`,
317
325
  ref: currentNodeLabel
318
- }, /*#__PURE__*/React__default.createElement("span", {
326
+ }, /*#__PURE__*/React.createElement("span", {
319
327
  className: `${prefix}--tree-parent-node__toggle`
320
328
  // @ts-ignore
321
329
  ,
322
330
  disabled: disabled,
323
331
  onClick: handleToggleClick
324
- }, /*#__PURE__*/React__default.createElement(CaretDown, {
332
+ }, /*#__PURE__*/React.createElement(CaretDown, {
325
333
  className: toggleClasses
326
- })), /*#__PURE__*/React__default.createElement("span", {
334
+ })), /*#__PURE__*/React.createElement("span", {
327
335
  className: `${prefix}--tree-node__label__details`
328
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
336
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
329
337
  className: `${prefix}--tree-node__icon`
330
- }), label))), /*#__PURE__*/React__default.createElement("ul", {
338
+ }), label))), /*#__PURE__*/React.createElement("ul", {
331
339
  id: `${id}-subtree`,
332
340
  role: "group",
333
341
  className: cx(`${prefix}--tree-node__children`, {
@@ -335,25 +343,25 @@ const TreeNode = /*#__PURE__*/React__default.forwardRef((_ref, forwardedRef) =>
335
343
  })
336
344
  }, nodesWithProps));
337
345
  } else {
338
- return /*#__PURE__*/React__default.createElement("li", _extends({}, treeNodeProps, {
346
+ return /*#__PURE__*/React.createElement("li", _extends({}, treeNodeProps, {
339
347
  "aria-expanded": !!expanded,
340
348
  ref: setRefs
341
- }), /*#__PURE__*/React__default.createElement("div", {
349
+ }), /*#__PURE__*/React.createElement("div", {
342
350
  className: `${prefix}--tree-node__label`,
343
351
  ref: currentNodeLabel
344
- }, /*#__PURE__*/React__default.createElement("span", {
352
+ }, /*#__PURE__*/React.createElement("span", {
345
353
  className: `${prefix}--tree-parent-node__toggle`
346
354
  // @ts-ignore
347
355
  ,
348
356
  disabled: disabled,
349
357
  onClick: handleToggleClick
350
- }, /*#__PURE__*/React__default.createElement(CaretDown, {
358
+ }, /*#__PURE__*/React.createElement(CaretDown, {
351
359
  className: toggleClasses
352
- })), /*#__PURE__*/React__default.createElement("span", {
360
+ })), /*#__PURE__*/React.createElement("span", {
353
361
  className: `${prefix}--tree-node__label__details`
354
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
362
+ }, Icon && /*#__PURE__*/React.createElement(Icon, {
355
363
  className: `${prefix}--tree-node__icon`
356
- }), label)), /*#__PURE__*/React__default.createElement("ul", {
364
+ }), label)), /*#__PURE__*/React.createElement("ul", {
357
365
  id: `${id}-subtree`,
358
366
  role: "group",
359
367
  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';
@@ -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)) {
@@ -111,24 +109,33 @@ const TreeView = _ref => {
111
109
  }
112
110
  }
113
111
  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
- });
112
+ function enhanceTreeNodes(children) {
113
+ return React.Children.map(children, child => {
114
+ if (! /*#__PURE__*/React.isValidElement(child)) return child;
115
+ const isTreeNode = child.type.displayName === 'TreeNode';
116
+ if (isTreeNode) {
117
+ const node = child;
118
+ const sharedNodeProps = {
119
+ active,
120
+ depth: 0,
121
+ onNodeFocusEvent: handleFocusEvent,
122
+ onTreeSelect: handleTreeSelect,
123
+ selected,
124
+ tabIndex: node.props.disabled ? undefined : -1
125
+ };
126
+ if (!focusTarget && !node.props.disabled) {
127
+ sharedNodeProps.tabIndex = 0;
128
+ focusTarget = true;
129
+ }
130
+ return /*#__PURE__*/React.cloneElement(child, sharedNodeProps);
131
+ }
132
+ const newChildren = enhanceTreeNodes(child.props.children);
133
+ return /*#__PURE__*/React.cloneElement(child, {
134
+ children: newChildren
135
+ });
136
+ });
137
+ }
138
+ const nodesWithProps = enhanceTreeNodes(children);
132
139
  function handleKeyDown(event) {
133
140
  event.stopPropagation();
134
141
  if (matches(event, [ArrowUp, ArrowDown, Home, End])) {
@@ -211,11 +218,11 @@ const TreeView = _ref => {
211
218
  }, []);
212
219
  useActiveAndSelectedOnMount();
213
220
  const labelId = `${treeId}__label`;
214
- const TreeLabel = () => !hideLabel ? /*#__PURE__*/React__default.createElement("label", {
221
+ const TreeLabel = () => !hideLabel ? /*#__PURE__*/React.createElement("label", {
215
222
  id: labelId,
216
223
  className: `${prefix}--label`
217
224
  }, 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, {
225
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TreeLabel, null), /*#__PURE__*/React.createElement("ul", _extends({}, rest, {
219
226
  "aria-label": hideLabel ? label : undefined,
220
227
  "aria-labelledby": !hideLabel ? labelId : undefined,
221
228
  "aria-multiselectable": multiselect || undefined,
@@ -7,19 +7,18 @@
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
- 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
- return /*#__PURE__*/React__default.createElement(tagName, {
21
+ return /*#__PURE__*/React.createElement(tagName, {
23
22
  ...rest,
24
23
  className
25
24
  }, children);
@@ -8,19 +8,18 @@
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
 
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
- return /*#__PURE__*/React__default.createElement("header", _extends({}, rest, {
22
+ return /*#__PURE__*/React.createElement("header", _extends({}, rest, {
24
23
  className: className
25
24
  }), children);
26
25
  };
@@ -7,17 +7,16 @@
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';
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 => {
@@ -28,7 +27,7 @@ function HeaderContainer(_ref) {
28
27
  const handleHeaderMenuButtonClick = useCallback(() => {
29
28
  setIsSideNavExpandedState(prevIsSideNavExpanded => !prevIsSideNavExpanded);
30
29
  }, [setIsSideNavExpandedState]);
31
- return /*#__PURE__*/React__default.createElement(Children, _extends({}, rest, {
30
+ return /*#__PURE__*/React.createElement(Children, _extends({}, rest, {
32
31
  isSideNavExpanded: isSideNavExpandedState,
33
32
  onClickSideNavExpand: handleHeaderMenuButtonClick
34
33
  }));
@@ -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,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__default.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,
@@ -45,7 +44,7 @@ const HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function Heade
45
44
  'aria-label': ariaLabel,
46
45
  'aria-labelledby': ariaLabelledBy
47
46
  };
48
- return /*#__PURE__*/React__default.createElement(Button, _extends({}, rest, accessibilityLabel, {
47
+ return /*#__PURE__*/React.createElement(Button, _extends({}, rest, accessibilityLabel, {
49
48
  className: className,
50
49
  onClick: onClick,
51
50
  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;
@@ -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;