@carbon/react 1.112.0 → 1.113.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 (535) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +941 -941
  2. package/es/components/AILabel/index.js +6 -6
  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 +3 -3
  7. package/es/components/Accordion/Accordion.js +2 -2
  8. package/es/components/Accordion/AccordionItem.js +2 -2
  9. package/es/components/AspectRatio/AspectRatio.js +2 -2
  10. package/es/components/BadgeIndicator/index.js +4 -4
  11. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +3 -3
  12. package/es/components/Breadcrumb/Breadcrumb.js +2 -2
  13. package/es/components/Breadcrumb/BreadcrumbItem.js +3 -3
  14. package/es/components/Button/Button.Skeleton.js +3 -3
  15. package/es/components/Button/Button.js +2 -2
  16. package/es/components/Button/ButtonBase.js +2 -2
  17. package/es/components/Button/index.js +3 -3
  18. package/es/components/ButtonSet/ButtonSet.js +3 -3
  19. package/es/components/ButtonSet/index.js +1 -1
  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 +3 -3
  23. package/es/components/Checkbox/Checkbox.js +4 -4
  24. package/es/components/Checkbox/index.js +2 -2
  25. package/es/components/CheckboxGroup/CheckboxGroup.js +2 -2
  26. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +3 -3
  27. package/es/components/CodeSnippet/CodeSnippet.js +2 -2
  28. package/es/components/ComboBox/ComboBox.js +12 -9
  29. package/es/components/ComboBox/index.js +1 -1
  30. package/es/components/ComboButton/index.js +5 -5
  31. package/es/components/ComposedModal/ComposedModal.js +7 -6
  32. package/es/components/ComposedModal/ComposedModalPresence.js +5 -2
  33. package/es/components/ComposedModal/ModalFooter.js +4 -4
  34. package/es/components/ComposedModal/ModalHeader.js +6 -6
  35. package/es/components/ContainedList/ContainedList.js +2 -2
  36. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +2 -2
  37. package/es/components/ContainedList/ContainedListItem/index.js +1 -1
  38. package/es/components/ContentSwitcher/ContentSwitcher.js +2 -2
  39. package/es/components/Copy/Copy.js +4 -4
  40. package/es/components/Copy/index.js +1 -1
  41. package/es/components/CopyButton/CopyButton.js +3 -3
  42. package/es/components/CopyButton/index.js +1 -1
  43. package/es/components/DataTable/DataTable.js +4 -3
  44. package/es/components/DataTable/Table.js +3 -3
  45. package/es/components/DataTable/TableBatchActions.js +3 -3
  46. package/es/components/DataTable/TableCell.js +2 -2
  47. package/es/components/DataTable/TableContainer.js +3 -3
  48. package/es/components/DataTable/TableDecoratorRow.js +2 -2
  49. package/es/components/DataTable/TableExpandHeader.js +2 -2
  50. package/es/components/DataTable/TableExpandRow.js +2 -2
  51. package/es/components/DataTable/TableExpandedRow.js +2 -2
  52. package/es/components/DataTable/TableHeader.js +4 -4
  53. package/es/components/DataTable/TableRow.js +2 -2
  54. package/es/components/DataTable/TableSelectAll.js +2 -2
  55. package/es/components/DataTable/TableSelectRow.js +2 -2
  56. package/es/components/DataTable/TableSlugRow.js +2 -2
  57. package/es/components/DataTable/TableToolbar.js +3 -3
  58. package/es/components/DataTable/TableToolbarMenu.js +4 -4
  59. package/es/components/DataTable/TableToolbarSearch.js +3 -3
  60. package/es/components/DataTable/state/sorting.js +3 -2
  61. package/es/components/DataTable/tools/sorting.js +1 -1
  62. package/es/components/DataTableSkeleton/DataTableSkeleton.js +2 -2
  63. package/es/components/DatePicker/DatePicker.Skeleton.js +4 -4
  64. package/es/components/DatePicker/DatePicker.js +3 -3
  65. package/es/components/DatePicker/index.js +2 -2
  66. package/es/components/DatePickerInput/DatePickerInput.js +7 -7
  67. package/es/components/DatePickerInput/index.js +1 -1
  68. package/es/components/Dialog/Dialog.js +9 -9
  69. package/es/components/Dialog/index.js +1 -1
  70. package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
  71. package/es/components/Dropdown/Dropdown.js +5 -5
  72. package/es/components/Dropdown/index.js +2 -2
  73. package/es/components/ExpandableSearch/ExpandableSearch.js +2 -2
  74. package/es/components/ExpandableSearch/index.js +1 -1
  75. package/es/components/FileUploader/FileUploader.Skeleton.js +4 -4
  76. package/es/components/FileUploader/FileUploader.js +11 -8
  77. package/es/components/FileUploader/FileUploaderButton.js +3 -3
  78. package/es/components/FileUploader/FileUploaderDropContainer.js +8 -6
  79. package/es/components/FileUploader/FileUploaderItem.js +3 -3
  80. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +2 -2
  81. package/es/components/FluidComboBox/FluidComboBox.js +3 -3
  82. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +3 -3
  83. package/es/components/FluidDatePicker/FluidDatePicker.js +3 -3
  84. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +2 -2
  85. package/es/components/FluidDropdown/FluidDropdown.js +3 -3
  86. package/es/components/FluidForm/FluidForm.js +3 -3
  87. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +2 -2
  88. package/es/components/FluidMultiSelect/FluidMultiSelect.js +4 -4
  89. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +2 -2
  90. package/es/components/FluidNumberInput/FluidNumberInput.js +3 -3
  91. package/es/components/FluidSearch/FluidSearch.Skeleton.js +2 -2
  92. package/es/components/FluidSearch/FluidSearch.js +3 -3
  93. package/es/components/FluidSelect/FluidSelect.Skeleton.js +2 -2
  94. package/es/components/FluidSelect/FluidSelect.js +3 -3
  95. package/es/components/FluidSelect/index.js +2 -2
  96. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +2 -2
  97. package/es/components/FluidTextArea/FluidTextArea.js +3 -3
  98. package/es/components/FluidTextInput/FluidPasswordInput.js +3 -3
  99. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +2 -2
  100. package/es/components/FluidTextInput/FluidTextInput.js +4 -4
  101. package/es/components/FluidTextInput/index.js +3 -3
  102. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +2 -2
  103. package/es/components/FluidTimePicker/FluidTimePicker.js +3 -3
  104. package/es/components/FluidTimePickerSelect/index.js +1 -1
  105. package/es/components/Form/Form.js +2 -2
  106. package/es/components/FormGroup/FormGroup.js +2 -2
  107. package/es/components/FormItem/FormItem.js +2 -2
  108. package/es/components/FormLabel/FormLabel.js +2 -2
  109. package/es/components/Grid/CSSGrid.js +4 -4
  110. package/es/components/Grid/Column.js +3 -3
  111. package/es/components/Grid/ColumnHang.js +3 -3
  112. package/es/components/Grid/FlexGrid.js +3 -3
  113. package/es/components/Grid/Grid.js +3 -3
  114. package/es/components/Grid/Row.js +2 -2
  115. package/es/components/Icon/Icon.Skeleton.js +3 -3
  116. package/es/components/IconButton/index.js +4 -3
  117. package/es/components/IconIndicator/index.js +4 -4
  118. package/es/components/InlineCheckbox/index.js +1 -1
  119. package/es/components/InlineLoading/InlineLoading.js +2 -2
  120. package/es/components/InlineLoading/index.js +1 -1
  121. package/es/components/Layer/LayerLevel.js +1 -1
  122. package/es/components/Layer/index.js +2 -2
  123. package/es/components/Layout/index.js +3 -3
  124. package/es/components/LayoutDirection/LayoutDirection.js +1 -1
  125. package/es/components/Link/Link.js +2 -2
  126. package/es/components/Link/index.js +1 -1
  127. package/es/components/ListBox/ListBox.js +2 -2
  128. package/es/components/ListBox/ListBoxMenuIcon.js +2 -2
  129. package/es/components/ListBox/ListBoxMenuItem.js +4 -3
  130. package/es/components/ListBox/ListBoxSelection.js +3 -3
  131. package/es/components/ListBox/index.js +2 -2
  132. package/es/components/ListBox/next/ListBoxSelection.js +3 -3
  133. package/es/components/ListBox/next/ListBoxTrigger.js +2 -2
  134. package/es/components/ListItem/ListItem.js +2 -2
  135. package/es/components/Loading/Loading.js +3 -3
  136. package/es/components/Loading/index.js +1 -1
  137. package/es/components/Menu/Menu.js +3 -3
  138. package/es/components/Menu/MenuItem.js +9 -9
  139. package/es/components/MenuButton/index.js +4 -4
  140. package/es/components/Modal/Modal.js +9 -9
  141. package/es/components/Modal/ModalPresence.js +5 -2
  142. package/es/components/Modal/index.js +2 -2
  143. package/es/components/ModalWrapper/ModalWrapper.js +2 -2
  144. package/es/components/MultiSelect/FilterableMultiSelect.js +10 -8
  145. package/es/components/MultiSelect/MultiSelect.js +7 -7
  146. package/es/components/Notification/Notification.js +10 -10
  147. package/es/components/NumberInput/NumberInput.Skeleton.js +2 -2
  148. package/es/components/NumberInput/NumberInput.js +21 -11
  149. package/es/components/OrderedList/OrderedList.js +2 -2
  150. package/es/components/OverflowMenu/OverflowMenu.js +7 -7
  151. package/es/components/OverflowMenu/index.js +2 -2
  152. package/es/components/OverflowMenu/next/index.js +4 -4
  153. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
  154. package/es/components/OverflowMenuItem/index.js +1 -1
  155. package/es/components/OverflowMenuV2/index.js +1 -1
  156. package/es/components/PageHeader/PageHeader.js +15 -15
  157. package/es/components/PageHeader/index.js +1 -1
  158. package/es/components/Pagination/Pagination.Skeleton.js +3 -3
  159. package/es/components/Pagination/Pagination.d.ts +18 -1
  160. package/es/components/Pagination/Pagination.js +33 -8
  161. package/es/components/Pagination/experimental/PageSelector.d.ts +4 -0
  162. package/es/components/Pagination/experimental/PageSelector.js +16 -3
  163. package/es/components/Pagination/experimental/Pagination-story.d.ts +100 -65
  164. package/es/components/Pagination/experimental/Pagination.d.ts +4 -0
  165. package/es/components/Pagination/experimental/Pagination.js +12 -5
  166. package/es/components/PaginationNav/PaginationNav.js +8 -6
  167. package/es/components/Popover/index.js +14 -6
  168. package/es/components/ProgressBar/ProgressBar.js +3 -3
  169. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +3 -3
  170. package/es/components/ProgressIndicator/ProgressIndicator.js +4 -4
  171. package/es/components/RadioButton/RadioButton.Skeleton.js +3 -3
  172. package/es/components/RadioButton/RadioButton.js +3 -3
  173. package/es/components/RadioButton/index.js +1 -1
  174. package/es/components/RadioButtonGroup/RadioButtonGroup.js +4 -4
  175. package/es/components/RadioTile/RadioTile.js +3 -3
  176. package/es/components/RadioTile/index.js +1 -1
  177. package/es/components/Search/Search.Skeleton.js +3 -3
  178. package/es/components/Search/Search.js +4 -4
  179. package/es/components/Search/index.js +2 -2
  180. package/es/components/Select/Select.Skeleton.js +3 -3
  181. package/es/components/Select/Select.js +6 -6
  182. package/es/components/Select/index.js +2 -2
  183. package/es/components/SelectItem/SelectItem.js +2 -2
  184. package/es/components/SelectItem/index.js +1 -1
  185. package/es/components/SelectItemGroup/SelectItemGroup.js +2 -2
  186. package/es/components/ShapeIndicator/index.js +4 -4
  187. package/es/components/SkeletonIcon/SkeletonIcon.js +2 -2
  188. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
  189. package/es/components/SkeletonText/SkeletonText.js +2 -2
  190. package/es/components/SkeletonText/index.js +1 -1
  191. package/es/components/Slider/Slider.Skeleton.js +7 -7
  192. package/es/components/Slider/Slider.js +22 -20
  193. package/es/components/Stack/Stack.js +2 -2
  194. package/es/components/StructuredList/StructuredList.Skeleton.js +3 -3
  195. package/es/components/StructuredList/StructuredList.js +7 -7
  196. package/es/components/Switch/IconSwitch.js +6 -5
  197. package/es/components/Switch/Switch.js +3 -3
  198. package/es/components/TabContent/TabContent.js +2 -2
  199. package/es/components/Tabs/Tabs.Skeleton.js +3 -3
  200. package/es/components/Tabs/Tabs.js +45 -33
  201. package/es/components/Tag/DismissibleTag.js +4 -3
  202. package/es/components/Tag/OperationalTag.js +4 -3
  203. package/es/components/Tag/SelectableTag.js +3 -3
  204. package/es/components/Tag/Tag.Skeleton.js +3 -3
  205. package/es/components/Tag/Tag.js +4 -3
  206. package/es/components/TextArea/TextArea.Skeleton.js +3 -3
  207. package/es/components/TextArea/TextArea.js +8 -8
  208. package/es/components/TextArea/index.js +2 -2
  209. package/es/components/TextInput/ControlledPasswordInput.js +6 -6
  210. package/es/components/TextInput/PasswordInput.js +10 -10
  211. package/es/components/TextInput/TextInput.Skeleton.js +3 -3
  212. package/es/components/TextInput/TextInput.js +9 -9
  213. package/es/components/TextInput/index.js +2 -2
  214. package/es/components/Theme/index.js +2 -2
  215. package/es/components/Tile/Tile.js +14 -11
  216. package/es/components/TileGroup/TileGroup.js +1 -1
  217. package/es/components/TimePicker/TimePicker.js +5 -5
  218. package/es/components/TimePickerSelect/TimePickerSelect.js +2 -2
  219. package/es/components/Toggle/Toggle.Skeleton.js +3 -3
  220. package/es/components/Toggle/Toggle.js +6 -6
  221. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +2 -2
  222. package/es/components/Toggletip/index.js +6 -6
  223. package/es/components/Tooltip/DefinitionTooltip.js +2 -2
  224. package/es/components/Tooltip/Tooltip.d.ts +2 -1
  225. package/es/components/Tooltip/Tooltip.js +5 -4
  226. package/es/components/TreeView/TreeNode.js +11 -8
  227. package/es/components/TreeView/TreeView.js +2 -2
  228. package/es/components/UIShell/Content.js +2 -2
  229. package/es/components/UIShell/Header.js +2 -2
  230. package/es/components/UIShell/HeaderGlobalAction.js +2 -2
  231. package/es/components/UIShell/HeaderMenu.js +4 -4
  232. package/es/components/UIShell/HeaderMenuButton.js +2 -2
  233. package/es/components/UIShell/HeaderMenuItem.js +2 -2
  234. package/es/components/UIShell/HeaderName.js +2 -2
  235. package/es/components/UIShell/HeaderNavigation.js +2 -2
  236. package/es/components/UIShell/HeaderPanel.js +3 -3
  237. package/es/components/UIShell/HeaderSideNavItems.js +2 -2
  238. package/es/components/UIShell/SideNav.js +3 -3
  239. package/es/components/UIShell/SideNavDetails.js +2 -2
  240. package/es/components/UIShell/SideNavDivider.js +2 -2
  241. package/es/components/UIShell/SideNavFooter.js +2 -2
  242. package/es/components/UIShell/SideNavHeader.js +2 -2
  243. package/es/components/UIShell/SideNavIcon.js +2 -2
  244. package/es/components/UIShell/SideNavItem.js +2 -2
  245. package/es/components/UIShell/SideNavItems.js +2 -2
  246. package/es/components/UIShell/SideNavLink.js +2 -2
  247. package/es/components/UIShell/SideNavLinkText.js +2 -2
  248. package/es/components/UIShell/SideNavMenu.js +3 -3
  249. package/es/components/UIShell/SideNavMenuItem.js +3 -3
  250. package/es/components/UIShell/SideNavSwitcher.js +2 -2
  251. package/es/components/UIShell/SkipToContent.js +2 -2
  252. package/es/components/UIShell/Switcher.js +2 -2
  253. package/es/components/UIShell/SwitcherDivider.js +3 -3
  254. package/es/components/UIShell/SwitcherItem.js +4 -4
  255. package/es/components/UnorderedList/UnorderedList.js +2 -2
  256. package/es/index.js +30 -30
  257. package/es/internal/FloatingMenu.js +12 -9
  258. package/es/internal/motion/MotionSurface.d.ts +35 -0
  259. package/es/internal/motion/useMotionEnabled.d.ts +13 -0
  260. package/es/internal/motion/useMotionSurface.d.ts +33 -0
  261. package/es/internal/useId.js +1 -1
  262. package/es/internal/useOverflowItems.js +2 -1
  263. package/es/internal/usePresence.d.ts +8 -1
  264. package/es/internal/usePresence.js +4 -2
  265. package/es/internal/usePresenceContext.d.ts +12 -0
  266. package/es/internal/usePresenceContext.js +23 -5
  267. package/es/tools/wrapComponent.js +2 -2
  268. package/lib/components/AILabel/index.js +4 -4
  269. package/lib/components/AISkeleton/AISkeletonIcon.js +2 -2
  270. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +2 -2
  271. package/lib/components/AISkeleton/AISkeletonText.js +2 -2
  272. package/lib/components/Accordion/Accordion.Skeleton.js +3 -2
  273. package/lib/components/Accordion/Accordion.js +2 -2
  274. package/lib/components/Accordion/AccordionItem.js +2 -2
  275. package/lib/components/AspectRatio/AspectRatio.js +2 -2
  276. package/lib/components/BadgeIndicator/index.js +3 -2
  277. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +3 -2
  278. package/lib/components/Breadcrumb/Breadcrumb.js +2 -2
  279. package/lib/components/Breadcrumb/BreadcrumbItem.js +2 -2
  280. package/lib/components/Button/Button.Skeleton.js +3 -2
  281. package/lib/components/Button/Button.js +2 -2
  282. package/lib/components/Button/ButtonBase.js +2 -2
  283. package/lib/components/Button/index.js +7 -1
  284. package/lib/components/ButtonSet/ButtonSet.js +2 -2
  285. package/lib/components/ButtonSet/index.js +3 -1
  286. package/lib/components/ChatButton/ChatButton.Skeleton.js +2 -2
  287. package/lib/components/ChatButton/ChatButton.js +2 -2
  288. package/lib/components/Checkbox/Checkbox.Skeleton.js +3 -2
  289. package/lib/components/Checkbox/Checkbox.js +3 -3
  290. package/lib/components/Checkbox/index.js +3 -1
  291. package/lib/components/CheckboxGroup/CheckboxGroup.js +2 -2
  292. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +3 -2
  293. package/lib/components/CodeSnippet/CodeSnippet.js +2 -2
  294. package/lib/components/ComboBox/ComboBox.js +8 -5
  295. package/lib/components/ComboBox/index.js +3 -1
  296. package/lib/components/ComboButton/index.js +2 -2
  297. package/lib/components/ComposedModal/ComposedModal.js +5 -4
  298. package/lib/components/ComposedModal/ComposedModalPresence.js +4 -1
  299. package/lib/components/ComposedModal/ModalFooter.js +3 -3
  300. package/lib/components/ComposedModal/ModalHeader.js +2 -2
  301. package/lib/components/ContainedList/ContainedList.js +2 -2
  302. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +2 -2
  303. package/lib/components/ContainedList/ContainedListItem/index.js +3 -1
  304. package/lib/components/ContentSwitcher/ContentSwitcher.js +2 -2
  305. package/lib/components/Copy/Copy.js +3 -3
  306. package/lib/components/Copy/index.js +3 -1
  307. package/lib/components/CopyButton/CopyButton.js +3 -3
  308. package/lib/components/CopyButton/index.js +3 -1
  309. package/lib/components/DataTable/DataTable.js +4 -3
  310. package/lib/components/DataTable/Table.js +3 -2
  311. package/lib/components/DataTable/TableBatchActions.js +2 -2
  312. package/lib/components/DataTable/TableCell.js +2 -2
  313. package/lib/components/DataTable/TableContainer.js +2 -2
  314. package/lib/components/DataTable/TableDecoratorRow.js +2 -2
  315. package/lib/components/DataTable/TableExpandHeader.js +2 -2
  316. package/lib/components/DataTable/TableExpandRow.js +2 -2
  317. package/lib/components/DataTable/TableExpandedRow.js +2 -2
  318. package/lib/components/DataTable/TableHeader.js +2 -2
  319. package/lib/components/DataTable/TableRow.js +2 -2
  320. package/lib/components/DataTable/TableSelectAll.js +2 -2
  321. package/lib/components/DataTable/TableSelectRow.js +2 -2
  322. package/lib/components/DataTable/TableSlugRow.js +2 -2
  323. package/lib/components/DataTable/TableToolbar.js +3 -2
  324. package/lib/components/DataTable/TableToolbarMenu.js +3 -3
  325. package/lib/components/DataTable/TableToolbarSearch.js +3 -3
  326. package/lib/components/DataTable/state/sorting.js +3 -1
  327. package/lib/components/DataTable/tools/sorting.js +2 -0
  328. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +2 -2
  329. package/lib/components/DatePicker/DatePicker.Skeleton.js +3 -2
  330. package/lib/components/DatePicker/DatePicker.js +2 -2
  331. package/lib/components/DatePicker/index.js +3 -1
  332. package/lib/components/DatePickerInput/DatePickerInput.js +3 -3
  333. package/lib/components/DatePickerInput/index.js +3 -1
  334. package/lib/components/Dialog/Dialog.js +3 -3
  335. package/lib/components/Dialog/index.js +8 -0
  336. package/lib/components/Dropdown/Dropdown.Skeleton.js +3 -2
  337. package/lib/components/Dropdown/Dropdown.js +2 -2
  338. package/lib/components/Dropdown/index.js +3 -1
  339. package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
  340. package/lib/components/ExpandableSearch/index.js +3 -1
  341. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -3
  342. package/lib/components/FileUploader/FileUploader.js +9 -6
  343. package/lib/components/FileUploader/FileUploaderButton.js +3 -3
  344. package/lib/components/FileUploader/FileUploaderDropContainer.js +8 -6
  345. package/lib/components/FileUploader/FileUploaderItem.js +3 -3
  346. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +2 -2
  347. package/lib/components/FluidComboBox/FluidComboBox.js +2 -2
  348. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +2 -2
  349. package/lib/components/FluidDatePicker/FluidDatePicker.js +2 -2
  350. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +2 -2
  351. package/lib/components/FluidDropdown/FluidDropdown.js +2 -2
  352. package/lib/components/FluidForm/FluidForm.js +2 -2
  353. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +2 -2
  354. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +2 -2
  355. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +2 -2
  356. package/lib/components/FluidNumberInput/FluidNumberInput.js +2 -2
  357. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +2 -2
  358. package/lib/components/FluidSearch/FluidSearch.js +2 -2
  359. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +2 -2
  360. package/lib/components/FluidSelect/FluidSelect.js +2 -2
  361. package/lib/components/FluidSelect/index.js +3 -1
  362. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +2 -2
  363. package/lib/components/FluidTextArea/FluidTextArea.js +2 -2
  364. package/lib/components/FluidTextInput/FluidPasswordInput.js +2 -2
  365. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +2 -2
  366. package/lib/components/FluidTextInput/FluidTextInput.js +2 -2
  367. package/lib/components/FluidTextInput/index.js +5 -2
  368. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +2 -2
  369. package/lib/components/FluidTimePicker/FluidTimePicker.js +2 -2
  370. package/lib/components/FluidTimePickerSelect/index.js +3 -1
  371. package/lib/components/Form/Form.js +2 -2
  372. package/lib/components/FormGroup/FormGroup.js +2 -2
  373. package/lib/components/FormItem/FormItem.js +2 -2
  374. package/lib/components/FormLabel/FormLabel.js +2 -2
  375. package/lib/components/Grid/CSSGrid.js +3 -3
  376. package/lib/components/Grid/Column.js +2 -2
  377. package/lib/components/Grid/ColumnHang.js +3 -3
  378. package/lib/components/Grid/FlexGrid.js +3 -3
  379. package/lib/components/Grid/Grid.js +3 -3
  380. package/lib/components/Grid/Row.js +2 -2
  381. package/lib/components/Icon/Icon.Skeleton.js +3 -2
  382. package/lib/components/IconButton/index.js +4 -3
  383. package/lib/components/IconIndicator/index.js +4 -2
  384. package/lib/components/InlineCheckbox/index.js +3 -1
  385. package/lib/components/InlineLoading/InlineLoading.js +2 -2
  386. package/lib/components/InlineLoading/index.js +3 -1
  387. package/lib/components/Layer/LayerLevel.js +1 -0
  388. package/lib/components/Layer/index.js +2 -2
  389. package/lib/components/Layout/index.js +2 -2
  390. package/lib/components/LayoutDirection/LayoutDirection.js +1 -0
  391. package/lib/components/Link/Link.js +2 -2
  392. package/lib/components/Link/index.js +3 -1
  393. package/lib/components/ListBox/ListBox.js +2 -2
  394. package/lib/components/ListBox/ListBoxMenuIcon.js +2 -2
  395. package/lib/components/ListBox/ListBoxMenuItem.js +4 -3
  396. package/lib/components/ListBox/ListBoxSelection.js +2 -2
  397. package/lib/components/ListBox/index.js +3 -1
  398. package/lib/components/ListBox/next/ListBoxSelection.js +2 -2
  399. package/lib/components/ListBox/next/ListBoxTrigger.js +2 -2
  400. package/lib/components/ListItem/ListItem.js +2 -2
  401. package/lib/components/Loading/Loading.js +2 -2
  402. package/lib/components/Loading/index.js +3 -1
  403. package/lib/components/Menu/Menu.js +2 -2
  404. package/lib/components/Menu/MenuItem.js +2 -2
  405. package/lib/components/MenuButton/index.js +2 -2
  406. package/lib/components/Modal/Modal.js +5 -4
  407. package/lib/components/Modal/ModalPresence.js +4 -1
  408. package/lib/components/Modal/index.js +6 -2
  409. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  410. package/lib/components/MultiSelect/FilterableMultiSelect.js +6 -4
  411. package/lib/components/MultiSelect/MultiSelect.js +3 -3
  412. package/lib/components/Notification/Notification.js +4 -4
  413. package/lib/components/NumberInput/NumberInput.Skeleton.js +2 -2
  414. package/lib/components/NumberInput/NumberInput.js +16 -5
  415. package/lib/components/OrderedList/OrderedList.js +2 -2
  416. package/lib/components/OverflowMenu/OverflowMenu.js +5 -3
  417. package/lib/components/OverflowMenu/index.js +3 -2
  418. package/lib/components/OverflowMenu/next/index.js +2 -2
  419. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +3 -3
  420. package/lib/components/OverflowMenuItem/index.js +3 -1
  421. package/lib/components/OverflowMenuV2/index.js +1 -1
  422. package/lib/components/PageHeader/PageHeader.js +5 -5
  423. package/lib/components/PageHeader/index.js +14 -0
  424. package/lib/components/Pagination/Pagination.Skeleton.js +3 -2
  425. package/lib/components/Pagination/Pagination.d.ts +18 -1
  426. package/lib/components/Pagination/Pagination.js +31 -6
  427. package/lib/components/Pagination/experimental/PageSelector.d.ts +4 -0
  428. package/lib/components/Pagination/experimental/PageSelector.js +9 -2
  429. package/lib/components/Pagination/experimental/Pagination-story.d.ts +100 -65
  430. package/lib/components/Pagination/experimental/Pagination.d.ts +4 -0
  431. package/lib/components/Pagination/experimental/Pagination.js +9 -2
  432. package/lib/components/PaginationNav/PaginationNav.js +6 -4
  433. package/lib/components/Popover/index.js +10 -2
  434. package/lib/components/ProgressBar/ProgressBar.js +2 -2
  435. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +3 -2
  436. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -2
  437. package/lib/components/RadioButton/RadioButton.Skeleton.js +3 -2
  438. package/lib/components/RadioButton/RadioButton.js +2 -2
  439. package/lib/components/RadioButton/index.js +3 -1
  440. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +2 -2
  441. package/lib/components/RadioTile/RadioTile.js +3 -3
  442. package/lib/components/RadioTile/index.js +3 -1
  443. package/lib/components/Search/Search.Skeleton.js +3 -2
  444. package/lib/components/Search/Search.js +3 -3
  445. package/lib/components/Search/index.js +3 -1
  446. package/lib/components/Select/Select.Skeleton.js +3 -2
  447. package/lib/components/Select/Select.js +2 -2
  448. package/lib/components/Select/index.js +3 -1
  449. package/lib/components/SelectItem/SelectItem.js +2 -2
  450. package/lib/components/SelectItem/index.js +3 -1
  451. package/lib/components/SelectItemGroup/SelectItemGroup.js +2 -2
  452. package/lib/components/ShapeIndicator/index.js +4 -2
  453. package/lib/components/SkeletonIcon/SkeletonIcon.js +2 -2
  454. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
  455. package/lib/components/SkeletonText/SkeletonText.js +2 -2
  456. package/lib/components/SkeletonText/index.js +3 -1
  457. package/lib/components/Slider/Slider.Skeleton.js +2 -2
  458. package/lib/components/Slider/Slider.js +8 -6
  459. package/lib/components/Stack/Stack.js +2 -2
  460. package/lib/components/StructuredList/StructuredList.Skeleton.js +2 -2
  461. package/lib/components/StructuredList/StructuredList.js +2 -2
  462. package/lib/components/Switch/IconSwitch.js +5 -4
  463. package/lib/components/Switch/Switch.js +3 -3
  464. package/lib/components/TabContent/TabContent.js +2 -2
  465. package/lib/components/Tabs/Tabs.Skeleton.js +3 -2
  466. package/lib/components/Tabs/Tabs.js +35 -23
  467. package/lib/components/Tag/DismissibleTag.js +3 -2
  468. package/lib/components/Tag/OperationalTag.js +3 -2
  469. package/lib/components/Tag/SelectableTag.js +2 -2
  470. package/lib/components/Tag/Tag.Skeleton.js +3 -2
  471. package/lib/components/Tag/Tag.js +3 -2
  472. package/lib/components/TextArea/TextArea.Skeleton.js +3 -2
  473. package/lib/components/TextArea/TextArea.js +3 -3
  474. package/lib/components/TextArea/index.js +3 -1
  475. package/lib/components/TextInput/ControlledPasswordInput.js +3 -3
  476. package/lib/components/TextInput/PasswordInput.js +2 -2
  477. package/lib/components/TextInput/TextInput.Skeleton.js +3 -2
  478. package/lib/components/TextInput/TextInput.js +2 -2
  479. package/lib/components/TextInput/index.js +3 -1
  480. package/lib/components/Theme/index.js +2 -2
  481. package/lib/components/Tile/Tile.js +7 -4
  482. package/lib/components/TileGroup/TileGroup.js +1 -1
  483. package/lib/components/TimePicker/TimePicker.js +2 -2
  484. package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -2
  485. package/lib/components/Toggle/Toggle.Skeleton.js +3 -2
  486. package/lib/components/Toggle/Toggle.js +3 -2
  487. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +2 -2
  488. package/lib/components/Toggletip/index.js +4 -3
  489. package/lib/components/Tooltip/DefinitionTooltip.js +2 -2
  490. package/lib/components/Tooltip/Tooltip.d.ts +2 -1
  491. package/lib/components/Tooltip/Tooltip.js +5 -4
  492. package/lib/components/TreeView/TreeNode.js +8 -5
  493. package/lib/components/TreeView/TreeView.js +2 -2
  494. package/lib/components/UIShell/Content.js +2 -2
  495. package/lib/components/UIShell/Header.js +2 -2
  496. package/lib/components/UIShell/HeaderGlobalAction.js +2 -2
  497. package/lib/components/UIShell/HeaderMenu.js +3 -2
  498. package/lib/components/UIShell/HeaderMenuButton.js +2 -2
  499. package/lib/components/UIShell/HeaderMenuItem.js +2 -2
  500. package/lib/components/UIShell/HeaderName.js +2 -2
  501. package/lib/components/UIShell/HeaderNavigation.js +2 -2
  502. package/lib/components/UIShell/HeaderPanel.js +3 -3
  503. package/lib/components/UIShell/HeaderSideNavItems.js +2 -2
  504. package/lib/components/UIShell/SideNav.js +2 -2
  505. package/lib/components/UIShell/SideNavDetails.js +2 -2
  506. package/lib/components/UIShell/SideNavDivider.js +2 -2
  507. package/lib/components/UIShell/SideNavFooter.js +2 -2
  508. package/lib/components/UIShell/SideNavHeader.js +2 -2
  509. package/lib/components/UIShell/SideNavIcon.js +2 -2
  510. package/lib/components/UIShell/SideNavItem.js +2 -2
  511. package/lib/components/UIShell/SideNavItems.js +2 -2
  512. package/lib/components/UIShell/SideNavLink.js +2 -2
  513. package/lib/components/UIShell/SideNavLinkText.js +2 -2
  514. package/lib/components/UIShell/SideNavMenu.js +3 -2
  515. package/lib/components/UIShell/SideNavMenuItem.js +2 -2
  516. package/lib/components/UIShell/SideNavSwitcher.js +2 -2
  517. package/lib/components/UIShell/SkipToContent.js +2 -2
  518. package/lib/components/UIShell/Switcher.js +2 -2
  519. package/lib/components/UIShell/SwitcherDivider.js +2 -2
  520. package/lib/components/UIShell/SwitcherItem.js +2 -2
  521. package/lib/components/UnorderedList/UnorderedList.js +2 -2
  522. package/lib/index.js +33 -32
  523. package/lib/internal/FloatingMenu.js +13 -8
  524. package/lib/internal/motion/MotionSurface.d.ts +35 -0
  525. package/lib/internal/motion/useMotionEnabled.d.ts +13 -0
  526. package/lib/internal/motion/useMotionSurface.d.ts +33 -0
  527. package/lib/internal/useId.js +1 -0
  528. package/lib/internal/useOverflowItems.js +2 -1
  529. package/lib/internal/usePresence.d.ts +8 -1
  530. package/lib/internal/usePresence.js +4 -2
  531. package/lib/internal/usePresenceContext.d.ts +12 -0
  532. package/lib/internal/usePresenceContext.js +22 -3
  533. package/lib/tools/wrapComponent.js +2 -2
  534. package/package.json +12 -9
  535. package/telemetry.yml +1 -0
