@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,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 PropTypes from 'prop-types';
10
10
  import React__default from 'react';
11
11
  import cx from 'classnames';
@@ -13,27 +13,29 @@ import Link, { LinkPropTypes } from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
  import deprecate from '../../prop-types/deprecate.js';
15
15
 
16
- var _excluded = ["className", "isActive", "isCurrentPage", "aria-current", "children", "role", "tabIndex"];
17
- var HeaderMenuItem = /*#__PURE__*/React__default.forwardRef(function HeaderMenuItem(_ref, ref) {
18
- var _cx;
19
-
20
- var className = _ref.className,
21
- isActive = _ref.isActive,
22
- isCurrentPage = _ref.isCurrentPage,
23
- ariaCurrent = _ref['aria-current'],
24
- children = _ref.children,
25
- role = _ref.role,
26
- _ref$tabIndex = _ref.tabIndex,
27
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
28
- rest = _objectWithoutProperties(_ref, _excluded);
29
-
30
- var prefix = usePrefix();
16
+ const HeaderMenuItem = /*#__PURE__*/React__default.forwardRef(function HeaderMenuItem(_ref, ref) {
17
+ let {
18
+ className,
19
+ isActive,
20
+ isCurrentPage,
21
+ 'aria-current': ariaCurrent,
22
+ children,
23
+ role,
24
+ tabIndex = 0,
25
+ ...rest
26
+ } = _ref;
27
+ const prefix = usePrefix();
31
28
 
32
29
  if (isCurrentPage) {
33
30
  isActive = isCurrentPage;
34
31
  }
35
32
 
36
- var linkClassName = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--header__menu-item"), true), _defineProperty(_cx, "".concat(prefix, "--header__menu-item--current"), isActive && ariaCurrent !== 'page'), _cx));
33
+ const linkClassName = cx({
34
+ [`${prefix}--header__menu-item`]: true,
35
+ // We set the current class only if `isActive` is passed in and we do
36
+ // not have an `aria-current="page"` set for the breadcrumb item
37
+ [`${prefix}--header__menu-item--current`]: isActive && ariaCurrent !== 'page'
38
+ });
37
39
  return /*#__PURE__*/React__default.createElement("li", {
38
40
  className: className,
39
41
  role: role
@@ -43,11 +45,17 @@ var HeaderMenuItem = /*#__PURE__*/React__default.forwardRef(function HeaderMenuI
43
45
  ref: ref,
44
46
  tabIndex: tabIndex
45
47
  }), /*#__PURE__*/React__default.createElement("span", {
46
- className: "".concat(prefix, "--text-truncate--end")
48
+ className: `${prefix}--text-truncate--end`
47
49
  }, children)));
48
50
  });
49
51
  HeaderMenuItem.displayName = 'HeaderMenuItem';
50
- HeaderMenuItem.propTypes = _objectSpread2(_objectSpread2({}, LinkPropTypes), {}, {
52
+ HeaderMenuItem.propTypes = {
53
+ /**
54
+ * Pass in a valid `element` to replace the underlying `<a>` tag with a
55
+ * custom `Link` element
56
+ */
57
+ ...LinkPropTypes,
58
+
51
59
  /**
52
60
  * Pass in children that are either a string or can be read as a string by
53
61
  * screen readers
@@ -80,7 +88,7 @@ HeaderMenuItem.propTypes = _objectSpread2(_objectSpread2({}, LinkPropTypes), {},
80
88
  * Specify the tab index of the Link
81
89
  */
82
90
  tabIndex: PropTypes.number
83
- });
91
+ };
84
92
  var HeaderMenuItem$1 = HeaderMenuItem;
85
93
 
86
94
  export { HeaderMenuItem$1 as default };
@@ -5,33 +5,38 @@
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 React__default from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import Link, { LinkPropTypes } from './Link.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
- var _excluded = ["children", "className", "prefix", "href"];
16
-
17
15
  function HeaderName(_ref) {
18
- var children = _ref.children,
19
- customClassName = _ref.className,
20
- prefix = _ref.prefix,
21
- href = _ref.href,
22
- rest = _objectWithoutProperties(_ref, _excluded);
23
-
24
- var selectorPrefix = usePrefix();
25
- var className = cx("".concat(selectorPrefix, "--header__name"), customClassName);
16
+ let {
17
+ children,
18
+ className: customClassName,
19
+ prefix,
20
+ href,
21
+ ...rest
22
+ } = _ref;
23
+ const selectorPrefix = usePrefix();
24
+ const className = cx(`${selectorPrefix}--header__name`, customClassName);
26
25
  return /*#__PURE__*/React__default.createElement(Link, _extends({}, rest, {
27
26
  className: className,
28
27
  href: href
29
28
  }), prefix && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
30
- className: "".concat(selectorPrefix, "--header__name--prefix")
29
+ className: `${selectorPrefix}--header__name--prefix`
31
30
  }, prefix), "\xA0"), children);
