@carbon/react 1.112.0-rc.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 (547) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +925 -925
  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 +4 -5
  65. package/es/components/DatePicker/index.js +2 -2
  66. package/es/components/DatePicker/plugins/fixEventsPlugin.d.ts +2 -5
  67. package/es/components/DatePicker/plugins/fixEventsPlugin.js +5 -12
  68. package/es/components/DatePickerInput/DatePickerInput.js +7 -7
  69. package/es/components/DatePickerInput/index.js +1 -1
  70. package/es/components/Dialog/Dialog.js +9 -9
  71. package/es/components/Dialog/index.js +1 -1
  72. package/es/components/Dropdown/Dropdown.Skeleton.js +4 -4
  73. package/es/components/Dropdown/Dropdown.js +5 -5
  74. package/es/components/Dropdown/index.js +2 -2
  75. package/es/components/ExpandableSearch/ExpandableSearch.js +2 -2
  76. package/es/components/ExpandableSearch/index.js +1 -1
  77. package/es/components/FeatureFlags/index.d.ts +3 -1
  78. package/es/components/FeatureFlags/index.js +5 -1
  79. package/es/components/FileUploader/FileUploader.Skeleton.js +4 -4
  80. package/es/components/FileUploader/FileUploader.js +11 -8
  81. package/es/components/FileUploader/FileUploaderButton.js +3 -3
  82. package/es/components/FileUploader/FileUploaderDropContainer.js +8 -6
  83. package/es/components/FileUploader/FileUploaderItem.js +3 -3
  84. package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +2 -2
  85. package/es/components/FluidComboBox/FluidComboBox.js +3 -3
  86. package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +3 -3
  87. package/es/components/FluidDatePicker/FluidDatePicker.js +3 -3
  88. package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +2 -2
  89. package/es/components/FluidDropdown/FluidDropdown.js +3 -3
  90. package/es/components/FluidForm/FluidForm.js +3 -3
  91. package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +2 -2
  92. package/es/components/FluidMultiSelect/FluidMultiSelect.js +4 -4
  93. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +2 -2
  94. package/es/components/FluidNumberInput/FluidNumberInput.js +3 -3
  95. package/es/components/FluidSearch/FluidSearch.Skeleton.js +2 -2
  96. package/es/components/FluidSearch/FluidSearch.js +3 -3
  97. package/es/components/FluidSelect/FluidSelect.Skeleton.js +2 -2
  98. package/es/components/FluidSelect/FluidSelect.js +3 -3
  99. package/es/components/FluidSelect/index.js +2 -2
  100. package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +2 -2
  101. package/es/components/FluidTextArea/FluidTextArea.js +3 -3
  102. package/es/components/FluidTextInput/FluidPasswordInput.js +3 -3
  103. package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +2 -2
  104. package/es/components/FluidTextInput/FluidTextInput.js +4 -4
  105. package/es/components/FluidTextInput/index.js +3 -3
  106. package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +2 -2
  107. package/es/components/FluidTimePicker/FluidTimePicker.js +3 -3
  108. package/es/components/FluidTimePickerSelect/index.js +1 -1
  109. package/es/components/Form/Form.js +2 -2
  110. package/es/components/FormGroup/FormGroup.js +2 -2
  111. package/es/components/FormItem/FormItem.js +2 -2
  112. package/es/components/FormLabel/FormLabel.js +2 -2
  113. package/es/components/Grid/CSSGrid.js +4 -4
  114. package/es/components/Grid/Column.js +3 -3
  115. package/es/components/Grid/ColumnHang.js +3 -3
  116. package/es/components/Grid/FlexGrid.js +3 -3
  117. package/es/components/Grid/Grid.js +3 -3
  118. package/es/components/Grid/Row.js +2 -2
  119. package/es/components/Icon/Icon.Skeleton.js +3 -3
  120. package/es/components/IconButton/index.js +4 -3
  121. package/es/components/IconIndicator/index.js +4 -4
  122. package/es/components/InlineCheckbox/index.js +1 -1
  123. package/es/components/InlineLoading/InlineLoading.js +2 -2
  124. package/es/components/InlineLoading/index.js +1 -1
  125. package/es/components/Layer/LayerLevel.js +1 -1
  126. package/es/components/Layer/index.js +2 -2
  127. package/es/components/Layout/index.js +3 -3
  128. package/es/components/LayoutDirection/LayoutDirection.js +1 -1
  129. package/es/components/Link/Link.js +2 -2
  130. package/es/components/Link/index.js +1 -1
  131. package/es/components/ListBox/ListBox.js +2 -2
  132. package/es/components/ListBox/ListBoxMenuIcon.js +2 -2
  133. package/es/components/ListBox/ListBoxMenuItem.js +4 -3
  134. package/es/components/ListBox/ListBoxSelection.js +3 -3
  135. package/es/components/ListBox/index.js +2 -2
  136. package/es/components/ListBox/next/ListBoxSelection.d.ts +12 -2
  137. package/es/components/ListBox/next/ListBoxSelection.js +10 -5
  138. package/es/components/ListBox/next/ListBoxTrigger.js +2 -2
  139. package/es/components/ListItem/ListItem.js +2 -2
  140. package/es/components/Loading/Loading.js +3 -3
  141. package/es/components/Loading/index.js +1 -1
  142. package/es/components/Menu/Menu.js +3 -3
  143. package/es/components/Menu/MenuItem.js +9 -9
  144. package/es/components/MenuButton/index.js +4 -4
  145. package/es/components/Modal/Modal.js +11 -11
  146. package/es/components/Modal/ModalPresence.js +5 -2
  147. package/es/components/Modal/index.js +2 -2
  148. package/es/components/ModalWrapper/ModalWrapper.js +2 -2
  149. package/es/components/MultiSelect/FilterableMultiSelect.js +23 -11
  150. package/es/components/MultiSelect/MultiSelect.js +7 -7
  151. package/es/components/Notification/Notification.js +10 -10
  152. package/es/components/NumberInput/NumberInput.Skeleton.js +2 -2
  153. package/es/components/NumberInput/NumberInput.js +21 -11
  154. package/es/components/OrderedList/OrderedList.js +2 -2
  155. package/es/components/OverflowMenu/OverflowMenu.js +7 -7
  156. package/es/components/OverflowMenu/index.js +2 -2
  157. package/es/components/OverflowMenu/next/index.js +4 -4
  158. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -4
  159. package/es/components/OverflowMenuItem/index.js +1 -1
  160. package/es/components/OverflowMenuV2/index.js +1 -1
  161. package/es/components/PageHeader/PageHeader.js +15 -15
  162. package/es/components/PageHeader/index.js +1 -1
  163. package/es/components/Pagination/Pagination.Skeleton.js +3 -3
  164. package/es/components/Pagination/Pagination.d.ts +18 -1
  165. package/es/components/Pagination/Pagination.js +33 -8
  166. package/es/components/Pagination/experimental/PageSelector.d.ts +4 -0
  167. package/es/components/Pagination/experimental/PageSelector.js +16 -3
  168. package/es/components/Pagination/experimental/Pagination-story.d.ts +100 -65
  169. package/es/components/Pagination/experimental/Pagination.d.ts +4 -0
  170. package/es/components/Pagination/experimental/Pagination.js +12 -5
  171. package/es/components/PaginationNav/PaginationNav.js +8 -6
  172. package/es/components/Popover/index.js +14 -6
  173. package/es/components/ProgressBar/ProgressBar.js +3 -3
  174. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +3 -3
  175. package/es/components/ProgressIndicator/ProgressIndicator.js +4 -4
  176. package/es/components/RadioButton/RadioButton.Skeleton.js +3 -3
  177. package/es/components/RadioButton/RadioButton.js +3 -3
  178. package/es/components/RadioButton/index.js +1 -1
  179. package/es/components/RadioButtonGroup/RadioButtonGroup.js +4 -4
  180. package/es/components/RadioTile/RadioTile.js +3 -3
  181. package/es/components/RadioTile/index.js +1 -1
  182. package/es/components/Search/Search.Skeleton.js +3 -3
  183. package/es/components/Search/Search.js +4 -4
  184. package/es/components/Search/index.js +2 -2
  185. package/es/components/Select/Select.Skeleton.js +3 -3
  186. package/es/components/Select/Select.js +6 -6
  187. package/es/components/Select/index.js +2 -2
  188. package/es/components/SelectItem/SelectItem.js +2 -2
  189. package/es/components/SelectItem/index.js +1 -1
  190. package/es/components/SelectItemGroup/SelectItemGroup.js +2 -2
  191. package/es/components/ShapeIndicator/index.js +4 -4
  192. package/es/components/SkeletonIcon/SkeletonIcon.js +2 -2
  193. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
  194. package/es/components/SkeletonText/SkeletonText.js +2 -2
  195. package/es/components/SkeletonText/index.js +1 -1
  196. package/es/components/Slider/Slider.Skeleton.js +7 -7
  197. package/es/components/Slider/Slider.js +22 -20
  198. package/es/components/Stack/Stack.js +2 -2
  199. package/es/components/StructuredList/StructuredList.Skeleton.js +3 -3
  200. package/es/components/StructuredList/StructuredList.js +7 -7
  201. package/es/components/Switch/IconSwitch.js +6 -5
  202. package/es/components/Switch/Switch.js +3 -3
  203. package/es/components/TabContent/TabContent.js +2 -2
  204. package/es/components/Tabs/Tabs.Skeleton.js +3 -3
  205. package/es/components/Tabs/Tabs.js +45 -33
  206. package/es/components/Tag/DismissibleTag.js +4 -3
  207. package/es/components/Tag/OperationalTag.js +4 -3
  208. package/es/components/Tag/SelectableTag.js +3 -3
  209. package/es/components/Tag/Tag.Skeleton.js +3 -3
  210. package/es/components/Tag/Tag.js +4 -3
  211. package/es/components/TextArea/TextArea.Skeleton.js +3 -3
  212. package/es/components/TextArea/TextArea.js +8 -8
  213. package/es/components/TextArea/index.js +2 -2
  214. package/es/components/TextInput/ControlledPasswordInput.js +6 -6
  215. package/es/components/TextInput/PasswordInput.js +10 -10
  216. package/es/components/TextInput/TextInput.Skeleton.js +3 -3
  217. package/es/components/TextInput/TextInput.js +9 -9
  218. package/es/components/TextInput/index.js +2 -2
  219. package/es/components/Theme/index.js +2 -2
  220. package/es/components/Tile/Tile.js +14 -11
  221. package/es/components/TileGroup/TileGroup.js +1 -1
  222. package/es/components/TimePicker/TimePicker.js +5 -5
  223. package/es/components/TimePickerSelect/TimePickerSelect.js +2 -2
  224. package/es/components/Toggle/Toggle.Skeleton.js +3 -3
  225. package/es/components/Toggle/Toggle.js +6 -6
  226. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +2 -2
  227. package/es/components/Toggletip/index.js +6 -6
  228. package/es/components/Tooltip/DefinitionTooltip.js +2 -2
  229. package/es/components/Tooltip/Tooltip.d.ts +2 -1
  230. package/es/components/Tooltip/Tooltip.js +5 -4
  231. package/es/components/TreeView/TreeNode.js +11 -8
  232. package/es/components/TreeView/TreeView.js +2 -2
  233. package/es/components/UIShell/Content.js +2 -2
  234. package/es/components/UIShell/Header.js +2 -2
  235. package/es/components/UIShell/HeaderGlobalAction.js +2 -2
  236. package/es/components/UIShell/HeaderMenu.js +4 -4
  237. package/es/components/UIShell/HeaderMenuButton.js +2 -2
  238. package/es/components/UIShell/HeaderMenuItem.js +2 -2
  239. package/es/components/UIShell/HeaderName.js +2 -2
  240. package/es/components/UIShell/HeaderNavigation.js +2 -2
  241. package/es/components/UIShell/HeaderPanel.js +3 -3
  242. package/es/components/UIShell/HeaderSideNavItems.js +2 -2
  243. package/es/components/UIShell/SideNav.js +3 -3
  244. package/es/components/UIShell/SideNavDetails.js +2 -2
  245. package/es/components/UIShell/SideNavDivider.js +2 -2
  246. package/es/components/UIShell/SideNavFooter.js +2 -2
  247. package/es/components/UIShell/SideNavHeader.js +2 -2
  248. package/es/components/UIShell/SideNavIcon.js +2 -2
  249. package/es/components/UIShell/SideNavItem.js +2 -2
  250. package/es/components/UIShell/SideNavItems.js +2 -2
  251. package/es/components/UIShell/SideNavLink.js +2 -2
  252. package/es/components/UIShell/SideNavLinkText.js +2 -2
  253. package/es/components/UIShell/SideNavMenu.js +3 -3
  254. package/es/components/UIShell/SideNavMenuItem.js +3 -3
  255. package/es/components/UIShell/SideNavSwitcher.js +2 -2
  256. package/es/components/UIShell/SkipToContent.js +2 -2
  257. package/es/components/UIShell/Switcher.js +2 -2
  258. package/es/components/UIShell/SwitcherDivider.js +3 -3
  259. package/es/components/UIShell/SwitcherItem.js +4 -4
  260. package/es/components/UnorderedList/UnorderedList.js +2 -2
  261. package/es/feature-flags.js +1 -0
  262. package/es/index.js +30 -30
  263. package/es/internal/FloatingMenu.js +12 -9
  264. package/es/internal/motion/MotionSurface.d.ts +35 -0
  265. package/es/internal/motion/useMotionEnabled.d.ts +13 -0
  266. package/es/internal/motion/useMotionSurface.d.ts +33 -0
  267. package/es/internal/useId.js +1 -1
  268. package/es/internal/useOverflowItems.js +2 -1
  269. package/es/internal/usePresence.d.ts +8 -1
  270. package/es/internal/usePresence.js +4 -2
  271. package/es/internal/usePresenceContext.d.ts +12 -0
  272. package/es/internal/usePresenceContext.js +23 -5
  273. package/es/tools/wrapComponent.js +2 -2
  274. package/lib/components/AILabel/index.js +4 -4
  275. package/lib/components/AISkeleton/AISkeletonIcon.js +2 -2
  276. package/lib/components/AISkeleton/AISkeletonPlaceholder.js +2 -2
  277. package/lib/components/AISkeleton/AISkeletonText.js +2 -2
  278. package/lib/components/Accordion/Accordion.Skeleton.js +3 -2
  279. package/lib/components/Accordion/Accordion.js +2 -2
  280. package/lib/components/Accordion/AccordionItem.js +2 -2
  281. package/lib/components/AspectRatio/AspectRatio.js +2 -2
  282. package/lib/components/BadgeIndicator/index.js +3 -2
  283. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +3 -2
  284. package/lib/components/Breadcrumb/Breadcrumb.js +2 -2
  285. package/lib/components/Breadcrumb/BreadcrumbItem.js +2 -2
  286. package/lib/components/Button/Button.Skeleton.js +3 -2
  287. package/lib/components/Button/Button.js +2 -2
  288. package/lib/components/Button/ButtonBase.js +2 -2
  289. package/lib/components/Button/index.js +7 -1
  290. package/lib/components/ButtonSet/ButtonSet.js +2 -2
  291. package/lib/components/ButtonSet/index.js +3 -1
  292. package/lib/components/ChatButton/ChatButton.Skeleton.js +2 -2
  293. package/lib/components/ChatButton/ChatButton.js +2 -2
  294. package/lib/components/Checkbox/Checkbox.Skeleton.js +3 -2
  295. package/lib/components/Checkbox/Checkbox.js +3 -3
  296. package/lib/components/Checkbox/index.js +3 -1
  297. package/lib/components/CheckboxGroup/CheckboxGroup.js +2 -2
  298. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +3 -2
  299. package/lib/components/CodeSnippet/CodeSnippet.js +2 -2
  300. package/lib/components/ComboBox/ComboBox.js +8 -5
  301. package/lib/components/ComboBox/index.js +3 -1
  302. package/lib/components/ComboButton/index.js +2 -2
  303. package/lib/components/ComposedModal/ComposedModal.js +5 -4
  304. package/lib/components/ComposedModal/ComposedModalPresence.js +4 -1
  305. package/lib/components/ComposedModal/ModalFooter.js +3 -3
  306. package/lib/components/ComposedModal/ModalHeader.js +2 -2
  307. package/lib/components/ContainedList/ContainedList.js +2 -2
  308. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +2 -2
  309. package/lib/components/ContainedList/ContainedListItem/index.js +3 -1
  310. package/lib/components/ContentSwitcher/ContentSwitcher.js +2 -2
  311. package/lib/components/Copy/Copy.js +3 -3
  312. package/lib/components/Copy/index.js +3 -1
  313. package/lib/components/CopyButton/CopyButton.js +3 -3
  314. package/lib/components/CopyButton/index.js +3 -1
  315. package/lib/components/DataTable/DataTable.js +4 -3
  316. package/lib/components/DataTable/Table.js +3 -2
  317. package/lib/components/DataTable/TableBatchActions.js +2 -2
  318. package/lib/components/DataTable/TableCell.js +2 -2
  319. package/lib/components/DataTable/TableContainer.js +2 -2
  320. package/lib/components/DataTable/TableDecoratorRow.js +2 -2
  321. package/lib/components/DataTable/TableExpandHeader.js +2 -2
  322. package/lib/components/DataTable/TableExpandRow.js +2 -2
  323. package/lib/components/DataTable/TableExpandedRow.js +2 -2
  324. package/lib/components/DataTable/TableHeader.js +2 -2
  325. package/lib/components/DataTable/TableRow.js +2 -2
  326. package/lib/components/DataTable/TableSelectAll.js +2 -2
  327. package/lib/components/DataTable/TableSelectRow.js +2 -2
  328. package/lib/components/DataTable/TableSlugRow.js +2 -2
  329. package/lib/components/DataTable/TableToolbar.js +3 -2
  330. package/lib/components/DataTable/TableToolbarMenu.js +3 -3
  331. package/lib/components/DataTable/TableToolbarSearch.js +3 -3
  332. package/lib/components/DataTable/state/sorting.js +3 -1
  333. package/lib/components/DataTable/tools/sorting.js +2 -0
  334. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +2 -2
  335. package/lib/components/DatePicker/DatePicker.Skeleton.js +3 -2
  336. package/lib/components/DatePicker/DatePicker.js +3 -4
  337. package/lib/components/DatePicker/index.js +3 -1
  338. package/lib/components/DatePicker/plugins/fixEventsPlugin.d.ts +2 -5
  339. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +5 -12
  340. package/lib/components/DatePickerInput/DatePickerInput.js +3 -3
  341. package/lib/components/DatePickerInput/index.js +3 -1
  342. package/lib/components/Dialog/Dialog.js +3 -3
  343. package/lib/components/Dialog/index.js +8 -0
  344. package/lib/components/Dropdown/Dropdown.Skeleton.js +3 -2
  345. package/lib/components/Dropdown/Dropdown.js +2 -2
  346. package/lib/components/Dropdown/index.js +3 -1
  347. package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
  348. package/lib/components/ExpandableSearch/index.js +3 -1
  349. package/lib/components/FeatureFlags/index.d.ts +3 -1
  350. package/lib/components/FeatureFlags/index.js +5 -1
  351. package/lib/components/FileUploader/FileUploader.Skeleton.js +4 -3
  352. package/lib/components/FileUploader/FileUploader.js +9 -6
  353. package/lib/components/FileUploader/FileUploaderButton.js +3 -3
  354. package/lib/components/FileUploader/FileUploaderDropContainer.js +8 -6
  355. package/lib/components/FileUploader/FileUploaderItem.js +3 -3
  356. package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +2 -2
  357. package/lib/components/FluidComboBox/FluidComboBox.js +2 -2
  358. package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +2 -2
  359. package/lib/components/FluidDatePicker/FluidDatePicker.js +2 -2
  360. package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +2 -2
  361. package/lib/components/FluidDropdown/FluidDropdown.js +2 -2
  362. package/lib/components/FluidForm/FluidForm.js +2 -2
  363. package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +2 -2
  364. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +2 -2
  365. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +2 -2
  366. package/lib/components/FluidNumberInput/FluidNumberInput.js +2 -2
  367. package/lib/components/FluidSearch/FluidSearch.Skeleton.js +2 -2
  368. package/lib/components/FluidSearch/FluidSearch.js +2 -2
  369. package/lib/components/FluidSelect/FluidSelect.Skeleton.js +2 -2
  370. package/lib/components/FluidSelect/FluidSelect.js +2 -2
  371. package/lib/components/FluidSelect/index.js +3 -1
  372. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +2 -2
  373. package/lib/components/FluidTextArea/FluidTextArea.js +2 -2
  374. package/lib/components/FluidTextInput/FluidPasswordInput.js +2 -2
  375. package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +2 -2
  376. package/lib/components/FluidTextInput/FluidTextInput.js +2 -2
  377. package/lib/components/FluidTextInput/index.js +5 -2
  378. package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +2 -2
  379. package/lib/components/FluidTimePicker/FluidTimePicker.js +2 -2
  380. package/lib/components/FluidTimePickerSelect/index.js +3 -1
  381. package/lib/components/Form/Form.js +2 -2
  382. package/lib/components/FormGroup/FormGroup.js +2 -2
  383. package/lib/components/FormItem/FormItem.js +2 -2
  384. package/lib/components/FormLabel/FormLabel.js +2 -2
  385. package/lib/components/Grid/CSSGrid.js +3 -3
  386. package/lib/components/Grid/Column.js +2 -2
  387. package/lib/components/Grid/ColumnHang.js +3 -3
  388. package/lib/components/Grid/FlexGrid.js +3 -3
  389. package/lib/components/Grid/Grid.js +3 -3
  390. package/lib/components/Grid/Row.js +2 -2
  391. package/lib/components/Icon/Icon.Skeleton.js +3 -2
  392. package/lib/components/IconButton/index.js +4 -3
  393. package/lib/components/IconIndicator/index.js +4 -2
  394. package/lib/components/InlineCheckbox/index.js +3 -1
  395. package/lib/components/InlineLoading/InlineLoading.js +2 -2
  396. package/lib/components/InlineLoading/index.js +3 -1
  397. package/lib/components/Layer/LayerLevel.js +1 -0
  398. package/lib/components/Layer/index.js +2 -2
  399. package/lib/components/Layout/index.js +2 -2
  400. package/lib/components/LayoutDirection/LayoutDirection.js +1 -0
  401. package/lib/components/Link/Link.js +2 -2
  402. package/lib/components/Link/index.js +3 -1
  403. package/lib/components/ListBox/ListBox.js +2 -2
  404. package/lib/components/ListBox/ListBoxMenuIcon.js +2 -2
  405. package/lib/components/ListBox/ListBoxMenuItem.js +4 -3
  406. package/lib/components/ListBox/ListBoxSelection.js +2 -2
  407. package/lib/components/ListBox/index.js +3 -1
  408. package/lib/components/ListBox/next/ListBoxSelection.d.ts +12 -2
  409. package/lib/components/ListBox/next/ListBoxSelection.js +9 -4
  410. package/lib/components/ListBox/next/ListBoxTrigger.js +2 -2
  411. package/lib/components/ListItem/ListItem.js +2 -2
  412. package/lib/components/Loading/Loading.js +2 -2
  413. package/lib/components/Loading/index.js +3 -1
  414. package/lib/components/Menu/Menu.js +2 -2
  415. package/lib/components/Menu/MenuItem.js +2 -2
  416. package/lib/components/MenuButton/index.js +2 -2
  417. package/lib/components/Modal/Modal.js +7 -6
  418. package/lib/components/Modal/ModalPresence.js +4 -1
  419. package/lib/components/Modal/index.js +6 -2
  420. package/lib/components/ModalWrapper/ModalWrapper.js +2 -2
  421. package/lib/components/MultiSelect/FilterableMultiSelect.js +19 -7
  422. package/lib/components/MultiSelect/MultiSelect.js +3 -3
  423. package/lib/components/Notification/Notification.js +4 -4
  424. package/lib/components/NumberInput/NumberInput.Skeleton.js +2 -2
  425. package/lib/components/NumberInput/NumberInput.js +16 -5
  426. package/lib/components/OrderedList/OrderedList.js +2 -2
  427. package/lib/components/OverflowMenu/OverflowMenu.js +5 -3
  428. package/lib/components/OverflowMenu/index.js +3 -2
  429. package/lib/components/OverflowMenu/next/index.js +2 -2
  430. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +3 -3
  431. package/lib/components/OverflowMenuItem/index.js +3 -1
  432. package/lib/components/OverflowMenuV2/index.js +1 -1
  433. package/lib/components/PageHeader/PageHeader.js +5 -5
  434. package/lib/components/PageHeader/index.js +14 -0
  435. package/lib/components/Pagination/Pagination.Skeleton.js +3 -2
  436. package/lib/components/Pagination/Pagination.d.ts +18 -1
  437. package/lib/components/Pagination/Pagination.js +31 -6
  438. package/lib/components/Pagination/experimental/PageSelector.d.ts +4 -0
  439. package/lib/components/Pagination/experimental/PageSelector.js +9 -2
  440. package/lib/components/Pagination/experimental/Pagination-story.d.ts +100 -65
  441. package/lib/components/Pagination/experimental/Pagination.d.ts +4 -0
  442. package/lib/components/Pagination/experimental/Pagination.js +9 -2
  443. package/lib/components/PaginationNav/PaginationNav.js +6 -4
  444. package/lib/components/Popover/index.js +10 -2
  445. package/lib/components/ProgressBar/ProgressBar.js +2 -2
  446. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +3 -2
  447. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -2
  448. package/lib/components/RadioButton/RadioButton.Skeleton.js +3 -2
  449. package/lib/components/RadioButton/RadioButton.js +2 -2
  450. package/lib/components/RadioButton/index.js +3 -1
  451. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +2 -2
  452. package/lib/components/RadioTile/RadioTile.js +3 -3
  453. package/lib/components/RadioTile/index.js +3 -1
  454. package/lib/components/Search/Search.Skeleton.js +3 -2
  455. package/lib/components/Search/Search.js +3 -3
  456. package/lib/components/Search/index.js +3 -1
  457. package/lib/components/Select/Select.Skeleton.js +3 -2
  458. package/lib/components/Select/Select.js +2 -2
  459. package/lib/components/Select/index.js +3 -1
  460. package/lib/components/SelectItem/SelectItem.js +2 -2
  461. package/lib/components/SelectItem/index.js +3 -1
  462. package/lib/components/SelectItemGroup/SelectItemGroup.js +2 -2
  463. package/lib/components/ShapeIndicator/index.js +4 -2
  464. package/lib/components/SkeletonIcon/SkeletonIcon.js +2 -2
  465. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +2 -2
  466. package/lib/components/SkeletonText/SkeletonText.js +2 -2
  467. package/lib/components/SkeletonText/index.js +3 -1
  468. package/lib/components/Slider/Slider.Skeleton.js +2 -2
  469. package/lib/components/Slider/Slider.js +8 -6
  470. package/lib/components/Stack/Stack.js +2 -2
  471. package/lib/components/StructuredList/StructuredList.Skeleton.js +2 -2
  472. package/lib/components/StructuredList/StructuredList.js +2 -2
  473. package/lib/components/Switch/IconSwitch.js +5 -4
  474. package/lib/components/Switch/Switch.js +3 -3
  475. package/lib/components/TabContent/TabContent.js +2 -2
  476. package/lib/components/Tabs/Tabs.Skeleton.js +3 -2
  477. package/lib/components/Tabs/Tabs.js +35 -23
  478. package/lib/components/Tag/DismissibleTag.js +3 -2
  479. package/lib/components/Tag/OperationalTag.js +3 -2
  480. package/lib/components/Tag/SelectableTag.js +2 -2
  481. package/lib/components/Tag/Tag.Skeleton.js +3 -2
  482. package/lib/components/Tag/Tag.js +3 -2
  483. package/lib/components/TextArea/TextArea.Skeleton.js +3 -2
  484. package/lib/components/TextArea/TextArea.js +3 -3
  485. package/lib/components/TextArea/index.js +3 -1
  486. package/lib/components/TextInput/ControlledPasswordInput.js +3 -3
  487. package/lib/components/TextInput/PasswordInput.js +2 -2
  488. package/lib/components/TextInput/TextInput.Skeleton.js +3 -2
  489. package/lib/components/TextInput/TextInput.js +2 -2
  490. package/lib/components/TextInput/index.js +3 -1
  491. package/lib/components/Theme/index.js +2 -2
  492. package/lib/components/Tile/Tile.js +7 -4
  493. package/lib/components/TileGroup/TileGroup.js +1 -1
  494. package/lib/components/TimePicker/TimePicker.js +2 -2
  495. package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -2
  496. package/lib/components/Toggle/Toggle.Skeleton.js +3 -2
  497. package/lib/components/Toggle/Toggle.js +3 -2
  498. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +2 -2
  499. package/lib/components/Toggletip/index.js +4 -3
  500. package/lib/components/Tooltip/DefinitionTooltip.js +2 -2
  501. package/lib/components/Tooltip/Tooltip.d.ts +2 -1
  502. package/lib/components/Tooltip/Tooltip.js +5 -4
  503. package/lib/components/TreeView/TreeNode.js +8 -5
  504. package/lib/components/TreeView/TreeView.js +2 -2
  505. package/lib/components/UIShell/Content.js +2 -2
  506. package/lib/components/UIShell/Header.js +2 -2
  507. package/lib/components/UIShell/HeaderGlobalAction.js +2 -2
  508. package/lib/components/UIShell/HeaderMenu.js +3 -2
  509. package/lib/components/UIShell/HeaderMenuButton.js +2 -2
  510. package/lib/components/UIShell/HeaderMenuItem.js +2 -2
  511. package/lib/components/UIShell/HeaderName.js +2 -2
  512. package/lib/components/UIShell/HeaderNavigation.js +2 -2
  513. package/lib/components/UIShell/HeaderPanel.js +3 -3
  514. package/lib/components/UIShell/HeaderSideNavItems.js +2 -2
  515. package/lib/components/UIShell/SideNav.js +2 -2
  516. package/lib/components/UIShell/SideNavDetails.js +2 -2
  517. package/lib/components/UIShell/SideNavDivider.js +2 -2
  518. package/lib/components/UIShell/SideNavFooter.js +2 -2
  519. package/lib/components/UIShell/SideNavHeader.js +2 -2
  520. package/lib/components/UIShell/SideNavIcon.js +2 -2
  521. package/lib/components/UIShell/SideNavItem.js +2 -2
  522. package/lib/components/UIShell/SideNavItems.js +2 -2
  523. package/lib/components/UIShell/SideNavLink.js +2 -2
  524. package/lib/components/UIShell/SideNavLinkText.js +2 -2
  525. package/lib/components/UIShell/SideNavMenu.js +3 -2
  526. package/lib/components/UIShell/SideNavMenuItem.js +2 -2
  527. package/lib/components/UIShell/SideNavSwitcher.js +2 -2
  528. package/lib/components/UIShell/SkipToContent.js +2 -2
  529. package/lib/components/UIShell/Switcher.js +2 -2
  530. package/lib/components/UIShell/SwitcherDivider.js +2 -2
  531. package/lib/components/UIShell/SwitcherItem.js +2 -2
  532. package/lib/components/UnorderedList/UnorderedList.js +2 -2
  533. package/lib/feature-flags.js +1 -0
  534. package/lib/index.js +33 -32
  535. package/lib/internal/FloatingMenu.js +13 -8
  536. package/lib/internal/motion/MotionSurface.d.ts +35 -0
  537. package/lib/internal/motion/useMotionEnabled.d.ts +13 -0
  538. package/lib/internal/motion/useMotionSurface.d.ts +33 -0
  539. package/lib/internal/useId.js +1 -0
  540. package/lib/internal/useOverflowItems.js +2 -1
  541. package/lib/internal/usePresence.d.ts +8 -1
  542. package/lib/internal/usePresence.js +4 -2
  543. package/lib/internal/usePresenceContext.d.ts +12 -0
  544. package/lib/internal/usePresenceContext.js +22 -3
  545. package/lib/tools/wrapComponent.js +2 -2
  546. package/package.json +19 -13
  547. package/telemetry.yml +3 -1
