@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
@@ -48,18 +48,35 @@ const Layer = React.forwardRef((props, ref) => {
48
48
  });
49
49
  Layer.displayName = "Layer";
50
50
  Layer.propTypes = {
51
+ /**
52
+ * Specify a custom component or element to be rendered as the top-level
53
+ * element in the component
54
+ */
51
55
  as: PropTypes.oneOfType([
52
56
  PropTypes.func,
53
57
  PropTypes.string,
54
58
  PropTypes.elementType
55
59
  ]),
60
+ /**
61
+ * Provide child elements to be rendered inside of `Theme`
62
+ */
56
63
  children: PropTypes.node,
64
+ /**
65
+ * Provide a custom class name to be used on the outermost element rendered by
66
+ * the component
67
+ */
57
68
  className: PropTypes.string,
69
+ /**
70
+ * Specify the layer level and override any existing levels based on hierarchy
71
+ */
58
72
  level: PropTypes.oneOf([
59
73
  0,
60
74
  1,
61
75
  2
62
76
  ]),
77
+ /**
78
+ * Applies a css background-color set to $layer-background
79
+ */
63
80
  withBackground: PropTypes.bool
64
81
  };
65
82
  //#endregion
@@ -40,14 +40,31 @@ const Layout = React.forwardRef(({ as: BaseComponent = "div", children, classNam
40
40
  });
41
41
  });
42
42
  Layout.propTypes = {
43
+ /**
44
+ * Specify a custom component or element to be rendered as the top-level
45
+ * element in the component
46
+ */
43
47
  as: PropTypes.oneOfType([
44
48
  PropTypes.func,
45
49
  PropTypes.string,
46
50
  PropTypes.elementType
47
51
  ]),
52
+ /**
53
+ * Provide child elements to be rendered inside of `Layout`
54
+ */
48
55
  children: PropTypes.node,
56
+ /**
57
+ * Provide a custom class name to be used on the outermost element rendered by
58
+ * the component
59
+ */
49
60
  className: PropTypes.string,
61
+ /**
62
+ * Specify the desired density of components within this layout
63
+ */
50
64
  density: PropTypes.oneOf(densities),
65
+ /**
66
+ * Specify the desired size of components within this layout
67
+ */
51
68
  size: PropTypes.oneOf(sizes)
52
69
  };
53
70
  const LayoutConstraint = React.forwardRef(({ as: BaseComponent = "div", children, className, density, size, ...rest }, forwardRef) => {
@@ -68,18 +85,35 @@ const LayoutConstraint = React.forwardRef(({ as: BaseComponent = "div", children
68
85
  });
69
86
  });
70
87
  LayoutConstraint.propTypes = {
88
+ /**
89
+ * Specify a custom component or element to be rendered as the top-level
90
+ * element in the component
91
+ */
71
92
  as: PropTypes.oneOfType([
72
93
  PropTypes.func,
73
94
  PropTypes.string,
74
95
  PropTypes.elementType
75
96
  ]),
97
+ /**
98
+ * Provide child elements to be rendered inside of `LayoutConstraint`
99
+ */
76
100
  children: PropTypes.node,
101
+ /**
102
+ * Provide a custom class name to be used on the outermost element rendered by
103
+ * the component
104
+ */
77
105
  className: PropTypes.string,
106
+ /**
107
+ * Specify the desired layout density constraints of this element's children
108
+ */
78
109
  density: PropTypes.shape({
79
110
  min: PropTypes.oneOf(densities),
80
111
  default: PropTypes.oneOf(densities),
81
112
  max: PropTypes.oneOf(densities)
82
113
  }),
114
+ /**
115
+ * Specify the desired layout size constraints of this element's children
116
+ */
83
117
  size: PropTypes.shape({
84
118
  min: PropTypes.oneOf(sizes),
85
119
  default: PropTypes.oneOf(sizes),
@@ -30,12 +30,22 @@ function LayoutDirection({ as: BaseComponent = "div", children, dir, ...rest })
30
30
  });
31
31
  }
32
32
  LayoutDirection.propTypes = {
33
+ /**
34
+ * Customize the element type used to render the outermost node
35
+ */
33
36
  as: PropTypes.oneOfType([
34
37
  PropTypes.func,
35
38
  PropTypes.string,
36
39
  PropTypes.elementType
37
40
  ]),
41
+ /**
42
+ * Provide child elements or components to be rendered inside of this
43
+ * component
44
+ */
38
45
  children: PropTypes.node,
46
+ /**
47
+ * Specify the layout direction of this part of the page
48
+ */
39
49
  dir: PropTypes.oneOf(["ltr", "rtl"]).isRequired
40
50
  };
41
51
  //#endregion
@@ -43,7 +43,7 @@ export interface LinkBaseProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
43
43
  */
44
44
  target?: HTMLAttributeAnchorTarget;
45
45
  /**
46
- * Specify whether you want the link to receive visited styles after the link has been clicked
46
+ * When enabled, applies Carbon's visited-link styles to browser-controlled :visited link state.
47
47
  */
48
48
  visited?: boolean;
49
49
  }
