@carbon/react 1.29.1 → 1.30.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 +153 -175
  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 +5 -12
  75. package/es/components/FileUploader/Filename.js +6 -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 +1 -46
  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 +153 -175
  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 +5 -31
  361. package/lib/components/FileUploader/Filename.js +6 -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 +1 -46
  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
@@ -46,7 +46,6 @@ const MenuItem = /*#__PURE__*/React__default.forwardRef(function MenuItem(_ref,
46
46
  const hoverIntentTimeout = useRef(null);
47
47
  const isDisabled = disabled && !hasChildren;
48
48
  const isDanger = kind === 'danger' && !hasChildren;
49
-
50
49
  function registerItem() {
51
50
  context.dispatch({
52
51
  type: 'registerItem',
@@ -56,7 +55,6 @@ const MenuItem = /*#__PURE__*/React__default.forwardRef(function MenuItem(_ref,
56
55
  }
57
56
  });
58
57
  }
59
-
60
58
  function openSubmenu() {
61
59
  const {
62
60
  x,
@@ -70,7 +68,6 @@ const MenuItem = /*#__PURE__*/React__default.forwardRef(function MenuItem(_ref,
70
68
  });
71
69
  setSubmenuOpen(true);
72
70
  }
73
-
74
71
  function closeSubmenu() {
75
72
  setSubmenuOpen(false);
76
73
  setBoundaries({
@@ -78,56 +75,50 @@ const MenuItem = /*#__PURE__*/React__default.forwardRef(function MenuItem(_ref,
78
75
  y: -1
79
76
  });
80
77
  }
81
-
82
78
  function handleClick(e) {
83
79
  if (!isDisabled) {
84
80
  if (hasChildren) {
85
81
  openSubmenu();
86
82
  } else {
87
83
  context.state.requestCloseRoot(e);
88
-
89
84
  if (onClick) {
90
85
  onClick(e);
91
86
  }
92
87
  }
93
88
  }
94
89
  }
95
-
96
90
  function handleMouseEnter() {
97
91
  hoverIntentTimeout.current = setTimeout(() => {
98
92
  openSubmenu();
99
93
  }, hoverIntentDelay);
100
94
  }
101
-
102
95
  function handleMouseLeave() {
103
96
  clearTimeout(hoverIntentTimeout.current);
104
97
  closeSubmenu();
105
98
  menuItem.current.focus();
106
99
  }
107
-
108
100
  function handleKeyDown(e) {
109
101
  if (hasChildren && match(e, ArrowRight)) {
110
102
  openSubmenu();
111
103
  e.stopPropagation();
112
104
  }
113
-
114
105
  if (match(e, Enter) || match(e, Space)) {
115
106
  handleClick(e);
116
107
  }
117
-
118
108
  if (rest.onKeyDown) {
119
109
  rest.onKeyDown(e);
120
110
  }
121
111
  }
122
-
123
112
  const classNames = cx(className, `${prefix}--menu-item`, {
124
113
  [`${prefix}--menu-item--disabled`]: isDisabled,
125
114
  [`${prefix}--menu-item--danger`]: isDanger
126
- }); // on first render, register this menuitem in the context's state
127
- // (used for keyboard navigation)
115
+ });
128
116
 
117
+ // on first render, register this menuitem in the context's state
118
+ // (used for keyboard navigation)
129
119
  useEffect(() => {
130
- registerItem(); // eslint-disable-next-line react-hooks/exhaustive-deps
120
+ registerItem();
121
+ // eslint-disable-next-line react-hooks/exhaustive-deps
131
122
  }, []);
132
123
  return /*#__PURE__*/React__default.createElement("li", _extends({
133
124
  role: "menuitem"
@@ -166,37 +157,30 @@ MenuItem.propTypes = {
166
157
  * 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.
167
158
  */
168
159
  children: PropTypes.node,
169
-
170
160
  /**
171
161
  * Additional CSS class names.
172
162
  */
173
163
  className: PropTypes.string,
174
-
175
164
  /**
176
165
  * Specify whether the MenuItem is disabled or not.
177
166
  */
178
167
  disabled: PropTypes.bool,
179
-
180
168
  /**
181
169
  * Specify the kind of the MenuItem.
182
170
  */
183
171
  kind: PropTypes.oneOf(['default', 'danger']),
184
-
185
172
  /**
186
173
  * A required label titling the MenuItem. Will be rendered as its text content.
187
174
  */
188
175
  label: PropTypes.string.isRequired,
189
-
190
176
  /**
191
177
  * Provide an optional function to be called when the MenuItem is clicked.
192
178
  */
193
179
  onClick: PropTypes.func,
194
-
195
180
  /**
196
181
  * 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.
197
182
  */
198
183
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
199
-
200
184
  /**
201
185
  * 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.
202
186
  */
@@ -218,15 +202,12 @@ const MenuItemSelectable = /*#__PURE__*/React__default.forwardRef(function MenuI
218
202
  onChange,
219
203
  defaultValue: defaultSelected ?? false
220
204
  });
221
-
222
205
  function handleClick(e) {
223
206
  setChecked(!checked);
224
-
225
207
  if (onChange) {
226
208
  onChange(e);
227
209
  }
228
210
  }
229
-
230
211
  useEffect(() => {
231
212
  if (!context.state.hasIcons) {
232
213
  context.dispatch({
@@ -250,22 +231,18 @@ MenuItemSelectable.propTypes = {
250
231
  * Additional CSS class names.
251
232
  */
252
233
  className: PropTypes.string,
253
-
254
234
  /**
255
235
  * Specify whether the option should be selected by default.
256
236
  */
257
237
  defaultSelected: PropTypes.bool,
258
-
259
238
  /**
260
239
  * A required label titling this option.
261
240
  */
262
241
  label: PropTypes.string.isRequired,
263
-
264
242
  /**
265
243
  * Provide an optional function to be called when the selection state changes.
266
244
  */
267
245
  onChange: PropTypes.func,
268
-
269
246
  /**
270
247
  * Pass a bool to props.selected to control the state of this option.
271
248
  */
@@ -294,12 +271,10 @@ MenuItemGroup.propTypes = {
294
271
  * A collection of MenuItems to be rendered within this group.
295
272
  */
296
273
  children: PropTypes.node,
297
-
298
274
  /**
299
275
  * Additional CSS class names.
300
276
  */
301
277
  className: PropTypes.string,
302
-
303
278
  /**
304
279
  * A required label titling this group.
305
280
  */
@@ -323,15 +298,12 @@ const MenuItemRadioGroup = /*#__PURE__*/React__default.forwardRef(function MenuI
323
298
  onChange,
324
299
  defaultValue: defaultSelectedItem
325
300
  });
326
-
327
301
  function handleClick(item, e) {
328
302
  setSelection(item);
329
-
330
303
  if (onChange) {
331
304
  onChange(e);
332
305
  }
333
306
  }
334
-
335
307
  useEffect(() => {
336
308
  if (!context.state.hasIcons) {
337
309
  context.dispatch({
@@ -363,32 +335,26 @@ MenuItemRadioGroup.propTypes = {
363
335
  * Additional CSS class names.
364
336
  */
365
337
  className: PropTypes.string,
366
-
367
338
  /**
368
339
  * Specify the default selected item. Must match the type of props.items.
369
340
  */
370
341
  defaultSelectedItem: PropTypes.any,
371
-
372
342
  /**
373
343
  * Provide a function to convert an item to the string that will be rendered. Defaults to item.toString().
374
344
  */
375
345
  itemToString: PropTypes.func,
376
-
377
346
  /**
378
347
  * Provide the options for this radio group. Can be of any type, as long as you provide an appropriate props.itemToString function.
379
348
  */
380
349
  items: PropTypes.array,
381
-
382
350
  /**
383
351
  * A required label titling this radio group.
384
352
  */
385
353
  label: PropTypes.string.isRequired,
386
-
387
354
  /**
388
355
  * Provide an optional function to be called when the selection changes.
389
356
  */
390
357
  onChange: PropTypes.func,
391
-
392
358
  /**
393
359
  * Provide props.selectedItem to control the state of this radio group. Must match the type of props.items.
394
360
  */
@@ -18,7 +18,6 @@ import { useMergedRefs } from '../../internal/useMergedRefs.js';
18
18
  import { usePrefix } from '../../internal/usePrefix.js';
19
19
 
20
20
  const spacing = 4; // top and bottom spacing between the button and the menu. in px
21
-
22
21
  const validButtonKinds = ['primary', 'tertiary', 'ghost'];
23
22
  const defaultButtonKind = 'primary';
24
23
  const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(_ref, forwardRef) {
@@ -45,7 +44,6 @@ const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(_r
45
44
  handleMousedown,
46
45
  handleClose
47
46
  } = useAttachedMenu(triggerRef);
48
-
49
47
  function handleClick() {
50
48
  if (triggerRef.current) {
51
49
  const {
@@ -55,11 +53,9 @@ const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(_r
55
53
  hookOnClick();
56
54
  }
57
55
  }
58
-
59
56
  function handleOpen() {
60
57
  menuRef.current.style.width = `${width}px`;
61
58
  }
62
-
63
59
  const triggerClasses = cx(`${prefix}--menu-button__trigger`, {
64
60
  [`${prefix}--menu-button__trigger--open`]: open
65
61
  }, className);
@@ -93,27 +89,22 @@ MenuButton.propTypes = {
93
89
  * A collection of MenuItems to be rendered as actions for this MenuButton.
94
90
  */
95
91
  children: PropTypes.node.isRequired,
96
-
97
92
  /**
98
93
  * Additional CSS class names.
99
94
  */
100
95
  className: PropTypes.string,
101
-
102
96
  /**
103
97
  * Specify whether the MenuButton should be disabled, or not.
104
98
  */
105
99
  disabled: PropTypes.bool,
106
-
107
100
  /**
108
101
  * Specify the type of button to be used as the base for the trigger button.
109
102
  */
110
103
  kind: PropTypes.oneOf(validButtonKinds),
111
-
112
104
  /**
113
105
  * Provide the label to be renderd on the trigger button.
114
106
  */
115
107
  label: PropTypes.string.isRequired,
116
-
117
108
  /**
118
109
  * Specify the size of the button and menu.
119
110
  */
@@ -65,35 +65,29 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
65
65
  const modalHeadingId = `${prefix}--modal-header__heading--${modalInstanceId}`;
66
66
  const modalBodyId = `${prefix}--modal-body--${modalInstanceId}`;
67
67
  const modalCloseButtonClass = `${prefix}--modal-close`;
68
-
69
68
  function isCloseButton(element) {
70
69
  return !onSecondarySubmit && element === secondaryButton.current || element.classList.contains(modalCloseButtonClass);
71
70
  }
72
-
73
71
  function handleKeyDown(evt) {
74
72
  if (open) {
75
73
  if (match(evt, Escape)) {
76
74
  onRequestClose(evt);
77
75
  }
78
-
79
76
  if (match(evt, Enter) && shouldSubmitOnEnter && !isCloseButton(evt.target)) {
80
77
  onRequestSubmit(evt);
81
78
  }
82
79
  }
83
80
  }
84
-
85
81
  function handleMousedown(evt) {
86
82
  if (innerModal.current && !innerModal.current.contains(evt.target) && !elementOrParentIsFloatingMenu(evt.target, selectorsFloatingMenus) && !preventCloseOnClickOutside) {
87
83
  onRequestClose(evt);
88
84
  }
89
85
  }
90
-
91
86
  function handleBlur(_ref2) {
92
87
  let {
93
88
  target: oldActiveNode,
94
89
  relatedTarget: currentActiveNode
95
90
  } = _ref2;
96
-
97
91
  if (open && currentActiveNode && oldActiveNode) {
98
92
  const {
99
93
  current: bodyNode
@@ -114,7 +108,6 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
114
108
  });
115
109
  }
116
110
  }
117
-
118
111
  const onSecondaryButtonClick = onSecondarySubmit ? onSecondarySubmit : onRequestClose;
119
112
  const modalClasses = cx(`${prefix}--modal`, {
120
113
  [`${prefix}--modal-tall`]: !passiveModal,
@@ -141,16 +134,13 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
141
134
  'aria-labelledby': getAriaLabelledBy
142
135
  } : {};
143
136
  const alertDialogProps = {};
144
-
145
137
  if (alert && passiveModal) {
146
138
  alertDialogProps.role = 'alert';
147
139
  }
148
-
149
140
  if (alert && !passiveModal) {
150
141
  alertDialogProps.role = 'alertdialog';
151
142
  alertDialogProps['aria-describedby'] = modalBodyId;
152
143
  }
153
-
154
144
  useEffect(() => {
155
145
  return () => {
156
146
  toggleClass(document.body, `${prefix}--body--with-modal-open`, false);
@@ -163,22 +153,17 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
163
153
  const initialFocus = focusContainerElement => {
164
154
  const containerElement = focusContainerElement || innerModal.current;
165
155
  const primaryFocusElement = containerElement ? containerElement.querySelector(danger ? `.${prefix}--btn--secondary` : selectorPrimaryFocus) : null;
166
-
167
156
  if (primaryFocusElement) {
168
157
  return primaryFocusElement;
169
158
  }
170
-
171
159
  return button && button.current;
172
160
  };
173
-
174
161
  const focusButton = focusContainerElement => {
175
162
  const target = initialFocus(focusContainerElement);
176
-
177
163
  if (target) {
178
164
  target.focus();
179
165
  }
180
166
  };
181
-
182
167
  if (open) {
183
168
  focusButton(innerModal.current);
184
169
  }
@@ -215,9 +200,7 @@ const Modal = /*#__PURE__*/React__default.forwardRef(function Modal(_ref, ref) {
215
200
  }, modalHeading), !passiveModal && modalButton), /*#__PURE__*/React__default.createElement("div", _extends({
216
201
  id: modalBodyId,
217
202
  className: contentClasses
218
- }, hasScrollingContentProps, {
219
- "aria-labelledby": getAriaLabelledBy
220
- }), children), hasScrollingContent && /*#__PURE__*/React__default.createElement("div", {
203
+ }, hasScrollingContentProps), children), hasScrollingContent && /*#__PURE__*/React__default.createElement("div", {
221
204
  className: `${prefix}--modal-content--overflow-indicator`
222
205
  }), !passiveModal && /*#__PURE__*/React__default.createElement(ButtonSet, {
223
206
  className: footerClasses
@@ -266,115 +249,93 @@ Modal.propTypes = {
266
249
  * Should go hand in hand with the danger prop.
267
250
  */
268
251
  alert: PropTypes.bool,
269
-
270
252
  /**
271
253
  * Required props for the accessibility label of the header
272
254
  */
273
255
  ['aria-label']: requiredIfGivenPropIsTruthy('hasScrollingContent', PropTypes.string),
274
-
275
256
  /**
276
257
  * Provide the contents of your Modal
277
258
  */
278
259
  children: PropTypes.node,
279
-
280
260
  /**
281
261
  * Specify an optional className to be applied to the modal root node
282
262
  */
283
263
  className: PropTypes.string,
284
-
285
264
  /**
286
265
  * Specify an label for the close button of the modal; defaults to close
287
266
  */
288
267
  closeButtonLabel: PropTypes.string,
289
-
290
268
  /**
291
269
  * Specify whether the Modal is for dangerous actions
292
270
  */
293
271
  danger: PropTypes.bool,
294
-
295
272
  /**
296
273
  * Specify whether the modal contains scrolling content
297
274
  */
298
275
  hasScrollingContent: PropTypes.bool,
299
-
300
276
  /**
301
277
  * Specify the DOM element ID of the top-level node.
302
278
  */
303
279
  id: PropTypes.string,
304
-
305
280
  /**
306
281
  * Specify whether or not the Modal content should have any inner padding.
307
282
  */
308
283
  isFullWidth: PropTypes.bool,
309
-
310
284
  /**
311
285
  * Specify a label to be read by screen readers on the modal root node
312
286
  */
313
287
  modalAriaLabel: PropTypes.string,
314
-
315
288
  /**
316
289
  * Specify the content of the modal header title.
317
290
  */
318
291
  modalHeading: PropTypes.node,
319
-
320
292
  /**
321
293
  * Specify the content of the modal header label.
322
294
  */
323
295
  modalLabel: PropTypes.node,
324
-
325
296
  /**
326
297
  * Specify a handler for keypresses.
327
298
  */
328
299
  onKeyDown: PropTypes.func,
329
-
330
300
  /**
331
301
  * Specify a handler for closing modal.
332
302
  * The handler should care of closing modal, e.g. changing `open` prop.
333
303
  */
334
304
  onRequestClose: PropTypes.func,
335
-
336
305
  /**
337
306
  * Specify a handler for "submitting" modal.
338
307
  * The handler should care of closing modal, e.g. changing `open` prop, if necessary.
339
308
  */
340
309
  onRequestSubmit: PropTypes.func,
341
-
342
310
  /**
343
311
  * Specify a handler for the secondary button.
344
312
  * Useful if separate handler from `onRequestClose` is desirable
345
313
  */
346
314
  onSecondarySubmit: PropTypes.func,
347
-
348
315
  /**
349
316
  * Specify whether the Modal is currently open
350
317
  */
351
318
  open: PropTypes.bool,
352
-
353
319
  /**
354
320
  * Specify whether the modal should be button-less
355
321
  */
356
322
  passiveModal: PropTypes.bool,
357
-
358
323
  /**
359
324
  * Prevent closing on click outside of modal
360
325
  */
361
326
  preventCloseOnClickOutside: PropTypes.bool,
362
-
363
327
  /**
364
328
  * Specify whether the Button should be disabled, or not
365
329
  */
366
330
  primaryButtonDisabled: PropTypes.bool,
367
-
368
331
  /**
369
332
  * Specify the text for the primary button
370
333
  */
371
334
  primaryButtonText: PropTypes.node,
372
-
373
335
  /**
374
336
  * Specify the text for the secondary button
375
337
  */
376
338
  secondaryButtonText: PropTypes.node,
377
-
378
339
  /**
379
340
  * Specify an array of config objects for secondary buttons
380
341
  * (`Array<{
@@ -387,7 +348,6 @@ Modal.propTypes = {
387
348
  if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) {
388
349
  return new Error(`${propName} needs to be an array of two button config objects`);
389
350
  }
390
-
391
351
  const shape = {
392
352
  buttonText: PropTypes.node,
393
353
  onClick: PropTypes.func
@@ -396,27 +356,22 @@ Modal.propTypes = {
396
356
  PropTypes.checkPropTypes(shape, secondaryButton, propName, componentName);
397
357
  });
398
358
  }
399
-
400
359
  return null;
401
360
  },
402
-
403
361
  /**
404
362
  * Specify a CSS selector that matches the DOM element that should
405
363
  * be focused when the Modal opens
406
364
  */
407
365
  selectorPrimaryFocus: PropTypes.string,
408
-
409
366
  /**
410
367
  * Specify CSS selectors that match DOM elements working as floating menus.
411
368
  * Focusing on those elements won't trigger "focus-wrap" behavior
412
369
  */
413
370
  selectorsFloatingMenus: PropTypes.arrayOf(PropTypes.string),
414
-
415
371
  /**
416
372
  * Specify if Enter key should be used as "submit" action
417
373
  */
418
374
  shouldSubmitOnEnter: PropTypes.bool,
419
-
420
375
  /**
421
376
  * Specify the size variant.
422
377
  */
@@ -17,24 +17,18 @@ let didWarnAboutDeprecation = false;
17
17
  class ModalWrapper extends React__default.Component {
18
18
  constructor() {
19
19
  super(...arguments);
20
-
21
20
  _defineProperty(this, "triggerButton", /*#__PURE__*/React__default.createRef());
22
-
23
21
  _defineProperty(this, "modal", /*#__PURE__*/React__default.createRef());
24
-
25
22
  _defineProperty(this, "state", {
26
23
  isOpen: false
27
24
  });
28
-
29
25
  _defineProperty(this, "handleOpen", () => {
30
26
  this.setState({
31
27
  isOpen: true
32
28
  });
33
29
  });
34
-
35
30
  _defineProperty(this, "handleClose", evt => {
36
31
  const innerModal = this.modal.current.querySelector('div');
37
-
38
32
  if (this.modal.current && evt && !innerModal.contains(evt.target) && this.props.preventCloseOnClickOutside) {
39
33
  return;
40
34
  } else {
@@ -43,27 +37,22 @@ class ModalWrapper extends React__default.Component {
43
37
  }, () => this.triggerButton.current.focus());
44
38
  }
45
39
  });
46
-
47
40
  _defineProperty(this, "handleOnRequestSubmit", () => {
48
41
  const {
49
42
  handleSubmit,
50
43
  shouldCloseAfterSubmit
51
44
  } = this.props;
52
-
53
45
  if (handleSubmit && shouldCloseAfterSubmit) {
54
46
  handleSubmit();
55
47
  this.handleClose();
56
48
  }
57
-
58
49
  handleSubmit();
59
50
  });
60
51
  }
61
-
62
52
  if(__DEV__) {
63
53
  process.env.NODE_ENV !== "production" ? warning(didWarnAboutDeprecation, '`<ModalWrapper>` has been deprecated in favor of `<ComposedModal/>` and will be removed in the next major version, `@carbon/react@v2.x`') : void 0;
64
54
  didWarnAboutDeprecation = true;
65
55
  }
66
-
67
56
  render() {
68
57
  const {
69
58
  children,
@@ -83,7 +72,8 @@ class ModalWrapper extends React__default.Component {
83
72
  // eslint-disable-line no-unused-vars
84
73
  ...other
85
74
  } = this.props;
86
- const props = { ...other,
75
+ const props = {
76
+ ...other,
87
77
  selectorPrimaryFocus,
88
78
  open: this.state.isOpen,
89
79
  onRequestClose: this.handleClose,
@@ -109,9 +99,7 @@ class ModalWrapper extends React__default.Component {
109
99
  ref: this.modal
110
100
  }, props), children));
111
101
  }
112
-
113
102
  }
114
-
115
103
  _defineProperty(ModalWrapper, "propTypes", {
116
104
  buttonTriggerClassName: PropTypes.string,
117
105
  buttonTriggerText: PropTypes.node,
@@ -137,7 +125,6 @@ _defineProperty(ModalWrapper, "propTypes", {
137
125
  triggerButtonKind: PropTypes.oneOf(ButtonKinds),
138
126
  withHeader: PropTypes.bool
139
127
  });
140
-
141
128
  _defineProperty(ModalWrapper, "defaultProps", {
142
129
  shouldCloseAfterSubmit: true,
143
130
  primaryButtonText: 'Save',