@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
@@ -101,27 +101,87 @@ const ModalFooter = React.forwardRef(function ModalFooter({ children, className:
101
101
  });
102
102
  });
103
103
  ModalFooter.propTypes = {
104
+ /**
105
+ * Pass in content that will be rendered in the Modal Footer
106
+ */
104
107
  children: PropTypes.node,
108
+ /**
109
+ * Specify a custom className to be applied to the Modal Footer container
110
+ */
105
111
  className: PropTypes.string,
112
+ /**
113
+ * Specify an optional function that is called whenever the modal is closed
114
+ */
106
115
  closeModal: PropTypes.func,
116
+ /**
117
+ * Specify whether the primary button should be replaced with danger button.
118
+ * Note that this prop is not applied if you render primary/danger button by yourself
119
+ */
107
120
  danger: PropTypes.bool,
121
+ /**
122
+ * Specify the message read by screen readers for the danger primary button.
123
+ * Defaults to an empty string; provide localized text to opt in.
124
+ */
108
125
  dangerDescription: PropTypes.string,
126
+ /**
127
+ * The `ref` callback for the primary button.
128
+ */
109
129
  inputref: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]),
130
+ /**
131
+ * Specify the description for the loading text
132
+ */
110
133
  loadingDescription: PropTypes.string,
134
+ /**
135
+ * Specify the description for the loading text
136
+ */
111
137
  loadingIconDescription: PropTypes.string,
138
+ /**
139
+ * loading status
140
+ */
112
141
  loadingStatus: PropTypes.oneOf([
113
142
  "inactive",
114
143
  "active",
115
144
  "finished",
116
145
  "error"
117
146
  ]),
147
+ /**
148
+ * Provide an optional handler to be invoked when loading is
149
+ * successful
150
+ */
118
151
  onLoadingSuccess: PropTypes.func,
152
+ /**
153
+ * Specify an optional function for when the modal is requesting to be
154
+ * closed
155
+ */
119
156
  onRequestClose: PropTypes.func,
157
+ /**
158
+ * Specify an optional function for when the modal is requesting to be
159
+ * submitted
160
+ */
120
161
  onRequestSubmit: PropTypes.func,
162
+ /**
163
+ * Specify whether the primary button should be disabled
164
+ */
121
165
  primaryButtonDisabled: PropTypes.bool,
166
+ /**
167
+ * Specify the text for the primary button
168
+ */
122
169
  primaryButtonText: PropTypes.string,
170
+ /**
171
+ * Specify a custom className to be applied to the primary button
172
+ */
123
173
  primaryClassName: PropTypes.string,
174
+ /**
175
+ * Specify the text for the secondary button
176
+ */
124
177
  secondaryButtonText: PropTypes.string,
178
+ /**
179
+ * Specify an array of config objects for secondary buttons
180
+ * (`Array<{
181
+ * buttonText: string,
182
+ * onClick: function,
183
+ * }>`).
184
+ */
125
185
  secondaryButtons: (props, propName, componentName) => {
126
186
  if (props.secondaryButtons) {
127
187
  if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) return /* @__PURE__ */ new Error(`${propName} needs to be an array of two button config objects`);
@@ -135,6 +195,9 @@ ModalFooter.propTypes = {
135
195
  }
136
196
  return null;
137
197
  },
198
+ /**
199
+ * Specify a custom className to be applied to the secondary button
200
+ */
138
201
  secondaryClassName: PropTypes.string
139
202
  };
140
203
  //#endregion
@@ -92,16 +92,51 @@ const ModalHeader = React.forwardRef(function ModalHeader({ buttonOnClick, child
92
92
  });
93
93
  });
