@carbon/react 1.29.1 → 1.30.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 (580) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +16 -5
  2. package/es/components/Accordion/Accordion.Skeleton.js +0 -7
  3. package/es/components/Accordion/Accordion.js +1 -8
  4. package/es/components/Accordion/AccordionItem.js +5 -19
  5. package/es/components/AspectRatio/AspectRatio.js +0 -5
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  7. package/es/components/Breadcrumb/Breadcrumb.js +0 -3
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +0 -7
  9. package/es/components/Button/Button.Skeleton.js +2 -7
  10. package/es/components/Button/Button.js +2 -36
  11. package/es/components/ButtonSet/ButtonSet.js +0 -2
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +0 -1
  13. package/es/components/Checkbox/Checkbox.js +4 -20
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +0 -11
  15. package/es/components/ClassPrefix/index.d.ts +26 -0
  16. package/es/components/ClassPrefix/index.js +0 -2
  17. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  18. package/es/components/CodeSnippet/CodeSnippet.js +6 -45
  19. package/es/components/ComboBox/ComboBox.js +12 -79
  20. package/es/components/ComboBox/tools/filter.js +0 -1
  21. package/es/components/ComboButton/index.js +0 -14
  22. package/es/components/ComposedModal/ComposedModal.js +2 -32
  23. package/es/components/ComposedModal/ModalFooter.js +0 -21
  24. package/es/components/ComposedModal/ModalHeader.js +0 -12
  25. package/es/components/ContainedList/ContainedList.js +5 -32
  26. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  27. package/es/components/ContentSwitcher/ContentSwitcher.js +11 -23
  28. package/es/components/ContextMenu/useContextMenu.js +1 -6
  29. package/es/components/Copy/Copy.js +8 -31
  30. package/es/components/CopyButton/CopyButton.js +0 -4
  31. package/es/components/DangerButton/DangerButton.js +0 -1
  32. package/es/components/DataTable/DataTable.js +171 -91
  33. package/es/components/DataTable/Table.js +0 -6
  34. package/es/components/DataTable/TableBatchAction.js +0 -4
  35. package/es/components/DataTable/TableBatchActions.js +0 -8
  36. package/es/components/DataTable/TableBody.js +0 -1
  37. package/es/components/DataTable/TableContainer.js +0 -5
  38. package/es/components/DataTable/TableExpandHeader.js +0 -7
  39. package/es/components/DataTable/TableExpandRow.js +0 -6
  40. package/es/components/DataTable/TableExpandedRow.js +0 -6
  41. package/es/components/DataTable/TableHeader.d.ts +1 -1
  42. package/es/components/DataTable/TableHeader.js +3 -19
  43. package/es/components/DataTable/TableRow.js +4 -5
  44. package/es/components/DataTable/TableSelectAll.js +0 -8
  45. package/es/components/DataTable/TableSelectRow.js +2 -10
  46. package/es/components/DataTable/TableToolbar.js +0 -3
  47. package/es/components/DataTable/TableToolbarMenu.d.ts +1 -1
  48. package/es/components/DataTable/TableToolbarMenu.js +3 -6
  49. package/es/components/DataTable/TableToolbarSearch.js +2 -30
  50. package/es/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  51. package/es/components/DataTable/state/sorting.js +5 -8
  52. package/es/components/DataTable/tools/denormalize.js +2 -2
  53. package/es/components/DataTable/tools/filter.js +0 -2
  54. package/es/components/DataTable/tools/instanceId.js +0 -1
  55. package/es/components/DataTable/tools/normalize.js +10 -10
  56. package/es/components/DataTable/tools/sorting.js +5 -13
  57. package/es/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  58. package/es/components/DatePicker/DatePicker.Skeleton.js +0 -6
  59. package/es/components/DatePicker/DatePicker.js +152 -174
  60. package/es/components/DatePicker/plugins/appendToPlugin.js +3 -7
  61. package/es/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  62. package/es/components/DatePicker/plugins/rangePlugin.js +2 -7
  63. package/es/components/DatePickerInput/DatePickerInput.js +2 -28
  64. package/es/components/Dropdown/Dropdown.Skeleton.js +0 -2
  65. package/es/components/Dropdown/Dropdown.js +43 -52
  66. package/es/components/ErrorBoundary/ErrorBoundary.js +0 -10
  67. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -10
  69. package/es/components/FeatureFlags/index.js +8 -20
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +0 -2
  71. package/es/components/FileUploader/FileUploader.js +3 -38
  72. package/es/components/FileUploader/FileUploaderButton.js +3 -24
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +1 -28
  74. package/es/components/FileUploader/FileUploaderItem.js +1 -11
  75. package/es/components/FileUploader/Filename.js +0 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  77. package/es/components/FluidComboBox/FluidComboBox.js +0 -18
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +0 -6
  80. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  81. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  82. package/es/components/FluidDropdown/FluidDropdown.js +0 -18
  83. package/es/components/FluidForm/FluidForm.js +0 -2
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  85. package/es/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  86. package/es/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  87. package/es/components/FluidSelect/FluidSelect.js +0 -10
  88. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  89. package/es/components/FluidTextArea/FluidTextArea.js +0 -20
  90. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  91. package/es/components/FluidTextInput/FluidTextInput.js +0 -14
  92. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  93. package/es/components/FluidTimePicker/FluidTimePicker.js +1 -11
  94. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  95. package/es/components/Form/Form.d.ts +23 -0
  96. package/es/components/Form/Form.js +3 -6
  97. package/es/components/Form/index.d.ts +7 -0
  98. package/es/components/FormGroup/FormGroup.js +0 -7
  99. package/es/components/FormItem/FormItem.js +0 -2
  100. package/es/components/FormLabel/FormLabel.js +1 -7
  101. package/es/components/Grid/CSSGrid.js +2 -15
  102. package/es/components/Grid/Column.js +18 -59
  103. package/es/components/Grid/ColumnHang.js +2 -5
  104. package/es/components/Grid/FlexGrid.js +2 -8
  105. package/es/components/Grid/Grid.js +0 -8
  106. package/es/components/Grid/GridContext.js +1 -3
  107. package/es/components/Grid/Row.js +2 -7
  108. package/es/components/Heading/index.js +0 -4
  109. package/es/components/Icon/Icon.Skeleton.js +2 -2
  110. package/es/components/IconButton/index.js +0 -10
  111. package/es/components/IdPrefix/index.js +0 -2
  112. package/es/components/InlineCheckbox/InlineCheckbox.js +0 -14
  113. package/es/components/InlineLoading/InlineLoading.js +0 -12
  114. package/es/components/Layer/index.js +3 -6
  115. package/es/components/Layout/LayoutDirection.js +0 -3
  116. package/es/components/Layout/useLayoutDirection.js +0 -1
  117. package/es/components/Link/Link.js +3 -10
  118. package/es/components/ListBox/ListBox.js +2 -13
  119. package/es/components/ListBox/ListBoxField.js +0 -5
  120. package/es/components/ListBox/ListBoxMenuIcon.js +0 -4
  121. package/es/components/ListBox/ListBoxMenuItem.js +2 -6
  122. package/es/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  123. package/es/components/ListBox/ListBoxSelection.js +1 -13
  124. package/es/components/ListBox/next/ListBoxSelection.js +1 -14
  125. package/es/components/ListBox/next/ListBoxTrigger.js +1 -3
  126. package/es/components/ListItem/ListItem.d.ts +23 -0
  127. package/es/components/ListItem/ListItem.js +4 -8
  128. package/es/components/ListItem/index.d.ts +7 -0
  129. package/es/components/Loading/Loading.js +0 -6
  130. package/es/components/Menu/Menu.js +22 -40
  131. package/es/components/Menu/MenuContext.js +4 -5
  132. package/es/components/Menu/MenuItem.js +5 -39
  133. package/es/components/MenuButton/index.js +0 -9
  134. package/es/components/Modal/Modal.js +0 -43
  135. package/es/components/ModalWrapper/ModalWrapper.js +2 -15
  136. package/es/components/MultiSelect/FilterableMultiSelect.js +2 -60
  137. package/es/components/MultiSelect/MultiSelect.js +22 -70
  138. package/es/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  139. package/es/components/MultiSelect/index.js +0 -1
  140. package/es/components/MultiSelect/tools/itemToString.js +0 -2
  141. package/es/components/MultiSelect/tools/sorting.js +3 -4
  142. package/es/components/Notification/Notification.js +0 -78
  143. package/es/components/NumberInput/NumberInput.Skeleton.js +0 -2
  144. package/es/components/NumberInput/NumberInput.js +3 -60
  145. package/es/components/OrderedList/OrderedList.d.ts +39 -0
  146. package/es/components/OrderedList/OrderedList.js +7 -19
  147. package/es/components/{Form/index.js → OrderedList/index.d.ts} +1 -3
  148. package/es/components/OverflowMenu/OverflowMenu.js +65 -86
  149. package/es/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  150. package/es/components/OverflowMenuV2/index.js +0 -5
  151. package/es/components/Pagination/Pagination.Skeleton.js +0 -2
  152. package/es/components/Pagination/Pagination.js +11 -47
  153. package/es/components/Pagination/experimental/PageSelector.js +0 -10
  154. package/es/components/Pagination/experimental/Pagination.js +2 -48
  155. package/es/components/PaginationNav/PaginationNav.js +15 -59
  156. package/es/components/Popover/index.d.ts +14 -8
  157. package/es/components/Popover/index.js +44 -48
  158. package/es/components/PrimaryButton/PrimaryButton.js +0 -1
  159. package/es/components/ProgressBar/ProgressBar.js +0 -15
  160. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  161. package/es/components/ProgressIndicator/ProgressIndicator.js +2 -40
  162. package/es/components/RadioButton/RadioButton.Skeleton.js +0 -1
  163. package/es/components/RadioButton/RadioButton.js +0 -13
  164. package/es/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  165. package/es/components/RadioTile/RadioTile.js +0 -12
  166. package/es/components/Search/Search.Skeleton.js +0 -2
  167. package/es/components/Search/Search.js +1 -28
  168. package/es/components/SecondaryButton/SecondaryButton.js +0 -1
  169. package/es/components/Select/Select.Skeleton.js +0 -2
  170. package/es/components/Select/Select.d.ts +1 -1
  171. package/es/components/Select/Select.js +6 -33
  172. package/es/components/SelectItem/SelectItem.js +0 -5
  173. package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  174. package/es/components/SelectItemGroup/SelectItemGroup.js +1 -7
  175. package/es/components/SkeletonIcon/SkeletonIcon.js +0 -2
  176. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  177. package/es/components/SkeletonText/SkeletonText.js +0 -12
  178. package/es/components/Slider/Slider.Skeleton.js +0 -2
  179. package/es/components/Slider/Slider.d.ts +0 -1
  180. package/es/components/Slider/Slider.js +112 -135
  181. package/es/components/Stack/Stack.js +1 -8
  182. package/es/components/StructuredList/StructuredList.Skeleton.js +0 -5
  183. package/es/components/StructuredList/StructuredList.js +1 -25
  184. package/es/components/Switch/IconSwitch.js +0 -18
  185. package/es/components/Switch/Switch.js +0 -11
  186. package/es/components/TabContent/TabContent.js +2 -6
  187. package/es/components/Tabs/Tabs.Skeleton.js +0 -4
  188. package/es/components/Tabs/Tabs.js +135 -104
  189. package/es/components/Tabs/usePressable.js +18 -31
  190. package/es/components/Tag/Tag.Skeleton.js +0 -2
  191. package/es/components/Tag/Tag.js +0 -15
  192. package/es/components/Text/Text.js +5 -18
  193. package/es/components/Text/TextDirection.js +0 -3
  194. package/es/components/Text/TextDirectionContext.js +0 -1
  195. package/es/components/Text/createTextComponent.js +0 -3
  196. package/es/components/TextArea/TextArea.Skeleton.js +0 -2
  197. package/es/components/TextArea/TextArea.js +11 -33
  198. package/es/components/TextInput/ControlledPasswordInput.js +0 -20
  199. package/es/components/TextInput/PasswordInput.js +0 -25
  200. package/es/components/TextInput/TextInput.Skeleton.js +0 -2
  201. package/es/components/TextInput/TextInput.d.ts +1 -1
  202. package/es/components/TextInput/TextInput.js +5 -33
  203. package/es/components/TextInput/util.js +3 -5
  204. package/es/components/Theme/index.js +1 -6
  205. package/es/components/Tile/Tile.js +32 -59
  206. package/es/components/TileGroup/TileGroup.js +1 -22
  207. package/es/components/TimePicker/TimePicker.js +6 -32
  208. package/es/components/TimePickerSelect/TimePickerSelect.js +2 -5
  209. package/es/components/Toggle/Toggle.Skeleton.js +0 -8
  210. package/es/components/Toggle/Toggle.js +0 -16
  211. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  212. package/es/components/Toggletip/index.d.ts +148 -0
  213. package/es/components/Toggletip/index.js +20 -44
  214. package/es/components/Tooltip/DefinitionTooltip.js +0 -11
  215. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  216. package/es/components/Tooltip/Tooltip.js +4 -21
  217. package/es/components/TreeView/TreeNode.js +21 -66
  218. package/es/components/TreeView/TreeView.js +11 -67
  219. package/es/components/UIShell/Content.js +2 -4
  220. package/es/components/UIShell/Header.js +0 -2
  221. package/es/components/UIShell/HeaderContainer.d.ts +33 -0
  222. package/es/components/UIShell/HeaderContainer.js +13 -11
  223. package/es/components/UIShell/HeaderGlobalAction.js +0 -6
  224. package/es/components/UIShell/HeaderGlobalBar.js +0 -1
  225. package/es/components/UIShell/HeaderMenu.js +32 -31
  226. package/es/components/UIShell/HeaderMenuButton.js +2 -4
  227. package/es/components/UIShell/HeaderMenuItem.js +0 -8
  228. package/es/components/UIShell/HeaderName.js +0 -5
  229. package/es/components/UIShell/HeaderNavigation.js +0 -2
  230. package/es/components/UIShell/HeaderPanel.js +0 -2
  231. package/es/components/UIShell/HeaderSideNavItems.js +0 -2
  232. package/es/components/UIShell/Link.js +2 -3
  233. package/es/components/UIShell/SideNav.d.ts +3 -1
  234. package/es/components/UIShell/SideNav.js +44 -36
  235. package/es/components/UIShell/SideNavDetails.js +0 -3
  236. package/es/components/UIShell/SideNavDivider.js +0 -1
  237. package/es/components/UIShell/SideNavFooter.js +1 -4
  238. package/es/components/UIShell/SideNavHeader.js +0 -4
  239. package/es/components/UIShell/SideNavIcon.js +0 -3
  240. package/es/components/UIShell/SideNavItem.js +0 -3
  241. package/es/components/UIShell/SideNavItems.js +2 -6
  242. package/es/components/UIShell/SideNavLink.js +3 -7
  243. package/es/components/UIShell/SideNavLinkText.js +0 -2
  244. package/es/components/UIShell/SideNavMenu.js +0 -16
  245. package/es/components/UIShell/SideNavMenuItem.js +0 -2
  246. package/es/components/UIShell/SideNavSwitcher.js +2 -5
  247. package/es/components/UIShell/SkipToContent.d.ts +32 -0
  248. package/es/components/UIShell/SkipToContent.js +8 -15
  249. package/es/components/UIShell/Switcher.js +0 -2
  250. package/es/components/UIShell/SwitcherDivider.js +0 -1
  251. package/es/components/UIShell/SwitcherItem.js +0 -3
  252. package/es/components/UnorderedList/UnorderedList.d.ts +34 -0
  253. package/es/components/UnorderedList/UnorderedList.js +6 -16
  254. package/es/components/UnorderedList/index.d.ts +7 -0
  255. package/es/index.js +7 -8
  256. package/es/internal/ClickListener.js +3 -13
  257. package/es/internal/FloatingMenu.js +57 -63
  258. package/es/internal/OptimizedResize.js +6 -12
  259. package/es/internal/Selection.js +2 -25
  260. package/es/internal/createClassWrapper.js +0 -2
  261. package/es/internal/deprecateFieldOnObject.js +0 -4
  262. package/es/internal/focus/index.js +0 -1
  263. package/es/internal/keyboard/keys.js +2 -1
  264. package/es/internal/keyboard/match.js +1 -6
  265. package/es/internal/keyboard/navigation.js +8 -7
  266. package/es/internal/useAnnouncer.js +0 -1
  267. package/es/internal/useAttachedMenu.js +1 -9
  268. package/es/internal/useControllableState.js +6 -13
  269. package/es/internal/useDelayedState.js +2 -4
  270. package/es/internal/useEffectOnce.js +0 -1
  271. package/es/internal/useEvent.js +61 -3
  272. package/es/internal/useId.js +2 -5
  273. package/es/internal/useIsomorphicEffect.js +1 -0
  274. package/es/internal/useMergedRefs.js +2 -2
  275. package/es/internal/useNoInteractiveChildren.js +2 -13
  276. package/es/internal/useNormalizedInputProps.js +0 -3
  277. package/es/internal/useSavedCallback.js +0 -1
  278. package/es/internal/warning.js +0 -3
  279. package/es/internal/wrapFocus.js +1 -8
  280. package/es/prop-types/deprecate.js +2 -5
  281. package/es/prop-types/isRequiredOneOf.js +2 -5
  282. package/es/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  283. package/es/tools/array.js +0 -3
  284. package/es/tools/events.js +0 -3
  285. package/es/tools/mergeRefs.js +0 -2
  286. package/es/tools/wrapComponent.js +2 -5
  287. package/lib/_virtual/_rollupPluginBabelHelpers.js +17 -4
  288. package/lib/components/Accordion/Accordion.Skeleton.js +0 -7
  289. package/lib/components/Accordion/Accordion.js +1 -27
  290. package/lib/components/Accordion/AccordionItem.js +5 -19
  291. package/lib/components/AspectRatio/AspectRatio.js +0 -5
  292. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  293. package/lib/components/Breadcrumb/Breadcrumb.js +0 -3
  294. package/lib/components/Breadcrumb/BreadcrumbItem.js +0 -7
  295. package/lib/components/Button/Button.Skeleton.js +2 -26
  296. package/lib/components/Button/Button.js +2 -36
  297. package/lib/components/ButtonSet/ButtonSet.js +0 -2
  298. package/lib/components/Checkbox/Checkbox.Skeleton.js +0 -1
  299. package/lib/components/Checkbox/Checkbox.js +4 -20
  300. package/lib/components/CheckboxGroup/CheckboxGroup.js +0 -11
  301. package/lib/components/ClassPrefix/index.d.ts +26 -0
  302. package/lib/components/ClassPrefix/index.js +0 -2
  303. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  304. package/lib/components/CodeSnippet/CodeSnippet.js +6 -45
  305. package/lib/components/ComboBox/ComboBox.js +19 -86
  306. package/lib/components/ComboBox/tools/filter.js +0 -1
  307. package/lib/components/ComboButton/index.js +0 -14
  308. package/lib/components/ComposedModal/ComposedModal.js +2 -32
  309. package/lib/components/ComposedModal/ModalFooter.js +0 -21
  310. package/lib/components/ComposedModal/ModalHeader.js +0 -12
  311. package/lib/components/ContainedList/ContainedList.js +5 -32
  312. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  313. package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -23
  314. package/lib/components/ContextMenu/useContextMenu.js +1 -6
  315. package/lib/components/Copy/Copy.js +8 -50
  316. package/lib/components/CopyButton/CopyButton.js +0 -4
  317. package/lib/components/DangerButton/DangerButton.js +0 -1
  318. package/lib/components/DataTable/DataTable.js +171 -91
  319. package/lib/components/DataTable/Table.js +0 -6
  320. package/lib/components/DataTable/TableBatchAction.js +0 -4
  321. package/lib/components/DataTable/TableBatchActions.js +0 -8
  322. package/lib/components/DataTable/TableBody.js +0 -1
  323. package/lib/components/DataTable/TableContainer.js +0 -5
  324. package/lib/components/DataTable/TableExpandHeader.js +0 -7
  325. package/lib/components/DataTable/TableExpandRow.js +0 -6
  326. package/lib/components/DataTable/TableExpandedRow.js +0 -6
  327. package/lib/components/DataTable/TableHeader.d.ts +1 -1
  328. package/lib/components/DataTable/TableHeader.js +3 -19
  329. package/lib/components/DataTable/TableRow.js +4 -5
  330. package/lib/components/DataTable/TableSelectAll.js +0 -8
  331. package/lib/components/DataTable/TableSelectRow.js +2 -10
  332. package/lib/components/DataTable/TableToolbar.js +0 -3
  333. package/lib/components/DataTable/TableToolbarMenu.d.ts +1 -1
  334. package/lib/components/DataTable/TableToolbarMenu.js +3 -6
  335. package/lib/components/DataTable/TableToolbarSearch.js +2 -30
  336. package/lib/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  337. package/lib/components/DataTable/state/sorting.js +5 -8
  338. package/lib/components/DataTable/tools/denormalize.js +2 -2
  339. package/lib/components/DataTable/tools/filter.js +0 -2
  340. package/lib/components/DataTable/tools/instanceId.js +0 -1
  341. package/lib/components/DataTable/tools/normalize.js +10 -10
  342. package/lib/components/DataTable/tools/sorting.js +5 -13
  343. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  344. package/lib/components/DatePicker/DatePicker.Skeleton.js +0 -6
  345. package/lib/components/DatePicker/DatePicker.js +152 -174
  346. package/lib/components/DatePicker/plugins/appendToPlugin.js +3 -7
  347. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  348. package/lib/components/DatePicker/plugins/rangePlugin.js +2 -7
  349. package/lib/components/DatePickerInput/DatePickerInput.js +2 -28
  350. package/lib/components/Dropdown/Dropdown.Skeleton.js +0 -2
  351. package/lib/components/Dropdown/Dropdown.js +50 -59
  352. package/lib/components/ErrorBoundary/ErrorBoundary.js +0 -10
  353. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  354. package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -10
  355. package/lib/components/FeatureFlags/index.js +8 -20
  356. package/lib/components/FileUploader/FileUploader.Skeleton.js +0 -2
  357. package/lib/components/FileUploader/FileUploader.js +3 -57
  358. package/lib/components/FileUploader/FileUploaderButton.js +3 -43
  359. package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -28
  360. package/lib/components/FileUploader/FileUploaderItem.js +1 -30
  361. package/lib/components/FileUploader/Filename.js +0 -10
  362. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  363. package/lib/components/FluidComboBox/FluidComboBox.js +0 -18
  364. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  365. package/lib/components/FluidDatePicker/FluidDatePicker.js +0 -6
  366. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  367. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  368. package/lib/components/FluidDropdown/FluidDropdown.js +0 -18
  369. package/lib/components/FluidForm/FluidForm.js +0 -2
  370. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  371. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  372. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  373. package/lib/components/FluidSelect/FluidSelect.js +0 -10
  374. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  375. package/lib/components/FluidTextArea/FluidTextArea.js +0 -20
  376. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  377. package/lib/components/FluidTextInput/FluidTextInput.js +0 -14
  378. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  379. package/lib/components/FluidTimePicker/FluidTimePicker.js +1 -11
  380. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  381. package/lib/components/Form/Form.d.ts +23 -0
  382. package/lib/components/Form/Form.js +3 -6
  383. package/lib/components/Form/index.d.ts +7 -0
  384. package/lib/components/FormGroup/FormGroup.js +0 -7
  385. package/lib/components/FormItem/FormItem.js +0 -2
  386. package/lib/components/FormLabel/FormLabel.js +1 -26
  387. package/lib/components/Grid/CSSGrid.js +2 -15
  388. package/lib/components/Grid/Column.js +18 -59
  389. package/lib/components/Grid/ColumnHang.js +2 -5
  390. package/lib/components/Grid/FlexGrid.js +2 -8
  391. package/lib/components/Grid/Grid.js +0 -8
  392. package/lib/components/Grid/GridContext.js +1 -3
  393. package/lib/components/Grid/Row.js +2 -7
  394. package/lib/components/Heading/index.js +0 -4
  395. package/lib/components/Icon/Icon.Skeleton.js +2 -2
  396. package/lib/components/IconButton/index.js +0 -10
  397. package/lib/components/IdPrefix/index.js +0 -2
  398. package/lib/components/InlineCheckbox/InlineCheckbox.js +0 -14
  399. package/lib/components/InlineLoading/InlineLoading.js +0 -12
  400. package/lib/components/Layer/index.js +3 -6
  401. package/lib/components/Layout/LayoutDirection.js +0 -3
  402. package/lib/components/Layout/useLayoutDirection.js +0 -1
  403. package/lib/components/Link/Link.js +3 -10
  404. package/lib/components/ListBox/ListBox.js +2 -13
  405. package/lib/components/ListBox/ListBoxField.js +0 -5
  406. package/lib/components/ListBox/ListBoxMenuIcon.js +0 -4
  407. package/lib/components/ListBox/ListBoxMenuItem.js +2 -6
  408. package/lib/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  409. package/lib/components/ListBox/ListBoxSelection.js +1 -13
  410. package/lib/components/ListBox/next/ListBoxSelection.js +1 -14
  411. package/lib/components/ListBox/next/ListBoxTrigger.js +1 -3
  412. package/lib/components/ListItem/ListItem.d.ts +23 -0
  413. package/lib/components/ListItem/ListItem.js +4 -8
  414. package/lib/components/ListItem/index.d.ts +7 -0
  415. package/lib/components/Loading/Loading.js +0 -6
  416. package/lib/components/Menu/Menu.js +22 -40
  417. package/lib/components/Menu/MenuContext.js +4 -5
  418. package/lib/components/Menu/MenuItem.js +5 -39
  419. package/lib/components/MenuButton/index.js +0 -9
  420. package/lib/components/Modal/Modal.js +0 -43
  421. package/lib/components/ModalWrapper/ModalWrapper.js +2 -15
  422. package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -66
  423. package/lib/components/MultiSelect/MultiSelect.js +30 -78
  424. package/lib/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  425. package/lib/components/MultiSelect/index.js +0 -1
  426. package/lib/components/MultiSelect/tools/itemToString.js +0 -2
  427. package/lib/components/MultiSelect/tools/sorting.js +3 -4
  428. package/lib/components/Notification/Notification.js +0 -78
  429. package/lib/components/NumberInput/NumberInput.Skeleton.js +0 -2
  430. package/lib/components/NumberInput/NumberInput.js +3 -60
  431. package/lib/components/OrderedList/OrderedList.d.ts +39 -0
  432. package/lib/components/OrderedList/OrderedList.js +7 -19
  433. package/lib/components/OrderedList/index.d.ts +7 -0
  434. package/lib/components/OverflowMenu/OverflowMenu.js +65 -86
  435. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  436. package/lib/components/OverflowMenuV2/index.js +0 -5
  437. package/lib/components/Pagination/Pagination.Skeleton.js +0 -2
  438. package/lib/components/Pagination/Pagination.js +11 -47
  439. package/lib/components/Pagination/experimental/PageSelector.js +0 -10
  440. package/lib/components/Pagination/experimental/Pagination.js +2 -67
  441. package/lib/components/PaginationNav/PaginationNav.js +15 -78
  442. package/lib/components/Popover/index.d.ts +14 -8
  443. package/lib/components/Popover/index.js +44 -48
  444. package/lib/components/PrimaryButton/PrimaryButton.js +0 -1
  445. package/lib/components/ProgressBar/ProgressBar.js +0 -15
  446. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  447. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -40
  448. package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -1
  449. package/lib/components/RadioButton/RadioButton.js +0 -13
  450. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  451. package/lib/components/RadioTile/RadioTile.js +0 -12
  452. package/lib/components/Search/Search.Skeleton.js +0 -2
  453. package/lib/components/Search/Search.js +1 -28
  454. package/lib/components/SecondaryButton/SecondaryButton.js +0 -1
  455. package/lib/components/Select/Select.Skeleton.js +0 -2
  456. package/lib/components/Select/Select.d.ts +1 -1
  457. package/lib/components/Select/Select.js +6 -33
  458. package/lib/components/SelectItem/SelectItem.js +0 -5
  459. package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  460. package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -26
  461. package/lib/components/SkeletonIcon/SkeletonIcon.js +0 -2
  462. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  463. package/lib/components/SkeletonText/SkeletonText.js +0 -12
  464. package/lib/components/Slider/Slider.Skeleton.js +0 -2
  465. package/lib/components/Slider/Slider.d.ts +0 -1
  466. package/lib/components/Slider/Slider.js +112 -154
  467. package/lib/components/Stack/Stack.js +1 -8
  468. package/lib/components/StructuredList/StructuredList.Skeleton.js +0 -5
  469. package/lib/components/StructuredList/StructuredList.js +1 -25
  470. package/lib/components/Switch/IconSwitch.js +0 -18
  471. package/lib/components/Switch/Switch.js +0 -11
  472. package/lib/components/TabContent/TabContent.js +2 -6
  473. package/lib/components/Tabs/Tabs.Skeleton.js +0 -4
  474. package/lib/components/Tabs/Tabs.js +133 -102
  475. package/lib/components/Tabs/usePressable.js +18 -31
  476. package/lib/components/Tag/Tag.Skeleton.js +0 -2
  477. package/lib/components/Tag/Tag.js +0 -15
  478. package/lib/components/Text/Text.js +5 -18
  479. package/lib/components/Text/TextDirection.js +0 -3
  480. package/lib/components/Text/TextDirectionContext.js +0 -1
  481. package/lib/components/Text/createTextComponent.js +0 -3
  482. package/lib/components/TextArea/TextArea.Skeleton.js +0 -2
  483. package/lib/components/TextArea/TextArea.js +10 -32
  484. package/lib/components/TextInput/ControlledPasswordInput.js +0 -20
  485. package/lib/components/TextInput/PasswordInput.js +0 -25
  486. package/lib/components/TextInput/TextInput.Skeleton.js +0 -2
  487. package/lib/components/TextInput/TextInput.d.ts +1 -1
  488. package/lib/components/TextInput/TextInput.js +5 -52
  489. package/lib/components/TextInput/util.js +3 -5
  490. package/lib/components/Theme/index.js +1 -6
  491. package/lib/components/Tile/Tile.js +31 -58
  492. package/lib/components/TileGroup/TileGroup.js +1 -22
  493. package/lib/components/TimePicker/TimePicker.js +6 -32
  494. package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -5
  495. package/lib/components/Toggle/Toggle.Skeleton.js +0 -8
  496. package/lib/components/Toggle/Toggle.js +0 -16
  497. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  498. package/lib/components/Toggletip/index.d.ts +148 -0
  499. package/lib/components/Toggletip/index.js +20 -44
  500. package/lib/components/Tooltip/DefinitionTooltip.js +0 -11
  501. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  502. package/lib/components/Tooltip/Tooltip.js +4 -21
  503. package/lib/components/TreeView/TreeNode.js +21 -66
  504. package/lib/components/TreeView/TreeView.js +11 -67
  505. package/lib/components/UIShell/Content.js +2 -4
  506. package/lib/components/UIShell/Header.js +0 -2
  507. package/lib/components/UIShell/HeaderContainer.d.ts +33 -0
  508. package/lib/components/UIShell/HeaderContainer.js +13 -11
  509. package/lib/components/UIShell/HeaderGlobalAction.js +0 -6
  510. package/lib/components/UIShell/HeaderGlobalBar.js +0 -1
  511. package/lib/components/UIShell/HeaderMenu.js +32 -31
  512. package/lib/components/UIShell/HeaderMenuButton.js +2 -4
  513. package/lib/components/UIShell/HeaderMenuItem.js +0 -8
  514. package/lib/components/UIShell/HeaderName.js +0 -5
  515. package/lib/components/UIShell/HeaderNavigation.js +0 -2
  516. package/lib/components/UIShell/HeaderPanel.js +0 -2
  517. package/lib/components/UIShell/HeaderSideNavItems.js +0 -2
  518. package/lib/components/UIShell/Link.js +2 -3
  519. package/lib/components/UIShell/SideNav.d.ts +3 -1
  520. package/lib/components/UIShell/SideNav.js +43 -35
  521. package/lib/components/UIShell/SideNavDetails.js +0 -3
  522. package/lib/components/UIShell/SideNavDivider.js +0 -1
  523. package/lib/components/UIShell/SideNavFooter.js +1 -4
  524. package/lib/components/UIShell/SideNavHeader.js +0 -4
  525. package/lib/components/UIShell/SideNavIcon.js +0 -3
  526. package/lib/components/UIShell/SideNavItem.js +0 -3
  527. package/lib/components/UIShell/SideNavItems.js +2 -6
  528. package/lib/components/UIShell/SideNavLink.js +3 -7
  529. package/lib/components/UIShell/SideNavLinkText.js +0 -2
  530. package/lib/components/UIShell/SideNavMenu.js +0 -16
  531. package/lib/components/UIShell/SideNavMenuItem.js +0 -2
  532. package/lib/components/UIShell/SideNavSwitcher.js +2 -5
  533. package/lib/components/UIShell/SkipToContent.d.ts +32 -0
  534. package/lib/components/UIShell/SkipToContent.js +8 -15
  535. package/lib/components/UIShell/Switcher.js +0 -2
  536. package/lib/components/UIShell/SwitcherDivider.js +0 -1
  537. package/lib/components/UIShell/SwitcherItem.js +0 -3
  538. package/lib/components/UnorderedList/UnorderedList.d.ts +34 -0
  539. package/lib/components/UnorderedList/UnorderedList.js +6 -16
  540. package/lib/components/UnorderedList/index.d.ts +7 -0
  541. package/lib/index.js +42 -43
  542. package/lib/internal/ClickListener.js +3 -13
  543. package/lib/internal/FloatingMenu.js +57 -63
  544. package/lib/internal/OptimizedResize.js +6 -12
  545. package/lib/internal/Selection.js +2 -25
  546. package/lib/internal/createClassWrapper.js +0 -2
  547. package/lib/internal/deprecateFieldOnObject.js +0 -4
  548. package/lib/internal/focus/index.js +0 -1
  549. package/lib/internal/keyboard/keys.js +2 -1
  550. package/lib/internal/keyboard/match.js +1 -6
  551. package/lib/internal/keyboard/navigation.js +8 -7
  552. package/lib/internal/useAnnouncer.js +0 -1
  553. package/lib/internal/useAttachedMenu.js +1 -9
  554. package/lib/internal/useControllableState.js +6 -13
  555. package/lib/internal/useDelayedState.js +2 -4
  556. package/lib/internal/useEffectOnce.js +0 -1
  557. package/lib/internal/useEvent.js +61 -2
  558. package/lib/internal/useId.js +2 -5
  559. package/lib/internal/useIsomorphicEffect.js +1 -0
  560. package/lib/internal/useMergedRefs.js +2 -2
  561. package/lib/internal/useNoInteractiveChildren.js +2 -13
  562. package/lib/internal/useNormalizedInputProps.js +0 -3
  563. package/lib/internal/useSavedCallback.js +0 -1
  564. package/lib/internal/warning.js +0 -3
  565. package/lib/internal/wrapFocus.js +1 -8
  566. package/lib/prop-types/deprecate.js +2 -5
  567. package/lib/prop-types/isRequiredOneOf.js +2 -5
  568. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  569. package/lib/tools/array.js +0 -3
  570. package/lib/tools/events.js +0 -3
  571. package/lib/tools/mergeRefs.js +0 -2
  572. package/lib/tools/wrapComponent.js +2 -5
  573. package/package.json +9 -9
  574. package/es/components/Tab/Tab.js +0 -185
  575. package/es/components/Tab/index.js +0 -14
  576. package/es/components/TimePickerSelect/index.js +0 -13
  577. package/lib/components/Form/index.js +0 -17
  578. package/lib/components/Tab/Tab.js +0 -214
  579. package/lib/components/Tab/index.js +0 -39
  580. package/lib/components/TimePickerSelect/index.js +0 -38