@@ -5,22 +5,22 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { noopFn } from "../../internal/noopFn.js";
9
+ import { warning } from "../../internal/warning.js";
8
10
  import { usePrefix } from "../../internal/usePrefix.js";
9
11
  import { Text } from "../Text/Text.js";
10
12
  import { Escape, Tab } from "../../internal/keyboard/keys.js";
11
13
  import { match, matches } from "../../internal/keyboard/match.js";
12
14
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
13
15
  import { useId } from "../../internal/useId.js";
14
- import { noopFn } from "../../internal/noopFn.js";
15
- import { warning } from "../../internal/warning.js";
16
16
  import { deprecate } from "../../prop-types/deprecate.js";
17
17
  import { deprecateValuesWithin } from "../../prop-types/deprecateValuesWithin.js";
18
18
  import { useFeatureFlag } from "../FeatureFlags/index.js";
19
19
  import { useInteractiveChildrenNeedDescription, useNoInteractiveChildren } from "../../internal/useNoInteractiveChildren.js";
20
20
  import Button_default from "../Button/index.js";
21
21
  import { wrapFocus, wrapFocusWithoutSentinels } from "../../internal/wrapFocus.js";
22
- import classNames from "classnames";
23
22
  import { useEffect, useRef, useState } from "react";
23
+ import cx from "classnames";
24
24
  import PropTypes from "prop-types";
