@carbon/react 1.83.0 → 1.84.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 (510) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +980 -945
  2. package/README.md +1 -1
  3. package/es/components/AILabel/index.js +27 -30
  4. package/es/components/AISkeleton/AISkeletonIcon.js +4 -5
  5. package/es/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  6. package/es/components/AISkeleton/AISkeletonText.js +4 -5
  7. package/es/components/Accordion/Accordion.Skeleton.js +9 -10
  8. package/es/components/Accordion/Accordion.js +10 -11
  9. package/es/components/Accordion/AccordionItem.js +13 -14
  10. package/es/components/Accordion/AccordionProvider.js +4 -5
  11. package/es/components/AspectRatio/AspectRatio.js +7 -8
  12. package/es/components/BadgeIndicator/index.js +5 -6
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  14. package/es/components/Button/Button.Skeleton.js +7 -8
  15. package/es/components/Button/ButtonBase.js +23 -24
  16. package/es/components/ChatButton/ChatButton.Skeleton.js +5 -6
  17. package/es/components/ChatButton/ChatButton.js +11 -12
  18. package/es/components/Checkbox/Checkbox.Skeleton.js +4 -5
  19. package/es/components/Checkbox/Checkbox.js +19 -20
  20. package/es/components/CheckboxGroup/CheckboxGroup.js +16 -17
  21. package/es/components/ClassPrefix/index.js +4 -5
  22. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  23. package/es/components/CodeSnippet/CodeSnippet.js +25 -26
  24. package/es/components/ComboBox/ComboBox.js +24 -30
  25. package/es/components/ComboBox/tools/filter.js +9 -12
  26. package/es/components/ComboButton/index.js +16 -18
  27. package/es/components/ComposedModal/ComposedModal.js +31 -34
  28. package/es/components/ComposedModal/ModalFooter.js +37 -42
  29. package/es/components/ComposedModal/ModalHeader.js +14 -15
  30. package/es/components/ContainedList/ContainedList.js +10 -11
  31. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  32. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +9 -29
  33. package/es/components/ContentSwitcher/ContentSwitcher.js +96 -128
  34. package/es/components/ContentSwitcher/index.d.ts +3 -4
  35. package/es/components/ContextMenu/useContextMenu.js +1 -2
  36. package/es/components/Copy/Copy.js +11 -12
  37. package/es/components/CopyButton/CopyButton.js +10 -11
  38. package/es/components/DataTable/DataTable.js +45 -53
  39. package/es/components/DataTable/Table.js +15 -18
  40. package/es/components/DataTable/TableBatchAction.js +8 -11
  41. package/es/components/DataTable/TableBatchActions.js +18 -20
  42. package/es/components/DataTable/TableBody.js +8 -11
  43. package/es/components/DataTable/TableContainer.js +9 -10
  44. package/es/components/DataTable/TableDecoratorRow.js +4 -5
  45. package/es/components/DataTable/TableExpandHeader.js +14 -15
  46. package/es/components/DataTable/TableExpandRow.js +13 -14
  47. package/es/components/DataTable/TableExpandedRow.js +6 -7
  48. package/es/components/DataTable/TableHeader.js +15 -16
  49. package/es/components/DataTable/TableSelectAll.js +11 -12
  50. package/es/components/DataTable/TableSelectRow.js +12 -13
  51. package/es/components/DataTable/TableSlugRow.js +4 -5
  52. package/es/components/DataTable/TableToolbar.js +7 -8
  53. package/es/components/DataTable/TableToolbarMenu.js +8 -9
  54. package/es/components/DataTable/TableToolbarSearch.js +22 -24
  55. package/es/components/DataTable/state/sorting.js +3 -4
  56. package/es/components/DataTable/tools/filter.js +10 -12
  57. package/es/components/DataTable/tools/normalize.js +6 -8
  58. package/es/components/DataTable/tools/sorting.js +24 -30
  59. package/es/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  60. package/es/components/DatePicker/DatePicker.Skeleton.js +7 -8
  61. package/es/components/DatePicker/DatePicker.js +88 -65
  62. package/es/components/DatePickerInput/DatePickerInput.js +5 -6
  63. package/es/components/Dialog/index.d.ts +193 -8
  64. package/es/components/Dialog/index.js +454 -35
  65. package/es/components/Dropdown/Dropdown.Skeleton.js +6 -7
  66. package/es/components/Dropdown/Dropdown.js +40 -43
  67. package/es/components/ErrorBoundary/ErrorBoundary.js +2 -2
  68. package/es/components/ExpandableSearch/ExpandableSearch.js +9 -10
  69. package/es/components/FeatureFlags/index.js +11 -12
  70. package/es/components/FileUploader/FileUploader.Skeleton.js +4 -5
  71. package/es/components/FileUploader/FileUploader.js +22 -24
  72. package/es/components/FileUploader/FileUploaderButton.js +16 -17
  73. package/es/components/FileUploader/FileUploaderDropContainer.js +15 -16
  74. package/es/components/FileUploader/FileUploaderItem.js +13 -14
  75. package/es/components/FileUploader/Filename.js +9 -10
  76. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  77. package/es/components/FluidComboBox/FluidComboBox.js +5 -6
  78. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  79. package/es/components/FluidDatePicker/FluidDatePicker.js +10 -11
  80. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  81. package/es/components/FluidDropdown/FluidDropdown.js +5 -6
  82. package/es/components/FluidForm/FluidForm.js +5 -6
  83. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  84. package/es/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  85. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  86. package/es/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  87. package/es/components/FluidNumberInput/FluidNumberInput.js +38 -5
  88. package/es/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  89. package/es/components/FluidSearch/FluidSearch.js +4 -5
  90. package/es/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  91. package/es/components/FluidSelect/FluidSelect.js +5 -6
  92. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  93. package/es/components/FluidTextArea/FluidTextArea.js +4 -5
  94. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  95. package/es/components/FluidTextInput/FluidTextInput.js +5 -6
  96. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  97. package/es/components/FluidTimePicker/FluidTimePicker.js +11 -12
  98. package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  99. package/es/components/Form/Form.js +5 -6
  100. package/es/components/FormGroup/FormGroup.js +11 -12
  101. package/es/components/FormItem/FormItem.js +5 -6
  102. package/es/components/FormLabel/FormLabel.js +6 -7
  103. package/es/components/Grid/CSSGrid.js +17 -19
  104. package/es/components/Grid/Column.js +28 -27
  105. package/es/components/Grid/ColumnHang.js +6 -7
  106. package/es/components/Grid/FlexGrid.js +9 -10
  107. package/es/components/Grid/GridContext.js +5 -6
  108. package/es/components/Grid/Row.js +8 -9
  109. package/es/components/Heading/index.js +5 -6
  110. package/es/components/Icon/Icon.Skeleton.js +4 -5
  111. package/es/components/IconButton/index.js +20 -21
  112. package/es/components/IconIndicator/index.js +7 -8
  113. package/es/components/IdPrefix/index.js +4 -5
  114. package/es/components/InlineLoading/InlineLoading.js +9 -10
  115. package/es/components/Layer/index.js +8 -9
  116. package/es/components/Layout/index.js +21 -26
  117. package/es/components/LayoutDirection/LayoutDirection.js +6 -7
  118. package/es/components/Link/Link.d.ts +1 -1
  119. package/es/components/Link/Link.js +14 -15
  120. package/es/components/ListBox/ListBoxField.js +6 -7
  121. package/es/components/ListBox/ListBoxMenu.js +5 -6
  122. package/es/components/ListBox/ListBoxMenuIcon.js +4 -5
  123. package/es/components/ListBox/ListBoxMenuItem.js +8 -10
  124. package/es/components/ListBox/ListBoxSelection.js +8 -9
  125. package/es/components/ListBox/next/ListBoxSelection.js +9 -10
  126. package/es/components/ListBox/next/ListBoxTrigger.js +5 -6
  127. package/es/components/ListItem/ListItem.js +5 -6
  128. package/es/components/Loading/Loading.js +8 -9
  129. package/es/components/Menu/Menu.js +23 -24
  130. package/es/components/Menu/MenuItem.js +39 -44
  131. package/es/components/MenuButton/index.js +16 -18
  132. package/es/components/Modal/Modal.js +55 -63
  133. package/es/components/ModalWrapper/ModalWrapper.js +2 -2
  134. package/es/components/MultiSelect/FilterableMultiSelect.js +46 -48
  135. package/es/components/MultiSelect/MultiSelect.js +43 -45
  136. package/es/components/MultiSelect/tools/sorting.js +11 -15
  137. package/es/components/Notification/Notification.js +96 -105
  138. package/es/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  139. package/es/components/NumberInput/NumberFormatPropTypes.js +40 -0
  140. package/es/components/NumberInput/NumberInput.Skeleton.js +6 -7
  141. package/es/components/NumberInput/NumberInput.d.ts +39 -3
  142. package/es/components/NumberInput/NumberInput.js +174 -44
  143. package/es/components/OrderedList/OrderedList.js +7 -8
  144. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  145. package/es/components/OverflowMenu/OverflowMenu.js +35 -41
  146. package/es/components/OverflowMenu/next/index.js +12 -13
  147. package/es/components/PageHeader/PageHeader.d.ts +29 -5
  148. package/es/components/PageHeader/PageHeader.js +119 -73
  149. package/es/components/Pagination/Pagination.Skeleton.js +4 -5
  150. package/es/components/Pagination/Pagination.js +24 -25
  151. package/es/components/Pagination/experimental/PageSelector.js +8 -9
  152. package/es/components/Pagination/experimental/Pagination.js +20 -21
  153. package/es/components/PaginationNav/PaginationNav.js +33 -38
  154. package/es/components/Popover/index.js +26 -28
  155. package/es/components/ProgressBar/ProgressBar.js +11 -12
  156. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  157. package/es/components/ProgressIndicator/ProgressIndicator.js +29 -32
  158. package/es/components/RadioTile/RadioTile.js +17 -18
  159. package/es/components/Search/Search.Skeleton.js +5 -6
  160. package/es/components/Search/Search.js +26 -28
  161. package/es/components/Select/Select.Skeleton.js +5 -6
  162. package/es/components/Select/Select.js +24 -25
  163. package/es/components/SelectItem/SelectItem.js +8 -9
  164. package/es/components/SelectItemGroup/SelectItemGroup.js +7 -8
  165. package/es/components/ShapeIndicator/index.js +7 -8
  166. package/es/components/SkeletonIcon/SkeletonIcon.js +4 -5
  167. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  168. package/es/components/SkeletonText/SkeletonText.js +8 -9
  169. package/es/components/Slider/Slider.Skeleton.js +8 -9
  170. package/es/components/Slider/Slider.js +69 -83
  171. package/es/components/Slider/SliderHandles.js +6 -6
  172. package/es/components/StructuredList/StructuredList.Skeleton.js +5 -6
  173. package/es/components/Tabs/Tabs.Skeleton.js +5 -6
  174. package/es/components/Tabs/Tabs.js +83 -98
  175. package/es/components/Tabs/usePressable.js +7 -8
  176. package/es/components/Tag/DismissibleTag.js +16 -17
  177. package/es/components/Tag/OperationalTag.js +10 -11
  178. package/es/components/Tag/SelectableTag.js +13 -14
  179. package/es/components/Tag/Tag.Skeleton.js +5 -6
  180. package/es/components/Tag/Tag.js +19 -20
  181. package/es/components/Text/Text.js +6 -7
  182. package/es/components/Text/TextDirection.js +5 -6
  183. package/es/components/TextArea/TextArea.js +3 -3
  184. package/es/components/TextInput/ControlledPasswordInput.js +24 -25
  185. package/es/components/TextInput/PasswordInput.js +26 -27
  186. package/es/components/TextInput/TextInput.Skeleton.js +5 -6
  187. package/es/components/TextInput/TextInput.js +27 -28
  188. package/es/components/TextInput/util.js +14 -17
  189. package/es/components/Theme/index.js +10 -12
  190. package/es/components/Tile/Tile.js +68 -74
  191. package/es/components/Toggle/Toggle.Skeleton.js +4 -5
  192. package/es/components/Toggle/Toggle.js +17 -18
  193. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  194. package/es/components/Toggletip/index.js +33 -39
  195. package/es/components/Tooltip/DefinitionTooltip.js +13 -14
  196. package/es/components/Tooltip/Tooltip.js +15 -16
  197. package/es/components/TreeView/TreeNode.js +20 -21
  198. package/es/components/TreeView/TreeView.js +14 -16
  199. package/es/components/UIShell/Content.js +6 -7
  200. package/es/components/UIShell/Header.js +5 -6
  201. package/es/components/UIShell/HeaderContainer.js +5 -6
  202. package/es/components/UIShell/HeaderGlobalAction.js +12 -13
  203. package/es/components/UIShell/HeaderMenu.d.ts +10 -112
  204. package/es/components/UIShell/HeaderMenu.js +154 -201
  205. package/es/components/UIShell/HeaderMenuButton.js +10 -11
  206. package/es/components/UIShell/HeaderMenuItem.js +10 -11
  207. package/es/components/UIShell/HeaderName.js +6 -7
  208. package/es/components/UIShell/HeaderNavigation.js +7 -8
  209. package/es/components/UIShell/HeaderPanel.js +9 -10
  210. package/es/components/UIShell/HeaderSideNavItems.js +5 -6
  211. package/es/components/UIShell/Link.js +8 -9
  212. package/es/components/UIShell/SideNav.js +23 -25
  213. package/es/components/UIShell/SideNavDetails.js +6 -7
  214. package/es/components/UIShell/SideNavDivider.js +3 -4
  215. package/es/components/UIShell/SideNavFooter.js +6 -7
  216. package/es/components/UIShell/SideNavHeader.js +5 -6
  217. package/es/components/UIShell/SideNavIcon.js +5 -6
  218. package/es/components/UIShell/SideNavItem.js +5 -6
  219. package/es/components/UIShell/SideNavItems.js +5 -6
  220. package/es/components/UIShell/SideNavLink.js +10 -11
  221. package/es/components/UIShell/SideNavLinkText.js +5 -6
  222. package/es/components/UIShell/SideNavMenu.js +11 -12
  223. package/es/components/UIShell/SkipToContent.js +7 -8
  224. package/es/components/UIShell/Switcher.js +4 -5
  225. package/es/components/UIShell/SwitcherDivider.js +4 -5
  226. package/es/components/UnorderedList/UnorderedList.js +6 -7
  227. package/es/index.js +2 -2
  228. package/es/internal/FloatingMenu.js +26 -28
  229. package/es/internal/Selection.js +15 -17
  230. package/es/internal/getAnnouncement.d.ts +8 -0
  231. package/es/internal/getAnnouncement.js +22 -0
  232. package/es/internal/keyboard/match.js +6 -7
  233. package/es/internal/useControllableState.d.ts +1 -1
  234. package/es/internal/useControllableState.js +8 -9
  235. package/es/internal/useDelayedState.js +1 -2
  236. package/es/internal/useDocumentLang.d.ts +12 -0
  237. package/es/internal/useId.js +2 -4
  238. package/es/internal/useMatchMedia.js +1 -2
  239. package/es/internal/useMergedRefs.d.ts +1 -1
  240. package/es/internal/useNoInteractiveChildren.js +2 -4
  241. package/es/internal/useNormalizedInputProps.js +9 -10
  242. package/es/internal/useResizeObserver.js +4 -5
  243. package/es/internal/useSavedCallback.js +1 -3
  244. package/es/internal/wrapFocus.js +20 -29
  245. package/es/prop-types/deprecate.js +1 -4
  246. package/es/prop-types/deprecateValuesWithin.js +1 -4
  247. package/es/prop-types/isRequiredOneOf.js +1 -4
  248. package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  249. package/es/tools/events.js +1 -4
  250. package/es/tools/mergeRefs.js +9 -14
  251. package/es/tools/uniqueId.js +1 -2
  252. package/es/tools/wrapComponent.js +9 -11
  253. package/lib/components/AILabel/index.js +27 -30
  254. package/lib/components/AISkeleton/AISkeletonIcon.js +4 -5
  255. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +4 -5
  256. package/lib/components/AISkeleton/AISkeletonText.js +4 -5
  257. package/lib/components/Accordion/Accordion.Skeleton.js +9 -10
  258. package/lib/components/Accordion/Accordion.js +10 -11
  259. package/lib/components/Accordion/AccordionItem.js +13 -14
  260. package/lib/components/Accordion/AccordionProvider.js +4 -5
  261. package/lib/components/AspectRatio/AspectRatio.js +7 -8
  262. package/lib/components/BadgeIndicator/index.js +5 -6
  263. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +4 -5
  264. package/lib/components/Button/Button.Skeleton.js +7 -8
  265. package/lib/components/Button/ButtonBase.js +23 -24
  266. package/lib/components/ChatButton/ChatButton.Skeleton.js +5 -6
  267. package/lib/components/ChatButton/ChatButton.js +11 -12
  268. package/lib/components/Checkbox/Checkbox.Skeleton.js +4 -5
  269. package/lib/components/Checkbox/Checkbox.js +19 -20
  270. package/lib/components/CheckboxGroup/CheckboxGroup.js +16 -17
  271. package/lib/components/ClassPrefix/index.js +4 -5
  272. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +5 -6
  273. package/lib/components/CodeSnippet/CodeSnippet.js +25 -26
  274. package/lib/components/ComboBox/ComboBox.js +24 -30
  275. package/lib/components/ComboBox/tools/filter.js +9 -12
  276. package/lib/components/ComboButton/index.js +16 -18
  277. package/lib/components/ComposedModal/ComposedModal.js +31 -34
  278. package/lib/components/ComposedModal/ModalFooter.js +37 -42
  279. package/lib/components/ComposedModal/ModalHeader.js +14 -15
  280. package/lib/components/ContainedList/ContainedList.js +10 -11
  281. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +9 -10
  282. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +9 -29
  283. package/lib/components/ContentSwitcher/ContentSwitcher.js +94 -126
  284. package/lib/components/ContentSwitcher/index.d.ts +3 -4
  285. package/lib/components/ContextMenu/useContextMenu.js +1 -2
  286. package/lib/components/Copy/Copy.js +11 -12
  287. package/lib/components/CopyButton/CopyButton.js +10 -11
  288. package/lib/components/DataTable/DataTable.js +45 -53
  289. package/lib/components/DataTable/Table.js +15 -18
  290. package/lib/components/DataTable/TableBatchAction.js +8 -11
  291. package/lib/components/DataTable/TableBatchActions.js +18 -20
  292. package/lib/components/DataTable/TableBody.js +8 -11
  293. package/lib/components/DataTable/TableContainer.js +9 -10
  294. package/lib/components/DataTable/TableDecoratorRow.js +4 -5
  295. package/lib/components/DataTable/TableExpandHeader.js +14 -15
  296. package/lib/components/DataTable/TableExpandRow.js +13 -14
  297. package/lib/components/DataTable/TableExpandedRow.js +6 -7
  298. package/lib/components/DataTable/TableHeader.js +15 -16
  299. package/lib/components/DataTable/TableSelectAll.js +11 -12
  300. package/lib/components/DataTable/TableSelectRow.js +12 -13
  301. package/lib/components/DataTable/TableSlugRow.js +4 -5
  302. package/lib/components/DataTable/TableToolbar.js +7 -8
  303. package/lib/components/DataTable/TableToolbarMenu.js +8 -9
  304. package/lib/components/DataTable/TableToolbarSearch.js +22 -24
  305. package/lib/components/DataTable/state/sorting.js +3 -4
  306. package/lib/components/DataTable/tools/filter.js +10 -12
  307. package/lib/components/DataTable/tools/normalize.js +6 -8
  308. package/lib/components/DataTable/tools/sorting.js +24 -30
  309. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +11 -12
  310. package/lib/components/DatePicker/DatePicker.Skeleton.js +7 -8
  311. package/lib/components/DatePicker/DatePicker.js +87 -64
  312. package/lib/components/DatePickerInput/DatePickerInput.js +5 -6
  313. package/lib/components/Dialog/index.d.ts +193 -8
  314. package/lib/components/Dialog/index.js +457 -33
  315. package/lib/components/Dropdown/Dropdown.Skeleton.js +6 -7
  316. package/lib/components/Dropdown/Dropdown.js +40 -43
  317. package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
  318. package/lib/components/ExpandableSearch/ExpandableSearch.js +9 -10
  319. package/lib/components/FeatureFlags/index.js +11 -12
  320. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -5
  321. package/lib/components/FileUploader/FileUploader.js +22 -24
  322. package/lib/components/FileUploader/FileUploaderButton.js +16 -17
  323. package/lib/components/FileUploader/FileUploaderDropContainer.js +15 -16
  324. package/lib/components/FileUploader/FileUploaderItem.js +13 -14
  325. package/lib/components/FileUploader/Filename.js +9 -10
  326. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +4 -5
  327. package/lib/components/FluidComboBox/FluidComboBox.js +5 -6
  328. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +5 -6
  329. package/lib/components/FluidDatePicker/FluidDatePicker.js +10 -11
  330. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +4 -5
  331. package/lib/components/FluidDropdown/FluidDropdown.js +5 -6
  332. package/lib/components/FluidForm/FluidForm.js +5 -6
  333. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +4 -5
  334. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +6 -7
  335. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +4 -5
  336. package/lib/components/FluidNumberInput/FluidNumberInput.d.ts +40 -1
  337. package/lib/components/FluidNumberInput/FluidNumberInput.js +38 -5
  338. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +4 -5
  339. package/lib/components/FluidSearch/FluidSearch.js +4 -5
  340. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +4 -5
  341. package/lib/components/FluidSelect/FluidSelect.js +5 -6
  342. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +4 -5
  343. package/lib/components/FluidTextArea/FluidTextArea.js +4 -5
  344. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +4 -5
  345. package/lib/components/FluidTextInput/FluidTextInput.js +5 -6
  346. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +5 -6
  347. package/lib/components/FluidTimePicker/FluidTimePicker.js +11 -12
  348. package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +5 -6
  349. package/lib/components/Form/Form.js +5 -6
  350. package/lib/components/FormGroup/FormGroup.js +11 -12
  351. package/lib/components/FormItem/FormItem.js +5 -6
  352. package/lib/components/FormLabel/FormLabel.js +6 -7
  353. package/lib/components/Grid/CSSGrid.js +17 -19
  354. package/lib/components/Grid/Column.js +28 -27
  355. package/lib/components/Grid/ColumnHang.js +6 -7
  356. package/lib/components/Grid/FlexGrid.js +9 -10
  357. package/lib/components/Grid/GridContext.js +5 -6
  358. package/lib/components/Grid/Row.js +8 -9
  359. package/lib/components/Heading/index.js +5 -6
  360. package/lib/components/Icon/Icon.Skeleton.js +4 -5
  361. package/lib/components/IconButton/index.js +20 -21
  362. package/lib/components/IconIndicator/index.js +7 -8
  363. package/lib/components/IdPrefix/index.js +4 -5
  364. package/lib/components/InlineLoading/InlineLoading.js +9 -10
  365. package/lib/components/Layer/index.js +8 -9
  366. package/lib/components/Layout/index.js +21 -26
  367. package/lib/components/LayoutDirection/LayoutDirection.js +6 -7
  368. package/lib/components/Link/Link.d.ts +1 -1
  369. package/lib/components/Link/Link.js +14 -15
  370. package/lib/components/ListBox/ListBoxField.js +6 -7
  371. package/lib/components/ListBox/ListBoxMenu.js +5 -6
  372. package/lib/components/ListBox/ListBoxMenuIcon.js +4 -5
  373. package/lib/components/ListBox/ListBoxMenuItem.js +8 -10
  374. package/lib/components/ListBox/ListBoxSelection.js +8 -9
  375. package/lib/components/ListBox/next/ListBoxSelection.js +9 -10
  376. package/lib/components/ListBox/next/ListBoxTrigger.js +5 -6
  377. package/lib/components/ListItem/ListItem.js +5 -6
  378. package/lib/components/Loading/Loading.js +8 -9
  379. package/lib/components/Menu/Menu.js +23 -24
  380. package/lib/components/Menu/MenuItem.js +39 -44
  381. package/lib/components/MenuButton/index.js +16 -18
  382. package/lib/components/Modal/Modal.js +55 -63
  383. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  384. package/lib/components/MultiSelect/FilterableMultiSelect.js +45 -47
  385. package/lib/components/MultiSelect/MultiSelect.js +43 -45
  386. package/lib/components/MultiSelect/tools/sorting.js +11 -15
  387. package/lib/components/Notification/Notification.js +96 -105
  388. package/lib/components/NumberInput/NumberFormatPropTypes.d.ts +29 -0
  389. package/lib/components/NumberInput/NumberFormatPropTypes.js +48 -0
  390. package/lib/components/NumberInput/NumberInput.Skeleton.js +6 -7
  391. package/lib/components/NumberInput/NumberInput.d.ts +39 -3
  392. package/lib/components/NumberInput/NumberInput.js +173 -43
  393. package/lib/components/OrderedList/OrderedList.js +7 -8
  394. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  395. package/lib/components/OverflowMenu/OverflowMenu.js +35 -41
  396. package/lib/components/OverflowMenu/next/index.js +12 -13
  397. package/lib/components/PageHeader/PageHeader.d.ts +29 -5
  398. package/lib/components/PageHeader/PageHeader.js +119 -73
  399. package/lib/components/Pagination/Pagination.Skeleton.js +4 -5
  400. package/lib/components/Pagination/Pagination.js +24 -25
  401. package/lib/components/Pagination/experimental/PageSelector.js +8 -9
  402. package/lib/components/Pagination/experimental/Pagination.js +20 -21
  403. package/lib/components/PaginationNav/PaginationNav.js +33 -38
  404. package/lib/components/Popover/index.js +26 -28
  405. package/lib/components/ProgressBar/ProgressBar.js +11 -12
  406. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +5 -6
  407. package/lib/components/ProgressIndicator/ProgressIndicator.js +29 -32
  408. package/lib/components/RadioTile/RadioTile.js +17 -18
  409. package/lib/components/Search/Search.Skeleton.js +5 -6
  410. package/lib/components/Search/Search.js +26 -28
  411. package/lib/components/Select/Select.Skeleton.js +5 -6
  412. package/lib/components/Select/Select.js +24 -25
  413. package/lib/components/SelectItem/SelectItem.js +8 -9
  414. package/lib/components/SelectItemGroup/SelectItemGroup.js +7 -8
  415. package/lib/components/ShapeIndicator/index.js +7 -8
  416. package/lib/components/SkeletonIcon/SkeletonIcon.js +4 -5
  417. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +4 -5
  418. package/lib/components/SkeletonText/SkeletonText.js +8 -9
  419. package/lib/components/Slider/Slider.Skeleton.js +8 -9
  420. package/lib/components/Slider/Slider.js +69 -83
  421. package/lib/components/Slider/SliderHandles.js +6 -6
  422. package/lib/components/StructuredList/StructuredList.Skeleton.js +5 -6
  423. package/lib/components/Tabs/Tabs.Skeleton.js +5 -6
  424. package/lib/components/Tabs/Tabs.js +83 -98
  425. package/lib/components/Tabs/usePressable.js +7 -8
  426. package/lib/components/Tag/DismissibleTag.js +16 -17
  427. package/lib/components/Tag/OperationalTag.js +10 -11
  428. package/lib/components/Tag/SelectableTag.js +13 -14
  429. package/lib/components/Tag/Tag.Skeleton.js +5 -6
  430. package/lib/components/Tag/Tag.js +19 -20
  431. package/lib/components/Text/Text.js +6 -7
  432. package/lib/components/Text/TextDirection.js +5 -6
  433. package/lib/components/TextArea/TextArea.js +3 -3
  434. package/lib/components/TextInput/ControlledPasswordInput.js +24 -25
  435. package/lib/components/TextInput/PasswordInput.js +26 -27
  436. package/lib/components/TextInput/TextInput.Skeleton.js +5 -6
  437. package/lib/components/TextInput/TextInput.js +27 -28
  438. package/lib/components/TextInput/util.js +14 -17
  439. package/lib/components/Theme/index.js +10 -12
  440. package/lib/components/Tile/Tile.js +68 -74
  441. package/lib/components/Toggle/Toggle.Skeleton.js +4 -5
  442. package/lib/components/Toggle/Toggle.js +17 -18
  443. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +6 -7
  444. package/lib/components/Toggletip/index.js +33 -39
  445. package/lib/components/Tooltip/DefinitionTooltip.js +13 -14
  446. package/lib/components/Tooltip/Tooltip.js +15 -16
  447. package/lib/components/TreeView/TreeNode.js +20 -21
  448. package/lib/components/TreeView/TreeView.js +14 -16
  449. package/lib/components/UIShell/Content.js +6 -7
  450. package/lib/components/UIShell/Header.js +5 -6
  451. package/lib/components/UIShell/HeaderContainer.js +5 -6
  452. package/lib/components/UIShell/HeaderGlobalAction.js +12 -13
  453. package/lib/components/UIShell/HeaderMenu.d.ts +10 -112
  454. package/lib/components/UIShell/HeaderMenu.js +152 -199
  455. package/lib/components/UIShell/HeaderMenuButton.js +10 -11
  456. package/lib/components/UIShell/HeaderMenuItem.js +10 -11
  457. package/lib/components/UIShell/HeaderName.js +6 -7
  458. package/lib/components/UIShell/HeaderNavigation.js +7 -8
  459. package/lib/components/UIShell/HeaderPanel.js +9 -10
  460. package/lib/components/UIShell/HeaderSideNavItems.js +5 -6
  461. package/lib/components/UIShell/Link.js +8 -9
  462. package/lib/components/UIShell/SideNav.js +23 -25
  463. package/lib/components/UIShell/SideNavDetails.js +6 -7
  464. package/lib/components/UIShell/SideNavDivider.js +3 -4
  465. package/lib/components/UIShell/SideNavFooter.js +6 -7
  466. package/lib/components/UIShell/SideNavHeader.js +5 -6
  467. package/lib/components/UIShell/SideNavIcon.js +5 -6
  468. package/lib/components/UIShell/SideNavItem.js +5 -6
  469. package/lib/components/UIShell/SideNavItems.js +5 -6
  470. package/lib/components/UIShell/SideNavLink.js +10 -11
  471. package/lib/components/UIShell/SideNavLinkText.js +5 -6
  472. package/lib/components/UIShell/SideNavMenu.js +11 -12
  473. package/lib/components/UIShell/SkipToContent.js +7 -8
  474. package/lib/components/UIShell/Switcher.js +4 -5
  475. package/lib/components/UIShell/SwitcherDivider.js +4 -5
  476. package/lib/components/UnorderedList/UnorderedList.js +6 -7
  477. package/lib/index.js +35 -35
  478. package/lib/internal/FloatingMenu.js +26 -28
  479. package/lib/internal/Selection.js +15 -17
  480. package/lib/internal/getAnnouncement.d.ts +8 -0
  481. package/lib/internal/getAnnouncement.js +26 -0
  482. package/lib/internal/keyboard/match.js +6 -7
  483. package/lib/internal/useControllableState.d.ts +1 -1
  484. package/lib/internal/useControllableState.js +8 -9
  485. package/lib/internal/useDelayedState.js +1 -2
  486. package/lib/internal/useDocumentLang.d.ts +12 -0
  487. package/lib/internal/useId.js +2 -4
  488. package/lib/internal/useMatchMedia.js +1 -2
  489. package/lib/internal/useMergedRefs.d.ts +1 -1
  490. package/lib/internal/useNoInteractiveChildren.js +2 -4
  491. package/lib/internal/useNormalizedInputProps.js +9 -10
  492. package/lib/internal/useResizeObserver.js +4 -5
  493. package/lib/internal/useSavedCallback.js +1 -3
  494. package/lib/internal/wrapFocus.js +20 -29
  495. package/lib/prop-types/deprecate.js +1 -4
  496. package/lib/prop-types/deprecateValuesWithin.js +1 -4
  497. package/lib/prop-types/isRequiredOneOf.js +1 -4
  498. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -4
  499. package/lib/tools/events.js +1 -4
  500. package/lib/tools/mergeRefs.js +9 -14
  501. package/lib/tools/uniqueId.js +1 -2
  502. package/lib/tools/wrapComponent.js +9 -11
  503. package/package.json +21 -19
  504. package/telemetry.yml +23 -1
  505. package/es/components/ContentSwitcher/index.js +0 -13
  506. package/es/feature-flags.d.ts +0 -7
  507. package/es/internal/useAnnouncer.js +0 -21
  508. package/lib/components/ContentSwitcher/index.js +0 -18
  509. package/lib/feature-flags.d.ts +0 -7
  510. package/lib/internal/useAnnouncer.js +0 -25
