@carbon/react 1.80.1 → 1.81.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 (293) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +785 -785
  2. package/es/components/Accordion/AccordionItem.d.ts +2 -2
  3. package/es/components/AspectRatio/AspectRatio.d.ts +2 -2
  4. package/es/components/Button/Button.js +3 -0
  5. package/es/components/Button/ButtonBase.d.ts +2 -2
  6. package/es/components/ChatButton/ChatButton.js +5 -3
  7. package/es/components/CodeSnippet/CodeSnippet.js +2 -0
  8. package/es/components/ComboBox/ComboBox.d.ts +1 -1
  9. package/es/components/ComboBox/ComboBox.js +52 -30
  10. package/es/components/ComposedModal/ComposedModal.d.ts +1 -1
  11. package/es/components/ComposedModal/ComposedModal.js +1 -2
  12. package/es/components/ComposedModal/ModalFooter.js +0 -1
  13. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -1
  14. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +1 -1
  15. package/es/components/ContextMenu/useContextMenu.d.ts +1 -1
  16. package/es/components/DataTable/DataTable.d.ts +5 -5
  17. package/es/components/DataTable/DataTable.js +1 -1
  18. package/es/components/DataTable/TableActionList.d.ts +1 -1
  19. package/es/components/DataTable/TableCell.js +28 -4
  20. package/es/components/DataTable/TableExpandHeader.d.ts +1 -1
  21. package/es/components/DataTable/TableHead.d.ts +1 -1
  22. package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
  23. package/es/components/DataTable/TableToolbarSearch.d.ts +1 -1
  24. package/es/components/DataTable/tools/cells.d.ts +13 -0
  25. package/es/components/DataTable/tools/cells.js +3 -6
  26. package/es/components/DataTable/tools/filter.d.ts +26 -0
  27. package/es/components/DataTable/tools/filter.js +8 -17
  28. package/es/components/DatePicker/DatePicker.js +1 -1
  29. package/es/components/DatePickerInput/DatePickerInput.d.ts +2 -2
  30. package/es/components/Dropdown/Dropdown.d.ts +1 -1
  31. package/es/components/Dropdown/Dropdown.js +6 -6
  32. package/es/components/FeatureFlags/index.d.ts +1 -1
  33. package/es/components/FileUploader/FileUploader.d.ts +6 -1
  34. package/es/components/FileUploader/FileUploader.js +3 -1
  35. package/es/components/FileUploader/FileUploaderButton.d.ts +1 -1
  36. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  37. package/es/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
  38. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +5 -6
  39. package/es/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +3 -3
  40. package/es/components/FluidMultiSelect/FluidMultiSelect.d.ts +2 -2
  41. package/es/components/FluidMultiSelect/FluidMultiSelect.js +6 -4
  42. package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +40 -0
  43. package/es/components/FluidNumberInput/FluidNumberInput.js +123 -0
  44. package/es/components/FluidTextInput/FluidTextInput.js +2 -2
  45. package/es/components/Grid/Column.js +1 -1
  46. package/es/components/Grid/GridTypes.d.ts +6 -1
  47. package/es/components/Layer/LayerLevel.d.ts +3 -3
  48. package/es/components/Layer/LayerLevel.js +4 -3
  49. package/es/components/Layer/index.d.ts +4 -2
  50. package/es/components/Layer/index.js +3 -2
  51. package/es/components/Link/Link.js +3 -1
  52. package/es/components/Menu/Menu.d.ts +1 -1
  53. package/es/components/Menu/Menu.js +4 -14
  54. package/es/components/Menu/MenuContext.d.ts +1 -1
  55. package/es/components/Menu/MenuItem.js +15 -4
  56. package/es/components/Modal/Modal.js +5 -2
  57. package/es/components/ModalWrapper/ModalWrapper.d.ts +2 -2
  58. package/es/components/MultiSelect/FilterableMultiSelect.d.ts +3 -3
  59. package/es/components/MultiSelect/FilterableMultiSelect.js +4 -3
  60. package/es/components/MultiSelect/MultiSelect.d.ts +2 -6
  61. package/es/components/MultiSelect/MultiSelect.js +22 -4
  62. package/es/components/MultiSelect/index.d.ts +2 -4
  63. package/es/components/NumberInput/NumberInput.js +2 -1
  64. package/es/components/OverflowMenu/OverflowMenu.d.ts +7 -1
  65. package/es/components/OverflowMenu/OverflowMenu.js +69 -17
  66. package/es/components/OverflowMenu/index.d.ts +2 -4
  67. package/es/components/OverflowMenu/index.js +10 -6
  68. package/es/components/OverflowMenu/next/index.js +0 -1
  69. package/es/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
  70. package/es/components/PageHeader/PageHeader.d.ts +9 -2
  71. package/es/components/PageHeader/PageHeader.js +16 -4
  72. package/es/components/PageHeader/index.d.ts +2 -2
  73. package/es/components/PageHeader/index.js +1 -1
  74. package/es/components/PaginationNav/PaginationNav.d.ts +1 -1
  75. package/es/components/PaginationNav/PaginationNav.js +2 -1
  76. package/es/components/Popover/index.d.ts +3 -2
  77. package/es/components/Popover/index.js +10 -5
  78. package/es/components/Portal/index.d.ts +1 -1
  79. package/es/components/Search/Search.js +0 -1
  80. package/es/components/SkeletonText/SkeletonText.js +3 -1
  81. package/es/components/Slider/Slider.d.ts +3 -13
  82. package/es/components/Slider/Slider.js +2 -14
  83. package/es/components/Tabs/Tabs.d.ts +2 -2
  84. package/es/components/Tabs/Tabs.js +8 -6
  85. package/es/components/Tabs/usePressable.js +1 -1
  86. package/es/components/Tag/Tag.js +9 -2
  87. package/es/components/Text/Text.js +3 -2
  88. package/es/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  89. package/es/components/TextInput/ControlledPasswordInput.js +0 -6
  90. package/es/components/TextInput/TextInput.d.ts +1 -1
  91. package/es/components/TextInput/TextInput.js +0 -4
  92. package/es/components/TextInput/index.d.ts +6 -0
  93. package/es/components/TextInput/index.js +0 -8
  94. package/es/components/Tile/Tile.js +0 -1
  95. package/es/components/Toggle/Toggle.d.ts +1 -1
  96. package/es/components/ToggleSmall/ToggleSmall.Skeleton.d.ts +9 -14
  97. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +37 -41
  98. package/es/components/Toggletip/index.js +11 -8
  99. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  100. package/es/components/TreeView/TreeView.d.ts +1 -1
  101. package/es/components/UIShell/Content.d.ts +14 -1
  102. package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  103. package/es/components/UIShell/HeaderMenu.d.ts +2 -99
  104. package/es/components/UIShell/HeaderMenu.js +10 -3
  105. package/es/components/UIShell/HeaderMenuButton.d.ts +1 -98
  106. package/es/components/UIShell/HeaderMenuItem.d.ts +3 -4
  107. package/es/components/UIShell/HeaderMenuItem.js +3 -3
  108. package/es/components/UIShell/HeaderName.js +1 -1
  109. package/es/components/UIShell/HeaderNavigation.d.ts +0 -97
  110. package/es/components/UIShell/Link.d.ts +8 -8
  111. package/es/components/UIShell/Link.js +8 -5
  112. package/es/components/UIShell/SideNav.d.ts +3 -3
  113. package/es/components/UIShell/SideNav.js +1 -1
  114. package/es/components/UIShell/SideNavHeader.js +0 -1
  115. package/es/components/UIShell/SideNavLink.d.ts +3 -4
  116. package/es/components/UIShell/SideNavLink.js +8 -3
  117. package/es/components/UIShell/SideNavMenu.js +0 -1
  118. package/es/components/UIShell/SideNavMenuItem.d.ts +1 -49
  119. package/es/components/UIShell/SideNavMenuItem.js +1 -1
  120. package/es/components/UIShell/SideNavSwitcher.js +0 -1
  121. package/es/components/UIShell/SwitcherItem.d.ts +2 -2
  122. package/es/components/UIShell/SwitcherItem.js +1 -1
  123. package/es/index.d.ts +2 -2
  124. package/es/index.js +7 -7
  125. package/es/internal/FloatingMenu.js +2 -1
  126. package/es/internal/clamp.d.ts +10 -0
  127. package/es/internal/clamp.js +13 -0
  128. package/es/internal/useEvent.d.ts +9 -0
  129. package/es/internal/useEvent.js +8 -49
  130. package/es/internal/useId.js +1 -1
  131. package/es/internal/useMatchMedia.d.ts +7 -2
  132. package/es/internal/useMatchMedia.js +9 -10
  133. package/es/internal/useNoInteractiveChildren.js +4 -2
  134. package/es/internal/useOutsideClick.d.ts +1 -1
  135. package/es/prop-types/AriaPropTypes.js +1 -1
  136. package/es/prop-types/isRequiredOneOf.d.ts +16 -0
  137. package/es/prop-types/isRequiredOneOf.js +11 -9
  138. package/es/tools/setupGetInstanceId.d.ts +12 -0
  139. package/es/tools/setupGetInstanceId.js +7 -8
  140. package/es/tools/toggleClass.d.ts +14 -0
  141. package/es/tools/toggleClass.js +9 -10
  142. package/es/tools/wrapComponent.d.ts +1 -1
  143. package/es/types/common.d.ts +1 -6
  144. package/lib/components/Accordion/AccordionItem.d.ts +2 -2
  145. package/lib/components/AspectRatio/AspectRatio.d.ts +2 -2
  146. package/lib/components/Button/Button.js +3 -0
  147. package/lib/components/Button/ButtonBase.d.ts +2 -2
  148. package/lib/components/ChatButton/ChatButton.js +5 -3
  149. package/lib/components/CodeSnippet/CodeSnippet.js +2 -0
  150. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  151. package/lib/components/ComboBox/ComboBox.js +52 -30
  152. package/lib/components/ComposedModal/ComposedModal.d.ts +1 -1
  153. package/lib/components/ComposedModal/ComposedModal.js +2 -3
  154. package/lib/components/ComposedModal/ModalFooter.js +0 -1
  155. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -1
  156. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +1 -1
  157. package/lib/components/ContextMenu/useContextMenu.d.ts +1 -1
  158. package/lib/components/DataTable/DataTable.d.ts +5 -5
  159. package/lib/components/DataTable/DataTable.js +1 -1
  160. package/lib/components/DataTable/TableActionList.d.ts +1 -1
  161. package/lib/components/DataTable/TableCell.js +28 -3
  162. package/lib/components/DataTable/TableExpandHeader.d.ts +1 -1
  163. package/lib/components/DataTable/TableHead.d.ts +1 -1
  164. package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
  165. package/lib/components/DataTable/TableToolbarSearch.d.ts +1 -1
  166. package/lib/components/DataTable/tools/cells.d.ts +13 -0
  167. package/lib/components/DataTable/tools/cells.js +3 -6
  168. package/lib/components/DataTable/tools/filter.d.ts +26 -0
  169. package/lib/components/DataTable/tools/filter.js +8 -17
  170. package/lib/components/DatePicker/DatePicker.js +1 -1
  171. package/lib/components/DatePickerInput/DatePickerInput.d.ts +2 -2
  172. package/lib/components/Dropdown/Dropdown.d.ts +1 -1
  173. package/lib/components/Dropdown/Dropdown.js +6 -6
  174. package/lib/components/FeatureFlags/index.d.ts +1 -1
  175. package/lib/components/FileUploader/FileUploader.d.ts +6 -1
  176. package/lib/components/FileUploader/FileUploader.js +3 -1
  177. package/lib/components/FileUploader/FileUploaderButton.d.ts +1 -1
  178. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  179. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
  180. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +4 -5
  181. package/lib/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +3 -3
  182. package/lib/components/FluidMultiSelect/FluidMultiSelect.d.ts +2 -2
  183. package/lib/components/FluidMultiSelect/FluidMultiSelect.js +7 -5
  184. package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +50 -0
  185. package/lib/components/FluidNumberInput/FluidNumberInput.js +133 -0
  186. package/lib/components/FluidTextInput/FluidTextInput.js +2 -2
  187. package/lib/components/Grid/Column.js +1 -1
  188. package/lib/components/Grid/GridTypes.d.ts +6 -1
  189. package/lib/components/Layer/LayerLevel.d.ts +3 -3
  190. package/lib/components/Layer/LayerLevel.js +4 -2
  191. package/lib/components/Layer/index.d.ts +4 -2
  192. package/lib/components/Layer/index.js +2 -1
  193. package/lib/components/Link/Link.js +3 -1
  194. package/lib/components/Menu/Menu.d.ts +1 -1
  195. package/lib/components/Menu/Menu.js +4 -14
  196. package/lib/components/Menu/MenuContext.d.ts +1 -1
  197. package/lib/components/Menu/MenuItem.js +15 -4
  198. package/lib/components/Modal/Modal.js +6 -3
  199. package/lib/components/ModalWrapper/ModalWrapper.d.ts +2 -2
  200. package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +3 -3
  201. package/lib/components/MultiSelect/FilterableMultiSelect.js +3 -2
  202. package/lib/components/MultiSelect/MultiSelect.d.ts +2 -6
  203. package/lib/components/MultiSelect/MultiSelect.js +21 -3
  204. package/lib/components/MultiSelect/index.d.ts +2 -4
  205. package/lib/components/NumberInput/NumberInput.js +2 -1
  206. package/lib/components/OverflowMenu/OverflowMenu.d.ts +7 -1
  207. package/lib/components/OverflowMenu/OverflowMenu.js +69 -17
  208. package/lib/components/OverflowMenu/index.d.ts +2 -4
  209. package/lib/components/OverflowMenu/index.js +9 -5
  210. package/lib/components/OverflowMenu/next/index.js +0 -1
  211. package/lib/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
  212. package/lib/components/PageHeader/PageHeader.d.ts +9 -2
  213. package/lib/components/PageHeader/PageHeader.js +17 -3
  214. package/lib/components/PageHeader/index.d.ts +2 -2
  215. package/lib/components/PageHeader/index.js +2 -0
  216. package/lib/components/PaginationNav/PaginationNav.d.ts +1 -1
  217. package/lib/components/PaginationNav/PaginationNav.js +2 -1
  218. package/lib/components/Popover/index.d.ts +3 -2
  219. package/lib/components/Popover/index.js +10 -5
  220. package/lib/components/Portal/index.d.ts +1 -1
  221. package/lib/components/Search/Search.js +0 -1
  222. package/lib/components/SkeletonText/SkeletonText.js +3 -1
  223. package/lib/components/Slider/Slider.d.ts +3 -13
  224. package/lib/components/Slider/Slider.js +2 -14
  225. package/lib/components/Tabs/Tabs.d.ts +2 -2
  226. package/lib/components/Tabs/Tabs.js +7 -5
  227. package/lib/components/Tabs/usePressable.js +1 -1
  228. package/lib/components/Tag/Tag.js +9 -2
  229. package/lib/components/Text/Text.js +2 -1
  230. package/lib/components/TextInput/ControlledPasswordInput.d.ts +1 -1
  231. package/lib/components/TextInput/ControlledPasswordInput.js +0 -6
  232. package/lib/components/TextInput/TextInput.d.ts +1 -1
  233. package/lib/components/TextInput/TextInput.js +0 -4
  234. package/lib/components/TextInput/index.d.ts +6 -0
  235. package/lib/components/TextInput/index.js +1 -7
  236. package/lib/components/Tile/Tile.js +0 -1
  237. package/lib/components/Toggle/Toggle.d.ts +1 -1
  238. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.d.ts +9 -14
  239. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +34 -39
  240. package/lib/components/Toggletip/index.js +11 -8
  241. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  242. package/lib/components/TreeView/TreeView.d.ts +1 -1
  243. package/lib/components/UIShell/Content.d.ts +14 -1
  244. package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
  245. package/lib/components/UIShell/HeaderMenu.d.ts +2 -99
  246. package/lib/components/UIShell/HeaderMenu.js +10 -3
  247. package/lib/components/UIShell/HeaderMenuButton.d.ts +1 -98
  248. package/lib/components/UIShell/HeaderMenuItem.d.ts +3 -4
  249. package/lib/components/UIShell/HeaderMenuItem.js +3 -3
  250. package/lib/components/UIShell/HeaderName.js +1 -1
  251. package/lib/components/UIShell/HeaderNavigation.d.ts +0 -97
  252. package/lib/components/UIShell/Link.d.ts +8 -8
  253. package/lib/components/UIShell/Link.js +7 -5
  254. package/lib/components/UIShell/SideNav.d.ts +3 -3
  255. package/lib/components/UIShell/SideNav.js +1 -1
  256. package/lib/components/UIShell/SideNavHeader.js +0 -1
  257. package/lib/components/UIShell/SideNavLink.d.ts +3 -4
  258. package/lib/components/UIShell/SideNavLink.js +8 -3
  259. package/lib/components/UIShell/SideNavMenu.js +0 -1
  260. package/lib/components/UIShell/SideNavMenuItem.d.ts +1 -49
  261. package/lib/components/UIShell/SideNavMenuItem.js +1 -1
  262. package/lib/components/UIShell/SideNavSwitcher.js +0 -1
  263. package/lib/components/UIShell/SwitcherItem.d.ts +2 -2
  264. package/lib/components/UIShell/SwitcherItem.js +1 -1
  265. package/lib/index.d.ts +2 -2
  266. package/lib/index.js +13 -11
  267. package/lib/internal/FloatingMenu.js +2 -1
  268. package/lib/internal/clamp.d.ts +10 -0
  269. package/lib/internal/clamp.js +17 -0
  270. package/lib/internal/useEvent.d.ts +9 -0
  271. package/lib/internal/useEvent.js +8 -49
  272. package/lib/internal/useId.js +1 -1
  273. package/lib/internal/useMatchMedia.d.ts +7 -2
  274. package/lib/internal/useMatchMedia.js +9 -10
  275. package/lib/internal/useNoInteractiveChildren.js +4 -2
  276. package/lib/internal/useOutsideClick.d.ts +1 -1
  277. package/lib/prop-types/AriaPropTypes.js +1 -1
  278. package/lib/prop-types/isRequiredOneOf.d.ts +16 -0
  279. package/lib/prop-types/isRequiredOneOf.js +11 -9
  280. package/lib/tools/setupGetInstanceId.d.ts +12 -0
  281. package/lib/tools/setupGetInstanceId.js +7 -8
  282. package/lib/tools/toggleClass.d.ts +14 -0
  283. package/lib/tools/toggleClass.js +9 -10
  284. package/lib/tools/wrapComponent.d.ts +1 -1
  285. package/lib/types/common.d.ts +1 -6
  286. package/package.json +15 -15
  287. package/telemetry.yml +11 -12
  288. package/es/components/MultiSelect/index.js +0 -13
  289. package/es/internal/ClickListener.d.ts +0 -13
  290. package/es/internal/ClickListener.js +0 -47
  291. package/lib/components/MultiSelect/index.js +0 -19
  292. package/lib/internal/ClickListener.d.ts +0 -13
  293. package/lib/internal/ClickListener.js +0 -51
