@carbon/react 1.78.2 → 1.79.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 (249) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +835 -835
  2. package/es/components/Accordion/AccordionItem.js +2 -2
  3. package/es/components/Button/Button.d.ts +2 -3
  4. package/es/components/Button/Button.js +29 -19
  5. package/es/components/Button/ButtonBase.js +3 -1
  6. package/es/components/ChatButton/ChatButton.d.ts +2 -3
  7. package/es/components/ChatButton/ChatButton.js +1 -2
  8. package/es/components/ComboBox/ComboBox.js +34 -24
  9. package/es/components/ComposedModal/ComposedModal.js +65 -51
  10. package/es/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +2 -2
  11. package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +1 -1
  12. package/es/components/ContentSwitcher/ContentSwitcher.js +3 -3
  13. package/es/components/DataTable/TableBatchAction.d.ts +3 -3
  14. package/es/components/DataTable/TableBatchAction.js +1 -1
  15. package/es/components/DataTable/TableContainer.d.ts +1 -1
  16. package/es/components/DataTable/TableContainer.js +5 -4
  17. package/es/components/DataTable/TableExpandHeader.d.ts +6 -5
  18. package/es/components/DataTable/TableToolbarMenu.d.ts +2 -2
  19. package/es/components/DataTable/TableToolbarMenu.js +1 -1
  20. package/es/components/DatePicker/DatePicker.js +2 -2
  21. package/es/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
  22. package/es/components/Dialog/index.d.ts +42 -4
  23. package/es/components/Dialog/index.js +177 -0
  24. package/es/components/ExpandableSearch/ExpandableSearch.js +2 -2
  25. package/es/components/FeatureFlags/index.d.ts +3 -1
  26. package/es/components/FeatureFlags/index.js +3 -0
  27. package/es/components/FileUploader/FileUploader.d.ts +1 -1
  28. package/es/components/FileUploader/FileUploader.js +2 -2
  29. package/es/components/FileUploader/FileUploaderButton.js +2 -2
  30. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  31. package/es/components/FileUploader/FileUploaderDropContainer.js +6 -4
  32. package/es/components/FileUploader/FileUploaderItem.d.ts +1 -1
  33. package/es/components/FileUploader/FileUploaderItem.js +2 -2
  34. package/es/components/Grid/CSSGrid.js +18 -14
  35. package/es/components/Grid/Column.d.ts +2 -2
  36. package/es/components/Grid/Column.js +7 -8
  37. package/es/components/Grid/FlexGrid.js +7 -6
  38. package/es/components/Grid/GridTypes.d.ts +5 -3
  39. package/es/components/IconButton/index.d.ts +2 -2
  40. package/es/components/IconButton/index.js +4 -4
  41. package/es/components/Layer/index.d.ts +4 -6
  42. package/es/components/Layer/index.js +5 -6
  43. package/es/components/Link/Link.d.ts +2 -3
  44. package/es/components/Link/Link.js +1 -2
  45. package/es/components/ListBox/ListBoxMenuItem.d.ts +3 -3
  46. package/es/components/ListBox/ListBoxMenuItem.js +37 -15
  47. package/es/components/Menu/Menu.js +2 -2
  48. package/es/components/Menu/MenuItem.d.ts +2 -2
  49. package/es/components/Menu/MenuItem.js +3 -3
  50. package/es/components/Modal/Modal.js +121 -49
  51. package/es/components/ModalWrapper/ModalWrapper.js +1 -1
  52. package/es/components/MultiSelect/FilterableMultiSelect.js +3 -3
  53. package/es/components/MultiSelect/MultiSelect.js +2 -2
  54. package/es/components/MultiSelect/index.d.ts +1 -1
  55. package/es/components/MultiSelect/index.js +1 -8
  56. package/es/components/Notification/Notification.d.ts +5 -13
  57. package/es/components/Notification/Notification.js +3 -4
  58. package/es/components/OverflowMenu/OverflowMenu.d.ts +22 -201
  59. package/es/components/OverflowMenu/OverflowMenu.js +269 -338
  60. package/es/components/OverflowMenu/index.d.ts +5 -5
  61. package/es/components/OverflowMenu/index.js +2 -2
  62. package/es/components/OverflowMenu/next/index.d.ts +4 -4
  63. package/es/components/OverflowMenu/next/index.js +1 -1
  64. package/es/components/OverflowMenuItem/OverflowMenuItem.js +2 -2
  65. package/es/components/ProgressIndicator/ProgressIndicator.js +2 -2
  66. package/es/components/RadioTile/RadioTile.js +2 -2
  67. package/es/components/Search/Search.d.ts +2 -3
  68. package/es/components/Search/Search.js +4 -6
  69. package/es/components/Slider/Slider.d.ts +39 -44
  70. package/es/components/Slider/Slider.js +57 -59
  71. package/es/components/Tabs/Tabs.d.ts +3 -6
  72. package/es/components/Tabs/Tabs.js +16 -18
  73. package/es/components/Tag/DismissibleTag.d.ts +3 -5
  74. package/es/components/Tag/DismissibleTag.js +1 -2
  75. package/es/components/Tag/OperationalTag.d.ts +2 -3
  76. package/es/components/Tag/OperationalTag.js +1 -2
  77. package/es/components/Tag/SelectableTag.d.ts +3 -5
  78. package/es/components/Tag/SelectableTag.js +1 -2
  79. package/es/components/Tag/Tag.d.ts +2 -3
  80. package/es/components/Tag/Tag.js +1 -2
  81. package/es/components/Tile/Tile.d.ts +3 -5
  82. package/es/components/Tile/Tile.js +16 -10
  83. package/es/components/Toggletip/index.js +2 -2
  84. package/es/components/Tooltip/DefinitionTooltip.js +2 -2
  85. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  86. package/es/components/Tooltip/Tooltip.js +2 -2
  87. package/es/components/TreeView/TreeNode.d.ts +3 -5
  88. package/es/components/TreeView/TreeNode.js +3 -4
  89. package/es/components/TreeView/TreeView.js +2 -2
  90. package/es/components/UIShell/HeaderContainer.js +2 -2
  91. package/es/components/UIShell/HeaderMenu.js +2 -2
  92. package/es/components/UIShell/HeaderPanel.js +2 -2
  93. package/es/components/UIShell/SideNav.d.ts +1 -1
  94. package/es/components/UIShell/SideNav.js +2 -2
  95. package/es/components/UIShell/SideNavHeader.d.ts +2 -3
  96. package/es/components/UIShell/SideNavHeader.js +1 -2
  97. package/es/components/UIShell/SideNavLink.d.ts +2 -2
  98. package/es/components/UIShell/SideNavLink.js +1 -1
  99. package/es/components/UIShell/SideNavMenu.d.ts +2 -2
  100. package/es/components/UIShell/SideNavMenu.js +3 -3
  101. package/es/components/UIShell/SwitcherItem.js +2 -2
  102. package/es/index.js +1 -1
  103. package/es/internal/FloatingMenu.d.ts +2 -2
  104. package/es/internal/FloatingMenu.js +8 -5
  105. package/es/internal/OptimizedResize.d.ts +18 -0
  106. package/es/internal/OptimizedResize.js +21 -24
  107. package/es/internal/createClassWrapper.d.ts +3 -3
  108. package/es/internal/createClassWrapper.js +4 -4
  109. package/es/internal/keyboard/index.d.ts +9 -0
  110. package/es/internal/keyboard/keys.d.ts +23 -0
  111. package/es/internal/keyboard/keys.js +2 -2
  112. package/es/internal/keyboard/match.d.ts +26 -0
  113. package/es/internal/keyboard/match.js +17 -41
  114. package/es/internal/keyboard/navigation.d.ts +37 -0
  115. package/es/internal/keyboard/navigation.js +15 -27
  116. package/es/internal/useMatchMedia.d.ts +8 -0
  117. package/es/internal/useMatchMedia.js +10 -20
  118. package/es/internal/useMergedRefs.js +3 -0
  119. package/es/internal/useNormalizedInputProps.d.ts +52 -0
  120. package/es/internal/useNormalizedInputProps.js +9 -36
  121. package/lib/components/Accordion/AccordionItem.js +2 -2
  122. package/lib/components/Button/Button.d.ts +2 -3
  123. package/lib/components/Button/Button.js +29 -19
  124. package/lib/components/Button/ButtonBase.js +3 -1
  125. package/lib/components/ChatButton/ChatButton.d.ts +2 -3
  126. package/lib/components/ChatButton/ChatButton.js +1 -2
  127. package/lib/components/ComboBox/ComboBox.js +34 -24
  128. package/lib/components/ComposedModal/ComposedModal.js +64 -50
  129. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +2 -2
  130. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +1 -1
  131. package/lib/components/ContentSwitcher/ContentSwitcher.js +3 -3
  132. package/lib/components/DataTable/TableBatchAction.d.ts +3 -3
  133. package/lib/components/DataTable/TableBatchAction.js +1 -1
  134. package/lib/components/DataTable/TableContainer.d.ts +1 -1
  135. package/lib/components/DataTable/TableContainer.js +5 -4
  136. package/lib/components/DataTable/TableExpandHeader.d.ts +6 -5
  137. package/lib/components/DataTable/TableToolbarMenu.d.ts +2 -2
  138. package/lib/components/DataTable/TableToolbarMenu.js +1 -1
  139. package/lib/components/DatePicker/DatePicker.js +2 -2
  140. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
  141. package/lib/components/Dialog/index.d.ts +42 -4
  142. package/lib/components/Dialog/index.js +190 -0
  143. package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
  144. package/lib/components/FeatureFlags/index.d.ts +3 -1
  145. package/lib/components/FeatureFlags/index.js +3 -0
  146. package/lib/components/FileUploader/FileUploader.d.ts +1 -1
  147. package/lib/components/FileUploader/FileUploader.js +2 -2
  148. package/lib/components/FileUploader/FileUploaderButton.js +2 -2
  149. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  150. package/lib/components/FileUploader/FileUploaderDropContainer.js +6 -4
  151. package/lib/components/FileUploader/FileUploaderItem.d.ts +1 -1
  152. package/lib/components/FileUploader/FileUploaderItem.js +2 -2
  153. package/lib/components/Grid/CSSGrid.js +18 -14
  154. package/lib/components/Grid/Column.d.ts +2 -2
  155. package/lib/components/Grid/Column.js +7 -8
  156. package/lib/components/Grid/FlexGrid.js +7 -6
  157. package/lib/components/Grid/GridTypes.d.ts +5 -3
  158. package/lib/components/IconButton/index.d.ts +2 -2
  159. package/lib/components/IconButton/index.js +4 -4
  160. package/lib/components/Layer/index.d.ts +4 -6
  161. package/lib/components/Layer/index.js +5 -6
  162. package/lib/components/Link/Link.d.ts +2 -3
  163. package/lib/components/Link/Link.js +1 -2
  164. package/lib/components/ListBox/ListBoxMenuItem.d.ts +3 -3
  165. package/lib/components/ListBox/ListBoxMenuItem.js +36 -14
  166. package/lib/components/Menu/Menu.js +2 -2
  167. package/lib/components/Menu/MenuItem.d.ts +2 -2
  168. package/lib/components/Menu/MenuItem.js +3 -3
  169. package/lib/components/Modal/Modal.js +123 -51
  170. package/lib/components/ModalWrapper/ModalWrapper.js +1 -1
  171. package/lib/components/MultiSelect/FilterableMultiSelect.js +3 -3
  172. package/lib/components/MultiSelect/MultiSelect.js +2 -2
  173. package/lib/components/MultiSelect/index.d.ts +1 -1
  174. package/lib/components/MultiSelect/index.js +1 -8
  175. package/lib/components/Notification/Notification.d.ts +5 -13
  176. package/lib/components/Notification/Notification.js +3 -4
  177. package/lib/components/OverflowMenu/OverflowMenu.d.ts +22 -201
  178. package/lib/components/OverflowMenu/OverflowMenu.js +268 -336
  179. package/lib/components/OverflowMenu/index.d.ts +5 -5
  180. package/lib/components/OverflowMenu/index.js +2 -2
  181. package/lib/components/OverflowMenu/next/index.d.ts +4 -4
  182. package/lib/components/OverflowMenu/next/index.js +1 -1
  183. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +2 -2
  184. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -2
  185. package/lib/components/RadioTile/RadioTile.js +2 -2
  186. package/lib/components/Search/Search.d.ts +2 -3
  187. package/lib/components/Search/Search.js +4 -6
  188. package/lib/components/Slider/Slider.d.ts +39 -44
  189. package/lib/components/Slider/Slider.js +57 -59
  190. package/lib/components/Tabs/Tabs.d.ts +3 -6
  191. package/lib/components/Tabs/Tabs.js +16 -18
  192. package/lib/components/Tag/DismissibleTag.d.ts +3 -5
  193. package/lib/components/Tag/DismissibleTag.js +1 -2
  194. package/lib/components/Tag/OperationalTag.d.ts +2 -3
  195. package/lib/components/Tag/OperationalTag.js +1 -2
  196. package/lib/components/Tag/SelectableTag.d.ts +3 -5
  197. package/lib/components/Tag/SelectableTag.js +1 -2
  198. package/lib/components/Tag/Tag.d.ts +2 -3
  199. package/lib/components/Tag/Tag.js +1 -2
  200. package/lib/components/Tile/Tile.d.ts +3 -5
  201. package/lib/components/Tile/Tile.js +16 -10
  202. package/lib/components/Toggletip/index.js +2 -2
  203. package/lib/components/Tooltip/DefinitionTooltip.js +2 -2
  204. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  205. package/lib/components/Tooltip/Tooltip.js +2 -2
  206. package/lib/components/TreeView/TreeNode.d.ts +3 -5
  207. package/lib/components/TreeView/TreeNode.js +3 -4
  208. package/lib/components/TreeView/TreeView.js +2 -2
  209. package/lib/components/UIShell/HeaderContainer.js +2 -2
  210. package/lib/components/UIShell/HeaderMenu.js +2 -2
  211. package/lib/components/UIShell/HeaderPanel.js +2 -2
  212. package/lib/components/UIShell/SideNav.d.ts +1 -1
  213. package/lib/components/UIShell/SideNav.js +2 -2
  214. package/lib/components/UIShell/SideNavHeader.d.ts +2 -3
  215. package/lib/components/UIShell/SideNavHeader.js +1 -2
  216. package/lib/components/UIShell/SideNavLink.d.ts +2 -2
  217. package/lib/components/UIShell/SideNavLink.js +1 -1
  218. package/lib/components/UIShell/SideNavMenu.d.ts +2 -2
  219. package/lib/components/UIShell/SideNavMenu.js +3 -3
  220. package/lib/components/UIShell/SwitcherItem.js +2 -2
  221. package/lib/index.js +2 -2
  222. package/lib/internal/FloatingMenu.d.ts +2 -2
  223. package/lib/internal/FloatingMenu.js +9 -6
  224. package/lib/internal/OptimizedResize.d.ts +18 -0
  225. package/lib/internal/OptimizedResize.js +21 -24
  226. package/lib/internal/createClassWrapper.d.ts +3 -3
  227. package/lib/internal/createClassWrapper.js +4 -4
  228. package/lib/internal/keyboard/index.d.ts +9 -0
  229. package/lib/internal/keyboard/keys.d.ts +23 -0
  230. package/lib/internal/keyboard/keys.js +2 -2
  231. package/lib/internal/keyboard/match.d.ts +26 -0
  232. package/lib/internal/keyboard/match.js +17 -41
  233. package/lib/internal/keyboard/navigation.d.ts +37 -0
  234. package/lib/internal/keyboard/navigation.js +15 -27
  235. package/lib/internal/useMatchMedia.d.ts +8 -0
  236. package/lib/internal/useMatchMedia.js +10 -20
  237. package/lib/internal/useMergedRefs.js +3 -0
  238. package/lib/internal/useNormalizedInputProps.d.ts +52 -0
  239. package/lib/internal/useNormalizedInputProps.js +9 -36
  240. package/package.json +6 -6
  241. package/scss/components/dialog/_dialog.scss +9 -0
  242. package/scss/components/dialog/_index.scss +9 -0
  243. package/telemetry.yml +1 -0
  244. package/es/components/Modal/next/index.d.ts +0 -171
  245. package/es/internal/focus/index.js +0 -15
  246. package/es/internal/useEffectOnce.js +0 -30
  247. package/lib/components/Modal/next/index.d.ts +0 -171
  248. package/lib/internal/focus/index.js +0 -19
  249. package/lib/internal/useEffectOnce.js +0 -34
