@carbon/react 1.82.1 → 1.83.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 (402) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +943 -828
  2. package/es/components/AILabel/index.js +13 -13
  3. package/es/components/AISkeleton/AISkeletonIcon.js +2 -2
  4. package/es/components/AISkeleton/AISkeletonPlaceholder.js +2 -2
  5. package/es/components/AISkeleton/AISkeletonText.js +2 -2
  6. package/es/components/Accordion/Accordion.Skeleton.js +15 -15
  7. package/es/components/Accordion/Accordion.js +3 -3
  8. package/es/components/Accordion/AccordionItem.js +9 -9
  9. package/es/components/Accordion/AccordionProvider.js +2 -2
  10. package/es/components/AccordionItem/index.d.ts +9 -0
  11. package/es/components/AspectRatio/AspectRatio.js +2 -2
  12. package/es/components/BadgeIndicator/index.js +3 -3
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +5 -5
  14. package/es/components/Breadcrumb/Breadcrumb.js +3 -3
  15. package/es/components/Breadcrumb/BreadcrumbItem.js +9 -9
  16. package/es/components/Button/Button.Skeleton.js +3 -3
  17. package/es/components/Button/Button.js +5 -5
  18. package/es/components/Button/ButtonBase.js +5 -5
  19. package/es/components/ButtonSet/ButtonSet.js +2 -2
  20. package/es/components/ChatButton/ChatButton.Skeleton.js +2 -2
  21. package/es/components/ChatButton/ChatButton.js +3 -3
  22. package/es/components/Checkbox/Checkbox.Skeleton.js +4 -4
  23. package/es/components/Checkbox/Checkbox.js +15 -15
  24. package/es/components/CheckboxGroup/CheckboxGroup.js +12 -12
  25. package/es/components/ClassPrefix/index.js +2 -2
  26. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +7 -7
  27. package/es/components/CodeSnippet/CodeSnippet.js +16 -16
  28. package/es/components/ComboBox/ComboBox.js +18 -18
  29. package/es/components/ComboButton/index.js +7 -7
  30. package/es/components/ComposedModal/ComposedModal.js +20 -20
  31. package/es/components/ComposedModal/ModalFooter.js +8 -8
  32. package/es/components/ComposedModal/ModalHeader.js +8 -8
  33. package/es/components/ContainedList/ContainedList.js +7 -7
  34. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +7 -7
  35. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
  36. package/es/components/ContentSwitcher/ContentSwitcher.js +13 -7
  37. package/es/components/Copy/Copy.js +2 -2
  38. package/es/components/CopyButton/CopyButton.js +4 -4
  39. package/es/components/DangerButton/DangerButton.js +2 -2
  40. package/es/components/DataTable/DataTable.d.ts +81 -283
  41. package/es/components/DataTable/DataTable.js +83 -123
  42. package/es/components/DataTable/Table.d.ts +2 -2
  43. package/es/components/DataTable/Table.js +4 -4
  44. package/es/components/DataTable/TableActionList.d.ts +1 -1
  45. package/es/components/DataTable/TableBatchAction.js +2 -2
  46. package/es/components/DataTable/TableBatchActions.js +9 -9
  47. package/es/components/DataTable/TableBody.d.ts +3 -3
  48. package/es/components/DataTable/TableBody.js +2 -2
  49. package/es/components/DataTable/TableCell.d.ts +3 -4
  50. package/es/components/DataTable/TableCell.js +2 -2
  51. package/es/components/DataTable/TableContainer.d.ts +2 -3
  52. package/es/components/DataTable/TableContainer.js +6 -6
  53. package/es/components/DataTable/TableDecoratorRow.js +4 -4
  54. package/es/components/DataTable/TableExpandHeader.d.ts +2 -3
  55. package/es/components/DataTable/TableExpandHeader.js +4 -4
  56. package/es/components/DataTable/TableExpandRow.js +8 -8
  57. package/es/components/DataTable/TableExpandedRow.d.ts +3 -3
  58. package/es/components/DataTable/TableExpandedRow.js +4 -4
  59. package/es/components/DataTable/TableHead.d.ts +1 -1
  60. package/es/components/DataTable/TableHeader.d.ts +4 -4
  61. package/es/components/DataTable/TableHeader.js +15 -15
  62. package/es/components/DataTable/TableRow.d.ts +3 -4
  63. package/es/components/DataTable/TableRow.js +4 -4
  64. package/es/components/DataTable/TableSelectAll.js +3 -3
  65. package/es/components/DataTable/TableSelectRow.js +4 -4
  66. package/es/components/DataTable/TableSlugRow.js +3 -3
  67. package/es/components/DataTable/TableToolbar.js +2 -2
  68. package/es/components/DataTable/TableToolbarAction.js +2 -2
  69. package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
  70. package/es/components/DataTable/TableToolbarMenu.js +2 -2
  71. package/es/components/DataTable/TableToolbarSearch.js +2 -2
  72. package/es/components/DataTable/index.d.ts +1 -1
  73. package/es/components/DataTableSkeleton/DataTableSkeleton.js +15 -15
  74. package/es/components/DatePicker/DatePicker.Skeleton.js +8 -8
  75. package/es/components/DatePicker/DatePicker.d.ts +1 -1
  76. package/es/components/DatePicker/DatePicker.js +23 -20
  77. package/es/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  78. package/es/components/DatePickerInput/DatePickerInput.js +19 -19
  79. package/es/components/Dialog/index.d.ts +5 -6
  80. package/es/components/Dialog/index.js +10 -10
  81. package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  82. package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
  83. package/es/components/Dropdown/Dropdown.d.ts +3 -3
  84. package/es/components/Dropdown/Dropdown.js +18 -18
  85. package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
  86. package/es/components/ExpandableSearch/ExpandableSearch.js +3 -3
  87. package/es/components/FeatureFlags/index.js +2 -2
  88. package/es/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  89. package/es/components/FileUploader/FileUploader.Skeleton.js +5 -5
  90. package/es/components/FileUploader/FileUploader.d.ts +2 -3
  91. package/es/components/FileUploader/FileUploader.js +12 -12
  92. package/es/components/FileUploader/FileUploaderButton.d.ts +3 -4
  93. package/es/components/FileUploader/FileUploaderButton.js +6 -5
  94. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  95. package/es/components/FileUploader/FileUploaderDropContainer.js +5 -5
  96. package/es/components/FileUploader/FileUploaderItem.d.ts +2 -3
  97. package/es/components/FileUploader/FileUploaderItem.js +13 -13
  98. package/es/components/FileUploader/Filename.d.ts +3 -4
  99. package/es/components/FileUploader/Filename.js +7 -7
  100. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -5
  101. package/es/components/FluidComboBox/FluidComboBox.js +4 -4
  102. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +11 -11
  103. package/es/components/FluidDatePicker/FluidDatePicker.js +4 -4
  104. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +3 -3
  105. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +5 -5
  106. package/es/components/FluidDropdown/FluidDropdown.js +4 -4
  107. package/es/components/FluidForm/FluidForm.d.ts +3 -4
  108. package/es/components/FluidForm/FluidForm.js +3 -3
  109. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -5
  110. package/es/components/FluidMultiSelect/FluidMultiSelect.js +5 -5
  111. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +5 -5
  112. package/es/components/FluidNumberInput/FluidNumberInput.js +4 -4
  113. package/es/components/FluidSearch/FluidSearch.Skeleton.js +5 -5
  114. package/es/components/FluidSearch/FluidSearch.js +4 -4
  115. package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -5
  116. package/es/components/FluidSelect/FluidSelect.js +4 -4
  117. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +5 -5
  118. package/es/components/FluidTextArea/FluidTextArea.js +3 -3
  119. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +5 -5
  120. package/es/components/FluidTextInput/FluidTextInput.js +5 -5
  121. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +3 -3
  122. package/es/components/FluidTimePicker/FluidTimePicker.js +13 -13
  123. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +3 -3
  124. package/es/components/Form/Form.js +2 -2
  125. package/es/components/FormGroup/FormGroup.d.ts +3 -4
  126. package/es/components/FormGroup/FormGroup.js +4 -4
  127. package/es/components/FormItem/FormItem.js +2 -2
  128. package/es/components/FormLabel/FormLabel.js +2 -2
  129. package/es/components/Grid/CSSGrid.js +8 -8
  130. package/es/components/Grid/Column.d.ts +5 -5
  131. package/es/components/Grid/Column.js +15 -15
  132. package/es/components/Grid/ColumnHang.js +2 -2
  133. package/es/components/Grid/FlexGrid.js +4 -4
  134. package/es/components/Grid/Grid.js +3 -3
  135. package/es/components/Grid/GridContext.d.ts +2 -2
  136. package/es/components/Grid/GridContext.js +1 -1
  137. package/es/components/Grid/Row.js +2 -2
  138. package/es/components/Heading/index.js +9 -9
  139. package/es/components/Icon/Icon.Skeleton.js +2 -2
  140. package/es/components/IconButton/index.js +11 -6
  141. package/es/components/IconIndicator/index.js +4 -4
  142. package/es/components/IdPrefix/index.js +2 -2
  143. package/es/components/InlineCheckbox/InlineCheckbox.js +6 -6
  144. package/es/components/InlineLoading/InlineLoading.js +10 -10
  145. package/es/components/Layer/LayerContext.js +2 -2
  146. package/es/components/Layer/index.d.ts +4 -0
  147. package/es/components/Layer/index.js +15 -8
  148. package/es/components/Layout/index.js +5 -5
  149. package/es/components/LayoutDirection/LayoutDirection.js +4 -4
  150. package/es/components/LayoutDirection/LayoutDirectionContext.js +2 -2
  151. package/es/components/LayoutDirection/index.d.ts +8 -0
  152. package/es/components/Link/Link.js +6 -6
  153. package/es/components/ListBox/ListBox.d.ts +2 -3
  154. package/es/components/ListBox/ListBox.js +5 -5
  155. package/es/components/ListBox/ListBoxField.d.ts +3 -4
  156. package/es/components/ListBox/ListBoxField.js +2 -2
  157. package/es/components/ListBox/ListBoxMenu.d.ts +2 -3
  158. package/es/components/ListBox/ListBoxMenu.js +2 -2
  159. package/es/components/ListBox/ListBoxMenuIcon.js +4 -4
  160. package/es/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  161. package/es/components/ListBox/ListBoxMenuItem.js +3 -3
  162. package/es/components/ListBox/ListBoxSelection.js +6 -6
  163. package/es/components/ListBox/next/ListBoxSelection.js +7 -7
  164. package/es/components/ListBox/next/ListBoxTrigger.js +4 -4
  165. package/es/components/ListItem/ListItem.js +2 -2
  166. package/es/components/Loading/Loading.d.ts +3 -3
  167. package/es/components/Loading/Loading.js +6 -6
  168. package/es/components/Menu/Menu.js +5 -4
  169. package/es/components/Menu/MenuItem.js +18 -17
  170. package/es/components/MenuButton/index.js +4 -4
  171. package/es/components/Modal/Modal.d.ts +3 -4
  172. package/es/components/Modal/Modal.js +40 -38
  173. package/es/components/ModalWrapper/ModalWrapper.js +7 -7
  174. package/es/components/MultiSelect/FilterableMultiSelect.js +22 -26
  175. package/es/components/MultiSelect/MultiSelect.js +23 -23
  176. package/es/components/Notification/Notification.js +41 -41
  177. package/es/components/NumberInput/NumberInput.Skeleton.js +4 -4
  178. package/es/components/NumberInput/NumberInput.js +22 -22
  179. package/es/components/OrderedList/OrderedList.js +2 -2
  180. package/es/components/OverflowMenu/OverflowMenu.js +7 -7
  181. package/es/components/OverflowMenu/index.js +3 -3
  182. package/es/components/OverflowMenu/next/index.js +6 -6
  183. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
  184. package/es/components/OverflowMenuV2/index.js +3 -3
  185. package/es/components/PageHeader/PageHeader.js +29 -29
  186. package/es/components/Pagination/Pagination.Skeleton.js +8 -8
  187. package/es/components/Pagination/Pagination.js +17 -17
  188. package/es/components/Pagination/experimental/PageSelector.js +3 -3
  189. package/es/components/Pagination/experimental/Pagination.js +14 -14
  190. package/es/components/PaginationNav/PaginationNav.js +31 -31
  191. package/es/components/Popover/index.js +15 -15
  192. package/es/components/PrimaryButton/PrimaryButton.js +2 -2
  193. package/es/components/ProgressBar/ProgressBar.js +13 -13
  194. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +7 -7
  195. package/es/components/ProgressIndicator/ProgressIndicator.js +20 -20
  196. package/es/components/RadioButton/RadioButton.Skeleton.js +4 -4
  197. package/es/components/RadioButton/RadioButton.js +10 -10
  198. package/es/components/RadioButtonGroup/RadioButtonGroup.js +16 -16
  199. package/es/components/RadioTile/RadioTile.js +12 -12
  200. package/es/components/Search/Search.Skeleton.js +4 -4
  201. package/es/components/Search/Search.js +11 -11
  202. package/es/components/SecondaryButton/SecondaryButton.js +2 -2
  203. package/es/components/Select/Select.Skeleton.js +5 -5
  204. package/es/components/Select/Select.js +19 -19
  205. package/es/components/SelectItem/SelectItem.js +2 -2
  206. package/es/components/SelectItemGroup/SelectItemGroup.js +2 -2
  207. package/es/components/ShapeIndicator/index.js +7 -7
  208. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  209. package/es/components/SkeletonIcon/SkeletonIcon.js +3 -7
  210. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
  211. package/es/components/SkeletonText/SkeletonText.js +4 -4
  212. package/es/components/Slider/Slider.Skeleton.js +17 -17
  213. package/es/components/Slider/Slider.d.ts +8 -0
  214. package/es/components/Slider/Slider.js +44 -38
  215. package/es/components/Slider/SliderHandles.js +19 -19
  216. package/es/components/Stack/HStack.js +2 -2
  217. package/es/components/Stack/Stack.js +2 -2
  218. package/es/components/Stack/VStack.js +2 -2
  219. package/es/components/StructuredList/StructuredList.Skeleton.js +12 -12
  220. package/es/components/StructuredList/StructuredList.js +24 -24
  221. package/es/components/Switch/IconSwitch.js +3 -3
  222. package/es/components/Switch/Switch.js +4 -4
  223. package/es/components/TabContent/TabContent.js +2 -2
  224. package/es/components/Tabs/Tabs.Skeleton.js +7 -7
  225. package/es/components/Tabs/Tabs.js +65 -62
  226. package/es/components/Tag/DismissibleTag.d.ts +4 -0
  227. package/es/components/Tag/DismissibleTag.js +18 -13
  228. package/es/components/Tag/OperationalTag.js +6 -6
  229. package/es/components/Tag/SelectableTag.d.ts +4 -0
  230. package/es/components/Tag/SelectableTag.js +18 -9
  231. package/es/components/Tag/Tag.Skeleton.js +2 -2
  232. package/es/components/Tag/Tag.js +15 -15
  233. package/es/components/Text/Text.js +4 -4
  234. package/es/components/Text/TextDirection.js +2 -2
  235. package/es/components/Text/createTextComponent.js +2 -2
  236. package/es/components/TextArea/TextArea.Skeleton.js +4 -4
  237. package/es/components/TextArea/TextArea.js +19 -19
  238. package/es/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  239. package/es/components/TextInput/ControlledPasswordInput.js +13 -13
  240. package/es/components/TextInput/PasswordInput.js +15 -15
  241. package/es/components/TextInput/TextInput.Skeleton.js +4 -4
  242. package/es/components/TextInput/TextInput.js +17 -17
  243. package/es/components/Theme/index.js +10 -10
  244. package/es/components/Tile/Tile.js +36 -36
  245. package/es/components/TileGroup/TileGroup.d.ts +3 -4
  246. package/es/components/TileGroup/TileGroup.js +8 -8
  247. package/es/components/TimePicker/TimePicker.d.ts +2 -3
  248. package/es/components/TimePicker/TimePicker.js +14 -14
  249. package/es/components/TimePickerSelect/TimePickerSelect.js +4 -4
  250. package/es/components/Toggle/Toggle.Skeleton.js +4 -4
  251. package/es/components/Toggle/Toggle.js +10 -10
  252. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +8 -8
  253. package/es/components/Toggletip/index.js +12 -12
  254. package/es/components/Tooltip/DefinitionTooltip.js +4 -4
  255. package/es/components/Tooltip/Tooltip.d.ts +3 -0
  256. package/es/components/Tooltip/Tooltip.js +25 -13
  257. package/es/components/TreeView/TreeNode.js +45 -36
  258. package/es/components/TreeView/TreeView.js +30 -21
  259. package/es/components/UIShell/Content.js +2 -2
  260. package/es/components/UIShell/Header.js +2 -2
  261. package/es/components/UIShell/HeaderContainer.js +2 -2
  262. package/es/components/UIShell/HeaderGlobalAction.js +3 -3
  263. package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  264. package/es/components/UIShell/HeaderMenu.js +14 -14
  265. package/es/components/UIShell/HeaderMenuButton.js +4 -4
  266. package/es/components/UIShell/HeaderMenuItem.js +11 -9
  267. package/es/components/UIShell/HeaderName.js +3 -3
  268. package/es/components/UIShell/HeaderNavigation.js +3 -3
  269. package/es/components/UIShell/HeaderPanel.js +3 -3
  270. package/es/components/UIShell/HeaderSideNavItems.js +2 -2
  271. package/es/components/UIShell/Link.js +3 -3
  272. package/es/components/UIShell/SideNav.js +7 -7
  273. package/es/components/UIShell/SideNavDetails.js +3 -3
  274. package/es/components/UIShell/SideNavDivider.js +3 -3
  275. package/es/components/UIShell/SideNavFooter.js +7 -7
  276. package/es/components/UIShell/SideNavHeader.js +3 -3
  277. package/es/components/UIShell/SideNavIcon.js +2 -2
  278. package/es/components/UIShell/SideNavItem.js +2 -2
  279. package/es/components/UIShell/SideNavItems.js +5 -5
  280. package/es/components/UIShell/SideNavLink.js +5 -5
  281. package/es/components/UIShell/SideNavLinkText.js +2 -2
  282. package/es/components/UIShell/SideNavMenu.js +10 -10
  283. package/es/components/UIShell/SideNavMenuItem.js +5 -5
  284. package/es/components/UIShell/SideNavSwitcher.js +8 -8
  285. package/es/components/UIShell/SkipToContent.js +2 -2
  286. package/es/components/UIShell/Switcher.js +9 -9
  287. package/es/components/UIShell/SwitcherDivider.js +2 -2
  288. package/es/components/UIShell/SwitcherItem.js +3 -3
  289. package/es/components/UnorderedList/UnorderedList.js +2 -2
  290. package/es/feature-flags.d.ts +7 -0
  291. package/es/index.js +25 -26
  292. package/es/internal/FloatingMenu.js +4 -4
  293. package/es/internal/__mocks__/mockHTMLElement.d.ts +9 -0
  294. package/es/internal/createClassWrapper.js +2 -2
  295. package/es/internal/debounce.d.ts +8 -0
  296. package/es/internal/environment.d.ts +12 -0
  297. package/es/internal/useId.js +2 -2
  298. package/es/internal/useIdPrefix.js +3 -3
  299. package/es/internal/useNormalizedInputProps.js +3 -3
  300. package/es/internal/usePrefix.js +3 -3
  301. package/es/internal/usePreviousValue.d.ts +17 -0
  302. package/es/internal/usePreviousValue.js +28 -0
  303. package/es/internal/useResizeObserver.d.ts +14 -0
  304. package/es/internal/useResizeObserver.js +74 -0
  305. package/es/internal/wrapFocus.js +3 -6
  306. package/es/prop-types/AriaPropTypes.d.ts +8 -0
  307. package/es/tools/wrapComponent.d.ts +3 -4
  308. package/es/tools/wrapComponent.js +2 -2
  309. package/es/types/common.d.ts +0 -2
  310. package/lib/components/AccordionItem/index.d.ts +9 -0
  311. package/lib/components/CodeSnippet/CodeSnippet.js +2 -3
  312. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +8 -0
  313. package/lib/components/ContentSwitcher/ContentSwitcher.js +7 -1
  314. package/lib/components/DataTable/DataTable.d.ts +81 -283
  315. package/lib/components/DataTable/DataTable.js +82 -123
  316. package/lib/components/DataTable/Table.d.ts +2 -2
  317. package/lib/components/DataTable/TableActionList.d.ts +1 -1
  318. package/lib/components/DataTable/TableBody.d.ts +3 -3
  319. package/lib/components/DataTable/TableCell.d.ts +3 -4
  320. package/lib/components/DataTable/TableContainer.d.ts +2 -3
  321. package/lib/components/DataTable/TableExpandHeader.d.ts +2 -3
  322. package/lib/components/DataTable/TableExpandedRow.d.ts +3 -3
  323. package/lib/components/DataTable/TableHead.d.ts +1 -1
  324. package/lib/components/DataTable/TableHeader.d.ts +4 -4
  325. package/lib/components/DataTable/TableRow.d.ts +3 -4
  326. package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
  327. package/lib/components/DataTable/index.d.ts +1 -1
  328. package/lib/components/DatePicker/DatePicker.d.ts +1 -1
  329. package/lib/components/DatePicker/DatePicker.js +6 -3
  330. package/lib/components/DatePickerInput/DatePickerInput.d.ts +3 -4
  331. package/lib/components/Dialog/index.d.ts +5 -6
  332. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -3
  333. package/lib/components/Dropdown/Dropdown.d.ts +3 -3
  334. package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +3 -3
  335. package/lib/components/FileUploader/FileUploader.d.ts +2 -3
  336. package/lib/components/FileUploader/FileUploaderButton.d.ts +3 -4
  337. package/lib/components/FileUploader/FileUploaderButton.js +3 -2
  338. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +2 -3
  339. package/lib/components/FileUploader/FileUploaderItem.d.ts +2 -3
  340. package/lib/components/FileUploader/Filename.d.ts +3 -4
  341. package/lib/components/FluidForm/FluidForm.d.ts +3 -4
  342. package/lib/components/FormGroup/FormGroup.d.ts +3 -4
  343. package/lib/components/Grid/Column.d.ts +5 -5
  344. package/lib/components/Grid/Column.js +10 -10
  345. package/lib/components/Grid/GridContext.d.ts +2 -2
  346. package/lib/components/Grid/GridContext.js +5 -23
  347. package/lib/components/IconButton/index.js +6 -1
  348. package/lib/components/Layer/index.d.ts +4 -0
  349. package/lib/components/Layer/index.js +9 -2
  350. package/lib/components/LayoutDirection/index.d.ts +8 -0
  351. package/lib/components/Link/Link.js +1 -1
  352. package/lib/components/ListBox/ListBox.d.ts +2 -3
  353. package/lib/components/ListBox/ListBoxField.d.ts +3 -4
  354. package/lib/components/ListBox/ListBoxMenu.d.ts +2 -3
  355. package/lib/components/ListBox/ListBoxMenuItem.d.ts +2 -3
  356. package/lib/components/Loading/Loading.d.ts +3 -3
  357. package/lib/components/Menu/Menu.js +2 -1
  358. package/lib/components/Menu/MenuItem.js +2 -1
  359. package/lib/components/Modal/Modal.d.ts +3 -4
  360. package/lib/components/Modal/Modal.js +5 -3
  361. package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -5
  362. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +0 -4
  363. package/lib/components/SkeletonIcon/SkeletonIcon.js +1 -5
  364. package/lib/components/Slider/Slider.d.ts +8 -0
  365. package/lib/components/Slider/Slider.js +6 -0
  366. package/lib/components/Tabs/Tabs.js +5 -2
  367. package/lib/components/Tag/DismissibleTag.d.ts +4 -0
  368. package/lib/components/Tag/DismissibleTag.js +8 -3
  369. package/lib/components/Tag/SelectableTag.d.ts +4 -0
  370. package/lib/components/Tag/SelectableTag.js +12 -3
  371. package/lib/components/TextInput/ControlledPasswordInput.d.ts +2 -3
  372. package/lib/components/TileGroup/TileGroup.d.ts +3 -4
  373. package/lib/components/TimePicker/TimePicker.d.ts +2 -3
  374. package/lib/components/Tooltip/Tooltip.d.ts +3 -0
  375. package/lib/components/Tooltip/Tooltip.js +18 -6
  376. package/lib/components/TreeView/TreeNode.js +20 -11
  377. package/lib/components/TreeView/TreeView.js +27 -18
  378. package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  379. package/lib/components/UIShell/HeaderMenuItem.js +7 -5
  380. package/lib/components/UIShell/Switcher.js +3 -3
  381. package/lib/feature-flags.d.ts +7 -0
  382. package/lib/index.js +50 -51
  383. package/lib/internal/__mocks__/mockHTMLElement.d.ts +9 -0
  384. package/lib/internal/debounce.d.ts +8 -0
  385. package/lib/internal/environment.d.ts +12 -0
  386. package/lib/internal/usePreviousValue.d.ts +17 -0
  387. package/lib/internal/usePreviousValue.js +32 -0
  388. package/lib/internal/useResizeObserver.d.ts +14 -0
  389. package/lib/internal/useResizeObserver.js +78 -0
  390. package/lib/internal/wrapFocus.js +3 -6
  391. package/lib/prop-types/AriaPropTypes.d.ts +8 -0
  392. package/lib/tools/wrapComponent.d.ts +3 -4
  393. package/lib/types/common.d.ts +0 -2
  394. package/package.json +5 -6
  395. package/scss/components/content-switcher/_tokens.scss +9 -0
  396. package/telemetry.yml +5 -1
  397. package/es/components/DataTable/index.js +0 -76
  398. package/es/prop-types/tools/getDisplayName.js +0 -34
  399. package/es/prop-types/types.js +0 -13
  400. package/lib/components/DataTable/index.js +0 -82
  401. package/lib/prop-types/tools/getDisplayName.js +0 -38
  402. package/lib/prop-types/types.js +0 -17
