@carbon/react 1.78.0-rc.0 → 1.78.1
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.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +851 -816
- package/es/components/Accordion/AccordionItem.js +2 -2
- package/es/components/Button/Button.d.ts +2 -3
- package/es/components/Button/Button.js +1 -2
- package/es/components/Button/ButtonBase.js +1 -1
- package/es/components/ChatButton/ChatButton.d.ts +2 -3
- package/es/components/ChatButton/ChatButton.js +1 -2
- package/es/components/ComboBox/ComboBox.js +40 -30
- package/es/components/ComboButton/index.js +0 -1
- package/es/components/ComposedModal/ComposedModal.js +65 -51
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +2 -2
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +1 -1
- package/es/components/ContentSwitcher/ContentSwitcher.js +3 -3
- package/es/components/ContextMenu/useContextMenu.d.ts +0 -1
- package/es/components/ContextMenu/useContextMenu.js +1 -2
- package/es/components/DataTable/TableBatchAction.d.ts +3 -3
- package/es/components/DataTable/TableBatchAction.js +1 -1
- package/es/components/DataTable/TableContainer.d.ts +1 -1
- package/es/components/DataTable/TableContainer.js +3 -3
- package/es/components/DataTable/TableExpandHeader.d.ts +6 -5
- package/es/components/DataTable/TableToolbarMenu.d.ts +2 -2
- package/es/components/DataTable/TableToolbarMenu.js +1 -1
- package/es/components/DatePicker/DatePicker.js +2 -2
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
- package/es/components/Dialog/index.d.ts +42 -4
- package/es/components/Dialog/index.js +177 -0
- package/es/components/ExpandableSearch/ExpandableSearch.js +2 -2
- package/es/components/FeatureFlags/index.d.ts +3 -1
- package/es/components/FeatureFlags/index.js +3 -0
- package/es/components/FileUploader/FileUploader.d.ts +1 -1
- package/es/components/FileUploader/FileUploader.js +2 -2
- package/es/components/FileUploader/FileUploaderButton.js +2 -2
- package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
- package/es/components/FileUploader/FileUploaderDropContainer.js +6 -4
- package/es/components/FileUploader/FileUploaderItem.d.ts +1 -1
- package/es/components/FileUploader/FileUploaderItem.js +2 -2
- package/es/components/Grid/CSSGrid.js +18 -14
- package/es/components/Grid/FlexGrid.js +7 -6
- package/es/components/Grid/GridTypes.d.ts +5 -3
- package/es/components/IconButton/index.js +3 -3
- package/es/components/Layer/index.d.ts +4 -6
- package/es/components/Layer/index.js +5 -6
- package/es/components/Link/Link.d.ts +2 -3
- package/es/components/Link/Link.js +1 -2
- package/es/components/ListBox/ListBoxMenuItem.d.ts +3 -3
- package/es/components/ListBox/ListBoxMenuItem.js +37 -15
- package/es/components/Menu/Menu.d.ts +1 -0
- package/es/components/Menu/Menu.js +7 -9
- package/es/components/Menu/MenuContext.d.ts +4 -4
- package/es/components/Menu/MenuContext.js +6 -1
- package/es/components/Menu/MenuItem.d.ts +2 -2
- package/es/components/Menu/MenuItem.js +16 -24
- package/es/components/MenuButton/index.js +14 -2
- package/es/components/Modal/Modal.js +121 -49
- package/es/components/ModalWrapper/ModalWrapper.js +1 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +3 -3
- package/es/components/MultiSelect/MultiSelect.js +2 -2
- package/es/components/Notification/Notification.d.ts +5 -13
- package/es/components/Notification/Notification.js +7 -9
- package/es/components/OverflowMenu/OverflowMenu.d.ts +4 -8
- package/es/components/OverflowMenu/OverflowMenu.js +3 -3
- package/es/components/OverflowMenu/next/index.d.ts +2 -2
- package/es/components/OverflowMenu/next/index.js +1 -1
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +2 -2
- package/es/components/ProgressIndicator/ProgressIndicator.js +2 -2
- package/es/components/RadioTile/RadioTile.js +2 -2
- package/es/components/Search/Search.d.ts +2 -3
- package/es/components/Search/Search.js +4 -6
- package/es/components/Slider/Slider.d.ts +16 -15
- package/es/components/Slider/Slider.js +22 -22
- package/es/components/Tabs/Tabs.d.ts +3 -6
- package/es/components/Tabs/Tabs.js +8 -9
- package/es/components/Tag/DismissibleTag.d.ts +3 -5
- package/es/components/Tag/DismissibleTag.js +1 -2
- package/es/components/Tag/OperationalTag.d.ts +2 -3
- package/es/components/Tag/OperationalTag.js +1 -2
- package/es/components/Tag/SelectableTag.d.ts +3 -5
- package/es/components/Tag/SelectableTag.js +1 -2
- package/es/components/Tag/Tag.d.ts +2 -3
- package/es/components/Tag/Tag.js +1 -2
- package/es/components/Tile/Tile.d.ts +3 -5
- package/es/components/Tile/Tile.js +8 -6
- package/es/components/Toggletip/index.js +2 -2
- package/es/components/Tooltip/DefinitionTooltip.js +2 -2
- package/es/components/Tooltip/Tooltip.d.ts +1 -1
- package/es/components/Tooltip/Tooltip.js +2 -2
- package/es/components/TreeView/TreeNode.d.ts +3 -5
- package/es/components/TreeView/TreeNode.js +3 -4
- package/es/components/TreeView/TreeView.js +2 -2
- package/es/components/UIShell/HeaderContainer.js +2 -2
- package/es/components/UIShell/HeaderMenu.js +2 -2
- package/es/components/UIShell/HeaderPanel.js +2 -2
- package/es/components/UIShell/SideNav.d.ts +1 -1
- package/es/components/UIShell/SideNav.js +2 -2
- package/es/components/UIShell/SideNavHeader.d.ts +2 -3
- package/es/components/UIShell/SideNavHeader.js +1 -2
- package/es/components/UIShell/SideNavLink.d.ts +2 -2
- package/es/components/UIShell/SideNavLink.js +1 -1
- package/es/components/UIShell/SideNavMenu.d.ts +2 -2
- package/es/components/UIShell/SideNavMenu.js +3 -3
- package/es/components/UIShell/SwitcherItem.js +2 -2
- package/es/internal/FloatingMenu.js +4 -4
- package/es/internal/OptimizedResize.d.ts +18 -0
- package/es/internal/OptimizedResize.js +21 -24
- package/es/internal/keyboard/index.d.ts +9 -0
- package/es/internal/keyboard/keys.d.ts +23 -0
- package/es/internal/keyboard/keys.js +2 -2
- package/es/internal/keyboard/match.d.ts +26 -0
- package/es/internal/keyboard/match.js +17 -41
- package/es/internal/keyboard/navigation.d.ts +37 -0
- package/es/internal/keyboard/navigation.js +15 -27
- package/es/internal/useMergedRefs.js +3 -0
- package/lib/components/Accordion/AccordionItem.js +2 -2
- package/lib/components/Button/Button.d.ts +2 -3
- package/lib/components/Button/Button.js +1 -2
- package/lib/components/Button/ButtonBase.js +1 -1
- package/lib/components/ChatButton/ChatButton.d.ts +2 -3
- package/lib/components/ChatButton/ChatButton.js +1 -2
- package/lib/components/ComboBox/ComboBox.js +40 -30
- package/lib/components/ComboButton/index.js +0 -1
- package/lib/components/ComposedModal/ComposedModal.js +64 -50
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.d.ts +2 -2
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +1 -1
- package/lib/components/ContentSwitcher/ContentSwitcher.js +3 -3
- package/lib/components/ContextMenu/useContextMenu.d.ts +0 -1
- package/lib/components/ContextMenu/useContextMenu.js +1 -2
- package/lib/components/DataTable/TableBatchAction.d.ts +3 -3
- package/lib/components/DataTable/TableBatchAction.js +1 -1
- package/lib/components/DataTable/TableContainer.d.ts +1 -1
- package/lib/components/DataTable/TableContainer.js +3 -3
- package/lib/components/DataTable/TableExpandHeader.d.ts +6 -5
- package/lib/components/DataTable/TableToolbarMenu.d.ts +2 -2
- package/lib/components/DataTable/TableToolbarMenu.js +1 -1
- package/lib/components/DatePicker/DatePicker.js +2 -2
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +1 -1
- package/lib/components/Dialog/index.d.ts +42 -4
- package/lib/components/Dialog/index.js +190 -0
- package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
- package/lib/components/FeatureFlags/index.d.ts +3 -1
- package/lib/components/FeatureFlags/index.js +3 -0
- package/lib/components/FileUploader/FileUploader.d.ts +1 -1
- package/lib/components/FileUploader/FileUploader.js +2 -2
- package/lib/components/FileUploader/FileUploaderButton.js +2 -2
- package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
- package/lib/components/FileUploader/FileUploaderDropContainer.js +6 -4
- package/lib/components/FileUploader/FileUploaderItem.d.ts +1 -1
- package/lib/components/FileUploader/FileUploaderItem.js +2 -2
- package/lib/components/Grid/CSSGrid.js +18 -14
- package/lib/components/Grid/FlexGrid.js +7 -6
- package/lib/components/Grid/GridTypes.d.ts +5 -3
- package/lib/components/IconButton/index.js +3 -3
- package/lib/components/Layer/index.d.ts +4 -6
- package/lib/components/Layer/index.js +5 -6
- package/lib/components/Link/Link.d.ts +2 -3
- package/lib/components/Link/Link.js +1 -2
- package/lib/components/ListBox/ListBoxMenuItem.d.ts +3 -3
- package/lib/components/ListBox/ListBoxMenuItem.js +36 -14
- package/lib/components/Menu/Menu.d.ts +1 -0
- package/lib/components/Menu/Menu.js +7 -9
- package/lib/components/Menu/MenuContext.d.ts +4 -4
- package/lib/components/Menu/MenuContext.js +6 -1
- package/lib/components/Menu/MenuItem.d.ts +2 -2
- package/lib/components/Menu/MenuItem.js +15 -23
- package/lib/components/MenuButton/index.js +14 -2
- package/lib/components/Modal/Modal.js +123 -51
- package/lib/components/ModalWrapper/ModalWrapper.js +1 -1
- package/lib/components/MultiSelect/FilterableMultiSelect.js +3 -3
- package/lib/components/MultiSelect/MultiSelect.js +2 -2
- package/lib/components/Notification/Notification.d.ts +5 -13
- package/lib/components/Notification/Notification.js +7 -9
- package/lib/components/OverflowMenu/OverflowMenu.d.ts +4 -8
- package/lib/components/OverflowMenu/OverflowMenu.js +3 -3
- package/lib/components/OverflowMenu/next/index.d.ts +2 -2
- package/lib/components/OverflowMenu/next/index.js +1 -1
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +2 -2
- package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -2
- package/lib/components/RadioTile/RadioTile.js +2 -2
- package/lib/components/Search/Search.d.ts +2 -3
- package/lib/components/Search/Search.js +4 -6
- package/lib/components/Slider/Slider.d.ts +16 -15
- package/lib/components/Slider/Slider.js +22 -22
- package/lib/components/Tabs/Tabs.d.ts +3 -6
- package/lib/components/Tabs/Tabs.js +8 -9
- package/lib/components/Tag/DismissibleTag.d.ts +3 -5
- package/lib/components/Tag/DismissibleTag.js +1 -2
- package/lib/components/Tag/OperationalTag.d.ts +2 -3
- package/lib/components/Tag/OperationalTag.js +1 -2
- package/lib/components/Tag/SelectableTag.d.ts +3 -5
- package/lib/components/Tag/SelectableTag.js +1 -2
- package/lib/components/Tag/Tag.d.ts +2 -3
- package/lib/components/Tag/Tag.js +1 -2
- package/lib/components/Tile/Tile.d.ts +3 -5
- package/lib/components/Tile/Tile.js +8 -6
- package/lib/components/Toggletip/index.js +2 -2
- package/lib/components/Tooltip/DefinitionTooltip.js +2 -2
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/components/Tooltip/Tooltip.js +2 -2
- package/lib/components/TreeView/TreeNode.d.ts +3 -5
- package/lib/components/TreeView/TreeNode.js +3 -4
- package/lib/components/TreeView/TreeView.js +2 -2
- package/lib/components/UIShell/HeaderContainer.js +2 -2
- package/lib/components/UIShell/HeaderMenu.js +2 -2
- package/lib/components/UIShell/HeaderPanel.js +2 -2
- package/lib/components/UIShell/SideNav.d.ts +1 -1
- package/lib/components/UIShell/SideNav.js +2 -2
- package/lib/components/UIShell/SideNavHeader.d.ts +2 -3
- package/lib/components/UIShell/SideNavHeader.js +1 -2
- package/lib/components/UIShell/SideNavLink.d.ts +2 -2
- package/lib/components/UIShell/SideNavLink.js +1 -1
- package/lib/components/UIShell/SideNavMenu.d.ts +2 -2
- package/lib/components/UIShell/SideNavMenu.js +3 -3
- package/lib/components/UIShell/SwitcherItem.js +2 -2
- package/lib/internal/FloatingMenu.js +5 -5
- package/lib/internal/OptimizedResize.d.ts +18 -0
- package/lib/internal/OptimizedResize.js +21 -24
- package/lib/internal/keyboard/index.d.ts +9 -0
- package/lib/internal/keyboard/keys.d.ts +23 -0
- package/lib/internal/keyboard/keys.js +2 -2
- package/lib/internal/keyboard/match.d.ts +26 -0
- package/lib/internal/keyboard/match.js +17 -41
- package/lib/internal/keyboard/navigation.d.ts +37 -0
- package/lib/internal/keyboard/navigation.js +15 -27
- package/lib/internal/useMergedRefs.js +3 -0
- package/package.json +7 -7
- package/scss/components/dialog/_dialog.scss +9 -0
- package/scss/components/dialog/_index.scss +9 -0
- package/telemetry.yml +1 -0
- package/es/components/Modal/next/index.d.ts +0 -171
- package/es/internal/focus/index.js +0 -15
- package/lib/components/Modal/next/index.d.ts +0 -171
- package/lib/internal/focus/index.js +0 -19
|
@@ -19,22 +19,23 @@ var Button = require('../Button/Button.js');
|
|
|
19
19
|
require('../Button/Button.Skeleton.js');
|
|
20
20
|
var ButtonSet = require('../ButtonSet/ButtonSet.js');
|
|
21
21
|
var InlineLoading = require('../InlineLoading/InlineLoading.js');
|
|
22
|
-
var index$
|
|
22
|
+
var index$3 = require('../Layer/index.js');
|
|
23
23
|
var requiredIfGivenPropIsTruthy = require('../../prop-types/requiredIfGivenPropIsTruthy.js');
|
|
24
24
|
var wrapFocus = require('../../internal/wrapFocus.js');
|
|
25
25
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
26
26
|
var useId = require('../../internal/useId.js');
|
|
27
27
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
28
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
29
|
+
var match = require('../../internal/keyboard/match.js');
|
|
28
30
|
var index$2 = require('../IconButton/index.js');
|
|
29
31
|
var noopFn = require('../../internal/noopFn.js');
|
|
30
32
|
require('../Text/index.js');
|
|
31
33
|
var index = require('../FeatureFlags/index.js');
|
|
32
34
|
var events = require('../../tools/events.js');
|
|
33
35
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
36
|
+
var index$1 = require('../Dialog/index.js');
|
|
34
37
|
var debounce = require('../../node_modules/es-toolkit/dist/compat/function/debounce.mjs.js');
|
|
35
|
-
var match = require('../../internal/keyboard/match.js');
|
|
36
38
|
var Text = require('../Text/Text.js');
|
|
37
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
38
39
|
|
|
39
40
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
40
41
|
|
|
@@ -96,7 +97,7 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
96
97
|
[`${prefix}--btn--loading`]: loadingStatus !== 'inactive'
|
|
97
98
|
});
|
|
98
99
|
const loadingActive = loadingStatus !== 'inactive';
|
|
99
|
-
const
|
|
100
|
+
const enableDialogElement = index.useFeatureFlag('enable-experimental-focus-wrap-without-sentinels') || index.useFeatureFlag('enable-dialog-element');
|
|
100
101
|
function isCloseButton(element) {
|
|
101
102
|
return !onSecondarySubmit && element === secondaryButton.current || element.classList.contains(modalCloseButtonClass);
|
|
102
103
|
}
|
|
@@ -109,13 +110,6 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
109
110
|
if (match.match(evt, keys.Enter) && shouldSubmitOnEnter && !isCloseButton(evt.target)) {
|
|
110
111
|
onRequestSubmit(evt);
|
|
111
112
|
}
|
|
112
|
-
if (focusTrapWithoutSentinels && match.match(evt, keys.Tab) && innerModal.current) {
|
|
113
|
-
wrapFocus.wrapFocusWithoutSentinels({
|
|
114
|
-
containerNode: innerModal.current,
|
|
115
|
-
currentActiveNode: evt.target,
|
|
116
|
-
event: evt
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
113
|
}
|
|
120
114
|
}
|
|
121
115
|
function handleOnClick(evt) {
|
|
@@ -191,40 +185,46 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
191
185
|
}
|
|
192
186
|
React.useEffect(() => {
|
|
193
187
|
return () => {
|
|
194
|
-
|
|
188
|
+
if (!enableDialogElement) {
|
|
189
|
+
toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, false);
|
|
190
|
+
}
|
|
195
191
|
};
|
|
196
|
-
}, [prefix]);
|
|
192
|
+
}, [prefix, enableDialogElement]);
|
|
197
193
|
React.useEffect(() => {
|
|
198
|
-
|
|
199
|
-
|
|
194
|
+
if (!enableDialogElement) {
|
|
195
|
+
toggleClass["default"](document.body, `${prefix}--body--with-modal-open`, open ?? false);
|
|
196
|
+
}
|
|
197
|
+
}, [open, prefix, enableDialogElement]);
|
|
200
198
|
React.useEffect(() => {
|
|
201
|
-
if (!open && launcherButtonRef) {
|
|
199
|
+
if (!enableDialogElement && !open && launcherButtonRef) {
|
|
202
200
|
setTimeout(() => {
|
|
203
201
|
if ('current' in launcherButtonRef) {
|
|
204
202
|
launcherButtonRef.current?.focus();
|
|
205
203
|
}
|
|
206
204
|
});
|
|
207
205
|
}
|
|
208
|
-
}, [open, launcherButtonRef]);
|
|
206
|
+
}, [open, launcherButtonRef, enableDialogElement]);
|
|
209
207
|
React.useEffect(() => {
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
const
|
|
220
|
-
|
|
221
|
-
target
|
|
208
|
+
if (!enableDialogElement) {
|
|
209
|
+
const initialFocus = focusContainerElement => {
|
|
210
|
+
const containerElement = focusContainerElement || innerModal.current;
|
|
211
|
+
const primaryFocusElement = containerElement ? containerElement.querySelector(danger ? `.${prefix}--btn--secondary` : selectorPrimaryFocus) : null;
|
|
212
|
+
if (primaryFocusElement) {
|
|
213
|
+
return primaryFocusElement;
|
|
214
|
+
}
|
|
215
|
+
return button && button.current;
|
|
216
|
+
};
|
|
217
|
+
const focusButton = focusContainerElement => {
|
|
218
|
+
const target = initialFocus(focusContainerElement);
|
|
219
|
+
if (target !== null) {
|
|
220
|
+
target.focus();
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
if (open) {
|
|
224
|
+
focusButton(innerModal.current);
|
|
222
225
|
}
|
|
223
|
-
};
|
|
224
|
-
if (open) {
|
|
225
|
-
focusButton(innerModal.current);
|
|
226
226
|
}
|
|
227
|
-
}, [open, selectorPrimaryFocus, danger, prefix]);
|
|
227
|
+
}, [open, selectorPrimaryFocus, danger, prefix, enableDialogElement]);
|
|
228
228
|
useIsomorphicEffect["default"](() => {
|
|
229
229
|
if (contentRef.current) {
|
|
230
230
|
setIsScrollable(contentRef.current.scrollHeight > contentRef.current.clientHeight);
|
|
@@ -264,7 +264,84 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
264
264
|
tabIndex: "-1",
|
|
265
265
|
className: `${modalCloseButtonClass}__icon`
|
|
266
266
|
})));
|
|
267
|
-
|
|
267
|
+
|
|
268
|
+
// alertdialog is the only permitted aria role for a native dialog element
|
|
269
|
+
// https://www.w3.org/TR/html-aria/#docconformance:~:text=Role%3A-,alertdialog,-.%20(dialog%20is
|
|
270
|
+
const isAlertDialog = alert && !passiveModal;
|
|
271
|
+
const modalBody = enableDialogElement ? /*#__PURE__*/React__default["default"].createElement(index$1.unstable__Dialog, {
|
|
272
|
+
open: open,
|
|
273
|
+
modal: true,
|
|
274
|
+
ref: innerModal,
|
|
275
|
+
role: isAlertDialog ? 'alertdialog' : '',
|
|
276
|
+
"aria-describedby": isAlertDialog ? modalBodyId : '',
|
|
277
|
+
className: containerClasses,
|
|
278
|
+
"aria-label": ariaLabel
|
|
279
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
280
|
+
className: `${prefix}--modal-header`
|
|
281
|
+
}, modalLabel && /*#__PURE__*/React__default["default"].createElement(Text.Text, {
|
|
282
|
+
as: "h2",
|
|
283
|
+
id: modalLabelId,
|
|
284
|
+
className: `${prefix}--modal-header__label`
|
|
285
|
+
}, modalLabel), /*#__PURE__*/React__default["default"].createElement(Text.Text, {
|
|
286
|
+
as: "h2",
|
|
287
|
+
id: modalHeadingId,
|
|
288
|
+
className: `${prefix}--modal-header__heading`
|
|
289
|
+
}, modalHeading), decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
290
|
+
className: `${prefix}--modal--inner__decorator`
|
|
291
|
+
}, normalizedDecorator) : '', /*#__PURE__*/React__default["default"].createElement("div", {
|
|
292
|
+
className: `${prefix}--modal-close-button`
|
|
293
|
+
}, /*#__PURE__*/React__default["default"].createElement(index$2.IconButton, {
|
|
294
|
+
className: modalCloseButtonClass,
|
|
295
|
+
label: closeButtonLabel,
|
|
296
|
+
onClick: onRequestClose,
|
|
297
|
+
"aria-label": closeButtonLabel,
|
|
298
|
+
align: "left",
|
|
299
|
+
ref: button
|
|
300
|
+
}, /*#__PURE__*/React__default["default"].createElement(iconsReact.Close, {
|
|
301
|
+
size: 20,
|
|
302
|
+
"aria-hidden": "true",
|
|
303
|
+
tabIndex: "-1",
|
|
304
|
+
className: `${modalCloseButtonClass}__icon`
|
|
305
|
+
})))), /*#__PURE__*/React__default["default"].createElement(index$3.Layer, _rollupPluginBabelHelpers["extends"]({
|
|
306
|
+
ref: contentRef,
|
|
307
|
+
id: modalBodyId,
|
|
308
|
+
className: contentClasses
|
|
309
|
+
}, hasScrollingContentProps), children), !passiveModal && /*#__PURE__*/React__default["default"].createElement(ButtonSet["default"], {
|
|
310
|
+
className: footerClasses,
|
|
311
|
+
"aria-busy": loadingActive
|
|
312
|
+
}, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map((_ref3, i) => {
|
|
313
|
+
let {
|
|
314
|
+
buttonText,
|
|
315
|
+
onClick: onButtonClick
|
|
316
|
+
} = _ref3;
|
|
317
|
+
return /*#__PURE__*/React__default["default"].createElement(Button["default"], {
|
|
318
|
+
key: `${buttonText}-${i}`,
|
|
319
|
+
kind: "secondary",
|
|
320
|
+
onClick: onButtonClick
|
|
321
|
+
}, buttonText);
|
|
322
|
+
}) : secondaryButtonText && /*#__PURE__*/React__default["default"].createElement(Button["default"], {
|
|
323
|
+
disabled: loadingActive,
|
|
324
|
+
kind: "secondary",
|
|
325
|
+
onClick: onSecondaryButtonClick,
|
|
326
|
+
ref: secondaryButton
|
|
327
|
+
}, secondaryButtonText), /*#__PURE__*/React__default["default"].createElement(Button["default"], {
|
|
328
|
+
className: primaryButtonClass,
|
|
329
|
+
kind: danger ? 'danger' : 'primary',
|
|
330
|
+
disabled: loadingActive || primaryButtonDisabled,
|
|
331
|
+
onClick: onRequestSubmit,
|
|
332
|
+
ref: button
|
|
333
|
+
}, loadingStatus === 'inactive' ? primaryButtonText : /*#__PURE__*/React__default["default"].createElement(InlineLoading["default"], {
|
|
334
|
+
status: loadingStatus,
|
|
335
|
+
description: loadingDescription,
|
|
336
|
+
iconDescription: loadingIconDescription,
|
|
337
|
+
className: `${prefix}--inline-loading--btn`,
|
|
338
|
+
onSuccess: onLoadingSuccess
|
|
339
|
+
})))) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !enableDialogElement && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
340
|
+
ref: startTrap,
|
|
341
|
+
tabIndex: 0,
|
|
342
|
+
role: "link",
|
|
343
|
+
className: `${prefix}--visually-hidden`
|
|
344
|
+
}, "Focus sentinel"), /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
268
345
|
ref: innerModal,
|
|
269
346
|
role: "dialog"
|
|
270
347
|
}, alertDialogProps, {
|
|
@@ -284,18 +361,18 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
284
361
|
className: `${prefix}--modal-header__heading`
|
|
285
362
|
}, modalHeading), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
286
363
|
className: `${prefix}--modal--inner__decorator`
|
|
287
|
-
}, normalizedDecorator) : '', !passiveModal && modalButton), /*#__PURE__*/React__default["default"].createElement(index$
|
|
364
|
+
}, normalizedDecorator) : '', !passiveModal && modalButton), /*#__PURE__*/React__default["default"].createElement(index$3.Layer, _rollupPluginBabelHelpers["extends"]({
|
|
288
365
|
ref: contentRef,
|
|
289
366
|
id: modalBodyId,
|
|
290
367
|
className: contentClasses
|
|
291
368
|
}, hasScrollingContentProps), children), !passiveModal && /*#__PURE__*/React__default["default"].createElement(ButtonSet["default"], {
|
|
292
369
|
className: footerClasses,
|
|
293
370
|
"aria-busy": loadingActive
|
|
294
|
-
}, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map((
|
|
371
|
+
}, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map((_ref4, i) => {
|
|
295
372
|
let {
|
|
296
373
|
buttonText,
|
|
297
374
|
onClick: onButtonClick
|
|
298
|
-
} =
|
|
375
|
+
} = _ref4;
|
|
299
376
|
return /*#__PURE__*/React__default["default"].createElement(Button["default"], {
|
|
300
377
|
key: `${buttonText}-${i}`,
|
|
301
378
|
kind: "secondary",
|
|
@@ -318,26 +395,21 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
318
395
|
iconDescription: loadingIconDescription,
|
|
319
396
|
className: `${prefix}--inline-loading--btn`,
|
|
320
397
|
onSuccess: onLoadingSuccess
|
|
321
|
-
}))))
|
|
322
|
-
|
|
398
|
+
})))), !enableDialogElement && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
399
|
+
ref: endTrap,
|
|
400
|
+
tabIndex: 0,
|
|
401
|
+
role: "link",
|
|
402
|
+
className: `${prefix}--visually-hidden`
|
|
403
|
+
}, "Focus sentinel"));
|
|
404
|
+
return /*#__PURE__*/React__default["default"].createElement(index$3.Layer, _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
323
405
|
level: 0,
|
|
324
406
|
onKeyDown: handleKeyDown,
|
|
325
407
|
onClick: events.composeEventHandlers([rest?.onClick, handleOnClick]),
|
|
326
|
-
onBlur: !
|
|
408
|
+
onBlur: !enableDialogElement ? handleBlur : () => {},
|
|
327
409
|
className: modalClasses,
|
|
328
410
|
role: "presentation",
|
|
329
411
|
ref: ref
|
|
330
|
-
}),
|
|
331
|
-
ref: startTrap,
|
|
332
|
-
tabIndex: 0,
|
|
333
|
-
role: "link",
|
|
334
|
-
className: `${prefix}--visually-hidden`
|
|
335
|
-
}, "Focus sentinel"), modalBody, !focusTrapWithoutSentinels && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
336
|
-
ref: endTrap,
|
|
337
|
-
tabIndex: 0,
|
|
338
|
-
role: "link",
|
|
339
|
-
className: `${prefix}--visually-hidden`
|
|
340
|
-
}, "Focus sentinel"));
|
|
412
|
+
}), modalBody);
|
|
341
413
|
});
|
|
342
414
|
Modal.propTypes = {
|
|
343
415
|
/**
|
|
@@ -17,8 +17,8 @@ var Button = require('../Button/Button.js');
|
|
|
17
17
|
require('../Button/Button.Skeleton.js');
|
|
18
18
|
var warning = require('../../internal/warning.js');
|
|
19
19
|
var noopFn = require('../../internal/noopFn.js');
|
|
20
|
-
var match = require('../../internal/keyboard/match.js');
|
|
21
20
|
var keys = require('../../internal/keyboard/keys.js');
|
|
21
|
+
var match = require('../../internal/keyboard/match.js');
|
|
22
22
|
|
|
23
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
24
|
|
|
@@ -21,6 +21,8 @@ var MultiSelectPropTypes = require('./MultiSelectPropTypes.js');
|
|
|
21
21
|
var index = require('../ListBox/index.js');
|
|
22
22
|
var ListBoxSelection = require('../ListBox/next/ListBoxSelection.js');
|
|
23
23
|
var ListBoxTrigger = require('../ListBox/next/ListBoxTrigger.js');
|
|
24
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
25
|
+
var match = require('../../internal/keyboard/match.js');
|
|
24
26
|
var itemToString = require('./tools/itemToString.js');
|
|
25
27
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
26
28
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
@@ -31,9 +33,7 @@ require('../FluidForm/FluidForm.js');
|
|
|
31
33
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
32
34
|
var Selection = require('../../internal/Selection.js');
|
|
33
35
|
var react = require('@floating-ui/react');
|
|
34
|
-
var match = require('../../internal/keyboard/match.js');
|
|
35
36
|
var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
|
|
36
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
37
37
|
|
|
38
38
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
39
39
|
|
|
@@ -426,7 +426,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
426
426
|
});
|
|
427
427
|
function clearInputValue(event) {
|
|
428
428
|
const value = textInput.current?.value;
|
|
429
|
-
if (value?.length === 1 || event && match.match(event, keys.Escape)) {
|
|
429
|
+
if (value?.length === 1 || event && 'key' in event && match.match(event, keys.Escape)) {
|
|
430
430
|
setInputValue('');
|
|
431
431
|
} else {
|
|
432
432
|
setInputValue(value ?? '');
|
|
@@ -23,6 +23,8 @@ var Selection = require('../../internal/Selection.js');
|
|
|
23
23
|
var useId = require('../../internal/useId.js');
|
|
24
24
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
25
25
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
26
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
27
|
+
var match = require('../../internal/keyboard/match.js');
|
|
26
28
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
27
29
|
require('../FluidForm/FluidForm.js');
|
|
28
30
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
@@ -31,9 +33,7 @@ require('../Checkbox/Checkbox.Skeleton.js');
|
|
|
31
33
|
var noopFn = require('../../internal/noopFn.js');
|
|
32
34
|
var react = require('@floating-ui/react');
|
|
33
35
|
var index = require('../FeatureFlags/index.js');
|
|
34
|
-
var match = require('../../internal/keyboard/match.js');
|
|
35
36
|
var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
|
|
36
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
37
37
|
|
|
38
38
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
39
39
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2016,
|
|
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.
|
|
6
6
|
*/
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
-
import React, { type ReactNode, type MouseEvent, type
|
|
8
|
+
import React, { type ReactNode, type MouseEvent, type ButtonHTMLAttributes, type HTMLAttributes } from 'react';
|
|
9
9
|
import { type ButtonProps } from '../Button';
|
|
10
10
|
export interface NotificationActionButtonProps extends ButtonProps<'button'> {
|
|
11
11
|
/**
|
|
@@ -71,16 +71,9 @@ export interface NotificationButtonProps extends ButtonHTMLAttributes<HTMLButton
|
|
|
71
71
|
*/
|
|
72
72
|
notificationType?: 'toast' | 'inline' | 'actionable';
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
75
|
-
* Can be a React component class
|
|
74
|
+
* A component used to render an icon.
|
|
76
75
|
*/
|
|
77
|
-
renderIcon?:
|
|
78
|
-
className?: string;
|
|
79
|
-
name?: string;
|
|
80
|
-
}> | FunctionComponent<{
|
|
81
|
-
className?: string;
|
|
82
|
-
name?: string;
|
|
83
|
-
}>;
|
|
76
|
+
renderIcon?: React.ElementType;
|
|
84
77
|
}
|
|
85
78
|
export declare function NotificationButton({ 'aria-label': ariaLabel, ariaLabel: deprecatedAriaLabel, className, type, renderIcon: IconTag, name, notificationType, ...rest }: NotificationButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
86
79
|
export declare namespace NotificationButton {
|
|
@@ -108,8 +101,7 @@ export declare namespace NotificationButton {
|
|
|
108
101
|
*/
|
|
109
102
|
notificationType: PropTypes.Requireable<string>;
|
|
110
103
|
/**
|
|
111
|
-
*
|
|
112
|
-
* Can be a React component class
|
|
104
|
+
* A component used to render an icon.
|
|
113
105
|
*/
|
|
114
106
|
renderIcon: PropTypes.Requireable<object>;
|
|
115
107
|
/**
|
|
@@ -20,6 +20,8 @@ var Button = require('../Button/Button.js');
|
|
|
20
20
|
require('../Button/Button.Skeleton.js');
|
|
21
21
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
22
22
|
var useNoInteractiveChildren = require('../../internal/useNoInteractiveChildren.js');
|
|
23
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
24
|
+
var match = require('../../internal/keyboard/match.js');
|
|
23
25
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
24
26
|
var useId = require('../../internal/useId.js');
|
|
25
27
|
var noopFn = require('../../internal/noopFn.js');
|
|
@@ -27,9 +29,7 @@ var wrapFocus = require('../../internal/wrapFocus.js');
|
|
|
27
29
|
var index = require('../FeatureFlags/index.js');
|
|
28
30
|
var warning = require('../../internal/warning.js');
|
|
29
31
|
var deprecateValuesWithin = require('../../prop-types/deprecateValuesWithin.js');
|
|
30
|
-
var match = require('../../internal/keyboard/match.js');
|
|
31
32
|
var Text = require('../Text/Text.js');
|
|
32
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
33
33
|
|
|
34
34
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
35
35
|
|
|
@@ -155,8 +155,7 @@ NotificationButton.propTypes = {
|
|
|
155
155
|
*/
|
|
156
156
|
notificationType: PropTypes__default["default"].oneOf(['toast', 'inline', 'actionable']),
|
|
157
157
|
/**
|
|
158
|
-
*
|
|
159
|
-
* Can be a React component class
|
|
158
|
+
* A component used to render an icon.
|
|
160
159
|
*/
|
|
161
160
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
162
161
|
/**
|
|
@@ -740,11 +739,9 @@ function Callout(_ref8) {
|
|
|
740
739
|
[`${prefix}--actionable-notification--${kind}`]: kind,
|
|
741
740
|
[`${prefix}--actionable-notification--hide-close-button`]: true
|
|
742
741
|
});
|
|
743
|
-
const
|
|
744
|
-
useNoInteractiveChildren.useInteractiveChildrenNeedDescription(
|
|
745
|
-
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
746
|
-
ref: ref
|
|
747
|
-
}, rest, {
|
|
742
|
+
const childrenContainer = React.useRef(null);
|
|
743
|
+
useNoInteractiveChildren.useInteractiveChildrenNeedDescription(childrenContainer, `interactive child node(s) should have an \`aria-describedby\` property with a value matching the value of \`titleId\``);
|
|
744
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
748
745
|
className: containerClassName
|
|
749
746
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
750
747
|
className: `${prefix}--actionable-notification__details`
|
|
@@ -753,6 +750,7 @@ function Callout(_ref8) {
|
|
|
753
750
|
kind: kind,
|
|
754
751
|
iconDescription: statusIconDescription || `${kind} icon`
|
|
755
752
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
753
|
+
ref: childrenContainer,
|
|
756
754
|
className: `${prefix}--actionable-notification__text-wrapper`
|
|
757
755
|
}, title && /*#__PURE__*/React__default["default"].createElement(Text.Text, {
|
|
758
756
|
as: "div",
|
|
@@ -5,13 +5,9 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { type MenuDirection, type MenuOffset } from '../../internal/FloatingMenu';
|
|
8
|
-
import React
|
|
8
|
+
import React from 'react';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
10
|
export declare const getMenuOffset: MenuOffset;
|
|
11
|
-
type IconProps = {
|
|
12
|
-
className?: string;
|
|
13
|
-
'aria-label'?: string;
|
|
14
|
-
};
|
|
15
11
|
export interface OverflowMenuProps {
|
|
16
12
|
/**
|
|
17
13
|
* Specify a label to be read by screen readers on the container node
|
|
@@ -89,9 +85,9 @@ export interface OverflowMenuProps {
|
|
|
89
85
|
*/
|
|
90
86
|
open?: boolean;
|
|
91
87
|
/**
|
|
92
|
-
*
|
|
88
|
+
* A component used to render an icon.
|
|
93
89
|
*/
|
|
94
|
-
renderIcon?:
|
|
90
|
+
renderIcon?: React.ElementType;
|
|
95
91
|
/**
|
|
96
92
|
* Specify a CSS selector that matches the DOM element that should
|
|
97
93
|
* be focused when the OverflowMenu opens
|
|
@@ -208,7 +204,7 @@ declare class OverflowMenu extends React.Component<OverflowMenuProps, OverflowMe
|
|
|
208
204
|
*/
|
|
209
205
|
open: PropTypes.Requireable<boolean>;
|
|
210
206
|
/**
|
|
211
|
-
*
|
|
207
|
+
* A component used to render an icon.
|
|
212
208
|
*/
|
|
213
209
|
renderIcon: PropTypes.Requireable<object>;
|
|
214
210
|
/**
|
|
@@ -12,6 +12,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
12
12
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
13
|
var FloatingMenu = require('../../internal/FloatingMenu.js');
|
|
14
14
|
var React = require('react');
|
|
15
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
16
|
+
var match = require('../../internal/keyboard/match.js');
|
|
15
17
|
var ClickListener = require('../../internal/ClickListener.js');
|
|
16
18
|
var index = require('../IconButton/index.js');
|
|
17
19
|
var iconsReact = require('@carbon/icons-react');
|
|
@@ -23,8 +25,6 @@ var invariant = require('invariant');
|
|
|
23
25
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
24
26
|
var noopFn = require('../../internal/noopFn.js');
|
|
25
27
|
var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
|
|
26
|
-
var match = require('../../internal/keyboard/match.js');
|
|
27
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
28
28
|
|
|
29
29
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
30
30
|
|
|
@@ -499,7 +499,7 @@ _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "propTypes", {
|
|
|
499
499
|
*/
|
|
500
500
|
open: PropTypes__default["default"].bool,
|
|
501
501
|
/**
|
|
502
|
-
*
|
|
502
|
+
* A component used to render an icon.
|
|
503
503
|
*/
|
|
504
504
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
505
505
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2020,
|
|
2
|
+
* Copyright IBM Corp. 2020, 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 @@ interface OverflowMenuProps {
|
|
|
27
27
|
*/
|
|
28
28
|
menuAlignment?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* A component used to render an icon.
|
|
31
31
|
*/
|
|
32
32
|
renderIcon?: ComponentType | FunctionComponent;
|
|
33
33
|
/**
|
|
@@ -175,7 +175,7 @@ OverflowMenu.propTypes = {
|
|
|
175
175
|
*/
|
|
176
176
|
menuAlignment: PropTypes__default["default"].oneOf(['top-start', 'top-end', 'bottom-start', 'bottom-end']),
|
|
177
177
|
/**
|
|
178
|
-
*
|
|
178
|
+
* A component used to render an icon.
|
|
179
179
|
*/
|
|
180
180
|
// @ts-expect-error: PropTypes are not expressive enough to cover this case
|
|
181
181
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
@@ -13,12 +13,12 @@ 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 usePrefix = require('../../internal/usePrefix.js');
|
|
17
19
|
var warning = require('../../internal/warning.js');
|
|
18
20
|
require('../Text/index.js');
|
|
19
|
-
var match = require('../../internal/keyboard/match.js');
|
|
20
21
|
var Text = require('../Text/Text.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
|
|
|
@@ -13,12 +13,12 @@ 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 iconsReact = require('@carbon/icons-react');
|
|
17
19
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
20
|
require('../Text/index.js');
|
|
19
|
-
var match = require('../../internal/keyboard/match.js');
|
|
20
21
|
var Text = require('../Text/Text.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,15 +14,15 @@ 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 useId = require('../../internal/useId.js');
|
|
18
20
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
21
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
20
22
|
var noopFn = require('../../internal/noopFn.js');
|
|
21
23
|
require('../Text/index.js');
|
|
22
24
|
var index = require('../FeatureFlags/index.js');
|
|
23
|
-
var match = require('../../internal/keyboard/match.js');
|
|
24
25
|
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
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2016,
|
|
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 interface SearchProps extends InputPropsBase {
|
|
|
62
62
|
*/
|
|
63
63
|
placeholder?: string;
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
66
|
-
* Can be a React component class
|
|
65
|
+
* A component used to render an icon.
|
|
67
66
|
*/
|
|
68
67
|
renderIcon?: ComponentType | FunctionComponent;
|
|
69
68
|
/**
|
|
@@ -14,7 +14,8 @@ 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
|
|
17
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
18
|
+
var match = require('../../internal/keyboard/match.js');
|
|
18
19
|
var useId = require('../../internal/useId.js');
|
|
19
20
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
20
21
|
var events = require('../../tools/events.js');
|
|
@@ -22,8 +23,6 @@ var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
|
22
23
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
23
24
|
require('../FluidForm/FluidForm.js');
|
|
24
25
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
25
|
-
var match = require('../../internal/keyboard/match.js');
|
|
26
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
27
26
|
|
|
28
27
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
28
|
|
|
@@ -100,7 +99,7 @@ const Search = /*#__PURE__*/React__default["default"].forwardRef(function Search
|
|
|
100
99
|
onChange(clearedEvt);
|
|
101
100
|
onClear();
|
|
102
101
|
setHasContent(false);
|
|
103
|
-
|
|
102
|
+
inputRef.current?.focus();
|
|
104
103
|
}
|
|
105
104
|
function handleChange(event) {
|
|
106
105
|
setHasContent(event.target.value !== '');
|
|
@@ -231,8 +230,7 @@ Search.propTypes = {
|
|
|
231
230
|
*/
|
|
232
231
|
placeholder: PropTypes__default["default"].string,
|
|
233
232
|
/**
|
|
234
|
-
*
|
|
235
|
-
* Can be a React component class
|
|
233
|
+
* A component used to render an icon.
|
|
236
234
|
*/
|
|
237
235
|
// @ts-expect-error: PropTypes are not expressive enough to cover this case
|
|
238
236
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|