@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,25 +5,23 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
8
  import cx from 'classnames';
10
9
  import PropTypes from 'prop-types';
11
10
  import React__default from 'react';
12
11
  import { usePrefix } from '../../internal/usePrefix.js';
13
12
 
14
- var _excluded = ["className", "children", "tagName"];
15
-
16
- var Content = function Content(_ref) {
17
- var customClassName = _ref.className,
18
- children = _ref.children,
19
- tagName = _ref.tagName,
20
- rest = _objectWithoutProperties(_ref, _excluded);
21
-
22
- var prefix = usePrefix();
23
- var className = cx("".concat(prefix, "--content"), customClassName);
24
- return /*#__PURE__*/React__default.createElement(tagName, _objectSpread2(_objectSpread2({}, rest), {}, {
25
- className: className
26
- }), children);
13
+ const Content = _ref => {
14
+ let {
15
+ className: customClassName,
16
+ children,
17
+ tagName,
18
+ ...rest
19
+ } = _ref;
20
+ const prefix = usePrefix();
21
+ const className = cx(`${prefix}--content`, customClassName);
22
+ return /*#__PURE__*/React__default.createElement(tagName, { ...rest,
23
+ className
24
+ }, children);
27
25
  };
28
26
 
29
27
  Content.propTypes = {
@@ -5,33 +5,37 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
11
  import React__default from 'react';
12
12
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
- var _excluded = ["className", "children"];
16
-
17
- var Header = function Header(_ref) {
18
- var customClassName = _ref.className,
19
- children = _ref.children,
20
- rest = _objectWithoutProperties(_ref, _excluded);
21
-
22
- var prefix = usePrefix();
23
- var className = cx("".concat(prefix, "--header"), customClassName);
15
+ const Header = _ref => {
16
+ let {
17
+ className: customClassName,
18
+ children,
19
+ ...rest
20
+ } = _ref;
21
+ const prefix = usePrefix();
22
+ const className = cx(`${prefix}--header`, customClassName);
24
23
  return /*#__PURE__*/React__default.createElement("header", _extends({}, rest, {
25
24
  className: className
26
25
  }), children);
27
26
  };
28
27
 
29
- Header.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
28
+ Header.propTypes = {
29
+ /**
30
+ * Required props for the accessibility label of the header
31
+ */
32
+ ...AriaLabelPropType,
33
+
30
34
  /**
31
35
  * Optionally provide a custom class name that is applied to the underlying <header>
32
36
  */
33
37
  className: PropTypes.string
34
- });
38
+ };
35
39
  var Header$1 = Header;
36
40
 
37
41
  export { Header$1 as default };
@@ -5,24 +5,18 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
8
  import PropTypes from 'prop-types';
10
9
  import React__default, { useState, useCallback } from 'react';
11
10
 
12
- var HeaderContainer = function HeaderContainer(_ref) {
13
- var isSideNavExpanded = _ref.isSideNavExpanded,
14
- Children = _ref.render;
15
-
11
+ const HeaderContainer = _ref => {
12
+ let {
13
+ isSideNavExpanded,
14
+ render: Children
15
+ } = _ref;
16
16
  //state for expandable sidenav
17
- var _useState = useState(isSideNavExpanded),
18
- _useState2 = _slicedToArray(_useState, 2),
19
- isSideNavExpandedState = _useState2[0],
20
- setIsSideNavExpandedState = _useState2[1];
21
-
22
- var handleHeaderMenuButtonClick = useCallback(function () {
23
- setIsSideNavExpandedState(function (prevIsSideNavExpanded) {
24
- return !prevIsSideNavExpanded;
25
- });
17
+ const [isSideNavExpandedState, setIsSideNavExpandedState] = useState(isSideNavExpanded);
18
+ const handleHeaderMenuButtonClick = useCallback(() => {
19
+ setIsSideNavExpandedState(prevIsSideNavExpanded => !prevIsSideNavExpanded);
26
20
  }, [setIsSideNavExpandedState]);
27
21
  return /*#__PURE__*/React__default.createElement(Children, {
28
22
  isSideNavExpanded: isSideNavExpandedState,
@@ -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, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import React__default from 'react';
11
11
  import PropTypes from 'prop-types';
@@ -13,7 +13,6 @@ import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import Button from '../Button/Button.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
- var _excluded = ["aria-label", "aria-labelledby", "children", "className", "onClick", "isActive", "tooltipAlignment"];
17
16
  /**
18
17
  * HeaderGlobalAction is used as a part of the `HeaderGlobalBar`. It is
19
18
  * essentially an Icon Button with an additional state to indicate whether it is
@@ -23,21 +22,24 @@ var _excluded = ["aria-label", "aria-labelledby", "children", "className", "onCl
23
22
  * Note: children passed to this component should be an Icon.
24
23
  */
25
24
 
26
- var HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function HeaderGlobalAction(_ref, ref) {
27
- var _cx;
28
-
29
- var ariaLabel = _ref['aria-label'],
30
- ariaLabelledBy = _ref['aria-labelledby'],
31
- children = _ref.children,
32
- customClassName = _ref.className,
33
- onClick = _ref.onClick,
34
- isActive = _ref.isActive,
35
- tooltipAlignment = _ref.tooltipAlignment,
36
- rest = _objectWithoutProperties(_ref, _excluded);
37
-
38
- var prefix = usePrefix();
39
- var className = cx((_cx = {}, _defineProperty(_cx, customClassName, !!customClassName), _defineProperty(_cx, "".concat(prefix, "--header__action"), true), _defineProperty(_cx, "".concat(prefix, "--header__action--active"), isActive), _cx));
40
- var accessibilityLabel = {
25
+ const HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function HeaderGlobalAction(_ref, ref) {
26
+ let {
27
+ 'aria-label': ariaLabel,
28
+ 'aria-labelledby': ariaLabelledBy,
29
+ children,
30
+ className: customClassName,
31
+ onClick,
32
+ isActive,
33
+ tooltipAlignment,
34
+ ...rest
35
+ } = _ref;
36
+ const prefix = usePrefix();
37
+ const className = cx({
38
+ [customClassName]: !!customClassName,
39
+ [`${prefix}--header__action`]: true,
40
+ [`${prefix}--header__action--active`]: isActive
41
+ });
42
+ const accessibilityLabel = {
41
43
  'aria-label': ariaLabel,
42
44
  'aria-labelledby': ariaLabelledBy
43
45
  };
@@ -52,7 +54,12 @@ var HeaderGlobalAction = /*#__PURE__*/React__default.forwardRef(function HeaderG
52
54
  ref: ref
53
55
  }), children);
54
56
  });
55
- HeaderGlobalAction.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
57
+ HeaderGlobalAction.propTypes = {
58
+ /**
59
+ * Required props for the accessibility label of the button
60
+ */
61
+ ...AriaLabelPropType,
62
+
56
63
  /**
57
64
  * Provide a custom icon for this global action
58
65
  */
@@ -80,7 +87,7 @@ HeaderGlobalAction.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropTy
80
87
  * Can be one of: start, center, or end.
81
88
  */
82
89
  tooltipAlignment: PropTypes.oneOf(['start', 'center', 'end'])
83
- });
90
+ };
84
91
  HeaderGlobalAction.displayName = 'HeaderGlobalAction';
85
92
  var HeaderGlobalAction$1 = HeaderGlobalAction;
86
93
 
@@ -13,9 +13,7 @@ import wrapComponent from '../../tools/wrapComponent.js';
13
13
 
14
14
  var HeaderGlobalBar = wrapComponent({
15
15
  name: 'HeaderGlobalBar',
16
- className: function className(prefix) {
17
- return "".concat(prefix, "--header__global");
18
- },
16
+ className: prefix => `${prefix}--header__global`,
19
17
  type: 'div'
20
18
  });
21
19
 
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { ChevronDown } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
11
  import React__default from 'react';
@@ -16,7 +16,6 @@ import deprecate from '../../prop-types/deprecate.js';
16
16
  import { matches } from '../../internal/keyboard/match.js';
17
17
  import { Enter, Space, Escape } from '../../internal/keyboard/keys.js';
18
18
 
19
- var _excluded = ["isActive", "isCurrentPage", "aria-label", "aria-labelledby", "className", "children", "renderMenuContent", "menuLinkName", "focusRef"];
20
19
  /**
21
20
  * `HeaderMenu` is used to render submenu's in the `Header`. Most often children
22
21
  * will be a `HeaderMenuItem`. It handles certain keyboard events to help
@@ -24,192 +23,178 @@ var _excluded = ["isActive", "isCurrentPage", "aria-label", "aria-labelledby", "
24
23
  * help manage focus state of its children.
25
24
  */
26
25
 
27
- var HeaderMenu = /*#__PURE__*/function (_React$Component) {
28
- _inherits(HeaderMenu, _React$Component);
26
+ class HeaderMenu extends React__default.Component {
27
+ constructor(props) {
28
+ super(props);
29
29
 
30
- var _super = _createSuper(HeaderMenu);
30
+ _defineProperty(this, "_subMenus", /*#__PURE__*/React__default.createRef());
31
31
 
32
- function HeaderMenu(props) {
33
- var _this;
34
-
35
- _classCallCheck(this, HeaderMenu);
36
-
37
- _this = _super.call(this, props);
38
-
39
- _defineProperty(_assertThisInitialized(_this), "_subMenus", /*#__PURE__*/React__default.createRef());
40
-
41
- _defineProperty(_assertThisInitialized(_this), "handleOnClick", function (e) {
42
- var subMenusNode = _this._subMenus.current;
32
+ _defineProperty(this, "handleOnClick", e => {
33
+ const {
34
+ current: subMenusNode
35
+ } = this._subMenus;
43
36
 
44
37
  if (!subMenusNode || !subMenusNode.contains(e.target)) {
45
38
  e.preventDefault();
46
39
  }
47
40
 
48
- _this.setState(function (prevState) {
49
- return {
50
- expanded: !prevState.expanded
51
- };
52
- });
41
+ this.setState(prevState => ({
42
+ expanded: !prevState.expanded
43
+ }));
53
44
  });
54
45
 
55
- _defineProperty(_assertThisInitialized(_this), "handleOnKeyDown", function (event) {
46
+ _defineProperty(this, "handleOnKeyDown", event => {
56
47
  // Handle enter or space key for toggling the expanded state of the menu.
57
48
  if (matches(event, [Enter, Space])) {
58
49
  event.stopPropagation();
59
50
  event.preventDefault();
60
-
61
- _this.setState(function (prevState) {
62
- return {
63
- expanded: !prevState.expanded
64
- };
65
- });
66
-
51
+ this.setState(prevState => ({
52
+ expanded: !prevState.expanded
53
+ }));
67
54
  return;
68
55
  }
69
56
  });
70
57
 
71
- _defineProperty(_assertThisInitialized(_this), "handleOnBlur", function (event) {
58
+ _defineProperty(this, "handleOnBlur", event => {
72
59
  // Rough guess for a blur event that is triggered outside of our menu or
73
60
  // menubar context
74
- var itemTriggeredBlur = _this.items.find(function (element) {
75
- return element === event.relatedTarget;
76
- });
61
+ const itemTriggeredBlur = this.items.find(element => element === event.relatedTarget);
77
62
 
78
63
  if (event.relatedTarget && (event.relatedTarget.getAttribute('href') && event.relatedTarget.getAttribute('href') !== '#' || itemTriggeredBlur)) {
79
64
  return;
80
65
  }
81
66
 
82
- _this.setState({
67
+ this.setState({
83
68
  expanded: false,
84
69
  selectedIndex: null
85
70
  });
86
71
  });
87
72
 
88
- _defineProperty(_assertThisInitialized(_this), "handleMenuButtonRef", function (node) {
89
- if (_this.props.focusRef) {
90
- _this.props.focusRef(node);
73
+ _defineProperty(this, "handleMenuButtonRef", node => {
74
+ if (this.props.focusRef) {
75
+ this.props.focusRef(node);
91
76
  }
92
77
 
93
- _this.menuButtonRef = node;
78
+ this.menuButtonRef = node;
94
79
  });
95
80
 
96
- _defineProperty(_assertThisInitialized(_this), "handleItemRef", function (index) {
97
- return function (node) {
98
- _this.items[index] = node;
99
- };
81
+ _defineProperty(this, "handleItemRef", index => node => {
82
+ this.items[index] = node;
100
83
  });
101
84
 
102
- _defineProperty(_assertThisInitialized(_this), "handleMenuClose", function (event) {
85
+ _defineProperty(this, "handleMenuClose", event => {
103
86
  // Handle ESC keydown for closing the expanded menu.
104
- if (matches(event, [Escape]) && _this.state.expanded) {
87
+ if (matches(event, [Escape]) && this.state.expanded) {
105
88
  event.stopPropagation();
106
89
  event.preventDefault();
90
+ this.setState(() => ({
91
+ expanded: false,
92
+ selectedIndex: null
93
+ })); // Return focus to menu button when the user hits ESC.
107
94
 
108
- _this.setState(function () {
109
- return {
110
- expanded: false,
111
- selectedIndex: null
112
- };
113
- }); // Return focus to menu button when the user hits ESC.
114
-
115
-
116
- _this.menuButtonRef.focus();
117
-
95
+ this.menuButtonRef.focus();
118
96
  return;
119
97
  }
120
98
  });
121
99
 
122
- _defineProperty(_assertThisInitialized(_this), "_renderMenuItem", function (item, index) {
100
+ _defineProperty(this, "_renderMenuItem", (item, index) => {
123
101
  if ( /*#__PURE__*/React__default.isValidElement(item)) {
124
102
  return /*#__PURE__*/React__default.cloneElement(item, {
125
- ref: _this.handleItemRef(index)
103
+ ref: this.handleItemRef(index)
126
104
  });
127
105
  }
128
106
  });
129
107
 
130
- _this.state = {
108
+ this.state = {
131
109
  // Used to manage the expansion state of the menu
132
110
  expanded: false,
133
111
  // Refers to the menuitem that is currently focused
134
112
  // Note: children should have `role="menuitem"` on node consuming ref
135
113
  selectedIndex: null
136
114
  };
137
- _this.items = [];
138
- return _this;
115
+ this.items = [];
139
116
  }
140
117
  /**
141
118
  * Toggle the expanded state of the menu on click.
142
119
  */
143
120
 
144
121
 
145
- _createClass(HeaderMenu, [{
146
- key: "render",
147
- value: function render() {
148
- var _cx, _cx2;
149
-
150
- var prefix = this.context;
151
-
152
- var _this$props = this.props,
153
- isActive = _this$props.isActive,
154
- isCurrentPage = _this$props.isCurrentPage,
155
- ariaLabel = _this$props['aria-label'],
156
- ariaLabelledBy = _this$props['aria-labelledby'],
157
- customClassName = _this$props.className,
158
- children = _this$props.children,
159
- MenuContent = _this$props.renderMenuContent,
160
- menuLinkName = _this$props.menuLinkName;
161
- _this$props.focusRef;
162
- var rest = _objectWithoutProperties(_this$props, _excluded);
163
-
164
- var accessibilityLabel = {
165
- 'aria-label': ariaLabel,
166
- 'aria-labelledby': ariaLabelledBy
167
- };
168
- var itemClassName = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--header__submenu"), true), _defineProperty(_cx, customClassName, !!customClassName), _cx));
169
- var isActivePage = isActive ? isActive : isCurrentPage;
170
- var linkClassName = cx((_cx2 = {}, _defineProperty(_cx2, "".concat(prefix, "--header__menu-item"), true), _defineProperty(_cx2, "".concat(prefix, "--header__menu-title"), true), _defineProperty(_cx2, "".concat(prefix, "--header__menu-item--current"), isActivePage), _cx2)); // Notes on eslint comments and based on the examples in:
171
- // https://www.w3.org/TR/wai-aria-practices/examples/menubar/menubar-1/menubar-1.html#
172
- // - The focus is handled by the <a> menuitem, onMouseOver is for mouse
173
- // users
174
- // - aria-haspopup can definitely have the value "menu"
175
- // - aria-expanded is on their example node with role="menuitem"
176
- // - href can be set to javascript:void(0), ideally this will be a button
177
-
178
- return /*#__PURE__*/React__default.createElement("li", _extends({}, rest, {
179
- className: itemClassName,
180
- onKeyDown: this.handleMenuClose,
181
- onClick: this.handleOnClick,
182
- onBlur: this.handleOnBlur
183
- }), /*#__PURE__*/React__default.createElement("a", _extends({
184
- // eslint-disable-line jsx-a11y/role-supports-aria-props,jsx-a11y/anchor-is-valid
185
- "aria-haspopup": "menu" // eslint-disable-line jsx-a11y/aria-proptypes
186
- ,
187
- "aria-expanded": this.state.expanded,
188
- className: linkClassName,
189
- href: "#",
190
- onKeyDown: this.handleOnKeyDown,
191
- ref: this.handleMenuButtonRef,
192
- tabIndex: 0
193
- }, accessibilityLabel), menuLinkName, MenuContent ? /*#__PURE__*/React__default.createElement(MenuContent, null) : /*#__PURE__*/React__default.createElement(ChevronDown, {
194
- className: "".concat(this.context, "--header__menu-arrow")
195
- })), /*#__PURE__*/React__default.createElement("ul", _extends({}, accessibilityLabel, {
196
- ref: this._subMenus,
197
- className: "".concat(prefix, "--header__menu")
198
- }), React__default.Children.map(children, this._renderMenuItem)));
199
- }
200
- /**
201
- * We capture the `ref` for each child inside of `this.items` to properly
202
- * manage focus. In addition to this focus management, all items receive a
203
- * `tabIndex: -1` so the user won't hit a large number of items in their tab
204
- * sequence when they might not want to go through all the items.
205
- */
206
-
207
- }]);
208
-
209
- return HeaderMenu;
210
- }(React__default.Component);
211
-
212
- _defineProperty(HeaderMenu, "propTypes", _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
122
+ render() {
123
+ const prefix = this.context;
124
+ const {
125
+ isActive,
126
+ isCurrentPage,
127
+ 'aria-label': ariaLabel,
128
+ 'aria-labelledby': ariaLabelledBy,
129
+ className: customClassName,
130
+ children,
131
+ renderMenuContent: MenuContent,
132
+ menuLinkName,
133
+ focusRef,
134
+ // eslint-disable-line no-unused-vars
135
+ ...rest
136
+ } = this.props;
137
+ const accessibilityLabel = {
138
+ 'aria-label': ariaLabel,
139
+ 'aria-labelledby': ariaLabelledBy
140
+ };
141
+ const itemClassName = cx({
142
+ [`${prefix}--header__submenu`]: true,
143
+ [customClassName]: !!customClassName
144
+ });
145
+ let isActivePage = isActive ? isActive : isCurrentPage;
146
+ const linkClassName = cx({
147
+ [`${prefix}--header__menu-item`]: true,
148
+ [`${prefix}--header__menu-title`]: true,
149
+ // We set the current class only if `isActive` is passed in and we do
150
+ // not have an `aria-current="page"` set for the breadcrumb item
151
+ [`${prefix}--header__menu-item--current`]: isActivePage
152
+ }); // Notes on eslint comments and based on the examples in:
153
+ // https://www.w3.org/TR/wai-aria-practices/examples/menubar/menubar-1/menubar-1.html#
154
+ // - The focus is handled by the <a> menuitem, onMouseOver is for mouse
155
+ // users
156
+ // - aria-haspopup can definitely have the value "menu"
157
+ // - aria-expanded is on their example node with role="menuitem"
158
+ // - href can be set to javascript:void(0), ideally this will be a button
159
+
160
+ return /*#__PURE__*/React__default.createElement("li", _extends({}, rest, {
161
+ className: itemClassName,
162
+ onKeyDown: this.handleMenuClose,
163
+ onClick: this.handleOnClick,
164
+ onBlur: this.handleOnBlur
165
+ }), /*#__PURE__*/React__default.createElement("a", _extends({
166
+ // eslint-disable-line jsx-a11y/role-supports-aria-props,jsx-a11y/anchor-is-valid
167
+ "aria-haspopup": "menu" // eslint-disable-line jsx-a11y/aria-proptypes
168
+ ,
169
+ "aria-expanded": this.state.expanded,
170
+ className: linkClassName,
171
+ href: "#",
172
+ onKeyDown: this.handleOnKeyDown,
173
+ ref: this.handleMenuButtonRef,
174
+ tabIndex: 0
175
+ }, accessibilityLabel), menuLinkName, MenuContent ? /*#__PURE__*/React__default.createElement(MenuContent, null) : /*#__PURE__*/React__default.createElement(ChevronDown, {
176
+ className: `${this.context}--header__menu-arrow`
177
+ })), /*#__PURE__*/React__default.createElement("ul", _extends({}, accessibilityLabel, {
178
+ ref: this._subMenus,
179
+ className: `${prefix}--header__menu`
180
+ }), React__default.Children.map(children, this._renderMenuItem)));
181
+ }
182
+ /**
183
+ * We capture the `ref` for each child inside of `this.items` to properly
184
+ * manage focus. In addition to this focus management, all items receive a
185
+ * `tabIndex: -1` so the user won't hit a large number of items in their tab
186
+ * sequence when they might not want to go through all the items.
187
+ */
188
+
189
+
190
+ }
191
+
192
+ _defineProperty(HeaderMenu, "propTypes", {
193
+ /**
194
+ * Required props for the accessibility label of the menu
195
+ */
196
+ ...AriaLabelPropType,
197
+
213
198
  /**
214
199
  * Optionally provide a custom class to apply to the underlying `<li>` node
215
200
  */
@@ -245,11 +230,11 @@ _defineProperty(HeaderMenu, "propTypes", _objectSpread2(_objectSpread2({}, AriaL
245
230
  * Optionally provide a tabIndex for the underlying menu button
246
231
  */
247
232
  tabIndex: PropTypes.number
248
- }));
233
+ });
249
234
 
250
235
  _defineProperty(HeaderMenu, "contextType", PrefixContext);
251
236
 
252
- var HeaderMenuForwardRef = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
237
+ const HeaderMenuForwardRef = /*#__PURE__*/React__default.forwardRef((props, ref) => {
253
238
  return /*#__PURE__*/React__default.createElement(HeaderMenu, _extends({}, props, {
254
239
  focusRef: ref
255
240
  }));
@@ -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, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { Menu, Close } from '@carbon/icons-react';
10
10
  import cx from 'classnames';
11
11
  import React__default from 'react';
@@ -15,31 +15,35 @@ import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
16
  var _Menu, _Close;
17
17
 
18
- var _excluded = ["aria-label", "aria-labelledby", "className", "renderMenuIcon", "renderCloseIcon", "onClick", "isActive", "isCollapsible"];
19
-
20
18
  function HeaderMenuButton(_ref) {
21
- var _cx;
22
-
23
- var ariaLabel = _ref['aria-label'],
24
- ariaLabelledBy = _ref['aria-labelledby'],
25
- customClassName = _ref.className,
26
- renderMenuIcon = _ref.renderMenuIcon,
27
- renderCloseIcon = _ref.renderCloseIcon,
28
- onClick = _ref.onClick,
29
- isActive = _ref.isActive,
30
- isCollapsible = _ref.isCollapsible,
31
- rest = _objectWithoutProperties(_ref, _excluded);
32
-
33
- var prefix = usePrefix();
34
- var className = cx((_cx = {}, _defineProperty(_cx, customClassName, !!customClassName), _defineProperty(_cx, "".concat(prefix, "--header__action"), true), _defineProperty(_cx, "".concat(prefix, "--header__menu-trigger"), true), _defineProperty(_cx, "".concat(prefix, "--header__action--active"), isActive), _defineProperty(_cx, "".concat(prefix, "--header__menu-toggle"), true), _defineProperty(_cx, "".concat(prefix, "--header__menu-toggle__hidden"), !isCollapsible), _cx));
35
- var accessibilityLabel = {
19
+ let {
20
+ 'aria-label': ariaLabel,
21
+ 'aria-labelledby': ariaLabelledBy,
22
+ className: customClassName,
23
+ renderMenuIcon,
24
+ renderCloseIcon,
25
+ onClick,
26
+ isActive,
27
+ isCollapsible,
28
+ ...rest
29
+ } = _ref;
30
+ const prefix = usePrefix();
31
+ const className = cx({
32
+ [customClassName]: !!customClassName,
33
+ [`${prefix}--header__action`]: true,
34
+ [`${prefix}--header__menu-trigger`]: true,
35
+ [`${prefix}--header__action--active`]: isActive,
36
+ [`${prefix}--header__menu-toggle`]: true,
37
+ [`${prefix}--header__menu-toggle__hidden`]: !isCollapsible
38
+ });
39
+ const accessibilityLabel = {
36
40
  'aria-label': ariaLabel,
37
41
  'aria-labelledby': ariaLabelledBy
38
42
  };
39
- var menuIcon = renderMenuIcon ? renderMenuIcon : _Menu || (_Menu = /*#__PURE__*/React__default.createElement(Menu, {
43
+ const menuIcon = renderMenuIcon ? renderMenuIcon : _Menu || (_Menu = /*#__PURE__*/React__default.createElement(Menu, {
40
44
  size: 20
41
45
  }));
42
- var closeIcon = renderCloseIcon ? renderCloseIcon : _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, {
46
+ const closeIcon = renderCloseIcon ? renderCloseIcon : _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, {
43
47
  size: 20
44
48
  }));
45
49
  return /*#__PURE__*/React__default.createElement("button", _extends({}, rest, accessibilityLabel, {
@@ -50,7 +54,12 @@ function HeaderMenuButton(_ref) {
50
54
  }), isActive ? closeIcon : menuIcon);
51
55
  }
52
56
 
53
- HeaderMenuButton.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
57
+ HeaderMenuButton.propTypes = {
58
+ /**
59
+ * Required props for accessibility label on the underlying menu button
60
+ */
61
+ ...AriaLabelPropType,
62
+
54
63
  /**
55
64
  * Optionally provide a custom class name that is applied to the underlying
56
65
  * button
@@ -67,6 +76,6 @@ HeaderMenuButton.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType
67
76
  * button fires it's onclick event
68
77
  */
69
78
  onClick: PropTypes.func
70
- });
79
+ };
71
80
 
72
81
  export { HeaderMenuButton as default };