@@ -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.
@@ -30,8 +30,7 @@ export interface DismissibleTagBaseProps {
30
30
  */
31
31
  onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
32
32
  /**
33
- * Optional prop to render a custom icon.
34
- * Can be a React component class
33
+ * A component used to render an icon.
35
34
  */
36
35
  renderIcon?: React.ElementType;
37
36
  /**
@@ -86,8 +85,7 @@ declare const DismissibleTag: {
86
85
  */
87
86
  onClose: PropTypes.Requireable<(...args: any[]) => any>;
88
87
  /**
89
- * Optional prop to render a custom icon.
90
- * Can be a React component class
88
+ * A component used to render an icon.
91
89
  */
92
90
  renderIcon: PropTypes.Requireable<object>;
93
91
  /**
@@ -129,8 +129,7 @@ DismissibleTag.propTypes = {
129
129
  */
130
130
  onClose: PropTypes__default["default"].func,
131
131
  /**
132
- * Optional prop to render a custom icon.
133
- * Can be a React component class
132
+ * A component used to render an icon.
134
133
  */
135
134
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
136
135
  /**
@@ -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.
@@ -33,8 +33,7 @@ export interface OperationalTagBaseProps {
33
33
  */
34
34
  id?: string;
35
35
  /**
36
- * Optional prop to render a custom icon.
37
- * Can be a React component class
36
+ * A component used to render an icon.
38
37
  */
39
38
  renderIcon?: React.ElementType;
40
39
  onClick?: MouseEventHandler;
@@ -111,8 +111,7 @@ OperationalTag.propTypes = {
111
111
  */
112
112
  id: PropTypes__default["default"].string,
113
113
  /**
114
- * Optional prop to render a custom icon.
115
- * Can be a React component class
114
+ * A component used to render an icon.
116
115
  */
117
116
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
118
117
  /**
@@ -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.
@@ -22,8 +22,7 @@ export interface SelectableTagBaseProps {
22
22
  */
23
23
  id?: string;
24
24
  /**
25
- * Optional prop to render a custom icon.
26
- * Can be a React component class
25
+ * A component used to render an icon.
27
26
  */
28
27
  renderIcon?: React.ElementType;
29
28
  /**
@@ -65,8 +64,7 @@ declare const SelectableTag: {
65
64
  */
66
65
  id: PropTypes.Requireable<string>;
67
66
  /**
68
- * Optional prop to render a custom icon.
69
- * Can be a React component class
67
+ * A component used to render an icon.
70
68
  */
71
69
  renderIcon: PropTypes.Requireable<object>;
72
70
  /**
@@ -108,8 +108,7 @@ SelectableTag.propTypes = {
108
108
  */
109
109
  id: PropTypes__default["default"].string,
110
110
  /**
111
- * Optional prop to render a custom icon.
112
- * Can be a React component class
111
+ * A component used to render an icon.
113
112
  */
114
113
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
115
114
  /**
@@ -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.
@@ -58,8 +58,7 @@ export interface TagBaseProps {
58
58
  */
59
59
  onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
60
60
  /**
61
- * Optional prop to render a custom icon.
62
- * Can be a React component class
61
+ * A component used to render an icon.
63
62
  */
64
63
  renderIcon?: React.ElementType;
65
64
  /**
@@ -186,8 +186,7 @@ Tag.propTypes = {
186
186
  */
187
187
  onClose: deprecate["default"](PropTypes__default["default"].func, 'The `onClose` prop has been deprecated and will be removed in the next major version. Use DismissibleTag instead.'),
188
188
  /**
189
- * Optional prop to render a custom icon.
190
- * Can be a React component class
189
+ * A component used to render an icon.
191
190
  */
192
191
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
193
192
  /**
@@ -4,7 +4,7 @@
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 React, { type ReactNode, type MouseEvent, type KeyboardEvent, type HTMLAttributes, type ChangeEvent, type ComponentType } from 'react';
7
+ import React, { type ReactNode, type MouseEvent, type KeyboardEvent, type HTMLAttributes, type ChangeEvent } from 'react';
8
8
  export interface TileProps extends HTMLAttributes<HTMLDivElement> {
9
9
  children?: ReactNode;
10
10
  className?: string;
@@ -53,11 +53,9 @@ export interface ClickableTileProps extends HTMLAttributes<HTMLAnchorElement> {
53
53
  */
54
54
  href?: string;
55
55
  /**
56
- * Optional prop to allow overriding the icon rendering.
56
+ * A component used to render an icon.
57
57
  */
58
- renderIcon?: ComponentType<{
59
- className?: string;
60
- }>;
58
+ renderIcon?: React.ElementType;
61
59
  /**
62
60
  * Specify the function to run when the ClickableTile is clicked
63
61
  */
@@ -15,6 +15,8 @@ var PropTypes = require('prop-types');
15
15
  var cx = require('classnames');
16
16
  var iconsReact = require('@carbon/icons-react');
17
17
  var Link = require('../Link/Link.js');
18
+ var keys = require('../../internal/keyboard/keys.js');
19
+ var match = require('../../internal/keyboard/match.js');
18
20
  var deprecate = require('../../prop-types/deprecate.js');
19
21
  var events = require('../../tools/events.js');
20
22
  var usePrefix = require('../../internal/usePrefix.js');
@@ -24,9 +26,7 @@ var useMergedRefs = require('../../internal/useMergedRefs.js');
24
26
  var index = require('../FeatureFlags/index.js');
25
27
  var useId = require('../../internal/useId.js');
26
28
  require('../Text/index.js');
27
- var match = require('../../internal/keyboard/match.js');
28
29
  var Text = require('../Text/Text.js');
29
- var keys = require('../../internal/keyboard/keys.js');
30
30
 
31
31
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
32
32
 
@@ -211,8 +211,7 @@ ClickableTile.propTypes = {
211
211
  */
212
212
  rel: PropTypes__default["default"].string,
213
213
  /**
214
- * Optional prop to allow overriding the icon rendering.
215
- * Can be a React component class
214
+ * A component used to render an icon.
216
215
  */
217
216
  // @ts-expect-error: Invalid derived prop type, seemingly no real solution.
218
217
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object])
@@ -255,22 +254,29 @@ const SelectableTile = /*#__PURE__*/React__default["default"].forwardRef(functio
255
254
  if (normalizedDecorator && decoratorRef.current && decoratorRef.current.contains(evt.target)) {
256
255
  return;
257
256
  }
258
- setIsSelected(!isSelected);
257
+ setIsSelected(prevSelected => {
258
+ const newSelected = !prevSelected;
259
+ onChange(evt, newSelected, id);
260
+ return newSelected;
261
+ });
259
262
  clickHandler(evt);
260
- onChange(evt, isSelected, id);
261
263
  }
262
264
  function handleKeyDown(evt) {
263
265
  evt?.persist?.();
264
266
  if (match.matches(evt, [keys.Enter, keys.Space])) {
265
267
  evt.preventDefault();
266
- setIsSelected(!isSelected);
267
- onChange(evt, isSelected, id);
268
+ setIsSelected(prevSelected => {
269
+ const newSelected = !prevSelected;
270
+ onChange(evt, newSelected, id);
271
+ return newSelected;
272
+ });
268
273
  }
269
274
  keyDownHandler(evt);
270
275
  }
271
276
  function handleChange(event) {
272
- setIsSelected(event.target.checked);
273
- onChange(event, isSelected, id);
277
+ const newSelected = event.target.checked;
278
+ setIsSelected(newSelected);
279
+ onChange(event, newSelected, id);
274
280
  }
275
281
  if (selected !== prevSelected) {
276
282
  setIsSelected(selected);
@@ -14,11 +14,11 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var index = require('../Popover/index.js');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var useEvent = require('../../internal/useEvent.js');
18
20
  var useId = require('../../internal/useId.js');
19
21
  var usePrefix = require('../../internal/usePrefix.js');
20
- var match = require('../../internal/keyboard/match.js');
21
- var keys = require('../../internal/keyboard/keys.js');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
24
 
@@ -14,11 +14,11 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var index = require('../Popover/index.js');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var useId = require('../../internal/useId.js');
18
20
  var usePrefix = require('../../internal/usePrefix.js');
19
21
  var deprecate = require('../../prop-types/deprecate.js');
20
- var match = require('../../internal/keyboard/match.js');
21
- var keys = require('../../internal/keyboard/keys.js');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
24
 
@@ -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.
@@ -14,13 +14,13 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var index = require('../Popover/index.js');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var useDelayedState = require('../../internal/useDelayedState.js');
18
20
  var useId = require('../../internal/useId.js');
19
21
  var useNoInteractiveChildren = require('../../internal/useNoInteractiveChildren.js');
20
22
  var usePrefix = require('../../internal/usePrefix.js');
21
23
  var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
22
- var match = require('../../internal/keyboard/match.js');
23
- var keys = require('../../internal/keyboard/keys.js');
24
24
 
25
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
26
 
@@ -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.
@@ -62,8 +62,7 @@ export type TreeNodeProps = {
62
62
  */
63
63
  onTreeSelect?: (event: React.MouseEvent, node?: TreeNodeProps) => void;
64
64
  /**
65
- * Optional prop to allow each node to have an associated icon.
66
- * Can be a React component class
65
+ * A component used to render an icon.
67
66
  */
68
67
  renderIcon?: ComponentType | FunctionComponent;
69
68
  /**
@@ -137,8 +136,7 @@ declare const TreeNode: React.ForwardRefExoticComponent<{
137
136
  */
138
137
  onTreeSelect?: (event: React.MouseEvent, node?: TreeNodeProps) => void;
139
138
  /**
140
- * Optional prop to allow each node to have an associated icon.
141
- * Can be a React component class
139
+ * A component used to render an icon.
142
140
  */
143
141
  renderIcon?: ComponentType | FunctionComponent;
144
142
  /**
@@ -14,12 +14,12 @@ var iconsReact = require('@carbon/icons-react');
14
14
  var cx = require('classnames');
15
15
  var PropTypes = require('prop-types');
16
16
  var React = require('react');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var useControllableState = require('../../internal/useControllableState.js');
18
20
  var usePrefix = require('../../internal/usePrefix.js');
19
21
  var uniqueId = require('../../tools/uniqueId.js');
20
22
  var index = require('../FeatureFlags/index.js');
21
- var match = require('../../internal/keyboard/match.js');
22
- var keys = require('../../internal/keyboard/keys.js');
23
23
 
24
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
25
 
@@ -410,8 +410,7 @@ TreeNode.propTypes = {
410
410
  */
411
411
  onTreeSelect: PropTypes__default["default"].func,
412
412
  /**
413
- * Optional prop to allow each node to have an associated icon.
414
- * Can be a React component class
413
+ * A component used to render an icon.
415
414
  */
416
415
  // @ts-ignore
417
416
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
@@ -13,13 +13,13 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
+ var keys = require('../../internal/keyboard/keys.js');
17
+ var match = require('../../internal/keyboard/match.js');
16
18
  var useControllableState = require('../../internal/useControllableState.js');
17
19
  var usePrefix = require('../../internal/usePrefix.js');
18
20
  var uniqueId = require('../../tools/uniqueId.js');
19
21
  var index = require('../FeatureFlags/index.js');
20
22
  var TreeNode = require('./TreeNode.js');
21
- var match = require('../../internal/keyboard/match.js');
22
- var keys = require('../../internal/keyboard/keys.js');
23
23
 
24
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
25
 
@@ -12,9 +12,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var PropTypes = require('prop-types');
14
14
  var React = require('react');
15
- var useEvent = require('../../internal/useEvent.js');
16
- var match = require('../../internal/keyboard/match.js');
17
15
  var keys = require('../../internal/keyboard/keys.js');
16
+ var match = require('../../internal/keyboard/match.js');
17
+ var useEvent = require('../../internal/useEvent.js');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
20
 
@@ -14,12 +14,12 @@ var iconsReact = require('@carbon/icons-react');
14
14
  var cx = require('classnames');
15
15
  var React = require('react');
16
16
  var PropTypes = require('prop-types');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
18
20
  var usePrefix = require('../../internal/usePrefix.js');
19
21
  var deprecate = require('../../prop-types/deprecate.js');
20
22
  var events = require('../../tools/events.js');
21
- var match = require('../../internal/keyboard/match.js');
22
- var keys = require('../../internal/keyboard/keys.js');
23
23
 
24
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
25
 
@@ -14,10 +14,10 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var usePrefix = require('../../internal/usePrefix.js');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var useEvent = require('../../internal/useEvent.js');
18
20
  var useMergedRefs = require('../../internal/useMergedRefs.js');
19
- var match = require('../../internal/keyboard/match.js');
20
- var keys = require('../../internal/keyboard/keys.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
@@ -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.
@@ -16,13 +16,13 @@ var PropTypes = require('prop-types');
16
16
  var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
17
17
  var _utils = require('./_utils.js');
18
18
  var usePrefix = require('../../internal/usePrefix.js');
19
+ var keys = require('../../internal/keyboard/keys.js');
20
+ var match = require('../../internal/keyboard/match.js');
19
21
  var useMergedRefs = require('../../internal/useMergedRefs.js');
20
22
  var useEvent = require('../../internal/useEvent.js');
21
23
  var useDelayedState = require('../../internal/useDelayedState.js');
22
24
  var layout = require('@carbon/layout');
23
25
  var useMatchMedia = require('../../internal/useMatchMedia.js');
24
- var match = require('../../internal/keyboard/match.js');
25
- var keys = require('../../internal/keyboard/keys.js');
26
26
 
27
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
28
 
@@ -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.
@@ -20,8 +20,7 @@ export interface SideNavHeaderProps {
20
20
  */
21
21
  isSideNavExpanded?: boolean;
22
22
  /**
23
- * Provide an icon to render in the header of the side navigation. Should be
24
- * a React class.
23
+ * A component used to render an icon.
25
24
  */
26
25
  renderIcon: React.ComponentType;
27
26
  }
@@ -49,8 +49,7 @@ SideNavHeader.propTypes = {
49
49
  */
50
50
  isSideNavExpanded: PropTypes__default["default"].bool,
51
51
  /**
52
- * Provide an icon to render in the header of the side navigation. Should be
53
- * a React class.
52
+ * A component used to render an icon.
54
53
  */
55
54
  // @ts-expect-error - PropTypes are unable to cover this case.
56
55
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]).isRequired
@@ -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.
@@ -37,7 +37,7 @@ export type SideNavLinkProps<E extends ElementType> = LinkProps<E> & {
37
37
  */
38
38
  large?: boolean;
39
39
  /**
40
- * Provide an icon to render in the side navigation link. Should be a React class.
40
+ * A component used to render an icon.
41
41
  */
42
42
  renderIcon?: ComponentType;
43
43
  /**
@@ -79,7 +79,7 @@ SideNavLink.propTypes = {
79
79
  */
80
80
  large: PropTypes__default["default"].bool,
81
81
  /**
82
- * Provide an icon to render in the side navigation link. Should be a React class.
82
+ * A component used to render an icon.
83
83
  */
84
84
  // @ts-expect-error - PropTypes are unable to cover this case.
85
85
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
@@ -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.
@@ -27,7 +27,7 @@ export interface SideNavMenuProps {
27
27
  */
28
28
  large?: boolean;
29
29
  /**
30
- * A custom icon to render next to the SideNavMenu title. This can be a function returning JSX or JSX itself.
30
+ * A component used to render an icon.
31
31
  */
32
32
  renderIcon?: React.ComponentType;
33
33
  /**
@@ -14,10 +14,10 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var SideNavIcon = require('./SideNavIcon.js');
17
+ var keys = require('../../internal/keyboard/keys.js');
18
+ var match = require('../../internal/keyboard/match.js');
17
19
  var usePrefix = require('../../internal/usePrefix.js');
18
20
  var SideNav = require('./SideNav.js');
19
- var match = require('../../internal/keyboard/match.js');
20
- var keys = require('../../internal/keyboard/keys.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
@@ -120,7 +120,7 @@ SideNavMenu.propTypes = {
120
120
  */
121
121
  large: PropTypes__default["default"].bool,
122
122
  /**
123
- * Pass in a custom icon to render next to the `SideNavMenu` title
123
+ * A component used to render an icon.
124
124
  */
125
125
  // @ts-expect-error - PropTypes are unable to cover this case.
126
126
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
@@ -15,9 +15,9 @@ var cx = require('classnames');
15
15
  var PropTypes = require('prop-types');
16
16
  var Link = require('./Link.js');
17
17
  var usePrefix = require('../../internal/usePrefix.js');
18
- var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
19
- var match = require('../../internal/keyboard/match.js');
20
18
  var keys = require('../../internal/keyboard/keys.js');
19
+ var match = require('../../internal/keyboard/match.js');
20
+ var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
package/lib/index.js CHANGED
@@ -211,6 +211,7 @@ var PageSelector = require('./components/Pagination/experimental/PageSelector.js
211
211
  var Pagination = require('./components/Pagination/experimental/Pagination.js');
212
212
  var ContainedListItem = require('./components/ContainedList/ContainedListItem/ContainedListItem.js');
213
213
  var ContainedList = require('./components/ContainedList/ContainedList.js');
214
+ var MultiSelect = require('./components/MultiSelect/MultiSelect.js');
214
215
  var Slider_Skeleton = require('./components/Slider/Slider.Skeleton.js');
215
216
  var TextInput_Skeleton = require('./components/TextInput/TextInput.Skeleton.js');
216
217
  var TextInput = require('./components/TextInput/TextInput.js');
@@ -242,7 +243,6 @@ var TableToolbarContent = require('./components/DataTable/TableToolbarContent.js
242
243
  var TableToolbarSearch = require('./components/DataTable/TableToolbarSearch.js');
243
244
  var TableToolbarMenu = require('./components/DataTable/TableToolbarMenu.js');
244
245
  var FilterableMultiSelect = require('./components/MultiSelect/FilterableMultiSelect.js');
245
- var MultiSelect = require('./components/MultiSelect/MultiSelect.js');
246
246
 
247
247
 
248
248
 
@@ -497,6 +497,7 @@ exports.unstable_PageSelector = PageSelector["default"];
497
497
  exports.unstable_Pagination = Pagination["default"];
498
498
  exports.ContainedListItem = ContainedListItem["default"];
499
499
  exports.ContainedList = ContainedList["default"];
500
+ exports.MultiSelect = MultiSelect["default"];
500
501
  exports.SliderSkeleton = Slider_Skeleton["default"];
501
502
  exports.TextInputSkeleton = TextInput_Skeleton["default"];
502
503
  exports.TextInput = TextInput["default"];
@@ -528,4 +529,3 @@ exports.TableToolbarContent = TableToolbarContent["default"];
528
529
  exports.TableToolbarSearch = TableToolbarSearch["default"];
529
530
  exports.TableToolbarMenu = TableToolbarMenu["default"];
530
531
  exports.FilterableMultiSelect = FilterableMultiSelect["default"];
531
- exports.MultiSelect = MultiSelect["default"];
@@ -10,8 +10,8 @@ export declare const DIRECTION_TOP = "top";
10
10
  export declare const DIRECTION_RIGHT = "right";
11
11
  export declare const DIRECTION_BOTTOM = "bottom";
12
12
  export interface Offset {
13
- top?: number;
14
- left?: number;
13
+ top: number;
14
+ left: number;
15
15
  }
16
16
  interface Container {
17
17
  rect: DOMRect;
@@ -13,13 +13,13 @@ var React = require('react');
13
13
  var FeatureFlags = require('@carbon/feature-flags');
14
14
  var ReactDOM = require('react-dom');
15
15
  var window = require('window-or-global');
16
- var OptimizedResize = require('./OptimizedResize.js');
16
+ var keys = require('./keyboard/keys.js');
17
+ var match = require('./keyboard/match.js');
17
18
  var navigation = require('./keyboard/navigation.js');
19
+ var OptimizedResize = require('./OptimizedResize.js');
18
20
  var usePrefix = require('./usePrefix.js');
19
21
  var warning = require('./warning.js');
20
22
  var wrapFocus = require('./wrapFocus.js');
21
- var match = require('./keyboard/match.js');
22
- var keys = require('./keyboard/keys.js');
23
23
 
24
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
25
 
@@ -112,7 +112,10 @@ const FloatingMenu = _ref2 => {
112
112
  flipped,
113
113
  focusTrap,
114
114
  menuDirection = DIRECTION_BOTTOM,
115
- menuOffset = {},
115
+ menuOffset = {
116
+ top: 0,
117
+ left: 0
118
+ },
116
119
  menuRef: externalMenuRef,
117
120
  onPlace,
118
121
  selectorPrimaryFocus,
@@ -230,11 +233,11 @@ const FloatingMenu = _ref2 => {
230
233
 
231
234
  // Attach a resize listener.
232
235
  React.useEffect(() => {
233
- const resizeHandler = OptimizedResize["default"].add(() => {
236
+ const resizeHandler = OptimizedResize.OptimizedResize.add(() => {
234
237
  updateMenuPosition();
235
238
  });
236
239
  return () => {
237
- resizeHandler.release();
240
+ resizeHandler.remove();
238
241
  };
239
242
  }, [triggerRef, menuOffset, menuDirection, flipped, target, updateOrientation]);
240
243
 
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2025
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
+ * A callback function to be executed on `resize`.
9
+ */
10
+ type Callback = () => void;
11
+ export declare const OptimizedResize: {
12
+ /** Adds a callback function to be executed on window `resize`. */
13
+ add: (callback: Callback) => {
14
+ /** Removes the callback. */
15
+ remove: () => void;
16
+ };
17
+ };
18
+ export {};