@@ -13,11 +13,10 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var PropTypes = require('prop-types');
14
14
  var React = require('react');
15
15
  var cx = require('classnames');
16
- require('../MultiSelect/index.js');
17
- var usePrefix = require('../../internal/usePrefix.js');
18
- var FormContext = require('../FluidForm/FormContext.js');
19
16
  var FilterableMultiSelect = require('../MultiSelect/FilterableMultiSelect.js');
20
17
  var MultiSelect = require('../MultiSelect/MultiSelect.js');
18
+ var usePrefix = require('../../internal/usePrefix.js');
19
+ var FormContext = require('../FluidForm/FormContext.js');
21
20
 
22
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
22
 
@@ -43,10 +42,13 @@ const FluidMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(funct
43
42
  }, isFilterable ?
44
43
  /*#__PURE__*/
45
44
  // @ts-ignore
46
- React__default["default"].createElement(FilterableMultiSelect["default"], _rollupPluginBabelHelpers["extends"]({
45
+ React__default["default"].createElement(FilterableMultiSelect.FilterableMultiSelect, _rollupPluginBabelHelpers["extends"]({
47
46
  ref: ref,
48
47
  className: classNames
49
- }, other)) : /*#__PURE__*/React__default["default"].createElement(MultiSelect["default"], _rollupPluginBabelHelpers["extends"]({
48
+ }, other)) :
49
+ /*#__PURE__*/
50
+ // @ts-ignore
51
+ React__default["default"].createElement(MultiSelect.MultiSelect, _rollupPluginBabelHelpers["extends"]({
50
52
  ref: ref,
51
53
  className: classNames
52
54
  }, other)));
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var PropTypes = require('prop-types');
14
+ var React = require('react');
15
+ var cx = require('classnames');
16
+ var usePrefix = require('../../internal/usePrefix.js');
17
+ var FormContext = require('../FluidForm/FormContext.js');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
22
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
+
25
+ const FluidNumberInputSkeleton = _ref => {
26
+ let {
27
+ className,
28
+ ...other
29
+ } = _ref;
30
+ const prefix = usePrefix.usePrefix();
31
+ return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
32
+ value: {
33
+ isFluid: true
34
+ }
35
+ }, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
36
+ className: cx__default["default"](`${prefix}--form-item ${prefix}--text-input--fluid__skeleton`, className)
37
+ }, other), /*#__PURE__*/React__default["default"].createElement("span", {
38
+ className: `${prefix}--label ${prefix}--skeleton`
39
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
40
+ className: `${prefix}--skeleton ${prefix}--text-input`
41
+ })));
42
+ };
43
+ FluidNumberInputSkeleton.propTypes = {
44
+ /**
45
+ * Specify an optional className to be applied to the outer FluidForm wrapper
46
+ */
47
+ className: PropTypes__default["default"].string
48
+ };
49
+
50
+ exports["default"] = FluidNumberInputSkeleton;
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var PropTypes = require('prop-types');
14
+ var React = require('react');
15
+ var cx = require('classnames');
16
+ require('../NumberInput/NumberInput.Skeleton.js');
17
+ var NumberInput = require('../NumberInput/NumberInput.js');
18
+ var usePrefix = require('../../internal/usePrefix.js');
19
+ var FormContext = require('../FluidForm/FormContext.js');
20
+
21
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
+
23
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
24
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
26
+
27
+ const FluidNumberInput = /*#__PURE__*/React__default["default"].forwardRef(function FluidNumberInput(_ref, ref) {
28
+ let {
29
+ className,
30
+ ...other
31
+ } = _ref;
32
+ const prefix = usePrefix.usePrefix();
33
+ const classNames = cx__default["default"](`${prefix}--number-input--fluid`, className);
34
+ return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
35
+ value: {
36
+ isFluid: true
37
+ }
38
+ }, /*#__PURE__*/React__default["default"].createElement(NumberInput.NumberInput, _rollupPluginBabelHelpers["extends"]({
39
+ ref: ref,
40
+ className: classNames
41
+ }, other)));
42
+ });
43
+ FluidNumberInput.propTypes = {
44
+ /**
45
+ * `true` to allow empty string.
46
+ */
47
+ allowEmpty: PropTypes__default["default"].bool,
48
+ /**
49
+ * Specify an optional className to be applied to the wrapper node
50
+ */
51
+ className: PropTypes__default["default"].string,
52
+ /**
53
+ * Optional starting value for uncontrolled state
54
+ */
55
+ defaultValue: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
56
+ /**
57
+ * Specify if the wheel functionality for the input should be disabled, or not
58
+ */
59
+ disableWheel: PropTypes__default["default"].bool,
60
+ /**
61
+ * Specify if the control should be disabled, or not
62
+ */
63
+ disabled: PropTypes__default["default"].bool,
64
+ /**
65
+ * Provide a description for up/down icons that can be read by screen readers
66
+ */
67
+ iconDescription: PropTypes__default["default"].string,
68
+ /**
69
+ * Specify a custom `id` for the input
70
+ */
71
+ id: PropTypes__default["default"].string.isRequired,
72
+ /**
73
+ * Specify if the currently value is invalid.
74
+ */
75
+ invalid: PropTypes__default["default"].bool,
76
+ /**
77
+ * Message which is displayed if the value is invalid.
78
+ */
79
+ invalidText: PropTypes__default["default"].node,
80
+ /**
81
+ * Generic `label` that will be used as the textual representation of what
82
+ * this field is for
83
+ */
84
+ label: PropTypes__default["default"].node,
85
+ /**
86
+ * The maximum value.
87
+ */
88
+ max: PropTypes__default["default"].number,
89
+ /**
90
+ * The minimum value.
91
+ */
92
+ min: PropTypes__default["default"].number,
93
+ /**
94
+ * Provide an optional handler that is called when the internal state of
95
+ * NumberInput changes. This handler is called with event and state info.
96
+ * `(event, { value, direction }) => void`
97
+ */
98
+ onChange: PropTypes__default["default"].func,
99
+ /**
100
+ * Provide an optional function to be called when the up/down button is clicked
101
+ */
102
+ onClick: PropTypes__default["default"].func,
103
+ /**
104
+ * Provide an optional function to be called when a key is pressed in the number input
105
+ */
106
+ onKeyUp: PropTypes__default["default"].func,
107
+ /**
108
+ * Specify how much the values should increase/decrease upon clicking on up/down button
109
+ */
110
+ step: PropTypes__default["default"].number,
111
+ /**
112
+ * Provide custom text for the component for each translation id
113
+ */
114
+ translateWithId: PropTypes__default["default"].func,
115
+ /**
116
+ * Specify the value of the input
117
+ */
118
+ value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
119
+ /**
120
+ * Specify whether the control is currently in warning state
121
+ */
122
+ warn: PropTypes__default["default"].bool,
123
+ /**
124
+ * Provide the text that is displayed when the control is in warning state
125
+ */
126
+ warnText: PropTypes__default["default"].node,
127
+ /**
128
+ * Whether or not the component is readonly
129
+ */
130
+ readOnly: PropTypes__default["default"].bool
131
+ };
132
+
133
+ exports["default"] = FluidNumberInput;
@@ -13,12 +13,12 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var PropTypes = require('prop-types');
14
14
  var React = require('react');
