@carbon/react 1.27.0 → 1.28.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 (591) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -313
  2. package/es/components/Accordion/Accordion.Skeleton.js +28 -30
  3. package/es/components/Accordion/Accordion.js +18 -21
  4. package/es/components/Accordion/AccordionItem.js +37 -49
  5. package/es/components/AspectRatio/AspectRatio.js +10 -12
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +10 -11
  7. package/es/components/Breadcrumb/Breadcrumb.js +14 -13
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +24 -22
  9. package/es/components/Button/Button.Skeleton.js +25 -23
  10. package/es/components/Button/Button.js +77 -72
  11. package/es/components/ButtonSet/ButtonSet.js +12 -10
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +10 -11
  13. package/es/components/Checkbox/Checkbox.js +55 -52
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +33 -31
  15. package/es/components/ClassPrefix/index.js +4 -2
  16. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +15 -14
  17. package/es/components/CodeSnippet/CodeSnippet.js +199 -102
  18. package/es/components/ComboBox/ComboBox.js +349 -178
  19. package/es/components/ComboBox/tools/filter.js +6 -4
  20. package/es/components/ComboButton/index.js +38 -43
  21. package/es/components/ComposedModal/ComposedModal.js +187 -85
  22. package/es/components/ComposedModal/ModalFooter.js +54 -49
  23. package/es/components/ComposedModal/ModalHeader.js +39 -26
  24. package/es/components/ContainedList/ContainedList.js +18 -17
  25. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  26. package/es/components/ContentSwitcher/ContentSwitcher.js +83 -98
  27. package/es/components/ContentSwitcher/index.js +1 -1
  28. package/es/components/ContextMenu/useContextMenu.js +12 -21
  29. package/es/components/Copy/Copy.js +24 -29
  30. package/es/components/CopyButton/CopyButton.js +10 -10
  31. package/es/components/DangerButton/DangerButton.js +3 -5
  32. package/es/components/DataTable/DataTable.js +334 -361
  33. package/es/components/DataTable/Table.js +29 -26
  34. package/es/components/DataTable/TableActionList.js +2 -4
  35. package/es/components/DataTable/TableBatchAction.js +2 -4
  36. package/es/components/DataTable/TableBatchActions.js +29 -30
  37. package/es/components/DataTable/TableBody.js +7 -8
  38. package/es/components/DataTable/TableCell.js +1 -1
  39. package/es/components/DataTable/TableContainer.js +23 -23
  40. package/es/components/DataTable/TableContext.js +1 -1
  41. package/es/components/DataTable/TableExpandHeader.js +19 -21
  42. package/es/components/DataTable/TableExpandRow.js +23 -23
  43. package/es/components/DataTable/TableExpandedRow.js +18 -23
  44. package/es/components/DataTable/TableHead.js +1 -1
  45. package/es/components/DataTable/TableHeader.js +45 -41
  46. package/es/components/DataTable/TableRow.js +7 -8
  47. package/es/components/DataTable/TableSelectAll.js +13 -11
  48. package/es/components/DataTable/TableSelectRow.js +29 -21
  49. package/es/components/DataTable/TableToolbar.js +19 -14
  50. package/es/components/DataTable/TableToolbarAction.js +6 -6
  51. package/es/components/DataTable/TableToolbarContent.js +2 -4
  52. package/es/components/DataTable/TableToolbarMenu.js +11 -12
  53. package/es/components/DataTable/TableToolbarSearch.js +52 -71
  54. package/es/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  55. package/es/components/DataTable/state/sortStates.js +1 -1
  56. package/es/components/DataTable/state/sorting.js +28 -20
  57. package/es/components/DataTable/tools/cells.js +1 -3
  58. package/es/components/DataTable/tools/denormalize.js +4 -17
  59. package/es/components/DataTable/tools/filter.js +18 -16
  60. package/es/components/DataTable/tools/instanceId.js +2 -2
  61. package/es/components/DataTable/tools/normalize.js +28 -25
  62. package/es/components/DataTable/tools/sorting.js +28 -25
  63. package/es/components/DataTableSkeleton/DataTableSkeleton.js +36 -38
  64. package/es/components/DatePicker/DatePicker.Skeleton.js +17 -18
  65. package/es/components/DatePicker/DatePicker.js +206 -195
  66. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  67. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  68. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  69. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  70. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  71. package/es/components/Dropdown/Dropdown.js +266 -109
  72. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  73. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  74. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  75. package/es/components/ExpandableSearch/ExpandableSearch.js +18 -25
  76. package/es/components/FeatureFlags/index.js +25 -43
  77. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  78. package/es/components/FileUploader/FileUploader.js +120 -147
  79. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  80. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  81. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  82. package/es/components/FileUploader/Filename.js +13 -14
  83. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  84. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  85. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  86. package/es/components/FluidDatePicker/FluidDatePicker.js +19 -16
  87. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  88. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  89. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  90. package/es/components/FluidForm/FluidForm.js +9 -10
  91. package/es/components/FluidForm/FormContext.js +1 -1
  92. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  93. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  94. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  95. package/es/components/FluidSelect/FluidSelect.js +9 -9
  96. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  97. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  98. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  99. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  100. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  101. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  102. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  103. package/es/components/Form/Form.js +9 -10
  104. package/es/components/FormGroup/FormGroup.js +16 -17
  105. package/es/components/FormItem/FormItem.js +8 -9
  106. package/es/components/FormLabel/FormLabel.js +11 -10
  107. package/es/components/Grid/CSSGrid.js +38 -39
  108. package/es/components/Grid/Column.js +86 -79
  109. package/es/components/Grid/ColumnHang.js +12 -14
  110. package/es/components/Grid/FlexGrid.js +19 -21
  111. package/es/components/Grid/Grid.js +2 -2
  112. package/es/components/Grid/GridContext.js +12 -11
  113. package/es/components/Grid/Row.js +16 -18
  114. package/es/components/Heading/index.js +11 -13
  115. package/es/components/Icon/Icon.Skeleton.js +10 -12
  116. package/es/components/IconButton/index.js +19 -22
  117. package/es/components/IdPrefix/index.js +4 -2
  118. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  119. package/es/components/InlineLoading/InlineLoading.js +23 -25
  120. package/es/components/Layer/LayerContext.js +1 -1
  121. package/es/components/Layer/index.js +17 -18
  122. package/es/components/Layout/LayoutDirection.js +8 -10
  123. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  124. package/es/components/Link/Link.js +25 -25
  125. package/es/components/ListBox/ListBox.js +38 -31
  126. package/es/components/ListBox/ListBoxField.js +9 -10
  127. package/es/components/ListBox/ListBoxMenu.js +9 -10
  128. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  129. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  130. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  131. package/es/components/ListBox/ListBoxSelection.js +30 -25
  132. package/es/components/ListBox/index.js +1 -1
  133. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  134. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  135. package/es/components/ListItem/ListItem.js +9 -10
  136. package/es/components/Loading/Loading.js +24 -24
  137. package/es/components/Menu/Menu.js +67 -80
  138. package/es/components/Menu/MenuContext.js +9 -12
  139. package/es/components/Menu/MenuItem.js +104 -128
  140. package/es/components/MenuButton/index.js +37 -41
  141. package/es/components/Modal/Modal.js +281 -120
  142. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  143. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  144. package/es/components/MultiSelect/MultiSelect.js +162 -174
  145. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  146. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  147. package/es/components/MultiSelect/tools/sorting.js +15 -13
  148. package/es/components/Notification/Notification.js +436 -164
  149. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  150. package/es/components/NumberInput/NumberInput.js +140 -139
  151. package/es/components/OrderedList/OrderedList.js +17 -15
  152. package/es/components/OverflowMenu/OverflowMenu.js +359 -227
  153. package/es/components/OverflowMenu/index.js +1 -1
  154. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  155. package/es/components/OverflowMenuV2/index.js +26 -28
  156. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  157. package/es/components/Pagination/Pagination.js +98 -140
  158. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  159. package/es/components/Pagination/experimental/Pagination.js +73 -94
  160. package/es/components/PaginationNav/PaginationNav.js +98 -117
  161. package/es/components/Popover/index.js +74 -80
  162. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  163. package/es/components/ProgressBar/ProgressBar.js +39 -37
  164. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  165. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  166. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  167. package/es/components/RadioButton/RadioButton.js +27 -27
  168. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  169. package/es/components/RadioTile/RadioTile.js +27 -25
  170. package/es/components/Search/Search.Skeleton.js +16 -16
  171. package/es/components/Search/Search.d.ts +83 -0
  172. package/es/components/Search/Search.js +65 -72
  173. package/es/components/Search/index.d.ts +11 -0
  174. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  175. package/es/components/Select/Select.Skeleton.js +12 -13
  176. package/es/components/Select/Select.js +79 -73
  177. package/es/components/SelectItem/SelectItem.js +17 -13
  178. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  179. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  180. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  181. package/es/components/SkeletonText/SkeletonText.js +29 -29
  182. package/es/components/Slider/Slider.Skeleton.js +17 -18
  183. package/es/components/Slider/Slider.js +306 -329
  184. package/es/components/Slider/index.js +1 -1
  185. package/es/components/Stack/Stack.js +19 -20
  186. package/es/components/Stack/index.js +2 -2
  187. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  188. package/es/components/StructuredList/StructuredList.js +134 -106
  189. package/es/components/Switch/IconSwitch.js +48 -54
  190. package/es/components/Switch/Switch.js +33 -31
  191. package/es/components/Tab/Tab.js +77 -83
  192. package/es/components/Tab/index.js +1 -1
  193. package/es/components/TabContent/TabContent.js +16 -18
  194. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  195. package/es/components/Tabs/Tabs.js +195 -206
  196. package/es/components/Tabs/usePressable.js +27 -36
  197. package/es/components/Tag/Tag.Skeleton.js +10 -9
  198. package/es/components/Tag/Tag.js +34 -31
  199. package/es/components/Text/Text.js +20 -20
  200. package/es/components/Text/TextDirection.js +8 -7
  201. package/es/components/Text/TextDirectionContext.js +1 -1
  202. package/es/components/Text/index.js +1 -1
  203. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  204. package/es/components/TextArea/TextArea.js +89 -83
  205. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  206. package/es/components/TextInput/PasswordInput.js +101 -91
  207. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  208. package/es/components/TextInput/TextInput.js +104 -92
  209. package/es/components/TextInput/util.js +26 -28
  210. package/es/components/Theme/index.js +25 -20
  211. package/es/components/Tile/Tile.js +135 -176
  212. package/es/components/TileGroup/TileGroup.js +55 -70
  213. package/es/components/TileGroup/index.js +1 -1
  214. package/es/components/TimePicker/TimePicker.js +60 -67
  215. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  216. package/es/components/TimePickerSelect/index.js +1 -1
  217. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  218. package/es/components/Toggle/Toggle.js +44 -48
  219. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  220. package/es/components/Toggletip/index.js +52 -48
  221. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  222. package/es/components/Tooltip/Tooltip.js +35 -50
  223. package/es/components/TreeView/TreeNode.js +94 -74
  224. package/es/components/TreeView/TreeView.js +72 -83
  225. package/es/components/UIShell/Content.js +12 -14
  226. package/es/components/UIShell/Header.js +16 -12
  227. package/es/components/UIShell/HeaderContainer.js +8 -14
  228. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  229. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  230. package/es/components/UIShell/HeaderMenu.js +114 -129
  231. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  232. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  233. package/es/components/UIShell/HeaderName.js +19 -14
  234. package/es/components/UIShell/HeaderNavigation.js +19 -15
  235. package/es/components/UIShell/HeaderPanel.js +23 -17
  236. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  237. package/es/components/UIShell/Link.js +11 -11
  238. package/es/components/UIShell/SideNav.js +66 -62
  239. package/es/components/UIShell/SideNavDetails.js +11 -12
  240. package/es/components/UIShell/SideNavDivider.js +5 -3
  241. package/es/components/UIShell/SideNavFooter.js +12 -12
  242. package/es/components/UIShell/SideNavHeader.js +8 -6
  243. package/es/components/UIShell/SideNavIcon.js +11 -8
  244. package/es/components/UIShell/SideNavItem.js +11 -9
  245. package/es/components/UIShell/SideNavItems.js +13 -11
  246. package/es/components/UIShell/SideNavLink.js +19 -17
  247. package/es/components/UIShell/SideNavLinkText.js +8 -9
  248. package/es/components/UIShell/SideNavMenu.js +28 -35
  249. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  250. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  251. package/es/components/UIShell/SkipToContent.js +10 -11
  252. package/es/components/UIShell/Switcher.js +20 -11
  253. package/es/components/UIShell/SwitcherDivider.js +10 -9
  254. package/es/components/UIShell/SwitcherItem.js +26 -19
  255. package/es/components/UIShell/_utils.js +1 -1
  256. package/es/components/UnorderedList/UnorderedList.js +14 -14
  257. package/es/index.js +5 -5
  258. package/es/internal/ClickListener.js +49 -65
  259. package/es/internal/FloatingMenu.js +193 -200
  260. package/es/internal/OptimizedResize.js +9 -8
  261. package/es/internal/Selection.js +92 -111
  262. package/es/internal/createClassWrapper.js +2 -2
  263. package/es/internal/deprecateFieldOnObject.js +5 -3
  264. package/es/internal/environment.js +1 -1
  265. package/es/internal/focus/index.js +1 -1
  266. package/es/internal/keyboard/keys.js +11 -11
  267. package/es/internal/keyboard/match.js +7 -6
  268. package/es/internal/keyboard/navigation.js +15 -5
  269. package/es/internal/useAnnouncer.js +2 -2
  270. package/es/internal/useAttachedMenu.js +12 -20
  271. package/es/internal/useControllableState.js +11 -16
  272. package/es/internal/useDelayedState.js +9 -18
  273. package/es/internal/useEffectOnce.js +4 -4
  274. package/es/internal/useEvent.js +4 -4
  275. package/es/internal/useId.js +15 -19
  276. package/es/internal/useIdPrefix.js +1 -1
  277. package/es/internal/useIsomorphicEffect.js +1 -1
  278. package/es/internal/useMergedRefs.js +3 -3
  279. package/es/internal/useNoInteractiveChildren.js +8 -19
  280. package/es/internal/useNormalizedInputProps.js +16 -14
  281. package/es/internal/usePrefix.js +1 -1
  282. package/es/internal/useSavedCallback.js +3 -3
  283. package/es/internal/warning.js +4 -4
  284. package/es/internal/wrapFocus.js +16 -21
  285. package/es/prop-types/AriaPropTypes.js +1 -1
  286. package/es/prop-types/deprecate.js +6 -5
  287. package/es/prop-types/isRequiredOneOf.js +12 -25
  288. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  289. package/es/prop-types/types.js +1 -1
  290. package/es/tools/array.js +1 -1
  291. package/es/tools/events.js +21 -14
  292. package/es/tools/mergeRefs.js +3 -3
  293. package/es/tools/setupGetInstanceId.js +1 -1
  294. package/es/tools/uniqueId.js +3 -3
  295. package/es/tools/wrapComponent.js +14 -13
  296. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  297. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  298. package/lib/components/Accordion/Accordion.js +17 -20
  299. package/lib/components/Accordion/AccordionItem.js +36 -48
  300. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  301. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  302. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  303. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  304. package/lib/components/Button/Button.Skeleton.js +24 -22
  305. package/lib/components/Button/Button.js +76 -71
  306. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  307. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  308. package/lib/components/Checkbox/Checkbox.js +54 -51
  309. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  310. package/lib/components/ClassPrefix/index.js +4 -2
  311. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  312. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  313. package/lib/components/ComboBox/ComboBox.js +348 -177
  314. package/lib/components/ComboBox/tools/filter.js +6 -4
  315. package/lib/components/ComboButton/index.js +37 -42
  316. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  317. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  318. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  319. package/lib/components/ContainedList/ContainedList.js +18 -17
  320. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  321. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  322. package/lib/components/ContentSwitcher/index.js +1 -1
  323. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  324. package/lib/components/Copy/Copy.js +23 -28
  325. package/lib/components/CopyButton/CopyButton.js +9 -9
  326. package/lib/components/DangerButton/DangerButton.js +3 -5
  327. package/lib/components/DataTable/DataTable.js +332 -359
  328. package/lib/components/DataTable/Table.js +28 -25
  329. package/lib/components/DataTable/TableActionList.js +2 -4
  330. package/lib/components/DataTable/TableBatchAction.js +2 -4
  331. package/lib/components/DataTable/TableBatchActions.js +28 -29
  332. package/lib/components/DataTable/TableBody.js +6 -7
  333. package/lib/components/DataTable/TableCell.js +1 -1
  334. package/lib/components/DataTable/TableContainer.js +22 -22
  335. package/lib/components/DataTable/TableContext.js +1 -1
  336. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  337. package/lib/components/DataTable/TableExpandRow.js +22 -22
  338. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  339. package/lib/components/DataTable/TableHead.js +1 -1
  340. package/lib/components/DataTable/TableHeader.js +43 -39
  341. package/lib/components/DataTable/TableRow.js +7 -8
  342. package/lib/components/DataTable/TableSelectAll.js +13 -11
  343. package/lib/components/DataTable/TableSelectRow.js +28 -20
  344. package/lib/components/DataTable/TableToolbar.js +18 -13
  345. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  346. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  347. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  348. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  349. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  350. package/lib/components/DataTable/state/sortStates.js +1 -1
  351. package/lib/components/DataTable/state/sorting.js +28 -20
  352. package/lib/components/DataTable/tools/cells.js +1 -3
  353. package/lib/components/DataTable/tools/denormalize.js +4 -17
  354. package/lib/components/DataTable/tools/filter.js +18 -16
  355. package/lib/components/DataTable/tools/instanceId.js +2 -2
  356. package/lib/components/DataTable/tools/normalize.js +28 -25
  357. package/lib/components/DataTable/tools/sorting.js +27 -24
  358. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  359. package/lib/components/DatePicker/DatePicker.Skeleton.js +16 -17
  360. package/lib/components/DatePicker/DatePicker.js +205 -194
  361. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  362. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  363. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  364. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  365. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  366. package/lib/components/Dropdown/Dropdown.js +265 -108
  367. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  368. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  369. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  370. package/lib/components/ExpandableSearch/ExpandableSearch.js +17 -24
  371. package/lib/components/FeatureFlags/index.js +25 -43
  372. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  373. package/lib/components/FileUploader/FileUploader.js +119 -146
  374. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  375. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  376. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  377. package/lib/components/FileUploader/Filename.js +12 -13
  378. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  379. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  380. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  381. package/lib/components/FluidDatePicker/FluidDatePicker.js +18 -15
  382. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  383. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  384. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  385. package/lib/components/FluidForm/FluidForm.js +8 -9
  386. package/lib/components/FluidForm/FormContext.js +1 -1
  387. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  388. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  389. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  390. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  391. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  392. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  393. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  394. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  395. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  396. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  397. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  398. package/lib/components/Form/Form.js +8 -9
  399. package/lib/components/FormGroup/FormGroup.js +15 -16
  400. package/lib/components/FormItem/FormItem.js +7 -8
  401. package/lib/components/FormLabel/FormLabel.js +10 -9
  402. package/lib/components/Grid/CSSGrid.js +37 -38
  403. package/lib/components/Grid/Column.js +85 -78
  404. package/lib/components/Grid/ColumnHang.js +11 -13
  405. package/lib/components/Grid/FlexGrid.js +19 -21
  406. package/lib/components/Grid/Grid.js +2 -2
  407. package/lib/components/Grid/GridContext.js +12 -11
  408. package/lib/components/Grid/Row.js +16 -18
  409. package/lib/components/Heading/index.js +11 -13
  410. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  411. package/lib/components/IconButton/index.js +18 -21
  412. package/lib/components/IdPrefix/index.js +4 -2
  413. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  414. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  415. package/lib/components/Layer/LayerContext.js +1 -1
  416. package/lib/components/Layer/index.js +16 -17
  417. package/lib/components/Layout/LayoutDirection.js +7 -9
  418. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  419. package/lib/components/Link/Link.js +24 -24
  420. package/lib/components/ListBox/ListBox.js +37 -30
  421. package/lib/components/ListBox/ListBoxField.js +8 -9
  422. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  423. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  424. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  425. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  426. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  427. package/lib/components/ListBox/index.js +1 -1
  428. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  429. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  430. package/lib/components/ListItem/ListItem.js +8 -9
  431. package/lib/components/Loading/Loading.js +23 -23
  432. package/lib/components/Menu/Menu.js +66 -79
  433. package/lib/components/Menu/MenuContext.js +9 -12
  434. package/lib/components/Menu/MenuItem.js +103 -127
  435. package/lib/components/MenuButton/index.js +36 -40
  436. package/lib/components/Modal/Modal.js +280 -119
  437. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  438. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  439. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  440. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  441. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  442. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  443. package/lib/components/Notification/Notification.js +434 -162
  444. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  445. package/lib/components/NumberInput/NumberInput.js +139 -138
  446. package/lib/components/OrderedList/OrderedList.js +16 -14
  447. package/lib/components/OverflowMenu/OverflowMenu.js +358 -226
  448. package/lib/components/OverflowMenu/index.js +1 -1
  449. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  450. package/lib/components/OverflowMenuV2/index.js +25 -27
  451. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  452. package/lib/components/Pagination/Pagination.js +97 -139
  453. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  454. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  455. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  456. package/lib/components/Popover/index.js +73 -79
  457. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  458. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  459. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  460. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  461. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  462. package/lib/components/RadioButton/RadioButton.js +26 -26
  463. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  464. package/lib/components/RadioTile/RadioTile.js +26 -24
  465. package/lib/components/Search/Search.Skeleton.js +15 -15
  466. package/lib/components/Search/Search.d.ts +83 -0
  467. package/lib/components/Search/Search.js +62 -69
  468. package/lib/components/Search/index.d.ts +11 -0
  469. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  470. package/lib/components/Select/Select.Skeleton.js +11 -12
  471. package/lib/components/Select/Select.js +78 -72
  472. package/lib/components/SelectItem/SelectItem.js +16 -12
  473. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  474. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  475. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  476. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  477. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  478. package/lib/components/Slider/Slider.js +305 -328
  479. package/lib/components/Slider/index.js +1 -1
  480. package/lib/components/Stack/Stack.js +18 -19
  481. package/lib/components/Stack/index.js +2 -2
  482. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  483. package/lib/components/StructuredList/StructuredList.js +133 -105
  484. package/lib/components/Switch/IconSwitch.js +45 -51
  485. package/lib/components/Switch/Switch.js +33 -31
  486. package/lib/components/Tab/Tab.js +76 -82
  487. package/lib/components/Tab/index.js +1 -1
  488. package/lib/components/TabContent/TabContent.js +15 -17
  489. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  490. package/lib/components/Tabs/Tabs.js +194 -205
  491. package/lib/components/Tabs/usePressable.js +27 -36
  492. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  493. package/lib/components/Tag/Tag.js +33 -30
  494. package/lib/components/Text/Text.js +19 -19
  495. package/lib/components/Text/TextDirection.js +8 -7
  496. package/lib/components/Text/TextDirectionContext.js +1 -1
  497. package/lib/components/Text/index.js +1 -1
  498. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  499. package/lib/components/TextArea/TextArea.js +88 -82
  500. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  501. package/lib/components/TextInput/PasswordInput.js +100 -90
  502. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  503. package/lib/components/TextInput/TextInput.js +104 -92
  504. package/lib/components/TextInput/util.js +28 -30
  505. package/lib/components/Theme/index.js +24 -19
  506. package/lib/components/Tile/Tile.js +134 -175
  507. package/lib/components/TileGroup/TileGroup.js +54 -69
  508. package/lib/components/TileGroup/index.js +1 -1
  509. package/lib/components/TimePicker/TimePicker.js +59 -66
  510. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  511. package/lib/components/TimePickerSelect/index.js +1 -1
  512. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  513. package/lib/components/Toggle/Toggle.js +43 -47
  514. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  515. package/lib/components/Toggletip/index.js +51 -47
  516. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  517. package/lib/components/Tooltip/Tooltip.js +34 -49
  518. package/lib/components/TreeView/TreeNode.js +93 -73
  519. package/lib/components/TreeView/TreeView.js +71 -82
  520. package/lib/components/UIShell/Content.js +12 -14
  521. package/lib/components/UIShell/Header.js +15 -11
  522. package/lib/components/UIShell/HeaderContainer.js +8 -14
  523. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  524. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  525. package/lib/components/UIShell/HeaderMenu.js +113 -128
  526. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  527. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  528. package/lib/components/UIShell/HeaderName.js +18 -13
  529. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  530. package/lib/components/UIShell/HeaderPanel.js +22 -16
  531. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  532. package/lib/components/UIShell/Link.js +11 -11
  533. package/lib/components/UIShell/SideNav.js +65 -61
  534. package/lib/components/UIShell/SideNavDetails.js +10 -11
  535. package/lib/components/UIShell/SideNavDivider.js +5 -3
  536. package/lib/components/UIShell/SideNavFooter.js +12 -12
  537. package/lib/components/UIShell/SideNavHeader.js +8 -6
  538. package/lib/components/UIShell/SideNavIcon.js +11 -8
  539. package/lib/components/UIShell/SideNavItem.js +11 -9
  540. package/lib/components/UIShell/SideNavItems.js +13 -11
  541. package/lib/components/UIShell/SideNavLink.js +18 -16
  542. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  543. package/lib/components/UIShell/SideNavMenu.js +28 -35
  544. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  545. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  546. package/lib/components/UIShell/SkipToContent.js +9 -10
  547. package/lib/components/UIShell/Switcher.js +19 -10
  548. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  549. package/lib/components/UIShell/SwitcherItem.js +25 -18
  550. package/lib/components/UIShell/_utils.js +1 -1
  551. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  552. package/lib/index.js +10 -10
  553. package/lib/internal/ClickListener.js +49 -65
  554. package/lib/internal/FloatingMenu.js +192 -199
  555. package/lib/internal/OptimizedResize.js +9 -8
  556. package/lib/internal/Selection.js +91 -110
  557. package/lib/internal/createClassWrapper.js +2 -2
  558. package/lib/internal/deprecateFieldOnObject.js +5 -3
  559. package/lib/internal/environment.js +1 -1
  560. package/lib/internal/focus/index.js +1 -1
  561. package/lib/internal/keyboard/keys.js +11 -11
  562. package/lib/internal/keyboard/match.js +7 -6
  563. package/lib/internal/keyboard/navigation.js +15 -5
  564. package/lib/internal/useAnnouncer.js +2 -2
  565. package/lib/internal/useAttachedMenu.js +12 -20
  566. package/lib/internal/useControllableState.js +11 -16
  567. package/lib/internal/useDelayedState.js +9 -18
  568. package/lib/internal/useEffectOnce.js +4 -4
  569. package/lib/internal/useEvent.js +4 -4
  570. package/lib/internal/useId.js +14 -18
  571. package/lib/internal/useIdPrefix.js +1 -1
  572. package/lib/internal/useIsomorphicEffect.js +1 -1
  573. package/lib/internal/useMergedRefs.js +3 -3
  574. package/lib/internal/useNoInteractiveChildren.js +8 -19
  575. package/lib/internal/useNormalizedInputProps.js +16 -14
  576. package/lib/internal/usePrefix.js +1 -1
  577. package/lib/internal/useSavedCallback.js +3 -3
  578. package/lib/internal/warning.js +4 -4
  579. package/lib/internal/wrapFocus.js +16 -21
  580. package/lib/prop-types/AriaPropTypes.js +1 -1
  581. package/lib/prop-types/deprecate.js +6 -5
  582. package/lib/prop-types/isRequiredOneOf.js +15 -28
  583. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  584. package/lib/prop-types/types.js +1 -1
  585. package/lib/tools/array.js +1 -1
  586. package/lib/tools/events.js +21 -14
  587. package/lib/tools/mergeRefs.js +3 -3
  588. package/lib/tools/setupGetInstanceId.js +1 -1
  589. package/lib/tools/uniqueId.js +3 -3
  590. package/lib/tools/wrapComponent.js +14 -13
  591. package/package.json +6 -6
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { defineProperty as _defineProperty, inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass, objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import invariant from 'invariant';
10
10
  import PropTypes from 'prop-types';
11
11
  import React__default, { Component } from 'react';
@@ -20,21 +20,18 @@ import { IconButton } from '../IconButton/index.js';
20
20
  import { matches } from '../../internal/keyboard/match.js';
21
21
  import { ArrowUp, ArrowRight, ArrowDown, ArrowLeft, Escape } from '../../internal/keyboard/keys.js';
22
22
 
23
- var _excluded = ["id", "aria-label", "ariaLabel", "children", "iconDescription", "direction", "flipped", "focusTrap", "menuOffset", "menuOffsetFlip", "iconClass", "onClick", "onOpen", "selectorPrimaryFocus", "renderIcon", "innerRef", "menuOptionsClass", "light", "size"];
24
-
25
- var _triggerButtonPositio, _triggerButtonPositio2, _defineProperty2, _defineProperty3;
26
-
27
- var on = function on(element) {
23
+ const on = function (element) {
28
24
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
29
25
  args[_key - 1] = arguments[_key];
30
26
  }
31
27
 
32
- element.addEventListener.apply(element, args);
28
+ element.addEventListener(...args);
33
29
  return {
34
- release: function release() {
35
- element.removeEventListener.apply(element, args);
30
+ release() {
31
+ element.removeEventListener(...args);
36
32
  return null;
37
33
  }
34
+
38
35
  };
39
36
  };
40
37
  /**
@@ -43,13 +40,19 @@ var on = function on(element) {
43
40
  */
44
41
 
45
42
 
46
- var triggerButtonPositionProps = (_triggerButtonPositio = {}, _defineProperty(_triggerButtonPositio, DIRECTION_TOP, 'bottom'), _defineProperty(_triggerButtonPositio, DIRECTION_BOTTOM, 'top'), _triggerButtonPositio);
43
+ const triggerButtonPositionProps = {
44
+ [DIRECTION_TOP]: 'bottom',
45
+ [DIRECTION_BOTTOM]: 'top'
46
+ };
47
47
  /**
48
48
  * Determines how the position of arrow should affect the floating menu position.
49
49
  * @type {Object<string, number>}
50
50
  */
51
51
 
52
- var triggerButtonPositionFactors = (_triggerButtonPositio2 = {}, _defineProperty(_triggerButtonPositio2, DIRECTION_TOP, -2), _defineProperty(_triggerButtonPositio2, DIRECTION_BOTTOM, -1), _triggerButtonPositio2);
52
+ const triggerButtonPositionFactors = {
53
+ [DIRECTION_TOP]: -2,
54
+ [DIRECTION_BOTTOM]: -1
55
+ };
53
56
  /**
54
57
  * @param {Element} menuBody The menu body with the menu arrow.
55
58
  * @param {string} direction The floating menu direction.
@@ -57,23 +60,25 @@ var triggerButtonPositionFactors = (_triggerButtonPositio2 = {}, _defineProperty
57
60
  * @private
58
61
  */
59
62
 
60
- var getMenuOffset = function getMenuOffset(menuBody, direction, trigger, flip) {
61
- var triggerButtonPositionProp = triggerButtonPositionProps[direction];
62
- var triggerButtonPositionFactor = triggerButtonPositionFactors[direction];
63
+ const getMenuOffset = (menuBody, direction, trigger, flip) => {
64
+ const triggerButtonPositionProp = triggerButtonPositionProps[direction];
65
+ const triggerButtonPositionFactor = triggerButtonPositionFactors[direction];
63
66
 
64
67
  if (process.env.NODE_ENV !== "production") {
65
68
  !(triggerButtonPositionProp && triggerButtonPositionFactor) ? process.env.NODE_ENV !== "production" ? invariant(false, '[OverflowMenu] wrong floating menu direction: `%s`', direction) : invariant(false) : void 0;
66
69
  }
67
70
 
68
- var menuWidth = menuBody.offsetWidth,
69
- menuHeight = menuBody.offsetHeight;
71
+ const {
72
+ offsetWidth: menuWidth,
73
+ offsetHeight: menuHeight
74
+ } = menuBody;
70
75
 
71
76
  switch (triggerButtonPositionProp) {
72
77
  case 'top':
73
78
  case 'bottom':
74
79
  {
75
80
  // TODO: Ensure `trigger` is there for `<OverflowMenu open>`
76
- var triggerWidth = !trigger ? 0 : trigger.offsetWidth;
81
+ const triggerWidth = !trigger ? 0 : trigger.offsetWidth;
77
82
  return {
78
83
  left: (!flip ? 1 : -1) * (menuWidth / 2 - triggerWidth / 2),
79
84
  top: 0
@@ -84,7 +89,7 @@ var getMenuOffset = function getMenuOffset(menuBody, direction, trigger, flip) {
84
89
  case 'right':
85
90
  {
86
91
  // TODO: Ensure `trigger` is there for `<OverflowMenu open>`
87
- var triggerHeight = !trigger ? 0 : trigger.offsetHeight;
92
+ const triggerHeight = !trigger ? 0 : trigger.offsetHeight;
88
93
  return {
89
94
  left: 0,
90
95
  top: (!flip ? 1 : -1) * (menuHeight / 2 - triggerHeight / 2)
@@ -93,97 +98,86 @@ var getMenuOffset = function getMenuOffset(menuBody, direction, trigger, flip) {
93
98
  }
94
99
  };
95
100
 
96
- var OverflowMenu = /*#__PURE__*/function (_Component) {
97
- _inherits(OverflowMenu, _Component);
98
-
99
- var _super = _createSuper(OverflowMenu);
100
-
101
- function OverflowMenu() {
102
- var _this;
103
-
104
- _classCallCheck(this, OverflowMenu);
105
-
106
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
107
- args[_key2] = arguments[_key2];
108
- }
109
-
110
- _this = _super.call.apply(_super, [this].concat(args));
101
+ class OverflowMenu extends Component {
102
+ constructor() {
103
+ super(...arguments);
111
104
 
112
- _defineProperty(_assertThisInitialized(_this), "state", {});
105
+ _defineProperty(this, "state", {});
113
106
 
114
- _defineProperty(_assertThisInitialized(_this), "_hFocusIn", null);
107
+ _defineProperty(this, "_hFocusIn", null);
115
108
 
116
- _defineProperty(_assertThisInitialized(_this), "_hBlurTimeout", void 0);
109
+ _defineProperty(this, "_hBlurTimeout", void 0);
117
110
 
118
- _defineProperty(_assertThisInitialized(_this), "_triggerRef", /*#__PURE__*/React__default.createRef());
111
+ _defineProperty(this, "_triggerRef", /*#__PURE__*/React__default.createRef());
119
112
 
120
- _defineProperty(_assertThisInitialized(_this), "handleClick", function (evt) {
113
+ _defineProperty(this, "handleClick", evt => {
121
114
  evt.stopPropagation();
122
115
 
123
- if (!_this._menuBody || !_this._menuBody.contains(evt.target)) {
124
- _this.setState({
125
- open: !_this.state.open
116
+ if (!this._menuBody || !this._menuBody.contains(evt.target)) {
117
+ this.setState({
118
+ open: !this.state.open
126
119
  });
127
-
128
- _this.props.onClick(evt);
120
+ this.props.onClick(evt);
129
121
  }
130
122
  });
131
123
 
132
- _defineProperty(_assertThisInitialized(_this), "closeMenuAndFocus", function () {
133
- var wasOpen = _this.state.open;
134
-
135
- _this.closeMenu(function () {
124
+ _defineProperty(this, "closeMenuAndFocus", () => {
125
+ let wasOpen = this.state.open;
126
+ this.closeMenu(() => {
136
127
  if (wasOpen) {
137
- _this.focusMenuEl();
128
+ this.focusMenuEl();
138
129
  }
139
130
  });
140
131
  });
141
132
 
142
- _defineProperty(_assertThisInitialized(_this), "handleKeyPress", function (evt) {
143
- if (_this.state.open && matches(evt, [ArrowUp, ArrowRight, ArrowDown, ArrowLeft])) {
133
+ _defineProperty(this, "handleKeyPress", evt => {
134
+ if (this.state.open && matches(evt, [ArrowUp, ArrowRight, ArrowDown, ArrowLeft])) {
144
135
  evt.preventDefault();
145
136
  } // Close the overflow menu on escape
146
137
 
147
138
 
148
139
  if (matches(evt, [Escape])) {
149
- _this.closeMenuAndFocus(); // Stop the esc keypress from bubbling out and closing something it shouldn't
150
-
140
+ this.closeMenuAndFocus(); // Stop the esc keypress from bubbling out and closing something it shouldn't
151
141
 
152
142
  evt.stopPropagation();
153
143
  }
154
144
  });
155
145
 
156
- _defineProperty(_assertThisInitialized(_this), "handleClickOutside", function (evt) {
157
- if (_this.state.open && (!_this._menuBody || !_this._menuBody.contains(evt.target))) {
158
- _this.closeMenu();
146
+ _defineProperty(this, "handleClickOutside", evt => {
147
+ if (this.state.open && (!this._menuBody || !this._menuBody.contains(evt.target))) {
148
+ this.closeMenu();
159
149
  }
160
150
  });
161
151
 
162
- _defineProperty(_assertThisInitialized(_this), "closeMenu", function (onCloseMenu) {
163
- _this.setState({
152
+ _defineProperty(this, "closeMenu", onCloseMenu => {
153
+ this.setState({
164
154
  open: false
165
- }, function () {
155
+ }, () => {
166
156
  // Optional callback to be executed after the state as been set to close
167
157
  if (onCloseMenu) {
168
158
  onCloseMenu();
169
159
  }
170
160
 
171
- _this.props.onClose();
161
+ this.props.onClose();
172
162
  });
173
163
  });
174
164
 
175
- _defineProperty(_assertThisInitialized(_this), "focusMenuEl", function () {
176
- var triggerEl = _this._triggerRef.current;
165
+ _defineProperty(this, "focusMenuEl", () => {
166
+ const {
167
+ current: triggerEl
168
+ } = this._triggerRef;
177
169
 
178
170
  if (triggerEl) {
179
171
  triggerEl.focus();
180
172
  }
181
173
  });
182
174
 
183
- _defineProperty(_assertThisInitialized(_this), "handleOverflowMenuItemFocus", function (_ref) {
184
- var currentIndex = _ref.currentIndex,
185
- direction = _ref.direction;
186
- var enabledIndices = React__default.Children.toArray(_this.props.children).reduce(function (acc, curr, i) {
175
+ _defineProperty(this, "handleOverflowMenuItemFocus", _ref => {
176
+ let {
177
+ currentIndex,
178
+ direction
179
+ } = _ref;
180
+ const enabledIndices = React__default.Children.toArray(this.props.children).reduce((acc, curr, i) => {
187
181
  if (!curr.props.disabled) {
188
182
  acc.push(i);
189
183
  }
@@ -191,8 +185,8 @@ var OverflowMenu = /*#__PURE__*/function (_Component) {
191
185
  return acc;
192
186
  }, []);
193
187
 
194
- var nextValidIndex = function () {
195
- var nextIndex = enabledIndices.indexOf(currentIndex) + direction;
188
+ const nextValidIndex = (() => {
189
+ const nextIndex = enabledIndices.indexOf(currentIndex) + direction;
196
190
 
197
191
  switch (nextIndex) {
198
192
  case -1:
@@ -204,201 +198,339 @@ var OverflowMenu = /*#__PURE__*/function (_Component) {
204
198
  default:
205
199
  return nextIndex;
206
200
  }
207
- }();
208
-
209
- var overflowMenuItem = _this["overflowMenuItem".concat(enabledIndices[nextValidIndex])];
201
+ })();
210
202
 
203
+ const overflowMenuItem = this[`overflowMenuItem${enabledIndices[nextValidIndex]}`];
211
204
  overflowMenuItem === null || overflowMenuItem === void 0 ? void 0 : overflowMenuItem.focus();
212
205
  });
213
206
 
214
- _defineProperty(_assertThisInitialized(_this), "_bindMenuBody", function (menuBody) {
207
+ _defineProperty(this, "_bindMenuBody", menuBody => {
215
208
  if (!menuBody) {
216
- _this._menuBody = menuBody;
209
+ this._menuBody = menuBody;
217
210
  }
218
211
 
219
- if (!menuBody && _this._hFocusIn) {
220
- _this._hFocusIn = _this._hFocusIn.release();
212
+ if (!menuBody && this._hFocusIn) {
213
+ this._hFocusIn = this._hFocusIn.release();
221
214
  }
222
215
  });
223
216
 
224
- _defineProperty(_assertThisInitialized(_this), "_handlePlace", function (menuBody) {
217
+ _defineProperty(this, "_handlePlace", menuBody => {
225
218
  if (menuBody) {
226
- _this._menuBody = menuBody;
227
- var hasFocusin = ('onfocusin' in window);
228
- var focusinEventName = hasFocusin ? 'focusin' : 'focus';
229
- _this._hFocusIn = on(menuBody.ownerDocument, focusinEventName, function (event) {
230
- var target = ClickListener.getEventTarget(event);
231
- var triggerEl = _this._triggerRef.current;
219
+ this._menuBody = menuBody;
220
+ const hasFocusin = ('onfocusin' in window);
221
+ const focusinEventName = hasFocusin ? 'focusin' : 'focus';
222
+ this._hFocusIn = on(menuBody.ownerDocument, focusinEventName, event => {
223
+ const target = ClickListener.getEventTarget(event);
224
+ const {
225
+ current: triggerEl
226
+ } = this._triggerRef;
232
227
 
233
228
  if (typeof target.matches === 'function') {
234
- if (!menuBody.contains(target) && triggerEl && !target.matches(".".concat(_this.context, "--overflow-menu,.").concat(_this.context, "--overflow-menu-options"))) {
235
- _this.closeMenuAndFocus();
229
+ if (!menuBody.contains(target) && triggerEl && !target.matches(`.${this.context}--overflow-menu,.${this.context}--overflow-menu-options`)) {
230
+ this.closeMenuAndFocus();
236
231
  }
237
232
  }
238
233
  }, !hasFocusin);
239
-
240
- _this.props.onOpen();
234
+ this.props.onOpen();
241
235
  }
242
236
  });
243
237
 
244
- _defineProperty(_assertThisInitialized(_this), "_getTarget", function () {
245
- var triggerEl = _this._triggerRef.current;
238
+ _defineProperty(this, "_getTarget", () => {
239
+ const {
240
+ current: triggerEl
241
+ } = this._triggerRef;
246
242
  return triggerEl && triggerEl.closest('[data-floating-menu-container]') || document.body;
247
243
  });
248
-
249
- return _this;
250
244
  }
251
245
 
252
- _createClass(OverflowMenu, [{
253
- key: "componentDidUpdate",
254
- value: function componentDidUpdate(_, prevState) {
255
- var onClose = this.props.onClose;
246
+ componentDidUpdate(_, prevState) {
247
+ const {
248
+ onClose
249
+ } = this.props;
256
250
 
257
- if (!this.state.open && prevState.open) {
258
- onClose();
259
- }
251
+ if (!this.state.open && prevState.open) {
252
+ onClose();
260
253
  }
261
- }, {
262
- key: "componentDidMount",
263
- value: function componentDidMount() {
264
- // ensure that if open=true on first render, we wait
265
- // to render the floating menu until the trigger ref is not null
266
- if (this._triggerRef.current) {
267
- this.setState({
268
- hasMountedTrigger: true
269
- });
270
- }
271
- }
272
- }, {
273
- key: "componentWillUnmount",
274
- value: function componentWillUnmount() {
275
- if (typeof this._hBlurTimeout === 'number') {
276
- clearTimeout(this._hBlurTimeout);
277
- this._hBlurTimeout = undefined;
278
- }
279
- }
280
- }, {
281
- key: "render",
282
- value: function render() {
283
- var _classNames,
284
- _classNames2,
285
- _this2 = this;
286
-
287
- var prefix = this.context;
288
-
289
- var _this$props = this.props,
290
- id = _this$props.id,
291
- ariaLabel = _this$props['aria-label'],
292
- deprecatedAriaLabel = _this$props.ariaLabel,
293
- children = _this$props.children,
294
- iconDescription = _this$props.iconDescription,
295
- direction = _this$props.direction,
296
- flipped = _this$props.flipped,
297
- focusTrap = _this$props.focusTrap,
298
- menuOffset = _this$props.menuOffset,
299
- menuOffsetFlip = _this$props.menuOffsetFlip,
300
- iconClass = _this$props.iconClass;
301
- _this$props.onClick;
302
- _this$props.onOpen;
303
- _this$props.selectorPrimaryFocus;
304
- var IconElement = _this$props.renderIcon,
305
- ref = _this$props.innerRef,
306
- menuOptionsClass = _this$props.menuOptionsClass,
307
- light = _this$props.light,
308
- _this$props$size = _this$props.size,
309
- size = _this$props$size === void 0 ? 'md' : _this$props$size,
310
- other = _objectWithoutProperties(_this$props, _excluded);
311
-
312
- var open = this.state.open;
313
- var overflowMenuClasses = cx(this.props.className, "".concat(prefix, "--overflow-menu"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "--overflow-menu--open"), open), _defineProperty(_classNames, "".concat(prefix, "--overflow-menu--light"), light), _defineProperty(_classNames, "".concat(prefix, "--overflow-menu--").concat(size), size), _classNames));
314
- var overflowMenuOptionsClasses = cx(menuOptionsClass, "".concat(prefix, "--overflow-menu-options"), (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefix, "--overflow-menu--flip"), this.props.flipped), _defineProperty(_classNames2, "".concat(prefix, "--overflow-menu-options--open"), open), _defineProperty(_classNames2, "".concat(prefix, "--overflow-menu-options--light"), light), _defineProperty(_classNames2, "".concat(prefix, "--overflow-menu-options--").concat(size), size), _classNames2));
315
- var overflowMenuIconClasses = cx("".concat(prefix, "--overflow-menu__icon"), iconClass);
316
- var childrenWithProps = React__default.Children.toArray(children).map(function (child, index) {
317
- var _child$props;
318
-
319
- return /*#__PURE__*/React__default.cloneElement(child, {
320
- closeMenu: (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.closeMenu) || _this2.closeMenuAndFocus,
321
- handleOverflowMenuItemFocus: _this2.handleOverflowMenuItemFocus,
322
- ref: function ref(e) {
323
- _this2["overflowMenuItem".concat(index)] = e;
324
- },
325
- index: index
326
- });
254
+ }
255
+
256
+ componentDidMount() {
257
+ // ensure that if open=true on first render, we wait
258
+ // to render the floating menu until the trigger ref is not null
259
+ if (this._triggerRef.current) {
260
+ this.setState({
261
+ hasMountedTrigger: true
327
262
  });
328
- var menuBody = /*#__PURE__*/React__default.createElement("ul", {
329
- className: overflowMenuOptionsClasses,
330
- tabIndex: "-1",
331
- role: "menu",
332
- "aria-label": ariaLabel || deprecatedAriaLabel,
333
- onKeyDown: this.handleKeyPress
334
- }, childrenWithProps);
335
- var wrappedMenuBody = /*#__PURE__*/React__default.createElement(FloatingMenu, {
336
- focusTrap: focusTrap,
337
- triggerRef: this._triggerRef,
338
- menuDirection: direction,
339
- menuOffset: flipped ? menuOffsetFlip : menuOffset,
340
- menuRef: this._bindMenuBody,
341
- flipped: this.props.flipped,
342
- target: this._getTarget,
343
- onPlace: this._handlePlace,
344
- selectorPrimaryFocus: this.props.selectorPrimaryFocus
345
- }, /*#__PURE__*/React__default.cloneElement(menuBody, {
346
- 'data-floating-menu-direction': direction
347
- }));
348
- var iconProps = {
349
- className: overflowMenuIconClasses,
350
- 'aria-label': iconDescription
351
- };
352
- return /*#__PURE__*/React__default.createElement(ClickListener, {
353
- onClickOutside: this.handleClickOutside
354
- }, /*#__PURE__*/React__default.createElement("span", {
355
- className: "".concat(prefix, "--overflow-menu__wrapper")
356
- }, /*#__PURE__*/React__default.createElement(IconButton, _extends({}, other, {
357
- type: "button",
358
- "aria-haspopup": true,
359
- "aria-expanded": this.state.open,
360
- className: overflowMenuClasses,
361
- onClick: this.handleClick,
362
- id: id,
363
- ref: mergeRefs(this._triggerRef, ref),
364
- label: iconDescription
365
- }), /*#__PURE__*/React__default.createElement(IconElement, iconProps)), open && this.state.hasMountedTrigger && wrappedMenuBody));
366
263
  }
367
- }], [{
368
- key: "getDerivedStateFromProps",
369
- value: function getDerivedStateFromProps(_ref2, state) {
370
- var open = _ref2.open;
371
- var prevOpen = state.prevOpen;
372
- return prevOpen === open ? null : {
373
- open: open,
374
- prevOpen: open
375
- };
264
+ }
265
+
266
+ static getDerivedStateFromProps(_ref2, state) {
267
+ let {
268
+ open
269
+ } = _ref2;
270
+ const {
271
+ prevOpen
272
+ } = state;
273
+ return prevOpen === open ? null : {
274
+ open,
275
+ prevOpen: open
276
+ };
277
+ }
278
+
279
+ componentWillUnmount() {
280
+ if (typeof this._hBlurTimeout === 'number') {
281
+ clearTimeout(this._hBlurTimeout);
282
+ this._hBlurTimeout = undefined;
376
283
  }
377
- }]);
284
+ }
378
285
 
379
- return OverflowMenu;
380
- }(Component);
286
+ render() {
287
+ const prefix = this.context;
288
+ const {
289
+ id,
290
+ ['aria-label']: ariaLabel,
291
+ ariaLabel: deprecatedAriaLabel,
292
+ children,
293
+ iconDescription,
294
+ direction,
295
+ flipped,
296
+ focusTrap,
297
+ menuOffset,
298
+ menuOffsetFlip,
299
+ iconClass,
300
+ onClick,
301
+ // eslint-disable-line
302
+ onOpen,
303
+ // eslint-disable-line
304
+ selectorPrimaryFocus = '[data-floating-menu-primary-focus]',
305
+ // eslint-disable-line
306
+ renderIcon: IconElement,
307
+ // eslint-disable-next-line react/prop-types
308
+ innerRef: ref,
309
+ menuOptionsClass,
310
+ light,
311
+ size = 'md',
312
+ ...other
313
+ } = this.props;
314
+ const {
315
+ open
316
+ } = this.state;
317
+ const overflowMenuClasses = cx(this.props.className, `${prefix}--overflow-menu`, {
318
+ [`${prefix}--overflow-menu--open`]: open,
319
+ [`${prefix}--overflow-menu--light`]: light,
320
+ [`${prefix}--overflow-menu--${size}`]: size
321
+ });
322
+ const overflowMenuOptionsClasses = cx(menuOptionsClass, `${prefix}--overflow-menu-options`, {
323
+ [`${prefix}--overflow-menu--flip`]: this.props.flipped,
324
+ [`${prefix}--overflow-menu-options--open`]: open,
325
+ [`${prefix}--overflow-menu-options--light`]: light,
326
+ [`${prefix}--overflow-menu-options--${size}`]: size
327
+ });
328
+ const overflowMenuIconClasses = cx(`${prefix}--overflow-menu__icon`, iconClass);
329
+ const childrenWithProps = React__default.Children.toArray(children).map((child, index) => {
330
+ var _child$props;
331
+
332
+ return /*#__PURE__*/React__default.cloneElement(child, {
333
+ closeMenu: (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.closeMenu) || this.closeMenuAndFocus,
334
+ handleOverflowMenuItemFocus: this.handleOverflowMenuItemFocus,
335
+ ref: e => {
336
+ this[`overflowMenuItem${index}`] = e;
337
+ },
338
+ index
339
+ });
340
+ });
341
+ const menuBody = /*#__PURE__*/React__default.createElement("ul", {
342
+ className: overflowMenuOptionsClasses,
343
+ tabIndex: "-1",
344
+ role: "menu",
345
+ "aria-label": ariaLabel || deprecatedAriaLabel,
346
+ onKeyDown: this.handleKeyPress
347
+ }, childrenWithProps);
348
+ const wrappedMenuBody = /*#__PURE__*/React__default.createElement(FloatingMenu, {
349
+ focusTrap: focusTrap,
350
+ triggerRef: this._triggerRef,
351
+ menuDirection: direction,
352
+ menuOffset: flipped ? menuOffsetFlip : menuOffset,
353
+ menuRef: this._bindMenuBody,
354
+ flipped: this.props.flipped,
355
+ target: this._getTarget,
356
+ onPlace: this._handlePlace,
357
+ selectorPrimaryFocus: this.props.selectorPrimaryFocus
358
+ }, /*#__PURE__*/React__default.cloneElement(menuBody, {
359
+ 'data-floating-menu-direction': direction
360
+ }));
361
+ const iconProps = {
362
+ className: overflowMenuIconClasses,
363
+ 'aria-label': iconDescription
364
+ };
365
+ return /*#__PURE__*/React__default.createElement(ClickListener, {
366
+ onClickOutside: this.handleClickOutside
367
+ }, /*#__PURE__*/React__default.createElement("span", {
368
+ className: `${prefix}--overflow-menu__wrapper`
369
+ }, /*#__PURE__*/React__default.createElement(IconButton, _extends({}, other, {
370
+ type: "button",
371
+ "aria-haspopup": true,
372
+ "aria-expanded": this.state.open,
373
+ className: overflowMenuClasses,
374
+ onClick: this.handleClick,
375
+ id: id,
376
+ ref: mergeRefs(this._triggerRef, ref),
377
+ label: iconDescription
378
+ }), /*#__PURE__*/React__default.createElement(IconElement, iconProps)), open && this.state.hasMountedTrigger && wrappedMenuBody));
379
+ }
381
380
 
382
- _defineProperty(OverflowMenu, "propTypes", (_defineProperty2 = {}, _defineProperty(_defineProperty2, 'aria-label', PropTypes.string), _defineProperty(_defineProperty2, "ariaLabel", deprecate(PropTypes.string, 'This prop syntax has been deprecated. Please use the new `aria-label`.')), _defineProperty(_defineProperty2, "children", PropTypes.node), _defineProperty(_defineProperty2, "className", PropTypes.string), _defineProperty(_defineProperty2, "direction", PropTypes.oneOf([DIRECTION_TOP, DIRECTION_BOTTOM])), _defineProperty(_defineProperty2, "flipped", PropTypes.bool), _defineProperty(_defineProperty2, "focusTrap", PropTypes.bool), _defineProperty(_defineProperty2, "iconClass", PropTypes.string), _defineProperty(_defineProperty2, "iconDescription", PropTypes.string.isRequired), _defineProperty(_defineProperty2, "id", PropTypes.string), _defineProperty(_defineProperty2, "light", deprecate(PropTypes.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.')), _defineProperty(_defineProperty2, "menuOffset", PropTypes.oneOfType([PropTypes.shape({
383
- top: PropTypes.number,
384
- left: PropTypes.number
385
- }), PropTypes.func])), _defineProperty(_defineProperty2, "menuOffsetFlip", PropTypes.oneOfType([PropTypes.shape({
386
- top: PropTypes.number,
387
- left: PropTypes.number
388
- }), PropTypes.func])), _defineProperty(_defineProperty2, "menuOptionsClass", PropTypes.string), _defineProperty(_defineProperty2, "onClick", PropTypes.func), _defineProperty(_defineProperty2, "onClose", PropTypes.func), _defineProperty(_defineProperty2, "onFocus", PropTypes.func), _defineProperty(_defineProperty2, "onKeyDown", PropTypes.func), _defineProperty(_defineProperty2, "onOpen", PropTypes.func), _defineProperty(_defineProperty2, "open", PropTypes.bool), _defineProperty(_defineProperty2, "renderIcon", PropTypes.oneOfType([PropTypes.func, PropTypes.object])), _defineProperty(_defineProperty2, "selectorPrimaryFocus", PropTypes.string), _defineProperty(_defineProperty2, "size", PropTypes.oneOf(['sm', 'md', 'lg'])), _defineProperty2));
381
+ }
382
+
383
+ _defineProperty(OverflowMenu, "propTypes", {
384
+ /**
385
+ * Specify a label to be read by screen readers on the container node
386
+ */
387
+ ['aria-label']: PropTypes.string,
388
+
389
+ /**
390
+ * Deprecated, please use `aria-label` instead.
391
+ * Specify a label to be read by screen readers on the container note.
392
+ */
393
+ ariaLabel: deprecate(PropTypes.string, 'This prop syntax has been deprecated. Please use the new `aria-label`.'),
394
+
395
+ /**
396
+ * The child nodes.
397
+ */
398
+ children: PropTypes.node,
399
+
400
+ /**
401
+ * The CSS class names.
402
+ */
403
+ className: PropTypes.string,
404
+
405
+ /**
406
+ * The menu direction.
407
+ */
408
+ direction: PropTypes.oneOf([DIRECTION_TOP, DIRECTION_BOTTOM]),
409
+
410
+ /**
411
+ * `true` if the menu alignment should be flipped.
412
+ */
413
+ flipped: PropTypes.bool,
414
+
415
+ /**
416
+ * Enable or disable focus trap behavior
417
+ */
418
+ focusTrap: PropTypes.bool,
419
+
420
+ /**
421
+ * The CSS class for the icon.
422
+ */
423
+ iconClass: PropTypes.string,
424
+
425
+ /**
426
+ * The icon description.
427
+ */
428
+ iconDescription: PropTypes.string.isRequired,
429
+
430
+ /**
431
+ * The element ID.
432
+ */
433
+ id: PropTypes.string,
434
+
435
+ /**
436
+ * `true` to use the light version. For use on $ui-01 backgrounds only.
437
+ * Don't use this to make OverflowMenu background color same as container background color.
438
+ */
439
+ light: deprecate(PropTypes.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.'),
440
+
441
+ /**
442
+ * The adjustment in position applied to the floating menu.
443
+ */
444
+ menuOffset: PropTypes.oneOfType([PropTypes.shape({
445
+ top: PropTypes.number,
446
+ left: PropTypes.number
447
+ }), PropTypes.func]),
448
+
449
+ /**
450
+ * The adjustment in position applied to the floating menu.
451
+ */
452
+ menuOffsetFlip: PropTypes.oneOfType([PropTypes.shape({
453
+ top: PropTypes.number,
454
+ left: PropTypes.number
455
+ }), PropTypes.func]),
456
+
457
+ /**
458
+ * The class to apply to the menu options
459
+ */
460
+ menuOptionsClass: PropTypes.string,
461
+
462
+ /**
463
+ * The event handler for the `click` event.
464
+ */
465
+ onClick: PropTypes.func,
466
+
467
+ /**
468
+ * Function called when menu is closed
469
+ */
470
+ onClose: PropTypes.func,
471
+
472
+ /**
473
+ * The event handler for the `focus` event.
474
+ */
475
+ onFocus: PropTypes.func,
476
+
477
+ /**
478
+ * The event handler for the `keydown` event.
479
+ */
480
+ onKeyDown: PropTypes.func,
481
+
482
+ /**
483
+ * Function called when menu is opened
484
+ */
485
+ onOpen: PropTypes.func,
486
+
487
+ /**
488
+ * `true` if the menu should be open.
489
+ */
490
+ open: PropTypes.bool,
491
+
492
+ /**
493
+ * Function called to override icon rendering.
494
+ */
495
+ renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
496
+
497
+ /**
498
+ * Specify a CSS selector that matches the DOM element that should
499
+ * be focused when the OverflowMenu opens
500
+ */
501
+ selectorPrimaryFocus: PropTypes.string,
502
+
503
+ /**
504
+ * Specify the size of the OverflowMenu. Currently supports either `sm`, 'md' (default) or 'lg` as an option.
505
+ */
506
+ size: PropTypes.oneOf(['sm', 'md', 'lg'])
507
+ });
389
508
 
390
509
  _defineProperty(OverflowMenu, "contextType", PrefixContext);
391
510
 
392
- _defineProperty(OverflowMenu, "defaultProps", (_defineProperty3 = {}, _defineProperty(_defineProperty3, 'aria-label', null), _defineProperty(_defineProperty3, "iconDescription", 'Options'), _defineProperty(_defineProperty3, "open", false), _defineProperty(_defineProperty3, "direction", DIRECTION_BOTTOM), _defineProperty(_defineProperty3, "flipped", false), _defineProperty(_defineProperty3, "focusTrap", true), _defineProperty(_defineProperty3, "renderIcon", OverflowMenuVertical), _defineProperty(_defineProperty3, "onClick", function onClick() {}), _defineProperty(_defineProperty3, "onKeyDown", function onKeyDown() {}), _defineProperty(_defineProperty3, "onClose", function onClose() {}), _defineProperty(_defineProperty3, "onOpen", function onOpen() {}), _defineProperty(_defineProperty3, "menuOffset", getMenuOffset), _defineProperty(_defineProperty3, "menuOffsetFlip", getMenuOffset), _defineProperty(_defineProperty3, "selectorPrimaryFocus", '[data-overflow-menu-primary-focus]'), _defineProperty3));
393
- ((function () {
394
- var forwardRef = function forwardRef(props, ref) {
395
- return /*#__PURE__*/React__default.createElement(OverflowMenu, _extends({}, props, {
396
- innerRef: ref
397
- }));
398
- };
511
+ _defineProperty(OverflowMenu, "defaultProps", {
512
+ ['aria-label']: null,
513
+ iconDescription: 'Options',
514
+ open: false,
515
+ direction: DIRECTION_BOTTOM,
516
+ flipped: false,
517
+ focusTrap: true,
518
+ renderIcon: OverflowMenuVertical,
519
+ onClick: () => {},
520
+ onKeyDown: () => {},
521
+ onClose: () => {},
522
+ onOpen: () => {},
523
+ menuOffset: getMenuOffset,
524
+ menuOffsetFlip: getMenuOffset,
525
+ selectorPrimaryFocus: '[data-overflow-menu-primary-focus]'
526
+ });
527
+ (() => {
528
+ const forwardRef = (props, ref) => /*#__PURE__*/React__default.createElement(OverflowMenu, _extends({}, props, {
529
+ innerRef: ref
530
+ }));
399
531
 
400
532
  forwardRef.displayName = 'OverflowMenu';
401
533
  return /*#__PURE__*/React__default.forwardRef(forwardRef);
402
- }))();
534
+ })();
403
535
 
404
536
  export { OverflowMenu, getMenuOffset };