@carbon/react 1.110.0 → 1.111.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 (505) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +927 -927
  2. package/es/components/AILabel/index.js +48 -1
  3. package/es/components/AISkeleton/AISkeletonIcon.js +7 -1
  4. package/es/components/AISkeleton/AISkeletonPlaceholder.js +7 -2
  5. package/es/components/AISkeleton/AISkeletonText.js +16 -1
  6. package/es/components/Accordion/Accordion.Skeleton.js +16 -1
  7. package/es/components/Accordion/Accordion.js +23 -1
  8. package/es/components/Accordion/AccordionItem.js +34 -1
  9. package/es/components/AspectRatio/AspectRatio.js +20 -1
  10. package/es/components/BadgeIndicator/index.js +10 -1
  11. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +13 -1
  12. package/es/components/Breadcrumb/Breadcrumb.js +17 -1
  13. package/es/components/Breadcrumb/BreadcrumbItem.js +13 -1
  14. package/es/components/Button/Button.Skeleton.js +18 -1
  15. package/es/components/Button/Button.js +96 -0
  16. package/es/components/Button/ButtonBase.js +1 -1
  17. package/es/components/ButtonSet/ButtonSet.js +15 -1
  18. package/es/components/ChatButton/ChatButton.Skeleton.js +7 -1
  19. package/es/components/ChatButton/ChatButton.js +25 -1
  20. package/es/components/Checkbox/Checkbox.Skeleton.js +6 -2
  21. package/es/components/Checkbox/Checkbox.js +59 -2
  22. package/es/components/CheckboxGroup/CheckboxGroup.js +41 -1
  23. package/es/components/ClassPrefix/index.js +3 -0
  24. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +7 -1
  25. package/es/components/CodeSnippet/CodeSnippet.js +77 -1
  26. package/es/components/ComboBox/ComboBox.js +141 -1
  27. package/es/components/ComboButton/index.js +28 -1
  28. package/es/components/ComposedModal/ComposedModal.js +70 -2
  29. package/es/components/ComposedModal/ModalFooter.js +65 -2
  30. package/es/components/ComposedModal/ModalHeader.js +36 -1
  31. package/es/components/ContainedList/ContainedList.js +22 -1
  32. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +19 -1
  33. package/es/components/ContentSwitcher/ContentSwitcher.js +26 -1
  34. package/es/components/Copy/Copy.js +31 -2
  35. package/es/components/CopyButton/CopyButton.js +28 -2
  36. package/es/components/DataTable/DataTable.js +59 -0
  37. package/es/components/DataTable/Table.js +28 -1
  38. package/es/components/DataTable/TableBatchAction.js +10 -0
  39. package/es/components/DataTable/TableBatchActions.js +25 -1
  40. package/es/components/DataTable/TableBody.js +3 -0
  41. package/es/components/DataTable/TableCell.js +16 -1
  42. package/es/components/DataTable/TableContainer.js +19 -1
  43. package/es/components/DataTable/TableDecoratorRow.js +7 -1
  44. package/es/components/DataTable/TableExpandHeader.js +32 -1
  45. package/es/components/DataTable/TableExpandRow.js +30 -1
  46. package/es/components/DataTable/TableExpandedRow.js +10 -1
  47. package/es/components/DataTable/TableHeader.js +36 -1
  48. package/es/components/DataTable/TableRow.js +22 -1
  49. package/es/components/DataTable/TableSelectAll.js +29 -1
  50. package/es/components/DataTable/TableSelectRow.js +32 -1
  51. package/es/components/DataTable/TableSlugRow.js +7 -1
  52. package/es/components/DataTable/TableToolbar.js +16 -1
  53. package/es/components/DataTable/TableToolbarMenu.js +16 -1
  54. package/es/components/DataTable/TableToolbarSearch.js +60 -2
  55. package/es/components/DataTableSkeleton/DataTableSkeleton.js +25 -1
  56. package/es/components/DatePicker/DatePicker.Skeleton.js +13 -1
  57. package/es/components/DatePicker/DatePicker.js +89 -1
  58. package/es/components/DatePickerInput/DatePickerInput.js +81 -2
  59. package/es/components/Dialog/Dialog.js +132 -5
  60. package/es/components/Dropdown/Dropdown.Skeleton.js +10 -1
  61. package/es/components/Dropdown/Dropdown.js +110 -1
  62. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -1
  63. package/es/components/FeatureFlags/index.js +3 -0
  64. package/es/components/FileUploader/FileUploader.Skeleton.js +6 -2
  65. package/es/components/FileUploader/FileUploader.js +58 -1
  66. package/es/components/FileUploader/FileUploaderButton.js +49 -2
  67. package/es/components/FileUploader/FileUploaderDropContainer.js +44 -2
  68. package/es/components/FileUploader/FileUploaderItem.js +31 -2
  69. package/es/components/FileUploader/Filename.js +18 -0
  70. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +6 -2
  71. package/es/components/FluidComboBox/FluidComboBox.js +62 -1
  72. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +7 -1
  73. package/es/components/FluidDatePicker/FluidDatePicker.js +22 -1
  74. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +6 -2
  75. package/es/components/FluidDropdown/FluidDropdown.js +66 -1
  76. package/es/components/FluidForm/FluidForm.js +7 -1
  77. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +6 -2
  78. package/es/components/FluidMultiSelect/FluidMultiSelect.js +129 -1
  79. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +6 -2
  80. package/es/components/FluidNumberInput/FluidNumberInput.js +96 -1
  81. package/es/components/FluidSearch/FluidSearch.Skeleton.js +6 -2
  82. package/es/components/FluidSearch/FluidSearch.js +46 -1
  83. package/es/components/FluidSelect/FluidSelect.Skeleton.js +6 -2
  84. package/es/components/FluidSelect/FluidSelect.js +39 -1
  85. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +6 -2
  86. package/es/components/FluidTextArea/FluidTextArea.js +68 -1
  87. package/es/components/FluidTextInput/FluidPasswordInput.js +59 -1
  88. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +6 -2
  89. package/es/components/FluidTextInput/FluidTextInput.js +55 -1
  90. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +7 -1
  91. package/es/components/FluidTimePicker/FluidTimePicker.js +29 -1
  92. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +26 -0
  93. package/es/components/Form/Form.js +7 -1
  94. package/es/components/FormGroup/FormGroup.js +26 -1
  95. package/es/components/FormItem/FormItem.js +7 -1
  96. package/es/components/FormLabel/FormLabel.js +10 -1
  97. package/es/components/Grid/CSSGrid.js +44 -1
  98. package/es/components/Grid/Column.js +87 -1
  99. package/es/components/Grid/ColumnHang.js +10 -1
  100. package/es/components/Grid/FlexGrid.js +25 -1
  101. package/es/components/Grid/Grid.js +27 -0
  102. package/es/components/Grid/GridContext.js +10 -0
  103. package/es/components/Grid/Row.js +18 -1
  104. package/es/components/Heading/index.js +19 -0
  105. package/es/components/Icon/Icon.Skeleton.js +6 -2
  106. package/es/components/IconButton/index.js +69 -1
  107. package/es/components/IconIndicator/index.js +13 -1
  108. package/es/components/IdPrefix/index.js +3 -0
  109. package/es/components/InlineCheckbox/InlineCheckbox.js +34 -0
  110. package/es/components/InlineLoading/InlineLoading.js +20 -1
  111. package/es/components/Layer/index.js +18 -1
  112. package/es/components/Layout/index.js +35 -1
  113. package/es/components/LayoutDirection/LayoutDirection.js +10 -0
  114. package/es/components/Link/Link.d.ts +1 -1
  115. package/es/components/Link/Link.js +29 -1
  116. package/es/components/ListBox/ListBox.js +42 -1
  117. package/es/components/ListBox/ListBoxField.js +17 -0
  118. package/es/components/ListBox/ListBoxMenu.js +6 -0
  119. package/es/components/ListBox/ListBoxMenuIcon.js +8 -1
  120. package/es/components/ListBox/ListBoxMenuItem.js +17 -1
  121. package/es/components/ListBox/ListBoxSelection.d.ts +1 -1
  122. package/es/components/ListBox/ListBoxSelection.js +33 -10
  123. package/es/components/ListBox/next/ListBoxSelection.d.ts +1 -1
  124. package/es/components/ListBox/next/ListBoxSelection.js +42 -7
  125. package/es/components/ListBox/next/ListBoxTrigger.js +8 -1
  126. package/es/components/ListItem/ListItem.js +7 -1
  127. package/es/components/Loading/Loading.js +19 -1
  128. package/es/components/Menu/Menu.js +53 -1
  129. package/es/components/Menu/MenuItem.js +78 -2
  130. package/es/components/MenuButton/index.js +34 -1
  131. package/es/components/Modal/Modal.js +118 -4
  132. package/es/components/ModalWrapper/ModalWrapper.js +2 -2
  133. package/es/components/MultiSelect/FilterableMultiSelect.js +129 -1
  134. package/es/components/MultiSelect/MultiSelect.js +151 -3
  135. package/es/components/MultiSelect/MultiSelectPropTypes.js +25 -0
  136. package/es/components/Notification/Notification.js +210 -3
  137. package/es/components/NumberInput/NumberInput.Skeleton.js +10 -1
  138. package/es/components/NumberInput/NumberInput.js +139 -1
  139. package/es/components/OrderedList/OrderedList.js +16 -1
  140. package/es/components/OverflowMenu/OverflowMenu.js +78 -2
  141. package/es/components/OverflowMenu/next/index.js +31 -1
  142. package/es/components/OverflowMenuItem/OverflowMenuItem.js +38 -2
  143. package/es/components/PageHeader/PageHeader.js +49 -1
  144. package/es/components/Pagination/Pagination.Skeleton.js +6 -2
  145. package/es/components/Pagination/Pagination.d.ts +8 -0
  146. package/es/components/Pagination/Pagination.js +86 -4
  147. package/es/components/Pagination/experimental/PageSelector.js +9 -1
  148. package/es/components/Pagination/experimental/Pagination.js +55 -1
  149. package/es/components/PaginationNav/PaginationNav.js +81 -1
  150. package/es/components/Popover/index.js +59 -1
  151. package/es/components/ProgressBar/ProgressBar.js +28 -1
  152. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +7 -1
  153. package/es/components/ProgressIndicator/ProgressIndicator.js +59 -1
  154. package/es/components/RadioButton/RadioButton.Skeleton.js +6 -2
  155. package/es/components/RadioButton/RadioButton.js +64 -1
  156. package/es/components/RadioButtonGroup/RadioButtonGroup.js +60 -1
  157. package/es/components/RadioTile/RadioTile.js +47 -2
  158. package/es/components/Search/Search.Skeleton.js +10 -1
  159. package/es/components/Search/Search.js +68 -3
  160. package/es/components/Select/Select.Skeleton.js +7 -1
  161. package/es/components/Select/Select.js +83 -20
  162. package/es/components/SelectItem/SelectItem.js +16 -1
  163. package/es/components/SelectItemGroup/SelectItemGroup.js +13 -1
  164. package/es/components/ShapeIndicator/index.js +13 -1
  165. package/es/components/SkeletonIcon/SkeletonIcon.js +6 -2
  166. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +6 -2
  167. package/es/components/SkeletonText/SkeletonText.js +16 -1
  168. package/es/components/Slider/Slider.Skeleton.js +16 -1
  169. package/es/components/Slider/Slider.js +105 -1
  170. package/es/components/Stack/Stack.js +21 -1
  171. package/es/components/StructuredList/StructuredList.Skeleton.js +7 -1
  172. package/es/components/StructuredList/StructuredList.js +98 -1
  173. package/es/components/Switch/IconSwitch.js +49 -2
  174. package/es/components/Switch/Switch.js +32 -2
  175. package/es/components/TabContent/TabContent.js +10 -1
  176. package/es/components/Tabs/Tabs.Skeleton.js +7 -1
  177. package/es/components/Tabs/Tabs.js +175 -2
  178. package/es/components/Tag/DismissibleTag.js +44 -1
  179. package/es/components/Tag/OperationalTag.js +23 -1
  180. package/es/components/Tag/SelectableTag.js +32 -1
  181. package/es/components/Tag/Tag.Skeleton.js +8 -1
  182. package/es/components/Tag/Tag.js +42 -1
  183. package/es/components/Text/Text.js +10 -0
  184. package/es/components/Text/TextDirection.js +11 -0
  185. package/es/components/TextArea/TextArea.Skeleton.js +7 -1
  186. package/es/components/TextArea/TextArea.js +82 -2
  187. package/es/components/TextInput/ControlledPasswordInput.js +66 -2
  188. package/es/components/TextInput/PasswordInput.js +84 -1
  189. package/es/components/TextInput/TextInput.Skeleton.js +10 -1
  190. package/es/components/TextInput/TextInput.js +77 -1
  191. package/es/components/Theme/index.js +22 -1
  192. package/es/components/Tile/Tile.js +158 -3
  193. package/es/components/TileGroup/TileGroup.js +29 -1
  194. package/es/components/TimePicker/TimePicker.js +68 -1
  195. package/es/components/TimePickerSelect/TimePickerSelect.js +16 -1
  196. package/es/components/Toggle/Toggle.Skeleton.js +1 -1
  197. package/es/components/Toggle/Toggle.js +47 -1
  198. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +12 -1
  199. package/es/components/Toggletip/index.js +39 -1
  200. package/es/components/Tooltip/DefinitionTooltip.js +37 -1
  201. package/es/components/Tooltip/Tooltip.js +47 -1
  202. package/es/components/TreeView/TreeNode.js +65 -1
  203. package/es/components/TreeView/TreeView.js +33 -1
  204. package/es/components/UIShell/Content.js +10 -1
  205. package/es/components/UIShell/Header.js +10 -1
  206. package/es/components/UIShell/HeaderContainer.js +9 -0
  207. package/es/components/UIShell/HeaderGlobalAction.js +29 -1
  208. package/es/components/UIShell/HeaderMenu.js +38 -1
  209. package/es/components/UIShell/HeaderMenuButton.js +18 -1
  210. package/es/components/UIShell/HeaderMenuItem.js +26 -1
  211. package/es/components/UIShell/HeaderName.js +19 -1
  212. package/es/components/UIShell/HeaderNavigation.js +11 -1
  213. package/es/components/UIShell/HeaderPanel.js +21 -2
  214. package/es/components/UIShell/HeaderSideNavItems.js +12 -1
  215. package/es/components/UIShell/Link.js +14 -0
  216. package/es/components/UIShell/SideNav.js +54 -1
  217. package/es/components/UIShell/SideNavDetails.js +11 -1
  218. package/es/components/UIShell/SideNavDivider.js +6 -2
  219. package/es/components/UIShell/SideNavFooter.js +12 -1
  220. package/es/components/UIShell/SideNavHeader.js +14 -1
  221. package/es/components/UIShell/SideNavIcon.js +11 -1
  222. package/es/components/UIShell/SideNavItem.js +11 -1
  223. package/es/components/UIShell/SideNavItems.js +12 -1
  224. package/es/components/UIShell/SideNavLink.js +23 -1
  225. package/es/components/UIShell/SideNavLinkText.js +7 -1
  226. package/es/components/UIShell/SideNavMenu.js +32 -1
  227. package/es/components/UIShell/SideNavMenuItem.js +18 -1
  228. package/es/components/UIShell/SideNavSwitcher.js +17 -1
  229. package/es/components/UIShell/SkipToContent.js +12 -1
  230. package/es/components/UIShell/Switcher.js +13 -1
  231. package/es/components/UIShell/SwitcherDivider.js +6 -2
  232. package/es/components/UIShell/SwitcherItem.js +31 -1
  233. package/es/components/UnorderedList/UnorderedList.js +13 -1
  234. package/es/internal/FloatingMenu.js +1 -1
  235. package/es/internal/OptimizedResize.js +6 -2
  236. package/es/internal/usePresence.js +6 -0
  237. package/es/tools/wrapComponent.js +1 -1
  238. package/lib/components/AILabel/index.js +49 -2
  239. package/lib/components/AISkeleton/AISkeletonIcon.js +8 -2
  240. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +8 -3
  241. package/lib/components/AISkeleton/AISkeletonText.js +17 -2
  242. package/lib/components/Accordion/Accordion.Skeleton.js +17 -2
  243. package/lib/components/Accordion/Accordion.js +24 -2
  244. package/lib/components/Accordion/AccordionItem.js +35 -2
  245. package/lib/components/AspectRatio/AspectRatio.js +21 -2
  246. package/lib/components/BadgeIndicator/index.js +11 -2
  247. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +14 -2
  248. package/lib/components/Breadcrumb/Breadcrumb.js +18 -2
  249. package/lib/components/Breadcrumb/BreadcrumbItem.js +14 -2
  250. package/lib/components/Button/Button.Skeleton.js +19 -2
  251. package/lib/components/Button/Button.js +96 -0
  252. package/lib/components/Button/ButtonBase.js +2 -2
  253. package/lib/components/ButtonSet/ButtonSet.js +16 -2
  254. package/lib/components/ChatButton/ChatButton.Skeleton.js +8 -2
  255. package/lib/components/ChatButton/ChatButton.js +26 -2
  256. package/lib/components/Checkbox/Checkbox.Skeleton.js +7 -3
  257. package/lib/components/Checkbox/Checkbox.js +60 -3
  258. package/lib/components/CheckboxGroup/CheckboxGroup.js +42 -2
  259. package/lib/components/ClassPrefix/index.js +3 -0
  260. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +8 -2
  261. package/lib/components/CodeSnippet/CodeSnippet.js +78 -2
  262. package/lib/components/ComboBox/ComboBox.js +142 -2
  263. package/lib/components/ComboButton/index.js +29 -2
  264. package/lib/components/ComposedModal/ComposedModal.js +71 -3
  265. package/lib/components/ComposedModal/ComposedModalContext.js +0 -1
  266. package/lib/components/ComposedModal/ModalFooter.js +66 -3
  267. package/lib/components/ComposedModal/ModalHeader.js +37 -2
  268. package/lib/components/ComposedModal/useComposedModalState.js +0 -1
  269. package/lib/components/ContainedList/ContainedList.js +23 -2
  270. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +20 -2
  271. package/lib/components/ContainedList/index.js +2 -2
  272. package/lib/components/ContentSwitcher/ContentSwitcher.js +27 -2
  273. package/lib/components/ContextMenu/useContextMenu.js +0 -1
  274. package/lib/components/Copy/Copy.js +32 -3
  275. package/lib/components/CopyButton/CopyButton.js +29 -3
  276. package/lib/components/DataTable/DataTable.js +59 -0
  277. package/lib/components/DataTable/Table.js +29 -2
  278. package/lib/components/DataTable/TableBatchAction.js +10 -0
  279. package/lib/components/DataTable/TableBatchActions.js +26 -2
  280. package/lib/components/DataTable/TableBody.js +3 -0
  281. package/lib/components/DataTable/TableCell.js +17 -2
  282. package/lib/components/DataTable/TableContainer.js +20 -2
  283. package/lib/components/DataTable/TableContext.js +0 -1
  284. package/lib/components/DataTable/TableDecoratorRow.js +8 -2
  285. package/lib/components/DataTable/TableExpandHeader.js +33 -2
  286. package/lib/components/DataTable/TableExpandRow.js +31 -2
  287. package/lib/components/DataTable/TableExpandedRow.js +11 -2
  288. package/lib/components/DataTable/TableHeader.js +37 -2
  289. package/lib/components/DataTable/TableRow.js +23 -2
  290. package/lib/components/DataTable/TableSelectAll.js +30 -2
  291. package/lib/components/DataTable/TableSelectRow.js +33 -2
  292. package/lib/components/DataTable/TableSlugRow.js +8 -2
  293. package/lib/components/DataTable/TableToolbar.js +17 -2
  294. package/lib/components/DataTable/TableToolbarMenu.js +17 -2
  295. package/lib/components/DataTable/TableToolbarSearch.js +61 -3
  296. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +26 -2
  297. package/lib/components/DatePicker/DatePicker.Skeleton.js +14 -2
  298. package/lib/components/DatePicker/DatePicker.js +90 -2
  299. package/lib/components/DatePickerInput/DatePickerInput.js +82 -3
  300. package/lib/components/Dialog/Dialog.js +133 -6
  301. package/lib/components/Dropdown/Dropdown.Skeleton.js +11 -2
  302. package/lib/components/Dropdown/Dropdown.js +111 -2
  303. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  304. package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
  305. package/lib/components/FeatureFlags/index.js +3 -0
  306. package/lib/components/FileUploader/FileUploader.Skeleton.js +7 -3
  307. package/lib/components/FileUploader/FileUploader.js +59 -2
  308. package/lib/components/FileUploader/FileUploaderButton.js +50 -3
  309. package/lib/components/FileUploader/FileUploaderDropContainer.js +45 -3
  310. package/lib/components/FileUploader/FileUploaderItem.js +32 -3
  311. package/lib/components/FileUploader/Filename.js +18 -0
  312. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +7 -3
  313. package/lib/components/FluidComboBox/FluidComboBox.js +63 -2
  314. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +8 -2
  315. package/lib/components/FluidDatePicker/FluidDatePicker.js +23 -2
  316. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +7 -3
  317. package/lib/components/FluidDropdown/FluidDropdown.js +67 -2
  318. package/lib/components/FluidForm/FluidForm.js +8 -2
  319. package/lib/components/FluidForm/FormContext.js +0 -1
  320. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +7 -3
  321. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +130 -2
  322. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +7 -3
  323. package/lib/components/FluidNumberInput/FluidNumberInput.js +97 -2
  324. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +7 -3
  325. package/lib/components/FluidSearch/FluidSearch.js +47 -2
  326. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +7 -3
  327. package/lib/components/FluidSelect/FluidSelect.js +40 -2
  328. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +7 -3
  329. package/lib/components/FluidTextArea/FluidTextArea.js +69 -2
  330. package/lib/components/FluidTextInput/FluidPasswordInput.js +60 -2
  331. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +7 -3
  332. package/lib/components/FluidTextInput/FluidTextInput.js +56 -2
  333. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +8 -2
  334. package/lib/components/FluidTimePicker/FluidTimePicker.js +30 -2
  335. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +26 -0
  336. package/lib/components/Form/Form.js +8 -2
  337. package/lib/components/FormGroup/FormGroup.js +27 -2
  338. package/lib/components/FormItem/FormItem.js +8 -2
  339. package/lib/components/FormLabel/FormLabel.js +11 -2
  340. package/lib/components/Grid/CSSGrid.js +45 -2
  341. package/lib/components/Grid/Column.js +88 -2
  342. package/lib/components/Grid/ColumnHang.js +11 -2
  343. package/lib/components/Grid/FlexGrid.js +26 -2
  344. package/lib/components/Grid/Grid.js +27 -0
  345. package/lib/components/Grid/GridContext.js +10 -0
  346. package/lib/components/Grid/Row.js +19 -2
  347. package/lib/components/Heading/index.js +19 -0
  348. package/lib/components/Icon/Icon.Skeleton.js +7 -3
  349. package/lib/components/IconButton/index.js +70 -2
  350. package/lib/components/IconIndicator/index.js +14 -2
  351. package/lib/components/IdPrefix/index.js +3 -0
  352. package/lib/components/InlineCheckbox/InlineCheckbox.js +34 -0
  353. package/lib/components/InlineLoading/InlineLoading.js +21 -2
  354. package/lib/components/Layer/index.js +19 -2
  355. package/lib/components/Layout/index.js +36 -2
  356. package/lib/components/LayoutDirection/LayoutDirection.js +10 -0
  357. package/lib/components/LayoutDirection/useLayoutDirection.js +0 -1
  358. package/lib/components/Link/Link.d.ts +1 -1
  359. package/lib/components/Link/Link.js +30 -2
  360. package/lib/components/ListBox/ListBox.js +43 -2
  361. package/lib/components/ListBox/ListBoxField.js +17 -0
  362. package/lib/components/ListBox/ListBoxMenu.js +6 -0
  363. package/lib/components/ListBox/ListBoxMenuIcon.js +9 -2
  364. package/lib/components/ListBox/ListBoxMenuItem.js +18 -2
  365. package/lib/components/ListBox/ListBoxSelection.d.ts +1 -1
  366. package/lib/components/ListBox/ListBoxSelection.js +34 -11
  367. package/lib/components/ListBox/next/ListBoxSelection.d.ts +1 -1
  368. package/lib/components/ListBox/next/ListBoxSelection.js +43 -8
  369. package/lib/components/ListBox/next/ListBoxTrigger.js +9 -2
  370. package/lib/components/ListItem/ListItem.js +8 -2
  371. package/lib/components/Loading/Loading.js +20 -2
  372. package/lib/components/Menu/Menu.js +54 -2
  373. package/lib/components/Menu/MenuContext.js +0 -1
  374. package/lib/components/Menu/MenuItem.js +79 -3
  375. package/lib/components/MenuButton/index.js +35 -2
  376. package/lib/components/Modal/Modal.js +119 -5
  377. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  378. package/lib/components/MultiSelect/FilterableMultiSelect.js +130 -2
  379. package/lib/components/MultiSelect/MultiSelect.js +151 -3
  380. package/lib/components/MultiSelect/MultiSelectPropTypes.js +25 -0
  381. package/lib/components/Notification/Notification.js +211 -4
  382. package/lib/components/NumberInput/NumberInput.Skeleton.js +11 -2
  383. package/lib/components/NumberInput/NumberInput.js +140 -2
  384. package/lib/components/OrderedList/OrderedList.js +17 -2
  385. package/lib/components/OverflowMenu/OverflowMenu.js +79 -3
  386. package/lib/components/OverflowMenu/next/index.js +32 -2
  387. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +39 -3
  388. package/lib/components/PageHeader/PageHeader.js +50 -2
  389. package/lib/components/Pagination/Pagination.Skeleton.js +7 -3
  390. package/lib/components/Pagination/Pagination.d.ts +8 -0
  391. package/lib/components/Pagination/Pagination.js +87 -5
  392. package/lib/components/Pagination/experimental/PageSelector.js +10 -2
  393. package/lib/components/Pagination/experimental/Pagination.js +56 -2
  394. package/lib/components/PaginationNav/PaginationNav.js +82 -2
  395. package/lib/components/Popover/index.js +60 -2
  396. package/lib/components/ProgressBar/ProgressBar.js +29 -2
  397. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +8 -2
  398. package/lib/components/ProgressIndicator/ProgressIndicator.js +60 -2
  399. package/lib/components/RadioButton/RadioButton.Skeleton.js +7 -3
  400. package/lib/components/RadioButton/RadioButton.js +65 -2
  401. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +61 -2
  402. package/lib/components/RadioTile/RadioTile.js +48 -3
  403. package/lib/components/Search/Search.Skeleton.js +11 -2
  404. package/lib/components/Search/Search.js +69 -4
  405. package/lib/components/Select/Select.Skeleton.js +8 -2
  406. package/lib/components/Select/Select.js +84 -21
  407. package/lib/components/SelectItem/SelectItem.js +17 -2
  408. package/lib/components/SelectItemGroup/SelectItemGroup.js +14 -2
  409. package/lib/components/ShapeIndicator/index.js +14 -2
  410. package/lib/components/SkeletonIcon/SkeletonIcon.js +7 -3
  411. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +7 -3
  412. package/lib/components/SkeletonText/SkeletonText.js +17 -2
  413. package/lib/components/Slider/Slider.Skeleton.js +17 -2
  414. package/lib/components/Slider/Slider.js +106 -2
  415. package/lib/components/Stack/Stack.js +22 -2
  416. package/lib/components/StructuredList/StructuredList.Skeleton.js +8 -2
  417. package/lib/components/StructuredList/StructuredList.js +99 -2
  418. package/lib/components/Switch/IconSwitch.js +50 -3
  419. package/lib/components/Switch/Switch.js +33 -3
  420. package/lib/components/TabContent/TabContent.js +11 -2
  421. package/lib/components/Tabs/Tabs.Skeleton.js +8 -2
  422. package/lib/components/Tabs/Tabs.js +176 -3
  423. package/lib/components/Tabs/usePressable.js +0 -1
  424. package/lib/components/Tag/DismissibleTag.js +45 -2
  425. package/lib/components/Tag/OperationalTag.js +24 -2
  426. package/lib/components/Tag/SelectableTag.js +33 -2
  427. package/lib/components/Tag/Tag.Skeleton.js +9 -2
  428. package/lib/components/Tag/Tag.js +43 -2
  429. package/lib/components/Text/Text.js +10 -0
  430. package/lib/components/Text/TextDirection.js +11 -0
  431. package/lib/components/Text/TextDirectionContext.js +0 -1
  432. package/lib/components/TextArea/TextArea.Skeleton.js +8 -2
  433. package/lib/components/TextArea/TextArea.js +83 -3
  434. package/lib/components/TextInput/ControlledPasswordInput.js +67 -3
  435. package/lib/components/TextInput/PasswordInput.js +85 -2
  436. package/lib/components/TextInput/TextInput.Skeleton.js +11 -2
  437. package/lib/components/TextInput/TextInput.js +78 -2
  438. package/lib/components/Theme/index.js +23 -2
  439. package/lib/components/Tile/Tile.js +159 -4
  440. package/lib/components/TileGroup/TileGroup.js +29 -1
  441. package/lib/components/TimePicker/TimePicker.js +69 -2
  442. package/lib/components/TimePickerSelect/TimePickerSelect.js +17 -2
  443. package/lib/components/Toggle/Toggle.Skeleton.js +2 -2
  444. package/lib/components/Toggle/Toggle.js +48 -2
  445. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +13 -2
  446. package/lib/components/Toggletip/index.js +40 -2
  447. package/lib/components/Tooltip/DefinitionTooltip.js +38 -2
  448. package/lib/components/Tooltip/Tooltip.js +48 -2
  449. package/lib/components/TreeView/TreeContext.js +0 -1
  450. package/lib/components/TreeView/TreeNode.js +66 -2
  451. package/lib/components/TreeView/TreeView.js +34 -2
  452. package/lib/components/UIShell/Content.js +11 -2
  453. package/lib/components/UIShell/Header.js +11 -2
  454. package/lib/components/UIShell/HeaderContainer.js +9 -0
  455. package/lib/components/UIShell/HeaderGlobalAction.js +30 -2
  456. package/lib/components/UIShell/HeaderMenu.js +39 -2
  457. package/lib/components/UIShell/HeaderMenuButton.js +19 -2
  458. package/lib/components/UIShell/HeaderMenuItem.js +27 -2
  459. package/lib/components/UIShell/HeaderName.js +20 -2
  460. package/lib/components/UIShell/HeaderNavigation.js +12 -2
  461. package/lib/components/UIShell/HeaderPanel.js +22 -3
  462. package/lib/components/UIShell/HeaderSideNavItems.js +13 -2
  463. package/lib/components/UIShell/Link.js +14 -0
  464. package/lib/components/UIShell/SideNav.js +55 -2
  465. package/lib/components/UIShell/SideNavDetails.js +12 -2
  466. package/lib/components/UIShell/SideNavDivider.js +7 -3
  467. package/lib/components/UIShell/SideNavFooter.js +13 -2
  468. package/lib/components/UIShell/SideNavHeader.js +15 -2
  469. package/lib/components/UIShell/SideNavIcon.js +12 -2
  470. package/lib/components/UIShell/SideNavItem.js +12 -2
  471. package/lib/components/UIShell/SideNavItems.js +13 -2
  472. package/lib/components/UIShell/SideNavLink.js +24 -2
  473. package/lib/components/UIShell/SideNavLinkText.js +8 -2
  474. package/lib/components/UIShell/SideNavMenu.js +33 -2
  475. package/lib/components/UIShell/SideNavMenuItem.js +19 -2
  476. package/lib/components/UIShell/SideNavSwitcher.js +18 -2
  477. package/lib/components/UIShell/SkipToContent.js +13 -2
  478. package/lib/components/UIShell/Switcher.js +14 -2
  479. package/lib/components/UIShell/SwitcherDivider.js +7 -3
  480. package/lib/components/UIShell/SwitcherItem.js +32 -2
  481. package/lib/components/UnorderedList/UnorderedList.js +14 -2
  482. package/lib/feature-flags.js +0 -1
  483. package/lib/index.js +241 -242
  484. package/lib/internal/FloatingMenu.js +1 -1
  485. package/lib/internal/OptimizedResize.js +6 -2
  486. package/lib/internal/useAttachedMenu.js +0 -1
  487. package/lib/internal/useControllableState.js +0 -1
  488. package/lib/internal/useDelayedState.js +0 -1
  489. package/lib/internal/useEvent.js +0 -1
  490. package/lib/internal/useIsomorphicEffect.js +0 -1
  491. package/lib/internal/useMatchMedia.js +0 -1
  492. package/lib/internal/useMergedRefs.js +0 -1
  493. package/lib/internal/useNoInteractiveChildren.js +0 -1
  494. package/lib/internal/useOutsideClick.js +0 -1
  495. package/lib/internal/useOverflowItems.js +0 -1
  496. package/lib/internal/usePresence.js +6 -1
  497. package/lib/internal/usePresenceContext.js +0 -1
  498. package/lib/internal/usePreviousValue.js +0 -1
  499. package/lib/internal/useResizeObserver.js +0 -1
  500. package/lib/internal/useSavedCallback.js +0 -1
  501. package/lib/internal/utils.js +0 -1
  502. package/lib/internal/wrapFocus.js +0 -1
  503. package/lib/tools/wrapComponent.js +2 -2
  504. package/package.json +9 -9
  505. package/telemetry.yml +12 -0
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/UIShell/Header.tsx
@@ -26,8 +26,17 @@ const Header = ({ className: customClassName, children, ...rest }) => {
26
26
  });
