@carbon/react 1.110.0-rc.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 (501) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +994 -994
  2. package/es/components/AILabel/index.js +47 -0
  3. package/es/components/AISkeleton/AISkeletonIcon.js +6 -0
  4. package/es/components/AISkeleton/AISkeletonPlaceholder.js +6 -1
  5. package/es/components/AISkeleton/AISkeletonText.js +15 -0
  6. package/es/components/Accordion/Accordion.Skeleton.js +15 -0
  7. package/es/components/Accordion/Accordion.js +22 -0
  8. package/es/components/Accordion/AccordionItem.js +33 -0
  9. package/es/components/AspectRatio/AspectRatio.js +19 -0
  10. package/es/components/BadgeIndicator/index.js +9 -0
  11. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +12 -0
  12. package/es/components/Breadcrumb/Breadcrumb.js +16 -0
  13. package/es/components/Breadcrumb/BreadcrumbItem.js +12 -0
  14. package/es/components/Button/Button.Skeleton.js +17 -0
  15. package/es/components/Button/Button.js +96 -0
  16. package/es/components/ButtonSet/ButtonSet.js +14 -0
  17. package/es/components/ChatButton/ChatButton.Skeleton.js +6 -0
  18. package/es/components/ChatButton/ChatButton.js +24 -0
  19. package/es/components/Checkbox/Checkbox.Skeleton.js +5 -1
  20. package/es/components/Checkbox/Checkbox.js +57 -0
  21. package/es/components/CheckboxGroup/CheckboxGroup.js +40 -0
  22. package/es/components/ClassPrefix/index.js +3 -0
  23. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +6 -0
  24. package/es/components/CodeSnippet/CodeSnippet.js +76 -0
  25. package/es/components/ComboBox/ComboBox.js +140 -0
  26. package/es/components/ComboButton/index.js +27 -0
  27. package/es/components/ComposedModal/ComposedModal.js +68 -0
  28. package/es/components/ComposedModal/ModalFooter.js +63 -0
  29. package/es/components/ComposedModal/ModalHeader.js +35 -0
  30. package/es/components/ContainedList/ContainedList.js +21 -0
  31. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +18 -0
  32. package/es/components/ContentSwitcher/ContentSwitcher.js +25 -0
  33. package/es/components/Copy/Copy.js +29 -0
  34. package/es/components/CopyButton/CopyButton.js +26 -0
  35. package/es/components/DataTable/DataTable.js +59 -0
  36. package/es/components/DataTable/Table.js +27 -0
  37. package/es/components/DataTable/TableBatchAction.js +10 -0
  38. package/es/components/DataTable/TableBatchActions.js +24 -0
  39. package/es/components/DataTable/TableBody.js +3 -0
  40. package/es/components/DataTable/TableCell.js +15 -0
  41. package/es/components/DataTable/TableContainer.js +18 -0
  42. package/es/components/DataTable/TableDecoratorRow.js +6 -0
  43. package/es/components/DataTable/TableExpandHeader.js +31 -0
  44. package/es/components/DataTable/TableExpandRow.js +29 -0
  45. package/es/components/DataTable/TableExpandedRow.js +9 -0
  46. package/es/components/DataTable/TableHeader.js +35 -0
  47. package/es/components/DataTable/TableRow.js +21 -0
  48. package/es/components/DataTable/TableSelectAll.js +28 -0
  49. package/es/components/DataTable/TableSelectRow.js +31 -0
  50. package/es/components/DataTable/TableSlugRow.js +6 -0
  51. package/es/components/DataTable/TableToolbar.js +15 -0
  52. package/es/components/DataTable/TableToolbarMenu.js +15 -0
  53. package/es/components/DataTable/TableToolbarSearch.js +58 -0
  54. package/es/components/DataTableSkeleton/DataTableSkeleton.js +24 -0
  55. package/es/components/DatePicker/DatePicker.Skeleton.js +12 -0
  56. package/es/components/DatePicker/DatePicker.js +88 -0
  57. package/es/components/DatePickerInput/DatePickerInput.js +79 -0
  58. package/es/components/Dialog/Dialog.js +130 -3
  59. package/es/components/Dropdown/Dropdown.Skeleton.js +9 -0
  60. package/es/components/Dropdown/Dropdown.js +109 -0
  61. package/es/components/FeatureFlags/index.js +3 -0
  62. package/es/components/FileUploader/FileUploader.Skeleton.js +5 -1
  63. package/es/components/FileUploader/FileUploader.js +57 -0
  64. package/es/components/FileUploader/FileUploaderButton.js +47 -0
  65. package/es/components/FileUploader/FileUploaderDropContainer.js +42 -0
  66. package/es/components/FileUploader/FileUploaderItem.js +29 -0
  67. package/es/components/FileUploader/Filename.js +18 -0
  68. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -1
  69. package/es/components/FluidComboBox/FluidComboBox.js +61 -0
  70. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +6 -0
  71. package/es/components/FluidDatePicker/FluidDatePicker.js +21 -0
  72. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -1
  73. package/es/components/FluidDropdown/FluidDropdown.js +65 -0
  74. package/es/components/FluidForm/FluidForm.js +6 -0
  75. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -1
  76. package/es/components/FluidMultiSelect/FluidMultiSelect.js +128 -0
  77. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -1
  78. package/es/components/FluidNumberInput/FluidNumberInput.js +95 -0
  79. package/es/components/FluidSearch/FluidSearch.Skeleton.js +5 -1
  80. package/es/components/FluidSearch/FluidSearch.js +45 -0
  81. package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -1
  82. package/es/components/FluidSelect/FluidSelect.js +38 -0
  83. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -1
  84. package/es/components/FluidTextArea/FluidTextArea.js +67 -0
  85. package/es/components/FluidTextInput/FluidPasswordInput.js +58 -0
  86. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -1
  87. package/es/components/FluidTextInput/FluidTextInput.js +54 -0
  88. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +6 -0
  89. package/es/components/FluidTimePicker/FluidTimePicker.js +28 -0
  90. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +26 -0
  91. package/es/components/Form/Form.js +6 -0
  92. package/es/components/FormGroup/FormGroup.js +25 -0
  93. package/es/components/FormItem/FormItem.js +6 -0
  94. package/es/components/FormLabel/FormLabel.js +9 -0
  95. package/es/components/Grid/CSSGrid.js +43 -0
  96. package/es/components/Grid/Column.js +86 -0
  97. package/es/components/Grid/ColumnHang.js +9 -0
  98. package/es/components/Grid/FlexGrid.js +24 -0
  99. package/es/components/Grid/Grid.js +27 -0
  100. package/es/components/Grid/GridContext.js +10 -0
  101. package/es/components/Grid/Row.js +17 -0
  102. package/es/components/Heading/index.js +19 -0
  103. package/es/components/Icon/Icon.Skeleton.js +5 -1
  104. package/es/components/IconButton/index.js +68 -0
  105. package/es/components/IconIndicator/index.js +12 -0
  106. package/es/components/IdPrefix/index.js +3 -0
  107. package/es/components/InlineCheckbox/InlineCheckbox.js +34 -0
  108. package/es/components/InlineLoading/InlineLoading.js +19 -0
  109. package/es/components/Layer/index.js +17 -0
  110. package/es/components/Layout/index.js +34 -0
  111. package/es/components/LayoutDirection/LayoutDirection.js +10 -0
  112. package/es/components/Link/Link.d.ts +1 -1
  113. package/es/components/Link/Link.js +28 -0
  114. package/es/components/ListBox/ListBox.js +41 -0
  115. package/es/components/ListBox/ListBoxField.js +17 -0
  116. package/es/components/ListBox/ListBoxMenu.js +6 -0
  117. package/es/components/ListBox/ListBoxMenuIcon.js +7 -0
  118. package/es/components/ListBox/ListBoxMenuItem.js +16 -0
  119. package/es/components/ListBox/ListBoxSelection.d.ts +1 -1
  120. package/es/components/ListBox/ListBoxSelection.js +32 -9
  121. package/es/components/ListBox/next/ListBoxSelection.d.ts +1 -1
  122. package/es/components/ListBox/next/ListBoxSelection.js +41 -6
  123. package/es/components/ListBox/next/ListBoxTrigger.js +7 -0
  124. package/es/components/ListItem/ListItem.js +6 -0
  125. package/es/components/Loading/Loading.js +18 -0
  126. package/es/components/Menu/Menu.js +52 -0
  127. package/es/components/Menu/MenuContext.d.ts +11 -12
  128. package/es/components/Menu/MenuItem.js +77 -1
  129. package/es/components/MenuButton/index.js +33 -0
  130. package/es/components/Modal/Modal.js +115 -1
  131. package/es/components/MultiSelect/FilterableMultiSelect.js +128 -0
  132. package/es/components/MultiSelect/MultiSelect.js +149 -1
  133. package/es/components/MultiSelect/MultiSelectPropTypes.js +25 -0
  134. package/es/components/Notification/Notification.js +207 -0
  135. package/es/components/NumberInput/NumberInput.Skeleton.js +9 -0
  136. package/es/components/NumberInput/NumberInput.js +138 -0
  137. package/es/components/OrderedList/OrderedList.js +15 -0
  138. package/es/components/OverflowMenu/OverflowMenu.js +76 -0
  139. package/es/components/OverflowMenu/next/index.js +30 -0
  140. package/es/components/OverflowMenuItem/OverflowMenuItem.js +36 -0
  141. package/es/components/PageHeader/PageHeader.js +48 -0
  142. package/es/components/Pagination/Pagination.Skeleton.js +5 -1
  143. package/es/components/Pagination/Pagination.d.ts +8 -0
  144. package/es/components/Pagination/Pagination.js +85 -3
  145. package/es/components/Pagination/experimental/PageSelector.js +8 -0
  146. package/es/components/Pagination/experimental/Pagination.js +54 -0
  147. package/es/components/PaginationNav/PaginationNav.js +80 -0
  148. package/es/components/Popover/index.js +58 -0
  149. package/es/components/ProgressBar/ProgressBar.js +27 -0
  150. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +6 -0
  151. package/es/components/ProgressIndicator/ProgressIndicator.js +58 -0
  152. package/es/components/RadioButton/RadioButton.Skeleton.js +5 -1
  153. package/es/components/RadioButton/RadioButton.js +63 -0
  154. package/es/components/RadioButtonGroup/RadioButtonGroup.js +59 -0
  155. package/es/components/RadioTile/RadioTile.js +45 -0
  156. package/es/components/Search/Search.Skeleton.js +9 -0
  157. package/es/components/Search/Search.js +66 -1
  158. package/es/components/Select/Select.Skeleton.js +6 -0
  159. package/es/components/Select/Select.js +82 -19
  160. package/es/components/SelectItem/SelectItem.js +15 -0
  161. package/es/components/SelectItemGroup/SelectItemGroup.js +12 -0
  162. package/es/components/ShapeIndicator/index.js +12 -0
  163. package/es/components/SkeletonIcon/SkeletonIcon.js +5 -1
  164. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +5 -1
  165. package/es/components/SkeletonText/SkeletonText.js +15 -0
  166. package/es/components/Slider/Slider.Skeleton.js +15 -0
  167. package/es/components/Slider/Slider.js +104 -0
  168. package/es/components/Stack/Stack.js +20 -0
  169. package/es/components/StructuredList/StructuredList.Skeleton.js +6 -0
  170. package/es/components/StructuredList/StructuredList.js +97 -0
  171. package/es/components/Switch/IconSwitch.js +47 -0
  172. package/es/components/Switch/Switch.js +30 -0
  173. package/es/components/TabContent/TabContent.js +9 -0
  174. package/es/components/Tabs/Tabs.Skeleton.js +6 -0
  175. package/es/components/Tabs/Tabs.d.ts +15 -1
  176. package/es/components/Tabs/Tabs.js +185 -5
  177. package/es/components/Tag/DismissibleTag.js +43 -0
  178. package/es/components/Tag/OperationalTag.js +22 -0
  179. package/es/components/Tag/SelectableTag.js +31 -0
  180. package/es/components/Tag/Tag.Skeleton.js +7 -0
  181. package/es/components/Tag/Tag.js +41 -0
  182. package/es/components/Text/Text.js +10 -0
  183. package/es/components/Text/TextDirection.js +11 -0
  184. package/es/components/TextArea/TextArea.Skeleton.js +6 -0
  185. package/es/components/TextArea/TextArea.js +80 -0
  186. package/es/components/TextInput/ControlledPasswordInput.js +64 -0
  187. package/es/components/TextInput/PasswordInput.js +83 -0
  188. package/es/components/TextInput/TextInput.Skeleton.js +9 -0
  189. package/es/components/TextInput/TextInput.js +76 -0
  190. package/es/components/Theme/index.js +21 -0
  191. package/es/components/Tile/Tile.js +157 -2
  192. package/es/components/TileGroup/TileGroup.js +28 -0
  193. package/es/components/TimePicker/TimePicker.js +67 -0
  194. package/es/components/TimePickerSelect/TimePickerSelect.js +15 -0
  195. package/es/components/Toggle/Toggle.js +46 -0
  196. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +11 -0
  197. package/es/components/Toggletip/index.js +38 -0
  198. package/es/components/Tooltip/DefinitionTooltip.js +36 -0
  199. package/es/components/Tooltip/Tooltip.js +46 -0
  200. package/es/components/TreeView/TreeNode.js +64 -0
  201. package/es/components/TreeView/TreeView.js +32 -0
  202. package/es/components/UIShell/Content.js +9 -0
  203. package/es/components/UIShell/Header.js +9 -0
  204. package/es/components/UIShell/HeaderContainer.js +9 -0
  205. package/es/components/UIShell/HeaderGlobalAction.js +28 -0
  206. package/es/components/UIShell/HeaderMenu.js +37 -0
  207. package/es/components/UIShell/HeaderMenuButton.js +17 -0
  208. package/es/components/UIShell/HeaderMenuItem.js +25 -0
  209. package/es/components/UIShell/HeaderName.js +18 -0
  210. package/es/components/UIShell/HeaderNavigation.js +10 -0
  211. package/es/components/UIShell/HeaderPanel.js +19 -0
  212. package/es/components/UIShell/HeaderSideNavItems.js +11 -0
  213. package/es/components/UIShell/Link.js +14 -0
  214. package/es/components/UIShell/SideNav.js +53 -0
  215. package/es/components/UIShell/SideNavDetails.js +10 -0
  216. package/es/components/UIShell/SideNavDivider.js +5 -1
  217. package/es/components/UIShell/SideNavFooter.js +11 -0
  218. package/es/components/UIShell/SideNavHeader.js +13 -0
  219. package/es/components/UIShell/SideNavIcon.js +10 -0
  220. package/es/components/UIShell/SideNavItem.js +10 -0
  221. package/es/components/UIShell/SideNavItems.js +11 -0
  222. package/es/components/UIShell/SideNavLink.js +22 -0
  223. package/es/components/UIShell/SideNavLinkText.js +6 -0
  224. package/es/components/UIShell/SideNavMenu.js +31 -0
  225. package/es/components/UIShell/SideNavMenuItem.js +17 -0
  226. package/es/components/UIShell/SideNavSwitcher.js +16 -0
  227. package/es/components/UIShell/SkipToContent.js +11 -0
  228. package/es/components/UIShell/Switcher.js +12 -0
  229. package/es/components/UIShell/SwitcherDivider.js +5 -1
  230. package/es/components/UIShell/SwitcherItem.js +30 -0
  231. package/es/components/UnorderedList/UnorderedList.js +12 -0
  232. package/es/index.d.ts +1 -0
  233. package/es/internal/OptimizedResize.js +6 -2
  234. package/es/internal/usePresence.js +6 -0
  235. package/es/internal/warnAboutDeprecatedReactVersion.d.ts +7 -0
  236. package/lib/components/AILabel/index.js +47 -0
  237. package/lib/components/AISkeleton/AISkeletonIcon.js +6 -0
  238. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +6 -1
  239. package/lib/components/AISkeleton/AISkeletonText.js +15 -0
  240. package/lib/components/Accordion/Accordion.Skeleton.js +15 -0
  241. package/lib/components/Accordion/Accordion.js +22 -0
  242. package/lib/components/Accordion/AccordionItem.js +33 -0
  243. package/lib/components/AspectRatio/AspectRatio.js +19 -0
  244. package/lib/components/BadgeIndicator/index.js +9 -0
  245. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +12 -0
  246. package/lib/components/Breadcrumb/Breadcrumb.js +16 -0
  247. package/lib/components/Breadcrumb/BreadcrumbItem.js +12 -0
  248. package/lib/components/Button/Button.Skeleton.js +17 -0
  249. package/lib/components/Button/Button.js +96 -0
  250. package/lib/components/ButtonSet/ButtonSet.js +14 -0
  251. package/lib/components/ChatButton/ChatButton.Skeleton.js +6 -0
  252. package/lib/components/ChatButton/ChatButton.js +24 -0
  253. package/lib/components/Checkbox/Checkbox.Skeleton.js +5 -1
  254. package/lib/components/Checkbox/Checkbox.js +57 -0
  255. package/lib/components/CheckboxGroup/CheckboxGroup.js +40 -0
  256. package/lib/components/ClassPrefix/index.js +3 -0
  257. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +6 -0
  258. package/lib/components/CodeSnippet/CodeSnippet.js +76 -0
  259. package/lib/components/ComboBox/ComboBox.js +140 -0
  260. package/lib/components/ComboButton/index.js +27 -0
  261. package/lib/components/ComposedModal/ComposedModal.js +68 -0
  262. package/lib/components/ComposedModal/ComposedModalContext.js +0 -1
  263. package/lib/components/ComposedModal/ModalFooter.js +63 -0
  264. package/lib/components/ComposedModal/ModalHeader.js +35 -0
  265. package/lib/components/ComposedModal/useComposedModalState.js +0 -1
  266. package/lib/components/ContainedList/ContainedList.js +21 -0
  267. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +18 -0
  268. package/lib/components/ContainedList/index.js +2 -2
  269. package/lib/components/ContentSwitcher/ContentSwitcher.js +25 -0
  270. package/lib/components/ContextMenu/useContextMenu.js +0 -1
  271. package/lib/components/Copy/Copy.js +29 -0
  272. package/lib/components/CopyButton/CopyButton.js +26 -0
  273. package/lib/components/DataTable/DataTable.js +59 -0
  274. package/lib/components/DataTable/Table.js +27 -0
  275. package/lib/components/DataTable/TableBatchAction.js +10 -0
  276. package/lib/components/DataTable/TableBatchActions.js +24 -0
  277. package/lib/components/DataTable/TableBody.js +3 -0
  278. package/lib/components/DataTable/TableCell.js +15 -0
  279. package/lib/components/DataTable/TableContainer.js +18 -0
  280. package/lib/components/DataTable/TableContext.js +0 -1
  281. package/lib/components/DataTable/TableDecoratorRow.js +6 -0
  282. package/lib/components/DataTable/TableExpandHeader.js +31 -0
  283. package/lib/components/DataTable/TableExpandRow.js +29 -0
  284. package/lib/components/DataTable/TableExpandedRow.js +9 -0
  285. package/lib/components/DataTable/TableHeader.js +35 -0
  286. package/lib/components/DataTable/TableRow.js +21 -0
  287. package/lib/components/DataTable/TableSelectAll.js +28 -0
  288. package/lib/components/DataTable/TableSelectRow.js +31 -0
  289. package/lib/components/DataTable/TableSlugRow.js +6 -0
  290. package/lib/components/DataTable/TableToolbar.js +15 -0
  291. package/lib/components/DataTable/TableToolbarMenu.js +15 -0
  292. package/lib/components/DataTable/TableToolbarSearch.js +58 -0
  293. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +24 -0
  294. package/lib/components/DatePicker/DatePicker.Skeleton.js +12 -0
  295. package/lib/components/DatePicker/DatePicker.js +88 -0
  296. package/lib/components/DatePickerInput/DatePickerInput.js +79 -0
  297. package/lib/components/Dialog/Dialog.js +130 -3
  298. package/lib/components/Dropdown/Dropdown.Skeleton.js +9 -0
  299. package/lib/components/Dropdown/Dropdown.js +109 -0
  300. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
  301. package/lib/components/FeatureFlags/index.js +3 -0
  302. package/lib/components/FileUploader/FileUploader.Skeleton.js +5 -1
  303. package/lib/components/FileUploader/FileUploader.js +57 -0
  304. package/lib/components/FileUploader/FileUploaderButton.js +47 -0
  305. package/lib/components/FileUploader/FileUploaderDropContainer.js +42 -0
  306. package/lib/components/FileUploader/FileUploaderItem.js +29 -0
  307. package/lib/components/FileUploader/Filename.js +18 -0
  308. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -1
  309. package/lib/components/FluidComboBox/FluidComboBox.js +61 -0
  310. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +6 -0
  311. package/lib/components/FluidDatePicker/FluidDatePicker.js +21 -0
  312. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -1
  313. package/lib/components/FluidDropdown/FluidDropdown.js +65 -0
  314. package/lib/components/FluidForm/FluidForm.js +6 -0
  315. package/lib/components/FluidForm/FormContext.js +0 -1
  316. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -1
  317. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +128 -0
  318. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -1
  319. package/lib/components/FluidNumberInput/FluidNumberInput.js +95 -0
  320. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +5 -1
  321. package/lib/components/FluidSearch/FluidSearch.js +45 -0
  322. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +5 -1
  323. package/lib/components/FluidSelect/FluidSelect.js +38 -0
  324. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -1
  325. package/lib/components/FluidTextArea/FluidTextArea.js +67 -0
  326. package/lib/components/FluidTextInput/FluidPasswordInput.js +58 -0
  327. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -1
  328. package/lib/components/FluidTextInput/FluidTextInput.js +54 -0
  329. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +6 -0
  330. package/lib/components/FluidTimePicker/FluidTimePicker.js +28 -0
  331. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +26 -0
  332. package/lib/components/Form/Form.js +6 -0
  333. package/lib/components/FormGroup/FormGroup.js +25 -0
  334. package/lib/components/FormItem/FormItem.js +6 -0
  335. package/lib/components/FormLabel/FormLabel.js +9 -0
  336. package/lib/components/Grid/CSSGrid.js +43 -0
  337. package/lib/components/Grid/Column.js +86 -0
  338. package/lib/components/Grid/ColumnHang.js +9 -0
  339. package/lib/components/Grid/FlexGrid.js +24 -0
  340. package/lib/components/Grid/Grid.js +27 -0
  341. package/lib/components/Grid/GridContext.js +10 -0
  342. package/lib/components/Grid/Row.js +17 -0
  343. package/lib/components/Heading/index.js +19 -0
  344. package/lib/components/Icon/Icon.Skeleton.js +5 -1
  345. package/lib/components/IconButton/index.js +68 -0
  346. package/lib/components/IconIndicator/index.js +12 -0
  347. package/lib/components/IdPrefix/index.js +3 -0
  348. package/lib/components/InlineCheckbox/InlineCheckbox.js +34 -0
  349. package/lib/components/InlineLoading/InlineLoading.js +19 -0
  350. package/lib/components/Layer/index.js +17 -0
  351. package/lib/components/Layout/index.js +34 -0
  352. package/lib/components/LayoutDirection/LayoutDirection.js +10 -0
  353. package/lib/components/LayoutDirection/useLayoutDirection.js +0 -1
  354. package/lib/components/Link/Link.d.ts +1 -1
  355. package/lib/components/Link/Link.js +28 -0
  356. package/lib/components/ListBox/ListBox.js +41 -0
  357. package/lib/components/ListBox/ListBoxField.js +17 -0
  358. package/lib/components/ListBox/ListBoxMenu.js +6 -0
  359. package/lib/components/ListBox/ListBoxMenuIcon.js +7 -0
  360. package/lib/components/ListBox/ListBoxMenuItem.js +16 -0
  361. package/lib/components/ListBox/ListBoxSelection.d.ts +1 -1
  362. package/lib/components/ListBox/ListBoxSelection.js +32 -9
  363. package/lib/components/ListBox/next/ListBoxSelection.d.ts +1 -1
  364. package/lib/components/ListBox/next/ListBoxSelection.js +41 -6
  365. package/lib/components/ListBox/next/ListBoxTrigger.js +7 -0
  366. package/lib/components/ListItem/ListItem.js +6 -0
  367. package/lib/components/Loading/Loading.js +18 -0
  368. package/lib/components/Menu/Menu.js +52 -0
  369. package/lib/components/Menu/MenuContext.d.ts +11 -12
  370. package/lib/components/Menu/MenuContext.js +0 -1
  371. package/lib/components/Menu/MenuItem.js +77 -1
  372. package/lib/components/MenuButton/index.js +33 -0
  373. package/lib/components/Modal/Modal.js +115 -1
  374. package/lib/components/MultiSelect/FilterableMultiSelect.js +128 -0
  375. package/lib/components/MultiSelect/MultiSelect.js +148 -0
  376. package/lib/components/MultiSelect/MultiSelectPropTypes.js +25 -0
  377. package/lib/components/Notification/Notification.js +207 -0
  378. package/lib/components/NumberInput/NumberInput.Skeleton.js +9 -0
  379. package/lib/components/NumberInput/NumberInput.js +138 -0
  380. package/lib/components/OrderedList/OrderedList.js +15 -0
  381. package/lib/components/OverflowMenu/OverflowMenu.js +76 -0
  382. package/lib/components/OverflowMenu/next/index.js +30 -0
  383. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +36 -0
  384. package/lib/components/PageHeader/PageHeader.js +48 -0
  385. package/lib/components/Pagination/Pagination.Skeleton.js +5 -1
  386. package/lib/components/Pagination/Pagination.d.ts +8 -0
  387. package/lib/components/Pagination/Pagination.js +85 -3
  388. package/lib/components/Pagination/experimental/PageSelector.js +8 -0
  389. package/lib/components/Pagination/experimental/Pagination.js +54 -0
  390. package/lib/components/PaginationNav/PaginationNav.js +80 -0
  391. package/lib/components/Popover/index.js +58 -0
  392. package/lib/components/ProgressBar/ProgressBar.js +27 -0
  393. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +6 -0
  394. package/lib/components/ProgressIndicator/ProgressIndicator.js +58 -0
  395. package/lib/components/RadioButton/RadioButton.Skeleton.js +5 -1
  396. package/lib/components/RadioButton/RadioButton.js +63 -0
  397. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +59 -0
  398. package/lib/components/RadioTile/RadioTile.js +45 -0
  399. package/lib/components/Search/Search.Skeleton.js +9 -0
  400. package/lib/components/Search/Search.js +66 -1
  401. package/lib/components/Select/Select.Skeleton.js +6 -0
  402. package/lib/components/Select/Select.js +82 -19
  403. package/lib/components/SelectItem/SelectItem.js +15 -0
  404. package/lib/components/SelectItemGroup/SelectItemGroup.js +12 -0
  405. package/lib/components/ShapeIndicator/index.js +12 -0
  406. package/lib/components/SkeletonIcon/SkeletonIcon.js +5 -1
  407. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +5 -1
  408. package/lib/components/SkeletonText/SkeletonText.js +15 -0
  409. package/lib/components/Slider/Slider.Skeleton.js +15 -0
  410. package/lib/components/Slider/Slider.js +104 -0
  411. package/lib/components/Stack/Stack.js +20 -0
  412. package/lib/components/StructuredList/StructuredList.Skeleton.js +6 -0
  413. package/lib/components/StructuredList/StructuredList.js +97 -0
  414. package/lib/components/Switch/IconSwitch.js +47 -0
  415. package/lib/components/Switch/Switch.js +30 -0
  416. package/lib/components/TabContent/TabContent.js +9 -0
  417. package/lib/components/Tabs/Tabs.Skeleton.js +6 -0
  418. package/lib/components/Tabs/Tabs.d.ts +15 -1
  419. package/lib/components/Tabs/Tabs.js +185 -5
  420. package/lib/components/Tabs/usePressable.js +0 -1
  421. package/lib/components/Tag/DismissibleTag.js +43 -0
  422. package/lib/components/Tag/OperationalTag.js +22 -0
  423. package/lib/components/Tag/SelectableTag.js +31 -0
  424. package/lib/components/Tag/Tag.Skeleton.js +7 -0
  425. package/lib/components/Tag/Tag.js +41 -0
  426. package/lib/components/Text/Text.js +10 -0
  427. package/lib/components/Text/TextDirection.js +11 -0
  428. package/lib/components/Text/TextDirectionContext.js +0 -1
  429. package/lib/components/TextArea/TextArea.Skeleton.js +6 -0
  430. package/lib/components/TextArea/TextArea.js +80 -0
  431. package/lib/components/TextInput/ControlledPasswordInput.js +64 -0
  432. package/lib/components/TextInput/PasswordInput.js +83 -0
  433. package/lib/components/TextInput/TextInput.Skeleton.js +9 -0
  434. package/lib/components/TextInput/TextInput.js +76 -0
  435. package/lib/components/Theme/index.js +21 -0
  436. package/lib/components/Tile/Tile.js +157 -2
  437. package/lib/components/TileGroup/TileGroup.js +28 -0
  438. package/lib/components/TimePicker/TimePicker.js +67 -0
  439. package/lib/components/TimePickerSelect/TimePickerSelect.js +15 -0
  440. package/lib/components/Toggle/Toggle.js +46 -0
  441. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +11 -0
  442. package/lib/components/Toggletip/index.js +38 -0
  443. package/lib/components/Tooltip/DefinitionTooltip.js +36 -0
  444. package/lib/components/Tooltip/Tooltip.js +46 -0
  445. package/lib/components/TreeView/TreeContext.js +0 -1
  446. package/lib/components/TreeView/TreeNode.js +64 -0
  447. package/lib/components/TreeView/TreeView.js +32 -0
  448. package/lib/components/UIShell/Content.js +9 -0
  449. package/lib/components/UIShell/Header.js +9 -0
  450. package/lib/components/UIShell/HeaderContainer.js +9 -0
  451. package/lib/components/UIShell/HeaderGlobalAction.js +28 -0
  452. package/lib/components/UIShell/HeaderMenu.js +37 -0
  453. package/lib/components/UIShell/HeaderMenuButton.js +17 -0
  454. package/lib/components/UIShell/HeaderMenuItem.js +25 -0
  455. package/lib/components/UIShell/HeaderName.js +18 -0
  456. package/lib/components/UIShell/HeaderNavigation.js +10 -0
  457. package/lib/components/UIShell/HeaderPanel.js +19 -0
  458. package/lib/components/UIShell/HeaderSideNavItems.js +11 -0
  459. package/lib/components/UIShell/Link.js +14 -0
  460. package/lib/components/UIShell/SideNav.js +53 -0
  461. package/lib/components/UIShell/SideNavDetails.js +10 -0
  462. package/lib/components/UIShell/SideNavDivider.js +5 -1
  463. package/lib/components/UIShell/SideNavFooter.js +11 -0
  464. package/lib/components/UIShell/SideNavHeader.js +13 -0
  465. package/lib/components/UIShell/SideNavIcon.js +10 -0
  466. package/lib/components/UIShell/SideNavItem.js +10 -0
  467. package/lib/components/UIShell/SideNavItems.js +11 -0
  468. package/lib/components/UIShell/SideNavLink.js +22 -0
  469. package/lib/components/UIShell/SideNavLinkText.js +6 -0
  470. package/lib/components/UIShell/SideNavMenu.js +31 -0
  471. package/lib/components/UIShell/SideNavMenuItem.js +17 -0
  472. package/lib/components/UIShell/SideNavSwitcher.js +16 -0
  473. package/lib/components/UIShell/SkipToContent.js +11 -0
  474. package/lib/components/UIShell/Switcher.js +12 -0
  475. package/lib/components/UIShell/SwitcherDivider.js +5 -1
  476. package/lib/components/UIShell/SwitcherItem.js +30 -0
  477. package/lib/components/UnorderedList/UnorderedList.js +12 -0
  478. package/lib/feature-flags.js +0 -1
  479. package/lib/index.d.ts +1 -0
  480. package/lib/index.js +241 -241
  481. package/lib/internal/OptimizedResize.js +6 -2
  482. package/lib/internal/useAttachedMenu.js +0 -1
  483. package/lib/internal/useControllableState.js +0 -1
  484. package/lib/internal/useDelayedState.js +0 -1
  485. package/lib/internal/useEvent.js +0 -1
  486. package/lib/internal/useIsomorphicEffect.js +0 -1
  487. package/lib/internal/useMatchMedia.js +0 -1
  488. package/lib/internal/useMergedRefs.js +0 -1
  489. package/lib/internal/useNoInteractiveChildren.js +0 -1
  490. package/lib/internal/useOutsideClick.js +0 -1
  491. package/lib/internal/useOverflowItems.js +0 -1
  492. package/lib/internal/usePresence.js +6 -1
  493. package/lib/internal/usePresenceContext.js +0 -1
  494. package/lib/internal/usePreviousValue.js +0 -1
  495. package/lib/internal/useResizeObserver.js +0 -1
  496. package/lib/internal/useSavedCallback.js +0 -1
  497. package/lib/internal/utils.js +0 -1
  498. package/lib/internal/warnAboutDeprecatedReactVersion.d.ts +7 -0
  499. package/lib/internal/wrapFocus.js +0 -1
  500. package/package.json +9 -9
  501. package/telemetry.yml +12 -0
