@carbon/react 1.29.1 → 1.30.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 +153 -175
  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 +5 -12
  75. package/es/components/FileUploader/Filename.js +6 -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 +1 -46
  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 +153 -175
  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 +5 -31
  361. package/lib/components/FileUploader/Filename.js +6 -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 +1 -46
  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
@@ -21,6 +21,7 @@ var mergeRefs = require('../../tools/mergeRefs.js');
21
21
  var usePrefix = require('../../internal/usePrefix.js');
22
22
  var deprecate = require('../../prop-types/deprecate.js');
23
23
  var index = require('../IconButton/index.js');
24
+ var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
24
25
  var match = require('../../internal/keyboard/match.js');
25
26
  var keys = require('../../internal/keyboard/keys.js');
26
27
 
@@ -31,59 +32,54 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
31
32
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
32
33
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
33
34
 
35
+ const getInstanceId = setupGetInstanceId["default"]();
34
36
  const on = function (element) {
35
37
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
36
38
  args[_key - 1] = arguments[_key];
37
39
  }
38
-
39
40
  element.addEventListener(...args);
40
41
  return {
41
42
  release() {
42
43
  element.removeEventListener(...args);
43
44
  return null;
44
45
  }
45
-
46
46
  };
47
47
  };
48
+
48
49
  /**
49
50
  * The CSS property names of the arrow keyed by the floating menu direction.
50
51
  * @type {Object<string, string>}
51
52
  */
52
-
53
-
54
53
  const triggerButtonPositionProps = {
55
54
  [FloatingMenu.DIRECTION_TOP]: 'bottom',
56
55
  [FloatingMenu.DIRECTION_BOTTOM]: 'top'
57
56
  };
57
+
58
58
  /**
59
59
  * Determines how the position of arrow should affect the floating menu position.
60
60
  * @type {Object<string, number>}
61
61
  */
62
-
63
62
  const triggerButtonPositionFactors = {
64
63
  [FloatingMenu.DIRECTION_TOP]: -2,
65
64
  [FloatingMenu.DIRECTION_BOTTOM]: -1
66
65
  };
66
+
67
67
  /**
68
68
  * @param {Element} menuBody The menu body with the menu arrow.
69
69
  * @param {string} direction The floating menu direction.
70
70
  * @returns {FloatingMenu~offset} The adjustment of the floating menu position, upon the position of the menu arrow.
71
71
  * @private
72
72
  */
73
-
74
73
  const getMenuOffset = (menuBody, direction, trigger, flip) => {
75
74
  const triggerButtonPositionProp = triggerButtonPositionProps[direction];
76
75
  const triggerButtonPositionFactor = triggerButtonPositionFactors[direction];
77
-
78
76
  if (process.env.NODE_ENV !== "production") {
79
77
  !(triggerButtonPositionProp && triggerButtonPositionFactor) ? process.env.NODE_ENV !== "production" ? invariant__default["default"](false, '[OverflowMenu] wrong floating menu direction: `%s`', direction) : invariant__default["default"](false) : void 0;
80
78
  }
81
-
82
79
  const {
83
80
  offsetWidth: menuWidth,
84
81
  offsetHeight: menuHeight
85
82
  } = menuBody;
86
-
87
83
  switch (triggerButtonPositionProp) {
88
84
  case 'top':
89
85
  case 'bottom':
@@ -95,7 +91,6 @@ const getMenuOffset = (menuBody, direction, trigger, flip) => {
95
91
  top: 0
96
92
  };
97
93
  }
98
-
99
94
  case 'left':
100
95
  case 'right':
101
96
  {
@@ -108,22 +103,16 @@ const getMenuOffset = (menuBody, direction, trigger, flip) => {
108
103
  }
109
104
  }
110
105
  };