27
27
  };
28
28
  Header.propTypes = {
29
+ /**
30
+ * Optionally provide aria-label
31
+ */
29
32
  "aria-label": PropTypes.string,
33
+ /**
34
+ * Optionally provide aria-labelledby
35
+ */
30
36
  "aria-labelledby": PropTypes.string,
37
+ /**
38
+ * Optionally provide a custom class name that is applied to the underlying header
39
+ */
31
40
  className: PropTypes.string
32
41
  };
33
42
  //#endregion
@@ -33,7 +33,16 @@ function HeaderContainer({ render: Children, isSideNavExpanded = false, ...rest
33
33
  });
34
34
  }
35
35
  HeaderContainer.propTypes = {
36
+ /**
37
+ * Optionally provide a custom class name that is applied to the underlying <header>
38
+ */
36
39
  isSideNavExpanded: PropTypes.bool,
40
+ /**
41
+ * A function or a component that is invoked with `isSideNavExpanded` and `onClickSideNavExpand`.
42
+ * The function or component can then use those properties to within the components it
43
+ * returns, such as with the HeaderMenuButton and SideNav components. Additional props will also be passed
44
+ * into this component for convenience.
45
+ */
37
46
  render: PropTypes.elementType.isRequired
38
47
  };
39
48
  //#endregion