@@ -336,23 +336,81 @@ const TreeNode = React.forwardRef(({ children, className, disabled, id: nodeId,
336
336
  }) });
337
337
  });
338
338
  TreeNode.propTypes = {
339
+ /**
340
+ * **Note:** this is controlled by the parent TreeView component, do not set manually.
341
+ * The ID of the active node in the tree
342
+ */
339
343
  active: deprecate(PropTypes.oneOfType([PropTypes.string, PropTypes.number]), "The `active` prop for `TreeNode` is no longer needed and has been deprecated. It will be removed in the next major release."),
344
+ /**
345
+ * Specify the children of the TreeNode
346
+ */
340
347
  children: PropTypes.node,
348
+ /**
349
+ * Specify an optional className to be applied to the TreeNode
350
+ */
341
351
  className: PropTypes.string,
352
+ /**
353
+ * **[Experimental]** The default expansion state of the node.
354
+ * *This is only supported with the `enable-treeview-controllable` feature flag!*
355
+ */
342
356
  defaultIsExpanded: PropTypes.bool,
357
+ /**
358
+ * **Note:** this is controlled by the parent TreeView component, do not set manually.
359
+ * TreeNode depth to determine spacing
360
+ */
343
361
  depth: deprecate(PropTypes.number, "The `depth` prop for `TreeNode` is no longer needed and has been deprecated. It will be removed in the next major release."),
362
+ /**
363
+ * Specify if the TreeNode is disabled
364
+ */
344
365
  disabled: PropTypes.bool,
366
+ /**
367
+ * Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns
368
+ */
345
369
  id: PropTypes.string,
370
+ /**
371
+ * Specify if the TreeNode is expanded (only applicable to parent nodes)
372
+ */
346
373
  isExpanded: PropTypes.bool,
374
+ /**
375
+ * Rendered label for the TreeNode
376
+ */
347
377
  label: PropTypes.node,
378
+ /**
379
+ * Callback function for when the node receives or loses focus
380
+ */
348
381
  onNodeFocusEvent: deprecate(PropTypes.func, "The `onNodeFocusEvent` prop for `TreeNode` is no longer needed and has been deprecated. It will be removed in the next major release."),
382
+ /**
383
+ * Callback function for when the node is selected
384
+ */
349
385
  onSelect: PropTypes.func,
386
+ /**
387
+ * Callback function for when a parent node is expanded or collapsed
388
+ */
350
389
  onToggle: PropTypes.func,
390
+ /**
391
+ * Callback function for when any node in the tree is selected
392
+ */
351
393
  onTreeSelect: deprecate(PropTypes.func, "The `onTreeSelect` prop for `TreeNode` is no longer needed and has been deprecated. It will be removed in the next major release."),
394
+ /**
395
+ * A component used to render an icon.
396
+ */
352
397
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
398
+ /**
399
+ * **Note:** this is controlled by the parent TreeView component, do not set manually.
400
+ * Array containing all selected node IDs in the tree
401
+ */
353
402
  selected: deprecate(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), "The `selected` prop for `TreeNode` is no longer needed and has been deprecated. It will be removed in the next major release."),
