@carbon/react 1.78.1 → 1.78.2

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 (217) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +764 -764
  2. package/es/components/Accordion/AccordionItem.js +2 -2
  3. package/es/components/Button/Button.d.ts +3 -2
  4. package/es/components/Button/Button.js +2 -1
  5. package/es/components/Button/ButtonBase.js +1 -1
  6. package/es/components/ChatButton/ChatButton.d.ts +3 -2
  7. package/es/components/ChatButton/ChatButton.js +2 -1
  8. package/es/components/ComboBox/ComboBox.js +24 -34
  9. package/es/components/ComposedModal/ComposedModal.js +51 -65
  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 +3 -3
  17. package/es/components/DataTable/TableExpandHeader.d.ts +5 -6
  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 +4 -42
  23. package/es/components/ExpandableSearch/ExpandableSearch.js +2 -2
  24. package/es/components/FeatureFlags/index.d.ts +1 -3
  25. package/es/components/FeatureFlags/index.js +0 -3
  26. package/es/components/FileUploader/FileUploader.d.ts +1 -1
  27. package/es/components/FileUploader/FileUploader.js +2 -2
  28. package/es/components/FileUploader/FileUploaderButton.js +2 -2
  29. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  30. package/es/components/FileUploader/FileUploaderDropContainer.js +4 -6
  31. package/es/components/FileUploader/FileUploaderItem.d.ts +1 -1
  32. package/es/components/FileUploader/FileUploaderItem.js +2 -2
  33. package/es/components/Grid/CSSGrid.js +14 -18
  34. package/es/components/Grid/FlexGrid.js +6 -7
  35. package/es/components/Grid/GridTypes.d.ts +3 -5
  36. package/es/components/IconButton/index.js +3 -3
  37. package/es/components/Layer/index.d.ts +6 -4
  38. package/es/components/Layer/index.js +6 -5
  39. package/es/components/Link/Link.d.ts +3 -2
  40. package/es/components/Link/Link.js +2 -1
  41. package/es/components/ListBox/ListBoxMenuItem.d.ts +3 -3
  42. package/es/components/ListBox/ListBoxMenuItem.js +15 -37
  43. package/es/components/Menu/Menu.js +2 -2
  44. package/es/components/Menu/MenuItem.d.ts +2 -2
  45. package/es/components/Menu/MenuItem.js +3 -3
  46. package/es/components/Modal/Modal.js +49 -121
  47. package/es/components/Modal/next/index.d.ts +171 -0
  48. package/es/components/ModalWrapper/ModalWrapper.js +1 -1
  49. package/es/components/MultiSelect/FilterableMultiSelect.js +3 -3
  50. package/es/components/MultiSelect/MultiSelect.js +2 -2
  51. package/es/components/Notification/Notification.d.ts +13 -5
  52. package/es/components/Notification/Notification.js +4 -3
  53. package/es/components/OverflowMenu/OverflowMenu.d.ts +8 -4
  54. package/es/components/OverflowMenu/OverflowMenu.js +3 -3
  55. package/es/components/OverflowMenu/next/index.d.ts +2 -2
  56. package/es/components/OverflowMenu/next/index.js +1 -1
  57. package/es/components/OverflowMenuItem/OverflowMenuItem.js +2 -2
  58. package/es/components/ProgressIndicator/ProgressIndicator.js +2 -2
  59. package/es/components/RadioTile/RadioTile.js +2 -2
  60. package/es/components/Search/Search.d.ts +3 -2
  61. package/es/components/Search/Search.js +6 -4
  62. package/es/components/Slider/Slider.d.ts +15 -16
  63. package/es/components/Slider/Slider.js +22 -22
  64. package/es/components/Tabs/Tabs.d.ts +6 -3
  65. package/es/components/Tabs/Tabs.js +9 -8
  66. package/es/components/Tag/DismissibleTag.d.ts +5 -3
  67. package/es/components/Tag/DismissibleTag.js +2 -1
  68. package/es/components/Tag/OperationalTag.d.ts +3 -2
  69. package/es/components/Tag/OperationalTag.js +2 -1
  70. package/es/components/Tag/SelectableTag.d.ts +5 -3
  71. package/es/components/Tag/SelectableTag.js +2 -1
  72. package/es/components/Tag/Tag.d.ts +3 -2
  73. package/es/components/Tag/Tag.js +2 -1
  74. package/es/components/Tile/Tile.d.ts +5 -3
  75. package/es/components/Tile/Tile.js +6 -8
  76. package/es/components/Toggletip/index.js +2 -2
  77. package/es/components/Tooltip/DefinitionTooltip.js +2 -2
  78. package/es/components/Tooltip/Tooltip.d.ts +1 -1
  79. package/es/components/Tooltip/Tooltip.js +2 -2
  80. package/es/components/TreeView/TreeNode.d.ts +5 -3
  81. package/es/components/TreeView/TreeNode.js +4 -3
  82. package/es/components/TreeView/TreeView.js +2 -2
  83. package/es/components/UIShell/HeaderContainer.js +2 -2
  84. package/es/components/UIShell/HeaderMenu.js +2 -2
  85. package/es/components/UIShell/HeaderPanel.js +2 -2
  86. package/es/components/UIShell/SideNav.d.ts +1 -1
  87. package/es/components/UIShell/SideNav.js +2 -2
  88. package/es/components/UIShell/SideNavHeader.d.ts +3 -2
  89. package/es/components/UIShell/SideNavHeader.js +2 -1
  90. package/es/components/UIShell/SideNavLink.d.ts +2 -2
  91. package/es/components/UIShell/SideNavLink.js +1 -1
  92. package/es/components/UIShell/SideNavMenu.d.ts +2 -2
  93. package/es/components/UIShell/SideNavMenu.js +3 -3
  94. package/es/components/UIShell/SwitcherItem.js +2 -2
  95. package/es/internal/FloatingMenu.js +4 -4
  96. package/es/internal/OptimizedResize.js +24 -21
  97. package/es/internal/focus/index.js +15 -0
  98. package/es/internal/keyboard/keys.js +2 -2
  99. package/es/internal/keyboard/match.js +41 -17
  100. package/es/internal/keyboard/navigation.js +27 -15
  101. package/es/internal/useMergedRefs.js +0 -3
  102. package/lib/components/Accordion/AccordionItem.js +2 -2
  103. package/lib/components/Button/Button.d.ts +3 -2
  104. package/lib/components/Button/Button.js +2 -1
  105. package/lib/components/Button/ButtonBase.js +1 -1
  106. package/lib/components/ChatButton/ChatButton.d.ts +3 -2
  107. package/lib/components/ChatButton/ChatButton.js +2 -1
  108. package/lib/components/ComboBox/ComboBox.js +24 -34
  109. package/lib/components/ComposedModal/ComposedModal.js +50 -64
  110. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +2 -2
  111. package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +1 -1
  112. package/lib/components/ContentSwitcher/ContentSwitcher.js +3 -3
  113. package/lib/components/DataTable/TableBatchAction.d.ts +3 -3
  114. package/lib/components/DataTable/TableBatchAction.js +1 -1
  115. package/lib/components/DataTable/TableContainer.d.ts +1 -1
  116. package/lib/components/DataTable/TableContainer.js +3 -3
  117. package/lib/components/DataTable/TableExpandHeader.d.ts +5 -6
  118. package/lib/components/DataTable/TableToolbarMenu.d.ts +2 -2
  119. package/lib/components/DataTable/TableToolbarMenu.js +1 -1
  120. package/lib/components/DatePicker/DatePicker.js +2 -2
  121. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
  122. package/lib/components/Dialog/index.d.ts +4 -42
  123. package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
  124. package/lib/components/FeatureFlags/index.d.ts +1 -3
  125. package/lib/components/FeatureFlags/index.js +0 -3
  126. package/lib/components/FileUploader/FileUploader.d.ts +1 -1
  127. package/lib/components/FileUploader/FileUploader.js +2 -2
  128. package/lib/components/FileUploader/FileUploaderButton.js +2 -2
  129. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
  130. package/lib/components/FileUploader/FileUploaderDropContainer.js +4 -6
  131. package/lib/components/FileUploader/FileUploaderItem.d.ts +1 -1
  132. package/lib/components/FileUploader/FileUploaderItem.js +2 -2
  133. package/lib/components/Grid/CSSGrid.js +14 -18
  134. package/lib/components/Grid/FlexGrid.js +6 -7
  135. package/lib/components/Grid/GridTypes.d.ts +3 -5
  136. package/lib/components/IconButton/index.js +3 -3
  137. package/lib/components/Layer/index.d.ts +6 -4
  138. package/lib/components/Layer/index.js +6 -5
  139. package/lib/components/Link/Link.d.ts +3 -2
  140. package/lib/components/Link/Link.js +2 -1
  141. package/lib/components/ListBox/ListBoxMenuItem.d.ts +3 -3
  142. package/lib/components/ListBox/ListBoxMenuItem.js +14 -36
  143. package/lib/components/Menu/Menu.js +2 -2
  144. package/lib/components/Menu/MenuItem.d.ts +2 -2
  145. package/lib/components/Menu/MenuItem.js +3 -3
  146. package/lib/components/Modal/Modal.js +51 -123
  147. package/lib/components/Modal/next/index.d.ts +171 -0
  148. package/lib/components/ModalWrapper/ModalWrapper.js +1 -1
  149. package/lib/components/MultiSelect/FilterableMultiSelect.js +3 -3
  150. package/lib/components/MultiSelect/MultiSelect.js +2 -2
  151. package/lib/components/Notification/Notification.d.ts +13 -5
  152. package/lib/components/Notification/Notification.js +4 -3
  153. package/lib/components/OverflowMenu/OverflowMenu.d.ts +8 -4
  154. package/lib/components/OverflowMenu/OverflowMenu.js +3 -3
  155. package/lib/components/OverflowMenu/next/index.d.ts +2 -2
  156. package/lib/components/OverflowMenu/next/index.js +1 -1
  157. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +2 -2
  158. package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -2
  159. package/lib/components/RadioTile/RadioTile.js +2 -2
  160. package/lib/components/Search/Search.d.ts +3 -2
  161. package/lib/components/Search/Search.js +6 -4
  162. package/lib/components/Slider/Slider.d.ts +15 -16
  163. package/lib/components/Slider/Slider.js +22 -22
  164. package/lib/components/Tabs/Tabs.d.ts +6 -3
  165. package/lib/components/Tabs/Tabs.js +9 -8
  166. package/lib/components/Tag/DismissibleTag.d.ts +5 -3
  167. package/lib/components/Tag/DismissibleTag.js +2 -1
  168. package/lib/components/Tag/OperationalTag.d.ts +3 -2
  169. package/lib/components/Tag/OperationalTag.js +2 -1
  170. package/lib/components/Tag/SelectableTag.d.ts +5 -3
  171. package/lib/components/Tag/SelectableTag.js +2 -1
  172. package/lib/components/Tag/Tag.d.ts +3 -2
  173. package/lib/components/Tag/Tag.js +2 -1
  174. package/lib/components/Tile/Tile.d.ts +5 -3
  175. package/lib/components/Tile/Tile.js +6 -8
  176. package/lib/components/Toggletip/index.js +2 -2
  177. package/lib/components/Tooltip/DefinitionTooltip.js +2 -2
  178. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  179. package/lib/components/Tooltip/Tooltip.js +2 -2
  180. package/lib/components/TreeView/TreeNode.d.ts +5 -3
  181. package/lib/components/TreeView/TreeNode.js +4 -3
  182. package/lib/components/TreeView/TreeView.js +2 -2
  183. package/lib/components/UIShell/HeaderContainer.js +2 -2
  184. package/lib/components/UIShell/HeaderMenu.js +2 -2
  185. package/lib/components/UIShell/HeaderPanel.js +2 -2
  186. package/lib/components/UIShell/SideNav.d.ts +1 -1
  187. package/lib/components/UIShell/SideNav.js +2 -2
  188. package/lib/components/UIShell/SideNavHeader.d.ts +3 -2
  189. package/lib/components/UIShell/SideNavHeader.js +2 -1
  190. package/lib/components/UIShell/SideNavLink.d.ts +2 -2
  191. package/lib/components/UIShell/SideNavLink.js +1 -1
  192. package/lib/components/UIShell/SideNavMenu.d.ts +2 -2
  193. package/lib/components/UIShell/SideNavMenu.js +3 -3
  194. package/lib/components/UIShell/SwitcherItem.js +2 -2
  195. package/lib/internal/FloatingMenu.js +5 -5
  196. package/lib/internal/OptimizedResize.js +24 -21
  197. package/lib/internal/focus/index.js +19 -0
  198. package/lib/internal/keyboard/keys.js +2 -2
  199. package/lib/internal/keyboard/match.js +41 -17
  200. package/lib/internal/keyboard/navigation.js +27 -15
  201. package/lib/internal/useMergedRefs.js +0 -3
  202. package/package.json +6 -6
  203. package/telemetry.yml +0 -1
  204. package/es/components/Dialog/index.js +0 -177
  205. package/es/internal/OptimizedResize.d.ts +0 -18
  206. package/es/internal/keyboard/index.d.ts +0 -9
  207. package/es/internal/keyboard/keys.d.ts +0 -23
  208. package/es/internal/keyboard/match.d.ts +0 -26
  209. package/es/internal/keyboard/navigation.d.ts +0 -37
  210. package/lib/components/Dialog/index.js +0 -190
  211. package/lib/internal/OptimizedResize.d.ts +0 -18
  212. package/lib/internal/keyboard/index.d.ts +0 -9
  213. package/lib/internal/keyboard/keys.d.ts +0 -23
  214. package/lib/internal/keyboard/match.d.ts +0 -26
  215. package/lib/internal/keyboard/navigation.d.ts +0 -37
  216. package/scss/components/dialog/_dialog.scss +0 -9
  217. package/scss/components/dialog/_index.scss +0 -9