@@ -8,8 +8,8 @@
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import Button_default from "../Button/index.js";
10
10
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
11
- import React from "react";
12
11
  import classNames from "classnames";
12
+ import React from "react";
13
13
  import PropTypes from "prop-types";
14
14
  import { jsx } from "react/jsx-runtime";
15
15
  //#region src/components/UIShell/HeaderGlobalAction.tsx
@@ -57,17 +57,45 @@ const HeaderGlobalAction = React.forwardRef(({ "aria-label": ariaLabel, "aria-la
57
57
  });
58
58
  });
59
59
  HeaderGlobalAction.propTypes = {
60
+ /**
61
+ * Required props for the accessibility label of the button
62
+ */
60
63
  ...AriaLabelPropType,
64
+ /**
65
+ * Provide a custom icon for this global action
66
+ */
61
67
  children: PropTypes.node.isRequired,
68
+ /**
69
+ * Optionally provide a custom class name that is applied to the underlying
70
+ * button
71
+ */
62
72
  className: PropTypes.string,
73
+ /**
74
+ * Specify whether the action is currently active
75
+ */
63
76
  isActive: PropTypes.bool,
77
+ /**
78
+ * Optionally provide an onClick handler that is called when the underlying
79
+ * button fires it's onclick event
80
+ */
64
81
  onClick: PropTypes.func,
82
+ /**
83
+ * Specify the alignment of the tooltip to the icon-only button.
84
+ * Can be one of: start, center, or end.
85
+ */
65
86
  tooltipAlignment: PropTypes.oneOf([
66
87
  "start",
67
88
  "center",
68
89
  "end"
69
90
  ]),
91
+ /**
92
+ * Enable drop shadow for tooltips for icon-only buttons.
93
+ */
70
94
  tooltipDropShadow: PropTypes.bool,
95
+ /**
96
+ * Render the tooltip using the high-contrast theme
97
+ * Default is true
98
+ */
71
99
  tooltipHighContrast: PropTypes.bool
72
100
  };