@@ -55,18 +55,46 @@ const Link = React.forwardRef(({ as: BaseComponent, children, className: customC
55
55
  });
56
56
  Link.displayName = "Link";
57
57
  Link.propTypes = {
58
+ /**
59
+ * Provide a custom element or component to render the top-level node for the
60
+ * component.
61
+ */
58
62
  as: PropTypes.elementType,
63
+ /**
64
+ * Provide the content for the Link
65
+ */
59
66
  children: PropTypes.node,
67
+ /**
68
+ * Provide a custom className to be applied to the containing `<a>` node
69
+ */
60
70
  className: PropTypes.string,
71
+ /**
72
+ * Specify if the control should be disabled, or not
73
+ */
61
74
  disabled: PropTypes.bool,
75
+ /**
76
+ * Provide the `href` attribute for the `<a>` node
77
+ */
62
78
  href: PropTypes.string,
79
+ /**
80
+ * Specify whether you want the inline version of this control
81
+ */
63
82
  inline: PropTypes.bool,
83
+ /**
84
+ * A component used to render an icon.
85
+ */
64
86
  renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
87
+ /**
88
+ * Specify the size of the Link. Currently supports either `sm`, `md` (default) or `lg` as an option.
89
+ */
65
90
  size: PropTypes.oneOf([
66
91
  "sm",
67
92
  "md",
68
93
  "lg"
69
94
  ]),
95
+ /**
96
+ * When enabled, applies Carbon's visited-link styles to browser-controlled :visited link state.
97
+ */
70
98
  visited: PropTypes.bool
71
99
  };
72
100
  //#endregion
@@ -73,18 +73,59 @@ const ListBox = forwardRef((props, ref) => {
73
73
  });
74
74
  ListBox.displayName = "ListBox";
75
75
  ListBox.propTypes = {
76
+ /**
77
+ * Provide the contents of your ListBox
78
+ */
76
79
  children: PropTypes.node,
80
+ /**
81
+ * Specify a class name to be applied on the containing list box node
82
+ */
77
83
  className: PropTypes.string,
84
+ /**
85
+ * Specify whether the ListBox is currently disabled
86
+ */
78
87
  disabled: PropTypes.bool,
88
+ /**
89
+ * Specify whether the control is currently invalid
90
+ */
79
91
  invalid: PropTypes.bool,
92
+ /**
93
+ * Specify the text to be displayed when the control is invalid
94
+ */
80
95
  invalidText: PropTypes.node,
96
+ /**
97
+ * Specify the id to be applied to the element containing the invalid text
98
+ */
81
99
  invalidTextId: PropTypes.string,
100
+ /**
101
+ * Specify if the control should render open
102
+ */
82
103
  isOpen: PropTypes.bool,
104
+ /**
105
+ * `true` to use the light version. For use on $ui-01 backgrounds only.
106
+ * Don't use this to make tile background color same as container background color.
107
+ */
83
108
  light: deprecate(PropTypes.bool, "The `light` prop for `ListBox` has been deprecated in favor of the new `Layer` component. It will be removed in the next major release."),
109
+ /**
110
+ * Specify the size of the ListBox. Currently supports either `xs`, `sm`, `md` or `lg` as an option.
111
+ */
84
112
  size: ListBoxSizePropType,
113
+ /**
114
+ * Specify the "type" of the ListBox. Currently supports either `default` or
115
+ * `inline` as an option.
116
+ */
85
117
  type: ListBoxTypePropType,
118
+ /**
119
+ * Specify whether the control is currently in warning state
120
+ */
86
121
  warn: PropTypes.bool,
122
+ /**
123
+ * Provide the text that is displayed when the control is in warning state
124
+ */
87
125
  warnText: PropTypes.string,
126
+ /**
127
+ * Specify the id to be applied to the element containing the warn text
128
+ */
88
129
  warnTextId: PropTypes.string
89
130
  };
90
131
  //#endregion
@@ -24,10 +24,27 @@ function ListBoxField({ children, disabled, tabIndex, ...rest }) {
24
24
  });