@@ -23,13 +23,12 @@ var toggleClass = require('../../tools/toggleClass.js');
23
23
  var requiredIfGivenPropIsTruthy = require('../../prop-types/requiredIfGivenPropIsTruthy.js');
24
24
  var wrapFocus = require('../../internal/wrapFocus.js');
25
25
  var usePrefix = require('../../internal/usePrefix.js');
26
- var keys = require('../../internal/keyboard/keys.js');
27
- var match = require('../../internal/keyboard/match.js');
28
26
  var index$1 = require('../FeatureFlags/index.js');
29
27
  var events = require('../../tools/events.js');
30
28
  var deprecate = require('../../prop-types/deprecate.js');
31
- var index$2 = require('../Dialog/index.js');
32
29
  var debounce = require('../../node_modules/es-toolkit/dist/compat/function/debounce.mjs.js');
30
+ var match = require('../../internal/keyboard/match.js');
31
+ var keys = require('../../internal/keyboard/keys.js');
33
32
 
34
33
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
35
34
 
@@ -131,14 +130,12 @@ const ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function
131
130
  const startSentinel = React.useRef(null);
132
131
  const endSentinel = React.useRef(null);
133
132
  const onMouseDownTarget = React.useRef(null);
134
- const enableDialogElement =
135
- // useFeatureFlag('enable-experimental-focus-wrap-without-sentinels') ||
136
- index$1.useFeatureFlag('enable-dialog-element');
133
+ const focusTrapWithoutSentinels = index$1.useFeatureFlag('enable-experimental-focus-wrap-without-sentinels');
137
134
 
