@carbon/react 1.29.1 → 1.30.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +16 -5
  2. package/es/components/Accordion/Accordion.Skeleton.js +0 -7
  3. package/es/components/Accordion/Accordion.js +1 -8
  4. package/es/components/Accordion/AccordionItem.js +5 -19
  5. package/es/components/AspectRatio/AspectRatio.js +0 -5
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  7. package/es/components/Breadcrumb/Breadcrumb.js +0 -3
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +0 -7
  9. package/es/components/Button/Button.Skeleton.js +2 -7
  10. package/es/components/Button/Button.js +2 -36
  11. package/es/components/ButtonSet/ButtonSet.js +0 -2
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +0 -1
  13. package/es/components/Checkbox/Checkbox.js +4 -20
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +0 -11
  15. package/es/components/ClassPrefix/index.d.ts +26 -0
  16. package/es/components/ClassPrefix/index.js +0 -2
  17. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  18. package/es/components/CodeSnippet/CodeSnippet.js +6 -45
  19. package/es/components/ComboBox/ComboBox.js +12 -79
  20. package/es/components/ComboBox/tools/filter.js +0 -1
  21. package/es/components/ComboButton/index.js +0 -14
  22. package/es/components/ComposedModal/ComposedModal.js +2 -32
  23. package/es/components/ComposedModal/ModalFooter.js +0 -21
  24. package/es/components/ComposedModal/ModalHeader.js +0 -12
  25. package/es/components/ContainedList/ContainedList.js +5 -32
  26. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  27. package/es/components/ContentSwitcher/ContentSwitcher.js +11 -23
  28. package/es/components/ContextMenu/useContextMenu.js +1 -6
  29. package/es/components/Copy/Copy.js +8 -31
  30. package/es/components/CopyButton/CopyButton.js +0 -4
  31. package/es/components/DangerButton/DangerButton.js +0 -1
  32. package/es/components/DataTable/DataTable.js +171 -91
  33. package/es/components/DataTable/Table.js +0 -6
  34. package/es/components/DataTable/TableBatchAction.js +0 -4
  35. package/es/components/DataTable/TableBatchActions.js +0 -8
  36. package/es/components/DataTable/TableBody.js +0 -1
  37. package/es/components/DataTable/TableContainer.js +0 -5
  38. package/es/components/DataTable/TableExpandHeader.js +0 -7
  39. package/es/components/DataTable/TableExpandRow.js +0 -6
  40. package/es/components/DataTable/TableExpandedRow.js +0 -6
  41. package/es/components/DataTable/TableHeader.d.ts +1 -1
  42. package/es/components/DataTable/TableHeader.js +3 -19
  43. package/es/components/DataTable/TableRow.js +4 -5
  44. package/es/components/DataTable/TableSelectAll.js +0 -8
  45. package/es/components/DataTable/TableSelectRow.js +2 -10
  46. package/es/components/DataTable/TableToolbar.js +0 -3
  47. package/es/components/DataTable/TableToolbarMenu.d.ts +1 -1
  48. package/es/components/DataTable/TableToolbarMenu.js +3 -6
  49. package/es/components/DataTable/TableToolbarSearch.js +2 -30
  50. package/es/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  51. package/es/components/DataTable/state/sorting.js +5 -8
  52. package/es/components/DataTable/tools/denormalize.js +2 -2
  53. package/es/components/DataTable/tools/filter.js +0 -2
  54. package/es/components/DataTable/tools/instanceId.js +0 -1
  55. package/es/components/DataTable/tools/normalize.js +10 -10
  56. package/es/components/DataTable/tools/sorting.js +5 -13
  57. package/es/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  58. package/es/components/DatePicker/DatePicker.Skeleton.js +0 -6
  59. package/es/components/DatePicker/DatePicker.js +152 -174
  60. package/es/components/DatePicker/plugins/appendToPlugin.js +3 -7
  61. package/es/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  62. package/es/components/DatePicker/plugins/rangePlugin.js +2 -7
  63. package/es/components/DatePickerInput/DatePickerInput.js +2 -28
  64. package/es/components/Dropdown/Dropdown.Skeleton.js +0 -2
  65. package/es/components/Dropdown/Dropdown.js +43 -52
  66. package/es/components/ErrorBoundary/ErrorBoundary.js +0 -10
  67. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -10
  69. package/es/components/FeatureFlags/index.js +8 -20
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +0 -2
  71. package/es/components/FileUploader/FileUploader.js +3 -38
  72. package/es/components/FileUploader/FileUploaderButton.js +3 -24
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +1 -28
  74. package/es/components/FileUploader/FileUploaderItem.js +1 -11
  75. package/es/components/FileUploader/Filename.js +0 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  77. package/es/components/FluidComboBox/FluidComboBox.js +0 -18
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +0 -6
  80. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  81. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  82. package/es/components/FluidDropdown/FluidDropdown.js +0 -18
  83. package/es/components/FluidForm/FluidForm.js +0 -2
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  85. package/es/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  86. package/es/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  87. package/es/components/FluidSelect/FluidSelect.js +0 -10
  88. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  89. package/es/components/FluidTextArea/FluidTextArea.js +0 -20
  90. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  91. package/es/components/FluidTextInput/FluidTextInput.js +0 -14
  92. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  93. package/es/components/FluidTimePicker/FluidTimePicker.js +1 -11
  94. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  95. package/es/components/Form/Form.d.ts +23 -0
  96. package/es/components/Form/Form.js +3 -6
  97. package/es/components/Form/index.d.ts +7 -0
  98. package/es/components/FormGroup/FormGroup.js +0 -7
  99. package/es/components/FormItem/FormItem.js +0 -2
  100. package/es/components/FormLabel/FormLabel.js +1 -7
  101. package/es/components/Grid/CSSGrid.js +2 -15
  102. package/es/components/Grid/Column.js +18 -59
  103. package/es/components/Grid/ColumnHang.js +2 -5
  104. package/es/components/Grid/FlexGrid.js +2 -8
  105. package/es/components/Grid/Grid.js +0 -8
  106. package/es/components/Grid/GridContext.js +1 -3
  107. package/es/components/Grid/Row.js +2 -7
  108. package/es/components/Heading/index.js +0 -4
  109. package/es/components/Icon/Icon.Skeleton.js +2 -2
  110. package/es/components/IconButton/index.js +0 -10
  111. package/es/components/IdPrefix/index.js +0 -2
  112. package/es/components/InlineCheckbox/InlineCheckbox.js +0 -14
  113. package/es/components/InlineLoading/InlineLoading.js +0 -12
  114. package/es/components/Layer/index.js +3 -6
  115. package/es/components/Layout/LayoutDirection.js +0 -3
  116. package/es/components/Layout/useLayoutDirection.js +0 -1
  117. package/es/components/Link/Link.js +3 -10
  118. package/es/components/ListBox/ListBox.js +2 -13
  119. package/es/components/ListBox/ListBoxField.js +0 -5
  120. package/es/components/ListBox/ListBoxMenuIcon.js +0 -4
  121. package/es/components/ListBox/ListBoxMenuItem.js +2 -6
  122. package/es/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  123. package/es/components/ListBox/ListBoxSelection.js +1 -13
  124. package/es/components/ListBox/next/ListBoxSelection.js +1 -14
  125. package/es/components/ListBox/next/ListBoxTrigger.js +1 -3
  126. package/es/components/ListItem/ListItem.d.ts +23 -0
  127. package/es/components/ListItem/ListItem.js +4 -8
  128. package/es/components/ListItem/index.d.ts +7 -0
  129. package/es/components/Loading/Loading.js +0 -6
  130. package/es/components/Menu/Menu.js +22 -40
  131. package/es/components/Menu/MenuContext.js +4 -5
  132. package/es/components/Menu/MenuItem.js +5 -39
  133. package/es/components/MenuButton/index.js +0 -9
  134. package/es/components/Modal/Modal.js +0 -43
  135. package/es/components/ModalWrapper/ModalWrapper.js +2 -15
  136. package/es/components/MultiSelect/FilterableMultiSelect.js +2 -60
  137. package/es/components/MultiSelect/MultiSelect.js +22 -70
  138. package/es/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  139. package/es/components/MultiSelect/index.js +0 -1
  140. package/es/components/MultiSelect/tools/itemToString.js +0 -2
  141. package/es/components/MultiSelect/tools/sorting.js +3 -4
  142. package/es/components/Notification/Notification.js +0 -78
  143. package/es/components/NumberInput/NumberInput.Skeleton.js +0 -2
  144. package/es/components/NumberInput/NumberInput.js +3 -60
  145. package/es/components/OrderedList/OrderedList.d.ts +39 -0
  146. package/es/components/OrderedList/OrderedList.js +7 -19
  147. package/es/components/{Form/index.js → OrderedList/index.d.ts} +1 -3
  148. package/es/components/OverflowMenu/OverflowMenu.js +65 -86
  149. package/es/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  150. package/es/components/OverflowMenuV2/index.js +0 -5
  151. package/es/components/Pagination/Pagination.Skeleton.js +0 -2
  152. package/es/components/Pagination/Pagination.js +11 -47
  153. package/es/components/Pagination/experimental/PageSelector.js +0 -10
  154. package/es/components/Pagination/experimental/Pagination.js +2 -48
  155. package/es/components/PaginationNav/PaginationNav.js +15 -59
  156. package/es/components/Popover/index.d.ts +14 -8
  157. package/es/components/Popover/index.js +44 -48
  158. package/es/components/PrimaryButton/PrimaryButton.js +0 -1
  159. package/es/components/ProgressBar/ProgressBar.js +0 -15
  160. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  161. package/es/components/ProgressIndicator/ProgressIndicator.js +2 -40
  162. package/es/components/RadioButton/RadioButton.Skeleton.js +0 -1
  163. package/es/components/RadioButton/RadioButton.js +0 -13
  164. package/es/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  165. package/es/components/RadioTile/RadioTile.js +0 -12
  166. package/es/components/Search/Search.Skeleton.js +0 -2
  167. package/es/components/Search/Search.js +1 -28
  168. package/es/components/SecondaryButton/SecondaryButton.js +0 -1
  169. package/es/components/Select/Select.Skeleton.js +0 -2
  170. package/es/components/Select/Select.d.ts +1 -1
  171. package/es/components/Select/Select.js +6 -33
  172. package/es/components/SelectItem/SelectItem.js +0 -5
  173. package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  174. package/es/components/SelectItemGroup/SelectItemGroup.js +1 -7
  175. package/es/components/SkeletonIcon/SkeletonIcon.js +0 -2
  176. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  177. package/es/components/SkeletonText/SkeletonText.js +0 -12
  178. package/es/components/Slider/Slider.Skeleton.js +0 -2
  179. package/es/components/Slider/Slider.d.ts +0 -1
  180. package/es/components/Slider/Slider.js +112 -135
  181. package/es/components/Stack/Stack.js +1 -8
  182. package/es/components/StructuredList/StructuredList.Skeleton.js +0 -5
  183. package/es/components/StructuredList/StructuredList.js +1 -25
  184. package/es/components/Switch/IconSwitch.js +0 -18
  185. package/es/components/Switch/Switch.js +0 -11
  186. package/es/components/TabContent/TabContent.js +2 -6
  187. package/es/components/Tabs/Tabs.Skeleton.js +0 -4
  188. package/es/components/Tabs/Tabs.js +135 -104
  189. package/es/components/Tabs/usePressable.js +18 -31
  190. package/es/components/Tag/Tag.Skeleton.js +0 -2
  191. package/es/components/Tag/Tag.js +0 -15
  192. package/es/components/Text/Text.js +5 -18
  193. package/es/components/Text/TextDirection.js +0 -3
  194. package/es/components/Text/TextDirectionContext.js +0 -1
  195. package/es/components/Text/createTextComponent.js +0 -3
  196. package/es/components/TextArea/TextArea.Skeleton.js +0 -2
  197. package/es/components/TextArea/TextArea.js +11 -33
  198. package/es/components/TextInput/ControlledPasswordInput.js +0 -20
  199. package/es/components/TextInput/PasswordInput.js +0 -25
  200. package/es/components/TextInput/TextInput.Skeleton.js +0 -2
  201. package/es/components/TextInput/TextInput.d.ts +1 -1
  202. package/es/components/TextInput/TextInput.js +5 -33
  203. package/es/components/TextInput/util.js +3 -5
  204. package/es/components/Theme/index.js +1 -6
  205. package/es/components/Tile/Tile.js +32 -59
  206. package/es/components/TileGroup/TileGroup.js +1 -22
  207. package/es/components/TimePicker/TimePicker.js +6 -32
  208. package/es/components/TimePickerSelect/TimePickerSelect.js +2 -5
  209. package/es/components/Toggle/Toggle.Skeleton.js +0 -8
  210. package/es/components/Toggle/Toggle.js +0 -16
  211. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  212. package/es/components/Toggletip/index.d.ts +148 -0
  213. package/es/components/Toggletip/index.js +20 -44
  214. package/es/components/Tooltip/DefinitionTooltip.js +0 -11
  215. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  216. package/es/components/Tooltip/Tooltip.js +4 -21
  217. package/es/components/TreeView/TreeNode.js +21 -66
  218. package/es/components/TreeView/TreeView.js +11 -67
  219. package/es/components/UIShell/Content.js +2 -4
  220. package/es/components/UIShell/Header.js +0 -2
  221. package/es/components/UIShell/HeaderContainer.d.ts +33 -0
  222. package/es/components/UIShell/HeaderContainer.js +13 -11
  223. package/es/components/UIShell/HeaderGlobalAction.js +0 -6
  224. package/es/components/UIShell/HeaderGlobalBar.js +0 -1
  225. package/es/components/UIShell/HeaderMenu.js +32 -31
  226. package/es/components/UIShell/HeaderMenuButton.js +2 -4
  227. package/es/components/UIShell/HeaderMenuItem.js +0 -8
  228. package/es/components/UIShell/HeaderName.js +0 -5
  229. package/es/components/UIShell/HeaderNavigation.js +0 -2
  230. package/es/components/UIShell/HeaderPanel.js +0 -2
  231. package/es/components/UIShell/HeaderSideNavItems.js +0 -2
  232. package/es/components/UIShell/Link.js +2 -3
  233. package/es/components/UIShell/SideNav.d.ts +3 -1
  234. package/es/components/UIShell/SideNav.js +44 -36
  235. package/es/components/UIShell/SideNavDetails.js +0 -3
  236. package/es/components/UIShell/SideNavDivider.js +0 -1
  237. package/es/components/UIShell/SideNavFooter.js +1 -4
  238. package/es/components/UIShell/SideNavHeader.js +0 -4
  239. package/es/components/UIShell/SideNavIcon.js +0 -3
  240. package/es/components/UIShell/SideNavItem.js +0 -3
  241. package/es/components/UIShell/SideNavItems.js +2 -6
  242. package/es/components/UIShell/SideNavLink.js +3 -7
  243. package/es/components/UIShell/SideNavLinkText.js +0 -2
  244. package/es/components/UIShell/SideNavMenu.js +0 -16
  245. package/es/components/UIShell/SideNavMenuItem.js +0 -2
  246. package/es/components/UIShell/SideNavSwitcher.js +2 -5
  247. package/es/components/UIShell/SkipToContent.d.ts +32 -0
  248. package/es/components/UIShell/SkipToContent.js +8 -15
  249. package/es/components/UIShell/Switcher.js +0 -2
  250. package/es/components/UIShell/SwitcherDivider.js +0 -1
  251. package/es/components/UIShell/SwitcherItem.js +0 -3
  252. package/es/components/UnorderedList/UnorderedList.d.ts +34 -0
  253. package/es/components/UnorderedList/UnorderedList.js +6 -16
  254. package/es/components/UnorderedList/index.d.ts +7 -0
  255. package/es/index.js +7 -8
  256. package/es/internal/ClickListener.js +3 -13
  257. package/es/internal/FloatingMenu.js +57 -63
  258. package/es/internal/OptimizedResize.js +6 -12
  259. package/es/internal/Selection.js +2 -25
  260. package/es/internal/createClassWrapper.js +0 -2
  261. package/es/internal/deprecateFieldOnObject.js +0 -4
  262. package/es/internal/focus/index.js +0 -1
  263. package/es/internal/keyboard/keys.js +2 -1
  264. package/es/internal/keyboard/match.js +1 -6
  265. package/es/internal/keyboard/navigation.js +8 -7
  266. package/es/internal/useAnnouncer.js +0 -1
  267. package/es/internal/useAttachedMenu.js +1 -9
  268. package/es/internal/useControllableState.js +6 -13
  269. package/es/internal/useDelayedState.js +2 -4
  270. package/es/internal/useEffectOnce.js +0 -1
  271. package/es/internal/useEvent.js +61 -3
  272. package/es/internal/useId.js +2 -5
  273. package/es/internal/useIsomorphicEffect.js +1 -0
  274. package/es/internal/useMergedRefs.js +2 -2
  275. package/es/internal/useNoInteractiveChildren.js +2 -13
  276. package/es/internal/useNormalizedInputProps.js +0 -3
  277. package/es/internal/useSavedCallback.js +0 -1
  278. package/es/internal/warning.js +0 -3
  279. package/es/internal/wrapFocus.js +1 -8
  280. package/es/prop-types/deprecate.js +2 -5
  281. package/es/prop-types/isRequiredOneOf.js +2 -5
  282. package/es/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  283. package/es/tools/array.js +0 -3
  284. package/es/tools/events.js +0 -3
  285. package/es/tools/mergeRefs.js +0 -2
  286. package/es/tools/wrapComponent.js +2 -5
  287. package/lib/_virtual/_rollupPluginBabelHelpers.js +17 -4
  288. package/lib/components/Accordion/Accordion.Skeleton.js +0 -7
  289. package/lib/components/Accordion/Accordion.js +1 -27
  290. package/lib/components/Accordion/AccordionItem.js +5 -19
  291. package/lib/components/AspectRatio/AspectRatio.js +0 -5
  292. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
  293. package/lib/components/Breadcrumb/Breadcrumb.js +0 -3
  294. package/lib/components/Breadcrumb/BreadcrumbItem.js +0 -7
  295. package/lib/components/Button/Button.Skeleton.js +2 -26
  296. package/lib/components/Button/Button.js +2 -36
  297. package/lib/components/ButtonSet/ButtonSet.js +0 -2
  298. package/lib/components/Checkbox/Checkbox.Skeleton.js +0 -1
  299. package/lib/components/Checkbox/Checkbox.js +4 -20
  300. package/lib/components/CheckboxGroup/CheckboxGroup.js +0 -11
  301. package/lib/components/ClassPrefix/index.d.ts +26 -0
  302. package/lib/components/ClassPrefix/index.js +0 -2
  303. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
  304. package/lib/components/CodeSnippet/CodeSnippet.js +6 -45
  305. package/lib/components/ComboBox/ComboBox.js +19 -86
  306. package/lib/components/ComboBox/tools/filter.js +0 -1
  307. package/lib/components/ComboButton/index.js +0 -14
  308. package/lib/components/ComposedModal/ComposedModal.js +2 -32
  309. package/lib/components/ComposedModal/ModalFooter.js +0 -21
  310. package/lib/components/ComposedModal/ModalHeader.js +0 -12
  311. package/lib/components/ContainedList/ContainedList.js +5 -32
  312. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
  313. package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -23
  314. package/lib/components/ContextMenu/useContextMenu.js +1 -6
  315. package/lib/components/Copy/Copy.js +8 -50
  316. package/lib/components/CopyButton/CopyButton.js +0 -4
  317. package/lib/components/DangerButton/DangerButton.js +0 -1
  318. package/lib/components/DataTable/DataTable.js +171 -91
  319. package/lib/components/DataTable/Table.js +0 -6
  320. package/lib/components/DataTable/TableBatchAction.js +0 -4
  321. package/lib/components/DataTable/TableBatchActions.js +0 -8
  322. package/lib/components/DataTable/TableBody.js +0 -1
  323. package/lib/components/DataTable/TableContainer.js +0 -5
  324. package/lib/components/DataTable/TableExpandHeader.js +0 -7
  325. package/lib/components/DataTable/TableExpandRow.js +0 -6
  326. package/lib/components/DataTable/TableExpandedRow.js +0 -6
  327. package/lib/components/DataTable/TableHeader.d.ts +1 -1
  328. package/lib/components/DataTable/TableHeader.js +3 -19
  329. package/lib/components/DataTable/TableRow.js +4 -5
  330. package/lib/components/DataTable/TableSelectAll.js +0 -8
  331. package/lib/components/DataTable/TableSelectRow.js +2 -10
  332. package/lib/components/DataTable/TableToolbar.js +0 -3
  333. package/lib/components/DataTable/TableToolbarMenu.d.ts +1 -1
  334. package/lib/components/DataTable/TableToolbarMenu.js +3 -6
  335. package/lib/components/DataTable/TableToolbarSearch.js +2 -30
  336. package/lib/components/DataTable/state/getDerivedStateFromProps.js +0 -4
  337. package/lib/components/DataTable/state/sorting.js +5 -8
  338. package/lib/components/DataTable/tools/denormalize.js +2 -2
  339. package/lib/components/DataTable/tools/filter.js +0 -2
  340. package/lib/components/DataTable/tools/instanceId.js +0 -1
  341. package/lib/components/DataTable/tools/normalize.js +10 -10
  342. package/lib/components/DataTable/tools/sorting.js +5 -13
  343. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
  344. package/lib/components/DatePicker/DatePicker.Skeleton.js +0 -6
  345. package/lib/components/DatePicker/DatePicker.js +152 -174
  346. package/lib/components/DatePicker/plugins/appendToPlugin.js +3 -7
  347. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
  348. package/lib/components/DatePicker/plugins/rangePlugin.js +2 -7
  349. package/lib/components/DatePickerInput/DatePickerInput.js +2 -28
  350. package/lib/components/Dropdown/Dropdown.Skeleton.js +0 -2
  351. package/lib/components/Dropdown/Dropdown.js +50 -59
  352. package/lib/components/ErrorBoundary/ErrorBoundary.js +0 -10
  353. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  354. package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -10
  355. package/lib/components/FeatureFlags/index.js +8 -20
  356. package/lib/components/FileUploader/FileUploader.Skeleton.js +0 -2
  357. package/lib/components/FileUploader/FileUploader.js +3 -57
  358. package/lib/components/FileUploader/FileUploaderButton.js +3 -43
  359. package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -28
  360. package/lib/components/FileUploader/FileUploaderItem.js +1 -30
  361. package/lib/components/FileUploader/Filename.js +0 -10
  362. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
  363. package/lib/components/FluidComboBox/FluidComboBox.js +0 -18
  364. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
  365. package/lib/components/FluidDatePicker/FluidDatePicker.js +0 -6
  366. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
  367. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
  368. package/lib/components/FluidDropdown/FluidDropdown.js +0 -18
  369. package/lib/components/FluidForm/FluidForm.js +0 -2
  370. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
  371. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
  372. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
  373. package/lib/components/FluidSelect/FluidSelect.js +0 -10
  374. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
  375. package/lib/components/FluidTextArea/FluidTextArea.js +0 -20
  376. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
  377. package/lib/components/FluidTextInput/FluidTextInput.js +0 -14
  378. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
  379. package/lib/components/FluidTimePicker/FluidTimePicker.js +1 -11
  380. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
  381. package/lib/components/Form/Form.d.ts +23 -0
  382. package/lib/components/Form/Form.js +3 -6
  383. package/lib/components/Form/index.d.ts +7 -0
  384. package/lib/components/FormGroup/FormGroup.js +0 -7
  385. package/lib/components/FormItem/FormItem.js +0 -2
  386. package/lib/components/FormLabel/FormLabel.js +1 -26
  387. package/lib/components/Grid/CSSGrid.js +2 -15
  388. package/lib/components/Grid/Column.js +18 -59
  389. package/lib/components/Grid/ColumnHang.js +2 -5
  390. package/lib/components/Grid/FlexGrid.js +2 -8
  391. package/lib/components/Grid/Grid.js +0 -8
  392. package/lib/components/Grid/GridContext.js +1 -3
  393. package/lib/components/Grid/Row.js +2 -7
  394. package/lib/components/Heading/index.js +0 -4
  395. package/lib/components/Icon/Icon.Skeleton.js +2 -2
  396. package/lib/components/IconButton/index.js +0 -10
  397. package/lib/components/IdPrefix/index.js +0 -2
  398. package/lib/components/InlineCheckbox/InlineCheckbox.js +0 -14
  399. package/lib/components/InlineLoading/InlineLoading.js +0 -12
  400. package/lib/components/Layer/index.js +3 -6
  401. package/lib/components/Layout/LayoutDirection.js +0 -3
  402. package/lib/components/Layout/useLayoutDirection.js +0 -1
  403. package/lib/components/Link/Link.js +3 -10
  404. package/lib/components/ListBox/ListBox.js +2 -13
  405. package/lib/components/ListBox/ListBoxField.js +0 -5
  406. package/lib/components/ListBox/ListBoxMenuIcon.js +0 -4
  407. package/lib/components/ListBox/ListBoxMenuItem.js +2 -6
  408. package/lib/components/ListBox/ListBoxPropTypes.d.ts +2 -2
  409. package/lib/components/ListBox/ListBoxSelection.js +1 -13
  410. package/lib/components/ListBox/next/ListBoxSelection.js +1 -14
  411. package/lib/components/ListBox/next/ListBoxTrigger.js +1 -3
  412. package/lib/components/ListItem/ListItem.d.ts +23 -0
  413. package/lib/components/ListItem/ListItem.js +4 -8
  414. package/lib/components/ListItem/index.d.ts +7 -0
  415. package/lib/components/Loading/Loading.js +0 -6
  416. package/lib/components/Menu/Menu.js +22 -40
  417. package/lib/components/Menu/MenuContext.js +4 -5
  418. package/lib/components/Menu/MenuItem.js +5 -39
  419. package/lib/components/MenuButton/index.js +0 -9
  420. package/lib/components/Modal/Modal.js +0 -43
  421. package/lib/components/ModalWrapper/ModalWrapper.js +2 -15
  422. package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -66
  423. package/lib/components/MultiSelect/MultiSelect.js +30 -78
  424. package/lib/components/MultiSelect/MultiSelectPropTypes.js +0 -1
  425. package/lib/components/MultiSelect/index.js +0 -1
  426. package/lib/components/MultiSelect/tools/itemToString.js +0 -2
  427. package/lib/components/MultiSelect/tools/sorting.js +3 -4
  428. package/lib/components/Notification/Notification.js +0 -78
  429. package/lib/components/NumberInput/NumberInput.Skeleton.js +0 -2
  430. package/lib/components/NumberInput/NumberInput.js +3 -60
  431. package/lib/components/OrderedList/OrderedList.d.ts +39 -0
  432. package/lib/components/OrderedList/OrderedList.js +7 -19
  433. package/lib/components/OrderedList/index.d.ts +7 -0
  434. package/lib/components/OverflowMenu/OverflowMenu.js +65 -86
  435. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
  436. package/lib/components/OverflowMenuV2/index.js +0 -5
  437. package/lib/components/Pagination/Pagination.Skeleton.js +0 -2
  438. package/lib/components/Pagination/Pagination.js +11 -47
  439. package/lib/components/Pagination/experimental/PageSelector.js +0 -10
  440. package/lib/components/Pagination/experimental/Pagination.js +2 -67
  441. package/lib/components/PaginationNav/PaginationNav.js +15 -78
  442. package/lib/components/Popover/index.d.ts +14 -8
  443. package/lib/components/Popover/index.js +44 -48
  444. package/lib/components/PrimaryButton/PrimaryButton.js +0 -1
  445. package/lib/components/ProgressBar/ProgressBar.js +0 -15
  446. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
  447. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -40
  448. package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -1
  449. package/lib/components/RadioButton/RadioButton.js +0 -13
  450. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
  451. package/lib/components/RadioTile/RadioTile.js +0 -12
  452. package/lib/components/Search/Search.Skeleton.js +0 -2
  453. package/lib/components/Search/Search.js +1 -28
  454. package/lib/components/SecondaryButton/SecondaryButton.js +0 -1
  455. package/lib/components/Select/Select.Skeleton.js +0 -2
  456. package/lib/components/Select/Select.d.ts +1 -1
  457. package/lib/components/Select/Select.js +6 -33
  458. package/lib/components/SelectItem/SelectItem.js +0 -5
  459. package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
  460. package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -26
  461. package/lib/components/SkeletonIcon/SkeletonIcon.js +0 -2
  462. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
  463. package/lib/components/SkeletonText/SkeletonText.js +0 -12
  464. package/lib/components/Slider/Slider.Skeleton.js +0 -2
  465. package/lib/components/Slider/Slider.d.ts +0 -1
  466. package/lib/components/Slider/Slider.js +112 -154
  467. package/lib/components/Stack/Stack.js +1 -8
  468. package/lib/components/StructuredList/StructuredList.Skeleton.js +0 -5
  469. package/lib/components/StructuredList/StructuredList.js +1 -25
  470. package/lib/components/Switch/IconSwitch.js +0 -18
  471. package/lib/components/Switch/Switch.js +0 -11
  472. package/lib/components/TabContent/TabContent.js +2 -6
  473. package/lib/components/Tabs/Tabs.Skeleton.js +0 -4
  474. package/lib/components/Tabs/Tabs.js +133 -102
  475. package/lib/components/Tabs/usePressable.js +18 -31
  476. package/lib/components/Tag/Tag.Skeleton.js +0 -2
  477. package/lib/components/Tag/Tag.js +0 -15
  478. package/lib/components/Text/Text.js +5 -18
  479. package/lib/components/Text/TextDirection.js +0 -3
  480. package/lib/components/Text/TextDirectionContext.js +0 -1
  481. package/lib/components/Text/createTextComponent.js +0 -3
  482. package/lib/components/TextArea/TextArea.Skeleton.js +0 -2
  483. package/lib/components/TextArea/TextArea.js +10 -32
  484. package/lib/components/TextInput/ControlledPasswordInput.js +0 -20
  485. package/lib/components/TextInput/PasswordInput.js +0 -25
  486. package/lib/components/TextInput/TextInput.Skeleton.js +0 -2
  487. package/lib/components/TextInput/TextInput.d.ts +1 -1
  488. package/lib/components/TextInput/TextInput.js +5 -52
  489. package/lib/components/TextInput/util.js +3 -5
  490. package/lib/components/Theme/index.js +1 -6
  491. package/lib/components/Tile/Tile.js +31 -58
  492. package/lib/components/TileGroup/TileGroup.js +1 -22
  493. package/lib/components/TimePicker/TimePicker.js +6 -32
  494. package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -5
  495. package/lib/components/Toggle/Toggle.Skeleton.js +0 -8
  496. package/lib/components/Toggle/Toggle.js +0 -16
  497. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
  498. package/lib/components/Toggletip/index.d.ts +148 -0
  499. package/lib/components/Toggletip/index.js +20 -44
  500. package/lib/components/Tooltip/DefinitionTooltip.js +0 -11
  501. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  502. package/lib/components/Tooltip/Tooltip.js +4 -21
  503. package/lib/components/TreeView/TreeNode.js +21 -66
  504. package/lib/components/TreeView/TreeView.js +11 -67
  505. package/lib/components/UIShell/Content.js +2 -4
  506. package/lib/components/UIShell/Header.js +0 -2
  507. package/lib/components/UIShell/HeaderContainer.d.ts +33 -0
  508. package/lib/components/UIShell/HeaderContainer.js +13 -11
  509. package/lib/components/UIShell/HeaderGlobalAction.js +0 -6
  510. package/lib/components/UIShell/HeaderGlobalBar.js +0 -1
  511. package/lib/components/UIShell/HeaderMenu.js +32 -31
  512. package/lib/components/UIShell/HeaderMenuButton.js +2 -4
  513. package/lib/components/UIShell/HeaderMenuItem.js +0 -8
  514. package/lib/components/UIShell/HeaderName.js +0 -5
  515. package/lib/components/UIShell/HeaderNavigation.js +0 -2
  516. package/lib/components/UIShell/HeaderPanel.js +0 -2
  517. package/lib/components/UIShell/HeaderSideNavItems.js +0 -2
  518. package/lib/components/UIShell/Link.js +2 -3
  519. package/lib/components/UIShell/SideNav.d.ts +3 -1
  520. package/lib/components/UIShell/SideNav.js +43 -35
  521. package/lib/components/UIShell/SideNavDetails.js +0 -3
  522. package/lib/components/UIShell/SideNavDivider.js +0 -1
  523. package/lib/components/UIShell/SideNavFooter.js +1 -4
  524. package/lib/components/UIShell/SideNavHeader.js +0 -4
  525. package/lib/components/UIShell/SideNavIcon.js +0 -3
  526. package/lib/components/UIShell/SideNavItem.js +0 -3
  527. package/lib/components/UIShell/SideNavItems.js +2 -6
  528. package/lib/components/UIShell/SideNavLink.js +3 -7
  529. package/lib/components/UIShell/SideNavLinkText.js +0 -2
  530. package/lib/components/UIShell/SideNavMenu.js +0 -16
  531. package/lib/components/UIShell/SideNavMenuItem.js +0 -2
  532. package/lib/components/UIShell/SideNavSwitcher.js +2 -5
  533. package/lib/components/UIShell/SkipToContent.d.ts +32 -0
  534. package/lib/components/UIShell/SkipToContent.js +8 -15
  535. package/lib/components/UIShell/Switcher.js +0 -2
  536. package/lib/components/UIShell/SwitcherDivider.js +0 -1
  537. package/lib/components/UIShell/SwitcherItem.js +0 -3
  538. package/lib/components/UnorderedList/UnorderedList.d.ts +34 -0
  539. package/lib/components/UnorderedList/UnorderedList.js +6 -16
  540. package/lib/components/UnorderedList/index.d.ts +7 -0
  541. package/lib/index.js +42 -43
  542. package/lib/internal/ClickListener.js +3 -13
  543. package/lib/internal/FloatingMenu.js +57 -63
  544. package/lib/internal/OptimizedResize.js +6 -12
  545. package/lib/internal/Selection.js +2 -25
  546. package/lib/internal/createClassWrapper.js +0 -2
  547. package/lib/internal/deprecateFieldOnObject.js +0 -4
  548. package/lib/internal/focus/index.js +0 -1
  549. package/lib/internal/keyboard/keys.js +2 -1
  550. package/lib/internal/keyboard/match.js +1 -6
  551. package/lib/internal/keyboard/navigation.js +8 -7
  552. package/lib/internal/useAnnouncer.js +0 -1
  553. package/lib/internal/useAttachedMenu.js +1 -9
  554. package/lib/internal/useControllableState.js +6 -13
  555. package/lib/internal/useDelayedState.js +2 -4
  556. package/lib/internal/useEffectOnce.js +0 -1
  557. package/lib/internal/useEvent.js +61 -2
  558. package/lib/internal/useId.js +2 -5
  559. package/lib/internal/useIsomorphicEffect.js +1 -0
  560. package/lib/internal/useMergedRefs.js +2 -2
  561. package/lib/internal/useNoInteractiveChildren.js +2 -13
  562. package/lib/internal/useNormalizedInputProps.js +0 -3
  563. package/lib/internal/useSavedCallback.js +0 -1
  564. package/lib/internal/warning.js +0 -3
  565. package/lib/internal/wrapFocus.js +1 -8
  566. package/lib/prop-types/deprecate.js +2 -5
  567. package/lib/prop-types/isRequiredOneOf.js +2 -5
  568. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
  569. package/lib/tools/array.js +0 -3
  570. package/lib/tools/events.js +0 -3
  571. package/lib/tools/mergeRefs.js +0 -2
  572. package/lib/tools/wrapComponent.js +2 -5
  573. package/package.json +9 -9
  574. package/es/components/Tab/Tab.js +0 -185
  575. package/es/components/Tab/index.js +0 -14
  576. package/es/components/TimePickerSelect/index.js +0 -13
  577. package/lib/components/Form/index.js +0 -17
  578. package/lib/components/Tab/Tab.js +0 -214
  579. package/lib/components/Tab/index.js +0 -39
  580. package/lib/components/TimePickerSelect/index.js +0 -38
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
8
+ import { type ComponentProps } from 'react';
9
+ type ListItemProps = ComponentProps<'li'>;
10
+ declare function ListItem({ className, ...other }: ListItemProps): JSX.Element;
11
+ declare namespace ListItem {
12
+ var propTypes: {
13
+ /**
14
+ * Specify the content for the ListItem
15
+ */
16
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
17
+ /**
18
+ * Specify an optional className to apply to the underlying `<li>` node
19
+ */
20
+ className: PropTypes.Requireable<string>;
21
+ };
22
+ }
23
+ export default ListItem;
@@ -21,9 +21,8 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
21
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
- const ListItem = _ref => {
24
+ function ListItem(_ref) {
25
25
  let {
26
- children,
27
26
  className,
28
27
  ...other
29
28
  } = _ref;
@@ -31,20 +30,17 @@ const ListItem = _ref => {
31
30
  const classNames = cx__default["default"](`${prefix}--list__item`, className);
32
31
  return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({
33
32
  className: classNames
34
- }, other), children);
35
- };
36
-
33
+ }, other));
34
+ }
37
35
  ListItem.propTypes = {
38
36
  /**
39
37
  * Specify the content for the ListItem
40
38
  */
41
39
  children: PropTypes__default["default"].node,
42
-
43
40
  /**
44
41
  * Specify an optional className to apply to the underlying `<li>` node
45
42
  */
46
43
  className: PropTypes__default["default"].string
47
44
  };