15
15
  var cx = require('classnames');
16
- require('../TextInput/index.js');
16
+ var TextInput = require('../TextInput/TextInput.js');
17
+ require('../TextInput/TextInput.Skeleton.js');
17
18
  require('../TextInput/ControlledPasswordInput.js');
18
19
  var PasswordInput = require('../TextInput/PasswordInput.js');
19
20
  var usePrefix = require('../../internal/usePrefix.js');
20
21
  var FormContext = require('../FluidForm/FormContext.js');
21
- var TextInput = require('../TextInput/TextInput.js');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
24
 
@@ -42,7 +42,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
42
42
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
43
43
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
44
44
 
45
- const Column = /*#__PURE__*/React__default["default"].forwardRef(function Column(_ref, ref) {
45
+ const Column = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
46
46
  let {
47
47
  as,
48
48
  children,
@@ -5,7 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { PolymorphicComponentPropWithRef } from '../../internal/PolymorphicProps';
8
+ import PropTypes from 'prop-types';
8
9
  export interface GridBaseProps {
10
+ /**
11
+ * Specify grid alignment. Default is center
12
+ */
13
+ align?: 'start' | 'center' | 'end';
9
14
  /**
10
15
  * Pass in content that will be rendered within the `Grid`
11
16
  */
@@ -33,5 +38,5 @@ export type GridProps<T extends React.ElementType> = PolymorphicComponentPropWit
33
38
  export interface GridComponent {
34
39
  <T extends React.ElementType = 'div'>(props: GridProps<T>): React.ReactElement | null;
35
40
  displayName?: string;
36
- propTypes?: React.WeakValidationMap<GridProps<any>>;
41
+ propTypes?: PropTypes.WeakValidationMap<GridProps<any>>;
37
42
  }
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Copyright IBM Corp. 2023
2
+ * Copyright IBM Corp. 2023, 2025
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export declare const levels: readonly ["one", "two", "three"];
8
- export declare const MIN_LEVEL = 0;
9
- export declare const MAX_LEVEL: number;
10
8
  export declare const LayerLevels: readonly [0, 1, 2];
9
+ export declare const MIN_LEVEL: 0;
10
+ export declare const MAX_LEVEL: 0 | 1 | 2;
11
11
  export type LayerLevel = (typeof LayerLevels)[number];
@@ -10,9 +10,11 @@
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  const levels = ['one', 'two', 'three'];
13
- const MIN_LEVEL = 0;
14
- const MAX_LEVEL = levels.length - 1;
13
+ const LayerLevels = [0, 1, 2];
14
+ const MIN_LEVEL = LayerLevels[0];
15
+ const MAX_LEVEL = LayerLevels[LayerLevels.length - 1];
15
16
 
17
+ exports.LayerLevels = LayerLevels;
16
18
  exports.MAX_LEVEL = MAX_LEVEL;
17
19
  exports.MIN_LEVEL = MIN_LEVEL;
18
20
  exports.levels = levels;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
2
+ * Copyright IBM Corp. 2016, 2025
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -31,5 +31,7 @@ export interface LayerBaseProps {
31
31
  level?: LayerLevel;
32
32
  }
33
33
  export type LayerProps<T extends React.ElementType> = PolymorphicComponentPropWithRef<T, LayerBaseProps>;
34
- declare const Layer: React.ForwardRefExoticComponent<Omit<LayerProps<React.ElementType<any, keyof React.JSX.IntrinsicElements>>, "ref"> & React.RefAttributes<unknown>>;
34
+ declare const Layer: React.ForwardRefExoticComponent<LayerBaseProps & {
35
+ as?: React.ElementType;
36
+ } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<any>>;
35
37
  export { Layer };
@@ -16,6 +16,7 @@ var cx = require('classnames');
16
16
  var usePrefix = require('../../internal/usePrefix.js');
17
17
  var LayerContext = require('./LayerContext.js');
18
18
  var LayerLevel = require('./LayerLevel.js');
19
+ var clamp = require('../../internal/clamp.js');
19
20
 
20
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
22
 
@@ -47,7 +48,7 @@ const Layer = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
47
48
  const prefix = usePrefix.usePrefix();
48
49
  const className = cx__default["default"](`${prefix}--layer-${LayerLevel.levels[level]}`, customClassName);
49
50
  // The level should be between MIN_LEVEL and MAX_LEVEL
50
- const value = Math.max(LayerLevel.MIN_LEVEL, Math.min(level + 1, LayerLevel.MAX_LEVEL));
51
+ const value = clamp.clamp(level + 1, LayerLevel.MIN_LEVEL, LayerLevel.MAX_LEVEL);
51
52
  const BaseComponent = as || 'div';
52
53
  return /*#__PURE__*/React__default["default"].createElement(LayerContext.LayerContext.Provider, {
53
54
  value: value
@@ -21,7 +21,8 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
21
21
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
22
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
23
 
24
- const Link = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
24
+ // First create the component with basic types
25
+ const LinkBase = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
25
26
  let {
26
27
  as: BaseComponent,
27
28
  children,
@@ -64,6 +65,7 @@ const Link = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
64
65
  className: `${prefix}--link__icon`
65
66
  }, /*#__PURE__*/React__default["default"].createElement(Icon, null)));
66
67
  });
68
+ const Link = LinkBase;
67
69
  Link.displayName = 'Link';
68
70
  Link.propTypes = {
69
71
  /**
@@ -9,7 +9,7 @@ export interface MenuProps extends React.HTMLAttributes<HTMLUListElement> {
9
9
  /**
10
10
  * The ref of the containing element, used for positioning and alignment of the menu
11
11
  */
12
- containerRef?: RefObject<HTMLDivElement>;
12
+ containerRef?: RefObject<HTMLDivElement | null>;
13
13
  /**
14
14
  * A collection of MenuItems to be rendered within this Menu.
15
15
  */
@@ -111,18 +111,8 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
111
111
  }
112
112
  }
113
113
  }