138
135
  // Keep track of modal open/close state
139
136
  // and propagate it to the document.body
140
137
  React.useEffect(() => {
141
- if (!enableDialogElement && open !== wasOpen) {
138
+ if (open !== wasOpen) {
142
139
  setIsOpen(!!open);
143
140
  setWasOpen(!!open);
144
141
  toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, !!open);
@@ -146,19 +143,22 @@ const ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function
146
143
  }, [open, wasOpen, prefix]);
147
144
  // Remove the document.body className on unmount
148
145
  React.useEffect(() => {
149
- if (!enableDialogElement) {
150
- return () => {
151
- toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, false);
152
- };
153
- }
146
+ return () => {
147
+ toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, false);
148
+ };
154
149
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
155
150
 
156
151
  function handleKeyDown(event) {
157
- if (!enableDialogElement) {
158
- event.stopPropagation();
159
- if (match.match(event, keys.Escape)) {
160
- closeModal(event);
161
- }
152
+ event.stopPropagation();
153
+ if (match.match(event, keys.Escape)) {
154
+ closeModal(event);
155
+ }
156
+ if (focusTrapWithoutSentinels && open && match.match(event, keys.Tab) && innerModal.current) {
157
+ wrapFocus.wrapFocusWithoutSentinels({
158
+ containerNode: innerModal.current,
159
+ currentActiveNode: event.target,
160
+ event: event
161
+ });
162
162
  }
163
163
  onKeyDown?.(event);
164
164
  }
@@ -238,34 +238,32 @@ const ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function
238
238
  }
239
239
  });