25
25
  }
26
26
  ListBoxField.propTypes = {
27
+ /**
28
+ * Typically set by `getToggleButtonProps`, this should specify whether the
29
+ * field has a popup.
30
+ */
27
31
  "aria-haspopup": PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
32
+ /**
33
+ * Provide the contents of your ListBoxField
34
+ */
28
35
  children: PropTypes.node,
36
+ /**
37
+ * Specify if the parent <ListBox> is disabled
38
+ */
29
39
  disabled: PropTypes.bool,
40
+ /**
41
+ * The role for the component, should be set by `getToggleButtonProps` coming
42
+ * from Downshift
43
+ */
30
44
  role: PropTypes.string,
45
+ /**
46
+ * Optional prop to specify the tabIndex of the <ListBox> trigger button
47
+ */
31
48
  tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
32
49
  };
33
50
  //#endregion
@@ -34,12 +34,18 @@ const ListBoxMenu = forwardRef(({ children, id, ...rest }, ref) => {
34
34
  });
35
35
  ListBoxMenu.displayName = "ListBoxMenu";
36
36
  ListBoxMenu.propTypes = {
37
+ /**
38
+ * Provide the contents of your ListBoxMenu
39
+ */
37
40
  children: PropTypes.oneOfType([
38
41
  PropTypes.node,
39
42
  PropTypes.arrayOf(PropTypes.oneOf([ListBoxMenuItem])),
40
43
  PropTypes.shape({ type: PropTypes.oneOf([ListBoxMenuItem]) }),
41
44
  PropTypes.bool
42
45
  ]),
46
+ /**
47
+ * Specify a custom `id`
48
+ */
43
49
  id: PropTypes.string.isRequired
44
50
  };
45
51
  //#endregion
@@ -47,7 +47,14 @@ const ListBoxMenuIcon = ({ isOpen, translateWithId: t = defaultTranslateWithId }
47
47
  });
48
48
  };
49
49
  ListBoxMenuIcon.propTypes = {
50
+ /**
51
+ * Specify whether the menu is currently open, which will influence the
52
+ * direction of the menu icon
53
+ */
50
54
  isOpen: PropTypes.bool.isRequired,
55
+ /**
56
+ * Translates component strings using your i18n tool.
57
+ */
51
58
  translateWithId: PropTypes.func
52
59
  };
53
60
  //#endregion
