@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
@@ -22,7 +22,6 @@ function useIsTruncated(ref) {
22
22
  }, [ref, setIsTruncated]);
23
23
  return isTruncated;
24
24
  }
25
-
26
25
  /**
27
26
  * `ListBoxMenuItem` is a helper component for managing the container class
28
27
  * name, alongside any classes for any corresponding states, for a generic list
@@ -38,7 +37,7 @@ const ListBoxMenuItem = /*#__PURE__*/React__default.forwardRef(function ListBoxM
38
37
  } = _ref;
39
38
  const prefix = usePrefix();
40
39
  const ref = useRef(null);
41
- const isTruncated = useIsTruncated((forwardedRef === null || forwardedRef === void 0 ? void 0 : forwardedRef.menuItemOptionRef) || ref);
40
+ const isTruncated = useIsTruncated(forwardedRef?.menuItemOptionRef || ref);
42
41
  const className = cx(`${prefix}--list-box__menu-item`, {
43
42
  [`${prefix}--list-box__menu-item--active`]: isActive,
44
43
  [`${prefix}--list-box__menu-item--highlighted`]: isHighlighted
@@ -49,7 +48,7 @@ const ListBoxMenuItem = /*#__PURE__*/React__default.forwardRef(function ListBoxM
49
48
  tabIndex: -1
50
49
  }), /*#__PURE__*/React__default.createElement("div", {
51
50
  className: `${prefix}--list-box__menu-item__option`,
52
- ref: (forwardedRef === null || forwardedRef === void 0 ? void 0 : forwardedRef.menuItemOptionRef) || ref
51
+ ref: forwardedRef?.menuItemOptionRef || ref
53
52
  }, children));
54
53
  });
55
54
  ListBoxMenuItem.displayName = 'ListBoxMenuItem';