240
240
  React.useEffect(() => {
241
- if (!enableDialogElement && !open && launcherButtonRef) {
241
+ if (!open && launcherButtonRef) {
242
242
  setTimeout(() => {
243
243
  launcherButtonRef?.current?.focus();
244
244
  });
245
245
  }
246
246
  }, [open, launcherButtonRef]);
247
247
  React.useEffect(() => {
248
- if (!enableDialogElement) {
249
- const initialFocus = focusContainerElement => {
250
- const containerElement = focusContainerElement || innerModal.current;
251
- const primaryFocusElement = containerElement ? containerElement.querySelector(danger ? `.${prefix}--btn--secondary` : selectorPrimaryFocus) : null;
252
- if (primaryFocusElement) {
253
- return primaryFocusElement;
254
- }
255
- return button && button.current;
256
- };
257
- const focusButton = focusContainerElement => {
258
- const target = initialFocus(focusContainerElement);
259
- const closeButton = focusContainerElement.querySelector(`.${prefix}--modal-close`);
260
- if (target) {
261
- target.focus();
262
- } else if (!target && closeButton) {
263
- closeButton?.focus();
264
- }
265
- };
266
- if (open && isOpen) {
267
- focusButton(innerModal.current);
248
+ const initialFocus = focusContainerElement => {
249
+ const containerElement = focusContainerElement || innerModal.current;
250
+ const primaryFocusElement = containerElement ? containerElement.querySelector(danger ? `.${prefix}--btn--secondary` : selectorPrimaryFocus) : null;
251
+ if (primaryFocusElement) {
252
+ return primaryFocusElement;
268
253
  }
254
+ return button && button.current;
255
+ };
256
+ const focusButton = focusContainerElement => {
257
+ const target = initialFocus(focusContainerElement);
258
+ const closeButton = focusContainerElement.querySelector(`.${prefix}--modal-close`);
259
+ if (target) {
260
+ target.focus();
261
+ } else if (!target && closeButton) {
262
+ closeButton?.focus();
263
+ }
264
+ };
265
+ if (open && isOpen) {
266
+ focusButton(innerModal.current);
269
267
  }
270
268
  }, [open, selectorPrimaryFocus, isOpen]);
271
269
 
@@ -276,24 +274,23 @@ const ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function
276
274
  size: 'sm'
277
275
  });
278
276
  }