@@ -8,12 +8,12 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default from 'react';
11
+ import React from 'react';
12
12
  import SideNavLinkText from './SideNavLinkText.js';
13
13
  import Link from './Link.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
- const SideNavMenuItem = /*#__PURE__*/React__default.forwardRef(function SideNavMenuItem(props, ref) {
16
+ const SideNavMenuItem = /*#__PURE__*/React.forwardRef(function SideNavMenuItem(props, ref) {
17
17
  const prefix = usePrefix();
18
18
  const {
19
19
  children,
@@ -27,12 +27,12 @@ const SideNavMenuItem = /*#__PURE__*/React__default.forwardRef(function SideNavM
27
27
  [`${prefix}--side-nav__link`]: true,
28
28
  [`${prefix}--side-nav__link--current`]: isActive
29
29
  });
30
- return /*#__PURE__*/React__default.createElement("li", {
30
+ return /*#__PURE__*/React.createElement("li", {
31
31
  className: className
32
- }, /*#__PURE__*/React__default.createElement(Component, _extends({}, rest, {
32
+ }, /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
33
33
  className: linkClassName,
34
34
  ref: ref
35
- }), /*#__PURE__*/React__default.createElement(SideNavLinkText, null, children)));
35
+ }), /*#__PURE__*/React.createElement(SideNavLinkText, null, children)));
36
36
  });
