@carbon/react 1.78.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 +883 -883
- 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 +34 -24
- 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/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.js +2 -2
- package/es/components/Menu/MenuItem.d.ts +2 -2
- package/es/components/Menu/MenuItem.js +3 -3
- 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 +3 -4
- 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 +34 -24
- 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/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.js +2 -2
- package/lib/components/Menu/MenuItem.d.ts +2 -2
- package/lib/components/Menu/MenuItem.js +3 -3
- 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 +3 -4
- 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 +6 -6
- 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
|
@@ -10,10 +10,10 @@ import cx from 'classnames';
|
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import React__default, { useRef, useState } from 'react';
|
|
12
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
import { Escape } from '../../internal/keyboard/keys.js';
|
|
14
|
+
import { match } from '../../internal/keyboard/match.js';
|
|
13
15
|
import { useWindowEvent } from '../../internal/useEvent.js';
|
|
14
16
|
import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
15
|
-
import { match } from '../../internal/keyboard/match.js';
|
|
16
|
-
import { Escape } from '../../internal/keyboard/keys.js';
|
|
17
17
|
|
|
18
18
|
const noopFn = () => {};
|
|
19
19
|
const HeaderPanel = /*#__PURE__*/React__default.forwardRef(function HeaderPanel(_ref, ref) {
|
|
@@ -12,13 +12,13 @@ import PropTypes from 'prop-types';
|
|
|
12
12
|
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
13
13
|
import { CARBON_SIDENAV_ITEMS } from './_utils.js';
|
|
14
14
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
+
import { Tab, Escape } from '../../internal/keyboard/keys.js';
|
|
16
|
+
import { match } from '../../internal/keyboard/match.js';
|
|
15
17
|
import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
16
18
|
import { useWindowEvent } from '../../internal/useEvent.js';
|
|
17
19
|
import { useDelayedState } from '../../internal/useDelayedState.js';
|
|
18
20
|
import { breakpoints } from '@carbon/layout';
|
|
19
21
|
import { useMatchMedia } from '../../internal/useMatchMedia.js';
|
|
20
|
-
import { match } from '../../internal/keyboard/match.js';
|
|
21
|
-
import { Tab, Escape } from '../../internal/keyboard/keys.js';
|
|
22
22
|
|
|
23
23
|
// TO-DO: comment back in when footer is added for rails
|
|
24
24
|
// import SideNavFooter from './SideNavFooter';
|
|
@@ -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.
|
|
@@ -20,8 +20,7 @@ export interface SideNavHeaderProps {
|
|
|
20
20
|
*/
|
|
21
21
|
isSideNavExpanded?: boolean;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
* a React class.
|
|
23
|
+
* A component used to render an icon.
|
|
25
24
|
*/
|
|
26
25
|
renderIcon: React.ComponentType;
|
|
27
26
|
}
|
|
@@ -39,8 +39,7 @@ SideNavHeader.propTypes = {
|
|
|
39
39
|
*/
|
|
40
40
|
isSideNavExpanded: PropTypes.bool,
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
* a React class.
|
|
42
|
+
* A component used to render an icon.
|
|
44
43
|
*/
|
|
45
44
|
// @ts-expect-error - PropTypes are unable to cover this case.
|
|
46
45
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired
|
|
@@ -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.
|
|
@@ -37,7 +37,7 @@ export type SideNavLinkProps<E extends ElementType> = LinkProps<E> & {
|
|
|
37
37
|
*/
|
|
38
38
|
large?: boolean;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* A component used to render an icon.
|
|
41
41
|
*/
|
|
42
42
|
renderIcon?: ComponentType;
|
|
43
43
|
/**
|
|
@@ -69,7 +69,7 @@ SideNavLink.propTypes = {
|
|
|
69
69
|
*/
|
|
70
70
|
large: PropTypes.bool,
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
72
|
+
* A component used to render an icon.
|
|
73
73
|
*/
|
|
74
74
|
// @ts-expect-error - PropTypes are unable to cover this case.
|
|
75
75
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
@@ -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.
|
|
@@ -27,7 +27,7 @@ export interface SideNavMenuProps {
|
|
|
27
27
|
*/
|
|
28
28
|
large?: boolean;
|
|
29
29
|
/**
|
|
30
|
-
* A
|
|
30
|
+
* A component used to render an icon.
|
|
31
31
|
*/
|
|
32
32
|
renderIcon?: React.ComponentType;
|
|
33
33
|
/**
|
|
@@ -10,10 +10,10 @@ import cx from 'classnames';
|
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import React__default, { useContext, useState } from 'react';
|
|
12
12
|
import SideNavIcon from './SideNavIcon.js';
|
|
13
|
+
import { Escape } from '../../internal/keyboard/keys.js';
|
|
14
|
+
import { match } from '../../internal/keyboard/match.js';
|
|
13
15
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
16
|
import { SideNavContext } from './SideNav.js';
|
|
15
|
-
import { match } from '../../internal/keyboard/match.js';
|
|
16
|
-
import { Escape } from '../../internal/keyboard/keys.js';
|
|
17
17
|
|
|
18
18
|
var _ChevronDown;
|
|
19
19
|
const SideNavMenu = /*#__PURE__*/React__default.forwardRef(function SideNavMenu(_ref, ref) {
|
|
@@ -110,7 +110,7 @@ SideNavMenu.propTypes = {
|
|
|
110
110
|
*/
|
|
111
111
|
large: PropTypes.bool,
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
113
|
+
* A component used to render an icon.
|
|
114
114
|
*/
|
|
115
115
|
// @ts-expect-error - PropTypes are unable to cover this case.
|
|
116
116
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
@@ -11,9 +11,9 @@ import cx from 'classnames';
|
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
12
|
import { Link } from './Link.js';
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
|
-
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
15
|
-
import { match } from '../../internal/keyboard/match.js';
|
|
16
14
|
import { ArrowDown, ArrowUp } from '../../internal/keyboard/keys.js';
|
|
15
|
+
import { match } from '../../internal/keyboard/match.js';
|
|
16
|
+
import { AriaLabelPropType } from '../../prop-types/AriaPropTypes.js';
|
|
17
17
|
|
|
18
18
|
const SwitcherItem = /*#__PURE__*/forwardRef(function SwitcherItem(props, forwardRef) {
|
|
19
19
|
const {
|
|
@@ -9,13 +9,13 @@ import React__default, { useContext, useState, useRef, useCallback, useEffect, c
|
|
|
9
9
|
import * as FeatureFlags from '@carbon/feature-flags';
|
|
10
10
|
import ReactDOM from 'react-dom';
|
|
11
11
|
import window from 'window-or-global';
|
|
12
|
-
import
|
|
12
|
+
import { Tab } from './keyboard/keys.js';
|
|
13
|
+
import { match } from './keyboard/match.js';
|
|
13
14
|
import { selectorTabbable, selectorFocusable } from './keyboard/navigation.js';
|
|
15
|
+
import { OptimizedResize } from './OptimizedResize.js';
|
|
14
16
|
import { PrefixContext } from './usePrefix.js';
|
|
15
17
|
import { warning } from './warning.js';
|
|
16
18
|
import wrapFocus, { wrapFocusWithoutSentinels } from './wrapFocus.js';
|
|
17
|
-
import { match } from './keyboard/match.js';
|
|
18
|
-
import { Tab } from './keyboard/keys.js';
|
|
19
19
|
|
|
20
20
|
const DIRECTION_LEFT = 'left';
|
|
21
21
|
const DIRECTION_TOP = 'top';
|
|
@@ -205,7 +205,7 @@ const FloatingMenu = _ref2 => {
|
|
|
205
205
|
updateMenuPosition();
|
|
206
206
|
});
|
|
207
207
|
return () => {
|
|
208
|
-
resizeHandler.
|
|
208
|
+
resizeHandler.remove();
|
|
209
209
|
};
|
|
210
210
|
}, [triggerRef, menuOffset, menuDirection, flipped, target, updateOrientation]);
|
|
211
211
|
|
|
@@ -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 {};
|
|
@@ -8,44 +8,42 @@
|
|
|
8
8
|
import window from 'window-or-global';
|
|
9
9
|
|
|
10
10
|
// mdn resize function
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A callback function to be executed on `resize`.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const OptimizedResize = (() => {
|
|
12
17
|
const callbacks = [];
|
|
13
18
|
let running = false;
|
|
14
|
-
|
|
15
|
-
// run the actual callbacks
|
|
16
|
-
function runCallbacks() {
|
|
19
|
+
const runCallbacks = () => {
|
|
17
20
|
callbacks.forEach(callback => {
|
|
18
21
|
callback();
|
|
19
22
|
});
|
|
20
23
|
running = false;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// fired on resize event
|
|
24
|
-
function resize() {
|
|
24
|
+
};
|
|
25
|
+
const handleResize = () => {
|
|
25
26
|
if (!running) {
|
|
26
27
|
running = true;
|
|
27
28
|
window.requestAnimationFrame(runCallbacks);
|
|
28
29
|
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const index = callbacks.indexOf(callback);
|
|
35
|
-
if (index < 0) {
|
|
36
|
-
callbacks.push(callback);
|
|
37
|
-
}
|
|
30
|
+
};
|
|
31
|
+
const addCallback = callback => {
|
|
32
|
+
const index = callbacks.indexOf(callback);
|
|
33
|
+
if (index < 0) {
|
|
34
|
+
callbacks.push(callback);
|
|
38
35
|
}
|
|
39
|
-
}
|
|
36
|
+
};
|
|
40
37
|
return {
|
|
41
|
-
|
|
38
|
+
/** Adds a callback function to be executed on window `resize`. */
|
|
42
39
|
add: callback => {
|
|
43
40
|
if (!callbacks.length) {
|
|
44
|
-
window.addEventListener('resize',
|
|
41
|
+
window.addEventListener('resize', handleResize);
|
|
45
42
|
}
|
|
46
43
|
addCallback(callback);
|
|
47
44
|
return {
|
|
48
|
-
|
|
45
|
+
/** Removes the callback. */
|
|
46
|
+
remove: () => {
|
|
49
47
|
const index = callbacks.indexOf(callback);
|
|
50
48
|
if (index >= 0) {
|
|
51
49
|
callbacks.splice(index, 1);
|
|
@@ -54,7 +52,6 @@ const OptimizedResize = function optimizedResize() {
|
|
|
54
52
|
};
|
|
55
53
|
}
|
|
56
54
|
};
|
|
57
|
-
}();
|
|
58
|
-
var OptimizedResize$1 = OptimizedResize;
|
|
55
|
+
})();
|
|
59
56
|
|
|
60
|
-
export { OptimizedResize
|
|
57
|
+
export { OptimizedResize };
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
export * as keys from './keys';
|
|
8
|
+
export * from './match';
|
|
9
|
+
export * from './navigation';
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
import { KeyboardEvent } from 'react';
|
|
8
|
+
export type Key = Pick<KeyboardEvent, 'which' | 'keyCode' | 'code'> & {
|
|
9
|
+
key?: string | string[];
|
|
10
|
+
};
|
|
11
|
+
export declare const Tab: Key;
|
|
12
|
+
export declare const Enter: Key;
|
|
13
|
+
export declare const Escape: Key;
|
|
14
|
+
export declare const Space: Key;
|
|
15
|
+
export declare const PageUp: Key;
|
|
16
|
+
export declare const PageDown: Key;
|
|
17
|
+
export declare const End: Key;
|
|
18
|
+
export declare const Home: Key;
|
|
19
|
+
export declare const ArrowLeft: Key;
|
|
20
|
+
export declare const ArrowUp: Key;
|
|
21
|
+
export declare const ArrowRight: Key;
|
|
22
|
+
export declare const ArrowDown: Key;
|
|
23
|
+
export declare const Delete: Key;
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
import type { KeyboardEvent as ReactKeyboardEvent } from 'react';
|
|
8
|
+
import type { Key } from './keys';
|
|
9
|
+
/**
|
|
10
|
+
* Check to see if at least one key code matches the key code of the
|
|
11
|
+
* given event.
|
|
12
|
+
*
|
|
13
|
+
* @param event - The event to test.
|
|
14
|
+
* @param keysToMatch - An array of key definitions to match against.
|
|
15
|
+
* @returns `true` if one of the keys matches.
|
|
16
|
+
*/
|
|
17
|
+
export declare const matches: (event: ReactKeyboardEvent | KeyboardEvent, keysToMatch: Key[]) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Check to see if the given key matches the corresponding keyboard event. Also
|
|
20
|
+
* supports passing in the value directly if you can't use the given event.
|
|
21
|
+
*
|
|
22
|
+
* @param eventOrCode - A `KeyboardEvent`, a number, or a string value.
|
|
23
|
+
* @param keyObj - An object with key properties to match against.
|
|
24
|
+
* @returns `true` if the event or code matches the key definition.
|
|
25
|
+
*/
|
|
26
|
+
export declare const match: (eventOrCode: ReactKeyboardEvent | KeyboardEvent | number | string, { key, which, keyCode, code }: Key) => boolean;
|
|
@@ -5,65 +5,38 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* @typedef Key
|
|
10
|
-
* @property key {Array<string>|string}
|
|
11
|
-
* @property which {number}
|
|
12
|
-
* @property keyCode {number}
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
8
|
/**
|
|
16
9
|
* Check to see if at least one key code matches the key code of the
|
|
17
10
|
* given event.
|
|
18
11
|
*
|
|
19
|
-
* @
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* function handleOnKeyDown(event) {
|
|
24
|
-
* if (matches(event, [keys.Enter, keys.Space]) {
|
|
25
|
-
* // ...
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
*
|
|
29
|
-
* @param {Event|React.SyntheticEvent} event
|
|
30
|
-
* @param {Array<Key>} keysToMatch
|
|
31
|
-
* @returns {boolean}
|
|
12
|
+
* @param event - The event to test.
|
|
13
|
+
* @param keysToMatch - An array of key definitions to match against.
|
|
14
|
+
* @returns `true` if one of the keys matches.
|
|
32
15
|
*/
|
|
33
|
-
|
|
16
|
+
const matches = (event, keysToMatch) => {
|
|
34
17
|
for (let i = 0; i < keysToMatch.length; i++) {
|
|
35
18
|
if (match(event, keysToMatch[i])) {
|
|
36
19
|
return true;
|
|
37
20
|
}
|
|
38
21
|
}
|
|
39
22
|
return false;
|
|
40
|
-
}
|
|
23
|
+
};
|
|
41
24
|
|
|
42
25
|
/**
|
|
43
26
|
* Check to see if the given key matches the corresponding keyboard event. Also
|
|
44
|
-
* supports passing in the value directly if you can't
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* import * as keys from '../keys';
|
|
48
|
-
* import { matches } from '../match';
|
|
49
|
-
*
|
|
50
|
-
* function handleOnKeyDown(event) {
|
|
51
|
-
* if (match(event, keys.Enter) {
|
|
52
|
-
* // ...
|
|
53
|
-
* }
|
|
54
|
-
* }
|
|
27
|
+
* supports passing in the value directly if you can't use the given event.
|
|
55
28
|
*
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
58
|
-
* @returns
|
|
29
|
+
* @param eventOrCode - A `KeyboardEvent`, a number, or a string value.
|
|
30
|
+
* @param keyObj - An object with key properties to match against.
|
|
31
|
+
* @returns `true` if the event or code matches the key definition.
|
|
59
32
|
*/
|
|
60
|
-
|
|
33
|
+
const match = (eventOrCode, _ref) => {
|
|
61
34
|
let {
|
|
62
35
|
key,
|
|
63
36
|
which,
|
|
64
37
|
keyCode,
|
|
65
38
|
code
|
|
66
|
-
} =
|
|
39
|
+
} = _ref;
|
|
67
40
|
if (typeof eventOrCode === 'string') {
|
|
68
41
|
return eventOrCode === key;
|
|
69
42
|
}
|
|
@@ -71,9 +44,12 @@ function match(eventOrCode) {
|
|
|
71
44
|
return eventOrCode === which || eventOrCode === keyCode;
|
|
72
45
|
}
|
|
73
46
|
if (eventOrCode.key && Array.isArray(key)) {
|
|
74
|
-
return key.
|
|
47
|
+
return key.includes(eventOrCode.key);
|
|
75
48
|
}
|
|
76
|
-
return eventOrCode.key === key ||
|
|
77
|
-
|
|
49
|
+
return eventOrCode.key === key ||
|
|
50
|
+
// TODO: When can these checks for deprecated properties be deleted?
|
|
51
|
+
// Presumably, the `Key` type should also be pruned of these properties.
|
|
52
|
+
eventOrCode.which === which || eventOrCode.keyCode === keyCode || eventOrCode.code === code;
|
|
53
|
+
};
|
|
78
54
|
|
|
79
55
|
export { match, matches };
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import { KeyboardEvent } from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* A "ring buffer" function that takes an array and, depending on an ArrowRight
|
|
10
|
+
* or ArrowLeft key input, loops from last index to first or first index to last.
|
|
11
|
+
*
|
|
12
|
+
* @param key - the left or right arrow key (KeyboardEvent, number, or string)
|
|
13
|
+
* @param index - the current index in the array
|
|
14
|
+
* @param arrayLength - the total length of the array
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* getNextIndex(keyCodes.RIGHT, 0, 4)
|
|
18
|
+
*/
|
|
19
|
+
export declare const getNextIndex: (key: KeyboardEvent | number | string, index: number, arrayLength: number) => number | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* A flag `node.compareDocumentPosition(target)` returns that indicates
|
|
22
|
+
* `target` is located earlier than `node` in the document or `target` contains `node`.
|
|
23
|
+
*/
|
|
24
|
+
export declare const DOCUMENT_POSITION_BROAD_PRECEDING: number;
|
|
25
|
+
/**
|
|
26
|
+
* A flag `node.compareDocumentPosition(target)` returns that indicates
|
|
27
|
+
* `target` is located later than `node` in the document or `node` contains `target`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DOCUMENT_POSITION_BROAD_FOLLOWING: number;
|
|
30
|
+
/**
|
|
31
|
+
* CSS selector that selects major nodes that are sequentially focusable.
|
|
32
|
+
*/
|
|
33
|
+
export declare const selectorTabbable = "\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\n textarea:not([disabled]):not([tabindex='-1']),\n iframe, object, embed, *[tabindex]:not([tabindex='-1']):not([disabled]), *[contenteditable=true]\n";
|
|
34
|
+
/**
|
|
35
|
+
* CSS selector that selects major nodes that are click focusable.
|
|
36
|
+
*/
|
|
37
|
+
export declare const selectorFocusable = "\n a[href], area[href], input:not([disabled]),\n button:not([disabled]),select:not([disabled]),\n textarea:not([disabled]),\n iframe, object, embed, *[tabindex]:not([disabled]), *[contenteditable=true]\n";
|
|
@@ -9,21 +9,16 @@ import { ArrowRight, ArrowLeft } from './keys.js';
|
|
|
9
9
|
import { match } from './match.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* A "ring buffer" function that takes an array and depending on an ArrowRight
|
|
17
|
-
* or ArrowLeft key input loops from last index to first or first index to last.
|
|
12
|
+
* A "ring buffer" function that takes an array and, depending on an ArrowRight
|
|
13
|
+
* or ArrowLeft key input, loops from last index to first or first index to last.
|
|
18
14
|
*
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
15
|
+
* @param key - the left or right arrow key (KeyboardEvent, number, or string)
|
|
16
|
+
* @param index - the current index in the array
|
|
17
|
+
* @param arrayLength - the total length of the array
|
|
22
18
|
*
|
|
23
19
|
* @example
|
|
24
|
-
*
|
|
20
|
+
* getNextIndex(keyCodes.RIGHT, 0, 4)
|
|
25
21
|
*/
|
|
26
|
-
|
|
27
22
|
const getNextIndex = (key, index, arrayLength) => {
|
|
28
23
|
if (match(key, ArrowRight)) {
|
|
29
24
|
return (index + 1) % arrayLength;
|
|
@@ -31,30 +26,23 @@ const getNextIndex = (key, index, arrayLength) => {
|
|
|
31
26
|
if (match(key, ArrowLeft)) {
|
|
32
27
|
return (index + arrayLength - 1) % arrayLength;
|
|
33
28
|
}
|
|
29
|
+
return;
|
|
34
30
|
};
|
|
35
31
|
|
|
36
32
|
/**
|
|
37
|
-
* A flag `node.compareDocumentPosition(target)` returns
|
|
38
|
-
*
|
|
33
|
+
* A flag `node.compareDocumentPosition(target)` returns that indicates
|
|
34
|
+
* `target` is located earlier than `node` in the document or `target` contains `node`.
|
|
39
35
|
*/
|
|
40
|
-
const DOCUMENT_POSITION_BROAD_PRECEDING =
|
|
41
|
-
// Checks `typeof Node` for `react-docgen`
|
|
42
|
-
typeof Node !== 'undefined' &&
|
|
43
|
-
// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
|
|
44
|
-
Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;
|
|
36
|
+
const DOCUMENT_POSITION_BROAD_PRECEDING = typeof Node !== 'undefined' ? Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS : 0;
|
|
45
37
|
|
|
46
38
|
/**
|
|
47
|
-
* A flag `node.compareDocumentPosition(target)` returns
|
|
48
|
-
*
|
|
39
|
+
* A flag `node.compareDocumentPosition(target)` returns that indicates
|
|
40
|
+
* `target` is located later than `node` in the document or `node` contains `target`.
|
|
49
41
|
*/
|
|
50
|
-
const DOCUMENT_POSITION_BROAD_FOLLOWING =
|
|
51
|
-
// Checks `typeof Node` for `react-docgen`
|
|
52
|
-
typeof Node !== 'undefined' &&
|
|
53
|
-
// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
|
|
54
|
-
Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;
|
|
42
|
+
const DOCUMENT_POSITION_BROAD_FOLLOWING = typeof Node !== 'undefined' ? Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY : 0;
|
|
55
43
|
|
|
56
44
|
/**
|
|
57
|
-
* CSS selector that selects major nodes that are
|
|
45
|
+
* CSS selector that selects major nodes that are sequentially focusable.
|
|
58
46
|
*/
|
|
59
47
|
const selectorTabbable = `
|
|
60
48
|
a[href], area[href], input:not([disabled]):not([tabindex='-1']),
|
|
@@ -64,7 +52,7 @@ const selectorTabbable = `
|
|
|
64
52
|
`;
|
|
65
53
|
|
|
66
54
|
/**
|
|
67
|
-
* CSS selector that selects major nodes that are click focusable
|
|
55
|
+
* CSS selector that selects major nodes that are click focusable.
|
|
68
56
|
*/
|
|
69
57
|
const selectorFocusable = `
|
|
70
58
|
a[href], area[href], input:not([disabled]),
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
import { useCallback } from 'react';
|
|
9
9
|
|
|
10
|
+
// TODO: Investigate updating this hook based on the following code from
|
|
11
|
+
// https://github.com/carbon-design-system/carbon/pull/18611:
|
|
12
|
+
// https://github.com/adamalston/carbon/blob/dd403b6b10de3d8a6ccd8d2e21174c908c1e890a/packages/react/src/components/ListBox/ListBoxMenuItem.tsx#L23-L46
|
|
10
13
|
/**
|
|
11
14
|
* Combine multiple refs into a single ref. This use useful when you have two
|
|
12
15
|
* refs from both `React.forwardRef` and `useRef` that you would like to add to
|
|
@@ -15,13 +15,13 @@ var cx = require('classnames');
|
|
|
15
15
|
var PropTypes = require('prop-types');
|
|
16
16
|
var React = require('react');
|
|
17
17
|
require('../Text/index.js');
|
|
18
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
19
|
+
var match = require('../../internal/keyboard/match.js');
|
|
18
20
|
var useId = require('../../internal/useId.js');
|
|
19
21
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
20
22
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
21
23
|
var AccordionProvider = require('./AccordionProvider.js');
|
|
22
|
-
var match = require('../../internal/keyboard/match.js');
|
|
23
24
|
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
|
|
|
@@ -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.
|
|
@@ -50,8 +50,7 @@ export interface ButtonBaseProps extends React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
50
50
|
*/
|
|
51
51
|
rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
54
|
-
* Can be a React component class
|
|
53
|
+
* A component used to render an icon.
|
|
55
54
|
*/
|
|
56
55
|
renderIcon?: React.ElementType;
|
|
57
56
|
/**
|
|
@@ -203,8 +203,7 @@ Button.propTypes = {
|
|
|
203
203
|
*/
|
|
204
204
|
rel: PropTypes__default["default"].string,
|
|
205
205
|
/**
|
|
206
|
-
*
|
|
207
|
-
* Can be a React component class
|
|
206
|
+
* A component used to render an icon.
|
|
208
207
|
*/
|
|
209
208
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
210
209
|
/**
|
|
@@ -58,7 +58,7 @@ const ButtonBase = /*#__PURE__*/React__default["default"].forwardRef(function Bu
|
|
|
58
58
|
[`${prefix}--btn--${kind}`]: kind,
|
|
59
59
|
[`${prefix}--btn--disabled`]: disabled,
|
|
60
60
|
[`${prefix}--btn--expressive`]: isExpressive,
|
|
61
|
-
[`${prefix}--btn--icon-only`]: hasIconOnly
|
|
61
|
+
[`${prefix}--btn--icon-only`]: hasIconOnly,
|
|
62
62
|
[`${prefix}--btn--selected`]: hasIconOnly && isSelected && kind === 'ghost'
|
|
63
63
|
});
|
|
64
64
|
const commonProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2024
|
|
2
|
+
* Copyright IBM Corp. 2024, 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 ChatButtonProps extends React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
33
33
|
*/
|
|
34
34
|
kind?: ChatButtonKind;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
37
|
-
* Can be a React component class
|
|
36
|
+
* A component used to render an icon.
|
|
38
37
|
*/
|
|
39
38
|
renderIcon?: ComponentType | FunctionComponent;
|
|
40
39
|
/**
|
|
@@ -85,8 +85,7 @@ ChatButton.propTypes = {
|
|
|
85
85
|
*/
|
|
86
86
|
kind: PropTypes__default["default"].oneOf(['primary', 'secondary', 'danger', 'ghost', 'tertiary']),
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
89
|
-
* Can be a React component class
|
|
88
|
+
* A component used to render an icon.
|
|
90
89
|
*/
|
|
91
90
|
// @ts-expect-error: PropTypes are not expressive enough to cover this case
|
|
92
91
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|