73
101
  HeaderGlobalAction.displayName = "HeaderGlobalAction";
@@ -14,8 +14,8 @@ import { useMergedRefs } from "../../internal/useMergedRefs.js";
14
14
  import { composeEventHandlers } from "../../tools/events.js";
15
15
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
16
16
  import HeaderMenuItem from "./HeaderMenuItem.js";
17
- import { Children, cloneElement, forwardRef, useContext, useRef, useState } from "react";
18
17
  import classNames from "classnames";
18
+ import { Children, cloneElement, forwardRef, useContext, useRef, useState } from "react";
19
19
  import PropTypes from "prop-types";
20
20
  import { jsx, jsxs } from "react/jsx-runtime";
21
21
  import { ChevronDown } from "@carbon/icons-react";
@@ -130,16 +130,53 @@ const HeaderMenu = forwardRef((props, ref) => {
130
130
  });
131
131
  HeaderMenu.displayName = "HeaderMenu";
132
132
  HeaderMenu.propTypes = {
133
+ /**
134
+ * Required props for the accessibility label of the menu
135
+ */
133
136
  ...AriaLabelPropType,
137
+ /**
138
+ * Optionally provide a custom class to apply to the underlying `<li>` node
139
+ */
134
140
  className: PropTypes.string,
141
+ /**
142
+ * Provide a custom ref handler for the menu button
143
+ */
135
144
  focusRef: PropTypes.func,
145
+ /**
146
+ * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
147
+ */
136
148
  isActive: PropTypes.bool,
149
+ /**
150
+ * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
151
+ * @deprecated Please use `isActive` instead. This will be removed in the next major release.
152
+ */
137
153
  isCurrentPage: deprecate(PropTypes.bool, "The `isCurrentPage` prop for `HeaderMenu` has been deprecated. Please use `isActive` instead. This will be removed in the next major release."),
154
+ /**
155
+ * Provide a label for the link text
156
+ */
138
157
  menuLinkName: PropTypes.string.isRequired,
158
+ /**
159
+ * Optionally provide an onBlur handler that is called when the underlying
160
+ * button fires it's onblur event
161
+ */
139
162
  onBlur: PropTypes.func,
163
+ /**
164
+ * Optionally provide an onClick handler that is called when the underlying
165
+ * button fires it's onclick event
166
+ */
140
167
  onClick: PropTypes.func,
168
+ /**
169
+ * Optionally provide an onKeyDown handler that is called when the underlying
170
+ * button fires it's onkeydown event
171
+ */
141
172
  onKeyDown: PropTypes.func,
173
+ /**
174
+ * Optional component to render instead of string
175
+ */
142
176
  renderMenuContent: PropTypes.func,
177
+ /**
178
+ * Optionally provide a tabIndex for the underlying menu button
179
+ */
143
180
  tabIndex: PropTypes.number
144
181
  };