@@ -69,10 +69,26 @@ const ListBoxMenuItem = forwardRef(({ children, isActive = false, isHighlighted
69
69
  });
70
70
  ListBoxMenuItem.displayName = "ListBoxMenuItem";
71
71
  ListBoxMenuItem.propTypes = {
72
+ /**
73
+ * Specify any children nodes that should be rendered inside of the ListBox
74
+ * Menu Item
75
+ */
72
76
  children: PropTypes.node,
77
+ /**
78
+ * Specify if the item should be disabled
79
+ */
73
80
  disabled: PropTypes.bool,
81
+ /**
82
+ * Specify whether the current menu item is "active".
83
+ */
74
84
  isActive: PropTypes.bool,
85
+ /**
86
+ * Specify whether the current menu item is "highlighted".
87
+ */
75
88
  isHighlighted: PropTypes.bool,
89
+ /**
90
+ * Provide an optional tooltip for the ListBoxMenuItem
91
+ */
76
92
  title: PropTypes.string
77
93
  };
78
94
  //#endregion
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -13,7 +13,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
13
13
  import { Close } from "@carbon/icons-react";
14
14
  //#region src/components/ListBox/ListBoxSelection.tsx
15
15
  /**
16
- * Copyright IBM Corp. 2016, 2025
16
+ * Copyright IBM Corp. 2016, 2026
17
17
  *
18
18
  * This source code is licensed under the Apache-2.0 license found in the
19
19
  * LICENSE file in the root directory of this source tree.
@@ -23,7 +23,7 @@ const translationIds = {
23
23
  "clear.selection": "clear.selection"
24
24
  };
25
25
  const defaultTranslations = {
26
- [translationIds["clear.all"]]: "Clear all selected items",
26
+ [translationIds["clear.all"]]: "Clear selected items",
27
27
  [translationIds["clear.selection"]]: "Clear selected item"
28
28
  };
29
29
  const defaultTranslateWithId = (messageId) => {
@@ -36,9 +36,11 @@ const defaultTranslateWithId = (messageId) => {
36
36
  */
37
37
  const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t = defaultTranslateWithId, disabled, onClearSelection, readOnly }) => {
38
38
  const prefix = usePrefix();
39
+ const hasSelectionCount = (selectionCount ?? 0) > 0;
40
+ const hasMultipleSelections = (selectionCount ?? 0) > 1;
39
41
  const className = classNames(`${prefix}--list-box__selection`, {
40
- [`${prefix}--tag--filter`]: selectionCount,
41
- [`${prefix}--list-box__selection--multi`]: selectionCount
42
+ [`${prefix}--tag--filter`]: hasSelectionCount,
43
+ [`${prefix}--list-box__selection--multi`]: hasSelectionCount
42
44
  });
43
45
  const handleOnClick = (event) => {
44
46
  event.stopPropagation();
@@ -46,9 +48,9 @@ const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t =
46
48
  clearSelection(event);
47
49
  if (onClearSelection) onClearSelection(event);
48
50
  };
49
- const description = selectionCount ? t("clear.all") : t("clear.selection");
51
+ const description = hasMultipleSelections ? t("clear.all") : t("clear.selection");
50
52
  const tagClasses = classNames(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
51
- return selectionCount ? /* @__PURE__ */ jsxs("div", {
53
+ return hasSelectionCount ? /* @__PURE__ */ jsxs("div", {
52
54
  className: tagClasses,
53
55
  children: [/* @__PURE__ */ jsx("span", {
54
56
  className: `${prefix}--tag__label`,
@@ -59,27 +61,48 @@ const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t =
59
61
  tabIndex: -1,
60
62
  className: `${prefix}--tag__close-icon`,
61
63
  onClick: handleOnClick,
62
- "aria-label": t("clear.all"),
64
+ "aria-label": description,
63
65
  title: description,
64
66
  "aria-disabled": readOnly ? true : void 0,
65
67
  children: /* @__PURE__ */ jsx(Close, {})
66
68
  })]
67
- }) : /* @__PURE__ */ jsxs("div", {
69
+ }) : /* @__PURE__ */ jsx("div", {
68
70
  role: "button",
69
71
  className,
70
72
  tabIndex: -1,
71
73
  onClick: handleOnClick,
72
74
  "aria-label": description,
73
75
  title: description,
74
- children: [selectionCount, /* @__PURE__ */ jsx(Close, {})]
76
+ children: /* @__PURE__ */ jsx(Close, {})
75
77
  });
76
78
  };
77
79
  ListBoxSelection.propTypes = {
80
+ /**
81
+ * Specify a function to be invoked when a user interacts with the clear
82
+ * selection element.
83
+ */
78
84
  clearSelection: PropTypes.func.isRequired,
85
+ /**
86
+ * Specify whether or not the clear selection element should be disabled
87
+ */
79
88
  disabled: PropTypes.bool,
89
+ /**
90
+ * Specify an optional `onClearSelection` handler that is called when the underlying
91
+ * element is cleared
92
+ */
80
93
  onClearSelection: PropTypes.func,
94
+ /**
95
+ * Whether or not the Dropdown is readonly
96
+ */
81
97
  readOnly: PropTypes.bool,
98
+ /**
99
+ * Specify an optional `selectionCount` value that will be used to determine
100
+ * whether the selection should display a badge or a single clear icon.
101
+ */
82
102
  selectionCount: PropTypes.number,
103
+ /**
104
+ * Translates component strings using your i18n tool.
105
+ */
83
106
  translateWithId: PropTypes.func
84
107
  };
85
108
  //#endregion
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -13,7 +13,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
13
13
  import { Close } from "@carbon/icons-react";
14
14
  //#region src/components/ListBox/next/ListBoxSelection.tsx
15
15
  /**
16
- * Copyright IBM Corp. 2016, 2025
16
+ * Copyright IBM Corp. 2016, 2026
17
17
  *
18
18
  * This source code is licensed under the Apache-2.0 license found in the
19
19
  * LICENSE file in the root directory of this source tree.
@@ -28,7 +28,7 @@ const translationIds = {
28
28
  "clear.selection": "clear.selection"
29
29
  };
30
30
  const defaultTranslations = {
31
- [translationIds["clear.all"]]: "Clear all selected items",
31
+ [translationIds["clear.all"]]: "Clear selected items",
32
32
  [translationIds["clear.selection"]]: "Clear selected item"
33
33
  };
34
34
  const defaultTranslateWithId = (messageId) => {
@@ -36,11 +36,13 @@ const defaultTranslateWithId = (messageId) => {
36
36
  };
37
37
  function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t = defaultTranslateWithId, disabled, readOnly, onClearSelection, ...rest }) {
38
38
  const prefix = usePrefix();
39
+ const hasSelectionCount = (selectionCount ?? 0) > 0;
40
+ const hasMultipleSelections = (selectionCount ?? 0) > 1;
39
41
  const className = classNames(`${prefix}--list-box__selection`, {
40
- [`${prefix}--tag--filter`]: selectionCount,
41
- [`${prefix}--list-box__selection--multi`]: selectionCount
42
+ [`${prefix}--tag--filter`]: hasSelectionCount,
43
+ [`${prefix}--list-box__selection--multi`]: hasSelectionCount
42
44
  });
43
- const description = selectionCount ? t("clear.all") : t("clear.selection");
45
+ const description = hasMultipleSelections ? t("clear.all") : t("clear.selection");
44
46
  const tagClasses = classNames(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
45
47
  function onClick(event) {
46
48
  event.stopPropagation();
@@ -48,7 +50,7 @@ function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t =
48
50
  clearSelection(event);
49
51
  if (onClearSelection) onClearSelection(event);
50
52
  }
51
- if (selectionCount) return /* @__PURE__ */ jsxs("div", {
53
+ if (hasSelectionCount) return /* @__PURE__ */ jsxs("div", {
52
54
  className: tagClasses,
53
55
  children: [/* @__PURE__ */ jsx("span", {
54
56
  className: `${prefix}--tag__label`,
@@ -80,14 +82,47 @@ function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t =
80
82
  });
81
83
  }
82
84
  ListBoxSelection.propTypes = {
85
+ /**
86
+ * Specify a function to be invoked when a user interacts with the clear
87
+ * selection element.
88
+ */
83
89
  clearSelection: PropTypes.func.isRequired,
90
+ /**
91
+ * Specify whether or not the clear selection element should be disabled
92
+ */
84
93
  disabled: PropTypes.bool,
94
+ /**
95
+ * Whether or not the listbox is readonly
96
+ */
85
97
  readOnly: PropTypes.bool,
98
+ /**
99
+ * Specify an optional `onClearSelection` handler that is called when the underlying
100
+ * element is cleared
101
+ */
86
102
  onClearSelection: PropTypes.func,
103
+ /**
104
+ * Specify an optional `onClick` handler that is called when the underlying
105
+ * clear selection element is clicked
106
+ */
87
107
  onClick: PropTypes.func,
108
+ /**
109
+ * Specify an optional `onClick` handler that is called when the underlying
110
+ * clear selection element is clicked
111
+ */
88
112
  onMouseUp: PropTypes.func,
113
+ /**
114
+ * Specify an optional `onKeyDown` handler that is called when the underlying
115
+ * clear selection element fires a keydown event
116
+ */
89
117
  onKeyDown: PropTypes.func,
118
+ /**
119
+ * Specify an optional `selectionCount` value that will be used to determine
120
+ * whether the selection should display a badge or a single clear icon.
121
+ */
90
122
  selectionCount: PropTypes.number,
123
+ /**
124
+ * Translates component strings using your i18n tool.
125
+ */
91
126
  translateWithId: PropTypes.func
92
127
  };
93
128
  //#endregion
@@ -52,7 +52,14 @@ const ListBoxTrigger = React.forwardRef(({ isOpen, translateWithId: t = defaultT
52
52
  });
53
53
  });
54
54
  ListBoxTrigger.propTypes = {
55
+ /**
56
+ * Specify whether the menu is currently open, which will influence the
57
+ * direction of the menu icon
58
+ */
55
59
  isOpen: PropTypes.bool.isRequired,
60
+ /**
61
+ * Translates component strings using your i18n tool.
62
+ */
56
63
  translateWithId: PropTypes.func
57
64
  };
58
65
  //#endregion
@@ -27,7 +27,13 @@ function ListItem({ className, children, ...other }) {
27
27
  });
28
28
  }
29
29
  ListItem.propTypes = {
30
+ /**
31
+ * Specify the content for the ListItem
32
+ */
30
33
  children: PropTypes.node,
34
+ /**
35
+ * Specify an optional className to apply to the underlying `<li>` node
36
+ */
31
37
  className: PropTypes.string
32
38
  };
33
39
  //#endregion
@@ -62,11 +62,29 @@ function Loading({ active = true, className: customClassName, withOverlay = true
62
62
  }) : loading;
63
63
  }
64
64
  Loading.propTypes = {
65
+ /**
66
+ * Specify whether you want the loading indicator to be spinning or not
67
+ */
65
68
  active: PropTypes.bool,
69
+ /**
70
+ * Provide an optional className to be applied to the containing node
71
+ */
66
72
  className: PropTypes.string,
73
+ /**
74
+ * Specify a description that would be used to best describe the loading state
75
+ */
67
76
  description: PropTypes.string,
77
+ /**
78
+ * Provide an `id` to uniquely identify the label
79
+ */
68
80
  id: deprecate(PropTypes.string, `\nThe prop \`id\` is no longer needed.`),
81
+ /**
82
+ * Specify whether you would like the small variant of <Loading>
83
+ */
69
84
  small: PropTypes.bool,
85
+ /**
86
+ * Specify whether you want the loader to be applied with an overlay
87
+ */
70
88
  withOverlay: PropTypes.bool
71
89
  };
72
90
  //#endregion
@@ -212,25 +212,77 @@ const Menu = forwardRef(function Menu({ backgroundToken = "layer", border = fals
212
212
  return isRoot ? open && createPortal(rendered, target) || null : rendered;
213
213
  });
214
214
  Menu.propTypes = {
215
+ /**
216
+ * Specify the background token to use. Default is 'layer'.
217
+ */
215
218
  backgroundToken: PropTypes.oneOf(["layer", "background"]),
219
+ /**
220
+ * Specify whether a border should be rendered on the menu
221
+ */
216
222
  border: PropTypes.bool,
223
+ /**
224
+ * A collection of MenuItems to be rendered within this Menu.
225
+ */
217
226
  children: PropTypes.node,
227
+ /**
228
+ * Additional CSS class names.
229
+ */
218
230
  className: PropTypes.string,
231
+ /**
232
+ * A label describing the Menu.
233
+ */
219
234
  label: PropTypes.string,
235
+ /**
236
+ * Specify how the menu should align with the button element
237
+ */
220
238
  menuAlignment: PropTypes.string,
239
+ /**
240
+ * **Deprecated**: Menus now always support both icons as well as selectable items and nesting.
241
+ * The mode of this menu. Defaults to full.
242
+ * `full` supports nesting and selectable menu items, but no icons.
243
+ * `basic` supports icons but no nesting or selectable menu items.
244
+ *
245
+ * **This prop is not intended for use and will be set by the respective implementation (like useContextMenu, MenuButton, and ComboButton).**
246
+ */
221
247
  mode: deprecate(PropTypes.oneOf(["full", "basic"]), "Menus now always support both icons as well as selectable items and nesting."),
248
+ /**
249
+ * Provide an optional function to be called when the Menu should be closed,
250
+ * including if the Menu is blurred, the user presses escape, or the Menu is
251
+ * a submenu and the user presses ArrowLeft.
252
+ */
222
253
  onClose: PropTypes.func,
254
+ /**
255
+ * Provide an optional function to be called when the Menu is opened.
256
+ */
223
257
  onOpen: PropTypes.func,
258
+ /**
259
+ * Whether the Menu is open or not.
260
+ */
224
261
  open: PropTypes.bool,
262
+ /**
263
+ * Specify the size of the Menu.
264
+ */
225
265
  size: PropTypes.oneOf([
226
266
  "xs",
227
267
  "sm",
228
268
  "md",
229
269
  "lg"
230
270
  ]),
271
+ /**
272
+ * Specify a DOM node where the Menu should be rendered in. Defaults to document.body.
273
+ */
231
274
  target: PropTypes.object,
275
+ /**
276
+ * Specify the x position of the Menu. Either pass a single number or an array with two numbers describing your activator's boundaries ([x1, x2])
277
+ */
232
278
  x: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),
279
+ /**
280
+ * Specify the y position of the Menu. Either pass a single number or an array with two numbers describing your activator's boundaries ([y1, y2])
281
+ */
233
282
  y: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),
283
+ /**
284
+ * @deprecated Internal compatibility flag. Use `false` to enable auto-alignment behavior.
285
+ */
234
286
  legacyAutoalign: PropTypes.bool
235
287
  };
236
288
  //#endregion