25
25
  import { jsx, jsxs } from "react/jsx-runtime";
26
26
  import { CheckmarkFilled, Close, ErrorFilled, InformationFilled, InformationSquareFilled, WarningAltFilled, WarningFilled } from "@carbon/icons-react";
@@ -49,7 +49,7 @@ function useEscapeToClose(ref, callback, override = true) {
49
49
  }
50
50
  function NotificationActionButton({ children, className: customClassName, onClick, inline, ...rest }) {
51
51
  return /* @__PURE__ */ jsx(Button_default, {
52
- className: classNames(customClassName, { [`${usePrefix()}--actionable-notification__action-button`]: true }),
52
+ className: cx(customClassName, { [`${usePrefix()}--actionable-notification__action-button`]: true }),
53
53
  kind: inline ? "ghost" : "tertiary",
54
54
  onClick,
55
55
  size: "sm",
@@ -77,8 +77,8 @@ NotificationActionButton.propTypes = {
77
77
  };
78
78
  function NotificationButton({ "aria-label": ariaLabel = "close notification", ariaLabel: deprecatedAriaLabel, className, type = "button", renderIcon: IconTag = Close, name, notificationType = "toast", ...rest }) {
79
79
  const prefix = usePrefix();
80
- const buttonClassName = classNames(className, { [`${prefix}--${notificationType}-notification__close-button`]: notificationType });
81
- const iconClassName = classNames({ [`${prefix}--${notificationType}-notification__close-icon`]: notificationType });
80
+ const buttonClassName = cx(className, { [`${prefix}--${notificationType}-notification__close-button`]: notificationType });
81
+ const iconClassName = cx({ [`${prefix}--${notificationType}-notification__close-icon`]: notificationType });
82
82
  return /* @__PURE__ */ jsx("button", {
83
83
  ...rest,
84
84
  type,
@@ -164,7 +164,7 @@ NotificationIcon.propTypes = {
164
164
  function ToastNotification({ ["aria-label"]: ariaLabel, ariaLabel: deprecatedAriaLabel, role = "status", onClose, onCloseButtonClick = noopFn, statusIconDescription, className, children, kind = "error", lowContrast, hideCloseButton = false, timeout = 0, title, caption, subtitle, ...rest }) {
165
165
  const [isOpen, setIsOpen] = useState(true);
166
166
  const prefix = usePrefix();
167
- const containerClassName = classNames(className, {
167
+ const containerClassName = cx(className, {
168
168
  [`${prefix}--toast-notification`]: true,
169
169
  [`${prefix}--toast-notification--low-contrast`]: lowContrast,
170
170
  [`${prefix}--toast-notification--${kind}`]: kind
@@ -313,7 +313,7 @@ ToastNotification.propTypes = {
313
313
  function InlineNotification({ ["aria-label"]: ariaLabel, children, title, subtitle, role = "status", onClose, onCloseButtonClick = noopFn, statusIconDescription, className, kind = "error", lowContrast, hideCloseButton = false, ...rest }) {
314
314
  const [isOpen, setIsOpen] = useState(true);
315
315
  const prefix = usePrefix();
316
- const containerClassName = classNames(className, {
316
+ const containerClassName = cx(className, {
317
317
  [`${prefix}--inline-notification`]: true,
318
318
  [`${prefix}--inline-notification--low-contrast`]: lowContrast,
319
319
  [`${prefix}--inline-notification--${kind}`]: kind,
@@ -432,7 +432,7 @@ function ActionableNotification({ actionButtonLabel, ["aria-label"]: ariaLabel,
432
432
  const prefix = usePrefix();
433
433
  const id = useId("actionable-notification");
434
434
  const subtitleId = useId("actionable-notification-subtitle");
435
- const containerClassName = classNames(className, {
435
+ const containerClassName = cx(className, {
436
436
  [`${prefix}--actionable-notification`]: true,
437
437
  [`${prefix}--actionable-notification--toast`]: !inline,
438
438
  [`${prefix}--actionable-notification--low-contrast`]: lowContrast,
@@ -648,7 +648,7 @@ const propMappingFunction = (deprecatedValue) => {
648
648
  };
649
649
  function Callout({ actionButtonLabel, children, onActionButtonClick, title, titleId, subtitle, statusIconDescription, className, kind = "info", lowContrast, ...rest }) {
650
650
  const prefix = usePrefix();
651
- const containerClassName = classNames(className, {
651
+ const containerClassName = cx(className, {
652
652
  [`${prefix}--actionable-notification`]: true,
653
653
  [`${prefix}--actionable-notification--low-contrast`]: lowContrast,
654
654
  [`${prefix}--actionable-notification--${kind}`]: kind,
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import classNames from "classnames";
10
9
  import "react";
10
+ import cx from "classnames";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
13
  //#region src/components/NumberInput/NumberInput.Skeleton.tsx
@@ -20,7 +20,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
20
20
  function NumberInputSkeleton({ hideLabel, className, size = "md", ...rest }) {
21
21
  const prefix = usePrefix();
22
22
  return /* @__PURE__ */ jsxs("div", {
23
- className: classNames(`${prefix}--form-item`, className),
23
+ className: cx(`${prefix}--form-item`, className),
24
24
  ...rest,
25
25
  children: [!hideLabel && /* @__PURE__ */ jsx("span", { className: `${prefix}--label ${prefix}--skeleton` }), /* @__PURE__ */ jsx("div", { className: `${prefix}--number ${prefix}--skeleton ${prefix}--number--${size}` })]
26
26
  });
@@ -18,8 +18,8 @@ import { FormContext } from "../FluidForm/FormContext.js";
18
18
  import { useControllableState } from "../../internal/useControllableState.js";
19
19
  import { clamp } from "../../internal/clamp.js";
20
20
  import { NumberFormatOptionsPropType } from "./NumberFormatPropTypes.js";
21
- import classNames from "classnames";
22
21
  import React, { cloneElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
22
+ import cx from "classnames";
23
23
  import PropTypes from "prop-types";
24
24
  import { jsx, jsxs } from "react/jsx-runtime";
25
25
  import { Add, Subtract } from "@carbon/icons-react";
@@ -150,13 +150,22 @@ const validateNumberSeparators = (input, locale) => {
150
150
  const sign = "[\\-\\u2212]?";
151
151
  const scientific = `([eE][+-]?${digit}+)?`;
152
152
  const usesGrouping = group && (groupSeparator?.trim() === "" ? /[\u00A0\u202F\s]/.test(input) : groupSeparator === "," || groupSeparator === "٬" ? /[,٬]/.test(input) : groupSeparator ? input.includes(groupSeparator) : false);
153
+ const isIndianLocale = locale === "en-IN" || locale.toLowerCase().endsWith("-in");
153
154
  const scientificMatch = input?.match(/^([^eE]+)([eE][+-]?.*)?$/);
154
155
  const baseNumber = scientificMatch ? scientificMatch[1] : input;
155
156
  let integerPart;
156
157
  if (decimalSeparator === "." || decimalSeparator === "٫") integerPart = baseNumber?.split(/[.,]/)[0];
157
158
  else integerPart = baseNumber?.split(decimalSeparator)[0];
158
- if (!(usesGrouping ? new RegExp(`^${sign}(${digit}{1,3}|${digit}{1,3}(${group}${digit}{3})+)$`) : new RegExp(`^${sign}${digit}+$`)).test(integerPart)) return false;
159
- return new RegExp(`^${sign}${digit}+` + (usesGrouping ? `(${group}${digit}{3})*` : "") + `(${decimal}${digit}+)?${scientific}$`).test(input);
159
+ let integerRegex;
160
+ if (!usesGrouping) integerRegex = new RegExp(`^${sign}${digit}+$`);
161
+ else if (isIndianLocale) integerRegex = new RegExp(`^${sign}(${digit}{1,3}|${digit}{1,3}${group}${digit}{3}|${digit}{1,2}(${group}${digit}{2})+${group}${digit}{3})$`);
162
+ else integerRegex = new RegExp(`^${sign}(${digit}{1,3}|${digit}{1,3}(${group}${digit}{3})+)$`);
163
+ if (!integerRegex.test(integerPart)) return false;
164
+ let fullRegex;
165
+ if (!usesGrouping) fullRegex = new RegExp(`^${sign}${digit}+(${decimal}${digit}+)?${scientific}$`);
166
+ else if (isIndianLocale) fullRegex = new RegExp(`^${sign}(${digit}{1,3}|${digit}{1,3}${group}${digit}{3}|${digit}{1,2}(${group}${digit}{2})+${group}${digit}{3})(${decimal}${digit}+)?${scientific}$`);
167
+ else fullRegex = new RegExp(`^${sign}${digit}{1,3}(${group}${digit}{3})*(${decimal}${digit}+)?${scientific}$`);
168
+ return fullRegex.test(input);
160
169
  };
161
170
  const NumberInput = React.forwardRef((props, forwardRef) => {
162
171
  const { allowEmpty = false, className: customClassName, decorator, disabled = false, disableWheel: disableWheelProp = false, formatOptions, helperText = "", hideLabel = false, hideSteppers, iconDescription, id, inputMode = "decimal", invalid = false, invalidText, label, light, locale = "en-US", max, min, onBlur, onStepperBlur, onChange, onClick, onKeyUp, pattern = "[0-9]*", readOnly, size = "md", slug, step = 1, translateWithId: t = defaultTranslateWithId, type = "number", defaultValue = type === "number" ? 0 : NaN, validate, warn = false, warnText = "", stepStartValue = 0, value: controlledValue, ...rest } = props;
@@ -214,7 +223,7 @@ const NumberInput = React.forwardRef((props, forwardRef) => {
214
223
  ]);
215
224
  const inputRef = useRef(null);
216
225
  const ref = useMergedRefs([forwardRef, inputRef]);
217
- const numberInputClasses = classNames({
226
+ const numberInputClasses = cx({
218
227
  [`${prefix}--number`]: true,
219
228
  [`${prefix}--number--helpertext`]: true,
220
229
  [`${prefix}--number--readonly`]: readOnly,
@@ -241,12 +250,12 @@ const NumberInput = React.forwardRef((props, forwardRef) => {
241
250
  warnText
242
251
  });
243
252
  const [incrementNumLabel, decrementNumLabel] = [t("increment.number"), t("decrement.number")];
244
- const wrapperClasses = classNames(`${prefix}--number__input-wrapper`, {
253
+ const wrapperClasses = cx(`${prefix}--number__input-wrapper`, {
245
254
  [`${prefix}--number__input-wrapper--warning`]: normalizedProps.warn,
246
255
  [`${prefix}--number__input-wrapper--slug`]: slug,
247
256
  [`${prefix}--number__input-wrapper--decorator`]: decorator
248
257
  });
249
- const iconClasses = classNames({
258
+ const iconClasses = cx({
250
259
  [`${prefix}--number__invalid`]: normalizedProps.invalid || normalizedProps.warn,
251
260
  [`${prefix}--number__invalid--warning`]: normalizedProps.warn
252
261
  });
@@ -283,7 +292,7 @@ const NumberInput = React.forwardRef((props, forwardRef) => {
283
292
  if ("type" in evt.target && evt.target.type === "button") setIsFocused(false);
284
293
  else setIsFocused(evt.type === "focus");
285
294
  };
286
- const outerElementClasses = classNames(`${prefix}--form-item`, {
295
+ const outerElementClasses = cx(`${prefix}--form-item`, {
287
296
  ...customClassName ? { [customClassName]: true } : {},
288
297
  [`${prefix}--number-input--fluid--invalid`]: isFluid && normalizedProps.invalid,
289
298
  [`${prefix}--number-input--fluid--focus`]: isFluid && isFocused,
@@ -410,7 +419,8 @@ const NumberInput = React.forwardRef((props, forwardRef) => {
410
419
  onBlur(e, value);
411
420
  return;
412
421
  }
413
- onBlur(e, parsedValueForBlur ?? (isControlled ? numberParser.parse(inputValue) : numberValue));
422
+ const parsedTextValue = parsedValueForBlur ?? (isControlled ? numberParser.parse(inputValue) : numberValue);
423
+ onBlur(e, parsedTextValue);
414
424
  }
415
425
  },
416
426
  pattern,
@@ -658,7 +668,7 @@ NumberInput.propTypes = {
658
668
  };
659
669
  const Label = ({ disabled, id, hideLabel, label }) => {
660
670
  const prefix = usePrefix();
661
- const className = classNames({
671
+ const className = cx({
662
672
  [`${prefix}--label`]: true,
663
673
  [`${prefix}--label--disabled`]: disabled,
664
674
  [`${prefix}--visually-hidden`]: hideLabel
@@ -673,7 +683,7 @@ const Label = ({ disabled, id, hideLabel, label }) => {
673
683
  };
674
684
  const HelperText = ({ disabled, description, id }) => {
675
685
  const prefix = usePrefix();
676
- const className = classNames(`${prefix}--form__helper-text`, { [`${prefix}--form__helper-text--disabled`]: disabled });
686
+ const className = cx(`${prefix}--form__helper-text`, { [`${prefix}--form__helper-text--disabled`]: disabled });
677
687
  if (description) return /* @__PURE__ */ jsx(Text, {
678
688
  as: "div",
679
689
  id,
@@ -728,4 +738,4 @@ function disableWheel(e) {
728
738
  e.preventDefault();
729
739
  }
730
740
  //#endregion
731
- export { NumberInput, validateNumberSeparators };
741
+ export { NumberInput, parseNumberWithLocale, validateNumberSeparators };
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import classNames from "classnames";
10
9
  import "react";
10
+ import cx from "classnames";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  //#region src/components/OrderedList/OrderedList.tsx
@@ -20,7 +20,7 @@ import { jsx } from "react/jsx-runtime";
20
20
  function OrderedList({ className, nested = false, native = false, isExpressive = false, ...other }) {
21
21
  const prefix = usePrefix();
22
22
  return /* @__PURE__ */ jsx("ol", {
23
- className: classNames({
23
+ className: cx({
24
24
  [`${prefix}--list--ordered`]: !native,
25
25
  [`${prefix}--list--ordered--native`]: native,
26
26
  [`${prefix}--list--nested`]: nested,
@@ -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
  /**