@carbon/react 1.27.0-rc.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 +28 -26
  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 +211 -210
  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 +27 -25
  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 +210 -209
  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 +9 -9
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, objectSpread2 as _objectSpread2, createClass as _createClass, typeof as _typeof } from '../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
10
  import React__default from 'react';
11
11
  import ReactDOM from 'react-dom';
@@ -46,10 +46,10 @@ import { PrefixContext } from './usePrefix.js';
46
46
  * @property {string} position Position style (static, absolute, relative...)
47
47
  */
48
48
 
49
- var DIRECTION_LEFT = 'left';
50
- var DIRECTION_TOP = 'top';
51
- var DIRECTION_RIGHT = 'right';
52
- var DIRECTION_BOTTOM = 'bottom';
49
+ const DIRECTION_LEFT = 'left';
50
+ const DIRECTION_TOP = 'top';
51
+ const DIRECTION_RIGHT = 'right';
52
+ const DIRECTION_BOTTOM = 'bottom';
53
53
  /**
54
54
  * @param {FloatingMenu~offset} [oldMenuOffset={}] The old value.
55
55
  * @param {FloatingMenu~offset} [menuOffset={}] The new value.
@@ -57,11 +57,11 @@ var DIRECTION_BOTTOM = 'bottom';
57
57
  * @private
58
58
  */
59
59
 