94
94
  ModalHeader.propTypes = {
95
+ /**
96
+ * Provide an optional function to be called when the close button is
97
+ * clicked
98
+ */
95
99
  buttonOnClick: PropTypes.func,
100
+ /**
101
+ * Specify the content to be placed in the ModalHeader
102
+ */
96
103
  children: PropTypes.node,
104
+ /**
105
+ * Specify an optional className to be applied to the modal header
106
+ */
97
107
  className: PropTypes.string,
108
+ /**
109
+ * Specify an optional className to be applied to the modal close node
110
+ */
98
111
  closeClassName: PropTypes.string,
112
+ /**
113
+ * Specify an optional className to be applied to the modal close icon node
114
+ */
99
115
  closeIconClassName: PropTypes.string,
116
+ /**
117
+ * Provide an optional function to be called when the modal is closed
118
+ */
100
119
  closeModal: PropTypes.func,
120
+ /**
121
+ * Specify a description for the close icon that can be read by screen
122
+ * readers
123
+ */
101
124
  iconDescription: PropTypes.string,
125
+ /**
126
+ * Specify an optional label to be displayed
127
+ */
102
128
  label: PropTypes.string,
129
+ /**
130
+ * Specify an optional className to be applied to the modal header label
131
+ */
103
132
  labelClassName: PropTypes.string,
133
+ /**
134
+ * Specify an optional title to be displayed
135
+ */
104
136
  title: PropTypes.node,
137
+ /**
138
+ * Specify an optional className to be applied to the modal heading
139
+ */
105
140
  titleClassName: PropTypes.string
106
141
  };
107
142
  //#endregion
@@ -69,12 +69,33 @@ const ContainedList = ({ action, children, className, isInset, kind = variants[0
69
69
  });
70
70
  };