145
182
  //#endregion
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
10
- import "react";
11
10
  import classNames from "classnames";
11
+ import "react";
12
12
  import PropTypes from "prop-types";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  import { Close, Menu } from "@carbon/icons-react";
@@ -42,10 +42,27 @@ function HeaderMenuButton({ "aria-label": ariaLabel, "aria-labelledby": ariaLabe
42
42
  });
43
43
  }
44
44
  HeaderMenuButton.propTypes = {
45
+ /**
46
+ * Required props for accessibility label on the underlying menu button
47
+ */
45
48
  ...AriaLabelPropType,
49
+ /**
50
+ * Optionally provide a custom class name that is applied to the underlying
51
+ * button
52
+ */
46
53
  className: PropTypes.string,
54
+ /**
55
+ * Specify whether the menu button is "active".
56
+ */
47
57
  isActive: PropTypes.bool,
58
+ /**
59
+ * Specify whether the menu button is collapsible.
60
+ */
48
61
  isCollapsible: PropTypes.bool,
62
+ /**
63
+ * Optionally provide an onClick handler that is called when the underlying
64
+ * button fires it's onclick event
65
+ */
49
66
  onClick: PropTypes.func
50
67
  };
51
68
  //#endregion
@@ -8,8 +8,8 @@
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { deprecate } from "../../prop-types/deprecate.js";
10
10
  import Link, { LinkPropTypes } from "./Link.js";
