@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
@@ -26,60 +26,42 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
26
26
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
27
27
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
28
 
29
- var _excluded = ["children", "className", "label", "onClose", "onOpen", "open", "size", "target", "x", "y"];
30
- var spacing = 8; // distance to keep to window edges, in px
31
-
32
- var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref, forwardRef) {
33
- var _cx;
34
-
35
- var children = _ref.children,
36
- className = _ref.className,
37
- label = _ref.label,
38
- onClose = _ref.onClose,
39
- onOpen = _ref.onOpen,
40
- open = _ref.open,
41
- _ref$size = _ref.size,
42
- size = _ref$size === void 0 ? 'sm' : _ref$size,
43
- _ref$target = _ref.target,
44
- target = _ref$target === void 0 ? document.body : _ref$target,
45
- _ref$x = _ref.x,
46
- x = _ref$x === void 0 ? 0 : _ref$x,
47
- _ref$y = _ref.y,
48
- y = _ref$y === void 0 ? 0 : _ref$y,
49
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
50
-
51
- var prefix = usePrefix.usePrefix();
52
- var focusReturn = React.useRef(null);
53
- var context = React.useContext(MenuContext.MenuContext);
54
- var isRoot = context.state.isRoot;
55
- var menuSize = isRoot ? size : context.state.size;
56
-
57
- var _useReducer = React.useReducer(MenuContext.menuReducer, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, context.state), {}, {
29
+ const spacing = 8; // distance to keep to window edges, in px
30
+
31
+ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref, forwardRef) {
32
+ let {
33
+ children,
34
+ className,
35
+ label,
36
+ onClose,
37
+ onOpen,
38
+ open,
39
+ size = 'sm',
40
+ target = document.body,
41
+ x = 0,
42
+ y = 0,
43
+ ...rest
44
+ } = _ref;
45
+ const prefix = usePrefix.usePrefix();
46
+ const focusReturn = React.useRef(null);
47
+ const context = React.useContext(MenuContext.MenuContext);
48
+ const isRoot = context.state.isRoot;
49
+ const menuSize = isRoot ? size : context.state.size;
50
+ const [childState, childDispatch] = React.useReducer(MenuContext.menuReducer, { ...context.state,
58
51
  isRoot: false,
59
- size: size,
52
+ size,
60
53
  requestCloseRoot: isRoot ? handleClose : context.state.requestCloseRoot
61
- })),
62
- _useReducer2 = _rollupPluginBabelHelpers.slicedToArray(_useReducer, 2),
63
- childState = _useReducer2[0],
64
- childDispatch = _useReducer2[1];
65
-
66
- var childContext = React.useMemo(function () {
54
+ });
55
+ const childContext = React.useMemo(() => {
67
56
  return {
68
57
  state: childState,
69
58
  dispatch: childDispatch
70
59
  };
71
60
  }, [childState, childDispatch]);
72
- var menu = React.useRef();
73
- var ref = useMergedRefs.useMergedRefs([forwardRef, menu]);
74
-
75
- var _useState = React.useState([-1, -1]),
76
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
77
- position = _useState2[0],
78
- setPosition = _useState2[1];
79
-
80
- var focusableItems = childContext.state.items.filter(function (item) {
81
- return !item.disabled && item.ref.current;
82
- });
61
+ const menu = React.useRef();
62
+ const ref = useMergedRefs.useMergedRefs([forwardRef, menu]);
63
+ const [position, setPosition] = React.useState([-1, -1]);
64
+ const focusableItems = childContext.state.items.filter(item => !item.disabled && item.ref.current);
83
65
 
84
66
  function returnFocus() {
85
67
  if (focusReturn.current) {
@@ -90,9 +72,9 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
90
72
  function handleOpen() {
91
73
  if (menu.current) {
92
74
  focusReturn.current = document.activeElement;
93
- var pos = calculatePosition();
94
- menu.current.style.left = "".concat(pos[0], "px");
95
- menu.current.style.top = "".concat(pos[1], "px");
75
+ const pos = calculatePosition();
76
+ menu.current.style.left = `${pos[0]}px`;
77
+ menu.current.style.top = `${pos[1]}px`;
96
78
  setPosition(pos);
97
79
  menu.current.focus();
98
80
 
@@ -132,10 +114,8 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
132
114
  }
133
115
 
134
116
  function focusItem(e) {
135
- var currentItem = focusableItems.findIndex(function (item) {
136
- return item.ref.current.contains(document.activeElement);
137
- });
138
- var indexToFocus = currentItem; // if currentItem is -1, no menu item is focused yet.
117
+ const currentItem = focusableItems.findIndex(item => item.ref.current.contains(document.activeElement));
118
+ let indexToFocus = currentItem; // if currentItem is -1, no menu item is focused yet.
139
119
  // in this case, the first item should receive focus.
140
120
 
141
121
  if (currentItem === -1) {
@@ -159,7 +139,7 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
159
139
  }
160
140
 
161
141
  if (indexToFocus !== currentItem) {
162
- var nodeToFocus = focusableItems[indexToFocus];
142
+ const nodeToFocus = focusableItems[indexToFocus];
163
143
  nodeToFocus.ref.current.focus();
164
144
  }
165
145
  }
@@ -171,12 +151,12 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
171
151
  }
172
152
 
173
153
  function fitValue(range, axis) {
174
- var _menu$current$getBoun = menu.current.getBoundingClientRect(),
175
- width = _menu$current$getBoun.width,
176
- height = _menu$current$getBoun.height;
177
-
178
- var alignment = isRoot ? 'vertical' : 'horizontal';
179
- var axes = {
154
+ const {
155
+ width,
156
+ height
157
+ } = menu.current.getBoundingClientRect();
158
+ const alignment = isRoot ? 'vertical' : 'horizontal';
159
+ const axes = {
180
160
  x: {
181
161
  max: window.innerWidth,
182
162
  size: width,
@@ -193,28 +173,27 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
193
173
 
194
174
  }
195
175
  };
196
- var _axes$axis = axes[axis],
197
- max = _axes$axis.max,
198
- size = _axes$axis.size,
199
- anchor = _axes$axis.anchor,
200
- reversedAnchor = _axes$axis.reversedAnchor,
201
- offset = _axes$axis.offset; // get values for different scenarios, set to false if they don't work
202
-
203
- var options = [// towards max (preferred)
176
+ const {
177
+ max,
178
+ size,
179
+ anchor,
180
+ reversedAnchor,
181
+ offset
182
+ } = axes[axis]; // get values for different scenarios, set to false if they don't work
183
+
184
+ const options = [// towards max (preferred)
204
185
  max - spacing - size - anchor >= 0 ? anchor - offset : false, // towards min / reversed (first fallback)
205
186
  reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false, // align at max (second fallback)
206
187
  max - spacing - size];
207
- var bestOption = options.find(function (option) {
208
- return option !== false;
209
- });
188
+ const bestOption = options.find(option => option !== false);
210
189
  return bestOption >= spacing ? bestOption : spacing;
211
190
  }
212
191
 
213
192
  function calculatePosition() {
214
193
  if (menu.current) {
215
- var ranges = {
216
- x: _rollupPluginBabelHelpers["typeof"](x) === 'object' && x.length === 2 ? x : [x, x],
217
- y: _rollupPluginBabelHelpers["typeof"](y) === 'object' && y.length === 2 ? y : [y, y]
194
+ const ranges = {
195
+ x: typeof x === 'object' && x.length === 2 ? x : [x, x],
196
+ y: typeof y === 'object' && y.length === 2 ? y : [y, y]
218
197
  };
219
198
  return [fitValue(ranges.x, 'x'), fitValue(ranges.y, 'y')];
220
199
  }
@@ -222,13 +201,13 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
222
201
  return [-1, -1];
223
202
  }
224
203
 
225
- React.useEffect(function () {
204
+ React.useEffect(() => {
226
205
  if (open && focusableItems.length > 0) {
227
206
  focusItem();
228
207
  } // eslint-disable-next-line react-hooks/exhaustive-deps
229
208
 
230
209
  }, [open, focusableItems]);
231
- React.useEffect(function () {
210
+ React.useEffect(() => {
232
211
  if (open) {
233
212
  handleOpen();
234
213
  } else {
@@ -238,8 +217,16 @@ var Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_ref,
238
217
  } // eslint-disable-next-line react-hooks/exhaustive-deps
239
218
 
240
219
  }, [open]);
241
- var classNames = cx__default["default"](className, "".concat(prefix, "--menu"), "".concat(prefix, "--menu--").concat(menuSize), (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--menu--open"), open), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--menu--shown"), position[0] >= 0 && position[1] >= 0), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--menu--with-icons"), childContext.state.hasIcons), _cx));
242
- var rendered = /*#__PURE__*/React__default["default"].createElement(MenuContext.MenuContext.Provider, {
220
+ const classNames = cx__default["default"](className, `${prefix}--menu`, `${prefix}--menu--${menuSize}`, {
221
+ // --open sets visibility and --shown sets opacity.
222
+ // visibility is needed for focusing elements.
223
+ // opacity is only set once the position has been set correctly
224
+ // to avoid a flicker effect when opening.
225
+ [`${prefix}--menu--open`]: open,
226
+ [`${prefix}--menu--shown`]: position[0] >= 0 && position[1] >= 0,
227
+ [`${prefix}--menu--with-icons`]: childContext.state.hasIcons
228
+ });
229
+ const rendered = /*#__PURE__*/React__default["default"].createElement(MenuContext.MenuContext.Provider, {
243
230
  value: childContext
244
231
  }, /*#__PURE__*/React__default["default"].createElement("ul", _rollupPluginBabelHelpers["extends"]({}, rest, {
245
232
  className: classNames,
@@ -9,41 +9,38 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
- var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
12
  var React = require('react');
14
13
 
15
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
15
 
17
16
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
17
 
19
- var menuDefaultState = {
18
+ const menuDefaultState = {
20
19
  isRoot: true,
21
20
  hasIcons: false,
22
21
  size: null,
23
22
  items: [],
24
- requestCloseRoot: function requestCloseRoot() {}
23
+ requestCloseRoot: () => {}
25
24
  };
26
25
 
27
26
  function menuReducer(state, action) {
28
27
  switch (action.type) {
29
28
  case 'enableIcons':
30
- return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, state), {}, {
29
+ return { ...state,
31
30
  hasIcons: true
32
- });
31
+ };
33
32
 
34
33
  case 'registerItem':
35
- return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, state), {}, {
36
- items: [].concat(_rollupPluginBabelHelpers.toConsumableArray(state.items), [action.payload]).filter(function (item) {
37
- return item.ref.current !== null;
38
- })
39
- });
34
+ return { ...state,
35
+ items: [...state.items, action.payload].filter(item => item.ref.current !== null)
36
+ };
40
37
  }
41
38
  }
42
39
 
43
- var MenuContext = /*#__PURE__*/React__default["default"].createContext({
40
+ const MenuContext = /*#__PURE__*/React__default["default"].createContext({
44
41
  state: menuDefaultState,
45
42
  // 'dispatch' is populated by the root menu
46
- dispatch: function dispatch() {}
43
+ dispatch: () => {}
47
44
  });
48
45
 
49
46
  exports.MenuContext = MenuContext;
@@ -29,51 +29,33 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
29
29
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
30
 
31
31
  var _CaretRight;
32
-
33
- var _excluded = ["children", "className", "disabled", "kind", "label", "onClick", "renderIcon", "shortcut"],
34
- _excluded2 = ["className", "defaultSelected", "label", "onChange", "selected"],
35
- _excluded3 = ["children", "className", "label"],
36
- _excluded4 = ["className", "defaultSelectedItem", "items", "itemToString", "label", "onChange", "selectedItem"],
37
- _excluded5 = ["className"];
38
- var hoverIntentDelay = 150; // in ms
39
-
40
- var MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function MenuItem(_ref, forwardRef) {
41
- var _cx;
42
-
43
- var children = _ref.children,
44
- className = _ref.className,
45
- disabled = _ref.disabled,
46
- _ref$kind = _ref.kind,
47
- kind = _ref$kind === void 0 ? 'default' : _ref$kind,
48
- label = _ref.label,
49
- onClick = _ref.onClick,
50
- IconElement = _ref.renderIcon,
51
- shortcut = _ref.shortcut,
52
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
53
-
54
- var prefix = usePrefix.usePrefix();
55
- var context = React.useContext(MenuContext.MenuContext);
56
- var menuItem = React.useRef();
57
- var ref = useMergedRefs.useMergedRefs([forwardRef, menuItem]);
58
-
59
- var _useState = React.useState({
32
+ const hoverIntentDelay = 150; // in ms
33
+
34
+ const MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function MenuItem(_ref, forwardRef) {
35
+ let {
36
+ children,
37
+ className,
38
+ disabled,
39
+ kind = 'default',
40
+ label,
41
+ onClick,
42
+ renderIcon: IconElement,
43
+ shortcut,
44
+ ...rest
45
+ } = _ref;
46
+ const prefix = usePrefix.usePrefix();
47
+ const context = React.useContext(MenuContext.MenuContext);
48
+ const menuItem = React.useRef();
49
+ const ref = useMergedRefs.useMergedRefs([forwardRef, menuItem]);
50
+ const [boundaries, setBoundaries] = React.useState({
60
51
  x: -1,
61
52
  y: -1
62
- }),
63
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
64
- boundaries = _useState2[0],
65
- setBoundaries = _useState2[1];
66
-
67
- var hasChildren = Boolean(children);
68
-
69
- var _useState3 = React.useState(false),
70
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
71
- submenuOpen = _useState4[0],
72
- setSubmenuOpen = _useState4[1];
73
-
74
- var hoverIntentTimeout = React.useRef(null);
75
- var isDisabled = disabled && !hasChildren;
76
- var isDanger = kind === 'danger' && !hasChildren;
53
+ });
54
+ const hasChildren = Boolean(children);
55
+ const [submenuOpen, setSubmenuOpen] = React.useState(false);
56
+ const hoverIntentTimeout = React.useRef(null);
57
+ const isDisabled = disabled && !hasChildren;
58
+ const isDanger = kind === 'danger' && !hasChildren;
77
59
 
78
60
  function registerItem() {
79
61
  context.dispatch({
@@ -86,12 +68,12 @@ var MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function MenuIt
86
68
  }
87
69
 
88
70
  function openSubmenu() {
89
- var _menuItem$current$get = menuItem.current.getBoundingClientRect(),
90
- x = _menuItem$current$get.x,
91
- y = _menuItem$current$get.y,
92
- width = _menuItem$current$get.width,
93
- height = _menuItem$current$get.height;
94
-
71
+ const {
72
+ x,
73
+ y,
74
+ width,
75
+ height
76
+ } = menuItem.current.getBoundingClientRect();
95
77
  setBoundaries({
96
78
  x: [x, x + width],
97
79
  y: [y, y + height]
@@ -122,7 +104,7 @@ var MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function MenuIt
122
104
  }
123
105
 
124
106
  function handleMouseEnter() {
125
- hoverIntentTimeout.current = setTimeout(function () {
107
+ hoverIntentTimeout.current = setTimeout(() => {
126
108
  openSubmenu();
127
109
  }, hoverIntentDelay);
128
110
  }
@@ -148,10 +130,13 @@ var MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function MenuIt
148
130
  }
149
131
  }
150
132
 
151
- var classNames = cx__default["default"](className, "".concat(prefix, "--menu-item"), (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--menu-item--disabled"), isDisabled), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--menu-item--danger"), isDanger), _cx)); // on first render, register this menuitem in the context's state
133
+ const classNames = cx__default["default"](className, `${prefix}--menu-item`, {
134
+ [`${prefix}--menu-item--disabled`]: isDisabled,
135
+ [`${prefix}--menu-item--danger`]: isDanger
136
+ }); // on first render, register this menuitem in the context's state
152
137
  // (used for keyboard navigation)
153
138
 
154
- React.useEffect(function () {
139
+ React.useEffect(() => {
155
140
  registerItem(); // eslint-disable-next-line react-hooks/exhaustive-deps
156
141
  }, []);
157
142
  return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({
@@ -168,17 +153,17 @@ var MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function MenuIt
168
153
  onMouseLeave: hasChildren ? handleMouseLeave : null,
169
154
  onKeyDown: handleKeyDown
170
155
  }), /*#__PURE__*/React__default["default"].createElement("div", {
171
- className: "".concat(prefix, "--menu-item__icon")
156
+ className: `${prefix}--menu-item__icon`
172
157
  }, IconElement && /*#__PURE__*/React__default["default"].createElement(IconElement, null)), /*#__PURE__*/React__default["default"].createElement("div", {
173
- className: "".concat(prefix, "--menu-item__label")
158
+ className: `${prefix}--menu-item__label`
174
159
  }, label), shortcut && !hasChildren && /*#__PURE__*/React__default["default"].createElement("div", {
175
- className: "".concat(prefix, "--menu-item__shortcut")
160
+ className: `${prefix}--menu-item__shortcut`
176
161
  }, shortcut), hasChildren && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
177
- className: "".concat(prefix, "--menu-item__shortcut")
162
+ className: `${prefix}--menu-item__shortcut`
178
163
  }, _CaretRight || (_CaretRight = /*#__PURE__*/React__default["default"].createElement(icons.CaretRight, null))), /*#__PURE__*/React__default["default"].createElement(Menu.Menu, {
179
164
  label: label,
180
165
  open: submenuOpen,
181
- onClose: function onClose() {
166
+ onClose: () => {
182
167
  closeSubmenu();
183
168
  menuItem.current.focus();
184
169
  },
@@ -227,25 +212,22 @@ MenuItem.propTypes = {
227
212
  */
228
213
  shortcut: PropTypes__default["default"].string
229
214
  };
230
- var MenuItemSelectable = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemSelectable(_ref2, forwardRef) {
231
- var className = _ref2.className,
232
- defaultSelected = _ref2.defaultSelected,
233
- label = _ref2.label,
234
- onChange = _ref2.onChange,
235
- selected = _ref2.selected,
236
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref2, _excluded2);
237
-
238
- var prefix = usePrefix.usePrefix();
239
- var context = React.useContext(MenuContext.MenuContext);
240
-
241
- var _useControllableState = useControllableState.useControllableState({
215
+ const MenuItemSelectable = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemSelectable(_ref2, forwardRef) {
216
+ let {
217
+ className,
218
+ defaultSelected,
219
+ label,
220
+ onChange,
221
+ selected,
222
+ ...rest
223
+ } = _ref2;
224
+ const prefix = usePrefix.usePrefix();
225
+ const context = React.useContext(MenuContext.MenuContext);
226
+ const [checked, setChecked] = useControllableState.useControllableState({
242
227
  value: selected,
243
- onChange: onChange,
244
- defaultValue: defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : false
245
- }),
246
- _useControllableState2 = _rollupPluginBabelHelpers.slicedToArray(_useControllableState, 2),
247
- checked = _useControllableState2[0],
248
- setChecked = _useControllableState2[1];
228
+ onChange,
229
+ defaultValue: defaultSelected ?? false
230
+ });
249
231
 
250
232
  function handleClick(e) {
251
233
  setChecked(!checked);
@@ -255,14 +237,14 @@ var MenuItemSelectable = /*#__PURE__*/React__default["default"].forwardRef(funct
255
237
  }
256
238
  }
257
239
 
258
- React.useEffect(function () {
240
+ React.useEffect(() => {
259
241
  if (!context.state.hasIcons) {
260
242
  context.dispatch({
261
243
  type: 'enableIcons'
262
244
  });
263
245
  }
264
246
  }, [context.state.hasIcons, context]);
265
- var classNames = cx__default["default"](className, "".concat(prefix, "--menu-item-selectable--selected"));
247
+ const classNames = cx__default["default"](className, `${prefix}--menu-item-selectable--selected`);
266
248
  return /*#__PURE__*/React__default["default"].createElement(MenuItem, _rollupPluginBabelHelpers["extends"]({}, rest, {
267
249
  ref: forwardRef,
268
250
  label: label,
@@ -299,14 +281,15 @@ MenuItemSelectable.propTypes = {
299
281
  */
300
282
  selected: PropTypes__default["default"].bool
301
283
  };
302
- var MenuItemGroup = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemGroup(_ref3, forwardRef) {
303
- var children = _ref3.children,
304
- className = _ref3.className,
305
- label = _ref3.label,
306
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref3, _excluded3);
307
-
308
- var prefix = usePrefix.usePrefix();
309
- var classNames = cx__default["default"](className, "".concat(prefix, "--menu-item-group"));
284
+ const MenuItemGroup = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemGroup(_ref3, forwardRef) {
285
+ let {
286
+ children,
287
+ className,
288
+ label,
289
+ ...rest
290
+ } = _ref3;
291
+ const prefix = usePrefix.usePrefix();
292
+ const classNames = cx__default["default"](className, `${prefix}--menu-item-group`);
310
293
  return /*#__PURE__*/React__default["default"].createElement("li", {
311
294
  className: classNames,
312
295
  role: "none",
@@ -332,30 +315,24 @@ MenuItemGroup.propTypes = {
332
315
  */
333
316
  label: PropTypes__default["default"].string.isRequired
334
317
  };
335
- var MenuItemRadioGroup = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemRadioGroup(_ref4, forwardRef) {
336
- var className = _ref4.className,
337
- defaultSelectedItem = _ref4.defaultSelectedItem,
338
- items = _ref4.items,
339
- _ref4$itemToString = _ref4.itemToString,
340
- itemToString = _ref4$itemToString === void 0 ? function (item) {
341
- return item.toString();
342
- } : _ref4$itemToString,
343
- label = _ref4.label,
344
- onChange = _ref4.onChange,
345
- selectedItem = _ref4.selectedItem,
346
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref4, _excluded4);
347
-
348
- var prefix = usePrefix.usePrefix();
349
- var context = React.useContext(MenuContext.MenuContext);
350
-
351
- var _useControllableState3 = useControllableState.useControllableState({
318
+ const MenuItemRadioGroup = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemRadioGroup(_ref4, forwardRef) {
319
+ let {
320
+ className,
321
+ defaultSelectedItem,
322
+ items,
323
+ itemToString = item => item.toString(),
324
+ label,
325
+ onChange,
326
+ selectedItem,
327
+ ...rest
328
+ } = _ref4;
329
+ const prefix = usePrefix.usePrefix();
330
+ const context = React.useContext(MenuContext.MenuContext);
331
+ const [selection, setSelection] = useControllableState.useControllableState({
352
332
  value: selectedItem,
353
- onChange: onChange,
333
+ onChange,
354
334
  defaultValue: defaultSelectedItem
355
- }),
356
- _useControllableState4 = _rollupPluginBabelHelpers.slicedToArray(_useControllableState3, 2),
357
- selection = _useControllableState4[0],
358
- setSelection = _useControllableState4[1];
335
+ });
359
336
 
360
337
  function handleClick(item, e) {
361
338
  setSelection(item);
@@ -365,14 +342,14 @@ var MenuItemRadioGroup = /*#__PURE__*/React__default["default"].forwardRef(funct
365
342
  }
366
343
  }
367
344
 
368
- React.useEffect(function () {
345
+ React.useEffect(() => {
369
346
  if (!context.state.hasIcons) {
370
347
  context.dispatch({
371
348
  type: 'enableIcons'
372
349
  });
373
350
  }
374
351
  }, [context.state.hasIcons, context]);
375
- var classNames = cx__default["default"](className, "".concat(prefix, "--menu-item-radio-group"));
352
+ const classNames = cx__default["default"](className, `${prefix}--menu-item-radio-group`);
376
353
  return /*#__PURE__*/React__default["default"].createElement("li", {
377
354
  className: classNames,
378
355
  role: "none",
@@ -380,18 +357,16 @@ var MenuItemRadioGroup = /*#__PURE__*/React__default["default"].forwardRef(funct
380
357
  }, /*#__PURE__*/React__default["default"].createElement("ul", _rollupPluginBabelHelpers["extends"]({}, rest, {
381
358
  role: "group",
382
359
  "aria-label": label
383
- }), items.map(function (item, i) {
384
- return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
385
- key: i,
386
- label: itemToString(item),
387
- role: "menuitemradio",
388
- "aria-checked": item === selection,
389
- renderIcon: item === selection && icons.Checkmark,
390
- onClick: function onClick(e) {
391
- handleClick(item, e);
392
- }
393
- });
394
- })));
360
+ }), items.map((item, i) => /*#__PURE__*/React__default["default"].createElement(MenuItem, {
361
+ key: i,
362
+ label: itemToString(item),
363
+ role: "menuitemradio",
364
+ "aria-checked": item === selection,
365
+ renderIcon: item === selection && icons.Checkmark,
366
+ onClick: e => {
367
+ handleClick(item, e);
368
+ }
369
+ }))));
395
370
  });
396
371
  MenuItemRadioGroup.propTypes = {
397
372
  /**
@@ -429,12 +404,13 @@ MenuItemRadioGroup.propTypes = {
429
404
  */
430
405
  selectedItem: PropTypes__default["default"].any
431
406
  };
432
- var MenuItemDivider = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemDivider(_ref5, forwardRef) {
433
- var className = _ref5.className,
434
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref5, _excluded5);
435
-
436
- var prefix = usePrefix.usePrefix();
437
- var classNames = cx__default["default"](className, "".concat(prefix, "--menu-item-divider"));
407
+ const MenuItemDivider = /*#__PURE__*/React__default["default"].forwardRef(function MenuItemDivider(_ref5, forwardRef) {
408
+ let {
409
+ className,
410
+ ...rest
411
+ } = _ref5;
412
+ const prefix = usePrefix.usePrefix();
413
+ const classNames = cx__default["default"](className, `${prefix}--menu-item-divider`);
438
414
  return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({}, rest, {
439
415
  className: classNames,
440
416
  role: "separator",