114
- function handleClose(e) {
115
- if (/^key/.test(e.type)) {
116
- window.addEventListener('keyup', returnFocus, {
117
- once: true
118
- });
119
- } else if (e.type === 'click' && menu.current) {
120
- menu.current.addEventListener('focusout', returnFocus, {
121
- once: true
122
- });
123
- } else {
124
- returnFocus();
125
- }
114
+ function handleClose() {
115
+ returnFocus();
126
116
  if (onClose) {
127
117
  onClose();
128
118
  }
@@ -133,7 +123,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
133
123
  // if the user presses escape or this is a submenu
134
124
  // and the user presses ArrowLeft, close it
135
125
  if ((match.match(e, keys.Escape) || !isRoot && match.match(e, keys.ArrowLeft)) && onClose) {
136
- handleClose(e);
126
+ handleClose();
137
127
  } else {
138
128
  focusItem(e);
139
129
  }
@@ -168,7 +158,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
168
158
  }
169
159
  function handleBlur(e) {
170
160
  if (open && onClose && isRoot && !menu.current?.contains(e.relatedTarget)) {
171
- handleClose(e);
161
+ handleClose();
172
162
  }
173
163
  }
174
164
  function fitValue(range, axis) {
@@ -28,7 +28,7 @@ declare function menuReducer(state: StateType, action: ActionType): {
28
28
  type DispatchFuncProps = {
29
29
  type: ActionType['type'];
30
30
  payload: {
31
- ref: RefObject<HTMLLIElement>;
31
+ ref: RefObject<HTMLLIElement | null>;
32
32
  disabled: boolean;
33
33
  };
34
34
  };
@@ -108,18 +108,28 @@ const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(_ref, forwardRe
108
108
  }
109
109
  }
110
110
  }
111
+
112
+ // Avoid stray keyup event from MenuButton affecting MenuItem, and vice versa.
113
+ // Keyboard click is handled differently for <button> vs. <li> and for Enter vs. Space. See
114
+ // https://www.stefanjudis.com/today-i-learned/keyboard-button-clicks-with-space-and-enter-behave-differently/.
115
+ const pendingKeyboardClick = React.useRef(false);
116
+ const keyboardClickEvent = e => match.match(e, keys.Enter) || match.match(e, keys.Space);
111
117
  function handleKeyDown(e) {
112
118
  if (hasChildren && match.match(e, keys.ArrowRight)) {
113
119
  openSubmenu();
114
120
  e.stopPropagation();
115
121
  }
116
- if (match.match(e, keys.Enter) || match.match(e, keys.Space)) {
117
- handleClick(e);
118
- }
122
+ pendingKeyboardClick.current = keyboardClickEvent(e);
119
123
  if (rest.onKeyDown) {
120
124
  rest.onKeyDown(e);
121
125
  }
122
126
  }
127
+ function handleKeyUp(e) {
128
+ if (pendingKeyboardClick.current && keyboardClickEvent(e)) {
129
+ handleClick(e);
130
+ }
131
+ pendingKeyboardClick.current = false;
132
+ }
123
133
  const classNames = cx__default["default"](className, `${prefix}--menu-item`, {
124
134
  [`${prefix}--menu-item--disabled`]: isDisabled,
125
135
  [`${prefix}--menu-item--danger`]: isDanger
@@ -172,7 +182,8 @@ const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(_ref, forwardRe
172
182
  "aria-haspopup": hasChildren ?? undefined,
173
183
  "aria-expanded": hasChildren ? submenuOpen : undefined,
174
184
  onClick: handleClick,
175
- onKeyDown: handleKeyDown
185
+ onKeyDown: handleKeyDown,
186
+ onKeyUp: handleKeyUp
176
187
  }, getReferenceProps()), /*#__PURE__*/React__default["default"].createElement("div", {
177
188
  className: `${prefix}--menu-item__selection-icon`
178
189
  }, rest['aria-checked'] && (_Checkmark || (_Checkmark = /*#__PURE__*/React__default["default"].createElement(iconsReact.Checkmark, null)))), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -105,12 +105,15 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
105
105
  return !onSecondarySubmit && element === secondaryButton.current || element.classList.contains(modalCloseButtonClass);
106
106
  }
107
107
  function handleKeyDown(evt) {
108
+ const {
109
+ target
110
+ } = evt;
108
111
  evt.stopPropagation();
109
112
  if (open) {
110
113
  if (match.match(evt, keys.Escape)) {
111
114
  onRequestClose(evt);
112
115
  }
113
- if (match.match(evt, keys.Enter) && shouldSubmitOnEnter && !isCloseButton(evt.target)) {
116
+ if (match.match(evt, keys.Enter) && shouldSubmitOnEnter && target instanceof Element && !isCloseButton(target) && document.activeElement !== button.current) {
114
117
  onRequestSubmit(evt);
115
118
  }
116
119
  if (focusTrapWithoutSentinels && !enableDialogElement && match.match(evt, keys.Tab) && innerModal.current) {
@@ -198,13 +201,13 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
198
201
  React.useEffect(() => {
199
202
  return () => {
200
203
  if (!enableDialogElement) {
201
- toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, false);
204
+ toggleClass.toggleClass(document.body, `${prefix}--body--with-modal-open`, false);
202
205
  }
203
206
  };
204
207
  }, [prefix, enableDialogElement]);
205
208
  React.useEffect(() => {
206
209
  if (!enableDialogElement) {
207
- toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, open ?? false);
210
+ toggleClass.toggleClass(document.body, `${prefix}--body--with-modal-open`, open ?? false);
208
211
  }
209
212
  }, [open, prefix, enableDialogElement]);
210
213
  React.useEffect(() => {
@@ -62,8 +62,8 @@ export default class ModalWrapper extends React.Component<ModalWrapperProps, Mod
62
62
  triggerButtonKind: PropTypes.Requireable<"primary" | "secondary" | "danger" | "ghost" | "danger--primary" | "danger--ghost" | "danger--tertiary" | "tertiary">;
63
63
  withHeader: PropTypes.Requireable<boolean>;
64
64
  };
65
- triggerButton: React.RefObject<HTMLButtonElement>;
66
- modal: React.RefObject<HTMLDivElement>;
65
+ triggerButton: React.RefObject<HTMLButtonElement | null>;
66
+ modal: React.RefObject<HTMLDivElement | null>;
67
67
  state: {
68
68
  isOpen: boolean;
69
69
  };
@@ -191,11 +191,11 @@ export interface FilterableMultiSelectProps<ItemType> extends MultiSelectSorting
191
191
  */
192
192
  warnText?: ReactNode;
193
193
  }
194
- declare const FilterableMultiSelect: {
195
- <ItemType>(props: FilterableMultiSelectProps<ItemType>): ReactElement;
194
+ export declare const FilterableMultiSelect: {
195
+ <ItemType>(props: FilterableMultiSelectProps<ItemType>): ReactElement<any>;
196
196
  propTypes?: any;
197
197
  contextTypes?: any;
198
198
  defaultProps?: any;
199
199
  displayName?: any;
200
200
  };
201
- export default FilterableMultiSelect;
201
+ export {};
@@ -73,7 +73,7 @@ const {
73
73
  * ends up just being defined as "string".)
74
74
  */
75
75
 
76
- const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function FilterableMultiSelect(_ref, ref) {
76
+ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableMultiSelect(_ref, ref) {
77
77
  let {
78
78
  autoAlign = false,
79
79
  className: containerClassName,
@@ -659,6 +659,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
659
659
  }, item)) : itemText)));
660
660
  }) : null)), !inline && !invalid && !warn ? helper : null);