32
31
  }
33
32
 
34
- HeaderName.propTypes = _objectSpread2(_objectSpread2({}, LinkPropTypes), {}, {
33
+ HeaderName.propTypes = {
34
+ /**
35
+ * Pass in a valid `element` to replace the underlying `<a>` tag with a
36
+ * custom `Link` element
37
+ */
38
+ ...LinkPropTypes,
39
+
35
40
  /**
36
41
  * Pass in children that are either a string or can be read as a string by
37
42
  * screen readers
@@ -53,7 +58,7 @@ HeaderName.propTypes = _objectSpread2(_objectSpread2({}, LinkPropTypes), {}, {
53
58
  * example: IBM [Product Name] versus solely [Product Name]
54
59
  */
55
60
  prefix: PropTypes.string
56
- });
61
+ };
57
62
  HeaderName.defaultProps = {
58
63
  prefix: 'IBM'
59
64
  };
@@ -5,38 +5,42 @@
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 React__default from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
- var _excluded = ["aria-label", "aria-labelledby", "children", "className"];
16
-
17
15
  function HeaderNavigation(props) {
18
- var ariaLabel = props['aria-label'],
19
- ariaLabelledBy = props['aria-labelledby'],
20
- children = props.children,
21
- customClassName = props.className,
22
- rest = _objectWithoutProperties(props, _excluded);
23
-
24
- var prefix = usePrefix();
25
- var className = cx("".concat(prefix, "--header__nav"), customClassName); // Assign both label strategies in this option, only one should be defined
16
+ const {
17
+ 'aria-label': ariaLabel,
18
+ 'aria-labelledby': ariaLabelledBy,
19
+ children,
20
+ className: customClassName,
21
+ ...rest
22
+ } = props;
23
+ const prefix = usePrefix();
24
+ const className = cx(`${prefix}--header__nav`, customClassName); // Assign both label strategies in this option, only one should be defined
26
25
  // so when we spread that should be the one that is applied to the node
27
26
 
28
- var accessibilityLabel = {
27
+ const accessibilityLabel = {
29
28
  'aria-label': ariaLabel,
30
29
  'aria-labelledby': ariaLabelledBy
31
30
  };
32
31
  return /*#__PURE__*/React__default.createElement("nav", _extends({}, rest, accessibilityLabel, {
33
32
  className: className
34
33
  }), /*#__PURE__*/React__default.createElement("ul", {
35
- className: "".concat(prefix, "--header__menu-bar")
34
+ className: `${prefix}--header__menu-bar`
36
35
  }, children));
37
36
  }
38
37
 
39
- HeaderNavigation.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
38
+ HeaderNavigation.propTypes = {
39
+ /**
40
+ * Required props for accessibility label on the underlying menu
41
+ */
42
+ ...AriaLabelPropType,
43
+
40
44
  /**
41
45
  * Provide valid children of HeaderNavigation, for example `HeaderMenuItem`
42
46
  * or `HeaderMenu`
@@ -47,6 +51,6 @@ HeaderNavigation.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType
47
51
  * Optionally provide a custom class to apply to the underlying <nav> node
48
52
  */
49
53
  className: PropTypes.string
50
- });
54
+ };
51
55
 
