@carbon/react 1.29.0 → 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 +154 -177
  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 +1 -2
  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 +154 -177
  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 +1 -2
  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
@@ -53,52 +53,43 @@ function Tooltip(_ref) {
53
53
  // This should be placed on the trigger in case the element is disabled
54
54
  onMouseEnter
55
55
  };
56
-
57
56
  function getChildEventHandlers(childProps) {
58
57
  const eventHandlerFunctions = ['onFocus', 'onBlur', 'onClick', 'onMouseEnter'];
59
58
  const eventHandlers = {};
60
59
  eventHandlerFunctions.forEach(functionName => {
61
60
  eventHandlers[functionName] = evt => {
62
61
  triggerProps[functionName]();
63
-
64
- if (childProps !== null && childProps !== void 0 && childProps[functionName]) {
65
- childProps === null || childProps === void 0 ? void 0 : childProps[functionName](evt);
62
+ if (childProps?.[functionName]) {
63
+ childProps?.[functionName](evt);
66
64
  }
67
65
  };
68
66
  });
69
67
  return eventHandlers;
70
68
  }
71
-
72
69
  if (label) {
73
70
  triggerProps['aria-labelledby'] = id;
74
71
  } else {
75
72
  triggerProps['aria-describedby'] = id;
76
73
  }
77
-
78
74
  function onKeyDown(event) {
79
75
  if (open && match.match(event, keys.Escape)) {
80
76
  event.stopPropagation();
81
77
  setOpen(false);
82
78
  }
83
-
84
79
  if (open && closeOnActivation && (match.match(event, keys.Enter) || match.match(event, keys.Space))) {
85
80
  setOpen(false);
86
81
  }
87
82
  }
88
-
89
83
  function onMouseEnter() {
90
84
  setOpen(true, enterDelayMs);
91
85
  }
92
-
93
86
  function onMouseLeave() {
94
87
  setOpen(false, leaveDelayMs);
95
88
  }
96
-
97
89
  useNoInteractiveChildren.useNoInteractiveChildren(tooltipRef, 'The Tooltip component must have no interactive content rendered by the' + '`label` or `description` prop');
98
90
  React.useEffect(() => {
99
91
  if (containerRef !== null && containerRef.current) {
100
92
  const interactiveContent = useNoInteractiveChildren.getInteractiveContent(containerRef.current);
101
-
102
93
  if (!interactiveContent) {
103
94
  setOpen(false);
104
95
  }
@@ -113,7 +104,8 @@ function Tooltip(_ref) {
113
104
  onMouseLeave: onMouseLeave,
114
105
  open: open,
115
106
  ref: containerRef
116
- }), child !== undefined ? /*#__PURE__*/React__default["default"].cloneElement(child, { ...triggerProps,
107
+ }), child !== undefined ? /*#__PURE__*/React__default["default"].cloneElement(child, {
108
+ ...triggerProps,
117
109
  ...getChildEventHandlers(child.props)
118
110
  }) : null, /*#__PURE__*/React__default["default"].createElement(index.PopoverContent, {
119
111
  "aria-hidden": "true",
@@ -123,33 +115,27 @@ function Tooltip(_ref) {
123
115
  role: "tooltip"
124
116
  }, label || description));
125
117
  }
126
-
127
118
  Tooltip.propTypes = {
128
119
  /**
129
120
  * Specify how the trigger should align with the tooltip
130
121
  */
131
122
  align: PropTypes__default["default"].oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top']),
132
-
133
123
  /**
134
124
  * Pass in the child to which the tooltip will be applied
135
125
  */
136
126
  children: PropTypes__default["default"].node,
137
-
138
127
  /**
139
128
  * Specify an optional className to be applied to the container node
140
129
  */
141
130
  className: PropTypes__default["default"].string,
142
-
143
131
  /**
144
132
  * Determines wether the tooltip should close when inner content is activated (click, Enter or Space)
145
133
  */
146
134
  closeOnActivation: PropTypes__default["default"].bool,
147
-
148
135
  /**
149
136
  * Specify whether the tooltip should be open when it first renders
150
137
  */
151
138
  defaultOpen: PropTypes__default["default"].bool,
152
-
153
139
  /**
154
140
  * Provide the description to be rendered inside of the Tooltip. The
155
141
  * description will use `aria-describedby` and will describe the child node
@@ -161,12 +147,10 @@ Tooltip.propTypes = {
161
147
  * description will not be used
162
148
  */
163
149
  description: PropTypes__default["default"].node,
164
-
165
150
  /**
166
151
  * Specify the duration in milliseconds to delay before displaying the tooltip
167
152
  */
168
153
  enterDelayMs: PropTypes__default["default"].number,
169
-
170
154
  /**
171
155
  * Provide the label to be rendered inside of the Tooltip. The label will use
172
156
  * `aria-labelledby` and will fully describe the child node that is provided.
@@ -177,7 +161,6 @@ Tooltip.propTypes = {
177
161
  * used
178
162
  */
179
163
  label: PropTypes__default["default"].node,
180
-
181
164
  /**
182
165
  * Specify the duration in milliseconds to delay before hiding the tooltip
183
166
  */
@@ -75,13 +75,11 @@ function TreeNode(_ref) {
75
75
  const toggleClasses = cx__default["default"](`${prefix}--tree-parent-node__toggle-icon`, {
76
76
  [`${prefix}--tree-parent-node__toggle-icon--expanded`]: expanded
77
77
  });
78
-
79
78
  function handleToggleClick(event) {
80
79
  if (disabled) {
81
80
  return;
82
81
  }
83
-
84
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
82
+ onToggle?.(event, {
85
83
  id,
86
84
  isExpanded: !expanded,
87
85
  label,
@@ -89,53 +87,41 @@ function TreeNode(_ref) {
89
87
  });
90
88
  setExpanded(!expanded);
91
89
  }
92
-
93
90
  function handleClick(event) {
94
91
  event.stopPropagation();
95
-
96
92
  if (!disabled) {
97
- var _rest$onClick;
98
-
99
- onTreeSelect === null || onTreeSelect === void 0 ? void 0 : onTreeSelect(event, {
93
+ onTreeSelect?.(event, {
100
94
  id,
101
95
  label,
102
96
  value
103
97
  });
104
- onNodeSelect === null || onNodeSelect === void 0 ? void 0 : onNodeSelect(event, {
98
+ onNodeSelect?.(event, {
105
99
  id,
106
100
  label,
107
101
  value
108
102
  });
109
- rest === null || rest === void 0 ? void 0 : (_rest$onClick = rest.onClick) === null || _rest$onClick === void 0 ? void 0 : _rest$onClick.call(rest, event);
103
+ rest?.onClick?.(event);
110
104
  }
111
105
  }
112
-
113
106
  function handleKeyDown(event) {
114
- var _rest$onKeyDown;
115
-
116
107
  if (disabled) {
117
108
  return;
118
109
  }
119
-
120
110
  if (match.matches(event, [keys.ArrowLeft, keys.ArrowRight, keys.Enter])) {
121
111
  event.stopPropagation();
122
112
  }
123
-
124
113
  if (match.match(event, keys.ArrowLeft)) {
125
114
  const findParentTreeNode = node => {
126
115
  if (node.classList.contains(`${prefix}--tree-parent-node`)) {
127
116
  return node;
128
117
  }
129
-
130
118
  if (node.classList.contains(`${prefix}--tree`)) {
131
119
  return null;
132
120
  }
133
-
134
121
  return findParentTreeNode(node.parentNode);
135
122
  };
136
-
137
123
  if (children && expanded) {
138
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
124
+ onToggle?.(event, {
139
125
  id,
140
126
  isExpanded: false,
141
127
  label,
@@ -143,16 +129,13 @@ function TreeNode(_ref) {
143
129
  });
144
130
  setExpanded(false);
145
131
  } else {
146
- var _findParentTreeNode;
147
-
148
132
  /**
149
133
  * When focus is on a leaf node or a closed parent node, move focus to
150
134
  * its parent node (unless its depth is level 1)
151
135
  */
152
- (_findParentTreeNode = findParentTreeNode(currentNode.current.parentNode)) === null || _findParentTreeNode === void 0 ? void 0 : _findParentTreeNode.focus();
136
+ findParentTreeNode(currentNode.current.parentNode)?.focus();
153
137
  }
154
138
  }
155
-
156
139
  if (children && match.match(event, keys.ArrowRight)) {
157
140
  if (expanded) {
158
141
  /**
@@ -161,7 +144,7 @@ function TreeNode(_ref) {
161
144
  */
162
145
  currentNode.current.lastChild.firstChild.focus();
163
146
  } else {
164
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(event, {
147
+ onToggle?.(event, {
165
148
  id,
166
149
  isExpanded: true,
167
150
  label,
@@ -170,31 +153,21 @@ function TreeNode(_ref) {
170
153
  setExpanded(true);
171
154
  }
172
155
  }
173
-
174
156
  if (match.matches(event, [keys.Enter, keys.Space])) {
175
157
  event.preventDefault();
176
158
  handleClick(event);
177
159
  }
178
-
179
- rest === null || rest === void 0 ? void 0 : (_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 ? void 0 : _rest$onKeyDown.call(rest, event);
160
+ rest?.onKeyDown?.(event);
180
161
  }
181
-
182
162
  function handleFocusEvent(event) {
183
163
  if (event.type === 'blur') {
184
- var _rest$onBlur;
185
-
186
- rest === null || rest === void 0 ? void 0 : (_rest$onBlur = rest.onBlur) === null || _rest$onBlur === void 0 ? void 0 : _rest$onBlur.call(rest, event);
164
+ rest?.onBlur?.(event);
187
165
  }
188
-
189
166
  if (event.type === 'focus') {
190
- var _rest$onFocus;
191
-
192
- rest === null || rest === void 0 ? void 0 : (_rest$onFocus = rest.onFocus) === null || _rest$onFocus === void 0 ? void 0 : _rest$onFocus.call(rest, event);
167
+ rest?.onFocus?.(event);
193
168
  }
194
-
195
- onNodeFocusEvent === null || onNodeFocusEvent === void 0 ? void 0 : onNodeFocusEvent(event);
169
+ onNodeFocusEvent?.(event);
196
170
  }
197
-
198
171
  React.useEffect(() => {
199
172
  /**
200
173
  * Negative margin shifts node to align with the left side boundary of the
@@ -211,31 +184,28 @@ function TreeNode(_ref) {
211
184
  // parent node with icon
212
185
  if (children && Icon) {
213
186
  return depth + 1 + depth * 0.5;
214
- } // parent node without icon
215
-
216
-
187
+ }
188
+ // parent node without icon
217
189
  if (children) {
218
190
  return depth + 1;
219
- } // leaf node with icon
220
-
221
-
191
+ }
192
+ // leaf node with icon
222
193
  if (Icon) {
223
194
  return depth + 2 + depth * 0.5;
224
- } // leaf node without icon
225
-
226
-
195
+ }
196
+ // leaf node without icon
227
197
  return depth + 2.5;
228
198
  };
229
-
230
199
  if (currentNodeLabel.current) {
231
200
  currentNodeLabel.current.style.marginLeft = `-${calcOffset()}rem`;
232
201
  currentNodeLabel.current.style.paddingLeft = `${calcOffset()}rem`;
233
- } // sync props and state
234
-
202
+ }
235
203
 
204
+ // sync props and state
236
205
  setExpanded(isExpanded);
237
206
  }, [children, depth, Icon, isExpanded]);
238
- const treeNodeProps = { ...rest,
207
+ const treeNodeProps = {
208
+ ...rest,
239
209
  ['aria-current']: isActive || null,
240
210
  ['aria-selected']: disabled ? null : isSelected,
241
211
  ['aria-disabled']: disabled,
@@ -248,7 +218,6 @@ function TreeNode(_ref) {
248
218
  ref: currentNode,
249
219
  role: 'treeitem'
250
220
  };
251
-
252
221
  if (!children) {
253
222
  return /*#__PURE__*/React__default["default"].createElement("li", treeNodeProps, /*#__PURE__*/React__default["default"].createElement("div", {
254
223
  className: `${prefix}--tree-node__label`,
@@ -257,7 +226,6 @@ function TreeNode(_ref) {
257
226
  className: `${prefix}--tree-node__icon`
258
227
  }), label));
259
228
  }
260
-
261
229
  return (
262
230
  /*#__PURE__*/
263
231
  // eslint-disable-next-line jsx-a11y/role-supports-aria-props
@@ -287,68 +255,55 @@ TreeNode.propTypes = {
287
255
  * The value of the active node in the tree
288
256
  */
289
257
  active: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
290
-
291
258
  /**
292
259
  * Specify the children of the TreeNode
293
260
  */
294
261
  children: PropTypes__default["default"].node,
295
-
296
262
  /**
297
263
  * Specify an optional className to be applied to the TreeNode
298
264
  */
299
265
  className: PropTypes__default["default"].string,
300
-
301
266
  /**
302
267
  * TreeNode depth to determine spacing, automatically calculated by default
303
268
  */
304
269
  depth: PropTypes__default["default"].number,
305
-
306
270
  /**
307
271
  * Specify if the TreeNode is disabled
308
272
  */
309
273
  disabled: PropTypes__default["default"].bool,
310
-
311
274
  /**
312
275
  * Specify if the TreeNode is expanded (only applicable to parent nodes)
313
276
  */
314
277
  isExpanded: PropTypes__default["default"].bool,
315
-
316
278
  /**
317
279
  * Rendered label for the TreeNode
318
280
  */
319
281
  label: PropTypes__default["default"].node,
320
-
321
282
  /**
322
283
  * Callback function for when the node receives or loses focus
323
284
  */
324
285
  onNodeFocusEvent: PropTypes__default["default"].func,
325
-
326
286
  /**
327
287
  * Callback function for when the node is selected
328
288
  */
329
289
  onSelect: PropTypes__default["default"].func,
330
-
331
290
  /**
332
291
  * Callback function for when a parent node is expanded or collapsed
333
292
  */
334
293
  onToggle: PropTypes__default["default"].func,
335
-
336
294
  /**
337
295
  * Callback function for when any node in the tree is selected
338
296
  */
339
297
  onTreeSelect: PropTypes__default["default"].func,
340
-
341
298
  /**
342
299
  * Optional prop to allow each node to have an associated icon.
343
300
  * Can be a React component class
344
301
  */
345
302
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
346
-
347
303
  /**
348
304
  * Array containing all selected node IDs in the tree
349
305
  */
350
306
  selected: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])),
351
-
352
307
  /**
353
308
  * Specify the value of the TreeNode
354
309
  */
@@ -45,73 +45,57 @@ function TreeView(_ref) {
45
45
  [`${prefix}--tree--${size}`]: size !== 'default'
46
46
  });
47
47
  const treeRootRef = React.useRef(null);
48
- const treeWalker = React.useRef(treeRootRef === null || treeRootRef === void 0 ? void 0 : treeRootRef.current);
48
+ const treeWalker = React.useRef(treeRootRef?.current);
49
49
  const [selected, setSelected] = React.useState(preselected);
50
50
  const [active, setActive] = React.useState(prespecifiedActive);
51
-
52
51
  function resetNodeTabIndices() {
53
- var _treeRootRef$current;
54
-
55
- 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 => {
52
+ Array.prototype.forEach.call(treeRootRef?.current?.querySelectorAll('[tabIndex="0"]') ?? [], item => {
56
53
  item.tabIndex = -1;
57
54
  });
58
55
  }
59
-
60
56
  function handleTreeSelect(event) {
61
57
  let node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
62
58
  const {
63
59
  id: nodeId
64
60
  } = node;
65
-
66
61
  if (multiselect && (event.metaKey || event.ctrlKey)) {
67
62
  if (!selected.includes(nodeId)) {
68
63
  setSelected(selected.concat(nodeId));
69
64
  } else {
70
65
  setSelected(selected.filter(selectedId => selectedId !== nodeId));
71
66
  }
72
-
73
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, node);
67
+ onSelect?.(event, node);
74
68
  } else {
75
69
  setSelected([nodeId]);
76
70
  setActive(nodeId);
77
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, {
71
+ onSelect?.(event, {
78
72
  activeNodeId: nodeId,
79
73
  ...node
80
74
  });
81
75
  }
82
76
  }
83
-
84
77
  function handleFocusEvent(event) {
85
78
  if (event.type === 'blur') {
86
- var _treeRootRef$current2;
87
-
88
79
  const {
89
80
  relatedTarget: currentFocusedNode,
90
81
  target: prevFocusedNode
91
82
  } = event;
92
-
93
- if (treeRootRef !== null && treeRootRef !== void 0 && (_treeRootRef$current2 = treeRootRef.current) !== null && _treeRootRef$current2 !== void 0 && _treeRootRef$current2.contains(currentFocusedNode)) {
83
+ if (treeRootRef?.current?.contains(currentFocusedNode)) {
94
84
  prevFocusedNode.tabIndex = -1;
95
85
  }
96
86
  }
97
-
98
87
  if (event.type === 'focus') {
99
- var _treeRootRef$current3;
100
-
101
88
  resetNodeTabIndices();
102
89
  const {
103
90
  relatedTarget: prevFocusedNode,
104
91
  target: currentFocusedNode
105
92
  } = event;
106
-
107
- if (treeRootRef !== null && treeRootRef !== void 0 && (_treeRootRef$current3 = treeRootRef.current) !== null && _treeRootRef$current3 !== void 0 && _treeRootRef$current3.contains(prevFocusedNode)) {
93
+ if (treeRootRef?.current?.contains(prevFocusedNode)) {
108
94
  prevFocusedNode.tabIndex = -1;
109
95
  }
110
-
111
96
  currentFocusedNode.tabIndex = 0;
112
97
  }
113
98
  }
114
-
115
99
  let focusTarget = false;
116
100
  const nodesWithProps = React__default["default"].Children.map(children, node => {
117
101
  const sharedNodeProps = {
@@ -122,122 +106,90 @@ function TreeView(_ref) {
122
106
  selected,
123
107
  tabIndex: !node.props.disabled && -1 || null
124
108
  };
125
-
126
109
  if (!focusTarget && !node.props.disabled) {
127
110
  sharedNodeProps.tabIndex = 0;
128
111
  focusTarget = true;
129
112
  }
130
-
131
113
  if ( /*#__PURE__*/React__default["default"].isValidElement(node)) {
132
114
  return /*#__PURE__*/React__default["default"].cloneElement(node, sharedNodeProps);
133
115
  }
134
116
  });
135
-
136
117
  function handleKeyDown(event) {
137
- var _rest$onKeyDown;
138
-
139
118
  event.stopPropagation();
140
-
141
119
  if (match.matches(event, [keys.ArrowUp, keys.ArrowDown, keys.Home, keys.End, {
142
120
  code: 'KeyA'
143
121
  }])) {
144
122
  event.preventDefault();
145
123
  }
146
-
147
124
  treeWalker.current.currentNode = event.target;
148
125
  let nextFocusNode;
149
-
150
126
  if (match.match(event, keys.ArrowUp)) {
151
127
  nextFocusNode = treeWalker.current.previousNode();
152
128
  }
153
-
154
129
  if (match.match(event, keys.ArrowDown)) {
155
130
  nextFocusNode = treeWalker.current.nextNode();
156
131
  }
157
-
158
132
  if (match.matches(event, [keys.Home, keys.End, {
159
133
  code: 'KeyA'
160
134
  }])) {
161
135
  const nodeIds = [];
162
-
163
136
  if (match.matches(event, [keys.Home, keys.End])) {
164
137
  if (multiselect && event.shiftKey && event.ctrlKey && !treeWalker.current.currentNode.getAttribute('aria-disabled')) {
165
- var _treeWalker$current$c;
166
-
167
- nodeIds.push((_treeWalker$current$c = treeWalker.current.currentNode) === null || _treeWalker$current$c === void 0 ? void 0 : _treeWalker$current$c.id);
138
+ nodeIds.push(treeWalker.current.currentNode?.id);
168
139
  }
169
-
170
140
  while (match.match(event, keys.Home) ? treeWalker.current.previousNode() : treeWalker.current.nextNode()) {
171
141
  nextFocusNode = treeWalker.current.currentNode;
172
-
173
142
  if (multiselect && event.shiftKey && event.ctrlKey && !nextFocusNode.getAttribute('aria-disabled')) {
174
- var _nextFocusNode;
175
-
176
- nodeIds.push((_nextFocusNode = nextFocusNode) === null || _nextFocusNode === void 0 ? void 0 : _nextFocusNode.id);
143
+ nodeIds.push(nextFocusNode?.id);
177
144
  }
178
145
  }
179
146
  }
180
-
181
147
  if (match.match(event, {
182
148
  code: 'KeyA'
183
149
  }) && event.ctrlKey) {
184
150
  treeWalker.current.currentNode = treeWalker.current.root;
185
-
186
151
  while (treeWalker.current.nextNode()) {
187
152
  if (!treeWalker.current.currentNode.getAttribute('aria-disabled')) {
188
- var _treeWalker$current$c2;
189
-
190
- nodeIds.push((_treeWalker$current$c2 = treeWalker.current.currentNode) === null || _treeWalker$current$c2 === void 0 ? void 0 : _treeWalker$current$c2.id);
153
+ nodeIds.push(treeWalker.current.currentNode?.id);
191
154
  }
192
155
  }
193
156
  }
194
-
195
157
  setSelected(selected.concat(nodeIds));
196
158
  }
197
-
198
159
  if (nextFocusNode && nextFocusNode !== event.target) {
199
160
  resetNodeTabIndices();
200
161
  nextFocusNode.tabIndex = 0;
201
162
  nextFocusNode.focus();
202
163
  }
203
-
204
- rest === null || rest === void 0 ? void 0 : (_rest$onKeyDown = rest.onKeyDown) === null || _rest$onKeyDown === void 0 ? void 0 : _rest$onKeyDown.call(rest, event);
164
+ rest?.onKeyDown?.(event);
205
165
  }
206
-
207
166
  React.useEffect(() => {
208
- treeWalker.current = treeWalker.current ?? document.createTreeWalker(treeRootRef === null || treeRootRef === void 0 ? void 0 : treeRootRef.current, NodeFilter.SHOW_ELEMENT, {
167
+ treeWalker.current = treeWalker.current ?? document.createTreeWalker(treeRootRef?.current, NodeFilter.SHOW_ELEMENT, {
209
168
  acceptNode: function (node) {
210
169
  if (node.classList.contains(`${prefix}--tree-node--disabled`)) {
211
170
  return NodeFilter.FILTER_REJECT;
212
171
  }
213
-
214
172
  if (node.matches(`li.${prefix}--tree-node`)) {
215
173
  return NodeFilter.FILTER_ACCEPT;
216
174
  }
217
-
218
175
  return NodeFilter.FILTER_SKIP;
219
176
  }
220
177
  });
221
178
  }, [prefix]);
222
-
223
179
  const useActiveAndSelectedOnMount = () => React.useEffect(() => {
224
180
  if (preselected.length) {
225
181
  setSelected(preselected);
226
182
  }
227
-
228
183
  if (prespecifiedActive) {
229
184
  setActive(prespecifiedActive);
230
185
  }
231
186
  }, []);
232
-
233
187
  useActiveAndSelectedOnMount();
234
188
  const labelId = `${treeId}__label`;
235
-
236
189
  const TreeLabel = () => !hideLabel && /*#__PURE__*/React__default["default"].createElement("label", {
237
190
  id: labelId,
238
191
  className: `${prefix}--label`
239
192
  }, label);
240
-
241
193
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TreeLabel, null), /*#__PURE__*/React__default["default"].createElement("ul", _rollupPluginBabelHelpers["extends"]({}, rest, {
242
194
  "aria-label": hideLabel ? label : null,
243
195
  "aria-labelledby": !hideLabel ? labelId : null,
@@ -253,43 +205,35 @@ TreeView.propTypes = {
253
205
  * Mark the active node in the tree, represented by its value
254
206
  */
255
207
  active: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
256
-
257
208
  /**
258
209
  * Specify the children of the TreeView
259
210
  */
260
211
  children: PropTypes__default["default"].node,
261
-
262
212
  /**
263
213
  * Specify an optional className to be applied to the TreeView
264
214
  */
265
215
  className: PropTypes__default["default"].string,
266
-
267
216
  /**
268
217
  * Specify whether or not the label should be hidden
269
218
  */
270
219
  hideLabel: PropTypes__default["default"].bool,
271
-
272
220
  /**
273
221
  * Provide the label text that will be read by a screen reader
274
222
  */
275
223
  label: PropTypes__default["default"].string.isRequired,
276
-
277
224
  /**
278
225
  * **[Experimental]** Specify the selection mode of the tree.
279
226
  * If `multiselect` is `false` then only one node can be selected at a time
280
227
  */
281
228
  multiselect: PropTypes__default["default"].bool,
282
-
283
229
  /**
284
230
  * Callback function that is called when any node is selected
285
231
  */
286
232
  onSelect: PropTypes__default["default"].func,
287
-
288
233
  /**
289
234
  * Array representing all selected node IDs in the tree
290
235
  */
291
236
  selected: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])),
292
-
293
237
  /**
294
238
  * Specify the size of the tree from a list of available sizes.
295
239
  */
@@ -29,22 +29,20 @@ const Content = _ref => {
29
29
  } = _ref;
30
30
  const prefix = usePrefix.usePrefix();
31
31
  const className = cx__default["default"](`${prefix}--content`, customClassName);
32
- return /*#__PURE__*/React__default["default"].createElement(tagName, { ...rest,
32
+ return /*#__PURE__*/React__default["default"].createElement(tagName, {
33
+ ...rest,
33
34
  className
34
35
  }, children);
35
36
  };
36
-
37
37
  Content.propTypes = {
38
38
  /**
39
39
  * Provide children nodes to be rendered in the content container
40
40
  */
41
41
  children: PropTypes__default["default"].node,
42
-
43
42
  /**
44
43
  * Optionally provide a custom class name that is applied to the container
45
44
  */
46
45
  className: PropTypes__default["default"].string,
47
-
48
46
  /**
49
47
  * Optionally specify the tag of the content node. Defaults to `main`
50
48
  */
@@ -34,13 +34,11 @@ const Header = _ref => {
34
34
  className: className
35
35
  }), children);
36
36
  };
37
-
38
37
  Header.propTypes = {
39
38
  /**
40
39
  * Required props for the accessibility label of the header
41
40
  */
42
41
  ...AriaPropTypes.AriaLabelPropType,
43
-
44
42
  /**
45
43
  * Optionally provide a custom class name that is applied to the underlying <header>
46
44
  */