661
661
  });
662
+ FilterableMultiSelect.displayName = 'FilterableMultiSelect';
662
663
  FilterableMultiSelect.propTypes = {
663
664
  /**
664
665
  * Deprecated, aria-label is no longer needed
@@ -812,4 +813,4 @@ FilterableMultiSelect.propTypes = {
812
813
  warnText: PropTypes__default["default"].node
813
814
  };
814
815
 
815
- exports["default"] = FilterableMultiSelect;
816
+ exports.FilterableMultiSelect = FilterableMultiSelect;
@@ -173,9 +173,5 @@ export interface MultiSelectProps<ItemType> extends MultiSelectSortingProps<Item
173
173
  */
174
174
  warnText?: ReactNode;
175
175
  }
176
- type MultiSelectComponentProps<ItemType> = React.PropsWithChildren<MultiSelectProps<ItemType>> & React.RefAttributes<HTMLButtonElement>;
177
- interface MultiSelectComponent {
178
- <ItemType>(props: MultiSelectComponentProps<ItemType>): React.ReactElement | null;
179
- }
180
- declare const _default: MultiSelectComponent;
181
- export default _default;
176
+ export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps<unknown> & React.RefAttributes<HTMLButtonElement>>;
177
+ export {};
@@ -435,7 +435,20 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
435
435
  const menuProps = React.useMemo(() => getMenuProps({
436
436
  ref: enableFloatingStyles ? refs.setFloating : null
437
437
  }), [enableFloatingStyles, getMenuProps, refs.setFloating]);
