@carbon/react 1.27.0-rc.0 → 1.28.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -313
  2. package/es/components/Accordion/Accordion.Skeleton.js +28 -30
  3. package/es/components/Accordion/Accordion.js +18 -21
  4. package/es/components/Accordion/AccordionItem.js +37 -49
  5. package/es/components/AspectRatio/AspectRatio.js +10 -12
  6. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +10 -11
  7. package/es/components/Breadcrumb/Breadcrumb.js +14 -13
  8. package/es/components/Breadcrumb/BreadcrumbItem.js +24 -22
  9. package/es/components/Button/Button.Skeleton.js +25 -23
  10. package/es/components/Button/Button.js +77 -72
  11. package/es/components/ButtonSet/ButtonSet.js +12 -10
  12. package/es/components/Checkbox/Checkbox.Skeleton.js +10 -11
  13. package/es/components/Checkbox/Checkbox.js +55 -52
  14. package/es/components/CheckboxGroup/CheckboxGroup.js +33 -31
  15. package/es/components/ClassPrefix/index.js +4 -2
  16. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +15 -14
  17. package/es/components/CodeSnippet/CodeSnippet.js +199 -102
  18. package/es/components/ComboBox/ComboBox.js +349 -178
  19. package/es/components/ComboBox/tools/filter.js +6 -4
  20. package/es/components/ComboButton/index.js +38 -43
  21. package/es/components/ComposedModal/ComposedModal.js +187 -85
  22. package/es/components/ComposedModal/ModalFooter.js +54 -49
  23. package/es/components/ComposedModal/ModalHeader.js +39 -26
  24. package/es/components/ContainedList/ContainedList.js +18 -17
  25. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  26. package/es/components/ContentSwitcher/ContentSwitcher.js +83 -98
  27. package/es/components/ContentSwitcher/index.js +1 -1
  28. package/es/components/ContextMenu/useContextMenu.js +12 -21
  29. package/es/components/Copy/Copy.js +24 -29
  30. package/es/components/CopyButton/CopyButton.js +10 -10
  31. package/es/components/DangerButton/DangerButton.js +3 -5
  32. package/es/components/DataTable/DataTable.js +334 -361
  33. package/es/components/DataTable/Table.js +29 -26
  34. package/es/components/DataTable/TableActionList.js +2 -4
  35. package/es/components/DataTable/TableBatchAction.js +2 -4
  36. package/es/components/DataTable/TableBatchActions.js +29 -30
  37. package/es/components/DataTable/TableBody.js +7 -8
  38. package/es/components/DataTable/TableCell.js +1 -1
  39. package/es/components/DataTable/TableContainer.js +23 -23
  40. package/es/components/DataTable/TableContext.js +1 -1
  41. package/es/components/DataTable/TableExpandHeader.js +19 -21
  42. package/es/components/DataTable/TableExpandRow.js +23 -23
  43. package/es/components/DataTable/TableExpandedRow.js +18 -23
  44. package/es/components/DataTable/TableHead.js +1 -1
  45. package/es/components/DataTable/TableHeader.js +45 -41
  46. package/es/components/DataTable/TableRow.js +7 -8
  47. package/es/components/DataTable/TableSelectAll.js +13 -11
  48. package/es/components/DataTable/TableSelectRow.js +29 -21
  49. package/es/components/DataTable/TableToolbar.js +19 -14
  50. package/es/components/DataTable/TableToolbarAction.js +6 -6
  51. package/es/components/DataTable/TableToolbarContent.js +2 -4
  52. package/es/components/DataTable/TableToolbarMenu.js +11 -12
  53. package/es/components/DataTable/TableToolbarSearch.js +52 -71
  54. package/es/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  55. package/es/components/DataTable/state/sortStates.js +1 -1
  56. package/es/components/DataTable/state/sorting.js +28 -20
  57. package/es/components/DataTable/tools/cells.js +1 -3
  58. package/es/components/DataTable/tools/denormalize.js +4 -17
  59. package/es/components/DataTable/tools/filter.js +18 -16
  60. package/es/components/DataTable/tools/instanceId.js +2 -2
  61. package/es/components/DataTable/tools/normalize.js +28 -25
  62. package/es/components/DataTable/tools/sorting.js +28 -25
  63. package/es/components/DataTableSkeleton/DataTableSkeleton.js +36 -38
  64. package/es/components/DatePicker/DatePicker.Skeleton.js +17 -18
  65. package/es/components/DatePicker/DatePicker.js +206 -195
  66. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  67. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  68. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  69. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  70. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  71. package/es/components/Dropdown/Dropdown.js +266 -109
  72. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  73. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  74. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  75. package/es/components/ExpandableSearch/ExpandableSearch.js +18 -25
  76. package/es/components/FeatureFlags/index.js +25 -43
  77. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  78. package/es/components/FileUploader/FileUploader.js +120 -147
  79. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  80. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  81. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  82. package/es/components/FileUploader/Filename.js +13 -14
  83. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  84. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  85. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  86. package/es/components/FluidDatePicker/FluidDatePicker.js +19 -16
  87. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  88. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  89. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  90. package/es/components/FluidForm/FluidForm.js +9 -10
  91. package/es/components/FluidForm/FormContext.js +1 -1
  92. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  93. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  94. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  95. package/es/components/FluidSelect/FluidSelect.js +9 -9
  96. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  97. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  98. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  99. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  100. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  101. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  102. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  103. package/es/components/Form/Form.js +9 -10
  104. package/es/components/FormGroup/FormGroup.js +16 -17
  105. package/es/components/FormItem/FormItem.js +8 -9
  106. package/es/components/FormLabel/FormLabel.js +11 -10
  107. package/es/components/Grid/CSSGrid.js +38 -39
  108. package/es/components/Grid/Column.js +86 -79
  109. package/es/components/Grid/ColumnHang.js +12 -14
  110. package/es/components/Grid/FlexGrid.js +19 -21
  111. package/es/components/Grid/Grid.js +2 -2
  112. package/es/components/Grid/GridContext.js +12 -11
  113. package/es/components/Grid/Row.js +16 -18
  114. package/es/components/Heading/index.js +11 -13
  115. package/es/components/Icon/Icon.Skeleton.js +10 -12
  116. package/es/components/IconButton/index.js +19 -22
  117. package/es/components/IdPrefix/index.js +4 -2
  118. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  119. package/es/components/InlineLoading/InlineLoading.js +23 -25
  120. package/es/components/Layer/LayerContext.js +1 -1
  121. package/es/components/Layer/index.js +17 -18
  122. package/es/components/Layout/LayoutDirection.js +8 -10
  123. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  124. package/es/components/Link/Link.js +25 -25
  125. package/es/components/ListBox/ListBox.js +38 -31
  126. package/es/components/ListBox/ListBoxField.js +9 -10
  127. package/es/components/ListBox/ListBoxMenu.js +9 -10
  128. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  129. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  130. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  131. package/es/components/ListBox/ListBoxSelection.js +30 -25
  132. package/es/components/ListBox/index.js +1 -1
  133. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  134. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  135. package/es/components/ListItem/ListItem.js +9 -10
  136. package/es/components/Loading/Loading.js +24 -24
  137. package/es/components/Menu/Menu.js +67 -80
  138. package/es/components/Menu/MenuContext.js +9 -12
  139. package/es/components/Menu/MenuItem.js +104 -128
  140. package/es/components/MenuButton/index.js +37 -41
  141. package/es/components/Modal/Modal.js +281 -120
  142. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  143. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  144. package/es/components/MultiSelect/MultiSelect.js +162 -174
  145. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  146. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  147. package/es/components/MultiSelect/tools/sorting.js +15 -13
  148. package/es/components/Notification/Notification.js +436 -164
  149. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  150. package/es/components/NumberInput/NumberInput.js +140 -139
  151. package/es/components/OrderedList/OrderedList.js +17 -15
  152. package/es/components/OverflowMenu/OverflowMenu.js +359 -227
  153. package/es/components/OverflowMenu/index.js +1 -1
  154. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  155. package/es/components/OverflowMenuV2/index.js +26 -28
  156. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  157. package/es/components/Pagination/Pagination.js +98 -140
  158. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  159. package/es/components/Pagination/experimental/Pagination.js +73 -94
  160. package/es/components/PaginationNav/PaginationNav.js +98 -117
  161. package/es/components/Popover/index.js +74 -80
  162. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  163. package/es/components/ProgressBar/ProgressBar.js +39 -37
  164. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  165. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  166. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  167. package/es/components/RadioButton/RadioButton.js +27 -27
  168. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  169. package/es/components/RadioTile/RadioTile.js +28 -26
  170. package/es/components/Search/Search.Skeleton.js +16 -16
  171. package/es/components/Search/Search.d.ts +83 -0
  172. package/es/components/Search/Search.js +65 -72
  173. package/es/components/Search/index.d.ts +11 -0
  174. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  175. package/es/components/Select/Select.Skeleton.js +12 -13
  176. package/es/components/Select/Select.js +79 -73
  177. package/es/components/SelectItem/SelectItem.js +17 -13
  178. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  179. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  180. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  181. package/es/components/SkeletonText/SkeletonText.js +29 -29
  182. package/es/components/Slider/Slider.Skeleton.js +17 -18
  183. package/es/components/Slider/Slider.js +306 -329
  184. package/es/components/Slider/index.js +1 -1
  185. package/es/components/Stack/Stack.js +19 -20
  186. package/es/components/Stack/index.js +2 -2
  187. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  188. package/es/components/StructuredList/StructuredList.js +134 -106
  189. package/es/components/Switch/IconSwitch.js +48 -54
  190. package/es/components/Switch/Switch.js +33 -31
  191. package/es/components/Tab/Tab.js +77 -83
  192. package/es/components/Tab/index.js +1 -1
  193. package/es/components/TabContent/TabContent.js +16 -18
  194. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  195. package/es/components/Tabs/Tabs.js +211 -210
  196. package/es/components/Tabs/usePressable.js +27 -36
  197. package/es/components/Tag/Tag.Skeleton.js +10 -9
  198. package/es/components/Tag/Tag.js +34 -31
  199. package/es/components/Text/Text.js +20 -20
  200. package/es/components/Text/TextDirection.js +8 -7
  201. package/es/components/Text/TextDirectionContext.js +1 -1
  202. package/es/components/Text/index.js +1 -1
  203. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  204. package/es/components/TextArea/TextArea.js +89 -83
  205. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  206. package/es/components/TextInput/PasswordInput.js +101 -91
  207. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  208. package/es/components/TextInput/TextInput.js +104 -92
  209. package/es/components/TextInput/util.js +26 -28
  210. package/es/components/Theme/index.js +25 -20
  211. package/es/components/Tile/Tile.js +135 -176
  212. package/es/components/TileGroup/TileGroup.js +55 -70
  213. package/es/components/TileGroup/index.js +1 -1
  214. package/es/components/TimePicker/TimePicker.js +60 -67
  215. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  216. package/es/components/TimePickerSelect/index.js +1 -1
  217. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  218. package/es/components/Toggle/Toggle.js +44 -48
  219. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  220. package/es/components/Toggletip/index.js +52 -48
  221. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  222. package/es/components/Tooltip/Tooltip.js +35 -50
  223. package/es/components/TreeView/TreeNode.js +94 -74
  224. package/es/components/TreeView/TreeView.js +72 -83
  225. package/es/components/UIShell/Content.js +12 -14
  226. package/es/components/UIShell/Header.js +16 -12
  227. package/es/components/UIShell/HeaderContainer.js +8 -14
  228. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  229. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  230. package/es/components/UIShell/HeaderMenu.js +114 -129
  231. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  232. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  233. package/es/components/UIShell/HeaderName.js +19 -14
  234. package/es/components/UIShell/HeaderNavigation.js +19 -15
  235. package/es/components/UIShell/HeaderPanel.js +23 -17
  236. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  237. package/es/components/UIShell/Link.js +11 -11
  238. package/es/components/UIShell/SideNav.js +66 -62
  239. package/es/components/UIShell/SideNavDetails.js +11 -12
  240. package/es/components/UIShell/SideNavDivider.js +5 -3
  241. package/es/components/UIShell/SideNavFooter.js +12 -12
  242. package/es/components/UIShell/SideNavHeader.js +8 -6
  243. package/es/components/UIShell/SideNavIcon.js +11 -8
  244. package/es/components/UIShell/SideNavItem.js +11 -9
  245. package/es/components/UIShell/SideNavItems.js +13 -11
  246. package/es/components/UIShell/SideNavLink.js +19 -17
  247. package/es/components/UIShell/SideNavLinkText.js +8 -9
  248. package/es/components/UIShell/SideNavMenu.js +28 -35
  249. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  250. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  251. package/es/components/UIShell/SkipToContent.js +10 -11
  252. package/es/components/UIShell/Switcher.js +20 -11
  253. package/es/components/UIShell/SwitcherDivider.js +10 -9
  254. package/es/components/UIShell/SwitcherItem.js +26 -19
  255. package/es/components/UIShell/_utils.js +1 -1
  256. package/es/components/UnorderedList/UnorderedList.js +14 -14
  257. package/es/index.js +5 -5
  258. package/es/internal/ClickListener.js +49 -65
  259. package/es/internal/FloatingMenu.js +193 -200
  260. package/es/internal/OptimizedResize.js +9 -8
  261. package/es/internal/Selection.js +92 -111
  262. package/es/internal/createClassWrapper.js +2 -2
  263. package/es/internal/deprecateFieldOnObject.js +5 -3
  264. package/es/internal/environment.js +1 -1
  265. package/es/internal/focus/index.js +1 -1
  266. package/es/internal/keyboard/keys.js +11 -11
  267. package/es/internal/keyboard/match.js +7 -6
  268. package/es/internal/keyboard/navigation.js +15 -5
  269. package/es/internal/useAnnouncer.js +2 -2
  270. package/es/internal/useAttachedMenu.js +12 -20
  271. package/es/internal/useControllableState.js +11 -16
  272. package/es/internal/useDelayedState.js +9 -18
  273. package/es/internal/useEffectOnce.js +4 -4
  274. package/es/internal/useEvent.js +4 -4
  275. package/es/internal/useId.js +15 -19
  276. package/es/internal/useIdPrefix.js +1 -1
  277. package/es/internal/useIsomorphicEffect.js +1 -1
  278. package/es/internal/useMergedRefs.js +3 -3
  279. package/es/internal/useNoInteractiveChildren.js +8 -19
  280. package/es/internal/useNormalizedInputProps.js +16 -14
  281. package/es/internal/usePrefix.js +1 -1
  282. package/es/internal/useSavedCallback.js +3 -3
  283. package/es/internal/warning.js +4 -4
  284. package/es/internal/wrapFocus.js +16 -21
  285. package/es/prop-types/AriaPropTypes.js +1 -1
  286. package/es/prop-types/deprecate.js +6 -5
  287. package/es/prop-types/isRequiredOneOf.js +12 -25
  288. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  289. package/es/prop-types/types.js +1 -1
  290. package/es/tools/array.js +1 -1
  291. package/es/tools/events.js +21 -14
  292. package/es/tools/mergeRefs.js +3 -3
  293. package/es/tools/setupGetInstanceId.js +1 -1
  294. package/es/tools/uniqueId.js +3 -3
  295. package/es/tools/wrapComponent.js +14 -13
  296. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  297. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  298. package/lib/components/Accordion/Accordion.js +17 -20
  299. package/lib/components/Accordion/AccordionItem.js +36 -48
  300. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  301. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  302. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  303. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  304. package/lib/components/Button/Button.Skeleton.js +24 -22
  305. package/lib/components/Button/Button.js +76 -71
  306. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  307. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  308. package/lib/components/Checkbox/Checkbox.js +54 -51
  309. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  310. package/lib/components/ClassPrefix/index.js +4 -2
  311. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  312. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  313. package/lib/components/ComboBox/ComboBox.js +348 -177
  314. package/lib/components/ComboBox/tools/filter.js +6 -4
  315. package/lib/components/ComboButton/index.js +37 -42
  316. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  317. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  318. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  319. package/lib/components/ContainedList/ContainedList.js +18 -17
  320. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  321. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  322. package/lib/components/ContentSwitcher/index.js +1 -1
  323. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  324. package/lib/components/Copy/Copy.js +23 -28
  325. package/lib/components/CopyButton/CopyButton.js +9 -9
  326. package/lib/components/DangerButton/DangerButton.js +3 -5
  327. package/lib/components/DataTable/DataTable.js +332 -359
  328. package/lib/components/DataTable/Table.js +28 -25
  329. package/lib/components/DataTable/TableActionList.js +2 -4
  330. package/lib/components/DataTable/TableBatchAction.js +2 -4
  331. package/lib/components/DataTable/TableBatchActions.js +28 -29
  332. package/lib/components/DataTable/TableBody.js +6 -7
  333. package/lib/components/DataTable/TableCell.js +1 -1
  334. package/lib/components/DataTable/TableContainer.js +22 -22
  335. package/lib/components/DataTable/TableContext.js +1 -1
  336. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  337. package/lib/components/DataTable/TableExpandRow.js +22 -22
  338. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  339. package/lib/components/DataTable/TableHead.js +1 -1
  340. package/lib/components/DataTable/TableHeader.js +43 -39
  341. package/lib/components/DataTable/TableRow.js +7 -8
  342. package/lib/components/DataTable/TableSelectAll.js +13 -11
  343. package/lib/components/DataTable/TableSelectRow.js +28 -20
  344. package/lib/components/DataTable/TableToolbar.js +18 -13
  345. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  346. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  347. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  348. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  349. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  350. package/lib/components/DataTable/state/sortStates.js +1 -1
  351. package/lib/components/DataTable/state/sorting.js +28 -20
  352. package/lib/components/DataTable/tools/cells.js +1 -3
  353. package/lib/components/DataTable/tools/denormalize.js +4 -17
  354. package/lib/components/DataTable/tools/filter.js +18 -16
  355. package/lib/components/DataTable/tools/instanceId.js +2 -2
  356. package/lib/components/DataTable/tools/normalize.js +28 -25
  357. package/lib/components/DataTable/tools/sorting.js +27 -24
  358. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  359. package/lib/components/DatePicker/DatePicker.Skeleton.js +16 -17
  360. package/lib/components/DatePicker/DatePicker.js +205 -194
  361. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  362. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  363. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  364. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  365. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  366. package/lib/components/Dropdown/Dropdown.js +265 -108
  367. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  368. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  369. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +13 -0
  370. package/lib/components/ExpandableSearch/ExpandableSearch.js +17 -24
  371. package/lib/components/FeatureFlags/index.js +25 -43
  372. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  373. package/lib/components/FileUploader/FileUploader.js +119 -146
  374. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  375. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  376. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  377. package/lib/components/FileUploader/Filename.js +12 -13
  378. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  379. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  380. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  381. package/lib/components/FluidDatePicker/FluidDatePicker.js +18 -15
  382. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  383. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  384. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  385. package/lib/components/FluidForm/FluidForm.js +8 -9
  386. package/lib/components/FluidForm/FormContext.js +1 -1
  387. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  388. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  389. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  390. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  391. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  392. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  393. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  394. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  395. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  396. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  397. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  398. package/lib/components/Form/Form.js +8 -9
  399. package/lib/components/FormGroup/FormGroup.js +15 -16
  400. package/lib/components/FormItem/FormItem.js +7 -8
  401. package/lib/components/FormLabel/FormLabel.js +10 -9
  402. package/lib/components/Grid/CSSGrid.js +37 -38
  403. package/lib/components/Grid/Column.js +85 -78
  404. package/lib/components/Grid/ColumnHang.js +11 -13
  405. package/lib/components/Grid/FlexGrid.js +19 -21
  406. package/lib/components/Grid/Grid.js +2 -2
  407. package/lib/components/Grid/GridContext.js +12 -11
  408. package/lib/components/Grid/Row.js +16 -18
  409. package/lib/components/Heading/index.js +11 -13
  410. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  411. package/lib/components/IconButton/index.js +18 -21
  412. package/lib/components/IdPrefix/index.js +4 -2
  413. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  414. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  415. package/lib/components/Layer/LayerContext.js +1 -1
  416. package/lib/components/Layer/index.js +16 -17
  417. package/lib/components/Layout/LayoutDirection.js +7 -9
  418. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  419. package/lib/components/Link/Link.js +24 -24
  420. package/lib/components/ListBox/ListBox.js +37 -30
  421. package/lib/components/ListBox/ListBoxField.js +8 -9
  422. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  423. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  424. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  425. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  426. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  427. package/lib/components/ListBox/index.js +1 -1
  428. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  429. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  430. package/lib/components/ListItem/ListItem.js +8 -9
  431. package/lib/components/Loading/Loading.js +23 -23
  432. package/lib/components/Menu/Menu.js +66 -79
  433. package/lib/components/Menu/MenuContext.js +9 -12
  434. package/lib/components/Menu/MenuItem.js +103 -127
  435. package/lib/components/MenuButton/index.js +36 -40
  436. package/lib/components/Modal/Modal.js +280 -119
  437. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  438. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  439. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  440. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  441. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  442. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  443. package/lib/components/Notification/Notification.js +434 -162
  444. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  445. package/lib/components/NumberInput/NumberInput.js +139 -138
  446. package/lib/components/OrderedList/OrderedList.js +16 -14
  447. package/lib/components/OverflowMenu/OverflowMenu.js +358 -226
  448. package/lib/components/OverflowMenu/index.js +1 -1
  449. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  450. package/lib/components/OverflowMenuV2/index.js +25 -27
  451. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  452. package/lib/components/Pagination/Pagination.js +97 -139
  453. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  454. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  455. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  456. package/lib/components/Popover/index.js +73 -79
  457. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  458. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  459. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  460. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  461. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  462. package/lib/components/RadioButton/RadioButton.js +26 -26
  463. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  464. package/lib/components/RadioTile/RadioTile.js +27 -25
  465. package/lib/components/Search/Search.Skeleton.js +15 -15
  466. package/lib/components/Search/Search.d.ts +83 -0
  467. package/lib/components/Search/Search.js +62 -69
  468. package/lib/components/Search/index.d.ts +11 -0
  469. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  470. package/lib/components/Select/Select.Skeleton.js +11 -12
  471. package/lib/components/Select/Select.js +78 -72
  472. package/lib/components/SelectItem/SelectItem.js +16 -12
  473. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  474. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  475. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  476. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  477. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  478. package/lib/components/Slider/Slider.js +305 -328
  479. package/lib/components/Slider/index.js +1 -1
  480. package/lib/components/Stack/Stack.js +18 -19
  481. package/lib/components/Stack/index.js +2 -2
  482. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  483. package/lib/components/StructuredList/StructuredList.js +133 -105
  484. package/lib/components/Switch/IconSwitch.js +45 -51
  485. package/lib/components/Switch/Switch.js +33 -31
  486. package/lib/components/Tab/Tab.js +76 -82
  487. package/lib/components/Tab/index.js +1 -1
  488. package/lib/components/TabContent/TabContent.js +15 -17
  489. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  490. package/lib/components/Tabs/Tabs.js +210 -209
  491. package/lib/components/Tabs/usePressable.js +27 -36
  492. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  493. package/lib/components/Tag/Tag.js +33 -30
  494. package/lib/components/Text/Text.js +19 -19
  495. package/lib/components/Text/TextDirection.js +8 -7
  496. package/lib/components/Text/TextDirectionContext.js +1 -1
  497. package/lib/components/Text/index.js +1 -1
  498. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  499. package/lib/components/TextArea/TextArea.js +88 -82
  500. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  501. package/lib/components/TextInput/PasswordInput.js +100 -90
  502. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  503. package/lib/components/TextInput/TextInput.js +104 -92
  504. package/lib/components/TextInput/util.js +28 -30
  505. package/lib/components/Theme/index.js +24 -19
  506. package/lib/components/Tile/Tile.js +134 -175
  507. package/lib/components/TileGroup/TileGroup.js +54 -69
  508. package/lib/components/TileGroup/index.js +1 -1
  509. package/lib/components/TimePicker/TimePicker.js +59 -66
  510. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  511. package/lib/components/TimePickerSelect/index.js +1 -1
  512. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  513. package/lib/components/Toggle/Toggle.js +43 -47
  514. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  515. package/lib/components/Toggletip/index.js +51 -47
  516. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  517. package/lib/components/Tooltip/Tooltip.js +34 -49
  518. package/lib/components/TreeView/TreeNode.js +93 -73
  519. package/lib/components/TreeView/TreeView.js +71 -82
  520. package/lib/components/UIShell/Content.js +12 -14
  521. package/lib/components/UIShell/Header.js +15 -11
  522. package/lib/components/UIShell/HeaderContainer.js +8 -14
  523. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  524. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  525. package/lib/components/UIShell/HeaderMenu.js +113 -128
  526. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  527. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  528. package/lib/components/UIShell/HeaderName.js +18 -13
  529. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  530. package/lib/components/UIShell/HeaderPanel.js +22 -16
  531. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  532. package/lib/components/UIShell/Link.js +11 -11
  533. package/lib/components/UIShell/SideNav.js +65 -61
  534. package/lib/components/UIShell/SideNavDetails.js +10 -11
  535. package/lib/components/UIShell/SideNavDivider.js +5 -3
  536. package/lib/components/UIShell/SideNavFooter.js +12 -12
  537. package/lib/components/UIShell/SideNavHeader.js +8 -6
  538. package/lib/components/UIShell/SideNavIcon.js +11 -8
  539. package/lib/components/UIShell/SideNavItem.js +11 -9
  540. package/lib/components/UIShell/SideNavItems.js +13 -11
  541. package/lib/components/UIShell/SideNavLink.js +18 -16
  542. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  543. package/lib/components/UIShell/SideNavMenu.js +28 -35
  544. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  545. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  546. package/lib/components/UIShell/SkipToContent.js +9 -10
  547. package/lib/components/UIShell/Switcher.js +19 -10
  548. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  549. package/lib/components/UIShell/SwitcherItem.js +25 -18
  550. package/lib/components/UIShell/_utils.js +1 -1
  551. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  552. package/lib/index.js +10 -10
  553. package/lib/internal/ClickListener.js +49 -65
  554. package/lib/internal/FloatingMenu.js +192 -199
  555. package/lib/internal/OptimizedResize.js +9 -8
  556. package/lib/internal/Selection.js +91 -110
  557. package/lib/internal/createClassWrapper.js +2 -2
  558. package/lib/internal/deprecateFieldOnObject.js +5 -3
  559. package/lib/internal/environment.js +1 -1
  560. package/lib/internal/focus/index.js +1 -1
  561. package/lib/internal/keyboard/keys.js +11 -11
  562. package/lib/internal/keyboard/match.js +7 -6
  563. package/lib/internal/keyboard/navigation.js +15 -5
  564. package/lib/internal/useAnnouncer.js +2 -2
  565. package/lib/internal/useAttachedMenu.js +12 -20
  566. package/lib/internal/useControllableState.js +11 -16
  567. package/lib/internal/useDelayedState.js +9 -18
  568. package/lib/internal/useEffectOnce.js +4 -4
  569. package/lib/internal/useEvent.js +4 -4
  570. package/lib/internal/useId.js +14 -18
  571. package/lib/internal/useIdPrefix.js +1 -1
  572. package/lib/internal/useIsomorphicEffect.js +1 -1
  573. package/lib/internal/useMergedRefs.js +3 -3
  574. package/lib/internal/useNoInteractiveChildren.js +8 -19
  575. package/lib/internal/useNormalizedInputProps.js +16 -14
  576. package/lib/internal/usePrefix.js +1 -1
  577. package/lib/internal/useSavedCallback.js +3 -3
  578. package/lib/internal/warning.js +4 -4
  579. package/lib/internal/wrapFocus.js +16 -21
  580. package/lib/prop-types/AriaPropTypes.js +1 -1
  581. package/lib/prop-types/deprecate.js +6 -5
  582. package/lib/prop-types/isRequiredOneOf.js +15 -28
  583. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  584. package/lib/prop-types/types.js +1 -1
  585. package/lib/tools/array.js +1 -1
  586. package/lib/tools/events.js +21 -14
  587. package/lib/tools/mergeRefs.js +3 -3
  588. package/lib/tools/setupGetInstanceId.js +1 -1
  589. package/lib/tools/uniqueId.js +3 -3
  590. package/lib/tools/wrapComponent.js +14 -13
  591. package/package.json +9 -9