@@ -59,17 +58,14 @@ ListBoxMenuItem.propTypes = {
59
58
  * Menu Item
60
59
  */
61
60
  children: PropTypes.node,
62
-
63
61
  /**
64
62
  * Specify whether the current menu item is "active".
65
63
  */
66
64
  isActive: PropTypes.bool.isRequired,
67
-
68
65
  /**
69
66
  * Specify whether the current menu item is "highlighted".
70
67
  */
71
68
  isHighlighted: PropTypes.bool.isRequired,
72
-
73
69
  /**
74
70
  * Provide an optional tooltip for the ListBoxMenuItem
75
71
  */
@@ -7,8 +7,8 @@
7
7
  import PropTypes from 'prop-types';
8
8
  declare const listBoxTypes: readonly ["default", "inline"];
9
9
  declare const listBoxSizes: readonly ["sm", "md", "lg"];
10
- export type ListBoxType = typeof listBoxTypes[number];
11
- export type ListBoxSize = typeof listBoxSizes[number];
10
+ export type ListBoxType = (typeof listBoxTypes)[number];
11
+ export type ListBoxSize = (typeof listBoxSizes)[number];
12
12
  export declare const ListBoxType: PropTypes.Requireable<"default" | "inline">;
13
13
  export declare const ListBoxSize: PropTypes.Requireable<"md" | "sm" | "lg">;
14
14
  export {};
@@ -12,7 +12,6 @@ import { Close } from '@carbon/icons-react';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
14
  var _Close, _Close2;
15
-
16
15
  /**
17
16
  * `ListBoxSelection` is used to provide controls for clearing a selection, in
18
17
  * addition to conditionally rendering a badge if the control has more than one
@@ -32,27 +31,22 @@ const ListBoxSelection = _ref => {
32
31
  [`${prefix}--tag--filter`]: selectionCount,
33
32
  [`${prefix}--list-box__selection--multi`]: selectionCount
34
33
  });
35
-
36
34
  const handleOnClick = event => {
37
35
  event.stopPropagation();
38
-
39
36
  if (disabled || readOnly) {
40
37
  return;
41
38
  }
42
-
43
39
  clearSelection(event);
44
-
45
40
  if (onClearSelection) {
46
41
  onClearSelection(event);
47
42
  }
48
43
  };
49
-
50
44
  const description = selectionCount ? t('clear.all') : t('clear.selection');
51
45
  const tagClasses = cx(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, {
52
46
  [`${prefix}--tag--disabled`]: disabled
53
47
  });
54
- /* eslint-disable jsx-a11y/click-events-have-key-events */
55
48
 
49
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
56
50
  return selectionCount ? /*#__PURE__*/React__default.createElement("div", {
57
51
  className: tagClasses
58
52
  }, /*#__PURE__*/React__default.createElement("span", {
@@ -75,7 +69,6 @@ const ListBoxSelection = _ref => {
75
69
  title: description
76
70
  }, selectionCount, _Close2 || (_Close2 = /*#__PURE__*/React__default.createElement(Close, null)));
77
71
  };
78
-
79
72
  const translationIds = {
80
73
  'clear.all': 'clear.all',
81
74
  'clear.selection': 'clear.selection'
@@ -90,29 +83,24 @@ ListBoxSelection.propTypes = {
90
83
  * selection element.
91
84
  */
92
85
  clearSelection: PropTypes.func.isRequired,
93
-
94
86
  /**
95
87
  * Specify whether or not the clear selection element should be disabled
96
88
  */
97
89
  disabled: PropTypes.bool,
98
-
99
90
  /**
100
91
  * Specify an optional `onClearSelection` handler that is called when the underlying
101
92
  * element is cleared
102
93
  */
103
94
  onClearSelection: PropTypes.func,
104
-
105
95
  /**
106
96
  * Whether or not the Dropdown is readonly
107
97
  */
108
98
  readOnly: PropTypes.bool,
109
-
110
99
  /**
111
100
  * Specify an optional `selectionCount` value that will be used to determine
112
101
  * whether the selection should display a badge or a single clear icon.
113
102
  */
114
103
  selectionCount: PropTypes.number,
115
-
116
104
  /**
117
105
  * i18n hook used to provide the appropriate description for the given menu
118
106
  * icon. This function takes in an id defined in `translationIds` and should
@@ -13,12 +13,12 @@ import { Close } from '@carbon/icons-react';
13
13
  import { usePrefix } from '../../../internal/usePrefix.js';
14
14
 
15
15
  var _Close, _Close2;
16
+
16
17
  /**
17
18
  * `ListBoxSelection` is used to provide controls for clearing a selection, in
18
19
  * addition to conditionally rendering a badge if the control has more than one
19
20
  * selection.
20
21
  */
21
-
22
22
  function ListBoxSelection(_ref) {
23
23
  let {
24
24
  clearSelection,
@@ -37,21 +37,16 @@ function ListBoxSelection(_ref) {
37
37
  const tagClasses = cx(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, {
38
38
  [`${prefix}--tag--disabled`]: disabled
39
39
  });
40
-
41
40
  function onClick(event) {
42
41
  event.stopPropagation();
43
-
44
42
  if (disabled) {
45
43
  return;
46
44
  }
47
-
48
45
  clearSelection(event);
49
-
50
46
  if (onClearSelection) {
51
47
  onClearSelection(event);
52
48
  }
53
49
  }
54
-
55
50
  if (selectionCount) {
56
51
  return /*#__PURE__*/React__default.createElement("div", {
57
52
  className: tagClasses
@@ -68,7 +63,6 @@ function ListBoxSelection(_ref) {
68
63
  type: "button"
69
64
  }, _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, null))));
70
65
  }
71
-
72
66
  return /*#__PURE__*/React__default.createElement("button", _extends({}, rest, {
73
67
  "aria-label": description,
74
68
  className: className,
@@ -79,7 +73,6 @@ function ListBoxSelection(_ref) {
79
73
  type: "button"
80
74
  }), _Close2 || (_Close2 = /*#__PURE__*/React__default.createElement(Close, null)));
81
75
  }
82
-
83
76
  const translationIds = {
84
77
  'clear.all': 'clear.all',
85
78
  'clear.selection': 'clear.selection'
@@ -94,36 +87,30 @@ ListBoxSelection.propTypes = {
94
87
  * selection element.
95
88
  */
96
89
  clearSelection: PropTypes.func.isRequired,
97
-
98
90
  /**
99
91
  * Specify whether or not the clear selection element should be disabled
100
92
  */
101
93
  disabled: PropTypes.bool,
102
-
103
94
  /**
104
95
  * Specify an optional `onClearSelection` handler that is called when the underlying
105
96
  * element is cleared
106
97
  */
107
98
  onClearSelection: PropTypes.func,
108
-
109
99
  /**
110
100
  * Specify an optional `onClick` handler that is called when the underlying
111
101
  * clear selection element is clicked
112
102
  */
113
103
  onClick: PropTypes.func,
114
-
115
104
  /**
116
105
  * Specify an optional `onKeyDown` handler that is called when the underlying
117
106
  * clear selection element fires a keydown event
118
107
  */
119
108
  onKeyDown: PropTypes.func,
120
-
121
109
  /**
122
110
  * Specify an optional `selectionCount` value that will be used to determine
123
111
  * whether the selection should display a badge or a single clear icon.
124
112
  */
125
113
  selectionCount: PropTypes.number,
126
-
127
114
  /**
128
115
  * i18n hook used to provide the appropriate description for the given menu
129
116
  * icon. This function takes in an id defined in `translationIds` and should
@@ -21,11 +21,11 @@ const defaultTranslations = {
21
21
  [translationIds['close.menu']]: 'Close',
22
22
  [translationIds['open.menu']]: 'Open'
23
23
  };
24
+
24
25
  /**
25
26
  * `ListBoxTrigger` is used to orient the icon up or down depending on the
26
27
  * state of the menu for a given `ListBox`
27
28
  */
28
-
29
29
  const ListBoxTrigger = _ref => {
30
30
  let {
31
31
  isOpen,
@@ -46,14 +46,12 @@ const ListBoxTrigger = _ref => {
46
46
  tabIndex: "-1"
47
47
  }), _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default.createElement(ChevronDown, null)));
48
48
  };
49
-
50
49
  ListBoxTrigger.propTypes = {
51
50
  /**
52
51
  * Specify whether the menu is currently open, which will influence the
53
52
  * direction of the menu icon
54
53
  */
55
54
  isOpen: PropTypes.bool.isRequired,
56
-
57
55
  /**
58
56
  * i18n hook used to provide the appropriate description for the given menu
59
57
  * icon. This function takes in an id defined in `translationIds` and should
@@ -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;
@@ -11,9 +11,8 @@ import React__default from 'react';
11
11
  import cx from 'classnames';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- const ListItem = _ref => {
14
+ function ListItem(_ref) {
15
15
  let {
16
- children,
17
16
  className,
18
17
  ...other
19
18
  } = _ref;
@@ -21,20 +20,17 @@ const ListItem = _ref => {
21
20
  const classNames = cx(`${prefix}--list__item`, className);
22
21
  return /*#__PURE__*/React__default.createElement("li", _extends({
23
22
  className: classNames
24
- }, other), children);
25
- };
26
-
23
+ }, other));
24
+ }
27
25
  ListItem.propTypes = {
28
26
  /**
29
27
  * Specify the content for the ListItem
30
28
  */
31
29
  children: PropTypes.node,
32
-
33
30
  /**
34
31
  * Specify an optional className to apply to the underlying `<li>` node
35
32
  */
36
33
  className: PropTypes.string
37
34
  };
38
- var ListItem$1 = ListItem;
39
35
 
40
- export { ListItem$1 as default };
36
+ export { ListItem as default };
@@ -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';
@@ -53,33 +53,27 @@ function Loading(_ref) {
53
53
  className: overlayClassName
54
54
  }, loading) : loading;