52
56
  export { HeaderNavigation, HeaderNavigation as default };
@@ -5,37 +5,43 @@
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 React__default from 'react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
12
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
15
- var _excluded = ["aria-label", "aria-labelledby", "children", "className", "expanded"];
16
- var HeaderPanel = /*#__PURE__*/React__default.forwardRef(function HeaderPanel(_ref, ref) {
17
- var _cx;
18
-
19
- var ariaLabel = _ref['aria-label'],
20
- ariaLabelledBy = _ref['aria-labelledby'],
21
- children = _ref.children,
22
- customClassName = _ref.className,
23
- expanded = _ref.expanded,
24
- other = _objectWithoutProperties(_ref, _excluded);
25
-
26
- var prefix = usePrefix();
27
- var accessibilityLabel = {
15
+ const HeaderPanel = /*#__PURE__*/React__default.forwardRef(function HeaderPanel(_ref, ref) {
16
+ let {
17
+ 'aria-label': ariaLabel,
18
+ 'aria-labelledby': ariaLabelledBy,
19
+ children,
20
+ className: customClassName,
21
+ expanded,
22
+ ...other
23
+ } = _ref;
24
+ const prefix = usePrefix();
25
+ const accessibilityLabel = {
28
26
  'aria-label': ariaLabel,
29
27
  'aria-labelledby': ariaLabelledBy
30
28
  };
31
- var className = cx("".concat(prefix, "--header-panel"), (_cx = {}, _defineProperty(_cx, "".concat(prefix, "--header-panel--expanded"), expanded), _defineProperty(_cx, customClassName, !!customClassName), _cx));
29
+ const className = cx(`${prefix}--header-panel`, {
30
+ [`${prefix}--header-panel--expanded`]: expanded,
31
+ [customClassName]: !!customClassName
32
+ });
32
33
  return /*#__PURE__*/React__default.createElement("div", _extends({}, other, {
33
34
  className: className
34
35
  }, accessibilityLabel, {
35
36
  ref: ref
36
37
  }), children);
37
38
  });
38
- HeaderPanel.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
39
+ HeaderPanel.propTypes = {
40
+ /**
41
+ * Required props for accessibility label on the underlying menu
42
+ */
43
+ ...AriaLabelPropType,
44
+
39
45
  /**
40
46
  * Optionally provide a custom class to apply to the underlying `<li>` node
41
47
  */
@@ -45,7 +51,7 @@ HeaderPanel.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}
45
51
  * Specify whether the panel is expanded
46
52
  */
47
53
  expanded: PropTypes.bool
48
- });
54
+ };
49
55
  HeaderPanel.displayName = 'HeaderPanel';
50
56
  var HeaderPanel$1 = HeaderPanel;
51
57
 
@@ -5,20 +5,22 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
8
  import cx from 'classnames';
10
9
  import React__default from 'react';
11
10
  import PropTypes from 'prop-types';
12
11
  import { usePrefix } from '../../internal/usePrefix.js';
13
12
 