@@ -5,10 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- var defaultFilterItems = function defaultFilterItems(items, _ref) {
9
- var itemToString = _ref.itemToString,
10
- inputValue = _ref.inputValue;
11
- return items.filter(function (item) {
8
+ const defaultFilterItems = (items, _ref) => {
9
+ let {
10
+ itemToString,
11
+ inputValue
12
+ } = _ref;
13
+ return items.filter(item => {
12
14
  if (!inputValue) {
13
15
  return true;
14
16
  }
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useRef, useState } from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import cx from 'classnames';
@@ -19,11 +19,9 @@ import { useMergedRefs } from '../../internal/useMergedRefs.js';
19
19
  import { usePrefix } from '../../internal/usePrefix.js';
20
20
 
21
21
  var _ChevronDown;
22
+ const spacing = 4; // top and bottom spacing between the button and the menu. in px
22
23
 
23
- var _excluded = ["children", "className", "disabled", "label", "onClick", "size", "tooltipAlign", "translateWithId"];
24
- var spacing = 4; // top and bottom spacing between the button and the menu. in px
25
-
26
- var defaultTranslations = {
24
+ const defaultTranslations = {
27
25
  'carbon.combo-button.additional-actions': 'Additional actions'
28
26
  };
29
27
 
@@ -31,43 +29,38 @@ function defaultTranslateWithId(messageId) {
31
29
  return defaultTranslations[messageId];
32
30
  }
33
31
 
34
- var ComboButton = /*#__PURE__*/React__default.forwardRef(function ComboButton(_ref, forwardRef) {
35
- var children = _ref.children,
36
- className = _ref.className,
37
- disabled = _ref.disabled,
38
- label = _ref.label,
39
- onClick = _ref.onClick,
40
- _ref$size = _ref.size,
41
- size = _ref$size === void 0 ? 'lg' : _ref$size,
42
- tooltipAlign = _ref.tooltipAlign,
43
- _ref$translateWithId = _ref.translateWithId,
44
- t = _ref$translateWithId === void 0 ? defaultTranslateWithId : _ref$translateWithId,
45
- rest = _objectWithoutProperties(_ref, _excluded);
46
-
47
- var id = useId('combobutton');
48
- var prefix = usePrefix();
49
- var containerRef = useRef(null);
50
- var menuRef = useRef(null);
51
- var ref = useMergedRefs([forwardRef, containerRef]);
52
-
53
- var _useState = useState(0),
54
- _useState2 = _slicedToArray(_useState, 2),
55
- width = _useState2[0],
56
- setWidth = _useState2[1];
57
-
58
- var _useAttachedMenu = useAttachedMenu(containerRef),
59
- open = _useAttachedMenu.open,
60
- x = _useAttachedMenu.x,
61
- y = _useAttachedMenu.y,
62
- hookOnClick = _useAttachedMenu.handleClick,
63
- handleTriggerMousedown = _useAttachedMenu.handleMousedown,
64
- handleClose = _useAttachedMenu.handleClose;
32
+ const ComboButton = /*#__PURE__*/React__default.forwardRef(function ComboButton(_ref, forwardRef) {
33
+ let {
34
+ children,
35
+ className,
36
+ disabled,
37
+ label,
38
+ onClick,
39
+ size = 'lg',
40
+ tooltipAlign,
41
+ translateWithId: t = defaultTranslateWithId,
42
+ ...rest
43
+ } = _ref;
44
+ const id = useId('combobutton');
45
+ const prefix = usePrefix();
46
+ const containerRef = useRef(null);
47
+ const menuRef = useRef(null);
48
+ const ref = useMergedRefs([forwardRef, containerRef]);
49
+ const [width, setWidth] = useState(0);
50
+ const {
51
+ open,
52
+ x,
53
+ y,
54
+ handleClick: hookOnClick,
55
+ handleMousedown: handleTriggerMousedown,
56
+ handleClose
57
+ } = useAttachedMenu(containerRef);
65
58
 
66
59
  function handleTriggerClick() {
67
60
  if (containerRef.current) {
68
- var _containerRef$current = containerRef.current.getBoundingClientRect(),
69
- w = _containerRef$current.width;
70
-
61
+ const {
62
+ width: w
63
+ } = containerRef.current.getBoundingClientRect();
71
64
  setWidth(w);
72
65
  hookOnClick();
73
66
  }
@@ -80,12 +73,14 @@ var ComboButton = /*#__PURE__*/React__default.forwardRef(function ComboButton(_r
80
73
  }
81
74
 
82
75
  function handleOpen() {
83
- menuRef.current.style.width = "".concat(width, "px");
76
+ menuRef.current.style.width = `${width}px`;
84
77
  }
85
78
 
86
- var containerClasses = cx("".concat(prefix, "--combo-button__container"), "".concat(prefix, "--combo-button__container--").concat(size), _defineProperty({}, "".concat(prefix, "--combo-button__container--open"), open), className);
87
- var primaryActionClasses = cx("".concat(prefix, "--combo-button__primary-action"));
88
- var triggerClasses = cx("".concat(prefix, "--combo-button__trigger"));
79
+ const containerClasses = cx(`${prefix}--combo-button__container`, `${prefix}--combo-button__container--${size}`, {
80
+ [`${prefix}--combo-button__container--open`]: open
81
+ }, className);
82
+ const primaryActionClasses = cx(`${prefix}--combo-button__primary-action`);
83
+ const triggerClasses = cx(`${prefix}--combo-button__trigger`);
89
84
  return /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
90
85
  className: containerClasses,
91
86
  ref: ref
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useState, useRef, useEffect } from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import { ModalHeader } from './ModalHeader.js';
@@ -16,22 +16,22 @@ import requiredIfGivenPropIsTruthy from '../../prop-types/requiredIfGivenPropIsT
16
16
  import wrapFocus from '../../internal/wrapFocus.js';
17
17
  import { usePrefix } from '../../internal/usePrefix.js';
18
18
 
19
- var _ModalBody$propTypes, _ComposedModal$propTy;
20
-
21
- var _excluded = ["className", "children", "hasForm", "hasScrollingContent"],
22
- _excluded2 = ["aria-labelledby", "aria-label", "children", "className", "containerClassName", "danger", "isFullWidth", "onClose", "onKeyDown", "open", "preventCloseOnClickOutside", "selectorPrimaryFocus", "selectorsFloatingMenus", "size"];
23
- var ModalBody = /*#__PURE__*/React__default.forwardRef(function ModalBody(_ref, ref) {
24
- var _cx;
25
-
26
- var customClassName = _ref.className,
27
- children = _ref.children,
28
- hasForm = _ref.hasForm,
29
- hasScrollingContent = _ref.hasScrollingContent,
30
- rest = _objectWithoutProperties(_ref, _excluded);
31
-
32
- var prefix = usePrefix();
33
- var contentClass = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--modal-content"), true), _defineProperty(_cx, "".concat(prefix, "--modal-content--with-form"), hasForm), _defineProperty(_cx, "".concat(prefix, "--modal-scroll-content"), hasScrollingContent), _defineProperty(_cx, customClassName, customClassName), _cx));
34
- var hasScrollingContentProps = hasScrollingContent ? {
19
+ const ModalBody = /*#__PURE__*/React__default.forwardRef(function ModalBody(_ref, ref) {
20
+ let {
21
+ className: customClassName,
22
+ children,
23
+ hasForm,
24
+ hasScrollingContent,
25
+ ...rest
26
+ } = _ref;
27
+ const prefix = usePrefix();
28
+ const contentClass = cx({
29
+ [`${prefix}--modal-content`]: true,
30
+ [`${prefix}--modal-content--with-form`]: hasForm,
31
+ [`${prefix}--modal-scroll-content`]: hasScrollingContent,
32
+ [customClassName]: customClassName
33
+ });
34
+ const hasScrollingContentProps = hasScrollingContent ? {
35
35
  tabIndex: 0,
36
36
  role: 'region'
37
37
  } : {};
@@ -40,45 +40,61 @@ var ModalBody = /*#__PURE__*/React__default.forwardRef(function ModalBody(_ref,
40
40
  }, hasScrollingContentProps, rest, {
41
41
  ref: ref
42
42
  }), children), hasScrollingContent && /*#__PURE__*/React__default.createElement("div", {
43
- className: "".concat(prefix, "--modal-content--overflow-indicator")
43
+ className: `${prefix}--modal-content--overflow-indicator`
44
44
  }));
45
45
  });
46
- ModalBody.propTypes = (_ModalBody$propTypes = {}, _defineProperty(_ModalBody$propTypes, 'aria-label', requiredIfGivenPropIsTruthy('hasScrollingContent', PropTypes.string)), _defineProperty(_ModalBody$propTypes, "children", PropTypes.node), _defineProperty(_ModalBody$propTypes, "className", PropTypes.string), _defineProperty(_ModalBody$propTypes, "hasForm", PropTypes.bool), _defineProperty(_ModalBody$propTypes, "hasScrollingContent", PropTypes.bool), _ModalBody$propTypes);
47
- var ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModal(_ref2, ref) {
48
- var _cx2, _cx3;
49
-
50
- var ariaLabelledBy = _ref2['aria-labelledby'],
51
- ariaLabel = _ref2['aria-label'],
52
- children = _ref2.children,
53
- customClassName = _ref2.className,
54
- containerClassName = _ref2.containerClassName,
55
- danger = _ref2.danger,
56
- isFullWidth = _ref2.isFullWidth,
57
- onClose = _ref2.onClose,
58
- onKeyDown = _ref2.onKeyDown,
59
- open = _ref2.open,
60
- preventCloseOnClickOutside = _ref2.preventCloseOnClickOutside,
61
- selectorPrimaryFocus = _ref2.selectorPrimaryFocus,
62
- selectorsFloatingMenus = _ref2.selectorsFloatingMenus,
63
- size = _ref2.size,
64
- rest = _objectWithoutProperties(_ref2, _excluded2);
65
-
66
- var prefix = usePrefix();
67
-
68
- var _useState = useState(open),
69
- _useState2 = _slicedToArray(_useState, 2),
70
- isOpen = _useState2[0],
71
- setisOpen = _useState2[1];
72
-
73
- var _useState3 = useState(open),
74
- _useState4 = _slicedToArray(_useState3, 2),
75
- prevOpen = _useState4[0],
76
- setPrevOpen = _useState4[1];
77
-
78
- var innerModal = useRef();
79
- var button = useRef();
80
- var startSentinel = useRef();
81
- var endSentinel = useRef();
46
+ ModalBody.propTypes = {
47
+ /**
48
+ * Required props for the accessibility label of the header
49
+ */
50
+ ['aria-label']: requiredIfGivenPropIsTruthy('hasScrollingContent', PropTypes.string),
51
+
52
+ /**
53
+ * Specify the content to be placed in the ModalBody
54
+ */
55
+ children: PropTypes.node,
56
+
57
+ /**
58
+ * Specify an optional className to be added to the Modal Body node
59
+ */
60
+ className: PropTypes.string,
61
+
62
+ /**
63
+ * Provide whether the modal content has a form element.
64
+ * If `true` is used here, non-form child content should have `bx--modal-content__regular-content` class.
65
+ */
66
+ hasForm: PropTypes.bool,
67
+
68
+ /**
69
+ * Specify whether the modal contains scrolling content
70
+ */
71
+ hasScrollingContent: PropTypes.bool
72
+ };
73
+ const ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModal(_ref2, ref) {
74
+ let {
75
+ ['aria-labelledby']: ariaLabelledBy,
76
+ ['aria-label']: ariaLabel,
77
+ children,
78
+ className: customClassName,
79
+ containerClassName,
80
+ danger,
81
+ isFullWidth,
82
+ onClose,
83
+ onKeyDown,
84
+ open,
85
+ preventCloseOnClickOutside,
86
+ selectorPrimaryFocus,
87
+ selectorsFloatingMenus,
88
+ size,
89
+ ...rest
90
+ } = _ref2;
91
+ const prefix = usePrefix();
92
+ const [isOpen, setisOpen] = useState(open);
93
+ const [prevOpen, setPrevOpen] = useState(open);
94
+ const innerModal = useRef();
95
+ const button = useRef();
96
+ const startSentinel = useRef();
97
+ const endSentinel = useRef();
82
98
 
83
99
  if (open !== prevOpen) {
84
100
  setisOpen(open);
@@ -105,20 +121,28 @@ var ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModa
105
121
  }
106
122
 
107
123
  function handleBlur(_ref3) {
108
- var oldActiveNode = _ref3.target,
109
- currentActiveNode = _ref3.relatedTarget;
124
+ let {
125
+ target: oldActiveNode,
126
+ relatedTarget: currentActiveNode
127
+ } = _ref3;
110
128
 
111
129
  if (open && currentActiveNode && oldActiveNode) {
112
- var bodyNode = innerModal.current;
113
- var startSentinelNode = startSentinel.current;
114
- var endSentinelNode = endSentinel.current;
130
+ const {
131
+ current: bodyNode
132
+ } = innerModal;
133
+ const {
134
+ current: startSentinelNode
135
+ } = startSentinel;
136
+ const {
137
+ current: endSentinelNode
138
+ } = endSentinel;
115
139
  wrapFocus({
116
- bodyNode: bodyNode,
117
- startSentinelNode: startSentinelNode,
118
- endSentinelNode: endSentinelNode,
119
- currentActiveNode: currentActiveNode,
120
- oldActiveNode: oldActiveNode,
121
- selectorsFloatingMenus: selectorsFloatingMenus
140
+ bodyNode,
141
+ startSentinelNode,
142
+ endSentinelNode,
143
+ currentActiveNode,
144
+ oldActiveNode,
145
+ selectorsFloatingMenus
122
146
  });
123
147
  }
124
148
  }
@@ -129,11 +153,21 @@ var ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModa
129
153
  }
130
154
  }
131
155
 
132
- var modalClass = cx((_cx2 = {}, _defineProperty(_cx2, "".concat(prefix, "--modal"), true), _defineProperty(_cx2, 'is-visible', isOpen), _defineProperty(_cx2, customClassName, customClassName), _defineProperty(_cx2, "".concat(prefix, "--modal--danger"), danger), _cx2));
133
- var containerClass = cx((_cx3 = {}, _defineProperty(_cx3, "".concat(prefix, "--modal-container"), true), _defineProperty(_cx3, "".concat(prefix, "--modal-container--").concat(size), size), _defineProperty(_cx3, "".concat(prefix, "--modal-container--full-width"), isFullWidth), _defineProperty(_cx3, containerClassName, containerClassName), _cx3)); // Generate aria-label based on Modal Header label if one is not provided (L253)
156
+ const modalClass = cx({
157
+ [`${prefix}--modal`]: true,
158
+ 'is-visible': isOpen,
159
+ [customClassName]: customClassName,
160
+ [`${prefix}--modal--danger`]: danger
161
+ });
162
+ const containerClass = cx({
163
+ [`${prefix}--modal-container`]: true,
164
+ [`${prefix}--modal-container--${size}`]: size,
165
+ [`${prefix}--modal-container--full-width`]: isFullWidth,
166
+ [containerClassName]: containerClassName
167
+ }); // Generate aria-label based on Modal Header label if one is not provided (L253)
134
168
 
135
- var generatedAriaLabel;
136
- var childrenWithProps = React__default.Children.toArray(children).map(function (child) {
169
+ let generatedAriaLabel;
170
+ const childrenWithProps = React__default.Children.toArray(children).map(child => {
137
171
  switch (child.type) {
138
172
  case React__default.createElement(ModalHeader).type:
139
173
  generatedAriaLabel = child.props.label;
@@ -151,24 +185,22 @@ var ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModa
151
185
  return child;
152
186
  }
153
187
  });
154
- useEffect(function () {
188
+ useEffect(() => {
155
189
  if (prevOpen !== isOpen) {
156
- toggleClass(document.body, "".concat(prefix, "--body--with-modal-open"), isOpen);
190
+ toggleClass(document.body, `${prefix}--body--with-modal-open`, isOpen);
157
191
  }
158
192
  });
159
- useEffect(function () {
160
- return function () {
161
- return toggleClass(document.body, "".concat(prefix, "--body--with-modal-open"), false);
162
- };
193
+ useEffect(() => {
194
+ return () => toggleClass(document.body, `${prefix}--body--with-modal-open`, false);
163
195
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
164
196
 
165
- useEffect(function () {
166
- toggleClass(document.body, "".concat(prefix, "--body--with-modal-open"), open);
197
+ useEffect(() => {
198
+ toggleClass(document.body, `${prefix}--body--with-modal-open`, open);
167
199
  }, [open, prefix]);
168
- useEffect(function () {
169
- var focusButton = function focusButton(focusContainerElement) {
200
+ useEffect(() => {
201
+ const focusButton = focusContainerElement => {
170
202
  if (focusContainerElement) {
171
- var primaryFocusElement = focusContainerElement.querySelector(selectorPrimaryFocus);
203
+ const primaryFocusElement = focusContainerElement.querySelector(selectorPrimaryFocus);
172
204
 
173
205
  if (primaryFocusElement) {
174
206
  primaryFocusElement.focus();
@@ -206,19 +238,89 @@ var ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModa
206
238
  }, /*#__PURE__*/React__default.createElement("button", {
207
239
  type: "button",
208
240
  ref: startSentinel,
209
- className: "".concat(prefix, "--visually-hidden")
241
+ className: `${prefix}--visually-hidden`
210
242
  }, "Focus sentinel"), /*#__PURE__*/React__default.createElement("div", {
211
243
  ref: innerModal,
212
- className: "".concat(prefix, "--modal-container-body")
244
+ className: `${prefix}--modal-container-body`
213
245
  }, childrenWithProps), /*#__PURE__*/React__default.createElement("button", {
214
246
  type: "button",
215
247
  ref: endSentinel,
216
- className: "".concat(prefix, "--visually-hidden")
248
+ className: `${prefix}--visually-hidden`
217
249
  }, "Focus sentinel")));
218
250
  });
219
- ComposedModal.propTypes = (_ComposedModal$propTy = {}, _defineProperty(_ComposedModal$propTy, 'aria-label', PropTypes.string), _defineProperty(_ComposedModal$propTy, 'aria-labelledby', PropTypes.string), _defineProperty(_ComposedModal$propTy, "children", PropTypes.node), _defineProperty(_ComposedModal$propTy, "className", PropTypes.string), _defineProperty(_ComposedModal$propTy, "containerClassName", PropTypes.string), _defineProperty(_ComposedModal$propTy, "danger", PropTypes.bool), _defineProperty(_ComposedModal$propTy, "isFullWidth", PropTypes.bool), _defineProperty(_ComposedModal$propTy, "onClose", PropTypes.func), _defineProperty(_ComposedModal$propTy, "onKeyDown", PropTypes.func), _defineProperty(_ComposedModal$propTy, "open", PropTypes.bool), _defineProperty(_ComposedModal$propTy, "preventCloseOnClickOutside", PropTypes.bool), _defineProperty(_ComposedModal$propTy, "selectorPrimaryFocus", PropTypes.string), _defineProperty(_ComposedModal$propTy, "selectorsFloatingMenus", PropTypes.arrayOf(PropTypes.string)), _defineProperty(_ComposedModal$propTy, "size", PropTypes.oneOf(['xs', 'sm', 'md', 'lg'])), _ComposedModal$propTy);
251
+ ComposedModal.propTypes = {
252
+ /**
253
+ * Specify the aria-label for bx--modal-container
254
+ */
255
+ ['aria-label']: PropTypes.string,
256
+
257
+ /**
258
+ * Specify the aria-labelledby for bx--modal-container
259
+ */
260
+ ['aria-labelledby']: PropTypes.string,
261
+
262
+ /**
263
+ * Specify the content to be placed in the ComposedModal
264
+ */
265
+ children: PropTypes.node,
266
+
267
+ /**
268
+ * Specify an optional className to be applied to the modal root node
269
+ */
270
+ className: PropTypes.string,
271
+
272
+ /**
273
+ * Specify an optional className to be applied to the modal node
274
+ */
275
+ containerClassName: PropTypes.string,
276
+
277
+ /**
278
+ * Specify whether the primary button should be replaced with danger button.
279
+ * Note that this prop is not applied if you render primary/danger button by yourself
280
+ */
281
+ danger: PropTypes.bool,
282
+
283
+ /**
284
+ * Specify whether or not the Modal content should have any inner padding.
285
+ */
286
+ isFullWidth: PropTypes.bool,
287
+
288
+ /**
289
+ * Specify an optional handler for closing modal.
290
+ * Returning `false` here prevents closing modal.
291
+ */
292
+ onClose: PropTypes.func,
293
+
294
+ /**
295
+ * Specify an optional handler for the `onKeyDown` event. Called for all
296
+ * `onKeyDown` events that do not close the modal
297
+ */
298
+ onKeyDown: PropTypes.func,
299
+
300
+ /**
301
+ * Specify whether the Modal is currently open
302
+ */
303
+ open: PropTypes.bool,
304
+ preventCloseOnClickOutside: PropTypes.bool,
305
+
306
+ /**
307
+ * Specify a CSS selector that matches the DOM element that should be
308
+ * focused when the Modal opens
309
+ */
310
+ selectorPrimaryFocus: PropTypes.string,
311
+
312
+ /**
313
+ * Specify the CSS selectors that match the floating menus
314
+ */
315
+ selectorsFloatingMenus: PropTypes.arrayOf(PropTypes.string),
316
+
317
+ /**
318
+ * Specify the size variant.
319
+ */
320
+ size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg'])
321
+ };
220
322
  ComposedModal.defaultProps = {
221
- onKeyDown: function onKeyDown() {},
323
+ onKeyDown: () => {},
222
324
  selectorPrimaryFocus: '[data-modal-primary-focus]'
223
325
  };
224
326
  var ComposedModal$1 = ComposedModal;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import Button from '../Button/Button.js';
@@ -13,14 +13,14 @@ import ButtonSet from '../ButtonSet/ButtonSet.js';
13
13
  import cx from 'classnames';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
- var _excluded = ["children", "className", "closeModal", "danger", "inputref", "onRequestClose", "onRequestSubmit", "primaryButtonDisabled", "primaryButtonText", "primaryClassName", "secondaryButtonText", "secondaryButtons", "secondaryClassName"];
17
-
18
16
  function SecondaryButtonSet(_ref) {
19
- var secondaryButtons = _ref.secondaryButtons,
20
- secondaryButtonText = _ref.secondaryButtonText,
21
- secondaryClassName = _ref.secondaryClassName,
22
- closeModal = _ref.closeModal,
23
- onRequestClose = _ref.onRequestClose;
17
+ let {
18
+ secondaryButtons,
19
+ secondaryButtonText,
20
+ secondaryClassName,
21
+ closeModal,
22
+ onRequestClose
23
+ } = _ref;
24
24
 
25
25
  function handleRequestClose(evt) {
26
26
  closeModal(evt);
@@ -28,11 +28,13 @@ function SecondaryButtonSet(_ref) {
28
28
  }
29
29
 
30
30
  if (Array.isArray(secondaryButtons) && secondaryButtons.length <= 2) {
31
- return secondaryButtons.map(function (_ref2, i) {
32
- var buttonText = _ref2.buttonText,
33
- onButtonClick = _ref2.onClick;
31
+ return secondaryButtons.map((_ref2, i) => {
32
+ let {
33
+ buttonText,
34
+ onClick: onButtonClick
35
+ } = _ref2;
34
36
  return /*#__PURE__*/React__default.createElement(Button, {
35
- key: "".concat(buttonText, "-").concat(i),
37
+ key: `${buttonText}-${i}`,
36
38
  className: secondaryClassName,
37
39
  kind: "secondary",
38
40
  onClick: onButtonClick || handleRequestClose
@@ -55,17 +57,17 @@ SecondaryButtonSet.propTypes = {
55
57
  closeModal: PropTypes.func,
56
58
  onRequestClose: PropTypes.func,
57
59
  secondaryButtonText: PropTypes.string,
58
- secondaryButtons: function secondaryButtons(props, propName, componentName) {
60
+ secondaryButtons: (props, propName, componentName) => {
59
61
  if (props.secondaryButtons) {
60
62
  if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) {
61
- return new Error("".concat(propName, " needs to be an array of two button config objects"));
63
+ return new Error(`${propName} needs to be an array of two button config objects`);
62
64
  }
63
65
 
64
- var shape = {
66
+ const shape = {
65
67
  buttonText: PropTypes.node,
66
68
  onClick: PropTypes.func
67
69
  };
68
- props[propName].forEach(function (secondaryButton) {
70
+ props[propName].forEach(secondaryButton => {
69
71
  PropTypes.checkPropTypes(shape, secondaryButton, propName, componentName);
70
72
  });
71
73
  }
@@ -74,32 +76,35 @@ SecondaryButtonSet.propTypes = {
74
76
  },
75
77
  secondaryClassName: PropTypes.string
76
78
  };
77
- var ModalFooter = /*#__PURE__*/React__default.forwardRef(function ModalFooter(_ref3, ref) {
78
- var _cx;
79
-
80
- var children = _ref3.children,
81
- customClassName = _ref3.className,
82
- closeModal = _ref3.closeModal,
83
- danger = _ref3.danger,
84
- inputref = _ref3.inputref,
85
- onRequestClose = _ref3.onRequestClose,
86
- onRequestSubmit = _ref3.onRequestSubmit,
87
- primaryButtonDisabled = _ref3.primaryButtonDisabled,
88
- primaryButtonText = _ref3.primaryButtonText,
89
- primaryClassName = _ref3.primaryClassName,
90
- secondaryButtonText = _ref3.secondaryButtonText,
91
- secondaryButtons = _ref3.secondaryButtons,
92
- secondaryClassName = _ref3.secondaryClassName,
93
- rest = _objectWithoutProperties(_ref3, _excluded);
94
-
95
- var prefix = usePrefix();
96
- var footerClass = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--modal-footer"), true), _defineProperty(_cx, customClassName, customClassName), _defineProperty(_cx, "".concat(prefix, "--modal-footer--three-button"), Array.isArray(secondaryButtons) && secondaryButtons.length === 2), _cx));
97
- var secondaryButtonProps = {
98
- closeModal: closeModal,
99
- secondaryButtons: secondaryButtons,
100
- secondaryButtonText: secondaryButtonText,
101
- secondaryClassName: secondaryClassName,
102
- onRequestClose: onRequestClose
79
+ const ModalFooter = /*#__PURE__*/React__default.forwardRef(function ModalFooter(_ref3, ref) {
80
+ let {
81
+ children,
82
+ className: customClassName,
83
+ closeModal,
84
+ danger,
85
+ inputref,
86
+ onRequestClose,
87
+ onRequestSubmit,
88
+ primaryButtonDisabled,
89
+ primaryButtonText,
90
+ primaryClassName,
91
+ secondaryButtonText,
92
+ secondaryButtons,
93
+ secondaryClassName,
94
+ ...rest
95
+ } = _ref3;
96
+ const prefix = usePrefix();
97
+ const footerClass = cx({
98
+ [`${prefix}--modal-footer`]: true,
99
+ [customClassName]: customClassName,
100
+ [`${prefix}--modal-footer--three-button`]: Array.isArray(secondaryButtons) && secondaryButtons.length === 2
101
+ });
102
+ const secondaryButtonProps = {
103
+ closeModal,
104
+ secondaryButtons,
105
+ secondaryButtonText,
106
+ secondaryClassName,
107
+ onRequestClose
103
108
  };
104
109
  return /*#__PURE__*/React__default.createElement(ButtonSet, _extends({
105
110
  className: footerClass
@@ -181,17 +186,17 @@ ModalFooter.propTypes = {
181
186
  * onClick: function,
182
187
  * }>`).
183
188
  */
184
- secondaryButtons: function secondaryButtons(props, propName, componentName) {
189
+ secondaryButtons: (props, propName, componentName) => {
185
190
  if (props.secondaryButtons) {
186
191
  if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) {
187
- return new Error("".concat(propName, " needs to be an array of two button config objects"));
192
+ return new Error(`${propName} needs to be an array of two button config objects`);
188
193
  }
189
194
 
190
- var shape = {
195
+ const shape = {
191
196
  buttonText: PropTypes.node,
192
197
  onClick: PropTypes.func
193
198
  };
194
- props[propName].forEach(function (secondaryButton) {
199
+ props[propName].forEach(secondaryButton => {
195
200
  PropTypes.checkPropTypes(shape, secondaryButton, propName, componentName);
196
201
  });
197
202
  }
@@ -205,9 +210,9 @@ ModalFooter.propTypes = {
205
210
  secondaryClassName: PropTypes.string
206
211
  };
207
212
  ModalFooter.defaultProps = {
208
- onRequestClose: function onRequestClose() {},
209
- onRequestSubmit: function onRequestSubmit() {},
210
- closeModal: function closeModal() {}
213
+ onRequestClose: () => {},
214
+ onRequestSubmit: () => {},
215
+ closeModal: () => {}
211
216
  };
212
217
 
213
218
  export { ModalFooter };