403
+ /**
404
+ * Specify the value of the TreeNode
405
+ */
354
406
  value: PropTypes.string,
407
+ /**
408
+ * Optional: The URL the TreeNode is linking to
409
+ */
355
410
  href: PropTypes.string,
411
+ /**
412
+ * Specify how the tooltip should align when text is truncated
413
+ */
356
414
  align: PropTypes.oneOf([
357
415
  "top",
358
416
  "bottom",
@@ -367,6 +425,12 @@ TreeNode.propTypes = {
367
425
  "right-end",
368
426
  "right-start"
369
427
  ]),
428
+ /**
429
+ * **Experimental**: Will attempt to automatically align the floating
430
+ * element to avoid collisions with the viewport and being clipped by
431
+ * ancestor elements. Requires React v17+
432
+ * @see https://github.com/carbon-design-system/carbon/issues/18714
433
+ */
370
434
  autoAlign: PropTypes.bool
371
435
  };
372
436
  TreeNode.displayName = "TreeNode";
@@ -159,15 +159,47 @@ const TreeView = ({ active: prespecifiedActive, children, className, hideLabel =
159
159
  })] });
160
160
  };
161
161
  TreeView.propTypes = {
162
+ /**
163
+ * Mark the active node in the tree, represented by its ID
164
+ */
162
165
  active: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
166
+ /**
167
+ * Specify the children of the TreeView
168
+ */
163
169
  children: PropTypes.node,
170
+ /**
171
+ * Specify an optional className to be applied to the TreeView
172
+ */
164
173
  className: PropTypes.string,
174
+ /**
175
+ * Specify whether or not the label should be hidden
176
+ */
165
177
  hideLabel: PropTypes.bool,
178
+ /**
179
+ * Provide the label text that will be read by a screen reader
180
+ */
166
181
  label: PropTypes.string.isRequired,
182
+ /**
183
+ * **[Experimental]** Specify the selection mode of the tree.
184
+ * If `multiselect` is `false` then only one node can be selected at a time
185
+ */
167
186
  multiselect: PropTypes.bool,
187
+ /**
188
+ * **[Experimental]** Callback function that is called when any node is activated.
189
+ * *This is only supported with the `enable-treeview-controllable` feature flag!*
190
+ */
168
191
  onActivate: PropTypes.func,
192
+ /**
193
+ * Callback function that is called when any node is selected
194
+ */
169
195
  onSelect: PropTypes.func,
196
+ /**
197
+ * Array representing all selected node IDs in the tree
198
+ */
170
199
  selected: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
200
+ /**
201
+ * Specify the size of the tree from a list of available sizes.
202
+ */
171
203
  size: PropTypes.oneOf(["xs", "sm"])
172
204
  };
173
205
  TreeView.TreeNode = TreeNode;
@@ -24,8 +24,17 @@ const Content = ({ className: customClassName, children, tagName = "main", ...re
24
24
  }, children);
25
25
  };
26
26
  Content.propTypes = {
27
+ /**
28
+ * Provide children nodes to be rendered in the content container
29
+ */
27
30
  children: PropTypes.node,
31
+ /**
32
+ * Optionally provide a custom class name that is applied to the container
33
+ */
28
34
  className: PropTypes.string,
35
+ /**
36
+ * Optionally specify the tag of the content node. Defaults to `main`
37
+ */
29
38
  tagName: PropTypes.string
30
39
  };
31
40
  //#endregion
@@ -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
@@ -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";
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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";
@@ -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";
@@ -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
@@ -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
@@ -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 };
@@ -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
@@ -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
@@ -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
@@ -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