71
71
  ContainedList.propTypes = {
72
+ /**
73
+ * A slot for a possible interactive element to render.
74
+ */
72
75
  action: PropTypes.node,
76
+ /**
77
+ * A collection of ContainedListItems to be rendered in the ContainedList
78
+ */
73
79
  children: PropTypes.node,
80
+ /**
81
+ * Additional CSS class names.
82
+ */
74
83
  className: PropTypes.string,
84
+ /**
85
+ * Specify whether the dividing lines in between list items should be inset.
86
+ */
75
87
  isInset: PropTypes.bool,
88
+ /**
89
+ * The kind of ContainedList you want to display
90
+ */
76
91
  kind: PropTypes.oneOf(variants),
92
+ /**
93
+ * A label describing the contained list.
94
+ */
77
95
  label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
96
+ /**
97
+ * Specify the size of the contained list.
98
+ */
78
99
  size: PropTypes.oneOf([
79
100
  "sm",
80
101
  "md",
@@ -47,11 +47,29 @@ const ContainedListItem = ({ action, children, className, disabled = false, onCl
47
47
  });
48
48
  };
49
49
  ContainedListItem.propTypes = {
50
+ /**
51
+ * A slot for a possible interactive element to render within the item.
52
+ */
50
53
  action: PropTypes.node,
54
+ /**
55
+ * The content of this item. Must not contain any interactive elements. Use props.action to include those.
56
+ */
51
57
  children: PropTypes.node,
58
+ /**
59
+ * Additional CSS class names.
60
+ */
52
61
  className: PropTypes.string,
62
+ /**
63
+ * Whether this item is disabled.
64
+ */
53
65
  disabled: PropTypes.bool,
66
+ /**
67
+ * Provide an optional function to be called when the item is clicked.
68
+ */
54
69
  onClick: PropTypes.func,
70
+ /**
71
+ * A component used to render an icon.
72
+ */
55
73
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
56
74
  };
57
75
  //#endregion
@@ -109,13 +109,38 @@ const ContentSwitcher = ({ children, className, light, lowContrast, selectedInde
109
109
  };
110
110
  ContentSwitcher.displayName = "ContentSwitcher";
111
111
  ContentSwitcher.propTypes = {
112
+ /**
113
+ * Pass in Switch components to be rendered in the ContentSwitcher
114
+ */
112
115
  children: PropTypes.node,
116
+ /**
117
+ * Specify an optional className to be added to the container node
118
+ */
113
119
  className: PropTypes.string,
120
+ /**
121
+ * `true` to use the light variant.
122
+ */
114
123
  light: deprecate(PropTypes.bool, "The `light` prop for `ContentSwitcher` is no longer needed and has been deprecated. It will be removed in the next major release."),
124
+ /**
125
+ * `true` to use the low contrast version.
126
+ */
115
127
  lowContrast: PropTypes.bool,
128
+ /**
129
+ * Specify an `onChange` handler that is called whenever the ContentSwitcher
130
+ * changes which item is selected
131
+ */
116
132
  onChange: PropTypes.func.isRequired,
133
+ /**
134
+ * Specify a selected index for the initially selected content
135
+ */
117
136
  selectedIndex: PropTypes.number,
137
+ /**
138
+ * Choose whether or not to automatically change selection on focus when left/right arrow pressed. Defaults to 'automatic'
139
+ */
118
140
  selectionMode: PropTypes.oneOf(["automatic", "manual"]),
141
+ /**
142
+ * Specify the size of the Content Switcher. Currently supports either `sm`, `md` (default) or `lg` as an option.
143
+ */
119
144
  size: PropTypes.oneOf([
120
145
  "sm",
121
146
  "md",
@@ -59,6 +59,9 @@ function Copy({ align = "bottom", autoAlign = false, children, className, feedba
59
59
  });
60
60
  }
61
61
  Copy.propTypes = {
62
+ /**
63
+ * Specify how the trigger should align with the tooltip
64
+ */
62
65
  align: deprecateValuesWithin(PropTypes.oneOf([
63
66
  "top",
64
67
  "top-left",
@@ -94,12 +97,38 @@ Copy.propTypes = {
94
97
  "right-start",
95
98
  "right-end"
96
99
  ], mapPopoverAlign),
100
+ /**
101
+ * **Experimental**: Will attempt to automatically align the tooltip. Requires
102
+ * React v17+
103
+ * @see https://github.com/carbon-design-system/carbon/issues/18714
104
+ */
97
105
  autoAlign: PropTypes.bool,
106
+ /**
107
+ * Pass in content to be rendered in the underlying `<button>`
108
+ */
98
109
  children: PropTypes.node,
110
+ /**
111
+ * Specify an optional className to be applied to the underlying `<button>`
112
+ */
99
113
  className: PropTypes.string,
114
+ /**
115
+ * Specify the string that is displayed when the button is clicked and the
116
+ * content is copied
117
+ */
100
118
  feedback: PropTypes.string,
119
+ /**
120
+ * Specify the time it takes for the feedback message to timeout
121
+ */
101
122
  feedbackTimeout: PropTypes.number,
123
+ /**
124
+ * Specify an optional `onAnimationEnd` handler that is called when the underlying
125
+ * animation ends
126
+ */
102
127
  onAnimationEnd: PropTypes.func,
128
+ /**
129
+ * Specify an optional `onClick` handler that is called when the underlying
130
+ * `<button>` is clicked
131
+ */
103
132
  onClick: PropTypes.func
104
133
  };
105
134
  //#endregion
@@ -44,6 +44,9 @@ function CopyButton({ align = "bottom", autoAlign = false, feedback = "Copied!",
44
44
  });
45
45
  }
46
46
  CopyButton.propTypes = {
47
+ /**
48
+ * Specify how the trigger should align with the tooltip
49
+ */
47
50
  align: deprecateValuesWithin(PropTypes.oneOf([
48
51
  "top",
49
52
  "top-left",
@@ -79,11 +82,34 @@ CopyButton.propTypes = {
79
82
  "right-start",
80
83
  "right-end"
81
84
  ], mapPopoverAlign),
85
+ /**
86
+ * **Experimental**: Will attempt to automatically align the tooltip. Requires
87
+ * React v17+
88
+ * @see https://github.com/carbon-design-system/carbon/issues/18714
89
+ */
82
90
  autoAlign: PropTypes.bool,
91
+ /**
92
+ * Specify an optional className to be applied to the underlying `<button>`
93
+ */
83
94
  className: PropTypes.string,
95
+ /**
96
+ * Specify the string that is displayed when the button is clicked and the
97
+ * content is copied
98
+ */
84
99
  feedback: PropTypes.string,
100
+ /**
101
+ * Specify the time it takes for the feedback message to timeout
102
+ */
85
103
  feedbackTimeout: PropTypes.number,
104
+ /**
105
+ * Provide a description for the icon representing the copy action that can
106
+ * be read by screen readers
107
+ */
86
108
  iconDescription: PropTypes.string,
109
+ /**
110
+ * Specify an optional `onClick` handler that is called when the underlying
111
+ * `<button>` is clicked
112
+ */
87
113
  onClick: PropTypes.func
88
114
  };
89
115
  //#endregion
@@ -452,25 +452,68 @@ DataTable.TableToolbarContent = TableToolbarContent;
452
452
  DataTable.TableToolbarSearch = TableToolbarSearch;
453
453
  DataTable.TableToolbarMenu = TableToolbarMenu;
454
454
  DataTable.propTypes = {
455
+ /**
456
+ * Pass in the children that will be rendered within the Table
457
+ */
455
458
  children: PropTypes.func,
459
+ /**
460
+ * Experimental property. Allows table to align cell contents to the top if there is text wrapping in the content. Might have performance issues, intended for smaller tables
461
+ */
456
462
  experimentalAutoAlign: PropTypes.bool,
463
+ /**
464
+ * Optional hook to manually control filtering of the rows from the
465
+ * TableToolbarSearch component
466
+ */
457
467
  filterRows: PropTypes.func,
468
+ /**
469
+ * The `headers` prop represents the order in which the headers should
470
+ * appear in the table. We expect an array of objects to be passed in, where
471
+ * `key` is the name of the key in a row object, and `header` is the name of
472
+ * the header.
473
+ */
458
474
  headers: PropTypes.arrayOf(PropTypes.shape({
459
475
  key: PropTypes.string.isRequired,
460
476
  header: PropTypes.node.isRequired,
461
477
  isSortable: PropTypes.bool
462
478
  })).isRequired,
479
+ /**
480
+ * Specify whether the table should be able to be sorted by its headers
481
+ */
463
482
  isSortable: PropTypes.bool,
483
+ /**
484
+ * Provide a string for the current locale
485
+ */
464
486
  locale: PropTypes.string,
487
+ /**
488
+ * Specify whether the overflow menu (if it exists) should be shown always, or only on hover
489
+ */
465
490
  overflowMenuOnHover: PropTypes.bool,
491
+ /**
492
+ * Specify whether the control should be a radio button or inline checkbox
493
+ */
466
494
  radio: PropTypes.bool,
495
+ /**
496
+ * @deprecated Use `children` instead. This prop will be removed in
497
+ * the next major version.
498
+ *
499
+ * https://www.patterns.dev/react/render-props-pattern/#children-as-a-function
500
+ */
467
501
  render: deprecate(PropTypes.func),
502
+ /**
503
+ * The `rows` prop is where you provide us with a list of all the rows that
504
+ * you want to render in the table. The only hard requirement is that this
505
+ * is an array of objects, and that each object has a unique `id` field
506
+ * available on it.
507
+ */
468
508
  rows: PropTypes.arrayOf(PropTypes.shape({
469
509
  id: PropTypes.string.isRequired,
470
510
  disabled: PropTypes.bool,
471
511
  isSelected: PropTypes.bool,
472
512
  isExpanded: PropTypes.bool
473
513
  })).isRequired,
514
+ /**
515
+ * Change the row height of table. Currently supports `xs`, `sm`, `md`, `lg`, and `xl`.
516
+ */
474
517
  size: PropTypes.oneOf([
475
518
  "xs",
476
519
  "sm",
@@ -478,10 +521,26 @@ DataTable.propTypes = {
478
521
  "lg",
479
522
  "xl"
480
523
  ]),
524
+ /**
525
+ * Optional hook to manually control sorting of the rows.
526
+ */
481
527
  sortRow: PropTypes.func,
528
+ /**
529
+ * Specify whether the header should be sticky.
530
+ * Still experimental: may not work with every combination of table props
531
+ */
482
532
  stickyHeader: PropTypes.bool,
533
+ /**
534
+ * Translates component strings using your i18n tool.
535
+ */
483
536
  translateWithId: PropTypes.func,
537
+ /**
538
+ * If `true`, sets the table width to `auto` instead of `100%`.
539
+ */
484
540
  useStaticWidth: PropTypes.bool,
541
+ /**
542
+ * `true` to add useZebraStyles striping.
543
+ */
485
544
  useZebraStyles: PropTypes.bool
486
545
  };
487
546
  //#endregion
@@ -101,11 +101,26 @@ const Table = ({ className, children, useZebraStyles, size = "lg", isSortable =
101
101
  }) : table;
102
102
  };
103
103
  Table.propTypes = {
104
+ /**
105
+ * Pass in the children that will be rendered within the Table
106
+ */
104
107
  children: PropTypes.node,
105
108
  className: PropTypes.string,
109
+ /**
110
+ * Experimental property. Allows table to align cell contents to the top if there is text wrapping in the content. Might have performance issues, intended for smaller tables
111
+ */
106
112
  experimentalAutoAlign: PropTypes.bool,
113
+ /**
114
+ * `false` If true, will apply sorting styles
115
+ */
107
116
  isSortable: PropTypes.bool,
117
+ /**
118
+ * Specify whether the overflow menu (if it exists) should be shown always, or only on hover
119
+ */
108
120
  overflowMenuOnHover: PropTypes.bool,
121
+ /**
122
+ * Change the row height of table. Currently supports `xs`, `sm`, `md`, `lg`, and `xl`.
123
+ */
109
124
  size: PropTypes.oneOf([
110
125
  "xs",
111
126
  "sm",
@@ -113,9 +128,21 @@ Table.propTypes = {
113
128
  "lg",
114
129
  "xl"
115
130
  ]),
131
+ /**
132
+ * `false` If true, will keep the header sticky (only data rows will scroll)
133
+ */
116
134
  stickyHeader: PropTypes.bool,
135
+ /**
136
+ * If `true`, sets the table width to `auto` instead of `100%`.
137
+ */
117
138
  useStaticWidth: PropTypes.bool,
139
+ /**
140
+ * `true` to add useZebraStyles striping.
141
+ */
118
142
  useZebraStyles: PropTypes.bool,
143
+ /**
144
+ * Specify the table tabIndex
145
+ */
119
146
  tabIndex: PropTypes.number
120
147
  };
121
148
  //#endregion
@@ -23,10 +23,20 @@ const TableBatchAction = ({ renderIcon = AddFilled, iconDescription = "Add", ...
23
23
  ...props
24
24
  });
25
25
  TableBatchAction.propTypes = {
26
+ /**
27
+ * Specify if the button is an icon-only button
28
+ */
26
29
  hasIconOnly: PropTypes.bool,
30
+ /**
31
+ * If specifying the `renderIcon` prop, provide a description for that icon that can
32
+ * be read by screen readers
33
+ */
27
34
  iconDescription: (props) => {
28
35
  if (props.renderIcon && !props.children && !props.iconDescription) return /* @__PURE__ */ new Error("renderIcon property specified without also providing an iconDescription property.");
29
36
  },
37
+ /**
38
+ * A component used to render an icon.
39
+ */
30
40
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
31
41
  };
32
42
  //#endregion
@@ -83,11 +83,35 @@ const TableBatchActions = ({ className, children, shouldShowBatchActions, totalS
83
83
  TableBatchActions.propTypes = {
84
84
  children: PropTypes.node,
85
85
  className: PropTypes.string,
86
+ /**
87
+ * Hook required to listen for when the user initiates a cancel request
88
+ * through this component
89
+ */
86
90
  onCancel: PropTypes.func.isRequired,
91
+ /**
92
+ * Hook to listen for when the user initiates a select all
93
+ * request through this component. This _only_ controls the rendering
94
+ * of the `Select All` button and does not include built in functionality
95
+ */
87
96
  onSelectAll: PropTypes.func,
97
+ /**
98
+ * Boolean specifier for whether or not the batch action bar should be
99
+ * displayed
100
+ */
88
101
  shouldShowBatchActions: PropTypes.bool,
102
+ /**
103
+ * Numeric representation of the total number of items in a table.
104
+ * This number is used in the select all button text
105
+ */
89
106
  totalCount: PropTypes.number,
107
+ /**
108
+ * Numeric representation of the total number of items selected in a table.
109
+ * This number is used to derive the selection message
110
+ */
90
111
  totalSelected: PropTypes.number.isRequired,
112
+ /**
113
+ * Translates component strings using your i18n tool.
114
+ */
91
115
  translateWithId: PropTypes.func
92
116
  };
93
117
  //#endregion
@@ -22,6 +22,9 @@ const TableBody = ({ children, className, ...rest }) => /* @__PURE__ */ jsx("tbo
22
22
  children
23
23
  });
24
24
  TableBody.propTypes = {
25
+ /**
26
+ * `polite` Adjust the notification behavior of screen readers
27
+ */
25
28
  "aria-live": PropTypes.oneOf([
26
29
  "polite",
27
30
  "assertive",
@@ -30,10 +30,25 @@ const TableCell = forwardRef((props, ref) => {
30
30
  });
31
31
  TableCell.displayName = "TableCell";
32
32
  TableCell.propTypes = {
33
+ /**
34
+ * Pass in children that will be embedded in the table header label
35
+ */
33
36
  children: PropTypes.node,
37
+ /**
38
+ * Specify an optional className to be applied to the container node
39
+ */
34
40
  className: PropTypes.string,
41
+ /**
42
+ * The width of the expanded row's internal cell
43
+ */
35
44
  colSpan: PropTypes.number,
45
+ /**
46
+ * Specify if the table cell is in an AI column
47
+ */
36
48
  hasAILabelHeader: PropTypes.bool,
49
+ /**
50
+ * The id of the matching th node in the table head. Addresses a11y concerns outlined here: https://www.ibm.com/able/guidelines/ci162/info_and_relationships.html and https://www.w3.org/TR/WCAG20-TECHS/H43
51
+ */
37
52
  headers: PropTypes.string
38
53
  };
39
54
  //#endregion
@@ -71,13 +71,31 @@ const TableContainer = ({ aiEnabled, className, children, decorator, title, desc
71
71
  });
72
72
  };
73
73
  TableContainer.propTypes = {
74
+ /**
75
+ * Specify if the entire table has AI generated contents
76
+ */
74
77
  aiEnabled: PropTypes.bool,
75
78
  children: PropTypes.node,
76
79
  className: PropTypes.string,
80
+ /**
81
+ * **Experimental**: Provide a `decorator` component to be rendered inside the `TableContainer` component
82
+ */
77
83
  decorator: PropTypes.node,
84
+ /**
85
+ * Optional description text for the Table
86
+ */
78
87
  description: PropTypes.node,
88
+ /**
89
+ * Specify whether the table should have a sticky header
90
+ */
79
91
  stickyHeader: PropTypes.bool,
92
+ /**
93
+ * Provide a title for the Table
94
+ */
80
95
  title: PropTypes.node,
96
+ /**
97
+ * If true, will use a width of 'fit-content' to match the inner table width
98
+ */
81
99
  useStaticWidth: PropTypes.bool
82
100
  };
83
101
  //#endregion
@@ -32,7 +32,13 @@ const TableDecoratorRow = ({ className, decorator }) => {
32
32
  };
33
33
  TableDecoratorRow.displayName = "TableDecoratorRow";
34
34
  TableDecoratorRow.propTypes = {
35
+ /**
36
+ * The CSS class names of the cell that wraps the underlying input control
37
+ */
35
38
  className: PropTypes.string,
39
+ /**
40
+ * **Experimental**: Provide a `decorator` component to be rendered inside the `TableDecoratorRow` component
41
+ */
36
42
  decorator: PropTypes.node
37
43
  };
38
44
  //#endregion
@@ -44,16 +44,47 @@ const TableExpandHeader = ({ ["aria-controls"]: ariaControls, ["aria-label"]: ar
44
44
  });
45
45
  };
46
46
  TableExpandHeader.propTypes = {
47
+ /**
48
+ * Space separated list of one or more ID values referencing the TableExpandedRow(s) being controlled by the TableExpandHeader
49
+ */
47
50
  ["aria-controls"]: PropTypes.string,
51
+ /**
52
+ * Specify the string read by a voice reader when the expand trigger is
53
+ * focused
54
+ */
48
55
  ["aria-label"]: PropTypes.string,
56
+ /**
57
+ * Deprecated, please use `aria-label` instead.
58
+ * Specify the string read by a voice reader when the expand trigger is
59
+ * focused
60
+ */
49
61
  ariaLabel: PropTypes.string,
50
62
  children: PropTypes.node,
51
63
  className: PropTypes.string,
64
+ /**
65
+ * The enableExpando prop is being replaced by TableExpandHeader
66
+ */
52
67
  enableExpando: deprecate(PropTypes.bool, "The `enableExpando` prop has been deprecated in favor of `enableToggle`. This prop will be removed in the next major release."),
68
+ /**
69
+ * Specify whether an expand all button should be displayed
70
+ */
53
71
  enableToggle: PropTypes.bool,
72
+ /**
73
+ * The description of the chevron right icon, to be put in its SVG `<title>` element.
74
+ */
54
75
  expandIconDescription: PropTypes.string,
76
+ /**
77
+ * Supply an id to the th element.
78
+ */
55
79
  id: PropTypes.string,
80
+ /**
81
+ * Specify whether this row is expanded or not. This helps coordinate data
82
+ * attributes so that `TableExpandRow` and `TableExpandedRow` work together
83
+ */
56
84
  isExpanded: requiredIfGivenPropIsTruthy("enableToggle", PropTypes.bool),
85
+ /**
86
+ * Hook for when a listener initiates a request to expand the given row
87
+ */
57
88
  onExpand: PropTypes.oneOfType([requiredIfGivenPropIsTruthy("enableExpando", PropTypes.func), requiredIfGivenPropIsTruthy("enableToggle", PropTypes.func)])
58
89
  };
59
90
  //#endregion