279
- const modalBody = enableDialogElement ? /*#__PURE__*/React__default["default"].createElement(index$2.unstable__Dialog, {
280
- open: open,
281
- modal: true,
282
- className: containerClass,
283
- "aria-label": ariaLabel ? ariaLabel : generatedAriaLabel,
284
- "aria-labelledby": ariaLabelledBy
285
- }, /*#__PURE__*/React__default["default"].createElement("div", {
286
- ref: innerModal,
287
- className: `${prefix}--modal-container-body`
288
- }, slug ? normalizedDecorator : decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
289
- className: `${prefix}--modal--inner__decorator`
290
- }, normalizedDecorator) : '', childrenWithProps)) : /*#__PURE__*/React__default["default"].createElement("div", {
277
+ return /*#__PURE__*/React__default["default"].createElement(index.Layer, _rollupPluginBabelHelpers["extends"]({}, rest, {
278
+ level: 0,
279
+ role: "presentation",
280
+ ref: ref,
281
+ "aria-hidden": !open,
282
+ onBlur: !focusTrapWithoutSentinels ? handleBlur : () => {},
283
+ onClick: events.composeEventHandlers([rest?.onClick, handleOnClick]),
284
+ onMouseDown: events.composeEventHandlers([rest?.onMouseDown, handleOnMouseDown]),
285
+ onKeyDown: handleKeyDown,
286
+ className: modalClass
287
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
291
288
  className: containerClass,
292
289
  role: "dialog",
293
290
  "aria-modal": "true",
294
291
  "aria-label": ariaLabel ? ariaLabel : generatedAriaLabel,
295
292
  "aria-labelledby": ariaLabelledBy
296
- }, /*#__PURE__*/React__default["default"].createElement("button", {
293
+ }, !focusTrapWithoutSentinels && /*#__PURE__*/React__default["default"].createElement("button", {
297
294
  type: "button",
298
295
  ref: startSentinel,
299
296
  className: `${prefix}--visually-hidden`
@@ -302,22 +299,11 @@ const ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function
302
299
  className: `${prefix}--modal-container-body`
303
300
  }, slug ? normalizedDecorator : decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
304
301
  className: `${prefix}--modal--inner__decorator`
305
- }, normalizedDecorator) : '', childrenWithProps), /*#__PURE__*/React__default["default"].createElement("button", {
302
+ }, normalizedDecorator) : '', childrenWithProps), !focusTrapWithoutSentinels && /*#__PURE__*/React__default["default"].createElement("button", {
306
303
  type: "button",
307
304
  ref: endSentinel,
308
305
  className: `${prefix}--visually-hidden`
309
- }, "Focus sentinel"));
310
- return /*#__PURE__*/React__default["default"].createElement(index.Layer, _rollupPluginBabelHelpers["extends"]({}, rest, {
311
- level: 0,
312
- role: "presentation",
313
- ref: ref,
314
- "aria-hidden": !open,
315
- onBlur: !enableDialogElement ? handleBlur : () => {},
316
- onClick: events.composeEventHandlers([rest?.onClick, handleOnClick]),
317
- onMouseDown: events.composeEventHandlers([rest?.onMouseDown, handleOnMouseDown]),
318
- onKeyDown: handleKeyDown,
319
- className: modalClass
320
- }), modalBody);
306
+ }, "Focus sentinel")));
321
307
  });
322
308
  ComposedModal.propTypes = {
323
309
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2022, 2025
2
+ * Copyright IBM Corp. 2022
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 @@ interface ContainedListItemProps {
27
27
  */
28
28
  onClick?: () => void;
29
29
  /**
30
- * A component used to render an icon.
30
+ * Provide an optional icon to render in front of the item's content.
31
31
  */
32
32
  renderIcon?: ComponentType | FunctionComponent;
33
33
  }
@@ -81,7 +81,7 @@ ContainedListItem.propTypes = {
81
81
  */
82
82
  onClick: PropTypes__default["default"].func,
83
83
  /**
84
- * A component used to render an icon.
84
+ * Provide an optional icon to render in front of the item's content.
85
85
  */
86
86
  // @ts-expect-error: PropTypes are not expressive enough to cover this case
87
87
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object])
@@ -16,11 +16,11 @@ var cx = require('classnames');
16
16
  var deprecate = require('../../prop-types/deprecate.js');
17
17
  var index = require('../Layout/index.js');
18
18
  var events = require('../../tools/events.js');
19
- var keys = require('../../internal/keyboard/keys.js');
20
- var match = require('../../internal/keyboard/match.js');
21
- var navigation = require('../../internal/keyboard/navigation.js');
22
19
  var usePrefix = require('../../internal/usePrefix.js');
23
20
  var noopFn = require('../../internal/noopFn.js');
21
+ var match = require('../../internal/keyboard/match.js');
22
+ var navigation = require('../../internal/keyboard/navigation.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, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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.
@@ -17,7 +17,7 @@ export interface TableBatchActionProps extends React.ButtonHTMLAttributes<HTMLBu
17
17
  */
18
18
  iconDescription?: string;
19
19
  /**
20
- * A component used to render an icon.
20
+ * Optional function to render your own icon in the underlying button
21
21
  */
22
22
  renderIcon?: React.ElementType;
23
23
  }