@@ -5,11 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { noopFn } from "../../internal/noopFn.js";
8
9
  import { PrefixContext } from "../../internal/usePrefix.js";
9
10
  import { ArrowDown, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUp as ArrowUp$1, Escape, Tab } from "../../internal/keyboard/keys.js";
10
11
  import { matches } from "../../internal/keyboard/match.js";
11
12
  import { setupGetInstanceId } from "../../tools/setupGetInstanceId.js";
12
- import { noopFn } from "../../internal/noopFn.js";
13
13
  import { deprecate } from "../../prop-types/deprecate.js";
14
14
  import { deprecateValuesWithin } from "../../prop-types/deprecateValuesWithin.js";
15
15
  import { mapPopoverAlign } from "../../tools/mapPopoverAlign.js";
@@ -17,8 +17,8 @@ import { IconButton } from "../IconButton/index.js";
17
17
  import { mergeRefs } from "../../tools/mergeRefs.js";
18
18
  import { DIRECTION_BOTTOM, FloatingMenu } from "../../internal/FloatingMenu.js";
19
19
  import { useOutsideClick } from "../../internal/useOutsideClick.js";
20
- import classNames from "classnames";
21
20
  import React, { Children, cloneElement, forwardRef, isValidElement, useCallback, useContext, useEffect, useReducer, useRef, useState } from "react";