11
- import { forwardRef } from "react";
12
11
  import classNames from "classnames";
12
+ import { forwardRef } from "react";
13
13
  import PropTypes from "prop-types";
14
14
  import { jsx } from "react/jsx-runtime";
15
15
  //#region src/components/UIShell/HeaderMenuItem.tsx
@@ -46,12 +46,37 @@ const HeaderMenuItem = forwardRef(function HeaderMenuItem({ className, isActive,
46
46
  });
47
47
  HeaderMenuItem.displayName = "HeaderMenuItem";
48
48
  HeaderMenuItem.propTypes = {
49
+ /**
50
+ * Pass in a valid `element` to replace the underlying `<a>` tag with a
51
+ * custom `Link` element
52
+ */
49
53
  ...LinkPropTypes,
54
+ /**
55
+ * Pass in children that are either a string or can be read as a string by
56
+ * screen readers
57
+ */
50
58
  children: PropTypes.node.isRequired,
59
+ /**
60
+ * Optionally provide a custom class to apply to the underlying `<li>` node
61
+ */
51
62
  className: PropTypes.string,
63
+ /**
64
+ * If `true` and `aria-current !== 'page'`, applies selected styles to the item and sets `aria-current="true"`.
65
+ */
52
66
  isActive: PropTypes.bool,
67
+ /**
68
+ * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.
69
+ * @deprecated Please use `isActive` instead. This will be removed in the next major release.
70
+ */
53
71
  isCurrentPage: deprecate(PropTypes.bool, "The `isCurrentPage` prop for `HeaderMenuItem` has been deprecated. Please use `isActive` instead. This will be removed in the next major release."),
72
+ /**
73
+ * Optionally supply a role for the underlying `<li>` node. Useful for resetting
74
+ * `<ul>` semantics for menus.
75
+ */
54
76
  role: PropTypes.string,
77
+ /**
78
+ * Specify the tab index of the Link
79
+ */
55
80
  tabIndex: PropTypes.number
56
81
  };
57
82
  //#endregion
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import Link, { LinkPropTypes } from "./Link.js";
10
- import "react";
11
10
  import classNames from "classnames";
11
+ import "react";
12
12
  import PropTypes from "prop-types";
13
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
14
  //#region src/components/UIShell/HeaderName.tsx
@@ -31,10 +31,28 @@ function HeaderName({ children, className: customClassName, prefix = "IBM", ...r
31
31
  });
32
32
  }