@@ -34,7 +34,7 @@ declare const TableBatchAction: {
34
34
  */
35
35
  iconDescription: (props: any) => Error | undefined;
36
36
  /**
37
- * A component used to render an icon.
37
+ * Optional function to render your own icon in the underlying button
38
38
  */
39
39
  renderIcon: PropTypes.Requireable<object>;
40
40
  };
@@ -48,7 +48,7 @@ TableBatchAction.propTypes = {
48
48
  return undefined;
49
49
  },
50
50
  /**
51
- * A component used to render an icon.
51
+ * Optional function to render your own icon in the underlying button
52
52
  */
53
53
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object])
54
54
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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.
@@ -51,12 +51,12 @@ const TableContainer = _ref => {
51
51
  value: value
52
52
  }, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
53
53
  className: tableContainerClasses
54
- }), (title || description) && /*#__PURE__*/React__default["default"].createElement("div", {
54
+ }), title && /*#__PURE__*/React__default["default"].createElement("div", {
55
55
  className: `${prefix}--data-table-header`
56
- }, title && /*#__PURE__*/React__default["default"].createElement("h4", {
56
+ }, /*#__PURE__*/React__default["default"].createElement("h4", {
57
57
  className: `${prefix}--data-table-header__title`,
58
58
  id: titleId
59
- }, title), description && /*#__PURE__*/React__default["default"].createElement("p", {
59
+ }, title), /*#__PURE__*/React__default["default"].createElement("p", {
60
60
  className: `${prefix}--data-table-header__description`,
61
61
  id: descriptionId
62
62
  }, description)), children));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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.
@@ -45,16 +45,15 @@ export type TableExpandHeaderPropsBase = {
45
45
  */
46
46
  onExpand?(event: React.MouseEvent<HTMLButtonElement>): void;
47
47
  } & ReactAttr<HTMLTableCellElement>;
48
- export type TableExpandHeaderPropsWithToggle = Omit<TableExpandHeaderPropsBase, 'aria-label' | 'enableToggle' | 'onExpand'> & {
48
+ export type TableExpandHeaderPropsWithToggle = Omit<TableExpandHeaderPropsBase, 'ariaLabel' | 'aria-label' | 'enableToggle' | 'onExpand'> & {
49
49
  enableToggle: true;
50
+ ariaLabel: string;
50
51
  ['aria-label']: string;
51
52
  onExpand(event: React.MouseEvent<HTMLButtonElement>): void;
52
53
  };
53
- export type TableExpandHeaderPropsWithExpando = Omit<TableExpandHeaderPropsBase, 'aria-label' | 'enableExpando' | 'onExpand'> & {
54
- /**
55
- * @deprecated The enableExpando prop is being replaced by `enableToggle`
56
- */
54
+ export type TableExpandHeaderPropsWithExpando = Omit<TableExpandHeaderPropsBase, 'ariaLabel' | 'aria-label' | 'enableExpando' | 'onExpand'> & {
57
55
  enableExpando: true;
56
+ ariaLabel: string;
58
57
  ['aria-label']: string;
59
58
  onExpand(event: React.MouseEvent<HTMLButtonElement>): void;
60
59
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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,7 +20,7 @@ export interface TableToolbarMenuProps extends React.HTMLAttributes<HTMLDivEleme
20
20
  */
21
21
  menuOptionsClass?: string;
22
22
  /**
23
- * A component used to render an icon.
23
+ * Optional prop to allow overriding the default menu icon
24
24
  */
25
25
  renderIcon?: any;
26
26
  }
@@ -61,7 +61,7 @@ TableToolbarMenu.propTypes = {
61
61
  */
62
62
  menuOptionsClass: PropTypes__default["default"].string,
63
63
  /**
64
- * A component used to render an icon.
64
+ * Optional prop to allow overriding the default menu icon
65
65
  */
66
66
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object])
67
67
  };
@@ -20,13 +20,13 @@ var appendToPlugin = require('./plugins/appendToPlugin.js');
20
20
  var fixEventsPlugin = require('./plugins/fixEventsPlugin.js');
21
21
  var rangePlugin = require('./plugins/rangePlugin.js');
22
22
  var deprecate = require('../../prop-types/deprecate.js');
23
- var keys = require('../../internal/keyboard/keys.js');
24
- var match = require('../../internal/keyboard/match.js');
25
23
  var usePrefix = require('../../internal/usePrefix.js');
26
24
  var useSavedCallback = require('../../internal/useSavedCallback.js');
27
25
  require('../FluidForm/FluidForm.js');
28
26
  var FormContext = require('../FluidForm/FormContext.js');
29
27
  var iconsReact = require('@carbon/icons-react');