21
+ import cx from "classnames";
22
22
  import PropTypes from "prop-types";
23
23
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
24
  import { OverflowMenuVertical } from "@carbon/icons-react";
@@ -231,21 +231,21 @@ const OverflowMenu = forwardRef(({ align, ["aria-label"]: ariaLabel = null, aria
231
231
  return document.body;
232
232
  };
233
233
  const menuBodyId = `overflow-menu-${instanceId.current}__menu-body`;
234
- const overflowMenuClasses = classNames(className, `${prefix}--overflow-menu`, {
234
+ const overflowMenuClasses = cx(className, `${prefix}--overflow-menu`, {
235
235
  [`${prefix}--overflow-menu--open`]: open,
236
236
  [`${prefix}--overflow-menu--light`]: light,
237
237
  [`${prefix}--overflow-menu--${size}`]: size,
238
238
  [`${prefix}--layout--size-${size}`]: size
239
239
  });
240
- const overflowMenuOptionsClasses = classNames(menuOptionsClass, `${prefix}--overflow-menu-options`, {
240
+ const overflowMenuOptionsClasses = cx(menuOptionsClass, `${prefix}--overflow-menu-options`, {
241
241
  [`${prefix}--overflow-menu--flip`]: flipped,
242
242
  [`${prefix}--overflow-menu-options--open`]: open,
243
243
  [`${prefix}--overflow-menu-options--light`]: light,
244
244
  [`${prefix}--overflow-menu-options--${size}`]: size,
245
245
  [`${prefix}--layout--size-${size}`]: size
246
246
  });
247
- const overflowMenuIconClasses = classNames(`${prefix}--overflow-menu__icon`, iconClass);
248
- const overflowMenuWrapperClasses = classNames(`${prefix}--overflow-menu__wrapper`);
247
+ const overflowMenuIconClasses = cx(`${prefix}--overflow-menu__icon`, iconClass);
248
+ const overflowMenuWrapperClasses = cx(`${prefix}--overflow-menu__wrapper`);
249
249
  const childrenWithProps = Children.toArray(children).map((child, index) => {
250
250
  if (isValidElement(child)) {
251
251
  const childElement = child;
@@ -454,4 +454,4 @@ OverflowMenu.propTypes = {
454
454
  ])
455
455
  };
456
456
  //#endregion
457
- export { OverflowMenu as default };
457
+ export { OverflowMenu, OverflowMenu as default, getMenuOffset };
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { useFeatureFlag } from "../FeatureFlags/index.js";
9
9
  import { OverflowMenu as OverflowMenu$1 } from "./next/index.js";
10
- import OverflowMenu$2 from "./OverflowMenu.js";
10
+ import { OverflowMenu as OverflowMenu$2 } from "./OverflowMenu.js";
11
11
  import { forwardRef } from "react";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/OverflowMenu/index.tsx
@@ -29,4 +29,4 @@ const OverflowMenu = forwardRef((props, ref) => {
29
29
  OverflowMenu.displayName = "OverflowMenu";
30
30
  OverflowMenu.propTypes = OverflowMenu$2.propTypes;
31
31
  //#endregion
32
- export { OverflowMenu as default };
32
+ export { OverflowMenu, OverflowMenu as default };
@@ -14,8 +14,8 @@ import { IconButton } from "../../IconButton/index.js";
14
14
  import { mergeRefs } from "../../../tools/mergeRefs.js";
15
15
  import { Menu as Menu$1 } from "../../Menu/Menu.js";
16
16
  import { useAttachedMenu } from "../../../internal/useAttachedMenu.js";
17
- import classNames from "classnames";
18
17
  import React, { useEffect, useRef } from "react";
18
+ import cx from "classnames";
19
19
  import PropTypes from "prop-types";
20
20
  import { jsx, jsxs } from "react/jsx-runtime";
21
21
  import { OverflowMenuVertical } from "@carbon/icons-react";
@@ -65,9 +65,9 @@ const OverflowMenu = React.forwardRef(({ autoAlign = false, children, className,
65
65
  function handleTriggerClick() {
66
66
  if (triggerRef.current) hookOnClick();
67
67
  }
68
- const containerClasses = classNames(className, `${prefix}--overflow-menu__container`, { [`${prefix}--autoalign`]: enableFloatingStyles });
69
- const menuClasses = classNames(`${prefix}--overflow-menu__${menuAlignment}`);
70
- const triggerClasses = classNames(`${prefix}--overflow-menu`, { [`${prefix}--overflow-menu--open`]: open }, size !== defaultSize && `${prefix}--overflow-menu--${size}`, size !== defaultSize && `${prefix}--layout--size-${size}`);
68
+ const containerClasses = cx(className, `${prefix}--overflow-menu__container`, { [`${prefix}--autoalign`]: enableFloatingStyles });
69
+ const menuClasses = cx(`${prefix}--overflow-menu__${menuAlignment}`);
70
+ const triggerClasses = cx(`${prefix}--overflow-menu`, { [`${prefix}--overflow-menu--open`]: open }, size !== defaultSize && `${prefix}--overflow-menu--${size}`, size !== defaultSize && `${prefix}--layout--size-${size}`);
71
71
  const floatingRef = mergeRefs(triggerRef, refs.setReference);
72
72
  return /* @__PURE__ */ jsxs("div", {
73
73
  ...rest,
@@ -5,14 +5,14 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { warning } from "../../internal/warning.js";
8
9
  import { usePrefix } from "../../internal/usePrefix.js";
9
10
  import { Text } from "../Text/Text.js";
10
11
  import { ArrowDown, ArrowUp } from "../../internal/keyboard/keys.js";
11
12
  import { match } from "../../internal/keyboard/match.js";
12
13
  import { useId } from "../../internal/useId.js";
13
- import { warning } from "../../internal/warning.js";
14
- import classNames from "classnames";
15
14
  import { forwardRef } from "react";
15
+ import cx from "classnames";
16
16
  import PropTypes from "prop-types";
17
17
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
18
  //#region src/components/OverflowMenuItem/OverflowMenuItem.tsx
@@ -40,8 +40,8 @@ const OverflowMenuItem = forwardRef((props, ref) => {
40
40
  if (closeMenu) closeMenu();
41
41
  }
42
42
  warning(!!closeMenu, "`<OverflowMenuItem>` detected missing `closeMenu` prop. `closeMenu` is required to let `<OverflowMenu>` close the menu upon actions on `<OverflowMenuItem>`. Please make sure `<OverflowMenuItem>` is a direct child of `<OverflowMenu>.");
43
- const overflowMenuBtnClasses = classNames(`${prefix}--overflow-menu-options__btn`, className);
44
- const overflowMenuItemClasses = classNames(`${prefix}--overflow-menu-options__option`, {
43
+ const overflowMenuBtnClasses = cx(`${prefix}--overflow-menu-options__btn`, className);
44
+ const overflowMenuItemClasses = cx(`${prefix}--overflow-menu-options__option`, {
45
45
  [`${prefix}--overflow-menu--divider`]: hasDivider,
46
46
  [`${prefix}--overflow-menu-options__option--danger`]: isDelete,
47
47
  [`${prefix}--overflow-menu-options__option--disabled`]: disabled
@@ -15,4 +15,4 @@ import OverflowMenuItem from "./OverflowMenuItem.js";
15
15
  */
16
16
  var OverflowMenuItem_default = OverflowMenuItem;
17
17
  //#endregion
18
- export { OverflowMenuItem_default as default };
18
+ export { OverflowMenuItem, OverflowMenuItem_default as default };
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { warning } from "../../internal/warning.js";
9
9
  import { FeatureFlags } from "../FeatureFlags/index.js";
10
- import OverflowMenu from "../OverflowMenu/index.js";
10
+ import { OverflowMenu } from "../OverflowMenu/index.js";
11
11
  import "react";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/OverflowMenuV2/index.js
@@ -14,15 +14,15 @@ import { Popover, PopoverContent } from "../Popover/index.js";
14
14
  import { DefinitionTooltip } from "../Tooltip/DefinitionTooltip.js";
15
15
  import { MenuItem } from "../Menu/MenuItem.js";
16
16
  import { deprecateComponent } from "../../prop-types/deprecateComponent.js";
17
- import { GridAsGridComponent } from "../Grid/Grid.js";
17
+ import { Grid as GridAsGridComponent } from "../Grid/Grid.js";
18
18
  import Column from "../Grid/Column.js";
19
19
  import { MenuButton } from "../MenuButton/index.js";
20
20
  import { useMatchMedia } from "../../internal/useMatchMedia.js";
21
21
  import Tag from "../Tag/Tag.js";
22
22
  import OperationalTag from "../Tag/OperationalTag.js";
23
23
  import useOverflowItems from "../../internal/useOverflowItems.js";
24
- import classNames from "classnames";
25
24
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
25
+ import cx from "classnames";
26
26
  import PropTypes from "prop-types";
27
27
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
28
28
  import { createOverflowHandler } from "@carbon/utilities";
@@ -47,7 +47,7 @@ const usePageHeaderDeprecation = (componentName) => {
47
47
  const PageHeader = React.forwardRef(({ className, children, ...other }, ref) => {
48
48
  usePageHeaderDeprecation("PageHeader");
49
49
  return /* @__PURE__ */ jsx("div", {
50
- className: classNames({ [`${usePrefix()}--page-header`]: true }, className),
50
+ className: cx({ [`${usePrefix()}--page-header`]: true }, className),
51
51
  ref,
52
52
  ...other,
53
53
  children
@@ -57,14 +57,14 @@ PageHeader.displayName = "PageHeader";
57
57
  const PageHeaderBreadcrumbBar = React.forwardRef(({ border = true, className, children, renderIcon: IconElement, contentActions, contentActionsFlush, pageActions, pageActionsFlush, ...other }, ref) => {
58
58
  usePageHeaderDeprecation("PageHeaderBreadcrumbBar");
59
59
  const prefix = usePrefix();
60
- const classNames$1 = classNames({
60
+ const classNames = cx({
61
61
  [`${prefix}--page-header__breadcrumb-bar`]: true,
62
62
  [`${prefix}--page-header__breadcrumb-bar-border`]: border,
63
63
  [`${prefix}--page-header__breadcrumb__actions-flush`]: pageActionsFlush
64
64
  }, className);
65
- const contentActionsClasses = classNames({ [`${prefix}--page-header__breadcrumb__content-actions`]: !contentActionsFlush });
65
+ const contentActionsClasses = cx({ [`${prefix}--page-header__breadcrumb__content-actions`]: !contentActionsFlush });
66
66
  return /* @__PURE__ */ jsx("div", {
67
- className: classNames$1,
67
+ className: classNames,
68
68
  ref,
69
69
  ...other,
70
70
  children: /* @__PURE__ */ jsx(GridAsGridComponent, { children: /* @__PURE__ */ jsx(Column, {
@@ -94,7 +94,7 @@ PageHeaderBreadcrumbBar.displayName = "PageHeaderBreadcrumbBar";
94
94
  const PageHeaderContent = React.forwardRef(({ className, children, title, renderIcon: IconElement, contextualActions, pageActions, ...other }, ref) => {
95
95
  usePageHeaderDeprecation("PageHeaderContent");
96
96
  const prefix = usePrefix();
97
- const classNames$2 = classNames({ [`${prefix}--page-header__content`]: true }, className);
97
+ const classNames = cx({ [`${prefix}--page-header__content`]: true }, className);
98
98
  const titleRef = useRef(null);
99
99
  const [isEllipsisApplied, setIsEllipsisApplied] = useState(false);
100
100
  const isEllipsisActive = (element) => {
@@ -105,7 +105,7 @@ const PageHeaderContent = React.forwardRef(({ className, children, title, render
105
105
  if (titleRef.current) isEllipsisActive(titleRef.current);
106
106
  }, [title]);
107
107
  return /* @__PURE__ */ jsx("div", {
108
- className: classNames$2,
108
+ className: classNames,
109
109
  ref,
110
110
  ...other,
111
111
  children: /* @__PURE__ */ jsx(GridAsGridComponent, { children: /* @__PURE__ */ jsxs(Column, {
@@ -177,7 +177,7 @@ PageHeaderContent.propTypes = {
177
177
  };
178
178
  const PageHeaderContentPageActions = ({ className, children, menuButtonLabel = "Actions", actions, ...other }) => {
179
179
  usePageHeaderDeprecation("PageHeaderContentPageActions");
180
- const classNames$3 = classNames({ [`${usePrefix()}--page-header__content__page-actions`]: true }, className);
180
+ const classNames = cx({ [`${usePrefix()}--page-header__content__page-actions`]: true }, className);
181
181
  const containerRef = useRef(null);
182
182
  const offsetRef = useRef(null);
183
183
  const [menuButtonVisibility, setMenuButtonVisibility] = useState(false);
@@ -200,7 +200,7 @@ const PageHeaderContentPageActions = ({ className, children, menuButtonLabel = "
200
200
  });
201
201
  }, []);
202
202
  return /* @__PURE__ */ jsx("div", {
203
- className: classNames$3,
203
+ className: classNames,
204
204
  ref: containerRef,
205
205
  ...other,
206
206
  children: actions && /* @__PURE__ */ jsx(Fragment, { children: Array.isArray(actions) && /* @__PURE__ */ jsxs(Fragment, { children: [actions.map((action) => /* @__PURE__ */ jsx("div", { children: React.cloneElement(action.body, {
@@ -245,7 +245,7 @@ const PageHeaderContentText = ({ className, children, subtitle, ...other }) => {
245
245
  usePageHeaderDeprecation("PageHeaderContentText");
246
246
  const prefix = usePrefix();
247
247
  return /* @__PURE__ */ jsxs("div", {
248
- className: classNames({ [`${prefix}--page-header__content__body`]: true }, className),
248
+ className: cx({ [`${prefix}--page-header__content__body`]: true }, className),
249
249
  ...other,
250
250
  children: [subtitle && /* @__PURE__ */ jsx(Text, {
251
251
  as: "h3",
@@ -271,10 +271,10 @@ PageHeaderContentText.propTypes = {
271
271
  };
272
272
  const PageHeaderHeroImage = ({ className, children, ...other }) => {
273
273
  usePageHeaderDeprecation("PageHeaderHeroImage");
274
- const classNames$4 = classNames({ [`${usePrefix()}--page-header__hero-image`]: true }, className);
274
+ const classNames = cx({ [`${usePrefix()}--page-header__hero-image`]: true }, className);
275
275
  const isLg = useMatchMedia(`(min-width: ${breakpoints.lg.width})`);
276
276
  return /* @__PURE__ */ jsx(AspectRatio, {
277
- className: classNames$4,
277
+ className: classNames,
278
278
  ...other,
279
279
  ratio: isLg ? "2x1" : "3x2",
280
280
  children
@@ -294,7 +294,7 @@ PageHeaderHeroImage.propTypes = {
294
294
  const PageHeaderTabBar = React.forwardRef(({ className, children, tags = [], ...other }, ref) => {
295
295
  usePageHeaderDeprecation("PageHeaderTabBar");
296
296
  const prefix = usePrefix();
297
- const classNames$5 = classNames({ [`${prefix}--page-header__tab-bar`]: true }, className);
297
+ const classNames = cx({ [`${prefix}--page-header__tab-bar`]: true }, className);
298
298
  const [openPopover, setOpenPopover] = useState(false);
299
299
  const tagSize = tags[0]?.size || "md";
300
300
  const instanceId = useId("PageHeaderTabBar");
@@ -355,7 +355,7 @@ const PageHeaderTabBar = React.forwardRef(({ className, children, tags = [], ...
355
355
  })]
356
356
  });
357
357
  return /* @__PURE__ */ jsx("div", {
358
- className: classNames$5,
358
+ className: classNames,
359
359
  ref,
360
360
  ...other,
361
361
  children: /* @__PURE__ */ jsx(GridAsGridComponent, { children: /* @__PURE__ */ jsx(Column, {
@@ -25,4 +25,4 @@ var PageHeader_exports = /* @__PURE__ */ __exportAll({
25
25
  TabBar: () => TabBar
26
26
  });
27
27
  //#endregion
28
- export { PageHeader_exports };
28
+ export { BreadcrumbBar, Content, ContentPageActions, ContentText, HeroImage, PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderHeroImage, PageHeaderTabBar, PageHeader_exports, Root, TabBar };
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import SkeletonText_default from "../SkeletonText/index.js";
10
- import classNames from "classnames";
11
10
  import "react";
11
+ import cx from "classnames";
12
12
  import PropTypes from "prop-types";
13
13
  import { jsx, jsxs } from "react/jsx-runtime";
14
14
  //#region src/components/Pagination/Pagination.Skeleton.tsx
@@ -21,7 +21,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
21
21
  function PaginationSkeleton({ className, ...rest }) {
22
22
  const prefix = usePrefix();
23
23
  return /* @__PURE__ */ jsxs("div", {
24
- className: classNames(`${prefix}--pagination`, `${prefix}--skeleton`, className),
24
+ className: cx(`${prefix}--pagination`, `${prefix}--skeleton`, className),
25
25
  ...rest,
26
26
  children: [/* @__PURE__ */ jsxs("div", {
27
27
  className: `${prefix}--pagination__left`,
@@ -42,4 +42,4 @@ PaginationSkeleton.propTypes = {
42
42
  */
43
43
  className: PropTypes.string };
44
44
  //#endregion
45
- export { PaginationSkeleton as default };
45
+ export { PaginationSkeleton, PaginationSkeleton as default };
@@ -81,6 +81,22 @@ export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLDivElemen
81
81
  * A function returning the label for the page select.
82
82
  */
83
83
  pageSelectLabelText?: (total: number) => string;
84
+ /**
85
+ * Provide a custom render function for the page-selection control.
86
+ * When provided, the default `<Select>` is replaced with the returned node.
87
+ */
88
+ renderPageSelect?: (props: {
89
+ /** The currently active page. */
90
+ currentPage: number;
91
+ /** Total number of pages derived from `totalItems` and `pageSize`. */
92
+ totalPages: number;
93
+ /** Current page size. */
94
+ currentPageSize: number;
95
+ /** The computed accessible label for the page-selection control. */
96
+ pageSelectLabelText: string;
97
+ /** Sets the active page. */
98
+ onSetPage: (page: number | string) => void;
99
+ }) => React.ReactNode;
84
100
  /**
85
101
  * The number dictating how many items a page contains.
86
102
  */
@@ -98,7 +114,8 @@ export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLDivElemen
98
114
  */
99
115
  pageText?: (page: number, pagesUnknown?: boolean) => string;
100
116
  /**
101
- * `true` if the total number of items is unknown.
117
+ * `true` when the total number of pages is unknown. Hides the page selection
118
+ * control.
102
119
  */
103
120
  pagesUnknown?: boolean;
104
121
  /**
@@ -8,11 +8,12 @@
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { useFallbackId } from "../../internal/useId.js";
10
10
  import { IconButton } from "../IconButton/index.js";
11
+ import { clamp } from "../../internal/clamp.js";
11
12
  import { usePreviousValue } from "../../internal/usePreviousValue.js";
12
13
  import Select_default from "../Select/index.js";
13
14
  import SelectItem_default from "../SelectItem/index.js";
14
- import classNames from "classnames";
15
15
  import React, { useEffect, useMemo, useRef, useState } from "react";
16
+ import cx from "classnames";
16
17
  import PropTypes from "prop-types";
17
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
19
  import { CaretLeft, CaretRight } from "@carbon/icons-react";
@@ -52,7 +53,7 @@ const getPageSize = (pageSizes, pageSize) => {
52
53
  }
53
54
  return pageSizes[0].value;
54
55
  };
55
- const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardTextTooltipPosition = "top", className: customClassName = "", disabled = false, forwardText = "Next page", forwardTextTooltipPosition = "top", id, isLastPage = false, itemText = (min, max) => `${min}–${max} items`, itemRangeText = (min, max, total) => `${min}–${max} of ${total} items`, itemsPerPageText = "Items per page:", onChange, pageNumberText: _pageNumberText, pageRangeText = (_current, total) => `of ${total} ${total === 1 ? "page" : "pages"}`, pageSelectLabelText = (total) => `Page of ${total} ${total === 1 ? "page" : "pages"}`, page: controlledPage = 1, pageInputDisabled, pageSize: controlledPageSize, pageSizeInputDisabled, pageSizes: controlledPageSizes, pageText = (page) => `page ${page}`, pagesUnknown = false, size = "md", totalItems, ...rest }, ref) => {
56
+ const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardTextTooltipPosition = "top", className: customClassName = "", disabled = false, forwardText = "Next page", forwardTextTooltipPosition = "top", id, isLastPage = false, itemText = (min, max) => `${min}–${max} items`, itemRangeText = (min, max, total) => `${min}–${max} of ${total} items`, itemsPerPageText = "Items per page:", onChange, pageNumberText: _pageNumberText, pageRangeText = (_current, total) => `of ${total} ${total === 1 ? "page" : "pages"}`, pageSelectLabelText = (total) => `Page of ${total} ${total === 1 ? "page" : "pages"}`, page: controlledPage = 1, pageInputDisabled, renderPageSelect, pageSize: controlledPageSize, pageSizeInputDisabled, pageSizes: controlledPageSizes, pageText = (page) => `page ${page}`, pagesUnknown = false, size = "md", totalItems, ...rest }, ref) => {
56
57
  const prefix = usePrefix();
57
58
  const inputId = useFallbackId(id?.toString());
58
59
  const backBtnRef = useRef(null);
@@ -67,7 +68,7 @@ const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardT
67
68
  const [pageSize, setPageSize] = useState(() => {
68
69
  return getPageSize(normalizedControlledPageSizes, controlledPageSize);
69
70
  });
70
- const className = classNames({
71
+ const className = cx({
71
72
  [`${prefix}--pagination`]: true,
72
73
  [`${prefix}--pagination--${size}`]: size,
73
74
  [`${prefix}--layout--size-${size}`]: size,
@@ -75,18 +76,18 @@ const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardT
75
76
  });
76
77
  const totalPages = totalItems ? Math.max(Math.ceil(totalItems / pageSize), 1) : 1;
77
78
  const backButtonDisabled = disabled || page === 1;
78
- const backButtonClasses = classNames({
79
+ const backButtonClasses = cx({
79
80
  [`${prefix}--pagination__button`]: true,
80
81
  [`${prefix}--pagination__button--backward`]: true,
81
82
  [`${prefix}--pagination__button--no-index`]: backButtonDisabled
82
83
  });
83
84
  const forwardButtonDisabled = disabled || page === totalPages && !pagesUnknown;
84
- const forwardButtonClasses = classNames({
85
+ const forwardButtonClasses = cx({
85
86
  [`${prefix}--pagination__button`]: true,
86
87
  [`${prefix}--pagination__button--forward`]: true,
87
88
  [`${prefix}--pagination__button--no-index`]: forwardButtonDisabled
88
89
  });
89
- const selectItems = renderSelectItems(totalPages);
90
+ const selectItems = renderPageSelect ? [] : renderSelectItems(totalPages);
90
91
  const focusMap = {
91
92
  backward: backBtnRef,
92
93
  forward: forwardBtnRef
@@ -140,7 +141,8 @@ const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardT
140
141
  ]);
141
142
  useEffect(() => {
142
143
  if (controlledPageSize === prevControlledPageSize) return;
143
- setPageSize(getPageSize(normalizedControlledPageSizes, controlledPageSize));
144
+ const nextPageSize = getPageSize(normalizedControlledPageSizes, controlledPageSize);
145
+ setPageSize(nextPageSize);
144
146
  }, [
145
147
  controlledPageSize,
146
148
  normalizedControlledPageSizes,
@@ -165,6 +167,18 @@ const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardT
165
167
  });
166
168
  }
167
169
  }
170
+ function handleSetPage(nextPage) {
171
+ if (disabled || pageInputDisabled) return;
172
+ const numericPage = Number(nextPage);
173
+ if (!Number.isInteger(numericPage)) return;
174
+ const clamped = clamp(numericPage, 1, totalPages);
175
+ if (clamped === page) return;
176
+ setPage(clamped);
177
+ if (onChange) onChange({
178
+ page: clamped,
179
+ pageSize
180
+ });
181
+ }
168
182
  function incrementPage() {
169
183
  const nextPage = page + 1;
170
184
  setPage(nextPage);
@@ -223,7 +237,13 @@ const Pagination = React.forwardRef(({ backwardText = "Previous page", backwardT
223
237
  children: [pagesUnknown ? /* @__PURE__ */ jsx("span", {
224
238
  className: `${prefix}--pagination__text ${prefix}--pagination__page-text ${prefix}--pagination__unknown-pages-text`,
225
239
  children: pageText(page)
226
- }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Select_default, {
240
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [renderPageSelect ? renderPageSelect({
241
+ currentPage: page,
242
+ totalPages,
243
+ currentPageSize: pageSize,
244
+ pageSelectLabelText: pageSelectLabelText(totalPages),
245
+ onSetPage: handleSetPage
246
+ }) : /* @__PURE__ */ jsx(Select_default, {
227
247
  id: `${prefix}-pagination-select-${inputId}-right`,
228
248
  className: `${prefix}--select__page-number`,
229
249
  labelText: pageSelectLabelText(totalPages),
@@ -341,6 +361,11 @@ Pagination.propTypes = {
341
361
  */
342
362
  pageSelectLabelText: PropTypes.func,
343
363
  /**
364
+ * Provide a custom render function for the page-selection control.
365
+ * When provided, the default `<Select>` is replaced with the returned node.
366
+ */
367
+ renderPageSelect: PropTypes.func,
368
+ /**
344
369
  * The number dictating how many items a page contains.
345
370
  */
346
371
  pageSize: PropTypes.number,
@@ -1,4 +1,8 @@
1
1
  export default PageSelector;
2
+ /**
3
+ * @deprecated Use `Pagination` with the `renderPageSelect` prop instead.
4
+ * `unstable_PageSelector` / `preview_PageSelector` will be removed in v12.
5
+ */
2
6
  declare function PageSelector({ className, currentPage, id, labelText, totalPages, ...other }: {
3
7
  [x: string]: any;
4
8
  className?: null | undefined;
@@ -9,14 +9,27 @@ import { usePrefix } from "../../../internal/usePrefix.js";
9
9
  import { useId } from "../../../internal/useId.js";
10
10
  import Select_default from "../../Select/index.js";
11
11
  import SelectItem_default from "../../SelectItem/index.js";
12
- import classNames from "classnames";
13
- import "react";
12
+ import { useEffect } from "react";
13
+ import cx from "classnames";
14
14
  import PropTypes from "prop-types";
15
15
  import { jsx } from "react/jsx-runtime";
16
16
  //#region src/components/Pagination/experimental/PageSelector.js
17
+ /**
18
+ * Copyright IBM Corp. 2016, 2023
19
+ *
20
+ * This source code is licensed under the Apache-2.0 license found in the
21
+ * LICENSE file in the root directory of this source tree.
22
+ */
23
+ /**
24
+ * @deprecated Use `Pagination` with the `renderPageSelect` prop instead.
25
+ * `unstable_PageSelector` / `preview_PageSelector` will be removed in v12.
26
+ */
17
27
  function PageSelector({ className = null, currentPage, id = 1, labelText = "Current page number", totalPages, ...other }) {
18
28
  const namespace = `${usePrefix()}--unstable-pagination__page-selector`;
19
29
  const instanceId = `${namespace}__select-${useId()}`;
30
+ useEffect(() => {
31
+ console.warn("[Carbon] `unstable_PageSelector` / `preview_PageSelector` is deprecated and will be removed in v12. Use `Pagination` with the `renderPageSelect` prop instead.");
32
+ }, []);
20
33
  const renderPages = (total) => {
21
34
  const pages = [];
22
35
  for (let counter = 1; counter <= total; counter += 1) pages.push(/* @__PURE__ */ jsx(SelectItem_default, {
@@ -26,7 +39,7 @@ function PageSelector({ className = null, currentPage, id = 1, labelText = "Curr
26
39
  return pages;
27
40
  };
28
41
  return /* @__PURE__ */ jsx(Select_default, {
29
- className: classNames(namespace, className),
42
+ className: cx(namespace, className),
30
43
  hideLabel: true,
31
44
  id: instanceId || id,
32
45
  inline: true,