@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
@@ -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,
@@ -4,111 +4,146 @@ declare namespace _default {
4
4
  export namespace subcomponents {
5
5
  export { PageSelector };
6
6
  }
7
- export let decorators: ((story: any) => import("react/jsx-runtime").JSX.Element)[];
8
- }
9
- export default _default;
10
- export function WithAPageSelector(): import("react/jsx-runtime").JSX.Element;
11
- export namespace WithAPageSelector {
12
- let storyName: string;
13
- }
14
- export function WithNoSizerChildInputOrChildSelector(): import("react/jsx-runtime").JSX.Element;
15
- export namespace WithNoSizerChildInputOrChildSelector {
16
- let storyName_1: string;
17
- export { storyName_1 as storyName };
18
- }
19
- export function Playground(args: any): import("react/jsx-runtime").JSX.Element;
20
- export namespace Playground {
21
- namespace argTypes {
22
- namespace className {
23
- let control: boolean;
7
+ export namespace argTypes {
8
+ namespace backwardText {
9
+ namespace control {
10
+ let type: string;
11
+ }
24
12
  }
25
13
  namespace children {
26
14
  let control_1: boolean;
27
15
  export { control_1 as control };
28
16
  }
29
- namespace id {
17
+ namespace className {
30
18
  let control_2: boolean;
31
19
  export { control_2 as control };
32
20
  }
33
- namespace itemText {
34
- let control_3: boolean;
35
- export { control_3 as control };
36
- }
37
- namespace forwardText {
38
- export namespace control_4 {
39
- let type: string;
40
- }
41
- export { control_4 as control };
42
- export let defaultValue: string;
43
- }
44
21
  namespace disabled {
45
- export namespace control_5 {
22
+ export namespace control_3 {
46
23
  let type_1: string;
47
24
  export { type_1 as type };
48
25
  }
49
- export { control_5 as control };
50
- let defaultValue_1: string;
51
- export { defaultValue_1 as defaultValue };
52
- }
53
- namespace itemRangeText {
54
- let control_6: boolean;
55
- export { control_6 as control };
26
+ export { control_3 as control };
56
27
  }
57
- namespace itemsPerPageText {
58
- export namespace control_7 {
28
+ namespace forwardText {
29
+ export namespace control_4 {
59
30
  let type_2: string;
60
31
  export { type_2 as type };
61
32
  }
62
- export { control_7 as control };
63
- let defaultValue_2: string;
64
- export { defaultValue_2 as defaultValue };
33
+ export { control_4 as control };
34
+ }
35
+ namespace id {
36
+ let control_5: boolean;
37
+ export { control_5 as control };
65
38
  }
66
39
  namespace initialPage {
67
- export namespace control_8 {
40
+ export namespace control_6 {
68
41
  let type_3: string;
69
42
  export { type_3 as type };
70
43
  }
71
- export { control_8 as control };
72
- let defaultValue_3: number;
73
- export { defaultValue_3 as defaultValue };
44
+ export { control_6 as control };
74
45
  }
75
- namespace pageSize {
76
- export namespace control_9 {
46
+ namespace itemRangeText {
47
+ let control_7: boolean;
48
+ export { control_7 as control };
49
+ }
50
+ namespace itemsPerPageText {
51
+ export namespace control_8 {
77
52
  let type_4: string;
78
53
  export { type_4 as type };
79
54
  }
55
+ export { control_8 as control };
56
+ }
57
+ namespace itemText {
58
+ let control_9: boolean;
80
59
  export { control_9 as control };
81
- let defaultValue_4: number;
82
- export { defaultValue_4 as defaultValue };
83
60
  }
84
- namespace pageSizes {
85
- export namespace control_10 {
61
+ namespace onChange {
62
+ let action: string;
63
+ }
64
+ namespace pageRangeText {
65
+ let control_10: boolean;
66
+ export { control_10 as control };
67
+ }
68
+ namespace pageSize {
69
+ export namespace control_11 {
86
70
  let type_5: string;
87
71
  export { type_5 as type };
88
72
  }
89
- export { control_10 as control };
90
- let defaultValue_5: number[];
91
- export { defaultValue_5 as defaultValue };
73
+ export { control_11 as control };
92
74
  }
93
- namespace pagesUnknown {
94
- export namespace control_11 {
75
+ namespace pageSizes {
76
+ export namespace control_12 {
95
77
  let type_6: string;
96
78
  export { type_6 as type };
97
79
  }
98
- export { control_11 as control };
99
- let defaultValue_6: string;
100
- export { defaultValue_6 as defaultValue };
80
+ export { control_12 as control };
101
81
  }
102
- namespace totalItems {
103
- export namespace control_12 {
82
+ namespace pagesUnknown {
83
+ export namespace control_13 {
104
84
  let type_7: string;
105
85
  export { type_7 as type };
106
86
  }
107
- export { control_12 as control };
108
- let defaultValue_7: number;
109
- export { defaultValue_7 as defaultValue };
87
+ export { control_13 as control };
88
+ }
89
+ namespace pageText {
90
+ let control_14: boolean;
91
+ export { control_14 as control };
92
+ }
93
+ namespace totalItems {
94
+ export namespace control_15 {
95
+ let type_8: string;
96
+ export { type_8 as type };
97
+ }
98
+ export { control_15 as control };
99
+ }
100
+ }
101
+ export let decorators: ((story: any) => import("react/jsx-runtime").JSX.Element)[];
102
+ }
103
+ export default _default;
104
+ export function WithAPageSelector(args: any): import("react/jsx-runtime").JSX.Element;
105
+ export namespace WithAPageSelector {
106
+ let storyName: string;
107
+ namespace args {
108
+ let backwardText_1: string;
109
+ export { backwardText_1 as backwardText };
110
+ let disabled_1: boolean;
111
+ export { disabled_1 as disabled };
112
+ let forwardText_1: string;
113
+ export { forwardText_1 as forwardText };
114
+ let initialPage_1: number;
115
+ export { initialPage_1 as initialPage };
116
+ let itemsPerPageText_1: string;
117
+ export { itemsPerPageText_1 as itemsPerPageText };
118
+ let pageSize_1: number;
119
+ export { pageSize_1 as pageSize };
120
+ let pageSizes_1: number[];
121
+ export { pageSizes_1 as pageSizes };
122
+ let pagesUnknown_1: boolean;
123
+ export { pagesUnknown_1 as pagesUnknown };
124
+ let totalItems_1: number;
125
+ export { totalItems_1 as totalItems };
126
+ }
127
+ }
128
+ export function WithNoSizerChildInputOrChildSelector(args: any): import("react/jsx-runtime").JSX.Element;
129
+ export namespace WithNoSizerChildInputOrChildSelector {
130
+ let storyName_1: string;
131
+ export { storyName_1 as storyName };
132
+ export namespace args_1 {
133
+ let pageSizes_2: undefined;
134
+ export { pageSizes_2 as pageSizes };
135
+ }
136
+ export { args_1 as args };
137
+ export namespace parameters {
138
+ namespace controls {
139
+ let exclude: string[];
110
140
  }
111
141
  }
112
142
  }
143
+ export function Playground(args: any): import("react/jsx-runtime").JSX.Element;
144
+ export namespace Playground {
145
+ export namespace args_2 { }
146
+ export { args_2 as args };
147
+ }
113
148
  import { preview_Pagination as Pagination } from '../../..';
114
149
  import { preview_PageSelector as PageSelector } from '../../..';
@@ -1,4 +1,8 @@
1
1
  export default Pagination;
2
+ /**
3
+ * @deprecated Use the stable `Pagination` component with the `renderPageSelect`
4
+ * prop instead. `unstable_Pagination` / `preview_Pagination` will be removed in v12.
5
+ */
2
6
  declare function Pagination({ backwardText, children, className, disabled, forwardText, id, initialPage, itemsPerPageText, itemRangeText, itemText, onChange, pageRangeText, pageSize, pageSizes, pageText, pagesUnknown, totalItems, ...other }: {
3
7
  [x: string]: any;
4
8
  backwardText?: string | undefined;
@@ -9,8 +9,8 @@ import { usePrefix } from "../../../internal/usePrefix.js";
9
9
  import { IconButton } from "../../IconButton/index.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 { useState } from "react";
12
+ import { useEffect, useState } from "react";
13
+ import cx from "classnames";
14
14
  import PropTypes from "prop-types";
15
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
16
16
  import { CaretLeft, CaretRight } from "@carbon/icons-react";
@@ -21,10 +21,17 @@ import { CaretLeft, CaretRight } from "@carbon/icons-react";
21
21
  * This source code is licensed under the Apache-2.0 license found in the
22
22
  * LICENSE file in the root directory of this source tree.
23
23
  */
24
+ /**
25
+ * @deprecated Use the stable `Pagination` component with the `renderPageSelect`
26
+ * prop instead. `unstable_Pagination` / `preview_Pagination` will be removed in v12.
27
+ */
24
28
  function Pagination({ backwardText = "Previous page", children = void 0, className = null, disabled = false, forwardText = "Next page", id = 1, initialPage = 1, itemsPerPageText = "Items per page:", itemRangeText = (min, max, total) => `${min}–${max} of ${total} items`, itemText = (min, max) => `${min}–${max} items`, onChange, pageRangeText = (current, total) => `${current} of ${total} pages`, pageSize = 10, pageSizes = void 0, pageText = (page) => `page ${page}`, pagesUnknown = false, totalItems = void 0, ...other }) {
25
29
  const [currentPage, setCurrentPage] = useState(initialPage);
26
30
  const [currentPageSize, setCurrentPageSize] = useState(pageSize);
27
31
  const prefix = usePrefix();
32
+ useEffect(() => {
33
+ console.warn("[Carbon] `unstable_Pagination` / `preview_Pagination` is deprecated and will be removed in v12. Use the stable `Pagination` component with the `renderPageSelect` prop instead.");
34
+ }, []);
28
35
  const totalPages = totalItems ? Math.max(Math.ceil(totalItems / currentPageSize), 1) : void 0;
29
36
  const backButtonDisabled = disabled || currentPage === 1;
30
37
  const forwardButtonDisabled = disabled || currentPage === totalPages;
@@ -49,7 +56,7 @@ function Pagination({ backwardText = "Previous page", children = void 0, classNa
49
56
  }
50
57
  const namespace = `${prefix}--unstable-pagination`;
51
58
  return /* @__PURE__ */ jsxs("section", {
52
- className: classNames(namespace, className),
59
+ className: cx(namespace, className),
53
60
  ...other,
54
61
  children: [/* @__PURE__ */ jsxs("div", {
55
62
  className: `${namespace}__left`,
@@ -113,7 +120,7 @@ function Pagination({ backwardText = "Previous page", children = void 0, classNa
113
120
  align: "top",
114
121
  disabled: backButtonDisabled,
115
122
  kind: "ghost",
116
- className: classNames(`${namespace}__button`, `${namespace}__button--backward`, { [`${namespace}__button--no-index`]: backButtonDisabled }),
123
+ className: cx(`${namespace}__button`, `${namespace}__button--backward`, { [`${namespace}__button--no-index`]: backButtonDisabled }),
117
124
  label: backwardText,
118
125
  onClick: () => decrementPage(),
119
126
  children: /* @__PURE__ */ jsx(CaretLeft, {})
@@ -121,7 +128,7 @@ function Pagination({ backwardText = "Previous page", children = void 0, classNa
121
128
  align: "top-right",
122
129
  disabled: forwardButtonDisabled,
123
130
  kind: "ghost",
124
- className: classNames(`${namespace}__button`, `${namespace}__button--forward`, { [`${namespace}__button--no-index`]: forwardButtonDisabled }),
131
+ className: cx(`${namespace}__button`, `${namespace}__button--forward`, { [`${namespace}__button--no-index`]: forwardButtonDisabled }),
125
132
  label: forwardText,
126
133
  onClick: () => incrementPage(),
127
134
  children: /* @__PURE__ */ jsx(CaretRight, {})
@@ -9,8 +9,8 @@ import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { IconButton } from "../IconButton/index.js";
10
10
  import { clamp } from "../../internal/clamp.js";
11
11
  import { useMatchMedia } from "../../internal/useMatchMedia.js";
12
- import classNames from "classnames";
13
12
  import React, { useEffect, useRef, useState } from "react";
13
+ import cx from "classnames";
14
14
  import PropTypes from "prop-types";
15
15
  import { jsx, jsxs } from "react/jsx-runtime";
16
16
  import { CaretLeft, CaretRight, OverflowMenuHorizontal } from "@carbon/icons-react";
@@ -89,7 +89,7 @@ function PaginationItem({ page, isActive, onClick, translateWithId: t = defaultT
89
89
  className: `${prefix}--pagination-nav__list-item`,
90
90
  children: /* @__PURE__ */ jsxs("button", {
91
91
  type: "button",
92
- className: classNames(`${prefix}--pagination-nav__page`, { [`${prefix}--pagination-nav__page--active`]: isActive }),
92
+ className: cx(`${prefix}--pagination-nav__page`, { [`${prefix}--pagination-nav__page--active`]: isActive }),
93
93
  onClick,
94
94
  "data-page": page,
95
95
  "aria-current": isActive ? "page" : void 0,
@@ -207,18 +207,20 @@ const PaginationNav = React.forwardRef(({ className, onChange = () => {}, totalI
207
207
  size
208
208
  ]);
209
209
  useEffect(() => {
210
- if (pageWouldBeHidden(currentPage)) if (currentPage - (prevPage || 0) > 0) setCuts(calculateCuts(currentPage, totalItems, itemsDisplayedOnPage, itemsDisplayedOnPage - 3));
211
- else setCuts(calculateCuts(currentPage, totalItems, itemsDisplayedOnPage, itemsDisplayedOnPage > 4 ? 2 : 1));
210
+ if (pageWouldBeHidden(currentPage)) if (currentPage - (prevPage || 0) > 0) {
211
+ const splitPoint = itemsDisplayedOnPage - 3;
212
+ setCuts(calculateCuts(currentPage, totalItems, itemsDisplayedOnPage, splitPoint));
213
+ } else setCuts(calculateCuts(currentPage, totalItems, itemsDisplayedOnPage, itemsDisplayedOnPage > 4 ? 2 : 1));
212
214
  }, [currentPage]);
213
215
  useEffect(() => {
214
216
  setIsOverFlowDisabled(disableOverflow);
215
217
  }, [disableOverflow]);
216
- const classNames$1 = classNames(`${prefix}--pagination-nav`, className, { [`${prefix}--layout--size-${size}`]: size });
218
+ const classNames = cx(`${prefix}--pagination-nav`, className, { [`${prefix}--layout--size-${size}`]: size });
217
219
  const backwardButtonDisabled = !loop && currentPage === 0;
218
220
  const forwardButtonDisabled = !loop && currentPage === totalItems - 1;
219
221
  const startOffset = itemsDisplayedOnPage <= 4 && currentPage > 1 ? 0 : 1;
220
222
  return /* @__PURE__ */ jsxs("nav", {
221
- className: classNames$1,
223
+ className: classNames,
222
224
  ref,
223
225
  ...rest,
224
226
  children: [/* @__PURE__ */ jsxs("ul", {
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
+ import { selectorTabbable } from "../../internal/keyboard/navigation.js";
9
10
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
10
11
  import { deprecateValuesWithin } from "../../prop-types/deprecateValuesWithin.js";
11
12
  import { isComponentElement } from "../../internal/utils.js";
@@ -13,8 +14,8 @@ import { useMergedRefs } from "../../internal/useMergedRefs.js";
13
14
  import { useEvent, useWindowEvent } from "../../internal/useEvent.js";
14
15
  import { mapPopoverAlign } from "../../tools/mapPopoverAlign.js";
15
16
  import { useFeatureFlag } from "../FeatureFlags/index.js";
16
- import classNames from "classnames";
17
17
  import React, { forwardRef, useEffect, useMemo, useRef } from "react";
18
+ import cx from "classnames";
18
19
  import PropTypes from "prop-types";
19
20
  import { jsx, jsxs } from "react/jsx-runtime";
20
21
  import { arrow, autoUpdate, flip, hide, offset, useFloating } from "@floating-ui/react";
@@ -72,6 +73,13 @@ const Popover = React.forwardRef(function PopoverRenderFunction({ isTabTip, alig
72
73
  if (isOutsideFloating && !isFocusableWrapper) onRequestClose?.();
73
74
  }
74
75
  });
76
+ useWindowEvent("keydown", (event) => {
77
+ if (!open || event.key !== "Escape" || event.defaultPrevented) return;
78
+ const target = event.target;
79
+ if (!(target instanceof Element) || target.closest(`.${prefix}--popover-content`) !== refs.floating.current) return;
80
+ onRequestClose?.();
81
+ (popover.current?.querySelector(selectorTabbable))?.focus();
82
+ });
75
83
  useWindowEvent("click", ({ target }) => {
76
84
  if (open && target instanceof Node && !popover.current?.contains(target) && !isTargetInDatePickerInsidePopover(target)) onRequestClose?.();
77
85
  });
@@ -201,7 +209,7 @@ const Popover = React.forwardRef(function PopoverRenderFunction({ isTabTip, alig
201
209
  ]);
202
210
  const ref = useMergedRefs([forwardRef, popover]);
203
211
  const currentAlignment = autoAlign && placement !== align ? placement : align;
204
- const className = classNames({
212
+ const className = cx({
205
213
  [`${prefix}--popover-container`]: true,
206
214
  [`${prefix}--popover--caret`]: caret,
207
215
  [`${prefix}--popover--drop-shadow`]: dropShadow,
@@ -231,7 +239,7 @@ const Popover = React.forwardRef(function PopoverRenderFunction({ isTabTip, alig
231
239
  if (React.isValidElement(item) && (isTriggerElement || isTriggerComponent || isAllowedTriggerComponent)) {
232
240
  const className = (item?.props)?.className;
233
241
  const ref = (item?.props).ref;
234
- const tabTipClasses = classNames(`${prefix}--popover--tab-tip__button`, className);
242
+ const tabTipClasses = cx(`${prefix}--popover--tab-tip__button`, className);
235
243
  return React.cloneElement(item, {
236
244
  className: isTabTip && item?.type === "button" ? tabTipClasses : className || "",
237
245
  ref: (node) => {
@@ -375,17 +383,17 @@ const PopoverContent = forwardRef((props, forwardRef) => {
375
383
  ...rest,
376
384
  className: `${prefix}--popover`,
377
385
  children: [/* @__PURE__ */ jsxs("span", {
378
- className: classNames(`${prefix}--popover-content`, className),
386
+ className: cx(`${prefix}--popover-content`, className),
379
387
  ref,
380
388
  children: [children, enableFloatingStyles && /* @__PURE__ */ jsx("span", {
381
- className: classNames({
389
+ className: cx({
382
390
  [`${prefix}--popover-caret`]: true,
383
391
  [`${prefix}--popover--auto-align`]: true
384
392
  }),
385
393
  ref: caretRef
386
394
  })]
387
395
  }), !enableFloatingStyles && /* @__PURE__ */ jsx("span", {
388
- className: classNames({ [`${prefix}--popover-caret`]: true }),
396
+ className: cx({ [`${prefix}--popover-caret`]: true }),
389
397
  ref: caretRef
390
398
  })]
391
399
  });
@@ -8,8 +8,8 @@
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
10
10
  import { useId } from "../../internal/useId.js";
11
- import classNames from "classnames";
12
11
  import React, { useRef } from "react";
12
+ import cx from "classnames";
13
13
  import PropTypes from "prop-types";
14
14
  import { jsx, jsxs } from "react/jsx-runtime";
15
15
  import { CheckmarkFilled, ErrorFilled } from "@carbon/icons-react";
@@ -34,12 +34,12 @@ function ProgressBar({ className, helperText, hideLabel, label, max = 100, size
34
34
  if (isError) cappedValue = 0;
35
35
  else if (isFinished) cappedValue = max;
36
36
  const percentage = (cappedValue ?? NaN) / max;
37
- const wrapperClasses = classNames(`${prefix}--progress-bar`, `${prefix}--progress-bar--${size}`, `${prefix}--progress-bar--${type}`, {
37
+ const wrapperClasses = cx(`${prefix}--progress-bar`, `${prefix}--progress-bar--${size}`, `${prefix}--progress-bar--${type}`, {
38
38
  [`${prefix}--progress-bar--indeterminate`]: indeterminate,
39
39
  [`${prefix}--progress-bar--finished`]: isFinished,
40
40
  [`${prefix}--progress-bar--error`]: isError
41
41
  }, className);
42
- const labelClasses = classNames(`${prefix}--progress-bar__label`, { [`${prefix}--visually-hidden`]: hideLabel });
42
+ const labelClasses = cx(`${prefix}--progress-bar__label`, { [`${prefix}--visually-hidden`]: hideLabel });
43
43
  let StatusIcon = null;
44
44
  if (isError) StatusIcon = React.forwardRef((props, ref) => {
45
45
  return /* @__PURE__ */ jsx(ErrorFilled, {
@@ -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
  import { CircleDash } from "@carbon/icons-react";
@@ -35,7 +35,7 @@ function Step() {
35
35
  function ProgressIndicatorSkeleton({ className, vertical, ...rest }) {
36
36
  const prefix = usePrefix();
37
37
  return /* @__PURE__ */ jsxs("ul", {
38
- className: classNames(`${prefix}--progress`, `${prefix}--skeleton`, { [`${prefix}--progress--vertical`]: vertical }, className),
38
+ className: cx(`${prefix}--progress`, `${prefix}--skeleton`, { [`${prefix}--progress--vertical`]: vertical }, className),
39
39
  ...rest,
40
40
  children: [
41
41
  /* @__PURE__ */ jsx(Step, {}),
@@ -56,4 +56,4 @@ ProgressIndicatorSkeleton.propTypes = {
56
56
  vertical: PropTypes.bool
57
57
  };
58
58
  //#endregion
59
- export { ProgressIndicatorSkeleton as default };
59
+ export { ProgressIndicatorSkeleton, ProgressIndicatorSkeleton as default };
@@ -9,8 +9,8 @@ import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { Text } from "../Text/Text.js";
10
10
  import { Enter, Space } from "../../internal/keyboard/keys.js";
11
11
  import { matches } from "../../internal/keyboard/match.js";
12
- import classNames from "classnames";
13
12
  import React from "react";
13
+ import cx from "classnames";
14
14
  import PropTypes from "prop-types";
15
15
  import { jsx, jsxs } from "react/jsx-runtime";
16
16
  import { CheckmarkOutline, CircleDash, Incomplete, Warning } from "@carbon/icons-react";
@@ -39,7 +39,7 @@ const defaultTranslateWithId = (messageId) => {
39
39
  function ProgressIndicator({ children, className: customClassName, currentIndex: controlledIndex = 0, onChange, spaceEqually, vertical, ...rest }) {
40
40
  const prefix = usePrefix();
41
41
  return /* @__PURE__ */ jsx("ul", {
42
- className: classNames({
42
+ className: cx({
43
43
  [`${prefix}--progress`]: true,
44
44
  [`${prefix}--progress--vertical`]: vertical,
45
45
  [`${prefix}--progress--space-equal`]: spaceEqually && !vertical,
@@ -98,7 +98,7 @@ ProgressIndicator.propTypes = {
98
98
  };
99
99
  function ProgressStep({ label, description, className, current, complete, invalid, secondaryLabel, disabled, onClick, translateWithId: t = defaultTranslateWithId, ...rest }) {
100
100
  const prefix = usePrefix();
101
- const classes = classNames({
101
+ const classes = cx({
102
102
  [`${prefix}--progress-step`]: true,
103
103
  [`${prefix}--progress-step--current`]: current,
104
104
  [`${prefix}--progress-step--complete`]: complete,
@@ -126,7 +126,7 @@ function ProgressStep({ label, description, className, current, complete, invali
126
126
  className: classes,
127
127
  children: /* @__PURE__ */ jsxs("button", {
128
128
  type: "button",
129
- className: classNames(`${prefix}--progress-step-button`, { [`${prefix}--progress-step-button--unclickable`]: !onClick || current }),
129
+ className: cx(`${prefix}--progress-step-button`, { [`${prefix}--progress-step-button--unclickable`]: !onClick || current }),
130
130
  disabled,
131
131
  "aria-disabled": disabled,
132
132
  tabIndex: disabled ? -1 : 0,