33
33
  HeaderName.propTypes = {
34
+ /**
35
+ * Pass in a valid `element` to replace the underlying `<a>` tag with a
36
+ * custom `Link` element
37
+ */
34
38
  ...LinkPropTypes,
39
+ /**
40
+ * Pass in children that are either a string or can be read as a string by
41
+ * screen readers
42
+ */
35
43
  children: PropTypes.node.isRequired,
44
+ /**
45
+ * Optionally provide a custom class to apply to the underlying `<li>` node
46
+ */
36
47
  className: PropTypes.string,
48
+ /**
49
+ * Provide an href for the name to link to
50
+ */
37
51
  href: PropTypes.string,
52
+ /**
53
+ * Optionally specify a prefix to your header name. Useful for companies, for
54
+ * example: IBM [Product Name] versus solely [Product Name]
55
+ */
38
56
  prefix: PropTypes.string
39
57
  };
40
58
  //#endregion
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
10
- import "react";
11
10
  import classNames from "classnames";
11
+ import "react";
12
12
  import PropTypes from "prop-types";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  //#region src/components/UIShell/HeaderNavigation.tsx
@@ -33,8 +33,18 @@ function HeaderNavigation({ "aria-label": ariaLabel, "aria-labelledby": ariaLabe
33
33
  });
34
34
  }
35
35
  HeaderNavigation.propTypes = {
36
+ /**
37
+ * Required props for accessibility label on the underlying menu
38
+ */
36
39
  ...AriaLabelPropType,
40
+ /**
41
+ * Provide valid children of HeaderNavigation, for example `HeaderMenuItem`
42
+ * or `HeaderMenu`
43
+ */
37
44
  children: PropTypes.node,
45
+ /**
46
+ * Optionally provide a custom class to apply to the underlying <nav> node
47
+ */
38
48
  className: PropTypes.string
39
49
  };
40
50
  //#endregion
@@ -5,16 +5,16 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { noopFn } from "../../internal/noopFn.js";
9
8
  import { usePrefix } from "../../internal/usePrefix.js";
10
9
  import { Escape } from "../../internal/keyboard/keys.js";
11
10
  import { match } from "../../internal/keyboard/match.js";
11
+ import { noopFn } from "../../internal/noopFn.js";
12
12
  import { isComponentElement } from "../../internal/utils.js";
13
13
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
14
14
  import { useWindowEvent } from "../../internal/useEvent.js";
15
15
  import Switcher from "./Switcher.js";
16
- import React, { useRef, useState } from "react";
17
16
  import classNames from "classnames";
17
+ import React, { useRef, useState } from "react";
18
18
  import PropTypes from "prop-types";
19
19
  import { jsx } from "react/jsx-runtime";
20
20
  //#region src/components/UIShell/HeaderPanel.tsx
@@ -71,11 +71,30 @@ const HeaderPanel = React.forwardRef(({ children, className: customClassName, ex
71
71
  });
72
72
  });
73
73
  HeaderPanel.propTypes = {
74
+ /**
75
+ * Specify whether focus and blur listeners are added. They are by default.
76
+ */
74
77
  addFocusListeners: PropTypes.bool,
78
+ /**
79
+ * The content that will render inside of the `HeaderPanel`
80
+ */
75
81
  children: PropTypes.node,
82
+ /**
83
+ * Optionally provide a custom class to apply to the underlying `<li>` node
84
+ */
76
85
  className: PropTypes.string,
86
+ /**
87
+ * Specify whether the panel is expanded
88
+ */
77
89
  expanded: PropTypes.bool,
90
+ /**
91
+ * Provide the `href` to the id of the element on your package that could
92
+ * be target.
93
+ */
78
94
  href: PropTypes.string,
95
+ /**
96
+ * An optional listener that is called a callback to collapse the HeaderPanel
97
+ */
79
98
  onHeaderPanelFocus: PropTypes.func
80
99
  };
81
100
  HeaderPanel.displayName = "HeaderPanel";
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/UIShell/HeaderSideNavItems.tsx
@@ -28,8 +28,19 @@ function HeaderSideNavItems({ className: customClassName, children, hasDivider =
28
28
  });
29
29
  }
30
30
  HeaderSideNavItems.propTypes = {
31
+ /**
32
+ * The child nodes to be rendered
33
+ */
31
34
  children: PropTypes.node,
35
+ /**
36
+ * Optionally provide a custom class name that is applied to the underlying
37
+ * button
38
+ */
32
39
  className: PropTypes.string,
40
+ /**
41
+ * Optionally specify if container will have a bottom divider to differentiate
42
+ * between original sidenav items and header menu items. False by default.
43
+ */
33
44
  hasDivider: PropTypes.bool
34
45
  };
35
46
  //#endregion
