@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
@@ -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
  import { ChevronDown } from "@carbon/icons-react";
@@ -35,7 +35,7 @@ const defaultTranslateWithId = (messageId) => {
35
35
  */
36
36
  const ListBoxMenuIcon = ({ isOpen, translateWithId: t = defaultTranslateWithId }) => {
37
37
  const prefix = usePrefix();
38
- const className = classNames(`${prefix}--list-box__menu-icon`, { [`${prefix}--list-box__menu-icon--open`]: isOpen });
38
+ const className = cx(`${prefix}--list-box__menu-icon`, { [`${prefix}--list-box__menu-icon--open`]: isOpen });
39
39
  const description = isOpen ? t("close.menu") : t("open.menu");
40
40
  return /* @__PURE__ */ jsx("div", {
41
41
  className,
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
10
- import classNames from "classnames";
11
10
  import { forwardRef, useEffect, useRef, useState } from "react";
11
+ import cx from "classnames";
12
12
  import PropTypes from "prop-types";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  //#region src/components/ListBox/ListBoxMenuItem.tsx
@@ -51,8 +51,9 @@ const useIsTruncated = (forwardedRef, deps = []) => {
51
51
  */
52
52
  const ListBoxMenuItem = forwardRef(({ children, isActive = false, isHighlighted = false, title, ...rest }, forwardedRef) => {
53
53
  const prefix = usePrefix();
54
- const { isTruncated, ref: menuItemOptionRef } = useIsTruncated(forwardedRef && typeof forwardedRef !== "function" ? forwardedRef.menuItemOptionRef : void 0, [children]);
55
- const className = classNames(`${prefix}--list-box__menu-item`, {
54
+ const menuItemOptionRefProp = forwardedRef && typeof forwardedRef !== "function" ? forwardedRef.menuItemOptionRef : void 0;
55
+ const { isTruncated, ref: menuItemOptionRef } = useIsTruncated(menuItemOptionRefProp, [children]);
56
+ const className = cx(`${prefix}--list-box__menu-item`, {
56
57
  [`${prefix}--list-box__menu-item--active`]: isActive,
57
58
  [`${prefix}--list-box__menu-item--highlighted`]: isHighlighted
58
59
  });
@@ -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 { Close } from "@carbon/icons-react";
@@ -38,7 +38,7 @@ const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t =
38
38
  const prefix = usePrefix();
39
39
  const hasSelectionCount = (selectionCount ?? 0) > 0;
40
40
  const hasMultipleSelections = (selectionCount ?? 0) > 1;
41
- const className = classNames(`${prefix}--list-box__selection`, {
41
+ const className = cx(`${prefix}--list-box__selection`, {
42
42
  [`${prefix}--tag--filter`]: hasSelectionCount,
43
43
  [`${prefix}--list-box__selection--multi`]: hasSelectionCount
44
44
  });
@@ -49,7 +49,7 @@ const ListBoxSelection = ({ clearSelection, selectionCount, translateWithId: t =
49
49
  if (onClearSelection) onClearSelection(event);
50
50
  };
51
51
  const description = hasMultipleSelections ? t("clear.all") : t("clear.selection");
52
- const tagClasses = classNames(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
52
+ const tagClasses = cx(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
53
53
  return hasSelectionCount ? /* @__PURE__ */ jsxs("div", {
54
54
  className: tagClasses,
55
55
  children: [/* @__PURE__ */ jsx("span", {
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import "./ListBoxPropTypes.js";
8
+ import { ListBoxSizePropType, ListBoxTypePropType } from "./ListBoxPropTypes.js";
9
9
  import ListBox$1 from "./ListBox.js";
10
10
  import ListBoxField from "./ListBoxField.js";
11
11
  import ListBoxMenuItem from "./ListBoxMenuItem.js";
@@ -21,4 +21,4 @@ const ListBox = Object.assign(ListBox$1, {
21
21
  Selection: ListBoxSelection
22
22
  });
23
23
  //#endregion
24
- export { ListBox as default };
24
+ export { ListBoxSizePropType, ListBoxTypePropType, ListBox as default };
@@ -56,6 +56,11 @@ export interface ListBoxSelectionProps extends TranslateWithId<TranslationKey> {
56
56
  * clear selection element fires a mouseup event
57
57
  */
58
58
  onMouseUp?: React.MouseEventHandler<HTMLButtonElement>;
59
+ /**
60
+ * Specify an optional `onMouseDown` handler that is called when the underlying
61
+ * clear selection element fires a mousedown event
62
+ */
63
+ onMouseDown?: React.MouseEventHandler<HTMLButtonElement>;
59
64
  }
60
65
  declare function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t, disabled, readOnly, onClearSelection, ...rest }: ListBoxSelectionProps): import("react/jsx-runtime").JSX.Element;
61
66
  declare namespace ListBoxSelection {
@@ -84,8 +89,13 @@ declare namespace ListBoxSelection {
84
89
  */
85
90
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
86
91
  /**
87
- * Specify an optional `onClick` handler that is called when the underlying
88
- * clear selection element is clicked
92
+ * Specify an optional `onMouseDown` handler that is called when the underlying
93
+ * clear selection element fires a mousedown event
94
+ */
95
+ onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
96
+ /**
97
+ * Specify an optional `onMouseUp` handler that is called when the underlying
98
+ * clear selection element fires a mouseup event
89
99
  */
90
100
  onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
91
101
  /**
@@ -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 { Close } from "@carbon/icons-react";
@@ -38,12 +38,12 @@ function ListBoxSelection({ clearSelection, selectionCount, translateWithId: t =
38
38
  const prefix = usePrefix();
39
39
  const hasSelectionCount = (selectionCount ?? 0) > 0;
40
40
  const hasMultipleSelections = (selectionCount ?? 0) > 1;
41
- const className = classNames(`${prefix}--list-box__selection`, {
41
+ const className = cx(`${prefix}--list-box__selection`, {
42
42
  [`${prefix}--tag--filter`]: hasSelectionCount,
43
43
  [`${prefix}--list-box__selection--multi`]: hasSelectionCount
44
44
  });
45
45
  const description = hasMultipleSelections ? t("clear.all") : t("clear.selection");
46
- const tagClasses = classNames(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
46
+ const tagClasses = cx(`${prefix}--tag`, `${prefix}--tag--filter`, `${prefix}--tag--high-contrast`, { [`${prefix}--tag--disabled`]: disabled });
47
47
  function onClick(event) {
48
48
  event.stopPropagation();
49
49
  if (disabled || readOnly) return;
@@ -106,8 +106,13 @@ ListBoxSelection.propTypes = {
106
106
  */
107
107
  onClick: PropTypes.func,
108
108
  /**
109
- * Specify an optional `onClick` handler that is called when the underlying
110
- * clear selection element is clicked
109
+ * Specify an optional `onMouseDown` handler that is called when the underlying
110
+ * clear selection element fires a mousedown event
111
+ */
112
+ onMouseDown: PropTypes.func,
113
+ /**
114
+ * Specify an optional `onMouseUp` handler that is called when the underlying
115
+ * clear selection element fires a mouseup event
111
116
  */
112
117
  onMouseUp: PropTypes.func,
113
118
  /**
@@ -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 from "react";
10
+ import cx from "classnames";
11
11
  import PropTypes from "prop-types";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  import { ChevronDown } from "@carbon/icons-react";
@@ -35,7 +35,7 @@ const defaultTranslateWithId = (messageId) => {
35
35
  */
36
36
  const ListBoxTrigger = React.forwardRef(({ isOpen, translateWithId: t = defaultTranslateWithId, ...rest }, ref) => {
37
37
  const prefix = usePrefix();
38
- const className = classNames({
38
+ const className = cx({
39
39
  [`${prefix}--list-box__menu-icon`]: true,
40
40
  [`${prefix}--list-box__menu-icon--open`]: isOpen
41
41
  });
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { Text } from "../Text/Text.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 } from "react/jsx-runtime";
14
14
  //#region src/components/ListItem/ListItem.tsx
@@ -21,7 +21,7 @@ import { jsx } from "react/jsx-runtime";
21
21
  function ListItem({ className, children, ...other }) {
22
22
  return /* @__PURE__ */ jsx(Text, {
23
23
  as: "li",
24
- className: classNames(`${usePrefix()}--list__item`, className),
24
+ className: cx(`${usePrefix()}--list__item`, className),
25
25
  ...other,
26
26
  children
27
27
  });
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { deprecate } from "../../prop-types/deprecate.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/Loading/Loading.tsx
@@ -20,12 +20,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
20
20
  */
21
21
  function Loading({ active = true, className: customClassName, withOverlay = true, small = false, description = "loading", ...rest }) {
22
22
  const prefix = usePrefix();
23
- const loadingClassName = classNames(customClassName, {
23
+ const loadingClassName = cx(customClassName, {
24
24
  [`${prefix}--loading`]: true,
25
25
  [`${prefix}--loading--small`]: small,
26
26
  [`${prefix}--loading--stop`]: !active
27
27
  });
28
- const overlayClassName = classNames({
28
+ const overlayClassName = cx({
29
29
  [`${prefix}--loading-overlay`]: true,
30
30
  [`${prefix}--loading-overlay--stop`]: !active
31
31
  });
@@ -15,4 +15,4 @@ import Loading from "./Loading.js";
15
15
  */
16
16
  var Loading_default = Loading;
17
17
  //#endregion
18
- export { Loading_default as default };
18
+ export { Loading, Loading_default as default };
@@ -13,8 +13,8 @@ import { useMergedRefs } from "../../internal/useMergedRefs.js";
13
13
  import { MenuContext, menuReducer } from "./MenuContext.js";
14
14
  import { useLayoutDirection } from "../LayoutDirection/useLayoutDirection.js";
15
15
  import { canUseDOM } from "../../internal/environment.js";
16
- import classNames from "classnames";
17
16
  import { forwardRef, useContext, useEffect, useMemo, useReducer, useRef, useState } from "react";
17
+ import cx from "classnames";
18
18
  import PropTypes from "prop-types";
19
19
  import { jsx } from "react/jsx-runtime";
20
20
  import { createPortal } from "react-dom";
@@ -184,7 +184,7 @@ const Menu = forwardRef(function Menu({ backgroundToken = "layer", border = fals
184
184
  if (open) handleOpen();
185
185
  else setPosition([-1, -1]);
186
186
  }, [open]);
187
- const classNames$1 = classNames(className, `${prefix}--menu`, `${prefix}--menu--${menuSize}`, {
187
+ const classNames = cx(className, `${prefix}--menu`, `${prefix}--menu--${menuSize}`, {
188
188
  [`${prefix}--menu--box-shadow-top`]: menuAlignment && menuAlignment.slice(0, 3) === "top",
189
189
  [`${prefix}--menu--open`]: open,
190
190
  [`${prefix}--menu--shown`]: open && !legacyAutoalign || position[0] >= 0 && position[1] >= 0,
@@ -198,7 +198,7 @@ const Menu = forwardRef(function Menu({ backgroundToken = "layer", border = fals
198
198
  value: childContext,
199
199
  children: /* @__PURE__ */ jsx("ul", {
200
200
  ...rest,
201
- className: classNames$1,
201
+ className: classNames,
202
202
  role: "menu",
203
203
  ref,
204
204
  "aria-label": label,
@@ -16,8 +16,8 @@ import { MenuContext } from "./MenuContext.js";
16
16
  import { useLayoutDirection } from "../LayoutDirection/useLayoutDirection.js";
17
17
  import { Menu as Menu$1 } from "./Menu.js";
18
18
  import { useControllableState } from "../../internal/useControllableState.js";
19
- import classNames from "classnames";
20
19
  import React, { forwardRef, useContext, useEffect, useRef, useState } from "react";
20
+ import cx from "classnames";
21
21
  import PropTypes from "prop-types";
22
22
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
23
23
  import { CaretLeft, CaretRight, Checkmark } from "@carbon/icons-react";
@@ -112,7 +112,7 @@ const MenuItem = forwardRef(function MenuItem({ children, className, dangerDescr
112
112
  if (pendingKeyboardClick.current && keyboardClickEvent(e)) handleClick(e);
113
113
  pendingKeyboardClick.current = false;
114
114
  }
115
- const classNames$1 = classNames(className, `${prefix}--menu-item`, {
115
+ const classNames = cx(className, `${prefix}--menu-item`, {
116
116
  [`${prefix}--menu-item--disabled`]: isDisabled,
117
117
  [`${prefix}--menu-item--danger`]: isDanger
118
118
  });
@@ -145,7 +145,7 @@ const MenuItem = forwardRef(function MenuItem({ children, className, dangerDescr
145
145
  role: "menuitem",
146
146
  ...rest,
147
147
  ref,
148
- className: classNames$1,
148
+ className: classNames,
149
149
  tabIndex: !disabled ? 0 : -1,
150
150
  "aria-disabled": isDisabled ?? void 0,
151
151
  "aria-haspopup": hasChildren ?? void 0,
@@ -249,12 +249,12 @@ const MenuItemSelectable = forwardRef(function MenuItemSelectable({ className, d
249
249
  useEffect(() => {
250
250
  if (!context.state.hasSelectableItems) context.dispatch({ type: "enableSelectableItems" });
251
251
  }, [context.state.hasSelectableItems, context]);
252
- const classNames$2 = classNames(className, `${prefix}--menu-item-selectable--selected`);
252
+ const classNames = cx(className, `${prefix}--menu-item-selectable--selected`);
253
253
  return /* @__PURE__ */ jsx(MenuItem, {
254
254
  ...rest,
255
255
  ref: forwardRef,
256
256
  label,
257
- className: classNames$2,
257
+ className: classNames,
258
258
  role: "menuitemcheckbox",
259
259
  "aria-checked": checked,
260
260
  onClick: handleClick
@@ -284,7 +284,7 @@ MenuItemSelectable.propTypes = {
284
284
  };
285
285
  const MenuItemGroup = forwardRef(function MenuItemGroup({ children, className, label, ...rest }, forwardRef) {
286
286
  return /* @__PURE__ */ jsx("li", {
287
- className: classNames(className, `${usePrefix()}--menu-item-group`),
287
+ className: cx(className, `${usePrefix()}--menu-item-group`),
288
288
  role: "none",
289
289
  ref: forwardRef,
290
290
  children: /* @__PURE__ */ jsx("ul", {
@@ -324,7 +324,7 @@ const MenuItemRadioGroup = forwardRef(function MenuItemRadioGroup({ className, d
324
324
  if (!context.state.hasSelectableItems) context.dispatch({ type: "enableSelectableItems" });
325
325
  }, [context.state.hasSelectableItems, context]);
326
326
  return /* @__PURE__ */ jsx("li", {
327
- className: classNames(className, `${prefix}--menu-item-radio-group`),
327
+ className: cx(className, `${prefix}--menu-item-radio-group`),
328
328
  role: "none",
329
329
  ref: forwardRef,
330
330
  children: /* @__PURE__ */ jsx("ul", {
@@ -373,10 +373,10 @@ MenuItemRadioGroup.propTypes = {
373
373
  selectedItem: PropTypes.any
374
374
  };
375
375
  const MenuItemDivider = forwardRef(function MenuItemDivider({ className, ...rest }, forwardRef) {
376
- const classNames$3 = classNames(className, `${usePrefix()}--menu-item-divider`);
376
+ const classNames = cx(className, `${usePrefix()}--menu-item-divider`);
377
377
  return /* @__PURE__ */ jsx("li", {
378
378
  ...rest,
379
- className: classNames$3,
379
+ className: classNames,
380
380
  role: "separator",
381
381
  ref: forwardRef
382
382
  });
@@ -13,8 +13,8 @@ import Button_default from "../Button/index.js";
13
13
  import { mergeRefs } from "../../tools/mergeRefs.js";
14
14
  import { Menu as Menu$1 } from "../Menu/Menu.js";
15
15
  import { useAttachedMenu } from "../../internal/useAttachedMenu.js";
16
- import classNames from "classnames";
17
16
  import { forwardRef, useRef } from "react";
17
+ import cx from "classnames";
18
18
  import PropTypes from "prop-types";
19
19
  import { jsx, jsxs } from "react/jsx-runtime";
20
20
  import { ChevronDown } from "@carbon/icons-react";
@@ -74,9 +74,9 @@ const MenuButton = forwardRef(({ children, className, disabled, kind = defaultBu
74
74
  function handleClick() {
75
75
  if (triggerRef.current) hookOnClick();
76
76
  }
77
- const containerClasses = classNames(`${prefix}--menu-button__container`, className);
78
- const triggerClasses = classNames(`${prefix}--menu-button__trigger`, { [`${prefix}--menu-button__trigger--open`]: open });
79
- const menuClasses = classNames(`${prefix}--menu-button__${menuAlignment}`);
77
+ const containerClasses = cx(`${prefix}--menu-button__container`, className);
78
+ const triggerClasses = cx(`${prefix}--menu-button__trigger`, { [`${prefix}--menu-button__trigger--open`]: open });
79
+ const menuClasses = cx(`${prefix}--menu-button__${menuAlignment}`);
80
80
  return /* @__PURE__ */ jsxs("div", {
81
81
  ...rest,
82
82
  ref,
@@ -5,14 +5,14 @@
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 { Enter, Escape, Tab } from "../../internal/keyboard/keys.js";
11
13
  import { match } from "../../internal/keyboard/match.js";
12
14
  import { selectorTabbable } from "../../internal/keyboard/navigation.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 { isComponentElement } from "../../internal/utils.js";
18
18
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
@@ -32,8 +32,8 @@ import { isTopmostVisibleModal } from "./isTopmostVisibleModal.js";
32
32
  import { requiredIfGivenPropIsTruthy } from "../../prop-types/requiredIfGivenPropIsTruthy.js";
33
33
  import { usePreviousValue } from "../../internal/usePreviousValue.js";
34
34
  import { ModalPresence, ModalPresenceContext, useExclusiveModalPresenceContext } from "./ModalPresence.js";
35
- import classNames from "classnames";
36
35
  import React, { cloneElement, useCallback, useContext, useEffect, useRef, useState } from "react";
36
+ import cx from "classnames";
37
37
  import PropTypes from "prop-types";
38
38
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
39
39
  import { Close } from "@carbon/icons-react";
@@ -88,7 +88,7 @@ const ModalDialog = React.forwardRef(function ModalDialog({ "aria-label": ariaLa
88
88
  const modalHeadingId = `${prefix}--modal-header__heading--${modalInstanceId}`;
89
89
  const modalBodyId = `${prefix}--modal-body--${modalInstanceId}`;
90
90
  const modalCloseButtonClass = `${prefix}--modal-close`;
91
- const primaryButtonClass = classNames({ [`${prefix}--btn--loading`]: loadingStatus !== "inactive" });
91
+ const primaryButtonClass = cx({ [`${prefix}--btn--loading`]: loadingStatus !== "inactive" });
92
92
  const loadingActive = loadingStatus !== "inactive";
93
93
  const presenceContext = useContext(ModalPresenceContext);
94
94
  const mergedRefs = useMergedRefs([
@@ -155,7 +155,7 @@ const ModalDialog = React.forwardRef(function ModalDialog({ "aria-label": ariaLa
155
155
  }
156
156
  const onSecondaryButtonClick = onSecondarySubmit ? onSecondarySubmit : onRequestClose;
157
157
  const { height } = useResizeObserver({ ref: contentRef });
158
- const modalClasses = classNames(`${prefix}--modal`, {
158
+ const modalClasses = cx(`${prefix}--modal`, {
159
159
  [`${prefix}--modal-tall`]: !passiveModal,
160
160
  "is-visible": enablePresence || open,
161
161
  [`${prefix}--modal--enable-presence`]: presenceContext?.autoEnablePresence,
@@ -163,7 +163,7 @@ const ModalDialog = React.forwardRef(function ModalDialog({ "aria-label": ariaLa
163
163
  [`${prefix}--modal--slug`]: slug,
164
164
  [`${prefix}--modal--decorator`]: decorator
165
165
  }, className);
166
- const containerClasses = classNames(`${prefix}--modal-container`, {
166
+ const containerClasses = cx(`${prefix}--modal-container`, {
167
167
  [`${prefix}--modal-container--${size}`]: size,
168
168
  [`${prefix}--modal-container--full-width`]: isFullWidth
169
169
  });
@@ -179,11 +179,11 @@ const ModalDialog = React.forwardRef(function ModalDialog({ "aria-label": ariaLa
179
179
  if (diff > 5) setIsScrollable(true);
180
180
  else if (diff < -5) setIsScrollable(false);
181
181
  }, [currentScrollHeight, currentClientHeight]);
182
- const contentClasses = classNames(`${prefix}--modal-content`, {
182
+ const contentClasses = cx(`${prefix}--modal-content`, {
183
183
  [`${prefix}--modal-scroll-content`]: hasScrollingContent || isScrollable,
184
184
  [`${prefix}--modal-scroll-content--no-fade`]: height <= 300
185
185
  });
186
- const footerClasses = classNames(`${prefix}--modal-footer`, { [`${prefix}--modal-footer--three-button`]: Array.isArray(secondaryButtons) && secondaryButtons.length === 2 });
186
+ const footerClasses = cx(`${prefix}--modal-footer`, { [`${prefix}--modal-footer--three-button`]: Array.isArray(secondaryButtons) && secondaryButtons.length === 2 });
187
187
  const asStringOrUndefined = (node) => {
188
188
  return typeof node === "string" ? node : void 0;
189
189
  };
@@ -302,8 +302,8 @@ const ModalDialog = React.forwardRef(function ModalDialog({ "aria-label": ariaLa
302
302
  focusAfterCloseRef: launcherButtonRef,
303
303
  modal: true,
304
304
  ref: innerModal,
305
- role: isAlertDialog ? "alertdialog" : "",
306
- "aria-describedby": isAlertDialog ? modalBodyId : "",
305
+ role: isAlertDialog ? "alertdialog" : void 0,
306
+ "aria-describedby": isAlertDialog ? modalBodyId : void 0,
307
307
  className: containerClasses,
308
308
  "aria-label": ariaLabel,
309
309
  "data-exiting": presenceContext?.isExiting || void 0,
@@ -654,4 +654,4 @@ Modal.propTypes = {
654
654
  slug: deprecate(PropTypes.node, "The `slug` prop has been deprecated and will be removed in the next major version. Use the decorator prop instead.")
655
655
  };
656
656
  //#endregion
657
- export { Modal as default };
657
+ export { ModalSizes, Modal as default };
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { usePresenceContext } from "../../internal/usePresenceContext.js";
8
+ import { PresenceHoldContext, usePresenceContext } from "../../internal/usePresenceContext.js";
9
9
  import { createContext, useContext, useMemo } from "react";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
  //#region src/components/Modal/ModalPresence.tsx
@@ -24,7 +24,10 @@ const ModalPresence = ({ open, _presenceId: presenceId, _autoEnablePresence: aut
24
24
  if (!isPresent) return null;
25
25
  return /* @__PURE__ */ jsx(ModalPresenceContext.Provider, {
26
26
  value: contextValue,
27
- children
27
+ children: /* @__PURE__ */ jsx(PresenceHoldContext.Provider, {
28
+ value: contextValue,
29
+ children
30
+ })
28
31
  });
29
32
  };
30
33
  const ModalPresenceContext = createContext(void 0);
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import "./ModalPresence.js";
8
+ import { ModalPresence, withModalPresence } from "./ModalPresence.js";
9
9
  import Modal from "./Modal.js";
10
10
  //#region src/components/Modal/index.ts
11
11
  /**
@@ -16,4 +16,4 @@ import Modal from "./Modal.js";
16
16
  */
17
17
  var Modal_default = Modal;
18
18
  //#endregion
19
- export { Modal_default as default };
19
+ export { Modal, ModalPresence, Modal_default as default, withModalPresence };
@@ -5,10 +5,10 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { Escape } from "../../internal/keyboard/keys.js";
9
- import { match } from "../../internal/keyboard/match.js";
10
8
  import { noopFn } from "../../internal/noopFn.js";
11
9
  import { warning } from "../../internal/warning.js";
10
+ import { Escape } from "../../internal/keyboard/keys.js";
11
+ import { match } from "../../internal/keyboard/match.js";
12
12
  import { ButtonKinds } from "../Button/Button.js";
13
13
  import Button_default from "../Button/index.js";
14
14
  import Modal_default from "../Modal/index.js";
@@ -29,8 +29,8 @@ import { sortingPropTypes } from "./MultiSelectPropTypes.js";
29
29
  import { isSelectAllItem } from "./tools/isSelectAllItem.js";
30
30
  import { defaultCompareItems, defaultSortItems } from "./tools/sorting.js";
31
31
  import { useSelection } from "../../internal/Selection.js";
32
- import classNames from "classnames";
33
32
  import { cloneElement, forwardRef, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
33
+ import cx from "classnames";
34
34
  import PropTypes from "prop-types";
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
36
  import { WarningAltFilled, WarningFilled } from "@carbon/icons-react";
@@ -44,7 +44,7 @@ import isEqual from "react-fast-compare";
44
44
  * This source code is licensed under the Apache-2.0 license found in the
45
45
  * LICENSE file in the root directory of this source tree.
46
46
  */
47
- const { InputBlur, InputKeyDownEnter, ItemClick, MenuMouseLeave, InputKeyDownArrowUp, InputKeyDownArrowDown, ItemMouseMove, InputClick, ToggleButtonClick, FunctionToggleMenu, InputChange, InputKeyDownEscape, FunctionSetHighlightedIndex } = useCombobox.stateChangeTypes;
47
+ const { InputBlur, InputKeyDownEnter, ItemClick, MenuMouseLeave, InputKeyDownArrowUp, InputKeyDownArrowDown, ItemMouseMove, InputClick, ToggleButtonClick, FunctionToggleMenu, InputChange, InputKeyDownEscape, FunctionSetHighlightedIndex, FunctionSetInputValue } = useCombobox.stateChangeTypes;
48
48
  const { SelectedItemKeyDownBackspace, SelectedItemKeyDownDelete, DropdownKeyDownBackspace, FunctionRemoveSelectedItem } = useMultipleSelection.stateChangeTypes;
49
49
  const FilterableMultiSelect = forwardRef(function FilterableMultiSelect({ autoAlign = false, className: containerClassName, clearSelectionDescription = "Total items selected: ", clearSelectionText = "To clear selection, press Delete or Backspace", compareItems = defaultCompareItems, decorator, direction = "bottom", disabled = false, downshiftProps, filterItems = defaultFilterItems, helperText, hideLabel, id, initialSelectedItems = [], invalid = false, invalidText, items, itemToElement: ItemToElement, itemToString = defaultItemToString, light, locale = "en", onInputValueChange, open = false, onChange, onMenuChange, placeholder, readOnly, titleText, type, selectionFeedback = "top-after-reopen", selectedItems: selected, size: size$1, sortItems = defaultSortItems, translateWithId, useTitleInItem, warn = false, warnText, slug, inputProps }, ref) {
50
50
  const { isFluid } = useContext(FormContext);
@@ -84,8 +84,10 @@ const FilterableMultiSelect = forwardRef(function FilterableMultiSelect({ autoAl
84
84
  const handleSelectAllClick = useCallback(() => {
85
85
  const selectable = nonSelectAllItems.filter((item) => !isItemDisabled(item));
86
86
  const { checked, indeterminate } = selectAllStatus;
87
- if (checked || indeterminate) toggleAll(controlledSelectedItems.filter((sel) => !filteredItems.some((e) => isEqual(e, sel))));
88
- else {
87
+ if (checked || indeterminate) {
88
+ const remainingSelectedItems = controlledSelectedItems.filter((sel) => !filteredItems.some((e) => isEqual(e, sel)));
89
+ toggleAll(remainingSelectedItems);
90
+ } else {
89
91
  const toSelect = selectable.filter((e) => !controlledSelectedItems.some((sel) => isEqual(sel, e)));
90
92
  toggleAll([...controlledSelectedItems, ...toSelect]);
91
93
  }
@@ -167,7 +169,7 @@ const FilterableMultiSelect = forwardRef(function FilterableMultiSelect({ autoAl
167
169
  const inline = type === "inline";
168
170
  const showWarning = normalizedProps.warn;
169
171
  const showHelperText = !normalizedProps.warn && !normalizedProps.invalid;
170
- const wrapperClasses = classNames(`${prefix}--multi-select__wrapper`, `${prefix}--multi-select--filterable__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
172
+ const wrapperClasses = cx(`${prefix}--multi-select__wrapper`, `${prefix}--multi-select--filterable__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
171
173
  [`${prefix}--multi-select__wrapper--inline`]: inline,
172
174
  [`${prefix}--list-box__wrapper--inline`]: inline,
173
175
  [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && normalizedProps.invalid,
@@ -181,16 +183,16 @@ const FilterableMultiSelect = forwardRef(function FilterableMultiSelect({ autoAl
181
183
  const hasHelper = hasHelperText(helperText);
182
184
  const helperId = !hasHelper ? void 0 : `filterablemultiselect-helper-text-${filterableMultiSelectInstanceId}`;
183
185
  const labelId = `${id}-label`;
184
- const titleClasses = classNames({
186
+ const titleClasses = cx({
185
187
  [`${prefix}--label`]: true,
186
188
  [`${prefix}--label--disabled`]: disabled,
187
189
  [`${prefix}--visually-hidden`]: hideLabel
188
190
  });
189
- const helperClasses = classNames({
191
+ const helperClasses = cx({
190
192
  [`${prefix}--form__helper-text`]: true,
191
193
  [`${prefix}--form__helper-text--disabled`]: disabled
192
194
  });
193
- const inputClasses = classNames({
195
+ const inputClasses = cx({
194
196
  [`${prefix}--text-input`]: true,
195
197
  [`${prefix}--text-input--empty`]: !inputValue,
196
198
  [`${prefix}--text-input--light`]: light
@@ -364,15 +366,22 @@ const FilterableMultiSelect = forwardRef(function FilterableMultiSelect({ autoAl
364
366
  });
365
367
  function clearInputValue(event) {
366
368
  const value = textInput.current?.value;
367
- if (value?.length === 1 || event && "key" in event && match(event, Escape)) setInputValue("");
368
- else setInputValue(value ?? "");
369
+ const isEscape = event && "key" in event && match(event, Escape);
370
+ const isClick = value && !(event && "key" in event);
371
+ if (value?.length === 1 || isEscape || isClick) {
372
+ setInputValue("");
373
+ onInputValueChange?.({
374
+ inputValue: "",
375
+ type: FunctionSetInputValue
376
+ });
377
+ } else setInputValue(value ?? "");
369
378
  if (textInput.current) textInput.current.focus();
370
379
  }
371
380
  const candidate = slug ?? decorator;
372
381
  const candidateIsAILabel = isComponentElement(candidate, AILabel);
373
382
  const normalizedDecorator = candidateIsAILabel ? cloneElement(candidate, { size: "mini" }) : candidate;
374
383
  const selectedItemsLength = controlledSelectedItems.filter((item) => !isSelectAllItem(item)).length;
375
- const className = classNames(`${prefix}--multi-select`, `${prefix}--combo-box`, `${prefix}--multi-select--filterable`, {
384
+ const className = cx(`${prefix}--multi-select`, `${prefix}--combo-box`, `${prefix}--multi-select--filterable`, {
376
385
  [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,
377
386
  [`${prefix}--multi-select--invalid--focused`]: inputFocused && normalizedProps.invalid,
378
387
  [`${prefix}--multi-select--open`]: isOpen,
@@ -508,6 +517,9 @@ const FilterableMultiSelect = forwardRef(function FilterableMultiSelect({ autoAl
508
517
  disabled,
509
518
  translateWithId,
510
519
  readOnly,
520
+ onMouseDown: (event) => {
521
+ event.preventDefault();
522
+ },
511
523
  onMouseUp: (event) => {
512
524
  event.stopPropagation();
513
525
  }
@@ -5,12 +5,12 @@
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 { usePrefix } from "../../internal/usePrefix.js";
9
10
  import { ArrowDown, Delete, Enter, Escape, Space, Tab } from "../../internal/keyboard/keys.js";
10
11
  import { match } from "../../internal/keyboard/match.js";
11
12
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
12
13
  import { useId } from "../../internal/useId.js";
13
- import { noopFn } from "../../internal/noopFn.js";
14
14
  import { deprecate } from "../../prop-types/deprecate.js";
15
15
  import { defaultItemToString } from "../../internal/defaultItemToString.js";
16
16
  import { isItemDisabled } from "../../internal/isItemDisabled.js";
@@ -27,8 +27,8 @@ import { sortingPropTypes } from "./MultiSelectPropTypes.js";
27
27
  import { isSelectAllItem } from "./tools/isSelectAllItem.js";
28
28
  import { defaultCompareItems, defaultSortItems } from "./tools/sorting.js";
29
29
  import { useSelection } from "../../internal/Selection.js";
30
- import classNames from "classnames";
31
30
  import React, { cloneElement, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
31
+ import cx from "classnames";
32
32
  import PropTypes from "prop-types";
33
33
  import { jsx, jsxs } from "react/jsx-runtime";
34
34
  import { WarningAltFilled, WarningFilled } from "@carbon/icons-react";
@@ -171,7 +171,7 @@ const MultiSelect = React.forwardRef(({ autoAlign = false, className: containerC
171
171
  const inline = type === "inline";
172
172
  const showWarning = normalizedProps.warn;
173
173
  const showHelperText = !normalizedProps.warn && !normalizedProps.invalid && helperText;
174
- const wrapperClasses = classNames(`${prefix}--multi-select__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
174
+ const wrapperClasses = cx(`${prefix}--multi-select__wrapper`, `${prefix}--list-box__wrapper`, containerClassName, {
175
175
  [`${prefix}--multi-select__wrapper--inline`]: inline,
176
176
  [`${prefix}--list-box__wrapper--inline`]: inline,
177
177
  [`${prefix}--multi-select__wrapper--inline--invalid`]: inline && normalizedProps.invalid,
@@ -180,14 +180,14 @@ const MultiSelect = React.forwardRef(({ autoAlign = false, className: containerC
180
180
  [`${prefix}--list-box__wrapper--slug`]: slug,
181
181
  [`${prefix}--list-box__wrapper--decorator`]: decorator
182
182
  });
183
- const titleClasses = classNames(`${prefix}--label`, {
183
+ const titleClasses = cx(`${prefix}--label`, {
184
184
  [`${prefix}--label--disabled`]: disabled,
185
185
  [`${prefix}--visually-hidden`]: hideLabel
186
186
  });
187
187
  const helperId = !helperText ? void 0 : `multiselect-helper-text-${multiSelectInstanceId}`;
188
188
  const fieldLabelId = `multiselect-field-label-${multiSelectInstanceId}`;
189
- const helperClasses = classNames(`${prefix}--form__helper-text`, { [`${prefix}--form__helper-text--disabled`]: disabled });
190
- const className = classNames(`${prefix}--multi-select`, {
189
+ const helperClasses = cx(`${prefix}--form__helper-text`, { [`${prefix}--form__helper-text--disabled`]: disabled });
190
+ const className = cx(`${prefix}--multi-select`, {
191
191
  [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,
192
192
  [`${prefix}--multi-select--invalid--focused`]: inputFocused && normalizedProps.invalid,
193
193
  [`${prefix}--multi-select--warning`]: showWarning,
@@ -263,7 +263,7 @@ const MultiSelect = React.forwardRef(({ autoAlign = false, className: containerC
263
263
  }
264
264
  return changes;
265
265
  }
266
- const multiSelectFieldWrapperClasses = classNames(`${prefix}--list-box__field--wrapper`, { [`${prefix}--list-box__field--wrapper--input-focused`]: inputFocused });
266
+ const multiSelectFieldWrapperClasses = cx(`${prefix}--list-box__field--wrapper`, { [`${prefix}--list-box__field--wrapper--input-focused`]: inputFocused });
267
267
  const readOnlyEventHandlers = readOnly ? {
268
268
  onClick: (evt) => {
269
269
  evt.preventDefault();