60
- var hasChangeInOffset = function hasChangeInOffset() {
61
- var oldMenuOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
62
- var menuOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
60
+ const hasChangeInOffset = function () {
61
+ let oldMenuOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
62
+ let menuOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
63
63
 
64
- if (_typeof(oldMenuOffset) !== _typeof(menuOffset)) {
64
+ if (typeof oldMenuOffset !== typeof menuOffset) {
65
65
  return true;
66
66
  }
67
67
 
@@ -85,64 +85,56 @@ var hasChangeInOffset = function hasChangeInOffset() {
85
85
  */
86
86
 
87
87
 
88
- var getFloatingPosition = function getFloatingPosition(_ref) {
89
- var _DIRECTION_LEFT$DIREC;
90
-
91
- var menuSize = _ref.menuSize,
92
- _ref$refPosition = _ref.refPosition,
93
- refPosition = _ref$refPosition === void 0 ? {} : _ref$refPosition,
94
- _ref$offset = _ref.offset,
95
- offset = _ref$offset === void 0 ? {} : _ref$offset,
96
- _ref$direction = _ref.direction,
97
- direction = _ref$direction === void 0 ? DIRECTION_BOTTOM : _ref$direction,
98
- _ref$scrollX = _ref.scrollX,
99
- pageXOffset = _ref$scrollX === void 0 ? 0 : _ref$scrollX,
100
- _ref$scrollY = _ref.scrollY,
101
- pageYOffset = _ref$scrollY === void 0 ? 0 : _ref$scrollY,
102
- container = _ref.container;
103
- var _refPosition$left = refPosition.left,
104
- refLeft = _refPosition$left === void 0 ? 0 : _refPosition$left,
105
- _refPosition$top = refPosition.top,
106
- refTop = _refPosition$top === void 0 ? 0 : _refPosition$top,
107
- _refPosition$right = refPosition.right,
108
- refRight = _refPosition$right === void 0 ? 0 : _refPosition$right,
109
- _refPosition$bottom = refPosition.bottom,
110
- refBottom = _refPosition$bottom === void 0 ? 0 : _refPosition$bottom;
111
- var scrollX = container.position !== 'static' ? 0 : pageXOffset;
112
- var scrollY = container.position !== 'static' ? 0 : pageYOffset;
113
- var relativeDiff = {
88
+ const getFloatingPosition = _ref => {
89
+ let {
90
+ menuSize,
91
+ refPosition = {},
92
+ offset = {},
93
+ direction = DIRECTION_BOTTOM,
94
+ scrollX: pageXOffset = 0,
95
+ scrollY: pageYOffset = 0,
96
+ container
97
+ } = _ref;
98
+ const {
99
+ left: refLeft = 0,
100
+ top: refTop = 0,
101
+ right: refRight = 0,
102
+ bottom: refBottom = 0
103
+ } = refPosition;
104
+ const scrollX = container.position !== 'static' ? 0 : pageXOffset;
105
+ const scrollY = container.position !== 'static' ? 0 : pageYOffset;
106
+ const relativeDiff = {
114
107
  top: container.position !== 'static' ? container.rect.top : 0,
115
108
  left: container.position !== 'static' ? container.rect.left : 0
116
109
  };
117
- var width = menuSize.width,
118
- height = menuSize.height;
119
- var _offset$top = offset.top,
120
- top = _offset$top === void 0 ? 0 : _offset$top,
121
- _offset$left = offset.left,
122
- left = _offset$left === void 0 ? 0 : _offset$left;
123
- var refCenterHorizontal = (refLeft + refRight) / 2;
124
- var refCenterVertical = (refTop + refBottom) / 2;
125
- return (_DIRECTION_LEFT$DIREC = {}, _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_LEFT, function () {
126
- return {
110
+ const {
111
+ width,
112
+ height
113
+ } = menuSize;
114
+ const {
115
+ top = 0,
116
+ left = 0
117
+ } = offset;
118
+ const refCenterHorizontal = (refLeft + refRight) / 2;
119
+ const refCenterVertical = (refTop + refBottom) / 2;
120
+ return {
121
+ [DIRECTION_LEFT]: () => ({
127
122
  left: refLeft - width + scrollX - left - relativeDiff.left,
128
123
  top: refCenterVertical - height / 2 + scrollY + top - 9 - relativeDiff.top
129
- };
130
- }), _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_TOP, function () {
131
- return {
124
+ }),
125
+ [DIRECTION_TOP]: () => ({
132
126
  left: refCenterHorizontal - width / 2 + scrollX + left - relativeDiff.left,
133
127
  top: refTop - height + scrollY - top - relativeDiff.top
134
- };
135
- }), _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_RIGHT, function () {
136
- return {
128
+ }),
129
+ [DIRECTION_RIGHT]: () => ({
137
130
  left: refRight + scrollX + left - relativeDiff.left,
138
131
  top: refCenterVertical - height / 2 + scrollY + top + 3 - relativeDiff.top
139
- };
140
- }), _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_BOTTOM, function () {
141
- return {
132
+ }),
133
+ [DIRECTION_BOTTOM]: () => ({
142
134
  left: refCenterHorizontal - width / 2 + scrollX + left - relativeDiff.left,
143
135
  top: refBottom + scrollY + top - relativeDiff.top
144
- };
145
- }), _DIRECTION_LEFT$DIREC)[direction]();
136
+ })
137
+ }[direction]();
146
138
  };
147
139
  /**
148
140
  * A menu that is detached from the triggering element.
@@ -150,25 +142,16 @@ var getFloatingPosition = function getFloatingPosition(_ref) {
150
142
  */
151
143
 
152
144
 
153
- var FloatingMenu = /*#__PURE__*/function (_React$Component) {
154
- _inherits(FloatingMenu, _React$Component);
155
-
156
- var _super = _createSuper(FloatingMenu);
157
-
158
- function FloatingMenu() {
145
+ class FloatingMenu extends React__default.Component {
146
+ constructor() {
159
147
  var _this;
160
148
 
161
- _classCallCheck(this, FloatingMenu);
162
-
163
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
164
- args[_key] = arguments[_key];
165
- }
149
+ super(...arguments);
150
+ _this = this;
166
151
 
167
- _this = _super.call.apply(_super, [this].concat(args));
152
+ _defineProperty(this, "_placeInProgress", false);
168
153
 
169
- _defineProperty(_assertThisInitialized(_this), "_placeInProgress", false);
170
-
171
- _defineProperty(_assertThisInitialized(_this), "state", {
154
+ _defineProperty(this, "state", {
172
155
  /**
173
156
  * The position of the menu, relative to the top-left corner of the viewport.
174
157
  * @type {FloatingMenu~offset}
@@ -176,49 +159,53 @@ var FloatingMenu = /*#__PURE__*/function (_React$Component) {
176
159
  floatingPosition: undefined
177
160
  });
178
161
 
179
- _defineProperty(_assertThisInitialized(_this), "_menuContainer", null);
162
+ _defineProperty(this, "_menuContainer", null);
180
163
 
181
- _defineProperty(_assertThisInitialized(_this), "_menuBody", null);
164
+ _defineProperty(this, "_menuBody", null);
182
165
 
183
- _defineProperty(_assertThisInitialized(_this), "startSentinel", /*#__PURE__*/React__default.createRef());
166
+ _defineProperty(this, "startSentinel", /*#__PURE__*/React__default.createRef());
184
167
 
185
- _defineProperty(_assertThisInitialized(_this), "endSentinel", /*#__PURE__*/React__default.createRef());
168
+ _defineProperty(this, "endSentinel", /*#__PURE__*/React__default.createRef());
186
169
 
187
- _defineProperty(_assertThisInitialized(_this), "_updateMenuSize", function () {
188
- var prevProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
189
- var isAdjustment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
190
- var menuBody = _this._menuBody;
170
+ _defineProperty(this, "_updateMenuSize", function () {
171
+ let prevProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
172
+ let isAdjustment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
173
+ const menuBody = _this._menuBody;
191
174
  process.env.NODE_ENV !== "production" ? warning(menuBody, 'The DOM node for menu body for calculating its position is not available. Skipping...') : void 0;
192
175
 
193
176
  if (!menuBody) {
194
177
  return;
195
178
  }
196
179
 
197
- var _prevProps$menuOffset = prevProps.menuOffset,
198
- oldMenuOffset = _prevProps$menuOffset === void 0 ? {} : _prevProps$menuOffset,
199
- oldMenuDirection = prevProps.menuDirection;
200
- var _this$props = _this.props,
201
- _this$props$menuOffse = _this$props.menuOffset,
202
- menuOffset = _this$props$menuOffse === void 0 ? {} : _this$props$menuOffse,
203
- menuDirection = _this$props.menuDirection;
180
+ const {
181
+ menuOffset: oldMenuOffset = {},
182
+ menuDirection: oldMenuDirection
183
+ } = prevProps;
184
+ const {
185
+ menuOffset = {},
186
+ menuDirection
187
+ } = _this.props;
204
188
 
205
189
  if (hasChangeInOffset(oldMenuOffset, menuOffset) || oldMenuDirection !== menuDirection || isAdjustment) {
206
- var _this$props2 = _this.props,
207
- flipped = _this$props2.flipped,
208
- triggerRef = _this$props2.triggerRef,
209
- updateOrientation = _this$props2.updateOrientation;
210
- var triggerEl = triggerRef.current;
211
- var menuSize = menuBody.getBoundingClientRect();
212
- var refPosition = triggerEl && triggerEl.getBoundingClientRect();
213
- var offset = typeof menuOffset !== 'function' ? menuOffset : menuOffset(menuBody, menuDirection, triggerEl, flipped); // Optional function to allow parent component to check
190
+ const {
191
+ flipped,
192
+ triggerRef,
193
+ updateOrientation
194
+ } = _this.props;
195
+ const {
196
+ current: triggerEl
197
+ } = triggerRef;
198
+ const menuSize = menuBody.getBoundingClientRect();
199
+ const refPosition = triggerEl && triggerEl.getBoundingClientRect();
200
+ const offset = typeof menuOffset !== 'function' ? menuOffset : menuOffset(menuBody, menuDirection, triggerEl, flipped); // Optional function to allow parent component to check
214
201
  // if the orientation needs to be changed based on params
215
202
 
216
203
  if (updateOrientation) {
217
204
  updateOrientation({
218
- menuSize: menuSize,
219
- refPosition: refPosition,
205
+ menuSize,
206
+ refPosition,
220
207
  direction: menuDirection,
221
- offset: offset,
208
+ offset,
222
209
  scrollX: window.pageXOffset,
223
210
  scrollY: window.pageYOffset,
224
211
  container: {
@@ -234,10 +221,10 @@ var FloatingMenu = /*#__PURE__*/function (_React$Component) {
234
221
  if (menuSize.width > 0 && menuSize.height > 0 || !offset) {
235
222
  _this.setState({
236
223
  floatingPosition: getFloatingPosition({
237
- menuSize: menuSize,
238
- refPosition: refPosition,
224
+ menuSize,
225
+ refPosition,
239
226
  direction: menuDirection,
240
- offset: offset,
227
+ offset,
241
228
  scrollX: window.pageXOffset,
242
229
  scrollY: window.pageYOffset,
243
230
  container: {
@@ -245,9 +232,9 @@ var FloatingMenu = /*#__PURE__*/function (_React$Component) {
245
232
  position: getComputedStyle(_this.props.target()).position
246
233
  }
247
234
  })
248
- }, function () {
235
+ }, () => {
249
236
  if (!isAdjustment) {
250
- var newMenuSize = menuBody.getBoundingClientRect();
237
+ const newMenuSize = menuBody.getBoundingClientRect();
251
238
 
252
239
  if (newMenuSize !== menuSize) {
253
240
  _this._updateMenuSize(_this.props, true);
@@ -258,11 +245,11 @@ var FloatingMenu = /*#__PURE__*/function (_React$Component) {
258
245
  }
259
246
  });
260
247
 
261
- _defineProperty(_assertThisInitialized(_this), "_focusMenuContent", function (menuBody) {
262
- var primaryFocusNode = menuBody.querySelector(_this.props.selectorPrimaryFocus || null);
263
- var tabbableNode = menuBody.querySelector(selectorTabbable);
264
- var focusableNode = menuBody.querySelector(selectorFocusable);
265
- var focusTarget = primaryFocusNode || // User defined focusable node
248
+ _defineProperty(this, "_focusMenuContent", menuBody => {
249
+ const primaryFocusNode = menuBody.querySelector(this.props.selectorPrimaryFocus || null);
250
+ const tabbableNode = menuBody.querySelector(selectorTabbable);
251
+ const focusableNode = menuBody.querySelector(selectorFocusable);
252
+ const focusTarget = primaryFocusNode || // User defined focusable node
266
253
  tabbableNode || // First sequentially focusable node
267
254
  focusableNode || // First programmatic focusable node
268
255
  menuBody;
@@ -273,133 +260,139 @@ var FloatingMenu = /*#__PURE__*/function (_React$Component) {
273
260
  }
274
261
  });
275
262
 
276
- _defineProperty(_assertThisInitialized(_this), "_menuRef", function (menuBody) {
277
- var menuRef = _this.props.menuRef;
278
- _this._placeInProgress = !!menuBody;
279
- menuRef && menuRef(_this._menuBody = menuBody);
263
+ _defineProperty(this, "_menuRef", menuBody => {
264
+ const {
265
+ menuRef
266
+ } = this.props;
267
+ this._placeInProgress = !!menuBody;
268
+ menuRef && menuRef(this._menuBody = menuBody);
280
269
 
281
270
  if (menuBody) {
282
- _this._updateMenuSize();
271
+ this._updateMenuSize();
283
272
  }
284
273
  });
285
274
 
286
- _defineProperty(_assertThisInitialized(_this), "_getChildrenWithProps", function () {
287
- var _this$props3 = _this.props,
288
- styles = _this$props3.styles,
289
- children = _this$props3.children;
290
- var pos = _this.state.floatingPosition; // If no pos available, we need to hide the element (offscreen to the left)
275
+ _defineProperty(this, "_getChildrenWithProps", () => {
276
+ const {
277
+ styles,
278
+ children
279
+ } = this.props;
280
+ const {
281
+ floatingPosition: pos
282
+ } = this.state; // If no pos available, we need to hide the element (offscreen to the left)
291
283
  // This is done so we can measure the content before positioning it correctly.
292
284
 
293
- var positioningStyle = pos ? {
294
- left: "".concat(pos.left, "px"),
295
- top: "".concat(pos.top, "px"),
285
+ const positioningStyle = pos ? {
286
+ left: `${pos.left}px`,
287
+ top: `${pos.top}px`,
296
288
  right: 'auto'
297
289
  } : {
298
290
  visibility: 'hidden',
299
291
  top: '0px'
300
292
  };
301
293
  return /*#__PURE__*/React__default.cloneElement(children, {
302
- ref: _this._menuRef,
303
- style: _objectSpread2(_objectSpread2(_objectSpread2({}, styles), positioningStyle), {}, {
294
+ ref: this._menuRef,
295
+ style: { ...styles,
296
+ ...positioningStyle,
304
297
  position: 'absolute',
305
298
  opacity: 1
306
- })
299
+ }
307
300
  });
308
301
  });
309
302
 
310
- _defineProperty(_assertThisInitialized(_this), "handleBlur", function (_ref2) {
311
- var oldActiveNode = _ref2.target,
312
- currentActiveNode = _ref2.relatedTarget;
303
+ _defineProperty(this, "handleBlur", _ref2 => {
304
+ let {
305
+ target: oldActiveNode,
306
+ relatedTarget: currentActiveNode
307
+ } = _ref2;
313
308
 
314
309
  if (currentActiveNode && oldActiveNode) {
315
- var startSentinelNode = _this.startSentinel.current;
316
- var endSentinelNode = _this.endSentinel.current;
310
+ const {
311
+ current: startSentinelNode
312
+ } = this.startSentinel;
313
+ const {
314
+ current: endSentinelNode
315
+ } = this.endSentinel;
317
316
  wrapFocus({
318
- bodyNode: _this._menuBody,
319
- startSentinelNode: startSentinelNode,
320
- endSentinelNode: endSentinelNode,
321
- currentActiveNode: currentActiveNode,
322
- oldActiveNode: oldActiveNode
317
+ bodyNode: this._menuBody,
318
+ startSentinelNode,
319
+ endSentinelNode,
320
+ currentActiveNode,
321
+ oldActiveNode
323
322
  });
324
323
  }
325
324
  });
325
+ }
326
326
 
327
- return _this;
327
+ componentWillUnmount() {
328
+ this.hResize.release();
328
329
  }
329
330
 
330
- _createClass(FloatingMenu, [{
331
- key: "componentWillUnmount",
332
- value: function componentWillUnmount() {
333
- this.hResize.release();
334
- }
335
- }, {
336
- key: "componentDidMount",
337
- value: function componentDidMount() {
338
- var _this2 = this;
331
+ componentDidMount() {
332
+ this.hResize = OptimizedResize.add(() => {
333
+ this._updateMenuSize();
334
+ });
335
+ }
336
+ /**
337
+ * Set focus on floating menu content after menu placement.
338
+ * @param {Element} menuBody The DOM element of the menu body.
339
+ * @private
340
+ */
339
341
 
340
- this.hResize = OptimizedResize.add(function () {
341
- _this2._updateMenuSize();
342
- });
343
- }
344
- /**
345
- * Set focus on floating menu content after menu placement.
346
- * @param {Element} menuBody The DOM element of the menu body.
347
- * @private
348
- */
349
-
350
- }, {
351
- key: "componentDidUpdate",
352
- value: function componentDidUpdate(prevProps) {
353
- this._updateMenuSize(prevProps);
354
-
355
- var onPlace = this.props.onPlace;
356
-
357
- if (this._placeInProgress && this.state.floatingPosition) {
358
- if (this._menuBody && !this._menuBody.contains(document.activeElement)) {
359
- this._focusMenuContent(this._menuBody);
360
- }
361
342
 
362
- if (typeof onPlace === 'function') {
363
- onPlace(this._menuBody);
364
- this._placeInProgress = false;
365
- }
343
+ componentDidUpdate(prevProps) {
344
+ this._updateMenuSize(prevProps);
345
+
346
+ const {
347
+ onPlace
348
+ } = this.props;
349
+
350
+ if (this._placeInProgress && this.state.floatingPosition) {
351
+ if (this._menuBody && !this._menuBody.contains(document.activeElement)) {
352
+ this._focusMenuContent(this._menuBody);
366
353
  }
367
- }
368
- /**
369
- * A callback for called when menu body is mounted or unmounted.
370
- * @param {Element} menuBody The menu body being mounted. `null` if the menu body is being unmounted.
371
- */
372
-
373
- }, {
374
- key: "render",
375
- value: function render() {
376
- var prefix = this.context;
377
-
378
- if (typeof document !== 'undefined') {
379
- var _this$props4 = this.props,
380
- focusTrap = _this$props4.focusTrap,
381
- target = _this$props4.target;
382
- return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement("div", {
383
- onBlur: focusTrap ? this.handleBlur : null
384
- }, /*#__PURE__*/React__default.createElement("span", {
385
- ref: this.startSentinel,
386
- tabIndex: "0",
387
- role: "link",
388
- className: "".concat(prefix, "--visually-hidden")
389
- }, "Focus sentinel"), this._getChildrenWithProps(), /*#__PURE__*/React__default.createElement("span", {
390
- ref: this.endSentinel,
391
- tabIndex: "0",
392
- role: "link",
393
- className: "".concat(prefix, "--visually-hidden")
394
- }, "Focus sentinel")), !target ? document.body : target());
354
+
355
+ if (typeof onPlace === 'function') {
356
+ onPlace(this._menuBody);
357
+ this._placeInProgress = false;
395
358
  }
359
+ }
360
+ }
361
+ /**
362
+ * A callback for called when menu body is mounted or unmounted.
363
+ * @param {Element} menuBody The menu body being mounted. `null` if the menu body is being unmounted.
364
+ */
396
365
 
397
- return null;
366
+
367
+ render() {
368
+ const {
369
+ context: prefix
370
+ } = this;
371
+
372
+ if (typeof document !== 'undefined') {
373
+ const {
374
+ focusTrap,
375
+ target
376
+ } = this.props;
377
+ return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement("div", {
378
+ onBlur: focusTrap ? this.handleBlur : null
379
+ }, /*#__PURE__*/React__default.createElement("span", {
380
+ ref: this.startSentinel,
381
+ tabIndex: "0",
382
+ role: "link",
383
+ className: `${prefix}--visually-hidden`
384
+ }, "Focus sentinel"), this._getChildrenWithProps(), /*#__PURE__*/React__default.createElement("span", {
385
+ ref: this.endSentinel,
386
+ tabIndex: "0",
387
+ role: "link",
388
+ className: `${prefix}--visually-hidden`
389
+ }, "Focus sentinel")), !target ? document.body : target());
398
390
  }
399
- }]);
400
391
 
401
- return FloatingMenu;
402
- }(React__default.Component);
392
+ return null;
393
+ }
394
+
395
+ }
403
396
 
404
397
  _defineProperty(FloatingMenu, "contextType", PrefixContext);
405
398
 
@@ -9,12 +9,12 @@ import window from 'window-or-global';
9
9
 
10
10
  // mdn resize function
11
11
 
12
- var OptimizedResize = function optimizedResize() {
13
- var callbacks = [];
14
- var running = false; // run the actual callbacks
12
+ const OptimizedResize = function optimizedResize() {
13
+ const callbacks = [];
14
+ let running = false; // run the actual callbacks
15
15
 
16
16
  function runCallbacks() {
17
- callbacks.forEach(function (callback) {
17
+ callbacks.forEach(callback => {
18
18
  callback();
19
19
  });
20
20
  running = false;
@@ -31,7 +31,7 @@ var OptimizedResize = function optimizedResize() {
31
31
 
32
32
  function addCallback(callback) {
33
33
  if (callback) {
34
- var index = callbacks.indexOf(callback);
34
+ const index = callbacks.indexOf(callback);
35
35
 
36
36
  if (index < 0) {
37
37
  callbacks.push(callback);
@@ -41,20 +41,21 @@ var OptimizedResize = function optimizedResize() {
41
41
 
42
42
  return {
43
43
  // public method to add additional callback
44
- add: function add(callback) {
44
+ add: callback => {
45
45
  if (!callbacks.length) {
46
46
  window.addEventListener('resize', resize);
47
47
  }
48
48
 
49
49
  addCallback(callback);
50
50
  return {
51
- release: function release() {
52
- var index = callbacks.indexOf(callback);
51
+ release() {
52
+ const index = callbacks.indexOf(callback);
53
53
 
54
54
  if (index >= 0) {
55
55
  callbacks.splice(index, 1);
56
56
  }
57
57
  }
58
+
58
59
  };
59
60
  }
60
61
  };