28
+ var match = require('../../internal/keyboard/match.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
 
@@ -9,8 +9,8 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
- var keys = require('../../../internal/keyboard/keys.js');
13
12
  var match = require('../../../internal/keyboard/match.js');
13
+ var keys = require('../../../internal/keyboard/keys.js');
14
14
 
15
15
  /**
16
16
  * @param {object} config Plugin configuration.
@@ -12,28 +12,9 @@ export interface DialogProps extends ReactAttr<HTMLDialogElement> {
12
12
  */
13
13
  children?: React.ReactNode;
14
14
  /**
15
- * Specify an optional className to be applied to the modal root node
16
- */
17
- className?: string;
18
- /**
19
- * Specifies whether the dialog is modal or non-modal. This cannot be changed
20
- * while open=true
15
+ * Specifies whether the dialog is modal or non-modal
21
16
  */
22
17
  modal?: boolean;
23
- /**
24
- * Specify a handler for the dialog's cancel event.
25
- * The browser fires this event when the user presses the Esc key and is cancelable.
26
- */
27
- onCancel?: React.ReactEventHandler<HTMLDialogElement>;
28
- /**
29
- * Specify a click handler applied to the dialog.
30
- */
31
- onClick?: React.ReactEventHandler<HTMLDialogElement>;
32
- /**
33
- * Specify a handler the dialog's close event.
34
- * The browser fires this event after the dialog has closed.
35
- */
36
- onClose?: React.ReactEventHandler<HTMLDialogElement>;
37
18
  /**
38
19
  * Specify a handler for closing Dialog.
39
20
  * The handler should care of closing Dialog, e.g. changing `open` prop.
@@ -44,25 +25,6 @@ export interface DialogProps extends ReactAttr<HTMLDialogElement> {
44
25
  */
45
26
  open?: boolean;
46
27
  }
47
- export declare const unstable__Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<unknown>>;
48
- export interface DialogHeaderProps extends ReactAttr<HTMLDivElement> {
49
- /**
50
- * Provide the contents to be rendered inside of this component
51
- */
52
- children?: React.ReactNode;
53
- }
54
- export declare const DialogHeader: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
55
- export interface DialogControlsProps extends ReactAttr<HTMLDivElement> {
56
- /**
57
- * Provide the contents to be rendered inside of this component
58
- */
59
- children?: React.ReactNode;
60
- }
61
- export declare const DialogControls: React.ForwardRefExoticComponent<DialogControlsProps & React.RefAttributes<HTMLDivElement>>;
62
- export interface DialogCloseButtonProps extends ReactAttr<HTMLDivElement> {
63
- /**
64
- * Specify a click handler applied to the IconButton
65
- */
66
- onClick?: React.MouseEventHandler;
67
- }
68
- export declare const DialogCloseButton: React.ForwardRefExoticComponent<DialogCloseButtonProps & React.RefAttributes<HTMLDivElement>>;
28
+ declare const unstable__Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<unknown>>;
29
+ export { unstable__Dialog };
30
+ export default unstable__Dialog;
@@ -16,9 +16,9 @@ var Search = require('../Search/Search.js');
16
16
  require('../Search/Search.Skeleton.js');
17
17
  var usePrefix = require('../../internal/usePrefix.js');
18
18
  var events = require('../../tools/events.js');
19
- var keys = require('../../internal/keyboard/keys.js');
20
- var match = require('../../internal/keyboard/match.js');
21
19
  var mergeRefs = require('../../tools/mergeRefs.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,7 +14,6 @@ export interface FeatureFlagsProps {
14
14
  enableV12Overflowmenu?: boolean;
15
15
  enableTreeviewControllable?: boolean;
16
16
  enableExperimentalFocusWrapWithoutSentinels?: boolean;
17
- enableDialogElement?: boolean;
18
17
  enableV12DynamicFloatingStyles?: boolean;
19
18
  }
20
19
  /**
@@ -27,7 +26,7 @@ declare const FeatureFlagContext: React.Context<any>;
27
26
  * along with the current `FeatureFlagContext` to provide consumers to check if
28
27
  * a feature flag is enabled or disabled in a given React tree
29
28
  */
