@carbon/react 1.29.0 → 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 +154 -177
  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 +1 -2
  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 +154 -177
  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 +1 -2
  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
  }
@@ -266,115 +251,93 @@ Modal.propTypes = {
266
251
  * Should go hand in hand with the danger prop.
267
252
  */
268
253
  alert: PropTypes.bool,
269
-
270
254
  /**
271
255
  * Required props for the accessibility label of the header
272
256
  */
273
257
  ['aria-label']: requiredIfGivenPropIsTruthy('hasScrollingContent', PropTypes.string),
274
-
275
258
  /**
276
259
  * Provide the contents of your Modal
277
260
  */
278
261
  children: PropTypes.node,
279
-
280
262
  /**
281
263
  * Specify an optional className to be applied to the modal root node
282
264
  */
283
265
  className: PropTypes.string,
284
-
285
266
  /**
286
267
  * Specify an label for the close button of the modal; defaults to close
287
268
  */
288
269
  closeButtonLabel: PropTypes.string,
289
-
290
270
  /**
291
271
  * Specify whether the Modal is for dangerous actions
292
272
  */
293
273
  danger: PropTypes.bool,
294
-
295
274
  /**
296
275
  * Specify whether the modal contains scrolling content
297
276
  */
298
277
  hasScrollingContent: PropTypes.bool,
299
-
300
278
  /**
301
279
  * Specify the DOM element ID of the top-level node.
302
280
  */
303
281
  id: PropTypes.string,
304
-
305
282
  /**
306
283
  * Specify whether or not the Modal content should have any inner padding.
307
284
  */
308
285
  isFullWidth: PropTypes.bool,
309
-
310
286
  /**
311
287
  * Specify a label to be read by screen readers on the modal root node
312
288
  */
313
289
  modalAriaLabel: PropTypes.string,
314
-
315
290
  /**
316
291
  * Specify the content of the modal header title.
317
292
  */
318
293
  modalHeading: PropTypes.node,
319
-
320
294
  /**
321
295
  * Specify the content of the modal header label.
322
296
  */
323
297
  modalLabel: PropTypes.node,
324
-
325
298
  /**
326
299
  * Specify a handler for keypresses.
327
300
  */
328
301
  onKeyDown: PropTypes.func,
329
-
330
302
  /**
331
303
  * Specify a handler for closing modal.
332
304
  * The handler should care of closing modal, e.g. changing `open` prop.
333
305
  */
334
306
  onRequestClose: PropTypes.func,
335
-
336
307
  /**
337
308
  * Specify a handler for "submitting" modal.
338
309
  * The handler should care of closing modal, e.g. changing `open` prop, if necessary.
339
310
  */
340
311
  onRequestSubmit: PropTypes.func,
341
-
342
312
  /**
343
313
  * Specify a handler for the secondary button.
344
314
  * Useful if separate handler from `onRequestClose` is desirable
345
315
  */
346
316
  onSecondarySubmit: PropTypes.func,
347
-
348
317
  /**
349
318
  * Specify whether the Modal is currently open
350
319
  */
351
320
  open: PropTypes.bool,
352
-
353
321
  /**
354
322
  * Specify whether the modal should be button-less
355
323
  */
356
324
  passiveModal: PropTypes.bool,
357
-
358
325
  /**
359
326
  * Prevent closing on click outside of modal
360
327
  */
361
328
  preventCloseOnClickOutside: PropTypes.bool,
362
-
363
329
  /**
364
330
  * Specify whether the Button should be disabled, or not
365
331
  */
366
332
  primaryButtonDisabled: PropTypes.bool,
367
-
368
333
  /**
369
334
  * Specify the text for the primary button
370
335
  */
371
336
  primaryButtonText: PropTypes.node,
372
-
373
337
  /**
374
338
  * Specify the text for the secondary button
375
339
  */
376
340
  secondaryButtonText: PropTypes.node,
377
-
378
341
  /**
379
342
  * Specify an array of config objects for secondary buttons
380
343
  * (`Array<{
@@ -387,7 +350,6 @@ Modal.propTypes = {
387
350
  if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) {
388
351
  return new Error(`${propName} needs to be an array of two button config objects`);
389
352
  }
390
-
391
353
  const shape = {
392
354
  buttonText: PropTypes.node,
393
355
  onClick: PropTypes.func
@@ -396,27 +358,22 @@ Modal.propTypes = {
396
358
  PropTypes.checkPropTypes(shape, secondaryButton, propName, componentName);
397
359
  });
398
360
  }
399
-
400
361
  return null;
401
362
  },
402
-
403
363
  /**
404
364
  * Specify a CSS selector that matches the DOM element that should
405
365
  * be focused when the Modal opens
406
366
  */
407
367
  selectorPrimaryFocus: PropTypes.string,
408
-
409
368
  /**
410
369
  * Specify CSS selectors that match DOM elements working as floating menus.
411
370
  * Focusing on those elements won't trigger "focus-wrap" behavior
412
371
  */
413
372
  selectorsFloatingMenus: PropTypes.arrayOf(PropTypes.string),
414
-
415
373
  /**
416
374
  * Specify if Enter key should be used as "submit" action
417
375
  */
418
376
  shouldSubmitOnEnter: PropTypes.bool,
419
-
420
377
  /**
421
378
  * Specify the size variant.
422
379
  */
@@ -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',