438
- const labelProps = ! /*#__PURE__*/React.isValidElement(titleText) ? getLabelProps() : null;
438
+ const allLabelProps = getLabelProps();
439
+ const labelProps = /*#__PURE__*/React.isValidElement(titleText) ? {
440
+ id: allLabelProps.id
441
+ } : allLabelProps;
442
+ const getSelectionStats = React.useCallback((selectedItems, filteredItems) => {
443
+ const hasIndividualSelections = selectedItems.some(selected => !selected.isSelectAll);
444
+ const nonSelectAllSelectedCount = selectedItems.filter(selected => !selected.isSelectAll).length;
445
+ const totalSelectableCount = filteredItems.filter(item => !item.isSelectAll && !item.disabled).length;
446
+ return {
447
+ hasIndividualSelections,
448
+ nonSelectAllSelectedCount,
449
+ totalSelectableCount
450
+ };
451
+ }, [selectedItems, filteredItems]);
439
452
  return /*#__PURE__*/React__default["default"].createElement("div", {
440
453
  className: wrapperClasses
441
454
  }, /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
@@ -489,7 +502,12 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
489
502
  className: `${prefix}--list-box__inner-wrapper--decorator`
490
503
  }, normalizedDecorator) : ''), /*#__PURE__*/React__default["default"].createElement(index$1["default"].Menu, menuProps, isOpen && sortItems(filteredItems, sortOptions).map((item, index) => {
491
504
  const isChecked = selectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
492
- const isIndeterminate = selectedItems.length !== 0 && item['isSelectAll'] && !isChecked;
505
+ const {
506
+ hasIndividualSelections,
507
+ nonSelectAllSelectedCount,
508
+ totalSelectableCount
509
+ } = getSelectionStats(selectedItems, filteredItems);
510
+ const isIndeterminate = item['isSelectAll'] && hasIndividualSelections && nonSelectAllSelectedCount < totalSelectableCount;
493
511
  const itemProps = getItemProps({
494
512
  item,
495
513
  // we don't want Downshift to set aria-selected for us
@@ -712,4 +730,4 @@ MultiSelect.propTypes = {
712
730
  warnText: PropTypes__default["default"].node
713
731
  };
714
732
 
715
- exports["default"] = MultiSelect;
733
+ exports.MultiSelect = MultiSelect;
@@ -4,7 +4,5 @@
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import MultiSelect from './MultiSelect';
8
- import { default as FilterableMultiSelect } from './FilterableMultiSelect';
9
- export { FilterableMultiSelect, MultiSelect };
10
- export default MultiSelect;
7
+ export * from './FilterableMultiSelect';
8
+ export * from './MultiSelect';
@@ -21,6 +21,7 @@ var deprecate = require('../../prop-types/deprecate.js');
21
21
  require('../FluidForm/FluidForm.js');
22
22
  var FormContext = require('../FluidForm/FormContext.js');
23
23
  require('../Text/index.js');
24
+ var clamp = require('../../internal/clamp.js');
24
25
  var Text = require('../Text/Text.js');
25
26
 
26
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -183,7 +184,7 @@ const NumberInput = /*#__PURE__*/React__default["default"].forwardRef(function N
183
184
  const rawValue = direction === 'up' ? currentValue + step : currentValue - step;
184
185
  const precision = Math.max(getDecimalPlaces(currentValue), getDecimalPlaces(step));
185
186
  const floatValue = parseFloat(rawValue.toFixed(precision));
186
- const newValue = typeof min !== 'undefined' && typeof max !== 'undefined' ? Math.min(Math.max(floatValue, min), max) : floatValue;
187
+ const newValue = clamp.clamp(floatValue, min ?? -Infinity, max ?? Infinity);
187
188
  const state = {
188
189
  value: allowEmpty && inputRef.current.value === '' && step === 0 ? '' : newValue,
189
190
  direction
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import React, { type ElementType, type ReactNode, type Ref } from 'react';
8
8
  import { type MenuDirection, type MenuOffset } from '../../internal/FloatingMenu';
9
+ import { PopoverAlignment } from '../Popover';
9
10
  /**
10
11
  * Calculates the offset for the floating menu.
11
12
  *
@@ -16,6 +17,10 @@ import { type MenuDirection, type MenuOffset } from '../../internal/FloatingMenu
16
17
  */
17
18
  export declare const getMenuOffset: MenuOffset;
18
19
  export interface OverflowMenuProps {
20
+ /**
21
+ * Specify how the trigger tooltip should be aligned.
22
+ */
23
+ align?: PopoverAlignment;
19
24
  /**
20
25
  * Specify a label to be read by screen readers on the container node
21
26
  */
@@ -105,7 +110,8 @@ export interface OverflowMenuProps {
105
110
  */
106
111
  size?: 'sm' | 'md' | 'lg';
107
112
  /**
108
- * The ref to the HTML element that should receive focus when the OverflowMenu opens
113
+ * The ref to the overflow menu's trigger button element.
114
+ * @deprecated Use the standard React `ref` prop instead.
109
115
  */
110
116
  innerRef?: Ref<any>;
111
117
  }