@@ -30,8 +30,22 @@ const Link = forwardRef((props, ref) => {
30
30
  * `@reach/router`
31
31
  */
32
32
  const LinkPropTypes = {
33
+ /**
34
+ * Provide a custom element or component to render the top-level node for the
35
+ * component.
36
+ */
33
37
  as: PropTypes.elementType,
38
+ /**
39
+ * The base element to use to build the link. Defaults to `a`, can also accept
40
+ * alternative tag names or custom components like `Link` from `react-router`.
41
+ * @deprecated Use `as` instead
42
+ *
43
+ */
34
44
  element: deprecate(PropTypes.elementType, "The `element` prop for `Link` has been deprecated. Please use `as` instead. This will be removed in the next major release."),
45
+ /**
46
+ * Property to indicate if the side nav container is open (or not). Use to
47
+ * keep local state and styling in step with the SideNav expansion state.
48
+ */
35
49
  isSideNavExpanded: PropTypes.bool
36
50
  };
37
51
  Link.displayName = "Link";
@@ -14,8 +14,8 @@ import { useDelayedState } from "../../internal/useDelayedState.js";
14
14
  import { useMatchMedia } from "../../internal/useMatchMedia.js";
15
15
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
16
16
  import { SideNavContextProvider } from "./SideNavContext.js";
17
- import { forwardRef, useEffect, useRef } from "react";
18
17
  import classNames from "classnames";
18
+ import { forwardRef, useEffect, useRef } from "react";
19
19
  import PropTypes from "prop-types";
20
20
  import { jsx, jsxs } from "react/jsx-runtime";
21
21
  import { breakpoints } from "@carbon/layout";
@@ -121,20 +121,73 @@ const SideNav = forwardRef((props, ref) => {
121
121
  });
122
122
  SideNav.displayName = "SideNav";
123
123
  SideNav.propTypes = {
124
+ /**
125
+ * Required props for accessibility label on the underlying menu
126
+ */
124
127
  ...AriaLabelPropType,
128
+ /**
129
+ * Specify whether focus and blur listeners are added. They are by default.
130
+ */
125
131
  addFocusListeners: PropTypes.bool,
132
+ /**
133
+ * Specify whether mouse entry/exit listeners are added. They are by default.
134
+ */
126
135
  addMouseListeners: PropTypes.bool,
136
+ /**
137
+ * Optionally provide a custom class to apply to the underlying `<li>` node
138
+ */
127
139
  className: PropTypes.string,
140
+ /**
141
+ * If `true`, the SideNav will be open on initial render.
142
+ */
128
143
  defaultExpanded: PropTypes.bool,
144
+ /**
145
+ * Specify the duration in milliseconds to delay before displaying the side navigation
146
+ */
129
147
  enterDelayMs: PropTypes.number,
148
+ /**
149
+ * If `true`, the SideNav will be expanded, otherwise it will be collapsed.
150
+ * Using this prop causes SideNav to become a controlled component.
151
+ */
130
152
  expanded: PropTypes.bool,
153
+ /**
154
+ * Provide the `href` to the id of the element on your package that is the
155
+ * main content.
156
+ */
131
157
  href: PropTypes.string,
158
+ /**
159
+ * Optionally provide a custom class to apply to the underlying `<li>` node
160
+ */
132
161
  isChildOfHeader: PropTypes.bool,
162
+ /**
163
+ * Specify if sideNav is standalone
164
+ */
133
165
  isFixedNav: PropTypes.bool,
166
+ /**
167
+ * Specify if the sideNav will be persistent above the lg breakpoint
168
+ */
134
169
  isPersistent: PropTypes.bool,
170
+ /**
171
+ * Optional prop to display the side nav rail.
172
+ */
135
173
  isRail: PropTypes.bool,
174
+ /**
175
+ * An optional listener that is called when the SideNav overlay is clicked
176
+ *
177
+ * @param {object} event
178
+ */
136
179
  onOverlayClick: PropTypes.func,
180
+ /**
181
+ * An optional listener that is called a callback to collapse the SideNav
182
+ */
137
183
  onSideNavBlur: PropTypes.func,
184
+ /**
185
+ * An optional listener that is called when an event that would cause
186
+ * toggling the SideNav occurs.
187
+ *
188
+ * @param {object} event
189
+ * @param {boolean} value
190
+ */
138
191
  onToggle: PropTypes.func
139
192
  };
140
193
  //#endregion
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
13
  //#region src/components/UIShell/SideNavDetails.tsx
@@ -30,8 +30,18 @@ const SideNavDetails = ({ children, className: customClassName, title, ...rest }
30
30
  });
31
31
  };
32
32
  SideNavDetails.propTypes = {
33
+ /**
34
+ * Provide optional children to render in `SideNavDetails`. Useful for
35
+ * rendering the `SideNavSwitcher` component.
36
+ */
33
37
  children: PropTypes.node,
38
+ /**
39
+ * Optionally provide a custom class to apply to the underlying `<li>` node
40
+ */
34
41
  className: PropTypes.string,
42
+ /**
43
+ * Provide the text that will be rendered as the title in the component
44
+ */
35
45
  title: PropTypes.string.isRequired
36
46
  };
37
47
  //#endregion
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/UIShell/SideNavDivider.tsx
@@ -23,6 +23,10 @@ const SideNavDivider = ({ className }) => {
23
23
  children: /* @__PURE__ */ jsx("hr", {})
24
24
  });
25
25
  };
26
- SideNavDivider.propTypes = { className: PropTypes.string };
26
+ SideNavDivider.propTypes = {
27
+ /**
28
+ * Provide an optional class to be applied to the containing node
29
+ */
30
+ className: PropTypes.string };
27
31
  //#endregion
28
32
  export { SideNavDivider as default };
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
13
  import { ChevronRight, Close } from "@carbon/icons-react";
@@ -44,9 +44,20 @@ function SideNavFooter({ assistiveText = "Toggle opening or closing the side nav
44
44
  }
45
45
  SideNavFooter.displayName = "SideNavFooter";
46
46
  SideNavFooter.propTypes = {
47
+ /**
48
+ * Provide text to be read to screen readers and shown as a tooltip when
49
+ * interacting with the toggle button in the footer
50
+ */
47
51
  assistiveText: PropTypes.string,
48
52
  className: PropTypes.string,
53
+ /**
54
+ * Specify whether the side navigation is expanded or collapsed
55
+ */
49
56
  expanded: PropTypes.bool.isRequired,
57
+ /**
58
+ * Provide a function that is called when the toggle button is interacted
59
+ * with. Useful for controlling the expansion state of the side navigation.
60
+ */
50
61
  onToggle: PropTypes.func.isRequired
51
62
  };
52
63
  //#endregion
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import SideNavIcon from "./SideNavIcon.js";
10
- import "react";
11
10
  import classNames from "classnames";
11
+ import "react";
12
12
  import PropTypes from "prop-types";
13
13
  import { jsx, jsxs } from "react/jsx-runtime";
14
14
  //#region src/components/UIShell/SideNavHeader.tsx
@@ -26,9 +26,22 @@ const SideNavHeader = ({ children, className: customClassName, renderIcon: IconE
26
26
  };
27
27
  SideNavHeader.displayName = "SideNavHeader";
28
28
  SideNavHeader.propTypes = {
29
+ /**
30
+ * The child nodes to be rendered
31
+ */
29
32
  children: PropTypes.node,
33
+ /**
34
+ * Provide an optional class to be applied to the containing node
35
+ */
30
36
  className: PropTypes.string,
37
+ /**
38
+ * Property to indicate if the side nav container is open (or not). Use to
39
+ * keep local state and styling in step with the SideNav expansion state.
40
+ */
31
41
  isSideNavExpanded: PropTypes.bool,
42
+ /**
43
+ * A component used to render an icon.
44
+ */
32
45
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired
33
46
  };
34
47
  //#endregion
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/UIShell/SideNavIcon.tsx
@@ -29,8 +29,18 @@ const SideNavIcon = ({ children, className: customClassName, small = false }) =>
29
29
  });
30
30
  };
31
31
  SideNavIcon.propTypes = {
32
+ /**
33
+ * Provide a single icon as the child to `SideNavIcon` to render in the
34
+ * container
35
+ */
32
36
  children: PropTypes.node.isRequired,
37
+ /**
38
+ * Provide an optional class to be applied to the containing node
39
+ */
33
40
  className: PropTypes.string,
41
+ /**
42
+ * Specify whether the icon should be placed in a smaller bounding box
43
+ */
34
44
  small: PropTypes.bool
35
45
  };
36
46
  //#endregion
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import "react";
10
9
  import classNames from "classnames";
10
+ import "react";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/UIShell/SideNavItem.tsx
@@ -29,8 +29,18 @@ const SideNavItem = ({ className: customClassName, children, large = false }) =>
29
29
  });
30
30
  };
31
31
  SideNavItem.propTypes = {
32
+ /**
33
+ * Provide a single icon as the child to `SideNavItem` to render in the
34
+ * container
35
+ */
32
36
  children: PropTypes.node.isRequired,
37
+ /**
38
+ * Provide an optional class to be applied to the containing node
39
+ */
33
40
  className: PropTypes.string,
41
+ /**
42
+ * Specify if this is a large variation of the SideNavItem
43
+ */
34
44
  large: PropTypes.bool
35
45
  };
36
46
  //#endregion