@@ -17,13 +17,12 @@ var _Close, _ChevronRight;
17
17
  * navigation that is a part of the UI Shell. It is responsible for handling the
18
18
  * user interaction to expand or collapse the side navigation.
19
19
  */
20
- function SideNavFooter(_ref) {
21
- let {
22
- assistiveText = 'Toggle opening or closing the side navigation',
23
- className: customClassName,
24
- expanded,
25
- onToggle
26
- } = _ref;
20
+ function SideNavFooter({
21
+ assistiveText = 'Toggle opening or closing the side navigation',
22
+ className: customClassName,
23
+ expanded,
24
+ onToggle
25
+ }) {
27
26
  const prefix = usePrefix();
28
27
  const className = cx(`${prefix}--side-nav__footer`, customClassName);
29
28
  return /*#__PURE__*/React.createElement("footer", {
@@ -11,12 +11,11 @@ import React from 'react';
11
11
  import SideNavIcon from './SideNavIcon.js';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- const SideNavHeader = _ref => {
15
- let {
16
- children,
17
- className: customClassName,
18
- renderIcon: IconElement
19
- } = _ref;
14
+ const SideNavHeader = ({
15
+ children,
16
+ className: customClassName,
17
+ renderIcon: IconElement
18
+ }) => {
20
19
  const prefix = usePrefix();
21
20
  const className = cx(`${prefix}--side-nav__header`, customClassName);
22
21
  return /*#__PURE__*/React.createElement("header", {
@@ -10,12 +10,11 @@ import PropTypes from 'prop-types';
10
10
  import React from 'react';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
 
13
- const SideNavIcon = _ref => {
14
- let {
15
- children,
16
- className: customClassName,
17
- small = false
18
- } = _ref;
13
+ const SideNavIcon = ({
14
+ children,
15
+ className: customClassName,
16
+ small = false
17
+ }) => {
19
18
  const prefix = usePrefix();
20
19
  const className = cx({
21
20
  [`${prefix}--side-nav__icon`]: true,
@@ -10,12 +10,11 @@ import PropTypes from 'prop-types';
10
10
  import React from 'react';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
 
13
- const SideNavItem = _ref => {
14
- let {
15
- className: customClassName,
16
- children,
17
- large = false
18
- } = _ref;
13
+ const SideNavItem = ({
14
+ className: customClassName,
15
+ children,
16
+ large = false
17
+ }) => {
19
18
  const prefix = usePrefix();
20
19
  const className = cx({
21
20
  [`${prefix}--side-nav__item`]: true,
@@ -11,12 +11,11 @@ import React from 'react';
11
11
  import { CARBON_SIDENAV_ITEMS } from './_utils.js';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- const SideNavItems = _ref => {
15
- let {
16
- className: customClassName,
17
- children,
18
- isSideNavExpanded
19
- } = _ref;
14
+ const SideNavItems = ({
15
+ className: customClassName,
16
+ children,
17
+ isSideNavExpanded
18
+ }) => {
20
19
  const prefix = usePrefix();
21
20
  const className = cx([`${prefix}--side-nav__items`], customClassName);
22
21
  const childrenWithExpandedState = React.Children.map(children, child => {
@@ -18,17 +18,16 @@ import { SideNavContext } from './SideNav.js';
18
18
 
19
19
  // First define a non-generic base component to work with forwardRef
20
20
 
21
- const SideNavLinkBase = (_ref, ref) => {
22
- let {
23
- children,
24
- className: customClassName,
25
- renderIcon: IconElement,
26
- isActive,
27
- isSideNavExpanded,
28
- large = false,
29
- tabIndex,
30
- ...rest
31
- } = _ref;
21
+ const SideNavLinkBase = ({
22
+ children,
23
+ className: customClassName,
24
+ renderIcon: IconElement,
25
+ isActive,
26
+ isSideNavExpanded,
27
+ large = false,
28
+ tabIndex,
29
+ ...rest
30
+ }, ref) => {
32
31
  const isRail = useContext(SideNavContext);
33
32
  const prefix = usePrefix();
34
33
  const className = cx({
@@ -11,12 +11,11 @@ import React from 'react';
11
11
  import { usePrefix } from '../../internal/usePrefix.js';
12
12
  import PropTypes from 'prop-types';
13
13
 
14
- function SideNavLinkText(_ref) {
15
- let {
16
- className: customClassName,
17
- children,
18
- ...rest
19
- } = _ref;
14
+ function SideNavLinkText({
15
+ className: customClassName,
16
+ children,
17
+ ...rest
18
+ }) {
20
19
  const prefix = usePrefix();
21
20
  const className = cx(`${prefix}--side-nav__link-text`, customClassName);
22
21
  return /*#__PURE__*/React.createElement("span", _extends({}, rest, {
@@ -16,18 +16,17 @@ import { usePrefix } from '../../internal/usePrefix.js';
16
16
  import { SideNavContext } from './SideNav.js';
17
17
 
18
18
  var _ChevronDown;
19
- const SideNavMenu = /*#__PURE__*/React.forwardRef(function SideNavMenu(_ref, ref) {
20
- let {
21
- className: customClassName,
22
- children,
23
- defaultExpanded = false,
24
- isActive = false,
25
- large = false,
26
- renderIcon: IconElement,
27
- isSideNavExpanded,
28
- tabIndex,
29
- title
30
- } = _ref;
19
+ const SideNavMenu = /*#__PURE__*/React.forwardRef(function SideNavMenu({
20
+ className: customClassName,
21
+ children,
22
+ defaultExpanded = false,
23
+ isActive = false,
24
+ large = false,
25
+ renderIcon: IconElement,
26
+ isSideNavExpanded,
27
+ tabIndex,
28
+ title
29
+ }, ref) {
31
30
  const {
32
31
  isRail
33
32
  } = useContext(SideNavContext);
@@ -11,14 +11,13 @@ import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- function SkipToContent(_ref) {
15
- let {
16
- children = 'Skip to main content',
17
- className: customClassName,
18
- href = '#main-content',
19
- tabIndex = 0,
20
- ...rest
21
- } = _ref;
14
+ function SkipToContent({
15
+ children = 'Skip to main content',
16
+ className: customClassName,
17
+ href = '#main-content',
18
+ tabIndex = 0,
19
+ ...rest
20
+ }) {
22
21
  const prefix = usePrefix();
23
22
  const className = cx(`${prefix}--skip-to-content`, customClassName);
24
23
  return /*#__PURE__*/React.createElement("a", _extends({}, rest, {
@@ -32,11 +32,10 @@ const Switcher = /*#__PURE__*/forwardRef(function Switcher(props, forwardRef) {
32
32
  const className = cx(`${prefix}--switcher`, {
33
33
  [customClassName || '']: !!customClassName
34
34
  });
35
- const handleSwitcherItemFocus = _ref => {
36
- let {
37
- currentIndex,
38
- direction
39
- } = _ref;
35
+ const handleSwitcherItemFocus = ({
36
+ currentIndex,
37
+ direction
38
+ }) => {
40
39
  const enabledIndices = React.Children.toArray(children).reduce((acc, curr, i) => {
41
40
  if (/*#__PURE__*/React.isValidElement(curr) && Object.keys(curr.props).length !== 0 && curr.type === SwitcherItem) {
42
41
  acc.push(i);
@@ -11,11 +11,10 @@ import cx from 'classnames';
11
11
  import PropTypes from 'prop-types';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- const SwitcherDivider = _ref => {
15
- let {
16
- className: customClassName,
17
- ...other
18
- } = _ref;
14
+ const SwitcherDivider = ({
15
+ className: customClassName,
16
+ ...other
17
+ }) => {
19
18
  const prefix = usePrefix();
20
19
  const classNames = cx(`${prefix}--switcher__item--divider`, {
21
20
  [customClassName || '']: !!customClassName
@@ -11,13 +11,12 @@ import React from 'react';
11
11
  import cx from 'classnames';
12
12
  import { usePrefix } from '../../internal/usePrefix.js';
13
13
 
14
- function UnorderedList(_ref) {
15
- let {
16
- className,
17
- nested = false,
18
- isExpressive = false,
19
- ...other
20
- } = _ref;
14
+ function UnorderedList({
15
+ className,
16
+ nested = false,
17
+ isExpressive = false,
18
+ ...other
19
+ }) {
21
20
  const prefix = usePrefix();
22
21
  const classNames = cx(`${prefix}--list--unordered`, className, {
23
22
  [`${prefix}--list--nested`]: nested,
package/es/index.js CHANGED
@@ -28,7 +28,7 @@ export { default as ComposedModal, ModalBody } from './components/ComposedModal/
28
28
  export { ModalHeader } from './components/ComposedModal/ModalHeader.js';
29
29
  export { ModalFooter } from './components/ComposedModal/ModalFooter.js';
30
30
  import './components/ContainedList/index.js';
31
- export { default as ContentSwitcher } from './components/ContentSwitcher/index.js';
31
+ export { ContentSwitcher } from './components/ContentSwitcher/ContentSwitcher.js';
32
32
  export { default as useContextMenu } from './components/ContextMenu/useContextMenu.js';
33
33
  export { default as Copy } from './components/Copy/Copy.js';
34
34
  export { default as CopyButton } from './components/CopyButton/CopyButton.js';
@@ -162,7 +162,7 @@ export { default as Header } from './components/UIShell/Header.js';
162
162
  export { default as HeaderContainer } from './components/UIShell/HeaderContainer.js';
163
163
  export { default as HeaderGlobalAction } from './components/UIShell/HeaderGlobalAction.js';
164
164
  export { default as HeaderGlobalBar } from './components/UIShell/HeaderGlobalBar.js';
165
- export { default as HeaderMenu } from './components/UIShell/HeaderMenu.js';
165
+ export { HeaderMenu } from './components/UIShell/HeaderMenu.js';
166
166
  export { default as HeaderMenuButton } from './components/UIShell/HeaderMenuButton.js';
167
167
  export { default as HeaderMenuItem } from './components/UIShell/HeaderMenuItem.js';
168
168
  export { default as HeaderName } from './components/UIShell/HeaderName.js';
@@ -25,16 +25,15 @@ const DIRECTION_BOTTOM = 'bottom';
25
25
  * Computes the floating menu's position based on the menu size, trigger element
26
26
  * position, offset, direction, and container.
27
27
  */
28
- const getFloatingPosition = _ref => {
29
- let {
30
- menuSize,
31
- refPosition,
32
- offset,
33
- direction,
34
- scrollX,
35
- scrollY,
36
- container
37
- } = _ref;
28
+ const getFloatingPosition = ({
29
+ menuSize,
30
+ refPosition,
31
+ offset,
32
+ direction,
33
+ scrollX,
34
+ scrollY,
35
+ container
36
+ }) => {
38
37
  const {
39
38
  left: refLeft = 0,
40
39
  top: refTop = 0,
@@ -77,24 +76,23 @@ const getFloatingPosition = _ref => {
77
76
  };
78
77
  return positions[direction]();
79
78
  };
80
- const FloatingMenu = _ref2 => {
81
- let {
82
- children,
83
- flipped,
84
- focusTrap,
85
- menuDirection = DIRECTION_BOTTOM,
86
- menuOffset = {
87
- top: 0,
88
- left: 0
89
- },
90
- menuRef: externalMenuRef,
91
- onPlace,
92
- selectorPrimaryFocus,
93
- styles,
94
- target = () => document.body,
95
- triggerRef,
96
- updateOrientation
97
- } = _ref2;
79
+ const FloatingMenu = ({
80
+ children,
81
+ flipped,
82
+ focusTrap,
83
+ menuDirection = DIRECTION_BOTTOM,
84
+ menuOffset = {
85
+ top: 0,
86
+ left: 0
87
+ },
88
+ menuRef: externalMenuRef,
89
+ onPlace,
90
+ selectorPrimaryFocus,
91
+ styles,
92
+ target = () => document.body,
93
+ triggerRef,
94
+ updateOrientation
95
+ }) => {
98
96
  const prefix = useContext(PrefixContext);
99
97
  const [floatingPosition, setFloatingPosition] = useState(undefined);
100
98
  const menuBodyRef = useRef(null);
@@ -8,14 +8,13 @@
8
8
  import { useRef, useState, useCallback, useEffect } from 'react';
9
9
  import isEqual from 'react-fast-compare';
10
10
 
11
- const callOnChangeHandler = _ref => {
12
- let {
13
- isControlled,
14
- isMounted,
15
- onChangeHandlerControlled,
16
- onChangeHandlerUncontrolled,
17
- selectedItems
18
- } = _ref;
11
+ const callOnChangeHandler = ({
12
+ isControlled,
13
+ isMounted,
14
+ onChangeHandlerControlled,
15
+ onChangeHandlerUncontrolled,
16
+ selectedItems
17
+ }) => {
19
18
  if (isControlled) {
20
19
  if (isMounted && onChangeHandlerControlled) {
21
20
  onChangeHandlerControlled({
@@ -26,15 +25,14 @@ const callOnChangeHandler = _ref => {
26
25
  onChangeHandlerUncontrolled(selectedItems);
27
26
  }
28
27
  };
29
- const useSelection = _ref2 => {
30
- let {
31
- disabled,
32
- onChange,
33
- initialSelectedItems = [],
34
- selectedItems: controlledItems,
35
- selectAll = false,
36
- filteredItems = []
37
- } = _ref2;
28
+ const useSelection = ({
29
+ disabled,
30
+ onChange,
31
+ initialSelectedItems = [],
32
+ selectedItems: controlledItems,
33
+ selectAll = false,
34
+ filteredItems = []
35
+ }) => {
38
36
  const isMounted = useRef(false);
39
37
  const savedOnChange = useRef(onChange);
40
38
  const [uncontrolledItems, setUncontrolledItems] = useState(initialSelectedItems);
@@ -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
+ /** Returns an announcement message when the remaining count is low. */
8
+ export declare const getAnnouncement: (count: number, maxCount?: number, singularEntityName?: string, pluralEntityName?: string) => string | null;
@@ -0,0 +1,22 @@
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
+ /** Returns an announcement message when the remaining count is low. */
9
+ const getAnnouncement = (count, maxCount, singularEntityName = 'character', pluralEntityName = 'characters') => {
10
+ if (typeof maxCount === 'undefined') return null;
11
+ const remaining = maxCount - count;
12
+ if (remaining <= 10 && remaining > 0) {
13
+ const entityName = remaining === 1 ? singularEntityName : pluralEntityName;
14
+ return `${remaining} ${entityName} left.`;
15
+ }
16
+ if (remaining <= 0) {
17
+ return `Maximum ${pluralEntityName} reached.`;
18
+ }
19
+ return null;
20
+ };
21
+
22
+ export { getAnnouncement };
@@ -30,13 +30,12 @@ const matches = (event, keysToMatch) => {
30
30
  * @param keyObj - An object with key properties to match against.
31
31
  * @returns `true` if the event or code matches the key definition.
32
32
  */
33
- const match = (eventOrCode, _ref) => {
34
- let {
35
- key,
36
- which,
37
- keyCode,
38
- code
39
- } = _ref;
33
+ const match = (eventOrCode, {
34
+ key,
35
+ which,
36
+ keyCode,
37
+ code
38
+ }) => {
40
39
  if (typeof eventOrCode === 'string') {
41
40
  return eventOrCode === key;
42
41
  }
@@ -30,5 +30,5 @@ interface UseControllableStateConfig<T> {
30
30
  * Note: This hook will warn if the component switches between controlled and
31
31
  * uncontrolled states.
32
32
  */
33
- export declare const useControllableState: <T>({ defaultValue, name, onChange, value, }: UseControllableStateConfig<T>) => [T, (stateOrUpdater: T | ((prev: T) => T)) => void];
33
+ export declare const useControllableState: <T>({ defaultValue, name, onChange, value, }: UseControllableStateConfig<T>) => [T, (stateOrUpdater: T | ((prev: T) => T)) => void, boolean];
34
34
  export {};
@@ -16,13 +16,12 @@ import { warning } from './warning.js';
16
16
  * Note: This hook will warn if the component switches between controlled and
17
17
  * uncontrolled states.
18
18
  */
19
- const useControllableState = _ref => {
20
- let {
21
- defaultValue,
22
- name = 'custom',
23
- onChange,
24
- value
25
- } = _ref;
19
+ const useControllableState = ({
20
+ defaultValue,
21
+ name = 'custom',
22
+ onChange,
23
+ value
24
+ }) => {
26
25
  const [state, internalSetState] = useState(typeof value !== 'undefined' ? value : defaultValue);
27
26
  const controlled = useRef(null);
28
27
  if (controlled.current === null) {
@@ -51,9 +50,9 @@ const useControllableState = _ref => {
51
50
  }
52
51
  }, [name, value]);
53
52
  if (controlled.current === true) {
54
- return [value, setState];
53
+ return [value, setState, controlled.current];
55
54
  }
56
- return [state, setState];
55
+ return [state, setState, controlled.current];
57
56
  };
58
57
 
59
58
  export { useControllableState };
@@ -23,8 +23,7 @@ function useDelayedState(initialState) {
23
23
  const timeoutId = useRef(null);
24
24
  // We use `useCallback` to match the signature of React's `useState` which will
25
25
  // always return the same reference for the `setState` updater
26
- const setStateWithDelay = useCallback(function (stateToSet) {
27
- let delayMs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
26
+ const setStateWithDelay = useCallback((stateToSet, delayMs = 0) => {
28
27
  window.clearTimeout(timeoutId.current ?? undefined);
29
28
  timeoutId.current = null;
30
29
  if (delayMs === 0) {
@@ -0,0 +1,12 @@
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
+ * React hook that returns the current document language and updates on changes.
9
+ *
10
+ * @returns {string} The current document language code.
11
+ */
12
+ export declare function useDocumentLang(): string;
@@ -30,8 +30,7 @@ const defaultId = 'id';
30
30
  * @param {string} [prefix]
31
31
  * @returns {string}
32
32
  */
33
- function useCompatibleId() {
34
- let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultId;
33
+ function useCompatibleId(prefix = defaultId) {
35
34
  const contextPrefix = useIdPrefix();
36
35
  const [id, setId] = useState(() => {
37
36
  if (serverHandoffCompleted) {
@@ -58,8 +57,7 @@ function useCompatibleId() {
58
57
  * @param {string} [prefix]
59
58
  * @returns {string}
60
59
  */
61
- function useReactId() {
62
- let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultId;
60
+ function useReactId(prefix = defaultId) {
63
61
  const contextPrefix = useIdPrefix();
64
62
  return `${contextPrefix ? `${contextPrefix}-` : ``}${prefix}-${_React.useId()}`;
65
63
  }
@@ -13,8 +13,7 @@ import { useState, useEffect } from 'react';
13
13
  * @param defaultState - The initial state to return before the media query is evaluated. Defaults to `false`.
14
14
  * @returns Whether the media query matches.
15
15
  */
16
- const useMatchMedia = function (mediaQuery) {
17
- let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
16
+ const useMatchMedia = (mediaQuery, defaultState = false) => {
18
17
  const [matches, setMatches] = useState(defaultState);
19
18
  useEffect(() => {
20
19
  const listener = event => {
@@ -13,4 +13,4 @@ import { type ForwardedRef, type Ref } from 'react';
13
13
  * accepts an array of refs and returns a callback ref that, when attached to a
14
14
  * node, assigns that node to every ref in the array.
15
15
  */
16
- export declare const useMergedRefs: <T>(refs: ForwardedRef<T>[]) => Ref<T>;
16
+ export declare const useMergedRefs: <T>(refs: (ForwardedRef<T> | undefined)[]) => Ref<T>;
@@ -7,8 +7,7 @@
7
7
 
8
8
  import { useEffect } from 'react';
9
9
 
10
- function useNoInteractiveChildren(ref) {
11
- let message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'component should have no interactive child nodes';
10
+ function useNoInteractiveChildren(ref, message = 'component should have no interactive child nodes') {
12
11
  if (process.env.NODE_ENV !== 'production') {
13
12
  // TODO: https://github.com/carbon-design-system/carbon/issues/19005
14
13
  /*
@@ -25,8 +24,7 @@ function useNoInteractiveChildren(ref) {
25
24
  }, []);
26
25
  }
27
26
  }
28
- function useInteractiveChildrenNeedDescription(ref) {
29
- let message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : `interactive child node(s) should have an \`aria-describedby\` property`;
27
+ function useInteractiveChildrenNeedDescription(ref, message = `interactive child node(s) should have an \`aria-describedby\` property`) {
30
28
  if (process.env.NODE_ENV !== 'production') {
31
29
  // TODO: https://github.com/carbon-design-system/carbon/issues/19005
32
30
  /*
@@ -20,16 +20,15 @@ import { Text } from '../components/Text/Text.js';
20
20
  * helper messages, and conditionally provides the appropriate validation
21
21
  * message and accompanying icon.
22
22
  */
23
- const useNormalizedInputProps = _ref => {
24
- let {
25
- id,
26
- readOnly,
27
- disabled,
28
- invalid,
29
- invalidText,
30
- warn,
31
- warnText
32
- } = _ref;
23
+ const useNormalizedInputProps = ({
24
+ id,
25
+ readOnly,
26
+ disabled,
27
+ invalid,
28
+ invalidText,
29
+ warn,
30
+ warnText
31
+ }) => {
33
32
  const prefix = usePrefix();
34
33
  const normalizedProps = {
35
34
  disabled: !readOnly && disabled,
@@ -7,11 +7,10 @@
7
7
 
8
8
  import { useState, useRef, useEffect, useLayoutEffect } from 'react';
9
9
 
10
- const useResizeObserver = _ref => {
11
- let {
12
- ref,
13
- onResize
14
- } = _ref;
10
+ const useResizeObserver = ({
11
+ ref,
12
+ onResize
13
+ }) => {
15
14
  const [width, setWidth] = useState(-1);
16
15
  const [height, setHeight] = useState(-1);
17
16
  const entriesToHandle = useRef(null);
@@ -20,9 +20,7 @@ const useSavedCallback = callback => {
20
20
  useEffect(() => {
21
21
  savedCallback.current = callback;
22
22
  }, [callback]);
23
- return useCallback(function () {
24
- return savedCallback.current ? savedCallback.current(...arguments) : undefined;
25
- }, []);
23
+ return useCallback((...args) => savedCallback.current ? savedCallback.current(...args) : undefined, []);
26
24
  };
27
25
 
28
26
  export { useSavedCallback };