14
- var HeaderSideNavItems = function HeaderSideNavItems(_ref) {
15
- var _cx;
16
-
17
- var customClassName = _ref.className,
18
- children = _ref.children,
19
- hasDivider = _ref.hasDivider;
20
- var prefix = usePrefix();
21
- var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav__header-navigation"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav__header-divider"), hasDivider), _cx), customClassName);
13
+ const HeaderSideNavItems = _ref => {
14
+ let {
15
+ className: customClassName,
16
+ children,
17
+ hasDivider
18
+ } = _ref;
19
+ const prefix = usePrefix();
20
+ const className = cx({
21
+ [`${prefix}--side-nav__header-navigation`]: true,
22
+ [`${prefix}--side-nav__header-divider`]: hasDivider
23
+ }, customClassName);
22
24
  return /*#__PURE__*/React__default.createElement("ul", {
23
25
  className: className
24
26
  }, children);
@@ -5,11 +5,9 @@
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 PropTypes from 'prop-types';
10
9
  import React__default from 'react';
11
10
 
12
- var _excluded = ["element", "isSideNavExpanded"];
13
11
  /**
14
12
  * Link is a custom component that allows us to supporting rendering elements
15
13
  * other than `a` in our markup. The goal is to allow users to support passing
@@ -17,16 +15,18 @@ var _excluded = ["element", "isSideNavExpanded"];
17
15
  * `@reach/router`
18
16
  */
19
17
 
20
- var Link = /*#__PURE__*/React__default.forwardRef(function Link(props, ref) {
21
- var element = props.element;
22
- props.isSideNavExpanded;
23
- var rest = _objectWithoutProperties(props, _excluded);
24
-
25
- return /*#__PURE__*/React__default.createElement(element, _objectSpread2(_objectSpread2({}, rest), {}, {
26
- ref: ref
27
- }));
18
+ const Link = /*#__PURE__*/React__default.forwardRef(function Link(props, ref) {
19
+ const {
20
+ element,
21
+ isSideNavExpanded,
22
+ // eslint-disable-line no-unused-vars
23
+ ...rest
24
+ } = props;
25
+ return /*#__PURE__*/React__default.createElement(element, { ...rest,
26
+ ref
27
+ });
28
28
  });
29
- var LinkPropTypes = {
29
+ const LinkPropTypes = {
30
30
  /**
31
31
  * The base element to use to build the link. Defaults to `a`, can also accept
32
32
  * alternative tag names or custom components like `Link` from `react-router`.
@@ -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, objectSpread2 as _objectSpread2, 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 cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
@@ -13,47 +13,38 @@ import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
13
13
  import { CARBON_SIDENAV_ITEMS } from './_utils.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
- var _excluded = ["expanded", "defaultExpanded", "isChildOfHeader", "aria-label", "aria-labelledby", "children", "onToggle", "className", "isFixedNav", "isRail", "isPersistent", "addFocusListeners", "addMouseListeners", "onOverlayClick"];
17
16
  // import SideNavFooter from './SideNavFooter';
18
17
 
19
- var SideNav = /*#__PURE__*/React__default.forwardRef(function SideNav(props, ref) {
20
- var _cx, _cx2;
21
-
22
- var expandedProp = props.expanded,
23
- defaultExpanded = props.defaultExpanded,
24
- isChildOfHeader = props.isChildOfHeader,
25
- ariaLabel = props['aria-label'],
26
- ariaLabelledBy = props['aria-labelledby'],
27
- children = props.children,
28
- onToggle = props.onToggle,
29
- customClassName = props.className,
30
- isFixedNav = props.isFixedNav,
31
- isRail = props.isRail,
32
- isPersistent = props.isPersistent,
33
- addFocusListeners = props.addFocusListeners,
34
- addMouseListeners = props.addMouseListeners,
35
- onOverlayClick = props.onOverlayClick,
36
- other = _objectWithoutProperties(props, _excluded);
37
-
38
- var prefix = usePrefix();
39
-
40
- var _useRef = useRef(expandedProp !== undefined),
41
- controlled = _useRef.current;
42
-
43
- var _useState = useState(defaultExpanded),
44
- _useState2 = _slicedToArray(_useState, 2),
45
- expandedState = _useState2[0],
46
- setExpandedState = _useState2[1];
47
-
48
- var _useState3 = useState(defaultExpanded),
49
- _useState4 = _slicedToArray(_useState3, 2),
50
- expandedViaHoverState = _useState4[0],
51
- setExpandedViaHoverState = _useState4[1];
52
-
53
- var expanded = controlled ? expandedProp : expandedState;
54
-
55
- var handleToggle = function handleToggle(event) {
56
- var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !expanded;
18
+ const SideNav = /*#__PURE__*/React__default.forwardRef(function SideNav(props, ref) {
19
+ const {
20
+ expanded: expandedProp,
21
+ defaultExpanded,
22
+ isChildOfHeader,
23
+ 'aria-label': ariaLabel,
24
+ 'aria-labelledby': ariaLabelledBy,
25
+ children,
26
+ onToggle,
27
+ className: customClassName,
28
+ // TO-DO: comment back in when footer is added for rails
29
+ // translateById: t,
30
+ isFixedNav,
31
+ isRail,
32
+ isPersistent,
33
+ addFocusListeners,
34
+ addMouseListeners,
35
+ onOverlayClick,
36
+ ...other
37
+ } = props;
38
+ const prefix = usePrefix();
39
+ const {
40
+ current: controlled
41
+ } = useRef(expandedProp !== undefined);
42
+ const [expandedState, setExpandedState] = useState(defaultExpanded);
43
+ const [expandedViaHoverState, setExpandedViaHoverState] = useState(defaultExpanded);
44
+ const expanded = controlled ? expandedProp : expandedState;
45
+
46
+ const handleToggle = function (event) {
47
+ let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !expanded;
57
48
 
58
49
  if (!controlled) {
59
50
  setExpandedState(value);
@@ -68,7 +59,7 @@ var SideNav = /*#__PURE__*/React__default.forwardRef(function SideNav(props, ref
68
59
  }
69
60
  };
70
61
 
71
- var accessibilityLabel = {
62
+ const accessibilityLabel = {
72
63
  'aria-label': ariaLabel,
73
64
  'aria-labelledby': ariaLabelledBy
74
65
  }; // TO-DO: comment back in when footer is added for rails
@@ -76,33 +67,45 @@ var SideNav = /*#__PURE__*/React__default.forwardRef(function SideNav(props, ref
76
67
  // ? t('carbon.sidenav.state.open')
77
68
  // : t('carbon.sidenav.state.closed');
78
69
 
79
- var className = cx((_cx = {}, _defineProperty(_cx, "".concat(prefix, "--side-nav"), true), _defineProperty(_cx, "".concat(prefix, "--side-nav--expanded"), expanded || expandedViaHoverState), _defineProperty(_cx, "".concat(prefix, "--side-nav--collapsed"), !expanded && isFixedNav), _defineProperty(_cx, "".concat(prefix, "--side-nav--rail"), isRail), _defineProperty(_cx, customClassName, !!customClassName), _defineProperty(_cx, "".concat(prefix, "--side-nav--ux"), isChildOfHeader), _defineProperty(_cx, "".concat(prefix, "--side-nav--hidden"), !isPersistent), _cx));
80
- var overlayClassName = cx((_cx2 = {}, _defineProperty(_cx2, "".concat(prefix, "--side-nav__overlay"), true), _defineProperty(_cx2, "".concat(prefix, "--side-nav__overlay-active"), expanded || expandedViaHoverState), _cx2));
81
- var childrenToRender = children; // if a rail, pass the expansion state as a prop, so children can update themselves to match
70
+ const className = cx({
71
+ [`${prefix}--side-nav`]: true,
72
+ [`${prefix}--side-nav--expanded`]: expanded || expandedViaHoverState,
73
+ [`${prefix}--side-nav--collapsed`]: !expanded && isFixedNav,
74
+ [`${prefix}--side-nav--rail`]: isRail,
75
+ [customClassName]: !!customClassName,
76
+ [`${prefix}--side-nav--ux`]: isChildOfHeader,
77
+ [`${prefix}--side-nav--hidden`]: !isPersistent
78
+ });
79
+ const overlayClassName = cx({
80
+ [`${prefix}--side-nav__overlay`]: true,
81
+ [`${prefix}--side-nav__overlay-active`]: expanded || expandedViaHoverState
82
+ });
83
+ let childrenToRender = children; // if a rail, pass the expansion state as a prop, so children can update themselves to match
82
84
 
83
85
  if (isRail) {
84
- childrenToRender = React__default.Children.map(children, function (child) {
85
- var _child$type$displayNa, _child$type, _child$type2;
86
+ childrenToRender = React__default.Children.map(children, child => {
87
+ var _child$type, _child$type2;
86
88
 
87
89
  // if we are controlled, check for if we have hovered over or the expanded state, else just use the expanded state (uncontrolled)
88
- var currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded; // avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
90
+ let currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded; // avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
89
91
 
90
- return /*#__PURE__*/React__default.cloneElement(child, _objectSpread2({}, CARBON_SIDENAV_ITEMS.includes((_child$type$displayNa = (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) !== null && _child$type$displayNa !== void 0 ? _child$type$displayNa : (_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.name) ? {
91
- isSideNavExpanded: currentExpansionState
92
- } : {}));
92
+ return /*#__PURE__*/React__default.cloneElement(child, { ...(CARBON_SIDENAV_ITEMS.includes(((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) ?? ((_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.name)) ? {
93
+ isSideNavExpanded: currentExpansionState
94
+ } : {})
95
+ });
93
96
  });
94
97
  }
95
98
 
96
- var eventHandlers = {};
99
+ let eventHandlers = {};
97
100
 
98
101
  if (addFocusListeners) {
99
- eventHandlers.onFocus = function (event) {
102
+ eventHandlers.onFocus = event => {
100
103
  if (!event.currentTarget.contains(event.relatedTarget)) {
101
104
  handleToggle(event, true);
102
105
  }
103
106
  };
104
107
 
105
- eventHandlers.onBlur = function (event) {
108
+ eventHandlers.onBlur = event => {
106
109
  if (!event.currentTarget.contains(event.relatedTarget)) {
107
110
  handleToggle(event, false);
108
111
  }
@@ -110,13 +113,9 @@ var SideNav = /*#__PURE__*/React__default.forwardRef(function SideNav(props, ref
110
113
  }
111
114
 
112
115
  if (addMouseListeners && isRail) {
113
- eventHandlers.onMouseEnter = function () {
114
- return handleToggle(true, true);
115
- };
116
+ eventHandlers.onMouseEnter = () => handleToggle(true, true);
116
117
 
117
- eventHandlers.onMouseLeave = function () {
118
- return handleToggle(false, false);
119
- };
118
+ eventHandlers.onMouseLeave = () => handleToggle(false, false);
120
119
  }
121
120
 
122
121
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isFixedNav ? null :
@@ -127,7 +126,7 @@ var SideNav = /*#__PURE__*/React__default.forwardRef(function SideNav(props, ref
127
126
  onClick: onOverlayClick
128
127
  }), /*#__PURE__*/React__default.createElement("nav", _extends({
129
128
  ref: ref,
130
- className: "".concat(prefix, "--side-nav__navigation ").concat(className)
129
+ className: `${prefix}--side-nav__navigation ${className}`
131
130
  }, accessibilityLabel, eventHandlers, other), childrenToRender));
132
131
  });
133
132
  SideNav.displayName = 'SideNav';
@@ -147,7 +146,12 @@ SideNav.defaultProps = {
147
146
  addFocusListeners: true,
148
147
  addMouseListeners: true
149
148
  };
150
- SideNav.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
149
+ SideNav.propTypes = {
150
+ /**
151
+ * Required props for accessibility label on the underlying menu
152
+ */
153
+ ...AriaLabelPropType,
154
+
151
155
  /**
152
156
  * Specify whether focus and blur listeners are added. They are by default.
153
157
  */
@@ -217,7 +221,7 @@ SideNav.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
217
221
  */
218
222
  // translateById: PropTypes.func,
219
223
 
220
- });
224
+ };
221
225
  var SideNav$1 = SideNav;
222
226
 
223
227
  export { SideNav$1 as default };
@@ -5,26 +5,25 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } 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 { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- var _excluded = ["children", "className", "title"];
15
-
16
- var SideNavDetails = function SideNavDetails(_ref) {
17
- var children = _ref.children,
18
- customClassName = _ref.className,
19
- title = _ref.title,
20
- rest = _objectWithoutProperties(_ref, _excluded);
21
-
22
- var prefix = usePrefix();
23
- var className = cx("".concat(prefix, "--side-nav__details"), customClassName);
14
+ const SideNavDetails = _ref => {
15
+ let {
16
+ children,
17
+ className: customClassName,
18
+ title,
19
+ ...rest
20
+ } = _ref;
21
+ const prefix = usePrefix();
22
+ const className = cx(`${prefix}--side-nav__details`, customClassName);
24
23
  return /*#__PURE__*/React__default.createElement("div", _extends({
25
24
  className: className
26
25
  }, rest), /*#__PURE__*/React__default.createElement("h2", {
27
- className: "".concat(prefix, "--side-nav__title"),
26
+ className: `${prefix}--side-nav__title`,
28
27
  title: title
29
28
  }, title), children);
30
29
  };
@@ -11,9 +11,11 @@ import React__default from 'react';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
 
13
13
  function SideNavDivider(_ref) {
14
- var className = _ref.className;
15
- var prefix = usePrefix();
16
- var classNames = cx("".concat(prefix, "--side-nav__divider"), className);
14
+ let {
15
+ className
16
+ } = _ref;
17
+ const prefix = usePrefix();
18
+ const classNames = cx(`${prefix}--side-nav__divider`, className);
17
19
  return /*#__PURE__*/React__default.createElement("li", {
18
20
  role: "separator",
19
21
  className: classNames
@@ -19,29 +19,29 @@ var _Close, _ChevronRight;
19
19
  */
20
20
 
21
21
  function SideNavFooter(_ref) {
22
- var assistiveText = _ref.assistiveText,
23
- customClassName = _ref.className,
24
- expanded = _ref.expanded,
25
- onToggle = _ref.onToggle;
26
- var prefix = usePrefix();
27
- var className = cx("".concat(prefix, "--side-nav__footer"), customClassName);
22
+ let {
23
+ assistiveText,
24
+ className: customClassName,
25
+ expanded,
26
+ onToggle
27
+ } = _ref;
28
+ const prefix = usePrefix();
29
+ const className = cx(`${prefix}--side-nav__footer`, customClassName);
28
30
  return /*#__PURE__*/React__default.createElement("footer", {
29
31
  className: className
30
32
  }, /*#__PURE__*/React__default.createElement("button", {
31
- className: "".concat(prefix, "--side-nav__toggle"),
33
+ className: `${prefix}--side-nav__toggle`,
32
34
  type: "button",
33
- onClick: function onClick(evt) {
34
- return onToggle(evt);
35
- },
35
+ onClick: evt => onToggle(evt),
36
36
  title: assistiveText
37
37
  }, /*#__PURE__*/React__default.createElement("div", {
38
- className: "".concat(prefix, "--side-nav__icon")
38
+ className: `${prefix}--side-nav__icon`
39
39
  }, expanded ? _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, {
40
40
  size: 20
41
41
  })) : _ChevronRight || (_ChevronRight = /*#__PURE__*/React__default.createElement(ChevronRight, {
42
42
  size: 20
43
43
  }))), /*#__PURE__*/React__default.createElement("span", {
44
- className: "".concat(prefix, "--assistive-text")
44
+ className: `${prefix}--assistive-text`
45
45
  }, assistiveText)));
46
46
  }
47
47