37
37
  SideNavMenuItem.displayName = 'SideNavMenuItem';
38
38
  SideNavMenuItem.propTypes = {
@@ -8,7 +8,7 @@
8
8
  import { ChevronDown } from '@carbon/icons-react';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default, { forwardRef } from 'react';
11
+ import React, { forwardRef } from 'react';
12
12
  import { useId } from '../../internal/useId.js';
13
13
  import { usePrefix } from '../../internal/usePrefix.js';
14
14
 
@@ -25,30 +25,30 @@ const SideNavSwitcher = /*#__PURE__*/forwardRef(function SideNavSwitcher(props,
25
25
  const className = cx(`${prefix}--side-nav__switcher`, customClassName);
26
26
 
27
27
  // Note for usage around `onBlur`: https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-onchange.md
28
- return /*#__PURE__*/React__default.createElement("div", {
28
+ return /*#__PURE__*/React.createElement("div", {
29
29
  className: className
30
- }, /*#__PURE__*/React__default.createElement("label", {
30
+ }, /*#__PURE__*/React.createElement("label", {
31
31
  htmlFor: id,
32
32
  className: `${prefix}--assistive-text`
33
- }, labelText), /*#__PURE__*/React__default.createElement("select", {
33
+ }, labelText), /*#__PURE__*/React.createElement("select", {
34
34
  id: id,
35
35
  className: `${prefix}--side-nav__select`,
36
36
  defaultValue: "",
37
37
  onBlur: onChange,
38
38
  onChange: onChange,
39
39
  ref: ref
40
- }, /*#__PURE__*/React__default.createElement("option", {
40
+ }, /*#__PURE__*/React.createElement("option", {
41
41
  className: `${prefix}--side-nav__option`,
42
42
  disabled: true,
43
43
  hidden: true,
44
44
  value: ""
45
- }, labelText), options.map(option => /*#__PURE__*/React__default.createElement("option", {
45
+ }, labelText), options.map(option => /*#__PURE__*/React.createElement("option", {
46
46
  key: option,
47
47
  className: `${prefix}--side-nav__option`,
48
48
  value: option
49
- }, option))), /*#__PURE__*/React__default.createElement("div", {
49
+ }, option))), /*#__PURE__*/React.createElement("div", {
50
50
  className: `${prefix}--side-nav__switcher-chevron`
51
- }, _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default.createElement(ChevronDown, {
51
+ }, _ChevronDown || (_ChevronDown = /*#__PURE__*/React.createElement(ChevronDown, {
52
52
  size: 20
53
53
  }))));
54
54
  });
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
- import React__default from 'react';
10
+ import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
@@ -21,7 +21,7 @@ function SkipToContent(_ref) {
21
21
  } = _ref;
22
22
  const prefix = usePrefix();
23
23
  const className = cx(`${prefix}--skip-to-content`, customClassName);
24
- return /*#__PURE__*/React__default.createElement("a", _extends({}, rest, {
24
+ return /*#__PURE__*/React.createElement("a", _extends({}, rest, {
25
25
  className: className,
26
26
  href: href,
27
27
  tabIndex: tabIndex
@@ -6,13 +6,13 @@
6
6
  */
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { forwardRef, useRef } from 'react';
9
+ import React, { forwardRef, useRef } from 'react';
10
10
  import cx from 'classnames';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
  import { useMergedRefs } from '../../internal/useMergedRefs.js';
13
13
  import PropTypes from 'prop-types';
14
14
  import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
15
- import getDisplayName from '../../prop-types/tools/getDisplayName.js';
15
+ import SwitcherItem from './SwitcherItem.js';
16
16
 
17
17
  const Switcher = /*#__PURE__*/forwardRef(function Switcher(props, forwardRef) {
18
18
  const switcherRef = useRef(null);
@@ -37,8 +37,8 @@ const Switcher = /*#__PURE__*/forwardRef(function Switcher(props, forwardRef) {
37
37
  currentIndex,
38
38
  direction
39
39
  } = _ref;
40
- const enabledIndices = React__default.Children.toArray(children).reduce((acc, curr, i) => {
41
- if (/*#__PURE__*/React__default.isValidElement(curr) && Object.keys(curr.props).length !== 0 && getDisplayName(curr.type) === 'SwitcherItem') {
40
+ const enabledIndices = React.Children.toArray(children).reduce((acc, curr, i) => {
41
+ if (/*#__PURE__*/React.isValidElement(curr) && Object.keys(curr.props).length !== 0 && curr.type === SwitcherItem) {
42
42
  acc.push(i);
43
43
  }
44
44
  return acc;
@@ -64,23 +64,23 @@ const Switcher = /*#__PURE__*/forwardRef(function Switcher(props, forwardRef) {
64
64
  switcherItem.focus();
65
65
  }
66
66
  };
67
- const childrenWithProps = React__default.Children.toArray(children).map((child, index) => {
67
+ const childrenWithProps = React.Children.toArray(children).map((child, index) => {
68
68
  // only setup click handlers if onChange event is passed
69
- if (/*#__PURE__*/React__default.isValidElement(child) && child.type && getDisplayName(child.type) === 'SwitcherItem') {
70
- return /*#__PURE__*/React__default.cloneElement(child, {
69
+ if (/*#__PURE__*/React.isValidElement(child) && child.type === SwitcherItem) {
70
+ return /*#__PURE__*/React.cloneElement(child, {
71
71
  handleSwitcherItemFocus,
72
72
  index,
73
73
  key: index,
74
74
  expanded
75
75
  });
76
76
  }
77
- return /*#__PURE__*/React__default.cloneElement(child, {
77
+ return /*#__PURE__*/React.cloneElement(child, {
78
78
  index,
79
79
  key: index,
80
80
  expanded
81
81
  });
82
82
  });
83
- return /*#__PURE__*/React__default.createElement("ul", _extends({
83
+ return /*#__PURE__*/React.createElement("ul", _extends({
84
84
  ref: ref,
85
85
  className: className
86
86
  }, accessibilityLabel), childrenWithProps);
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default from 'react';
9
+ import React from 'react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
@@ -20,7 +20,7 @@ const SwitcherDivider = _ref => {
20
20
  const classNames = cx(`${prefix}--switcher__item--divider`, {
21
21
  [customClassName || '']: !!customClassName
22
22
  });
23
- return /*#__PURE__*/React__default.createElement("hr", _extends({}, other, {
23
+ return /*#__PURE__*/React.createElement("hr", _extends({}, other, {
24
24
  className: classNames
25
25
  }));
26
26
  };
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { forwardRef } from 'react';
9
+ import React, { forwardRef } from 'react';
10
10
  import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
12
  import Link from './Link.js';
@@ -59,9 +59,9 @@ const SwitcherItem = /*#__PURE__*/forwardRef(function SwitcherItem(props, forwar
59
59
  });
60
60
  }
61
61
  }
62
- return /*#__PURE__*/React__default.createElement("li", {
62
+ return /*#__PURE__*/React.createElement("li", {
63
63
  className: classNames
64
- }, /*#__PURE__*/React__default.createElement(Link, _extends({
64
+ }, /*#__PURE__*/React.createElement(Link, _extends({
65
65
  onKeyDown: evt => {
66
66
  setTabFocus(evt);
67
67
  onKeyDown(evt);
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import PropTypes from 'prop-types';
10
- import React__default from 'react';
10
+ import React from 'react';
11
11
  import cx from 'classnames';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
@@ -23,7 +23,7 @@ function UnorderedList(_ref) {
23
23
  [`${prefix}--list--nested`]: nested,
24
24
  [`${prefix}--list--expressive`]: isExpressive
25
25
  });
26
- return /*#__PURE__*/React__default.createElement("ul", _extends({
26
+ return /*#__PURE__*/React.createElement("ul", _extends({
27
27
  className: classNames
28
28
  }, other));
29
29
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export {};
package/es/index.js CHANGED
@@ -33,7 +33,29 @@ export { default as useContextMenu } from './components/ContextMenu/useContextMe
33
33
  export { default as Copy } from './components/Copy/Copy.js';
34
34
  export { default as CopyButton } from './components/CopyButton/CopyButton.js';
35
35
  export { default as DangerButton } from './components/DangerButton/DangerButton.js';
36
- import './components/DataTable/index.js';
36
+ export { default as DataTable } from './components/DataTable/DataTable.js';
37
+ export { Table } from './components/DataTable/Table.js';
38
+ export { default as TableActionList } from './components/DataTable/TableActionList.js';
39
+ export { default as TableBatchAction } from './components/DataTable/TableBatchAction.js';
40
+ export { default as TableBatchActions } from './components/DataTable/TableBatchActions.js';
41
+ export { default as TableBody } from './components/DataTable/TableBody.js';
42
+ export { default as TableCell } from './components/DataTable/TableCell.js';
43
+ export { default as TableContainer } from './components/DataTable/TableContainer.js';
44
+ export { default as TableExpandHeader } from './components/DataTable/TableExpandHeader.js';
45
+ export { default as TableDecoratorRow } from './components/DataTable/TableDecoratorRow.js';
46
+ export { default as TableExpandRow } from './components/DataTable/TableExpandRow.js';
47
+ export { default as TableExpandedRow } from './components/DataTable/TableExpandedRow.js';
48
+ export { default as TableHead } from './components/DataTable/TableHead.js';
49
+ export { default as TableHeader } from './components/DataTable/TableHeader.js';
50
+ export { default as TableRow } from './components/DataTable/TableRow.js';
51
+ export { default as TableSelectAll } from './components/DataTable/TableSelectAll.js';
52
+ export { default as TableSelectRow } from './components/DataTable/TableSelectRow.js';
53
+ export { default as TableSlugRow } from './components/DataTable/TableSlugRow.js';
54
+ export { default as TableToolbar } from './components/DataTable/TableToolbar.js';
55
+ export { default as TableToolbarAction } from './components/DataTable/TableToolbarAction.js';
56
+ export { default as TableToolbarContent } from './components/DataTable/TableToolbarContent.js';
57
+ export { default as TableToolbarSearch } from './components/DataTable/TableToolbarSearch.js';
58
+ export { default as TableToolbarMenu } from './components/DataTable/TableToolbarMenu.js';
37
59
  export { default as DataTableSkeleton } from './components/DataTableSkeleton/DataTableSkeleton.js';
38
60
  export { default as DatePicker } from './components/DatePicker/DatePicker.js';
39
61
  export { default as DatePickerSkeleton } from './components/DatePicker/DatePicker.Skeleton.js';
@@ -192,6 +214,8 @@ export { Heading, Section } from './components/Heading/index.js';
192
214
  export { IconButton, IconButtonKinds } from './components/IconButton/index.js';
193
215
  export { Layer, useLayer } from './components/Layer/index.js';
194
216
  export { Layout as unstable_Layout } from './components/Layout/index.js';
217
+ export { LayoutDirection as unstable_LayoutDirection } from './components/LayoutDirection/LayoutDirection.js';
218
+ export { useLayoutDirection as unstable_useLayoutDirection } from './components/LayoutDirection/useLayoutDirection.js';
195
219
  export { OverflowMenuV2 as unstable_OverflowMenuV2 } from './components/OverflowMenuV2/index.js';
196
220
  export { Popover, PopoverContent } from './components/Popover/index.js';
197
221
  export { default as ProgressBar } from './components/ProgressBar/ProgressBar.js';
@@ -214,30 +238,5 @@ export { default as unstable_Pagination } from './components/Pagination/experime
214
238
  export { default as ContainedListItem } from './components/ContainedList/ContainedListItem/ContainedListItem.js';
215
239
  export { default as ContainedList } from './components/ContainedList/ContainedList.js';
216
240
  export { default as SliderSkeleton } from './components/Slider/Slider.Skeleton.js';
217
- export { LayoutDirection as unstable_LayoutDirection } from './components/LayoutDirection/LayoutDirection.js';
218
- export { useLayoutDirection as unstable_useLayoutDirection } from './components/LayoutDirection/useLayoutDirection.js';
219
241
  export { Text as unstable_Text } from './components/Text/Text.js';
220
242
  export { TextDirection as unstable_TextDirection } from './components/Text/TextDirection.js';
221
- export { default as DataTable } from './components/DataTable/DataTable.js';
222
- export { Table } from './components/DataTable/Table.js';
223
- export { default as TableActionList } from './components/DataTable/TableActionList.js';
224
- export { default as TableBatchAction } from './components/DataTable/TableBatchAction.js';
225
- export { default as TableBatchActions } from './components/DataTable/TableBatchActions.js';
226
- export { default as TableBody } from './components/DataTable/TableBody.js';
227
- export { default as TableCell } from './components/DataTable/TableCell.js';
228
- export { default as TableContainer } from './components/DataTable/TableContainer.js';
229
- export { default as TableDecoratorRow } from './components/DataTable/TableDecoratorRow.js';
230
- export { default as TableExpandHeader } from './components/DataTable/TableExpandHeader.js';
231
- export { default as TableExpandRow } from './components/DataTable/TableExpandRow.js';
232
- export { default as TableExpandedRow } from './components/DataTable/TableExpandedRow.js';
233
- export { default as TableHead } from './components/DataTable/TableHead.js';
234
- export { default as TableHeader } from './components/DataTable/TableHeader.js';
235
- export { default as TableRow } from './components/DataTable/TableRow.js';
236
- export { default as TableSelectAll } from './components/DataTable/TableSelectAll.js';
237
- export { default as TableSelectRow } from './components/DataTable/TableSelectRow.js';
238
- export { default as TableSlugRow } from './components/DataTable/TableSlugRow.js';
239
- export { default as TableToolbar } from './components/DataTable/TableToolbar.js';
240
- export { default as TableToolbarAction } from './components/DataTable/TableToolbarAction.js';
241
- export { default as TableToolbarContent } from './components/DataTable/TableToolbarContent.js';
242
- export { default as TableToolbarSearch } from './components/DataTable/TableToolbarSearch.js';
243
- export { default as TableToolbarMenu } from './components/DataTable/TableToolbarMenu.js';
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default, { useContext, useState, useRef, useCallback, useEffect, cloneElement } from 'react';
8
+ import React, { useContext, useState, useRef, useCallback, useEffect, cloneElement } from 'react';
9
9
  import * as FeatureFlags from '@carbon/feature-flags';
10
10
  import ReactDOM from 'react-dom';
11
11
  import window from 'window-or-global';
@@ -276,15 +276,15 @@ const FloatingMenu = _ref2 => {
276
276
  const focusTrapWithoutSentinels = FeatureFlags.enabled('enable-experimental-focus-wrap-without-sentinels');
277
277
  if (typeof document !== 'undefined') {
278
278
  const portalTarget = target ? target() : document.body;
279
- return /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React__default.createElement("div", {
279
+ return /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/React.createElement("div", {
280
280
  onBlur: focusTrap && !focusTrapWithoutSentinels ? handleBlur : undefined,
281
281
  onKeyDown: focusTrapWithoutSentinels ? handleKeyDown : undefined
282
- }, !focusTrapWithoutSentinels && /*#__PURE__*/React__default.createElement("span", {
282
+ }, !focusTrapWithoutSentinels && /*#__PURE__*/React.createElement("span", {
283
283
  ref: startSentinelRef,
284
284
  tabIndex: 0,
285
285
  role: "link",
286
286
  className: `${prefix}--visually-hidden`
287
- }, "Focus sentinel"), getChildrenWithProps(), !focusTrapWithoutSentinels && /*#__PURE__*/React__default.createElement("span", {
287
+ }, "Focus sentinel"), getChildrenWithProps(), !focusTrapWithoutSentinels && /*#__PURE__*/React.createElement("span", {
288
288
  ref: endSentinelRef,
289
289
  tabIndex: 0,
290
290
  role: "link",
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export declare const mockHTMLElement: (options: HTMLElement) => {
8
+ mockRestore: () => void;
9
+ };
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import React from 'react';
9
9
 
10
10
  /**
11
11
  * Wrap a class component with a functional component. This prevents an end-user
@@ -13,7 +13,7 @@ import React__default from 'react';
13
13
  */
14
14
  const createClassWrapper = Component => {
15
15
  const ClassWrapper = props => {
16
- return /*#__PURE__*/React__default.createElement(Component, props);
16
+ return /*#__PURE__*/React.createElement(Component, props);
17
17
  };
18
18
  const name = Component.displayName || Component.name;
19
19
  ClassWrapper.displayName = `ClassWrapper(${name})`;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { debounce } from 'es-toolkit/compat';
8
+ export default debounce;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /**
8
+ * Indicate whether current execution environment can access the DOM.
9
+ *
10
+ * @see https://github.com/facebook/fbjs/blob/4d1751311d3f67af2dcce2e40df8512a23c7b9c6/packages/fbjs/src/core/ExecutionEnvironment.js#L12
11
+ */
12
+ export declare const canUseDOM: boolean;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default, { useLayoutEffect, useEffect, useState } from 'react';
8
+ import React, { useState, useEffect, useLayoutEffect } from 'react';
9
9
  import { setupGetInstanceId } from '../tools/setupGetInstanceId.js';
10
10
  import { canUseDOM } from './environment.js';
11
11
  import { useIdPrefix } from './useIdPrefix.js';
@@ -17,7 +17,7 @@ import { useIdPrefix } from './useIdPrefix.js';
17
17
  // https://github.com/webpack/webpack/issues/14814
18
18
  // https://github.com/mui/material-ui/issues/41190
19
19
  const _React = {
20
- ...React__default
20
+ ...React
21
21
  };
22
22
  const instanceId = setupGetInstanceId();
23
23
  const useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
@@ -5,11 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import React from 'react';
9
9
 
10
- const IdPrefixContext = /*#__PURE__*/React__default.createContext(null);
10
+ const IdPrefixContext = /*#__PURE__*/React.createContext(null);
11
11
  function useIdPrefix() {
12
- return React__default.useContext(IdPrefixContext);
12
+ return React.useContext(IdPrefixContext);
13
13
  }
14
14
 
15
15
  export { IdPrefixContext, useIdPrefix };
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import React from 'react';
9
9
  import { WarningFilled, WarningAltFilled } from '@carbon/icons-react';
10
10
  import '../components/Text/index.js';
11
11
  import { usePrefix } from './usePrefix.js';
@@ -43,14 +43,14 @@ const useNormalizedInputProps = _ref => {
43
43
  };
44
44
  if (normalizedProps.invalid) {
45
45
  normalizedProps.icon = WarningFilled;
46
- normalizedProps.validation = /*#__PURE__*/React__default.createElement(Text, {
46
+ normalizedProps.validation = /*#__PURE__*/React.createElement(Text, {
47
47
  as: "div",
48
48
  className: `${prefix}--form-requirement`,
49
49
  id: normalizedProps.invalidId
50
50
  }, invalidText);
51
51
  } else if (normalizedProps.warn) {
52
52
  normalizedProps.icon = WarningAltFilled;
53
- normalizedProps.validation = /*#__PURE__*/React__default.createElement(Text, {
53
+ normalizedProps.validation = /*#__PURE__*/React.createElement(Text, {
54
54
  as: "div",
55
55
  className: `${prefix}--form-requirement`,
56
56
  id: normalizedProps.warnId
@@ -5,11 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import React from 'react';
9
9
 
10
- const PrefixContext = /*#__PURE__*/React__default.createContext('cds');
10
+ const PrefixContext = /*#__PURE__*/React.createContext('cds');
11
11
  function usePrefix() {
12
- return React__default.useContext(PrefixContext);
12
+ return React.useContext(PrefixContext);
13
13
  }
14
14
 
15
15
  export { PrefixContext, usePrefix };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /**
8
+ * Stores the previous value of a given input.
9
+ *
10
+ * @param value - The current value.
11
+ * @returns The value before the current render.
12
+ *
13
+ * @example
14
+ * const [count, setCount] = useState(0);
15
+ * const prevCount = usePreviousValue(count);
16
+ */
17
+ export declare const usePreviousValue: <T>(value: T) => T | undefined;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useRef, useEffect } from 'react';
9
+
10
+ /**
11
+ * Stores the previous value of a given input.
12
+ *
13
+ * @param value - The current value.
14
+ * @returns The value before the current render.
15
+ *
16
+ * @example
17
+ * const [count, setCount] = useState(0);
18
+ * const prevCount = usePreviousValue(count);
19
+ */
20
+ const usePreviousValue = value => {
21
+ const ref = useRef(undefined);
22
+ useEffect(() => {
23
+ ref.current = value;
24
+ }, [value]);
25
+ return ref.current;
26
+ };
27
+
28
+ export { usePreviousValue };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { RefObject } from 'react';
8
+ export declare const useResizeObserver: ({ ref, onResize, }: {
9
+ ref: RefObject<HTMLElement>;
10
+ onResize?: (rect: DOMRectReadOnly) => void;
11
+ }) => {
12
+ width: number;
13
+ height: number;
14
+ };
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useState, useRef, useEffect, useLayoutEffect } from 'react';
9
+
10
+ const useResizeObserver = _ref => {
11
+ let {
12
+ ref,
13
+ onResize
14
+ } = _ref;
15
+ const [width, setWidth] = useState(-1);
16
+ const [height, setHeight] = useState(-1);
17
+ const entriesToHandle = useRef(null);
18
+ const cb = useRef(onResize);
19
+ useEffect(() => {
20
+ // ref for onResize removes it as dependency from useLayoutEffect
21
+ // This significantly reduces repeated calls if a function is redefined on every
22
+ // render
23
+ cb.current = onResize;
24
+ }, [onResize]);
25
+ useEffect(() => {
26
+ const getInitialSize = () => {
27
+ if (ref.current) {
28
+ const refComputedStyle = window.getComputedStyle(ref.current);
29
+ const initialWidth = (ref.current?.offsetWidth ?? 0) - (typeof refComputedStyle?.paddingLeft === 'string' && refComputedStyle?.paddingLeft.length ? parseFloat(refComputedStyle?.paddingLeft) : 0) - (typeof refComputedStyle?.paddingRight === 'string' && refComputedStyle?.paddingRight.length ? parseFloat(refComputedStyle?.paddingRight) : 0);
30
+ const initialHeight = (ref.current?.offsetHeight ?? 0) - (typeof refComputedStyle?.paddingTop === 'string' && refComputedStyle?.paddingTop.length ? parseFloat(refComputedStyle?.paddingTop) : 0) - (typeof refComputedStyle?.paddingBottom === 'string' && refComputedStyle?.paddingBottom.length ? parseFloat(refComputedStyle?.paddingBottom) : 0);
31
+ setWidth(initialWidth);
32
+ setHeight(initialHeight);
33
+ }
34
+ };
35
+ if (!ref?.current || width >= 0 && height >= 0) {
36
+ return;
37
+ }
38
+ getInitialSize();
39
+ }, [width, height]);
40
+ useLayoutEffect(() => {
41
+ if (!ref?.current) {
42
+ return;
43
+ }
44
+ const doCallbacks = () => {
45
+ if (!ref?.current || !Array.isArray(entriesToHandle?.current)) {
46
+ return;
47
+ }
48
+ const entry = entriesToHandle.current[0];
49
+ setWidth(entry.contentRect.width);
50
+ setHeight(entry.contentRect.height);
51
+ cb.current && cb.current(entry.contentRect);
52
+ };
53
+ const observer = new ResizeObserver(entries => {
54
+ // always update entriesToHandle
55
+ entriesToHandle.current = entries;
56
+ window.requestAnimationFrame(() => {
57
+ // do callbacks
58
+ doCallbacks();
59
+ });
60
+ });
61
+
62
+ // observe all refs passed
63
+ observer.observe(ref.current);
64
+ return () => {
65
+ observer.disconnect();
66
+ };
67
+ }, []);
68
+ return {
69
+ width,
70
+ height
71
+ };
72
+ };
73
+
74
+ export { useResizeObserver };
@@ -5,7 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { useEffect } from 'react';
9
8
  import { tabbable } from 'tabbable';
10
9
  import { selectorTabbable } from './keyboard/navigation.js';
11
10
 
@@ -96,11 +95,9 @@ const wrapFocusWithoutSentinels = _ref4 => {
96
95
  event
97
96
  } = _ref4;
98
97
  if (!containerNode) return;
99
- useEffect(() => {
100
- if (['blur', 'focusout', 'focusin', 'focus'].includes(event.type) && process.env.NODE_ENV !== 'production') {
101
- throw new Error(`Error: wrapFocusWithoutSentinels(...) called in unsupported ${event.type} event.\n\nCall wrapFocusWithoutSentinels(...) from onKeyDown instead.`);
102
- }
103
- }, []);
98
+ if (['blur', 'focusout', 'focusin', 'focus'].includes(event.type) && process.env.NODE_ENV !== 'production') {
99
+ throw new Error(`Error: wrapFocusWithoutSentinels(...) called in unsupported ${event.type} event.\n\nCall wrapFocusWithoutSentinels(...) from onKeyDown instead.`);
100
+ }
104
101
 
105
102
  // Use `tabbable` to get the focusable elements in tab order.
106
103
  // `selectorTabbable` returns elements in DOM order which is why it's not
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
8
+ export declare const AriaLabelPropType: PropTypes.ValidationMap<any>;
@@ -1,11 +1,10 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
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.
6
6
  */
7
- import React from 'react';
8
- import { ReactAttr } from '../types/common';
7
+ import React, { type HTMLAttributes } from 'react';
9
8
  type HTMLTagName = keyof HTMLElementTagNameMap;
10
9
  type WrapComponentArgs<T extends HTMLTagName> = {
11
10
  name: string;
@@ -16,5 +15,5 @@ type WrapComponentArgs<T extends HTMLTagName> = {
16
15
  * @param {{ name: string, type: string, className?: string | (prefix: string) => string }} props
17
16
  * @returns
18
17
  */
19
- declare const wrapComponent: <T extends HTMLTagName>({ name, className: getClassName, type, }: WrapComponentArgs<T>) => ((props: ReactAttr<T>) => React.ReactElement<any>);
18
+ declare const wrapComponent: <T extends HTMLTagName>({ name, className: getClassName, type, }: WrapComponentArgs<T>) => ((props: HTMLAttributes<T>) => React.ReactElement<any>);
20
19
  export default wrapComponent;