55
55
  }
56
-
57
56
  Loading.propTypes = {
58
57
  /**
59
58
  * Specify whether you want the loading indicator to be spinning or not
60
59
  */
61
60
  active: PropTypes.bool,
62
-
63
61
  /**
64
62
  * Provide an optional className to be applied to the containing node
65
63
  */
66
64
  className: PropTypes.string,
67
-
68
65
  /**
69
66
  * Specify a description that would be used to best describe the loading state
70
67
  */
71
68
  description: PropTypes.string,
72
-
73
69
  /**
74
70
  * Provide an `id` to uniquely identify the label
75
71
  */
76
72
  id: deprecate(PropTypes.string, `\nThe prop \`id\` is no longer needed.`),
77
-
78
73
  /**
79
74
  * Specify whether you would like the small variant of <Loading>
80
75
  */
81
76
  small: PropTypes.bool,
82
-
83
77
  /**
84
78
  * Specify whether you want the loader to be applied with an overlay
85
79
  */
@@ -37,7 +37,8 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
37
37
  const context = useContext(MenuContext);
38
38
  const isRoot = context.state.isRoot;
39
39
  const menuSize = isRoot ? size : context.state.size;
40
- const [childState, childDispatch] = useReducer(menuReducer, { ...context.state,
40
+ const [childState, childDispatch] = useReducer(menuReducer, {
41
+ ...context.state,
41
42
  isRoot: false,
42
43
  size,
43
44
  requestCloseRoot: isRoot ? handleClose : context.state.requestCloseRoot
@@ -52,13 +53,11 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
52
53
  const ref = useMergedRefs([forwardRef, menu]);
53
54
  const [position, setPosition] = useState([-1, -1]);
54
55
  const focusableItems = childContext.state.items.filter(item => !item.disabled && item.ref.current);
55
-
56
56
  function returnFocus() {
57
57
  if (focusReturn.current) {
58
58
  focusReturn.current.focus();
59
59
  }
60
60
  }
61
-
62
61
  function handleOpen() {
63
62
  if (menu.current) {
64
63
  focusReturn.current = document.activeElement;
@@ -67,13 +66,11 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
67
66
  menu.current.style.top = `${pos[1]}px`;
68
67
  setPosition(pos);
69
68
  menu.current.focus();
70
-
71
69
  if (onOpen) {
72
70
  onOpen();
73
71
  }
74
72
  }
75
73
  }
76
-
77
74
  function handleClose(e) {
78
75
  if (/^key/.test(e.type)) {
79
76
  window.addEventListener('keyup', returnFocus, {
@@ -86,60 +83,53 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
86
83
  } else {
87
84
  returnFocus();
88
85
  }
89
-
90
86
  if (onClose) {
91
87
  onClose();
92
88
  }
93
89
  }
94
-
95
90
  function handleKeyDown(e) {
96
- e.stopPropagation(); // if the user presses escape or this is a submenu
97
- // and the user presses ArrowLeft, close it
91
+ e.stopPropagation();
98
92
 
93
+ // if the user presses escape or this is a submenu
94
+ // and the user presses ArrowLeft, close it
99
95
  if ((match(e, Escape) || !isRoot && match(e, ArrowLeft)) && onClose) {
100
96
  handleClose(e);
101
97
  } else {
102
98
  focusItem(e);
103
99
  }
104
100
  }
105
-
106
101
  function focusItem(e) {
107
102
  const currentItem = focusableItems.findIndex(item => item.ref.current.contains(document.activeElement));
108
- let indexToFocus = currentItem; // if currentItem is -1, no menu item is focused yet.
109
- // in this case, the first item should receive focus.
103
+ let indexToFocus = currentItem;
110
104
 
105
+ // if currentItem is -1, no menu item is focused yet.
106
+ // in this case, the first item should receive focus.
111
107
  if (currentItem === -1) {
112
108
  indexToFocus = 0;
113
109
  } else if (e) {
114
110
  if (match(e, ArrowUp)) {
115
111
  indexToFocus = indexToFocus - 1;
116
112
  }
117
-
118
113
  if (match(e, ArrowDown)) {
119
114
  indexToFocus = indexToFocus + 1;
120
115
  }
121
116
  }
122
-
123
117
  if (indexToFocus < 0) {
124
118
  indexToFocus = focusableItems.length - 1;
125
119
  }
126
-
127
120
  if (indexToFocus >= focusableItems.length) {
128
121
  indexToFocus = 0;
129
122
  }
130
-
131
123
  if (indexToFocus !== currentItem) {
132
124
  const nodeToFocus = focusableItems[indexToFocus];
133
125
  nodeToFocus.ref.current.focus();
134
126
  }
135
127
  }
136
-
137
128
  function handleBlur(e) {
138
129
  if (open && onClose && isRoot && !menu.current.contains(e.relatedTarget)) {
139
130
  handleClose(e);
140
131
  }
141
132
  }
142
-
143
133
  function fitValue(range, axis) {
144
134
  const {
145
135
  width,
@@ -160,25 +150,28 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
160
150
  anchor: alignment === 'horizontal' ? range[0] : range[1],
161
151
  reversedAnchor: alignment === 'horizontal' ? range[1] : range[0],
162
152
  offset: isRoot ? 0 : 4 // top padding in menu, used to align the menu items
163
-
164
153
  }
165
154
  };
155
+
166
156
  const {
167
157
  max,
168
158
  size,
169
159
  anchor,
170
160
  reversedAnchor,
171
161
  offset
172
- } = axes[axis]; // get values for different scenarios, set to false if they don't work
173
-
174
- const options = [// towards max (preferred)
175
- max - spacing - size - anchor >= 0 ? anchor - offset : false, // towards min / reversed (first fallback)
176
- reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false, // align at max (second fallback)
162
+ } = axes[axis];
163
+
164
+ // get values for different scenarios, set to false if they don't work
165
+ const options = [
166
+ // towards max (preferred)
167
+ max - spacing - size - anchor >= 0 ? anchor - offset : false,
168
+ // towards min / reversed (first fallback)
169
+ reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false,
170
+ // align at max (second fallback)
177
171
  max - spacing - size];
178
172
  const bestOption = options.find(option => option !== false);
179
173
  return bestOption >= spacing ? bestOption : spacing;
180
174
  }
181
-
182
175
  function calculatePosition() {
183
176
  if (menu.current) {
184
177
  const ranges = {
@@ -187,15 +180,13 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
187
180
  };
188
181
  return [fitValue(ranges.x, 'x'), fitValue(ranges.y, 'y')];
189
182
  }
190
-
191
183
  return [-1, -1];
192
184
  }
193
-
194
185
  useEffect(() => {
195
186
  if (open && focusableItems.length > 0) {
196
187
  focusItem();
197
- } // eslint-disable-next-line react-hooks/exhaustive-deps
198
-
188
+ }
189
+ // eslint-disable-next-line react-hooks/exhaustive-deps
199
190
  }, [open, focusableItems]);
200
191
  useEffect(() => {
201
192
  if (open) {
@@ -204,8 +195,8 @@ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(_ref, forwardR
204
195
  // reset position when menu is closed in order for the --shown
205
196
  // modifier to be applied correctly
206
197
  setPosition(-1, -1);
207
- } // eslint-disable-next-line react-hooks/exhaustive-deps
208
-
198
+ }
199
+ // eslint-disable-next-line react-hooks/exhaustive-deps
209
200
  }, [open]);
210
201
  const classNames = cx(className, `${prefix}--menu`, `${prefix}--menu--${menuSize}`, {
211
202
  // --open sets visibility and --shown sets opacity.
@@ -234,47 +225,38 @@ Menu.propTypes = {
234
225
  * A collection of MenuItems to be rendered within this Menu.
235
226
  */
236
227
  children: PropTypes.node,
237
-
238
228
  /**
239
229
  * Additional CSS class names.
240
230
  */
241
231
  className: PropTypes.string,
242
-
243
232
  /**
244
233
  * A label describing the Menu.
245
234
  */
246
235
  label: PropTypes.string,
247
-
248
236
  /**
249
237
  * Provide an optional function to be called when the Menu should be closed.
250
238
  */
251
239
  onClose: PropTypes.func,
252
-
253
240
  /**
254
241
  * Provide an optional function to be called when the Menu is opened.
255
242
  */
256
243
  onOpen: PropTypes.func,
257
-
258
244
  /**
259
245
  * Whether the Menu is open or not.
260
246
  */
261
247
  open: PropTypes.bool,
262
-
263
248
  /**
264
249
  * Specify the size of the Menu.
265
250
  */
266
251
  size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']),
267
-
268
252
  /**
269
253
  * Specify a DOM node where the Menu should be rendered in. Defaults to document.body.
270
254
  */
271
255
  target: PropTypes.object,
272
-
273
256
  /**
274
257
  * 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])
275
258
  */
276
259
  x: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),
277
-
278
260
  /**
279
261
  * 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])
280
262
  */
@@ -14,21 +14,20 @@ const menuDefaultState = {
14
14
  items: [],
15
15
  requestCloseRoot: () => {}
16
16
  };
17
-
18
17
  function menuReducer(state, action) {
19
18
  switch (action.type) {
20
19
  case 'enableIcons':
21
- return { ...state,
20
+ return {
21
+ ...state,
22
22
  hasIcons: true
23
23
  };
24
-
25
24
  case 'registerItem':
26
- return { ...state,
25
+ return {
26
+ ...state,
27
27
  items: [...state.items, action.payload].filter(item => item.ref.current !== null)
28
28
  };
29
29
  }
30
30
  }
31
-
32
31
  const MenuContext = /*#__PURE__*/React__default.createContext({
33
32
  state: menuDefaultState,
34
33
  // 'dispatch' is populated by the root menu