111
-
112
106
  class OverflowMenu extends React.Component {
113
107
  constructor() {
114
108
  super(...arguments);
115
-
116
109
  _rollupPluginBabelHelpers.defineProperty(this, "state", {});
117
-
110
+ _rollupPluginBabelHelpers.defineProperty(this, "instanceId", getInstanceId());
118
111
  _rollupPluginBabelHelpers.defineProperty(this, "_hFocusIn", null);
119
-
120
112
  _rollupPluginBabelHelpers.defineProperty(this, "_hBlurTimeout", void 0);
121
-
122
113
  _rollupPluginBabelHelpers.defineProperty(this, "_triggerRef", /*#__PURE__*/React__default["default"].createRef());
123
-
124
114
  _rollupPluginBabelHelpers.defineProperty(this, "handleClick", evt => {
125
115
  evt.stopPropagation();
126
-
127
116
  if (!this._menuBody || !this._menuBody.contains(evt.target)) {
128
117
  this.setState({
129
118
  open: !this.state.open
@@ -131,7 +120,6 @@ class OverflowMenu extends React.Component {
131
120
  this.props.onClick(evt);
132
121
  }
133
122
  });
134
-
135
123
  _rollupPluginBabelHelpers.defineProperty(this, "closeMenuAndFocus", () => {
136
124
  let wasOpen = this.state.open;
137
125
  this.closeMenu(() => {
@@ -140,26 +128,24 @@ class OverflowMenu extends React.Component {
140
128
  }
141
129
  });
142
130
  });
143
-
144
131
  _rollupPluginBabelHelpers.defineProperty(this, "handleKeyPress", evt => {
145
132
  if (this.state.open && match.matches(evt, [keys.ArrowUp, keys.ArrowRight, keys.ArrowDown, keys.ArrowLeft])) {
146
133
  evt.preventDefault();
147
- } // Close the overflow menu on escape
148
-
134
+ }
149
135
 
136
+ // Close the overflow menu on escape
150
137
  if (match.matches(evt, [keys.Escape])) {
151
- this.closeMenuAndFocus(); // Stop the esc keypress from bubbling out and closing something it shouldn't
138
+ this.closeMenuAndFocus();
152
139
 
140
+ // Stop the esc keypress from bubbling out and closing something it shouldn't
153
141
  evt.stopPropagation();
154
142
  }
155
143
  });
156
-
157
144
  _rollupPluginBabelHelpers.defineProperty(this, "handleClickOutside", evt => {
158
145
  if (this.state.open && (!this._menuBody || !this._menuBody.contains(evt.target))) {
159
146
  this.closeMenu();
160
147
  }
161
148
  });
162
-
163
149
  _rollupPluginBabelHelpers.defineProperty(this, "closeMenu", onCloseMenu => {
164
150
  this.setState({
165
151
  open: false
@@ -168,21 +154,17 @@ class OverflowMenu extends React.Component {
168
154
  if (onCloseMenu) {
169
155
  onCloseMenu();
170
156
  }
171
-
172
157
  this.props.onClose();
173
158
  });
174
159
  });
175
-
176
160
  _rollupPluginBabelHelpers.defineProperty(this, "focusMenuEl", () => {
177
161
  const {
178
162
  current: triggerEl
179
163
  } = this._triggerRef;
180
-
181
164
  if (triggerEl) {
182
165
  triggerEl.focus();
183
166
  }
184
167
  });
185
-
186
168
  _rollupPluginBabelHelpers.defineProperty(this, "handleOverflowMenuItemFocus", _ref => {
187
169
  let {
188
170
  currentIndex,
@@ -192,39 +174,30 @@ class OverflowMenu extends React.Component {
192
174
  if (!curr.props.disabled) {
193
175
  acc.push(i);
194
176
  }
195
-
196
177
  return acc;
197
178
  }, []);
198
-
199
179
  const nextValidIndex = (() => {
200
180
  const nextIndex = enabledIndices.indexOf(currentIndex) + direction;
201
-
202
181
  switch (nextIndex) {
203
182
  case -1:
204
183
  return enabledIndices.length - 1;
205
-
206
184
  case enabledIndices.length:
207
185
  return 0;
208
-
209
186
  default:
210
187
  return nextIndex;
211
188
  }
212
189
  })();
213
-
214
190
  const overflowMenuItem = this[`overflowMenuItem${enabledIndices[nextValidIndex]}`];
215
- overflowMenuItem === null || overflowMenuItem === void 0 ? void 0 : overflowMenuItem.focus();
191
+ overflowMenuItem?.focus();
216
192
  });
217
-
218
193
  _rollupPluginBabelHelpers.defineProperty(this, "_bindMenuBody", menuBody => {
219
194
  if (!menuBody) {
220
195
  this._menuBody = menuBody;
221
196
  }
222
-
223
197
  if (!menuBody && this._hFocusIn) {
224
198
  this._hFocusIn = this._hFocusIn.release();
225
199
  }
226
200
  });
227
-
228
201
  _rollupPluginBabelHelpers.defineProperty(this, "_handlePlace", menuBody => {
229
202
  if (menuBody) {
230
203
  this._menuBody = menuBody;
@@ -235,7 +208,6 @@ class OverflowMenu extends React.Component {
235
208
  const {
236
209
  current: triggerEl
237
210
  } = this._triggerRef;
238
-
239
211
  if (typeof target.matches === 'function') {
240
212
  if (!menuBody.contains(target) && triggerEl && !target.matches(`.${this.context}--overflow-menu,.${this.context}--overflow-menu-options`)) {
241
213
  this.closeMenuAndFocus();
@@ -245,7 +217,6 @@ class OverflowMenu extends React.Component {
245
217
  this.props.onOpen();
246
218
  }
247
219
  });
248
-
249
220
  _rollupPluginBabelHelpers.defineProperty(this, "_getTarget", () => {
250
221
  const {
251
222
  current: triggerEl
@@ -253,17 +224,27 @@ class OverflowMenu extends React.Component {
253
224
  return triggerEl && triggerEl.closest('[data-floating-menu-container]') || document.body;
254
225
  });
255
226
  }
256
-
227
+ /**
228
+ * The handle of `onfocusin` or `focus` event handler.
229
+ * @private
230
+ */
231
+ /**
232
+ * The timeout handle for handling `blur` event.
233
+ * @private
234
+ */
235
+ /**
236
+ * The element ref of the tooltip's trigger button.
237
+ * @type {React.RefObject<Element>}
238
+ * @private
239
+ */
257
240
  componentDidUpdate(_, prevState) {
258
241
  const {
259
242
  onClose
260
243
  } = this.props;
261
-
262
244
  if (!this.state.open && prevState.open) {
263
245
  onClose();
264
246
  }
265
247
  }
266
-
267
248
  componentDidMount() {
268
249
  // ensure that if open=true on first render, we wait
269
250
  // to render the floating menu until the trigger ref is not null
@@ -273,7 +254,6 @@ class OverflowMenu extends React.Component {
273
254
  });
274
255
  }
275
256
  }
276
-
277
257
  static getDerivedStateFromProps(_ref2, state) {
278
258
  let {
279
259
  open
@@ -286,7 +266,6 @@ class OverflowMenu extends React.Component {
286
266
  prevOpen: open
287
267
  };
288
268
  }
289
-
290
269
  componentWillUnmount() {
291
270
  if (typeof this._hBlurTimeout === 'number') {
292
271
  clearTimeout(this._hBlurTimeout);
@@ -294,6 +273,33 @@ class OverflowMenu extends React.Component {
294
273
  }
295
274
  }
296
275
 
276
+ /**
277
+ * Focuses the next enabled overflow menu item given the currently focused
278
+ * item index and direction to move
279
+ * @param {object} params
280
+ * @param {number} params.currentIndex - the index of the currently focused
281
+ * overflow menu item in the list of overflow menu items
282
+ * @param {number} params.direction - number denoting the direction to move
283
+ * focus (1 for forwards, -1 for backwards)
284
+ */
285
+
286
+ /**
287
+ * Handles the floating menu being unmounted or non-floating menu being
288
+ * mounted or unmounted.
289
+ * @param {Element} menuBody The DOM element of the menu body.
290
+ * @private
291
+ */
292
+
293
+ /**
294
+ * Handles the floating menu being placed.
295
+ * @param {Element} menuBody The DOM element of the menu body.
296
+ * @private
297
+ */
298
+
299
+ /**
300
+ * @returns {Element} The DOM element where the floating menu is placed in.
301
+ */
302
+
297
303
  render() {
298
304
  const prefix = this.context;
299
305
  const {
@@ -337,24 +343,22 @@ class OverflowMenu extends React.Component {
337
343
  [`${prefix}--overflow-menu-options--${size}`]: size
338
344
  });
339
345
  const overflowMenuIconClasses = cx__default["default"](`${prefix}--overflow-menu__icon`, iconClass);
340
- const childrenWithProps = React__default["default"].Children.toArray(children).map((child, index) => {
341
- var _child$props;
342
-
343
- return /*#__PURE__*/React__default["default"].cloneElement(child, {
344
- closeMenu: (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.closeMenu) || this.closeMenuAndFocus,
345
- handleOverflowMenuItemFocus: this.handleOverflowMenuItemFocus,
346
- ref: e => {
347
- this[`overflowMenuItem${index}`] = e;
348
- },
349
- index
350
- });
351
- });
346
+ const childrenWithProps = React__default["default"].Children.toArray(children).map((child, index) => /*#__PURE__*/React__default["default"].cloneElement(child, {
347
+ closeMenu: child?.props?.closeMenu || this.closeMenuAndFocus,
348
+ handleOverflowMenuItemFocus: this.handleOverflowMenuItemFocus,
349
+ ref: e => {
350
+ this[`overflowMenuItem${index}`] = e;
351
+ },
352
+ index
353
+ }));
354
+ const menuBodyId = `overflow-menu-${this.instanceId}__menu-body`;
352
355
  const menuBody = /*#__PURE__*/React__default["default"].createElement("ul", {
353
356
  className: overflowMenuOptionsClasses,
354
357
  tabIndex: "-1",
355
358
  role: "menu",
356
359
  "aria-label": ariaLabel || deprecatedAriaLabel,
357
- onKeyDown: this.handleKeyPress
360
+ onKeyDown: this.handleKeyPress,
361
+ id: menuBodyId
358
362
  }, childrenWithProps);
359
363
  const wrappedMenuBody = /*#__PURE__*/React__default["default"].createElement(FloatingMenu["default"], {
360
364
  focusTrap: focusTrap,
@@ -376,11 +380,13 @@ class OverflowMenu extends React.Component {
376
380
  return /*#__PURE__*/React__default["default"].createElement(ClickListener["default"], {
377
381
  onClickOutside: this.handleClickOutside
378
382
  }, /*#__PURE__*/React__default["default"].createElement("span", {
379
- className: `${prefix}--overflow-menu__wrapper`
383
+ className: `${prefix}--overflow-menu__wrapper`,
384
+ "aria-owns": open ? menuBodyId : null
380
385
  }, /*#__PURE__*/React__default["default"].createElement(index.IconButton, _rollupPluginBabelHelpers["extends"]({}, other, {
381
386
  type: "button",
382
387
  "aria-haspopup": true,
383
388
  "aria-expanded": this.state.open,
389
+ "aria-controls": open ? menuBodyId : null,
384
390
  className: overflowMenuClasses,
385
391
  onClick: this.handleClick,
386
392
  id: id,
@@ -389,67 +395,54 @@ class OverflowMenu extends React.Component {
389
395
  label: iconDescription
390
396
  }), /*#__PURE__*/React__default["default"].createElement(IconElement, iconProps)), open && this.state.hasMountedTrigger && wrappedMenuBody));
391
397
  }
392
-
393
398
  }
394
-
395
399
  _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "propTypes", {
396
400
  /**
397
401
  * Specify a label to be read by screen readers on the container node
398
402
  */
399
403
  ['aria-label']: PropTypes__default["default"].string,
400
-
401
404
  /**
402
405
  * Deprecated, please use `aria-label` instead.
403
406
  * Specify a label to be read by screen readers on the container note.
404
407
  */
405
408
  ariaLabel: deprecate["default"](PropTypes__default["default"].string, 'This prop syntax has been deprecated. Please use the new `aria-label`.'),
406
-
407
409
  /**
408
410
  * The child nodes.
409
411
  */
410
412
  children: PropTypes__default["default"].node,
411
-
412
413
  /**
413
414
  * The CSS class names.
414
415
  */
415
416
  className: PropTypes__default["default"].string,
416
-
417
417
  /**
418
418
  * The menu direction.
419
419
  */
420
420
  direction: PropTypes__default["default"].oneOf([FloatingMenu.DIRECTION_TOP, FloatingMenu.DIRECTION_BOTTOM]),
421
-
422
421
  /**
423
422
  * `true` if the menu alignment should be flipped.
424
423
  */
425
424
  flipped: PropTypes__default["default"].bool,
426
-
427
425
  /**
428
426
  * Enable or disable focus trap behavior
429
427
  */
430
428
  focusTrap: PropTypes__default["default"].bool,
431
-
432
429
  /**
433
430
  * The CSS class for the icon.
434
431
  */
435
432
  iconClass: PropTypes__default["default"].string,
436
-
437
433
  /**
438
434
  * The icon description.
439
435
  */
440
436
  iconDescription: PropTypes__default["default"].string.isRequired,
441
-
442
437
  /**
443
438
  * The element ID.
444
439
  */
445
440
  id: PropTypes__default["default"].string,
446
-
447
441
  /**
448
442
  * `true` to use the light version. For use on $ui-01 backgrounds only.
449
443
  * Don't use this to make OverflowMenu background color same as container background color.
450
444
  */
451
445
  light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `OverflowMenu` is no longer needed and has been deprecated. It will be removed in the next major release. Use the Layer component instead.'),
452
-
453
446
  /**
454
447
  * The adjustment in position applied to the floating menu.
455
448
  */
@@ -457,7 +450,6 @@ _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "propTypes", {
457
450
  top: PropTypes__default["default"].number,
458
451
  left: PropTypes__default["default"].number
459
452
  }), PropTypes__default["default"].func]),
460
-
461
453
  /**
462
454
  * The adjustment in position applied to the floating menu.
463
455
  */
@@ -465,61 +457,49 @@ _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "propTypes", {
465
457
  top: PropTypes__default["default"].number,
466
458
  left: PropTypes__default["default"].number
467
459
  }), PropTypes__default["default"].func]),
468
-
469
460
  /**
470
461
  * The class to apply to the menu options
471
462
  */
472
463
  menuOptionsClass: PropTypes__default["default"].string,
473
-
474
464
  /**
475
465
  * The event handler for the `click` event.
476
466
  */
477
467
  onClick: PropTypes__default["default"].func,
478
-
479
468
  /**
480
469
  * Function called when menu is closed
481
470
  */
482
471
  onClose: PropTypes__default["default"].func,
483
-
484
472
  /**
485
473
  * The event handler for the `focus` event.
486
474
  */
487
475
  onFocus: PropTypes__default["default"].func,
488
-
489
476
  /**
490
477
  * The event handler for the `keydown` event.
491
478
  */
492
479
  onKeyDown: PropTypes__default["default"].func,
493
-
494
480
  /**
495
481
  * Function called when menu is opened
496
482
  */
497
483
  onOpen: PropTypes__default["default"].func,
498
-
499
484
  /**
500
485
  * `true` if the menu should be open.
501
486
  */
502
487
  open: PropTypes__default["default"].bool,
503
-
504
488
  /**
505
489
  * Function called to override icon rendering.
506
490
  */
507
491
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
508
-
509
492
  /**
510
493
  * Specify a CSS selector that matches the DOM element that should
511
494
  * be focused when the OverflowMenu opens
512
495
  */
513
496
  selectorPrimaryFocus: PropTypes__default["default"].string,
514
-
515
497
  /**
516
498
  * Specify the size of the OverflowMenu. Currently supports either `sm`, 'md' (default) or 'lg` as an option.
517
499
  */
518
500
  size: PropTypes__default["default"].oneOf(['sm', 'md', 'lg'])
519
501
  });
520
-
521
502
  _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "contextType", usePrefix.PrefixContext);
522
-
523
503
  _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "defaultProps", {
524
504
  ['aria-label']: null,
525
505
  iconDescription: 'Options',
@@ -540,7 +520,6 @@ _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "defaultProps", {
540
520
  const forwardRef = (props, ref) => /*#__PURE__*/React__default["default"].createElement(OverflowMenu, _rollupPluginBabelHelpers["extends"]({}, props, {
541
521
  innerRef: ref
542
522
  }));
543
-
544
523
  forwardRef.displayName = 'OverflowMenu';
545
524
  return /*#__PURE__*/React__default["default"].forwardRef(forwardRef);
546
525
  })();
@@ -43,35 +43,29 @@ const OverflowMenuItem = /*#__PURE__*/React__default["default"].forwardRef(funct
43
43
  ...rest
44
44
  } = _ref;
45
45
  const prefix = usePrefix.usePrefix();
46
-
47
46
  function setTabFocus(evt) {
48
47
  if (match.match(evt, keys.ArrowDown)) {
49
- handleOverflowMenuItemFocus === null || handleOverflowMenuItemFocus === void 0 ? void 0 : handleOverflowMenuItemFocus({
48
+ handleOverflowMenuItemFocus?.({
50
49
  currentIndex: index,
51
50
  direction: 1
52
51
  });
53
52
  }
54
-
55
53
  if (match.match(evt, keys.ArrowUp)) {
56
- handleOverflowMenuItemFocus === null || handleOverflowMenuItemFocus === void 0 ? void 0 : handleOverflowMenuItemFocus({
54
+ handleOverflowMenuItemFocus?.({
57
55
  currentIndex: index,
58
56
  direction: -1
59
57
  });
60
58
  }
61
59
  }
62
-
63
60
  function handleClick(evt) {
64
61
  onClick(evt);
65
-
66
62
  if (closeMenu) {
67
63
  closeMenu();
68
64
  }
69
65
  }
70
-
71
66
  if (process.env.NODE_ENV !== "production") {
72
67
  process.env.NODE_ENV !== "production" ? warning.warning(closeMenu, '`<OverflowMenuItem>` detected missing `closeMenu` prop. ' + '`closeMenu` is required to let `<OverflowMenu>` close the menu upon actions on `<OverflowMenuItem>`. ' + 'Please make sure `<OverflowMenuItem>` is a direct child of `<OverflowMenu>.') : void 0;
73
68
  }
74
-
75
69
  const overflowMenuBtnClasses = cx__default["default"](`${prefix}--overflow-menu-options__btn`, className);
76
70
  const overflowMenuItemClasses = cx__default["default"](`${prefix}--overflow-menu-options__option`, {
77
71
  [`${prefix}--overflow-menu--divider`]: hasDivider,
@@ -79,17 +73,14 @@ const OverflowMenuItem = /*#__PURE__*/React__default["default"].forwardRef(funct
79
73
  [`${prefix}--overflow-menu-options__option--disabled`]: disabled
80
74
  }, wrapperClassName);
81
75
  const TagToUse = href ? 'a' : 'button';
82
-
83
76
  const OverflowMenuItemContent = (() => {
84
77
  if (typeof itemText !== 'string') {
85
78
  return itemText;
86
79
  }
87
-
88
80
  return /*#__PURE__*/React__default["default"].createElement("div", {
89
81
  className: `${prefix}--overflow-menu-options__option-content`
90
82
  }, itemText);
91
83
  })();
92
-
93
84
  return /*#__PURE__*/React__default["default"].createElement("li", {
94
85
  className: overflowMenuItemClasses,
95
86
  role: "none"
@@ -102,12 +93,14 @@ const OverflowMenuItem = /*#__PURE__*/React__default["default"].forwardRef(funct
102
93
  setTabFocus(evt);
103
94
  onKeyDown(evt);
104
95
  },
105
- role: "menuitem" // ref as any: the type of `ref` is `ForwardedRef<HTMLButtonElement>` in `Button` component
96
+ role: "menuitem"
97
+ // ref as any: the type of `ref` is `ForwardedRef<HTMLButtonElement>` in `Button` component
106
98
  // but `OverflowMenuItem` can be rendered as `a` tag as well, which is `HTMLAnchorElement`
107
99
  // so we have to use `any` here
108
100
  ,
109
101
  ref: ref,
110
- tabIndex: -1 // itemText as any: itemText may be a ReactNode, but `title` only accepts string
102
+ tabIndex: -1
103
+ // itemText as any: itemText may be a ReactNode, but `title` only accepts string
111
104
  // to avoid compatibility issue, we use `any` here. Consider to enforce `itemText` to be `string?`
112
105
  // in the next major release
113
106
  ,
@@ -119,39 +112,32 @@ OverflowMenuItem.propTypes = {
119
112
  * The CSS class name to be placed on the button element
120
113
  */
121
114
  className: PropTypes__default["default"].string,
122
-
123
115
  /**
124
116
  * A callback to tell the parent menu component that the menu should be closed.
125
117
  */
126
118
  closeMenu: PropTypes__default["default"].func,
127
-
128
119
  /**
129
120
  * `true` to make this menu item disabled.
130
121
  */
131
122
  disabled: PropTypes__default["default"].bool,
132
123
  handleOverflowMenuItemFocus: PropTypes__default["default"].func,
133
-
134
124
  /**
135
125
  * `true` to make this menu item a divider.
136
126
  */
137
127
  hasDivider: PropTypes__default["default"].bool,
138
-
139
128
  /**
140
129
  * If given, overflow item will render as a link with the given href
141
130
  */
142
131
  href: PropTypes__default["default"].string,
143
132
  index: PropTypes__default["default"].number,
144
-
145
133
  /**
146
134
  * `true` to make this menu item a "danger button".
147
135
  */
148
136
  isDelete: PropTypes__default["default"].bool,
149
-
150
137
  /**
151
138
  * The text in the menu item.
152
139
  */
153
140
  itemText: PropTypes__default["default"].node.isRequired,
154
-
155
141
  /**
156
142
  * event handlers
157
143
  */
@@ -164,17 +150,14 @@ OverflowMenuItem.propTypes = {
164
150
  onMouseEnter: PropTypes__default["default"].func,
165
151
  onMouseLeave: PropTypes__default["default"].func,
166
152
  onMouseUp: PropTypes__default["default"].func,
167
-
168
153
  /**
169
154
  * `true` if this menu item has long text and requires a browser tooltip
170
155
  */
171
156
  requireTitle: PropTypes__default["default"].bool,
172
-
173
157
  /**
174
158
  * Specify a title for the OverflowMenuItem
175
159
  */
176
160
  title: PropTypes__default["default"].string,
177
-
178
161
  /**
179
162
  * The CSS class name to be placed on the wrapper list item element
180
163
  */
@@ -26,7 +26,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
26
26
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
27
 
28
28
  const defaultSize = 'md';
29
-
30
29
  function OverflowMenuV2(_ref) {
31
30
  let {
32
31
  children,
@@ -73,23 +72,19 @@ function OverflowMenuV2(_ref) {
73
72
  y: y
74
73
  }, children));
75
74
  }
76
-
77
75
  OverflowMenuV2.propTypes = {
78
76
  /**
79
77
  * A collection of MenuItems to be rendered within this OverflowMenu.
80
78
  */
81
79
  children: PropTypes__default["default"].node,
82
-
83
80
  /**
84
81
  * Additional CSS class names for the trigger button.
85
82
  */
86
83
  className: PropTypes__default["default"].string,
87
-
88
84
  /**
89
85
  * Otionally provide a custom icon to be rendered on the trigger button.
90
86
  */
91
87
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
92
-
93
88
  /**
94
89
  * Specify the size of the menu, from a list of available sizes.
95
90
  */
@@ -23,7 +23,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
23
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
24
 
25
25
  var _SkeletonText, _SkeletonText2, _SkeletonText3, _SkeletonText4;
26
-
27
26
  function PaginationSkeleton(_ref) {
28
27
  let {
29
28
  className,
@@ -46,7 +45,6 @@ function PaginationSkeleton(_ref) {
46
45
  width: "70px"
47
46
  }))));
48
47
  }
49
-
50
48
  PaginationSkeleton.propTypes = {
51
49
  /**
52
50
  * Specify an optional className to add.