48
- var ListItem$1 = ListItem;
49
45
 
50
- exports["default"] = ListItem$1;
46
+ exports["default"] = ListItem;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export { default, default as ListItem } from './ListItem';
@@ -63,33 +63,27 @@ function Loading(_ref) {
63
63
  className: overlayClassName
64
64
  }, loading) : loading;
65
65
  }
66
-
67
66
  Loading.propTypes = {
68
67
  /**
69
68
  * Specify whether you want the loading indicator to be spinning or not
70
69
  */
71
70
  active: PropTypes__default["default"].bool,
72
-
73
71
  /**
74
72
  * Provide an optional className to be applied to the containing node
75
73
  */
76
74
  className: PropTypes__default["default"].string,
77
-
78
75
  /**
79
76
  * Specify a description that would be used to best describe the loading state
80
77
  */
81
78
  description: PropTypes__default["default"].string,
82
-
83
79
  /**
84
80
  * Provide an `id` to uniquely identify the label
85
81
  */
86
82
  id: deprecate["default"](PropTypes__default["default"].string, `\nThe prop \`id\` is no longer needed.`),
87
-
88
83
  /**
89
84
  * Specify whether you would like the small variant of <Loading>
90
85
  */
91
86
  small: PropTypes__default["default"].bool,
92
-
93
87
  /**
94
88
  * Specify whether you want the loader to be applied with an overlay
95
89
  */
@@ -47,7 +47,8 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
47
47
  const context = React.useContext(MenuContext.MenuContext);
48
48
  const isRoot = context.state.isRoot;
49
49
  const menuSize = isRoot ? size : context.state.size;
50
- const [childState, childDispatch] = React.useReducer(MenuContext.menuReducer, { ...context.state,
50
+ const [childState, childDispatch] = React.useReducer(MenuContext.menuReducer, {
51
+ ...context.state,
51
52
  isRoot: false,
52
53
  size,
53
54
  requestCloseRoot: isRoot ? handleClose : context.state.requestCloseRoot
@@ -62,13 +63,11 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
62
63
  const ref = useMergedRefs.useMergedRefs([forwardRef, menu]);
63
64
  const [position, setPosition] = React.useState([-1, -1]);
64
65
  const focusableItems = childContext.state.items.filter(item => !item.disabled && item.ref.current);
65
-
66
66
  function returnFocus() {
67
67
  if (focusReturn.current) {
68
68
  focusReturn.current.focus();
69
69
  }
70
70
  }
71
-
72
71
  function handleOpen() {
73
72
  if (menu.current) {
74
73
  focusReturn.current = document.activeElement;
@@ -77,13 +76,11 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
77
76
  menu.current.style.top = `${pos[1]}px`;
78
77
  setPosition(pos);
79
78
  menu.current.focus();
80
-
81
79
  if (onOpen) {
82
80
  onOpen();
83
81
  }
84
82
  }
85
83
  }
86
-
87
84
  function handleClose(e) {
88
85
  if (/^key/.test(e.type)) {
89
86
  window.addEventListener('keyup', returnFocus, {
@@ -96,60 +93,53 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
96
93
  } else {
97
94
  returnFocus();
98
95
  }
99
-
100
96
  if (onClose) {
101
97
  onClose();
102
98
  }
103
99
  }
104
-
105
100
  function handleKeyDown(e) {
106
- e.stopPropagation(); // if the user presses escape or this is a submenu
107
- // and the user presses ArrowLeft, close it
101
+ e.stopPropagation();
108
102
 
103
+ // if the user presses escape or this is a submenu
104
+ // and the user presses ArrowLeft, close it
109
105
  if ((match.match(e, keys.Escape) || !isRoot && match.match(e, keys.ArrowLeft)) && onClose) {
110
106
  handleClose(e);
111
107
  } else {
112
108
  focusItem(e);
113
109
  }
114
110
  }
115
-
116
111
  function focusItem(e) {
117
112
  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.
119
- // in this case, the first item should receive focus.
113
+ let indexToFocus = currentItem;
120
114
 
115
+ // if currentItem is -1, no menu item is focused yet.
116
+ // in this case, the first item should receive focus.
121
117
  if (currentItem === -1) {
122
118
  indexToFocus = 0;
123
119
  } else if (e) {
124
120
  if (match.match(e, keys.ArrowUp)) {
125
121
  indexToFocus = indexToFocus - 1;
126
122
  }
127
-
128
123
  if (match.match(e, keys.ArrowDown)) {
129
124
  indexToFocus = indexToFocus + 1;
130
125
  }
131
126
  }
132
-
133
127
  if (indexToFocus < 0) {
134
128
  indexToFocus = focusableItems.length - 1;
135
129
  }
136
-
137
130
  if (indexToFocus >= focusableItems.length) {
138
131
  indexToFocus = 0;
139
132
  }
140
-
141
133
  if (indexToFocus !== currentItem) {
142
134
  const nodeToFocus = focusableItems[indexToFocus];
143
135
  nodeToFocus.ref.current.focus();
144
136
  }
145
137
  }
146
-
147
138
  function handleBlur(e) {
148
139
  if (open && onClose && isRoot && !menu.current.contains(e.relatedTarget)) {
149
140
  handleClose(e);
150
141
  }
151
142
  }
152
-
153
143
  function fitValue(range, axis) {
154
144
  const {
155
145
  width,
@@ -170,25 +160,28 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
170
160
  anchor: alignment === 'horizontal' ? range[0] : range[1],
171
161
  reversedAnchor: alignment === 'horizontal' ? range[1] : range[0],
172
162
  offset: isRoot ? 0 : 4 // top padding in menu, used to align the menu items
173
-
174
163
  }
175
164
  };
165
+
176
166
  const {
177
167
  max,
178
168
  size,
179
169
  anchor,
180
170
  reversedAnchor,
181
171
  offset
182
- } = axes[axis]; // get values for different scenarios, set to false if they don't work
183
-
184
- const options = [// towards max (preferred)
185
- max - spacing - size - anchor >= 0 ? anchor - offset : false, // towards min / reversed (first fallback)
186
- reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false, // align at max (second fallback)
172
+ } = axes[axis];
173
+
174
+ // get values for different scenarios, set to false if they don't work
175
+ const options = [
176
+ // towards max (preferred)
177
+ max - spacing - size - anchor >= 0 ? anchor - offset : false,
178
+ // towards min / reversed (first fallback)
179
+ reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false,
180
+ // align at max (second fallback)
187
181
  max - spacing - size];
188
182
  const bestOption = options.find(option => option !== false);
189
183
  return bestOption >= spacing ? bestOption : spacing;
190
184
  }
191
-
192
185
  function calculatePosition() {
193
186
  if (menu.current) {
194
187
  const ranges = {
@@ -197,15 +190,13 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
197
190
  };
198
191
  return [fitValue(ranges.x, 'x'), fitValue(ranges.y, 'y')];
199
192
  }
200
-
201
193
  return [-1, -1];
202
194
  }
203
-
204
195
  React.useEffect(() => {
205
196
  if (open && focusableItems.length > 0) {
206
197
  focusItem();
207
- } // eslint-disable-next-line react-hooks/exhaustive-deps
208
-
198
+ }
199
+ // eslint-disable-next-line react-hooks/exhaustive-deps
209
200
  }, [open, focusableItems]);
210
201
  React.useEffect(() => {
211
202
  if (open) {
@@ -214,8 +205,8 @@ const Menu = /*#__PURE__*/React__default["default"].forwardRef(function Menu(_re
214
205
  // reset position when menu is closed in order for the --shown
215
206
  // modifier to be applied correctly
216
207
  setPosition(-1, -1);
217
- } // eslint-disable-next-line react-hooks/exhaustive-deps
218
-
208
+ }
209
+ // eslint-disable-next-line react-hooks/exhaustive-deps
219
210
  }, [open]);
220
211
  const classNames = cx__default["default"](className, `${prefix}--menu`, `${prefix}--menu--${menuSize}`, {
221
212
  // --open sets visibility and --shown sets opacity.
@@ -244,47 +235,38 @@ Menu.propTypes = {
244
235
  * A collection of MenuItems to be rendered within this Menu.
245
236
  */
246
237
  children: PropTypes__default["default"].node,
247
-
248
238
  /**
249
239
  * Additional CSS class names.
250
240
  */
251
241
  className: PropTypes__default["default"].string,
252
-
253
242
  /**
254
243
  * A label describing the Menu.
255
244
  */
256
245
  label: PropTypes__default["default"].string,
257
-
258
246
  /**
259
247
  * Provide an optional function to be called when the Menu should be closed.
260
248
  */
261
249
  onClose: PropTypes__default["default"].func,
262
-
263
250
  /**
264
251
  * Provide an optional function to be called when the Menu is opened.
265
252
  */
266
253
  onOpen: PropTypes__default["default"].func,
267
-
268
254
  /**
269
255
  * Whether the Menu is open or not.
270
256
  */
271
257
  open: PropTypes__default["default"].bool,
272
-
273
258
  /**
274
259
  * Specify the size of the Menu.
275
260
  */
276
261
  size: PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg']),
277
-
278
262
  /**
279
263
  * Specify a DOM node where the Menu should be rendered in. Defaults to document.body.
280
264
  */
281
265
  target: PropTypes__default["default"].object,
282
-
283
266
  /**
284
267
  * Specify the x position of the Menu. Either pass a single number or an array with two numbers describing your activator's boundaries ([x1, x2])
285
268
  */
286
269
  x: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].arrayOf(PropTypes__default["default"].number)]),
287
-
288
270
  /**
289
271
  * Specify the y position of the Menu. Either pass a single number or an array with two numbers describing your activator's boundaries ([y1, y2])
290
272
  */
@@ -22,21 +22,20 @@ const menuDefaultState = {
22
22
  items: [],
23
23
  requestCloseRoot: () => {}
24
24
  };
25
-
26
25
  function menuReducer(state, action) {
27
26
  switch (action.type) {
28
27
  case 'enableIcons':
29
- return { ...state,
28
+ return {
29
+ ...state,
30
30
  hasIcons: true
31
31
  };
32
-
33
32
  case 'registerItem':
34
- return { ...state,
33
+ return {
34
+ ...state,
35
35
  items: [...state.items, action.payload].filter(item => item.ref.current !== null)
36
36
  };
37
37
  }
38
38
  }
39
-
40
39
  const MenuContext = /*#__PURE__*/React__default["default"].createContext({
41
40
  state: menuDefaultState,
42
41
  // 'dispatch' is populated by the root menu
@@ -56,7 +56,6 @@ const MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function Menu
56
56
  const hoverIntentTimeout = React.useRef(null);
57
57
  const isDisabled = disabled && !hasChildren;
58
58
  const isDanger = kind === 'danger' && !hasChildren;
59
-
60
59
  function registerItem() {
61
60
  context.dispatch({
62
61
  type: 'registerItem',
@@ -66,7 +65,6 @@ const MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function Menu
66
65
  }
67
66
  });
68
67
  }
69
-
70
68
  function openSubmenu() {
71
69
  const {
72
70
  x,
@@ -80,7 +78,6 @@ const MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function Menu
80
78
  });
81
79
  setSubmenuOpen(true);
82
80
  }
83
-
84
81
  function closeSubmenu() {
85
82
  setSubmenuOpen(false);
86
83
  setBoundaries({
@@ -88,56 +85,50 @@ const MenuItem = /*#__PURE__*/React__default["default"].forwardRef(function Menu
88
85
  y: -1
89
86
  });
90
87
  }
91
-
92
88
  function handleClick(e) {
93
89
  if (!isDisabled) {
94
90
  if (hasChildren) {
95
91
  openSubmenu();
96
92
  } else {
97
93
  context.state.requestCloseRoot(e);
98
-
99
94
  if (onClick) {
100
95
  onClick(e);
101
96
  }
102
97
  }
103
98
  }
104
99
  }
105
-
106
100
  function handleMouseEnter() {
107
101
  hoverIntentTimeout.current = setTimeout(() => {
108
102
  openSubmenu();
109
103
  }, hoverIntentDelay);
110
104
  }
111
-
112
105
  function handleMouseLeave() {
113
106
  clearTimeout(hoverIntentTimeout.current);
114
107
  closeSubmenu();
115
108
  menuItem.current.focus();
116
109
  }
117
-
118
110
  function handleKeyDown(e) {
119
111
  if (hasChildren && match.match(e, keys.ArrowRight)) {
120
112
  openSubmenu();
121
113
  e.stopPropagation();
122
114
  }
123
-
124
115
  if (match.match(e, keys.Enter) || match.match(e, keys.Space)) {
125
116
  handleClick(e);
126
117
  }
127
-
128
118
  if (rest.onKeyDown) {
129
119
  rest.onKeyDown(e);
130
120
  }
131
121
  }
132
-
133
122
  const classNames = cx__default["default"](className, `${prefix}--menu-item`, {
134
123
  [`${prefix}--menu-item--disabled`]: isDisabled,
135
124
  [`${prefix}--menu-item--danger`]: isDanger
136
- }); // on first render, register this menuitem in the context's state
137
- // (used for keyboard navigation)
125
+ });
138
126
 
127
+ // on first render, register this menuitem in the context's state
128
+ // (used for keyboard navigation)
139
129
  React.useEffect(() => {
140
- registerItem(); // eslint-disable-next-line react-hooks/exhaustive-deps
130
+ registerItem();
131
+ // eslint-disable-next-line react-hooks/exhaustive-deps
141
132
  }, []);
142
133
  return /*#__PURE__*/React__default["default"].createElement("li", _rollupPluginBabelHelpers["extends"]({
143
134
  role: "menuitem"
@@ -176,37 +167,30 @@ MenuItem.propTypes = {
176
167
  * Optionally provide another Menu to create a submenu. props.children can't be used to specify the content of the MenuItem itself. Use props.label instead.
177
168
  */
178
169
  children: PropTypes__default["default"].node,
179
-
180
170
  /**
181
171
  * Additional CSS class names.
182
172
  */
183
173
  className: PropTypes__default["default"].string,
184
-
185
174
  /**
186
175
  * Specify whether the MenuItem is disabled or not.
187
176
  */
188
177
  disabled: PropTypes__default["default"].bool,
189
-
190
178
  /**
191
179
  * Specify the kind of the MenuItem.
192
180
  */
193
181
  kind: PropTypes__default["default"].oneOf(['default', 'danger']),
194
-
195
182
  /**
196
183
  * A required label titling the MenuItem. Will be rendered as its text content.
197
184
  */
198
185
  label: PropTypes__default["default"].string.isRequired,
199
-
200
186
  /**
201
187
  * Provide an optional function to be called when the MenuItem is clicked.
202
188
  */
203
189
  onClick: PropTypes__default["default"].func,
204
-
205
190
  /**
206
191
  * This prop is not intended for use. The only supported icons are Checkmarks to depict single- and multi-selects. This prop is used by MenuItemSelectable and MenuItemRadioGroup automatically.
207
192
  */
208
193
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
209
-
210
194
  /**
211
195
  * Provide a shortcut for the action of this MenuItem. Note that the component will only render it as a hint but not actually register the shortcut.
212
196
  */
@@ -228,15 +212,12 @@ const MenuItemSelectable = /*#__PURE__*/React__default["default"].forwardRef(fun
228
212
  onChange,
229
213
  defaultValue: defaultSelected ?? false
230
214
  });
231
-
232
215
  function handleClick(e) {
233
216
  setChecked(!checked);
234
-
235
217
  if (onChange) {
236
218
  onChange(e);
237
219
  }
238
220
  }
239
-
240
221
  React.useEffect(() => {
241
222
  if (!context.state.hasIcons) {
242
223
  context.dispatch({
@@ -260,22 +241,18 @@ MenuItemSelectable.propTypes = {
260
241
  * Additional CSS class names.
261
242
  */
262
243
  className: PropTypes__default["default"].string,
263
-
264
244
  /**
265
245
  * Specify whether the option should be selected by default.
266
246
  */
267
247
  defaultSelected: PropTypes__default["default"].bool,
268
-
269
248
  /**
270
249
  * A required label titling this option.
271
250
  */
272
251
  label: PropTypes__default["default"].string.isRequired,
273
-
274
252
  /**
275
253
  * Provide an optional function to be called when the selection state changes.
276
254
  */
277
255
  onChange: PropTypes__default["default"].func,
278
-
279
256
  /**
280
257
  * Pass a bool to props.selected to control the state of this option.
281
258
  */
@@ -304,12 +281,10 @@ MenuItemGroup.propTypes = {
304
281
  * A collection of MenuItems to be rendered within this group.
305
282
  */
306
283
  children: PropTypes__default["default"].node,
307
-
308
284
  /**
309
285
  * Additional CSS class names.
310
286
  */
311
287
  className: PropTypes__default["default"].string,
312
-
313
288
  /**
314
289
  * A required label titling this group.
315
290
  */
@@ -333,15 +308,12 @@ const MenuItemRadioGroup = /*#__PURE__*/React__default["default"].forwardRef(fun
333
308
  onChange,
334
309
  defaultValue: defaultSelectedItem
335
310
  });
336
-
337
311
  function handleClick(item, e) {
338
312
  setSelection(item);
339
-
340
313
  if (onChange) {
341
314
  onChange(e);
342
315
  }
343
316
  }
344
-
345
317
  React.useEffect(() => {
346
318
  if (!context.state.hasIcons) {
347
319
  context.dispatch({
@@ -373,32 +345,26 @@ MenuItemRadioGroup.propTypes = {
373
345
  * Additional CSS class names.
374
346
  */
375
347
  className: PropTypes__default["default"].string,
376
-
377
348
  /**
378
349
  * Specify the default selected item. Must match the type of props.items.
379
350
  */
380
351
  defaultSelectedItem: PropTypes__default["default"].any,
381
-
382
352
  /**
383
353
  * Provide a function to convert an item to the string that will be rendered. Defaults to item.toString().
384
354
  */
385
355
  itemToString: PropTypes__default["default"].func,
386
-
387
356
  /**
388
357
  * Provide the options for this radio group. Can be of any type, as long as you provide an appropriate props.itemToString function.
389
358
  */
390
359
  items: PropTypes__default["default"].array,
391
-
392
360
  /**
393
361
  * A required label titling this radio group.
394
362
  */
395
363
  label: PropTypes__default["default"].string.isRequired,
396
-
397
364
  /**
398
365
  * Provide an optional function to be called when the selection changes.
399
366
  */
400
367
  onChange: PropTypes__default["default"].func,
401
-
402
368
  /**
403
369
  * Provide props.selectedItem to control the state of this radio group. Must match the type of props.items.
404
370
  */
@@ -28,7 +28,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
28
28
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
29
29
 
30
30
  const spacing = 4; // top and bottom spacing between the button and the menu. in px
31
-
32
31
  const validButtonKinds = ['primary', 'tertiary', 'ghost'];
33
32
  const defaultButtonKind = 'primary';
34
33
  const MenuButton = /*#__PURE__*/React__default["default"].forwardRef(function MenuButton(_ref, forwardRef) {
@@ -55,7 +54,6 @@ const MenuButton = /*#__PURE__*/React__default["default"].forwardRef(function Me
55
54
  handleMousedown,
56
55
  handleClose
57
56
  } = useAttachedMenu.useAttachedMenu(triggerRef);
58
-
59
57
  function handleClick() {
60
58
  if (triggerRef.current) {
61
59
  const {
@@ -65,11 +63,9 @@ const MenuButton = /*#__PURE__*/React__default["default"].forwardRef(function Me
65
63
  hookOnClick();
66
64
  }
67
65
  }
68
-
69
66
  function handleOpen() {
70
67
  menuRef.current.style.width = `${width}px`;
71
68
  }
72
-
73
69
  const triggerClasses = cx__default["default"](`${prefix}--menu-button__trigger`, {
74
70
  [`${prefix}--menu-button__trigger--open`]: open
75
71
  }, className);
@@ -103,27 +99,22 @@ MenuButton.propTypes = {
103
99
  * A collection of MenuItems to be rendered as actions for this MenuButton.
104
100
  */
105
101
  children: PropTypes__default["default"].node.isRequired,
106
-
107
102
  /**
108
103
  * Additional CSS class names.
109
104
  */
110
105
  className: PropTypes__default["default"].string,
111
-
112
106
  /**
113
107
  * Specify whether the MenuButton should be disabled, or not.
114
108
  */
115
109
  disabled: PropTypes__default["default"].bool,
116
-
117
110
  /**
118
111
  * Specify the type of button to be used as the base for the trigger button.
119
112
  */
120
113
  kind: PropTypes__default["default"].oneOf(validButtonKinds),
121
-
122
114
  /**
123
115
  * Provide the label to be renderd on the trigger button.
124
116
  */
125
117
  label: PropTypes__default["default"].string.isRequired,
126
-
127
118
  /**
128
119
  * Specify the size of the button and menu.
129
120
  */