@carbon/react 1.27.0 → 1.28.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 (601) 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 +66 -20
  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 +333 -359
  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.d.ts +30 -0
  65. package/es/components/DatePicker/DatePicker.Skeleton.js +18 -20
  66. package/es/components/DatePicker/DatePicker.d.ts +131 -0
  67. package/es/components/DatePicker/DatePicker.js +215 -200
  68. package/es/components/DatePicker/index.d.ts +10 -0
  69. package/es/components/DatePicker/index.js +1 -0
  70. package/es/components/DatePicker/plugins/appendToPlugin.js +45 -43
  71. package/es/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  72. package/es/components/DatePicker/plugins/rangePlugin.js +19 -11
  73. package/es/components/DatePickerInput/DatePickerInput.d.ts +93 -0
  74. package/es/components/DatePickerInput/DatePickerInput.js +83 -74
  75. package/es/components/Dropdown/Dropdown.Skeleton.js +13 -12
  76. package/es/components/Dropdown/Dropdown.js +266 -109
  77. package/es/components/ErrorBoundary/ErrorBoundary.js +27 -48
  78. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  79. package/es/components/ExpandableSearch/ExpandableSearch.d.ts +14 -0
  80. package/es/components/ExpandableSearch/ExpandableSearch.js +19 -25
  81. package/es/components/FeatureFlags/index.js +25 -43
  82. package/es/components/FileUploader/FileUploader.Skeleton.js +8 -9
  83. package/es/components/FileUploader/FileUploader.js +120 -147
  84. package/es/components/FileUploader/FileUploaderButton.js +36 -48
  85. package/es/components/FileUploader/FileUploaderDropContainer.js +49 -53
  86. package/es/components/FileUploader/FileUploaderItem.js +30 -30
  87. package/es/components/FileUploader/Filename.js +13 -14
  88. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +11 -12
  89. package/es/components/FluidComboBox/FluidComboBox.js +11 -9
  90. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +18 -18
  91. package/es/components/FluidDatePicker/FluidDatePicker.js +20 -16
  92. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  93. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +11 -12
  94. package/es/components/FluidDropdown/FluidDropdown.js +11 -9
  95. package/es/components/FluidForm/FluidForm.js +9 -10
  96. package/es/components/FluidForm/FormContext.js +1 -1
  97. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +11 -12
  98. package/es/components/FluidMultiSelect/FluidMultiSelect.js +12 -10
  99. package/es/components/FluidSelect/FluidSelect.Skeleton.js +11 -12
  100. package/es/components/FluidSelect/FluidSelect.js +9 -9
  101. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +9 -10
  102. package/es/components/FluidTextArea/FluidTextArea.js +7 -8
  103. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +9 -10
  104. package/es/components/FluidTextInput/FluidTextInput.js +10 -9
  105. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +11 -10
  106. package/es/components/FluidTimePicker/FluidTimePicker.js +30 -26
  107. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +7 -7
  108. package/es/components/Form/Form.js +9 -10
  109. package/es/components/FormGroup/FormGroup.js +16 -17
  110. package/es/components/FormItem/FormItem.js +8 -9
  111. package/es/components/FormLabel/FormLabel.js +11 -10
  112. package/es/components/Grid/CSSGrid.js +38 -39
  113. package/es/components/Grid/Column.js +86 -79
  114. package/es/components/Grid/ColumnHang.js +12 -14
  115. package/es/components/Grid/FlexGrid.js +19 -21
  116. package/es/components/Grid/Grid.js +2 -2
  117. package/es/components/Grid/GridContext.js +12 -11
  118. package/es/components/Grid/Row.js +16 -18
  119. package/es/components/Heading/index.js +11 -13
  120. package/es/components/Icon/Icon.Skeleton.js +10 -12
  121. package/es/components/IconButton/index.js +19 -22
  122. package/es/components/IdPrefix/index.js +4 -2
  123. package/es/components/InlineCheckbox/InlineCheckbox.js +89 -36
  124. package/es/components/InlineLoading/InlineLoading.js +23 -25
  125. package/es/components/Layer/LayerContext.js +1 -1
  126. package/es/components/Layer/index.js +17 -18
  127. package/es/components/Layout/LayoutDirection.js +8 -10
  128. package/es/components/Layout/LayoutDirectionContext.js +1 -1
  129. package/es/components/Link/Link.js +25 -25
  130. package/es/components/ListBox/ListBox.js +38 -31
  131. package/es/components/ListBox/ListBoxField.js +9 -10
  132. package/es/components/ListBox/ListBoxMenu.js +9 -10
  133. package/es/components/ListBox/ListBoxMenuIcon.js +16 -14
  134. package/es/components/ListBox/ListBoxMenuItem.js +23 -26
  135. package/es/components/ListBox/ListBoxPropTypes.js +4 -4
  136. package/es/components/ListBox/ListBoxSelection.js +30 -25
  137. package/es/components/ListBox/index.js +1 -1
  138. package/es/components/ListBox/next/ListBoxSelection.js +27 -24
  139. package/es/components/ListBox/next/ListBoxTrigger.js +20 -19
  140. package/es/components/ListItem/ListItem.js +9 -10
  141. package/es/components/Loading/Loading.js +24 -24
  142. package/es/components/Menu/Menu.js +67 -80
  143. package/es/components/Menu/MenuContext.js +9 -12
  144. package/es/components/Menu/MenuItem.js +104 -128
  145. package/es/components/MenuButton/index.js +37 -41
  146. package/es/components/Modal/Modal.js +281 -120
  147. package/es/components/ModalWrapper/ModalWrapper.js +72 -96
  148. package/es/components/MultiSelect/FilterableMultiSelect.js +299 -163
  149. package/es/components/MultiSelect/MultiSelect.js +162 -174
  150. package/es/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  151. package/es/components/MultiSelect/tools/itemToString.js +3 -4
  152. package/es/components/MultiSelect/tools/sorting.js +15 -13
  153. package/es/components/Notification/Notification.js +436 -164
  154. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -11
  155. package/es/components/NumberInput/NumberInput.js +140 -139
  156. package/es/components/OrderedList/OrderedList.js +17 -15
  157. package/es/components/OverflowMenu/OverflowMenu.js +360 -227
  158. package/es/components/OverflowMenu/index.js +1 -1
  159. package/es/components/OverflowMenuItem/OverflowMenuItem.js +32 -37
  160. package/es/components/OverflowMenuV2/index.js +26 -28
  161. package/es/components/Pagination/Pagination.Skeleton.js +9 -10
  162. package/es/components/Pagination/Pagination.js +98 -140
  163. package/es/components/Pagination/experimental/PageSelector.js +16 -16
  164. package/es/components/Pagination/experimental/Pagination.js +73 -94
  165. package/es/components/PaginationNav/PaginationNav.js +98 -117
  166. package/es/components/Popover/index.js +74 -80
  167. package/es/components/PrimaryButton/PrimaryButton.js +3 -5
  168. package/es/components/ProgressBar/ProgressBar.js +39 -37
  169. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +15 -14
  170. package/es/components/ProgressIndicator/ProgressIndicator.js +71 -71
  171. package/es/components/RadioButton/RadioButton.Skeleton.js +9 -10
  172. package/es/components/RadioButton/RadioButton.js +27 -27
  173. package/es/components/RadioButtonGroup/RadioButtonGroup.js +55 -65
  174. package/es/components/RadioTile/RadioTile.js +27 -25
  175. package/es/components/Search/Search.Skeleton.js +16 -16
  176. package/es/components/Search/Search.d.ts +83 -0
  177. package/es/components/Search/Search.js +65 -72
  178. package/es/components/Search/index.d.ts +11 -0
  179. package/es/components/SecondaryButton/SecondaryButton.js +3 -5
  180. package/es/components/Select/Select.Skeleton.js +12 -13
  181. package/es/components/Select/Select.js +79 -73
  182. package/es/components/SelectItem/SelectItem.js +17 -13
  183. package/es/components/SelectItemGroup/SelectItemGroup.js +11 -12
  184. package/es/components/SkeletonIcon/SkeletonIcon.js +11 -11
  185. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +11 -11
  186. package/es/components/SkeletonText/SkeletonText.js +29 -29
  187. package/es/components/Slider/Slider.Skeleton.js +17 -18
  188. package/es/components/Slider/Slider.js +306 -329
  189. package/es/components/Slider/index.js +1 -1
  190. package/es/components/Stack/Stack.js +19 -20
  191. package/es/components/Stack/index.js +2 -2
  192. package/es/components/StructuredList/StructuredList.Skeleton.js +25 -24
  193. package/es/components/StructuredList/StructuredList.js +134 -106
  194. package/es/components/Switch/IconSwitch.js +48 -54
  195. package/es/components/Switch/Switch.js +33 -31
  196. package/es/components/Tab/Tab.js +77 -83
  197. package/es/components/Tab/index.js +1 -1
  198. package/es/components/TabContent/TabContent.js +16 -18
  199. package/es/components/Tabs/Tabs.Skeleton.js +14 -13
  200. package/es/components/Tabs/Tabs.js +195 -206
  201. package/es/components/Tabs/usePressable.js +27 -36
  202. package/es/components/Tag/Tag.Skeleton.js +10 -9
  203. package/es/components/Tag/Tag.js +34 -31
  204. package/es/components/Text/Text.js +20 -20
  205. package/es/components/Text/TextDirection.js +8 -7
  206. package/es/components/Text/TextDirectionContext.js +1 -1
  207. package/es/components/Text/index.js +1 -1
  208. package/es/components/TextArea/TextArea.Skeleton.js +11 -12
  209. package/es/components/TextArea/TextArea.js +89 -83
  210. package/es/components/TextInput/ControlledPasswordInput.js +79 -73
  211. package/es/components/TextInput/PasswordInput.js +101 -91
  212. package/es/components/TextInput/TextInput.Skeleton.js +11 -12
  213. package/es/components/TextInput/TextInput.js +104 -92
  214. package/es/components/TextInput/util.js +26 -28
  215. package/es/components/Theme/index.js +25 -20
  216. package/es/components/Tile/Tile.js +135 -176
  217. package/es/components/TileGroup/TileGroup.js +55 -70
  218. package/es/components/TileGroup/index.js +1 -1
  219. package/es/components/TimePicker/TimePicker.js +60 -67
  220. package/es/components/TimePickerSelect/TimePickerSelect.js +20 -18
  221. package/es/components/TimePickerSelect/index.js +1 -1
  222. package/es/components/Toggle/Toggle.Skeleton.js +63 -52
  223. package/es/components/Toggle/Toggle.js +44 -48
  224. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +56 -50
  225. package/es/components/Toggletip/index.js +52 -48
  226. package/es/components/Tooltip/DefinitionTooltip.js +24 -31
  227. package/es/components/Tooltip/Tooltip.js +35 -50
  228. package/es/components/TreeView/TreeNode.js +94 -74
  229. package/es/components/TreeView/TreeView.js +72 -83
  230. package/es/components/UIShell/Content.js +12 -14
  231. package/es/components/UIShell/Header.js +16 -12
  232. package/es/components/UIShell/HeaderContainer.js +8 -14
  233. package/es/components/UIShell/HeaderGlobalAction.js +26 -19
  234. package/es/components/UIShell/HeaderGlobalBar.js +1 -3
  235. package/es/components/UIShell/HeaderMenu.js +114 -129
  236. package/es/components/UIShell/HeaderMenuButton.js +31 -22
  237. package/es/components/UIShell/HeaderMenuItem.js +28 -20
  238. package/es/components/UIShell/HeaderName.js +19 -14
  239. package/es/components/UIShell/HeaderNavigation.js +19 -15
  240. package/es/components/UIShell/HeaderPanel.js +23 -17
  241. package/es/components/UIShell/HeaderSideNavItems.js +11 -9
  242. package/es/components/UIShell/Link.js +11 -11
  243. package/es/components/UIShell/SideNav.js +66 -62
  244. package/es/components/UIShell/SideNavDetails.js +11 -12
  245. package/es/components/UIShell/SideNavDivider.js +5 -3
  246. package/es/components/UIShell/SideNavFooter.js +13 -12
  247. package/es/components/UIShell/SideNavHeader.js +9 -6
  248. package/es/components/UIShell/SideNavIcon.js +11 -8
  249. package/es/components/UIShell/SideNavItem.js +11 -9
  250. package/es/components/UIShell/SideNavItems.js +14 -11
  251. package/es/components/UIShell/SideNavLink.js +19 -17
  252. package/es/components/UIShell/SideNavLinkText.js +8 -9
  253. package/es/components/UIShell/SideNavMenu.js +29 -35
  254. package/es/components/UIShell/SideNavMenuItem.js +14 -14
  255. package/es/components/UIShell/SideNavSwitcher.js +19 -19
  256. package/es/components/UIShell/SkipToContent.js +10 -11
  257. package/es/components/UIShell/Switcher.js +20 -11
  258. package/es/components/UIShell/SwitcherDivider.js +10 -9
  259. package/es/components/UIShell/SwitcherItem.js +26 -19
  260. package/es/components/UIShell/_utils.js +1 -1
  261. package/es/components/UnorderedList/UnorderedList.js +14 -14
  262. package/es/index.js +7 -7
  263. package/es/internal/ClickListener.js +49 -65
  264. package/es/internal/FloatingMenu.js +193 -200
  265. package/es/internal/OptimizedResize.js +9 -8
  266. package/es/internal/Selection.js +92 -111
  267. package/es/internal/createClassWrapper.js +2 -2
  268. package/es/internal/deprecateFieldOnObject.js +5 -3
  269. package/es/internal/environment.js +1 -1
  270. package/es/internal/focus/index.js +1 -1
  271. package/es/internal/keyboard/keys.js +11 -11
  272. package/es/internal/keyboard/match.js +7 -6
  273. package/es/internal/keyboard/navigation.js +15 -5
  274. package/es/internal/useAnnouncer.js +2 -2
  275. package/es/internal/useAttachedMenu.js +12 -20
  276. package/es/internal/useControllableState.js +11 -16
  277. package/es/internal/useDelayedState.js +9 -18
  278. package/es/internal/useEffectOnce.js +4 -4
  279. package/es/internal/useEvent.js +4 -4
  280. package/es/internal/useId.js +15 -19
  281. package/es/internal/useIdPrefix.js +1 -1
  282. package/es/internal/useIsomorphicEffect.js +1 -1
  283. package/es/internal/useMergedRefs.js +3 -3
  284. package/es/internal/useNoInteractiveChildren.js +8 -19
  285. package/es/internal/useNormalizedInputProps.js +16 -14
  286. package/es/internal/usePrefix.js +1 -1
  287. package/es/internal/useSavedCallback.js +3 -3
  288. package/es/internal/warning.js +4 -4
  289. package/es/internal/wrapFocus.js +16 -21
  290. package/es/prop-types/AriaPropTypes.js +1 -1
  291. package/es/prop-types/deprecate.js +6 -5
  292. package/es/prop-types/isRequiredOneOf.js +12 -25
  293. package/es/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  294. package/es/prop-types/types.js +1 -1
  295. package/es/tools/array.js +1 -1
  296. package/es/tools/events.js +21 -14
  297. package/es/tools/mergeRefs.js +3 -3
  298. package/es/tools/setupGetInstanceId.js +1 -1
  299. package/es/tools/uniqueId.js +3 -3
  300. package/es/tools/wrapComponent.js +14 -13
  301. package/lib/_virtual/_rollupPluginBabelHelpers.js +0 -336
  302. package/lib/components/Accordion/Accordion.Skeleton.js +27 -29
  303. package/lib/components/Accordion/Accordion.js +17 -20
  304. package/lib/components/Accordion/AccordionItem.js +36 -48
  305. package/lib/components/AspectRatio/AspectRatio.js +9 -11
  306. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +9 -10
  307. package/lib/components/Breadcrumb/Breadcrumb.js +13 -12
  308. package/lib/components/Breadcrumb/BreadcrumbItem.js +23 -21
  309. package/lib/components/Button/Button.Skeleton.js +24 -22
  310. package/lib/components/Button/Button.js +76 -71
  311. package/lib/components/ButtonSet/ButtonSet.js +11 -9
  312. package/lib/components/Checkbox/Checkbox.Skeleton.js +9 -10
  313. package/lib/components/Checkbox/Checkbox.js +54 -51
  314. package/lib/components/CheckboxGroup/CheckboxGroup.js +32 -30
  315. package/lib/components/ClassPrefix/index.js +4 -2
  316. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +14 -13
  317. package/lib/components/CodeSnippet/CodeSnippet.js +198 -101
  318. package/lib/components/ComboBox/ComboBox.js +348 -177
  319. package/lib/components/ComboBox/tools/filter.js +6 -4
  320. package/lib/components/ComboButton/index.js +37 -42
  321. package/lib/components/ComposedModal/ComposedModal.js +187 -85
  322. package/lib/components/ComposedModal/ModalFooter.js +53 -48
  323. package/lib/components/ComposedModal/ModalHeader.js +38 -25
  324. package/lib/components/ContainedList/ContainedList.js +66 -20
  325. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -18
  326. package/lib/components/ContentSwitcher/ContentSwitcher.js +82 -97
  327. package/lib/components/ContentSwitcher/index.js +1 -1
  328. package/lib/components/ContextMenu/useContextMenu.js +12 -21
  329. package/lib/components/Copy/Copy.js +23 -28
  330. package/lib/components/CopyButton/CopyButton.js +9 -9
  331. package/lib/components/DangerButton/DangerButton.js +3 -5
  332. package/lib/components/DataTable/DataTable.js +331 -357
  333. package/lib/components/DataTable/Table.js +28 -25
  334. package/lib/components/DataTable/TableActionList.js +2 -4
  335. package/lib/components/DataTable/TableBatchAction.js +2 -4
  336. package/lib/components/DataTable/TableBatchActions.js +28 -29
  337. package/lib/components/DataTable/TableBody.js +6 -7
  338. package/lib/components/DataTable/TableCell.js +1 -1
  339. package/lib/components/DataTable/TableContainer.js +22 -22
  340. package/lib/components/DataTable/TableContext.js +1 -1
  341. package/lib/components/DataTable/TableExpandHeader.js +18 -20
  342. package/lib/components/DataTable/TableExpandRow.js +22 -22
  343. package/lib/components/DataTable/TableExpandedRow.js +17 -22
  344. package/lib/components/DataTable/TableHead.js +1 -1
  345. package/lib/components/DataTable/TableHeader.js +43 -39
  346. package/lib/components/DataTable/TableRow.js +7 -8
  347. package/lib/components/DataTable/TableSelectAll.js +13 -11
  348. package/lib/components/DataTable/TableSelectRow.js +28 -20
  349. package/lib/components/DataTable/TableToolbar.js +18 -13
  350. package/lib/components/DataTable/TableToolbarAction.js +5 -5
  351. package/lib/components/DataTable/TableToolbarContent.js +2 -4
  352. package/lib/components/DataTable/TableToolbarMenu.js +10 -11
  353. package/lib/components/DataTable/TableToolbarSearch.js +51 -70
  354. package/lib/components/DataTable/state/getDerivedStateFromProps.js +15 -15
  355. package/lib/components/DataTable/state/sortStates.js +1 -1
  356. package/lib/components/DataTable/state/sorting.js +28 -20
  357. package/lib/components/DataTable/tools/cells.js +1 -3
  358. package/lib/components/DataTable/tools/denormalize.js +4 -17
  359. package/lib/components/DataTable/tools/filter.js +18 -16
  360. package/lib/components/DataTable/tools/instanceId.js +2 -2
  361. package/lib/components/DataTable/tools/normalize.js +28 -25
  362. package/lib/components/DataTable/tools/sorting.js +27 -24
  363. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +35 -37
  364. package/lib/components/DatePicker/DatePicker.Skeleton.d.ts +30 -0
  365. package/lib/components/DatePicker/DatePicker.Skeleton.js +17 -19
  366. package/lib/components/DatePicker/DatePicker.d.ts +131 -0
  367. package/lib/components/DatePicker/DatePicker.js +214 -199
  368. package/lib/components/DatePicker/index.d.ts +10 -0
  369. package/lib/components/DatePicker/index.js +2 -0
  370. package/lib/components/DatePicker/plugins/appendToPlugin.js +45 -43
  371. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +117 -107
  372. package/lib/components/DatePicker/plugins/rangePlugin.js +19 -11
  373. package/lib/components/DatePickerInput/DatePickerInput.d.ts +93 -0
  374. package/lib/components/DatePickerInput/DatePickerInput.js +83 -74
  375. package/lib/components/Dropdown/Dropdown.Skeleton.js +12 -11
  376. package/lib/components/Dropdown/Dropdown.js +265 -108
  377. package/lib/components/ErrorBoundary/ErrorBoundary.js +27 -48
  378. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +3 -2
  379. package/lib/components/ExpandableSearch/ExpandableSearch.d.ts +14 -0
  380. package/lib/components/ExpandableSearch/ExpandableSearch.js +18 -24
  381. package/lib/components/FeatureFlags/index.js +25 -43
  382. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -8
  383. package/lib/components/FileUploader/FileUploader.js +119 -146
  384. package/lib/components/FileUploader/FileUploaderButton.js +35 -47
  385. package/lib/components/FileUploader/FileUploaderDropContainer.js +48 -52
  386. package/lib/components/FileUploader/FileUploaderItem.js +29 -29
  387. package/lib/components/FileUploader/Filename.js +12 -13
  388. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +10 -11
  389. package/lib/components/FluidComboBox/FluidComboBox.js +10 -8
  390. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +17 -17
  391. package/lib/components/FluidDatePicker/FluidDatePicker.js +19 -15
  392. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  393. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +10 -11
  394. package/lib/components/FluidDropdown/FluidDropdown.js +10 -8
  395. package/lib/components/FluidForm/FluidForm.js +8 -9
  396. package/lib/components/FluidForm/FormContext.js +1 -1
  397. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +10 -11
  398. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +11 -9
  399. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +10 -11
  400. package/lib/components/FluidSelect/FluidSelect.js +8 -8
  401. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +8 -9
  402. package/lib/components/FluidTextArea/FluidTextArea.js +6 -7
  403. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +8 -9
  404. package/lib/components/FluidTextInput/FluidTextInput.js +9 -8
  405. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +10 -9
  406. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -26
  407. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +6 -6
  408. package/lib/components/Form/Form.js +8 -9
  409. package/lib/components/FormGroup/FormGroup.js +15 -16
  410. package/lib/components/FormItem/FormItem.js +7 -8
  411. package/lib/components/FormLabel/FormLabel.js +10 -9
  412. package/lib/components/Grid/CSSGrid.js +37 -38
  413. package/lib/components/Grid/Column.js +85 -78
  414. package/lib/components/Grid/ColumnHang.js +11 -13
  415. package/lib/components/Grid/FlexGrid.js +19 -21
  416. package/lib/components/Grid/Grid.js +2 -2
  417. package/lib/components/Grid/GridContext.js +12 -11
  418. package/lib/components/Grid/Row.js +16 -18
  419. package/lib/components/Heading/index.js +11 -13
  420. package/lib/components/Icon/Icon.Skeleton.js +9 -11
  421. package/lib/components/IconButton/index.js +18 -21
  422. package/lib/components/IdPrefix/index.js +4 -2
  423. package/lib/components/InlineCheckbox/InlineCheckbox.js +89 -36
  424. package/lib/components/InlineLoading/InlineLoading.js +22 -24
  425. package/lib/components/Layer/LayerContext.js +1 -1
  426. package/lib/components/Layer/index.js +16 -17
  427. package/lib/components/Layout/LayoutDirection.js +7 -9
  428. package/lib/components/Layout/LayoutDirectionContext.js +1 -1
  429. package/lib/components/Link/Link.js +24 -24
  430. package/lib/components/ListBox/ListBox.js +37 -30
  431. package/lib/components/ListBox/ListBoxField.js +8 -9
  432. package/lib/components/ListBox/ListBoxMenu.js +8 -9
  433. package/lib/components/ListBox/ListBoxMenuIcon.js +16 -14
  434. package/lib/components/ListBox/ListBoxMenuItem.js +22 -25
  435. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  436. package/lib/components/ListBox/ListBoxSelection.js +30 -25
  437. package/lib/components/ListBox/index.js +1 -1
  438. package/lib/components/ListBox/next/ListBoxSelection.js +26 -23
  439. package/lib/components/ListBox/next/ListBoxTrigger.js +19 -18
  440. package/lib/components/ListItem/ListItem.js +8 -9
  441. package/lib/components/Loading/Loading.js +23 -23
  442. package/lib/components/Menu/Menu.js +66 -79
  443. package/lib/components/Menu/MenuContext.js +9 -12
  444. package/lib/components/Menu/MenuItem.js +103 -127
  445. package/lib/components/MenuButton/index.js +36 -40
  446. package/lib/components/Modal/Modal.js +280 -119
  447. package/lib/components/ModalWrapper/ModalWrapper.js +71 -95
  448. package/lib/components/MultiSelect/FilterableMultiSelect.js +298 -162
  449. package/lib/components/MultiSelect/MultiSelect.js +163 -175
  450. package/lib/components/MultiSelect/MultiSelectPropTypes.js +1 -1
  451. package/lib/components/MultiSelect/tools/itemToString.js +3 -4
  452. package/lib/components/MultiSelect/tools/sorting.js +15 -13
  453. package/lib/components/Notification/Notification.js +434 -162
  454. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -10
  455. package/lib/components/NumberInput/NumberInput.js +139 -138
  456. package/lib/components/OrderedList/OrderedList.js +16 -14
  457. package/lib/components/OverflowMenu/OverflowMenu.js +359 -226
  458. package/lib/components/OverflowMenu/index.js +1 -1
  459. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +31 -36
  460. package/lib/components/OverflowMenuV2/index.js +25 -27
  461. package/lib/components/Pagination/Pagination.Skeleton.js +8 -9
  462. package/lib/components/Pagination/Pagination.js +97 -139
  463. package/lib/components/Pagination/experimental/PageSelector.js +17 -17
  464. package/lib/components/Pagination/experimental/Pagination.js +72 -93
  465. package/lib/components/PaginationNav/PaginationNav.js +97 -116
  466. package/lib/components/Popover/index.js +73 -79
  467. package/lib/components/PrimaryButton/PrimaryButton.js +3 -5
  468. package/lib/components/ProgressBar/ProgressBar.js +38 -36
  469. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +14 -13
  470. package/lib/components/ProgressIndicator/ProgressIndicator.js +70 -70
  471. package/lib/components/RadioButton/RadioButton.Skeleton.js +8 -9
  472. package/lib/components/RadioButton/RadioButton.js +26 -26
  473. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +54 -64
  474. package/lib/components/RadioTile/RadioTile.js +26 -24
  475. package/lib/components/Search/Search.Skeleton.js +15 -15
  476. package/lib/components/Search/Search.d.ts +83 -0
  477. package/lib/components/Search/Search.js +62 -69
  478. package/lib/components/Search/index.d.ts +11 -0
  479. package/lib/components/SecondaryButton/SecondaryButton.js +3 -5
  480. package/lib/components/Select/Select.Skeleton.js +11 -12
  481. package/lib/components/Select/Select.js +78 -72
  482. package/lib/components/SelectItem/SelectItem.js +16 -12
  483. package/lib/components/SelectItemGroup/SelectItemGroup.js +10 -11
  484. package/lib/components/SkeletonIcon/SkeletonIcon.js +10 -10
  485. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +10 -10
  486. package/lib/components/SkeletonText/SkeletonText.js +28 -28
  487. package/lib/components/Slider/Slider.Skeleton.js +16 -17
  488. package/lib/components/Slider/Slider.js +305 -328
  489. package/lib/components/Slider/index.js +1 -1
  490. package/lib/components/Stack/Stack.js +18 -19
  491. package/lib/components/Stack/index.js +2 -2
  492. package/lib/components/StructuredList/StructuredList.Skeleton.js +24 -23
  493. package/lib/components/StructuredList/StructuredList.js +133 -105
  494. package/lib/components/Switch/IconSwitch.js +45 -51
  495. package/lib/components/Switch/Switch.js +33 -31
  496. package/lib/components/Tab/Tab.js +76 -82
  497. package/lib/components/Tab/index.js +1 -1
  498. package/lib/components/TabContent/TabContent.js +15 -17
  499. package/lib/components/Tabs/Tabs.Skeleton.js +13 -12
  500. package/lib/components/Tabs/Tabs.js +194 -205
  501. package/lib/components/Tabs/usePressable.js +27 -36
  502. package/lib/components/Tag/Tag.Skeleton.js +9 -8
  503. package/lib/components/Tag/Tag.js +33 -30
  504. package/lib/components/Text/Text.js +19 -19
  505. package/lib/components/Text/TextDirection.js +8 -7
  506. package/lib/components/Text/TextDirectionContext.js +1 -1
  507. package/lib/components/Text/index.js +1 -1
  508. package/lib/components/TextArea/TextArea.Skeleton.js +10 -11
  509. package/lib/components/TextArea/TextArea.js +88 -82
  510. package/lib/components/TextInput/ControlledPasswordInput.js +78 -72
  511. package/lib/components/TextInput/PasswordInput.js +100 -90
  512. package/lib/components/TextInput/TextInput.Skeleton.js +10 -11
  513. package/lib/components/TextInput/TextInput.js +104 -92
  514. package/lib/components/TextInput/util.js +28 -30
  515. package/lib/components/Theme/index.js +24 -19
  516. package/lib/components/Tile/Tile.js +134 -175
  517. package/lib/components/TileGroup/TileGroup.js +54 -69
  518. package/lib/components/TileGroup/index.js +1 -1
  519. package/lib/components/TimePicker/TimePicker.js +59 -66
  520. package/lib/components/TimePickerSelect/TimePickerSelect.js +19 -17
  521. package/lib/components/TimePickerSelect/index.js +1 -1
  522. package/lib/components/Toggle/Toggle.Skeleton.js +68 -57
  523. package/lib/components/Toggle/Toggle.js +43 -47
  524. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +60 -54
  525. package/lib/components/Toggletip/index.js +51 -47
  526. package/lib/components/Tooltip/DefinitionTooltip.js +23 -30
  527. package/lib/components/Tooltip/Tooltip.js +34 -49
  528. package/lib/components/TreeView/TreeNode.js +93 -73
  529. package/lib/components/TreeView/TreeView.js +71 -82
  530. package/lib/components/UIShell/Content.js +12 -14
  531. package/lib/components/UIShell/Header.js +15 -11
  532. package/lib/components/UIShell/HeaderContainer.js +8 -14
  533. package/lib/components/UIShell/HeaderGlobalAction.js +25 -18
  534. package/lib/components/UIShell/HeaderGlobalBar.js +1 -3
  535. package/lib/components/UIShell/HeaderMenu.js +113 -128
  536. package/lib/components/UIShell/HeaderMenuButton.js +30 -21
  537. package/lib/components/UIShell/HeaderMenuItem.js +27 -19
  538. package/lib/components/UIShell/HeaderName.js +18 -13
  539. package/lib/components/UIShell/HeaderNavigation.js +18 -14
  540. package/lib/components/UIShell/HeaderPanel.js +22 -16
  541. package/lib/components/UIShell/HeaderSideNavItems.js +11 -9
  542. package/lib/components/UIShell/Link.js +11 -11
  543. package/lib/components/UIShell/SideNav.js +65 -61
  544. package/lib/components/UIShell/SideNavDetails.js +10 -11
  545. package/lib/components/UIShell/SideNavDivider.js +5 -3
  546. package/lib/components/UIShell/SideNavFooter.js +13 -12
  547. package/lib/components/UIShell/SideNavHeader.js +9 -6
  548. package/lib/components/UIShell/SideNavIcon.js +11 -8
  549. package/lib/components/UIShell/SideNavItem.js +11 -9
  550. package/lib/components/UIShell/SideNavItems.js +14 -11
  551. package/lib/components/UIShell/SideNavLink.js +18 -16
  552. package/lib/components/UIShell/SideNavLinkText.js +7 -8
  553. package/lib/components/UIShell/SideNavMenu.js +29 -35
  554. package/lib/components/UIShell/SideNavMenuItem.js +13 -13
  555. package/lib/components/UIShell/SideNavSwitcher.js +19 -19
  556. package/lib/components/UIShell/SkipToContent.js +9 -10
  557. package/lib/components/UIShell/Switcher.js +19 -10
  558. package/lib/components/UIShell/SwitcherDivider.js +9 -8
  559. package/lib/components/UIShell/SwitcherItem.js +25 -18
  560. package/lib/components/UIShell/_utils.js +1 -1
  561. package/lib/components/UnorderedList/UnorderedList.js +13 -13
  562. package/lib/index.js +14 -14
  563. package/lib/internal/ClickListener.js +49 -65
  564. package/lib/internal/FloatingMenu.js +192 -199
  565. package/lib/internal/OptimizedResize.js +9 -8
  566. package/lib/internal/Selection.js +91 -110
  567. package/lib/internal/createClassWrapper.js +2 -2
  568. package/lib/internal/deprecateFieldOnObject.js +5 -3
  569. package/lib/internal/environment.js +1 -1
  570. package/lib/internal/focus/index.js +1 -1
  571. package/lib/internal/keyboard/keys.js +11 -11
  572. package/lib/internal/keyboard/match.js +7 -6
  573. package/lib/internal/keyboard/navigation.js +15 -5
  574. package/lib/internal/useAnnouncer.js +2 -2
  575. package/lib/internal/useAttachedMenu.js +12 -20
  576. package/lib/internal/useControllableState.js +11 -16
  577. package/lib/internal/useDelayedState.js +9 -18
  578. package/lib/internal/useEffectOnce.js +4 -4
  579. package/lib/internal/useEvent.js +4 -4
  580. package/lib/internal/useId.js +14 -18
  581. package/lib/internal/useIdPrefix.js +1 -1
  582. package/lib/internal/useIsomorphicEffect.js +1 -1
  583. package/lib/internal/useMergedRefs.js +3 -3
  584. package/lib/internal/useNoInteractiveChildren.js +8 -19
  585. package/lib/internal/useNormalizedInputProps.js +16 -14
  586. package/lib/internal/usePrefix.js +1 -1
  587. package/lib/internal/useSavedCallback.js +3 -3
  588. package/lib/internal/warning.js +4 -4
  589. package/lib/internal/wrapFocus.js +16 -21
  590. package/lib/prop-types/AriaPropTypes.js +1 -1
  591. package/lib/prop-types/deprecate.js +6 -5
  592. package/lib/prop-types/isRequiredOneOf.js +15 -28
  593. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +2 -2
  594. package/lib/prop-types/types.js +1 -1
  595. package/lib/tools/array.js +1 -1
  596. package/lib/tools/events.js +21 -14
  597. package/lib/tools/mergeRefs.js +3 -3
  598. package/lib/tools/setupGetInstanceId.js +1 -1
  599. package/lib/tools/uniqueId.js +3 -3
  600. package/lib/tools/wrapComponent.js +14 -13
  601. package/package.json +6 -6
@@ -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 };