30
- declare function FeatureFlags({ children, flags, enableV12TileDefaultIcons, enableV12TileRadioIcons, enableV12Overflowmenu, enableTreeviewControllable, enableExperimentalFocusWrapWithoutSentinels, enableDialogElement, enableV12DynamicFloatingStyles, }: FeatureFlagsProps): JSX.Element;
29
+ declare function FeatureFlags({ children, flags, enableV12TileDefaultIcons, enableV12TileRadioIcons, enableV12Overflowmenu, enableTreeviewControllable, enableExperimentalFocusWrapWithoutSentinels, enableV12DynamicFloatingStyles, }: FeatureFlagsProps): JSX.Element;
31
30
  declare namespace FeatureFlags {
32
31
  var propTypes: {
33
32
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -40,7 +39,6 @@ declare namespace FeatureFlags {
40
39
  enableV12Overflowmenu: PropTypes.Requireable<boolean>;
41
40
  enableTreeviewControllable: PropTypes.Requireable<boolean>;
42
41
  enableExperimentalFocusWrapWithoutSentinels: PropTypes.Requireable<boolean>;
43
- enableDialogElement: PropTypes.Requireable<boolean>;
44
42
  enableV12DynamicFloatingStyles: PropTypes.Requireable<boolean>;
45
43
  };
46
44
  }
@@ -39,7 +39,6 @@ function FeatureFlags(_ref) {
39
39
  enableV12Overflowmenu = false,
40
40
  enableTreeviewControllable = false,
41
41
  enableExperimentalFocusWrapWithoutSentinels = false,
42
- enableDialogElement = false,
43
42
  enableV12DynamicFloatingStyles = false
44
43
  } = _ref;
45
44
  const parentScope = React.useContext(FeatureFlagContext);
@@ -50,7 +49,6 @@ function FeatureFlags(_ref) {
50
49
  'enable-v12-overflowmenu': enableV12Overflowmenu,
51
50
  'enable-treeview-controllable': enableTreeviewControllable,
52
51
  'enable-experimental-focus-wrap-without-sentinels': enableExperimentalFocusWrapWithoutSentinels,
53
- 'enable-dialog-element': enableDialogElement,
54
52
  'enable-v12-dynamic-floating-styles': enableV12DynamicFloatingStyles,
55
53
  ...flags
56
54
  };
@@ -89,7 +87,6 @@ FeatureFlags.propTypes = {
89
87
  enableV12Overflowmenu: PropTypes__default["default"].bool,
90
88
  enableTreeviewControllable: PropTypes__default["default"].bool,
91
89
  enableExperimentalFocusWrapWithoutSentinels: PropTypes__default["default"].bool,
92
- enableDialogElement: PropTypes__default["default"].bool,
93
90
  enableV12DynamicFloatingStyles: PropTypes__default["default"].bool
94
91
  };
95
92
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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,12 +16,12 @@ var React = require('react');
16
16
  var Filename = require('./Filename.js');
17
17
  var FileUploaderButton = require('./FileUploaderButton.js');
18
18
  var Button = require('../Button/Button.js');
19
- var keys = require('../../internal/keyboard/keys.js');
20
- var match = require('../../internal/keyboard/match.js');
21
19
  var usePrefix = require('../../internal/usePrefix.js');
22
20
  require('../Text/index.js');
23
21
  var useId = require('../../internal/useId.js');
22
+ var match = require('../../internal/keyboard/match.js');
24
23
  var Text = require('../Text/Text.js');
24
+ var keys = require('../../internal/keyboard/keys.js');
25
25
 
26
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
27
 
@@ -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');
18
16
  var types = require('../../prop-types/types.js');
19
17
  var uniqueId = require('../../tools/uniqueId.js');
20
18
  var usePrefix = require('../../internal/usePrefix.js');
21
19
  var deprecate = require('../../prop-types/deprecate.js');
22
20
  var noopFn = require('../../internal/noopFn.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
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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.
@@ -13,13 +13,13 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var React = require('react');
14
14
  var PropTypes = require('prop-types');
15
15
  var cx = require('classnames');
16
- var keys = require('../../internal/keyboard/keys.js');
17
- var match = require('../../internal/keyboard/match.js');
18
16
  var uniqueId = require('../../tools/uniqueId.js');
19
17
  var usePrefix = require('../../internal/usePrefix.js');
20
18
  var events = require('../../tools/events.js');
21
19
  var deprecate = require('../../prop-types/deprecate.js');
22
20
  var noopFn = require('../../internal/noopFn.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
 
@@ -81,16 +81,14 @@ function FileUploaderDropContainer(_ref) {
81
81
  }
82
82
  function handleChange(event) {
83
83
  const files = [...(event.target.files ?? [])];
84
- const filesToValidate = multiple ? files : [files[0]];
85
- const addedFiles = validateFiles(filesToValidate);
84
+ const addedFiles = validateFiles(files);
86
85
  return onAddFiles(event, {
87
86
  addedFiles
88
87
  });
89
88
  }
90
89
  function handleDrop(event) {
91
90
  const files = [...event.dataTransfer.files];
92
- const filesToValidate = multiple ? files : [files[0]];
93
- const addedFiles = validateFiles(filesToValidate);
91
+ const addedFiles = validateFiles(files);
94
92
  return onAddFiles(event, {
95
93
  addedFiles
96
94
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2023
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,15 +14,15 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var Filename = require('./Filename.js');
17
- var keys = require('../../internal/keyboard/keys.js');
18
- var match = require('../../internal/keyboard/match.js');
19
17
  var uniqueId = require('../../tools/uniqueId.js');
20
18
  var usePrefix = require('../../internal/usePrefix.js');
21
19
  var noopFn = require('../../internal/noopFn.js');
22
20
  require('../Text/index.js');
23
21
  require('../Tooltip/DefinitionTooltip.js');
24
22
  var Tooltip = require('../Tooltip/Tooltip.js');
23
+ var match = require('../../internal/keyboard/match.js');
25
24
  var Text = require('../Text/Text.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