@@ -43,52 +43,43 @@ function Tooltip(_ref) {
43
43
  // This should be placed on the trigger in case the element is disabled
44
44
  onMouseEnter
45
45
  };
46
-
47
46
  function getChildEventHandlers(childProps) {
48
47
  const eventHandlerFunctions = ['onFocus', 'onBlur', 'onClick', 'onMouseEnter'];
49
48
  const eventHandlers = {};
50
49
  eventHandlerFunctions.forEach(functionName => {
51
50
  eventHandlers[functionName] = evt => {
52
51
  triggerProps[functionName]();
53
-
54
- if (childProps !== null && childProps !== void 0 && childProps[functionName]) {
55
- childProps === null || childProps === void 0 ? void 0 : childProps[functionName](evt);
52
+ if (childProps?.[functionName]) {
53
+ childProps?.[functionName](evt);
56
54
  }
57
55
  };
58
56
  });
59
57
  return eventHandlers;
60
58
  }
61
-
62
59
  if (label) {
63
60
  triggerProps['aria-labelledby'] = id;
64
61
  } else {
65
62
  triggerProps['aria-describedby'] = id;
66
63
  }
67
-
68
64
  function onKeyDown(event) {
69
65
  if (open && match(event, Escape)) {
70
66
  event.stopPropagation();
71
67
  setOpen(false);
72
68
  }
73
-
74
69
  if (open && closeOnActivation && (match(event, Enter) || match(event, Space))) {
75
70
  setOpen(false);
76
71
  }
77
72
  }
78
-
79
73
  function onMouseEnter() {
80
74
  setOpen(true, enterDelayMs);
81
75
  }
82
-
83
76
  function onMouseLeave() {
84
77
  setOpen(false, leaveDelayMs);
85
78
  }
86
-
87
79
  useNoInteractiveChildren(tooltipRef, 'The Tooltip component must have no interactive content rendered by the' + '`label` or `description` prop');
88
80
  useEffect(() => {
89
81
  if (containerRef !== null && containerRef.current) {
90
82
  const interactiveContent = getInteractiveContent(containerRef.current);
91
-
92
83
  if (!interactiveContent) {
93
84
  setOpen(false);
94
85
  }
@@ -103,7 +94,8 @@ function Tooltip(_ref) {
103
94
  onMouseLeave: onMouseLeave,
104
95
  open: open,
105
96
  ref: containerRef
106
- }), child !== undefined ? /*#__PURE__*/React__default.cloneElement(child, { ...triggerProps,
97
+ }), child !== undefined ? /*#__PURE__*/React__default.cloneElement(child, {
98
+ ...triggerProps,
107
99
  ...getChildEventHandlers(child.props)
108
100
  }) : null, /*#__PURE__*/React__default.createElement(PopoverContent, {
109
101
  "aria-hidden": "true",
@@ -113,33 +105,27 @@ function Tooltip(_ref) {
113
105
  role: "tooltip"
114
106
  }, label || description));
115
107
  }
116
-
117
108
  Tooltip.propTypes = {
118
109
  /**
119
110
  * Specify how the trigger should align with the tooltip
120
111
  */
121
112
  align: PropTypes.oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top']),
122
-
123
113
  /**
124
114
  * Pass in the child to which the tooltip will be applied
125
115
  */
126
116
  children: PropTypes.node,
127
-
128
117
  /**
129
118
  * Specify an optional className to be applied to the container node
130
119
  */
131
120
  className: PropTypes.string,
132
-
133
121
  /**
134
122
  * Determines wether the tooltip should close when inner content is activated (click, Enter or Space)
135
123
  */
136
124
  closeOnActivation: PropTypes.bool,
137
-
138
125
  /**
139
126
  * Specify whether the tooltip should be open when it first renders
140
127
  */
141
128
  defaultOpen: PropTypes.bool,
142
-
143
129
  /**
144
130
  * Provide the description to be rendered inside of the Tooltip. The
145
131
  * description will use `aria-describedby` and will describe the child node
@@ -151,12 +137,10 @@ Tooltip.propTypes = {
151
137
  * description will not be used
152
138
  */
153
139
  description: PropTypes.node,
154
-
155
140
  /**
156
141
  * Specify the duration in milliseconds to delay before displaying the tooltip
157
142
  */
158
143
  enterDelayMs: PropTypes.number,
159
-
160
144
  /**
161
145
  * Provide the label to be rendered inside of the Tooltip. The label will use
162
146
  * `aria-labelledby` and will fully describe the child node that is provided.
@@ -167,7 +151,6 @@ Tooltip.propTypes = {
167
151
  * used
168
152
  */
169
153
  label: PropTypes.node,
170
-
171
154
  /**
172
155
  * Specify the duration in milliseconds to delay before hiding the tooltip
173
156
  */
@@ -65,13 +65,11 @@ function TreeNode(_ref) {
65
65
  const toggleClasses = cx(`${prefix}--tree-parent-node__toggle-icon`, {
66
66
  [`${prefix}--tree-parent-node__toggle-icon--expanded`]: expanded
67
67
  });
68
-
69
68
  function handleToggleClick(event) {
70
69
  if (disabled) {
71
70
  return;
72
71
  }
73
-
74
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
72
+ onToggle?.(event, {
75
73
  id,
76
74
  isExpanded: !expanded,
77
75
  label,
@@ -79,53 +77,41 @@ function TreeNode(_ref) {
79
77
  });
80
78
  setExpanded(!expanded);
81
79
  }
82
-
83
80
  function handleClick(event) {
84
81
  event.stopPropagation();
85
-
86
82
  if (!disabled) {
87
- var _rest$onClick;
88
-
89
- onTreeSelect === null || onTreeSelect === void 0 ? void 0 : onTreeSelect(event, {
83
+ onTreeSelect?.(event, {
90
84
  id,
91
85
  label,
92
86
  value
93
87
  });
94
- onNodeSelect === null || onNodeSelect === void 0 ? void 0 : onNodeSelect(event, {
88
+ onNodeSelect?.(event, {
95
89
  id,
96
90
  label,
97
91
  value
98
92
  });
99
- rest === null || rest === void 0 ? void 0 : (_rest$onClick = rest.onClick) === null || _rest$onClick === void 0 ? void 0 : _rest$onClick.call(rest, event);
93
+ rest?.onClick?.(event);
100
94
  }
101
95
  }
102
-
103
96
  function handleKeyDown(event) {
104
- var _rest$onKeyDown;
105
-
106
97
  if (disabled) {
107
98
  return;
108
99
  }
109
-
110
100
  if (matches(event, [ArrowLeft, ArrowRight, Enter])) {
111
101
  event.stopPropagation();
112
102
  }
113
-
114
103
  if (match(event, ArrowLeft)) {
115
104
  const findParentTreeNode = node => {
116
105
  if (node.classList.contains(`${prefix}--tree-parent-node`)) {
117
106
  return node;
118
107
  }
119
-
120
108
  if (node.classList.contains(`${prefix}--tree`)) {
121
109
  return null;
122
110
  }
123
-
124
111
  return findParentTreeNode(node.parentNode);
125
112
  };
126
-
127
113
  if (children && expanded) {
128
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
114
+ onToggle?.(event, {
129
115
  id,
130
116
  isExpanded: false,
131
117
  label,
@@ -133,16 +119,13 @@ function TreeNode(_ref) {
133
119
  });
134
120
  setExpanded(false);
135
121
  } else {
136
- var _findParentTreeNode;
137
-
138
122
  /**
139
123
  * When focus is on a leaf node or a closed parent node, move focus to
140
124
  * its parent node (unless its depth is level 1)
141
125
  */
142
- (_findParentTreeNode = findParentTreeNode(currentNode.current.parentNode)) === null || _findParentTreeNode === void 0 ? void 0 : _findParentTreeNode.focus();
126
+ findParentTreeNode(currentNode.current.parentNode)?.focus();
143
127
  }
144
128
  }
145
-
146
129
  if (children && match(event, ArrowRight)) {
147
130
  if (expanded) {
148
131
  /**
@@ -151,7 +134,7 @@ function TreeNode(_ref) {
151
134
  */
152
135
  currentNode.current.lastChild.firstChild.focus();
153
136
  } else {
154
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
137
+ onToggle?.(event, {
155
138
  id,
156
139
  isExpanded: true,
157
140
  label,
@@ -160,31 +143,21 @@ function TreeNode(_ref) {
160
143
  setExpanded(true);
161
144
  }
162
145
  }
163
-
164
146
  if (matches(event, [Enter, Space])) {
165
147
  event.preventDefault();
166
148
  handleClick(event);
167
149
  }
168
-
169
- rest === null || rest === void 0 ? void 0 : (_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 ? void 0 : _rest$onKeyDown.call(rest, event);
150
+ rest?.onKeyDown?.(event);
170
151
  }
171
-
172
152
  function handleFocusEvent(event) {
173
153
  if (event.type === 'blur') {
174
- var _rest$onBlur;
175
-
176
- rest === null || rest === void 0 ? void 0 : (_rest$onBlur = rest.onBlur) === null || _rest$onBlur === void 0 ? void 0 : _rest$onBlur.call(rest, event);
154
+ rest?.onBlur?.(event);
177
155
  }
178
-
179
156
  if (event.type === 'focus') {
180
- var _rest$onFocus;
181
-
182
- rest === null || rest === void 0 ? void 0 : (_rest$onFocus = rest.onFocus) === null || _rest$onFocus === void 0 ? void 0 : _rest$onFocus.call(rest, event);
157
+ rest?.onFocus?.(event);
183
158
  }
184
-
185
- onNodeFocusEvent === null || onNodeFocusEvent === void 0 ? void 0 : onNodeFocusEvent(event);
159
+ onNodeFocusEvent?.(event);
186
160
  }
187
-
188
161
  useEffect(() => {
189
162
  /**
190
163
  * Negative margin shifts node to align with the left side boundary of the
@@ -201,31 +174,28 @@ function TreeNode(_ref) {
201
174
  // parent node with icon
202
175
  if (children && Icon) {
203
176
  return depth + 1 + depth * 0.5;
204
- } // parent node without icon
205
-
206
-
177
+ }
178
+ // parent node without icon
207
179
  if (children) {
208
180
  return depth + 1;
209
- } // leaf node with icon
210
-
211
-
181
+ }
182
+ // leaf node with icon
212
183
  if (Icon) {
213
184
  return depth + 2 + depth * 0.5;
214
- } // leaf node without icon
215
-
216
-
185
+ }
186
+ // leaf node without icon
217
187
  return depth + 2.5;
218
188
  };
219
-
220
189
  if (currentNodeLabel.current) {
221
190
  currentNodeLabel.current.style.marginLeft = `-${calcOffset()}rem`;
222
191
  currentNodeLabel.current.style.paddingLeft = `${calcOffset()}rem`;
223
- } // sync props and state
224
-
192
+ }
225
193
 
194
+ // sync props and state
226
195
  setExpanded(isExpanded);
227
196
  }, [children, depth, Icon, isExpanded]);
228
- const treeNodeProps = { ...rest,
197
+ const treeNodeProps = {
198
+ ...rest,
229
199
  ['aria-current']: isActive || null,
230
200
  ['aria-selected']: disabled ? null : isSelected,
231
201
  ['aria-disabled']: disabled,
@@ -238,7 +208,6 @@ function TreeNode(_ref) {
238
208
  ref: currentNode,
239
209
  role: 'treeitem'
240
210
  };
241
-
242
211
  if (!children) {
243
212
  return /*#__PURE__*/React__default.createElement("li", treeNodeProps, /*#__PURE__*/React__default.createElement("div", {
244
213
  className: `${prefix}--tree-node__label`,
@@ -247,7 +216,6 @@ function TreeNode(_ref) {
247
216
  className: `${prefix}--tree-node__icon`
248
217
  }), label));
249
218
  }
250
-
251
219
  return (
252
220
  /*#__PURE__*/
253
221
  // eslint-disable-next-line jsx-a11y/role-supports-aria-props
@@ -277,68 +245,55 @@ TreeNode.propTypes = {
277
245
  * The value of the active node in the tree
278
246
  */
279
247
  active: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
280
-
281
248
  /**
282
249
  * Specify the children of the TreeNode
283
250
  */
284
251
  children: PropTypes.node,
285
-
286
252
  /**
287
253
  * Specify an optional className to be applied to the TreeNode
288
254
  */
289
255
  className: PropTypes.string,
290
-
291
256
  /**
292
257
  * TreeNode depth to determine spacing, automatically calculated by default
293
258
  */
294
259
  depth: PropTypes.number,
295
-
296
260
  /**
297
261
  * Specify if the TreeNode is disabled
298
262
  */
299
263
  disabled: PropTypes.bool,
300
-
301
264
  /**
302
265
  * Specify if the TreeNode is expanded (only applicable to parent nodes)
303
266
  */
304
267
  isExpanded: PropTypes.bool,
305
-
306
268
  /**
307
269
  * Rendered label for the TreeNode
308
270
  */
309
271
  label: PropTypes.node,
310
-
311
272
  /**
312
273
  * Callback function for when the node receives or loses focus
313
274
  */
314
275
  onNodeFocusEvent: PropTypes.func,
315
-
316
276
  /**
317
277
  * Callback function for when the node is selected
318
278
  */
319
279
  onSelect: PropTypes.func,
320
-
321
280
  /**
322
281
  * Callback function for when a parent node is expanded or collapsed
323
282
  */
324
283
  onToggle: PropTypes.func,
325
-
326
284
  /**
327
285
  * Callback function for when any node in the tree is selected
328
286
  */
329
287
  onTreeSelect: PropTypes.func,
330
-
331
288
  /**
332
289
  * Optional prop to allow each node to have an associated icon.
333
290
  * Can be a React component class
334
291
  */
335
292
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
336
-
337
293
  /**
338
294
  * Array containing all selected node IDs in the tree
339
295
  */
340
296
  selected: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
341
-
342
297
  /**
343
298
  * Specify the value of the TreeNode
344
299
  */
@@ -35,73 +35,57 @@ function TreeView(_ref) {
35
35
  [`${prefix}--tree--${size}`]: size !== 'default'
36
36
  });
37
37
  const treeRootRef = useRef(null);
38
- const treeWalker = useRef(treeRootRef === null || treeRootRef === void 0 ? void 0 : treeRootRef.current);
38
+ const treeWalker = useRef(treeRootRef?.current);
39
39
  const [selected, setSelected] = useState(preselected);
40
40
  const [active, setActive] = useState(prespecifiedActive);
41
-
42
41
  function resetNodeTabIndices() {
43
- var _treeRootRef$current;
44
-
45
- Array.prototype.forEach.call((treeRootRef === null || treeRootRef === void 0 ? void 0 : (_treeRootRef$current = treeRootRef.current) === null || _treeRootRef$current === void 0 ? void 0 : _treeRootRef$current.querySelectorAll('[tabIndex="0"]')) ?? [], item => {
42
+ Array.prototype.forEach.call(treeRootRef?.current?.querySelectorAll('[tabIndex="0"]') ?? [], item => {
46
43
  item.tabIndex = -1;
47
44
  });
48
45
  }
49
-
50
46
  function handleTreeSelect(event) {
51
47
  let node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52
48
  const {
53
49
  id: nodeId
54
50
  } = node;
55
-
56
51
  if (multiselect && (event.metaKey || event.ctrlKey)) {
57
52
  if (!selected.includes(nodeId)) {
58
53
  setSelected(selected.concat(nodeId));
59
54
  } else {
60
55
  setSelected(selected.filter(selectedId => selectedId !== nodeId));
61
56
  }
62
-
63
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, node);
57
+ onSelect?.(event, node);
64
58
  } else {
65
59
  setSelected([nodeId]);
66
60
  setActive(nodeId);
67
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, {
61
+ onSelect?.(event, {
68
62
  activeNodeId: nodeId,
69
63
  ...node
70
64
  });
71
65
  }
72
66
  }
73
-
74
67
  function handleFocusEvent(event) {
75
68
  if (event.type === 'blur') {
76
- var _treeRootRef$current2;
77
-
78
69
  const {
79
70
  relatedTarget: currentFocusedNode,
80
71
  target: prevFocusedNode
81
72
  } = event;
82
-
83
- if (treeRootRef !== null && treeRootRef !== void 0 && (_treeRootRef$current2 = treeRootRef.current) !== null && _treeRootRef$current2 !== void 0 && _treeRootRef$current2.contains(currentFocusedNode)) {
73
+ if (treeRootRef?.current?.contains(currentFocusedNode)) {
84
74
  prevFocusedNode.tabIndex = -1;
85
75
  }
86
76
  }
87
-
88
77
  if (event.type === 'focus') {
89
- var _treeRootRef$current3;
90
-
91
78
  resetNodeTabIndices();
92
79
  const {
93
80
  relatedTarget: prevFocusedNode,
94
81
  target: currentFocusedNode
95
82
  } = event;
96
-
97
- if (treeRootRef !== null && treeRootRef !== void 0 && (_treeRootRef$current3 = treeRootRef.current) !== null && _treeRootRef$current3 !== void 0 && _treeRootRef$current3.contains(prevFocusedNode)) {
83
+ if (treeRootRef?.current?.contains(prevFocusedNode)) {
98
84
  prevFocusedNode.tabIndex = -1;
99
85
  }
100
-
101
86
  currentFocusedNode.tabIndex = 0;
102
87
  }
103
88
  }
104
-
105
89
  let focusTarget = false;
106
90
  const nodesWithProps = React__default.Children.map(children, node => {
107
91
  const sharedNodeProps = {
@@ -112,122 +96,90 @@ function TreeView(_ref) {
112
96
  selected,
113
97
  tabIndex: !node.props.disabled && -1 || null
114
98
  };
115
-
116
99
  if (!focusTarget && !node.props.disabled) {
117
100
  sharedNodeProps.tabIndex = 0;
118
101
  focusTarget = true;
119
102
  }
120
-
121
103
  if ( /*#__PURE__*/React__default.isValidElement(node)) {
122
104
  return /*#__PURE__*/React__default.cloneElement(node, sharedNodeProps);
123
105
  }
124
106
  });
125
-
126
107
  function handleKeyDown(event) {
127
- var _rest$onKeyDown;
128
-
129
108
  event.stopPropagation();
130
-
131
109
  if (matches(event, [ArrowUp, ArrowDown, Home, End, {
132
110
  code: 'KeyA'
133
111
  }])) {
134
112
  event.preventDefault();
135
113
  }
136
-
137
114
  treeWalker.current.currentNode = event.target;
138
115
  let nextFocusNode;
139
-
140
116
  if (match(event, ArrowUp)) {
141
117
  nextFocusNode = treeWalker.current.previousNode();
142
118
  }
143
-
144
119
  if (match(event, ArrowDown)) {
145
120
  nextFocusNode = treeWalker.current.nextNode();
146
121
  }
147
-
148
122
  if (matches(event, [Home, End, {
149
123
  code: 'KeyA'
150
124
  }])) {
151
125
  const nodeIds = [];
152
-
153
126
  if (matches(event, [Home, End])) {
154
127
  if (multiselect && event.shiftKey && event.ctrlKey && !treeWalker.current.currentNode.getAttribute('aria-disabled')) {
155
- var _treeWalker$current$c;
156
-
157
- nodeIds.push((_treeWalker$current$c = treeWalker.current.currentNode) === null || _treeWalker$current$c === void 0 ? void 0 : _treeWalker$current$c.id);
128
+ nodeIds.push(treeWalker.current.currentNode?.id);
158
129
  }
159
-
160
130
  while (match(event, Home) ? treeWalker.current.previousNode() : treeWalker.current.nextNode()) {
161
131
  nextFocusNode = treeWalker.current.currentNode;
162
-
163
132
  if (multiselect && event.shiftKey && event.ctrlKey && !nextFocusNode.getAttribute('aria-disabled')) {
164
- var _nextFocusNode;
165
-
166
- nodeIds.push((_nextFocusNode = nextFocusNode) === null || _nextFocusNode === void 0 ? void 0 : _nextFocusNode.id);
133
+ nodeIds.push(nextFocusNode?.id);
167
134
  }
168
135
  }
169
136
  }
170
-
171
137
  if (match(event, {
172
138
  code: 'KeyA'
173
139
  }) && event.ctrlKey) {
174
140
  treeWalker.current.currentNode = treeWalker.current.root;
175
-
176
141
  while (treeWalker.current.nextNode()) {
177
142
  if (!treeWalker.current.currentNode.getAttribute('aria-disabled')) {
178
- var _treeWalker$current$c2;
179
-
180
- nodeIds.push((_treeWalker$current$c2 = treeWalker.current.currentNode) === null || _treeWalker$current$c2 === void 0 ? void 0 : _treeWalker$current$c2.id);
143
+ nodeIds.push(treeWalker.current.currentNode?.id);
181
144
  }
182
145
  }
183
146
  }
184
-
185
147
  setSelected(selected.concat(nodeIds));
186
148
  }
187
-
188
149
  if (nextFocusNode && nextFocusNode !== event.target) {
189
150
  resetNodeTabIndices();
190
151
  nextFocusNode.tabIndex = 0;
191
152
  nextFocusNode.focus();
192
153
  }
193
-
194
- rest === null || rest === void 0 ? void 0 : (_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 ? void 0 : _rest$onKeyDown.call(rest, event);
154
+ rest?.onKeyDown?.(event);
195
155
  }
196
-
197
156
  useEffect(() => {
198
- treeWalker.current = treeWalker.current ?? document.createTreeWalker(treeRootRef === null || treeRootRef === void 0 ? void 0 : treeRootRef.current, NodeFilter.SHOW_ELEMENT, {
157
+ treeWalker.current = treeWalker.current ?? document.createTreeWalker(treeRootRef?.current, NodeFilter.SHOW_ELEMENT, {
199
158
  acceptNode: function (node) {
200
159
  if (node.classList.contains(`${prefix}--tree-node--disabled`)) {
201
160
  return NodeFilter.FILTER_REJECT;
202
161
  }
203
-
204
162
  if (node.matches(`li.${prefix}--tree-node`)) {
205
163
  return NodeFilter.FILTER_ACCEPT;
206
164
  }
207
-
208
165
  return NodeFilter.FILTER_SKIP;
209
166
  }
210
167
  });
211
168
  }, [prefix]);
212
-
213
169
  const useActiveAndSelectedOnMount = () => useEffect(() => {
214
170
  if (preselected.length) {
215
171
  setSelected(preselected);
216
172
  }
217
-
218
173
  if (prespecifiedActive) {
219
174
  setActive(prespecifiedActive);
220
175
  }
221
176
  }, []);
222
-
223
177
  useActiveAndSelectedOnMount();
224
178
  const labelId = `${treeId}__label`;
225
-
226
179
  const TreeLabel = () => !hideLabel && /*#__PURE__*/React__default.createElement("label", {
227
180
  id: labelId,
228
181
  className: `${prefix}--label`
229
182
  }, label);
230
-
231
183
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TreeLabel, null), /*#__PURE__*/React__default.createElement("ul", _extends({}, rest, {
232
184
  "aria-label": hideLabel ? label : null,
233
185
  "aria-labelledby": !hideLabel ? labelId : null,
@@ -243,43 +195,35 @@ TreeView.propTypes = {
243
195
  * Mark the active node in the tree, represented by its value
244
196
  */
245
197
  active: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
246
-
247
198
  /**
248
199
  * Specify the children of the TreeView
249
200
  */
250
201
  children: PropTypes.node,
251
-
252
202
  /**
253
203
  * Specify an optional className to be applied to the TreeView
254
204
  */
255
205
  className: PropTypes.string,
256
-
257
206
  /**
258
207
  * Specify whether or not the label should be hidden
259
208
  */
260
209
  hideLabel: PropTypes.bool,
261
-
262
210
  /**
263
211
  * Provide the label text that will be read by a screen reader
264
212
  */
265
213
  label: PropTypes.string.isRequired,
266
-
267
214
  /**
268
215
  * **[Experimental]** Specify the selection mode of the tree.
269
216
  * If `multiselect` is `false` then only one node can be selected at a time
270
217
  */
271
218
  multiselect: PropTypes.bool,
272
-
273
219
  /**
274
220
  * Callback function that is called when any node is selected
275
221
  */
276
222
  onSelect: PropTypes.func,
277
-
278
223
  /**
279
224
  * Array representing all selected node IDs in the tree
280
225
  */
281
226
  selected: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
282
-
283
227
  /**
284
228
  * Specify the size of the tree from a list of available sizes.
285
229
  */
@@ -19,22 +19,20 @@ 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, { ...rest,
22
+ return /*#__PURE__*/React__default.createElement(tagName, {
23
+ ...rest,
23
24
  className
24
25
  }, children);
25
26
  };
26
-
27
27
  Content.propTypes = {
28
28
  /**
29
29
  * Provide children nodes to be rendered in the content container
30
30
  */
31
31
  children: PropTypes.node,
32
-
33
32
  /**
34
33
  * Optionally provide a custom class name that is applied to the container
35
34
  */
36
35
  className: PropTypes.string,
37
-
38
36
  /**
39
37
  * Optionally specify the tag of the content node. Defaults to `main`
40
38
  */
@@ -24,13 +24,11 @@ const Header = _ref => {
24
24
  className: className
25
25
  }), children);
26
26
  };
27
-
28
27
  Header.propTypes = {
29
28
  /**
30
29
  * Required props for the accessibility label of the header
31
30
  */
32
31
  ...AriaLabelPropType,
33
-
34
32
  /**
35
33
  * Optionally provide a custom class name that is applied to the underlying <header>
36
34
  */