@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.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +764 -764
- package/es/components/Accordion/AccordionItem.js +2 -2
- package/es/components/Button/Button.d.ts +3 -2
- package/es/components/Button/Button.js +2 -1
- package/es/components/Button/ButtonBase.js +1 -1
- package/es/components/ChatButton/ChatButton.d.ts +3 -2
- package/es/components/ChatButton/ChatButton.js +2 -1
- package/es/components/ComboBox/ComboBox.js +24 -34
- package/es/components/ComposedModal/ComposedModal.js +51 -65
- 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 +5 -6
- 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 +4 -42
- package/es/components/ExpandableSearch/ExpandableSearch.js +2 -2
- package/es/components/FeatureFlags/index.d.ts +1 -3
- package/es/components/FeatureFlags/index.js +0 -3
- 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 +4 -6
- package/es/components/FileUploader/FileUploaderItem.d.ts +1 -1
- package/es/components/FileUploader/FileUploaderItem.js +2 -2
- package/es/components/Grid/CSSGrid.js +14 -18
- package/es/components/Grid/FlexGrid.js +6 -7
- package/es/components/Grid/GridTypes.d.ts +3 -5
- package/es/components/IconButton/index.js +3 -3
- package/es/components/Layer/index.d.ts +6 -4
- package/es/components/Layer/index.js +6 -5
- package/es/components/Link/Link.d.ts +3 -2
- package/es/components/Link/Link.js +2 -1
- package/es/components/ListBox/ListBoxMenuItem.d.ts +3 -3
- package/es/components/ListBox/ListBoxMenuItem.js +15 -37
- 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 +49 -121
- package/es/components/Modal/next/index.d.ts +171 -0
- 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 +13 -5
- package/es/components/Notification/Notification.js +4 -3
- package/es/components/OverflowMenu/OverflowMenu.d.ts +8 -4
- 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 +3 -2
- package/es/components/Search/Search.js +6 -4
- package/es/components/Slider/Slider.d.ts +15 -16
- package/es/components/Slider/Slider.js +22 -22
- package/es/components/Tabs/Tabs.d.ts +6 -3
- package/es/components/Tabs/Tabs.js +9 -8
- package/es/components/Tag/DismissibleTag.d.ts +5 -3
- package/es/components/Tag/DismissibleTag.js +2 -1
- package/es/components/Tag/OperationalTag.d.ts +3 -2
- package/es/components/Tag/OperationalTag.js +2 -1
- package/es/components/Tag/SelectableTag.d.ts +5 -3
- package/es/components/Tag/SelectableTag.js +2 -1
- package/es/components/Tag/Tag.d.ts +3 -2
- package/es/components/Tag/Tag.js +2 -1
- package/es/components/Tile/Tile.d.ts +5 -3
- package/es/components/Tile/Tile.js +6 -8
- 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 +5 -3
- package/es/components/TreeView/TreeNode.js +4 -3
- 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 +3 -2
- package/es/components/UIShell/SideNavHeader.js +2 -1
- 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.js +24 -21
- package/es/internal/focus/index.js +15 -0
- package/es/internal/keyboard/keys.js +2 -2
- package/es/internal/keyboard/match.js +41 -17
- package/es/internal/keyboard/navigation.js +27 -15
- package/es/internal/useMergedRefs.js +0 -3
- package/lib/components/Accordion/AccordionItem.js +2 -2
- package/lib/components/Button/Button.d.ts +3 -2
- package/lib/components/Button/Button.js +2 -1
- package/lib/components/Button/ButtonBase.js +1 -1
- package/lib/components/ChatButton/ChatButton.d.ts +3 -2
- package/lib/components/ChatButton/ChatButton.js +2 -1
- package/lib/components/ComboBox/ComboBox.js +24 -34
- package/lib/components/ComposedModal/ComposedModal.js +50 -64
- 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 +5 -6
- 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 +4 -42
- package/lib/components/ExpandableSearch/ExpandableSearch.js +2 -2
- package/lib/components/FeatureFlags/index.d.ts +1 -3
- package/lib/components/FeatureFlags/index.js +0 -3
- 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 +4 -6
- package/lib/components/FileUploader/FileUploaderItem.d.ts +1 -1
- package/lib/components/FileUploader/FileUploaderItem.js +2 -2
- package/lib/components/Grid/CSSGrid.js +14 -18
- package/lib/components/Grid/FlexGrid.js +6 -7
- package/lib/components/Grid/GridTypes.d.ts +3 -5
- package/lib/components/IconButton/index.js +3 -3
- package/lib/components/Layer/index.d.ts +6 -4
- package/lib/components/Layer/index.js +6 -5
- package/lib/components/Link/Link.d.ts +3 -2
- package/lib/components/Link/Link.js +2 -1
- package/lib/components/ListBox/ListBoxMenuItem.d.ts +3 -3
- package/lib/components/ListBox/ListBoxMenuItem.js +14 -36
- 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 +51 -123
- package/lib/components/Modal/next/index.d.ts +171 -0
- 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 +13 -5
- package/lib/components/Notification/Notification.js +4 -3
- package/lib/components/OverflowMenu/OverflowMenu.d.ts +8 -4
- 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 +3 -2
- package/lib/components/Search/Search.js +6 -4
- package/lib/components/Slider/Slider.d.ts +15 -16
- package/lib/components/Slider/Slider.js +22 -22
- package/lib/components/Tabs/Tabs.d.ts +6 -3
- package/lib/components/Tabs/Tabs.js +9 -8
- package/lib/components/Tag/DismissibleTag.d.ts +5 -3
- package/lib/components/Tag/DismissibleTag.js +2 -1
- package/lib/components/Tag/OperationalTag.d.ts +3 -2
- package/lib/components/Tag/OperationalTag.js +2 -1
- package/lib/components/Tag/SelectableTag.d.ts +5 -3
- package/lib/components/Tag/SelectableTag.js +2 -1
- package/lib/components/Tag/Tag.d.ts +3 -2
- package/lib/components/Tag/Tag.js +2 -1
- package/lib/components/Tile/Tile.d.ts +5 -3
- package/lib/components/Tile/Tile.js +6 -8
- 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 +5 -3
- package/lib/components/TreeView/TreeNode.js +4 -3
- 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 +3 -2
- package/lib/components/UIShell/SideNavHeader.js +2 -1
- 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.js +24 -21
- package/lib/internal/focus/index.js +19 -0
- package/lib/internal/keyboard/keys.js +2 -2
- package/lib/internal/keyboard/match.js +41 -17
- package/lib/internal/keyboard/navigation.js +27 -15
- package/lib/internal/useMergedRefs.js +0 -3
- package/package.json +6 -6
- package/telemetry.yml +0 -1
- package/es/components/Dialog/index.js +0 -177
- package/es/internal/OptimizedResize.d.ts +0 -18
- package/es/internal/keyboard/index.d.ts +0 -9
- package/es/internal/keyboard/keys.d.ts +0 -23
- package/es/internal/keyboard/match.d.ts +0 -26
- package/es/internal/keyboard/navigation.d.ts +0 -37
- package/lib/components/Dialog/index.js +0 -190
- package/lib/internal/OptimizedResize.d.ts +0 -18
- package/lib/internal/keyboard/index.d.ts +0 -9
- package/lib/internal/keyboard/keys.d.ts +0 -23
- package/lib/internal/keyboard/match.d.ts +0 -26
- package/lib/internal/keyboard/navigation.d.ts +0 -37
- package/scss/components/dialog/_dialog.scss +0 -9
- package/scss/components/dialog/_index.scss +0 -9
|
@@ -22,10 +22,10 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
22
22
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
23
23
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
function CSSGrid(_ref) {
|
|
26
26
|
let {
|
|
27
27
|
align,
|
|
28
|
-
as,
|
|
28
|
+
as: BaseComponent = 'div',
|
|
29
29
|
children,
|
|
30
30
|
className: customClassName,
|
|
31
31
|
condensed = false,
|
|
@@ -48,8 +48,7 @@ const CSSGrid = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) =>
|
|
|
48
48
|
mode: "css-grid",
|
|
49
49
|
subgrid: true
|
|
50
50
|
}, /*#__PURE__*/React__default["default"].createElement(Subgrid, _rollupPluginBabelHelpers["extends"]({
|
|
51
|
-
|
|
52
|
-
as: as,
|
|
51
|
+
as: BaseComponent,
|
|
53
52
|
className: customClassName,
|
|
54
53
|
mode: mode
|
|
55
54
|
}, rest), children));
|
|
@@ -64,24 +63,23 @@ const CSSGrid = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) =>
|
|
|
64
63
|
});
|
|
65
64
|
|
|
66
65
|
// cast as any to let TypeScript allow passing in attributes to base component
|
|
67
|
-
const
|
|
66
|
+
const BaseComponentAsAny = BaseComponent;
|
|
68
67
|
return /*#__PURE__*/React__default["default"].createElement(GridContext.GridSettings, {
|
|
69
68
|
mode: "css-grid",
|
|
70
69
|
subgrid: true
|
|
71
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
72
|
-
className: className
|
|
73
|
-
ref: ref
|
|
70
|
+
}, /*#__PURE__*/React__default["default"].createElement(BaseComponentAsAny, _rollupPluginBabelHelpers["extends"]({
|
|
71
|
+
className: className
|
|
74
72
|
}, rest), children));
|
|
75
|
-
}
|
|
73
|
+
}
|
|
76
74
|
CSSGrid.propTypes = {
|
|
77
|
-
/**
|
|
78
|
-
* Provide a custom element to render instead of the default <div>
|
|
79
|
-
*/
|
|
80
|
-
as: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].elementType]),
|
|
81
75
|
/**
|
|
82
76
|
* Specify grid alignment. Default is center
|
|
83
77
|
*/
|
|
84
78
|
align: PropTypes__default["default"].oneOf(['start', 'center', 'end']),
|
|
79
|
+
/**
|
|
80
|
+
* Provide a custom element to render instead of the default <div>
|
|
81
|
+
*/
|
|
82
|
+
as: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].elementType]),
|
|
85
83
|
/**
|
|
86
84
|
* Pass in content that will be rendered within the `Grid`
|
|
87
85
|
*/
|
|
@@ -105,9 +103,9 @@ CSSGrid.propTypes = {
|
|
|
105
103
|
*/
|
|
106
104
|
narrow: PropTypes__default["default"].bool
|
|
107
105
|
};
|
|
108
|
-
const Subgrid =
|
|
106
|
+
const Subgrid = _ref2 => {
|
|
109
107
|
let {
|
|
110
|
-
as,
|
|
108
|
+
as: BaseComponent = 'div',
|
|
111
109
|
className: customClassName,
|
|
112
110
|
children,
|
|
113
111
|
mode,
|
|
@@ -120,12 +118,10 @@ const Subgrid = /*#__PURE__*/React__default["default"].forwardRef((_ref2, ref) =
|
|
|
120
118
|
[`${prefix}--subgrid--narrow`]: mode === 'narrow',
|
|
121
119
|
[`${prefix}--subgrid--wide`]: mode === 'wide'
|
|
122
120
|
});
|
|
123
|
-
const BaseComponent = as || 'div';
|
|
124
121
|
return /*#__PURE__*/React__default["default"].createElement(BaseComponent, _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
125
|
-
ref: ref,
|
|
126
122
|
className: className
|
|
127
123
|
}), children);
|
|
128
|
-
}
|
|
124
|
+
};
|
|
129
125
|
Subgrid.propTypes = {
|
|
130
126
|
/**
|
|
131
127
|
* Provide a custom element to render instead of the default <div>
|
|
@@ -22,9 +22,9 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
22
22
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
23
23
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
function FlexGrid(_ref) {
|
|
26
26
|
let {
|
|
27
|
-
as,
|
|
27
|
+
as: BaseComponent = 'div',
|
|
28
28
|
condensed = false,
|
|
29
29
|
narrow = false,
|
|
30
30
|
fullWidth = false,
|
|
@@ -40,15 +40,14 @@ const FlexGrid = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) =
|
|
|
40
40
|
[`${prefix}--grid--full-width`]: fullWidth
|
|
41
41
|
});
|
|
42
42
|
// cast as any to let TypeScript allow passing in attributes to base component
|
|
43
|
-
const
|
|
43
|
+
const BaseComponentAsAny = BaseComponent;
|
|
44
44
|
return /*#__PURE__*/React__default["default"].createElement(GridContext.GridSettings, {
|
|
45
45
|
mode: "flexbox",
|
|
46
46
|
subgrid: false
|
|
47
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
48
|
-
className: className
|
|
49
|
-
ref: ref
|
|
47
|
+
}, /*#__PURE__*/React__default["default"].createElement(BaseComponentAsAny, _rollupPluginBabelHelpers["extends"]({
|
|
48
|
+
className: className
|
|
50
49
|
}, rest), children));
|
|
51
|
-
}
|
|
50
|
+
}
|
|
52
51
|
FlexGrid.propTypes = {
|
|
53
52
|
/**
|
|
54
53
|
* Provide a custom element to render instead of the default <div>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { PolymorphicProps } from '../../types/common';
|
|
8
8
|
export interface GridBaseProps {
|
|
9
9
|
/**
|
|
10
10
|
* Pass in content that will be rendered within the `Grid`
|
|
@@ -29,9 +29,7 @@ export interface GridBaseProps {
|
|
|
29
29
|
*/
|
|
30
30
|
narrow?: boolean;
|
|
31
31
|
}
|
|
32
|
-
export type GridProps<T extends React.ElementType> =
|
|
32
|
+
export type GridProps<T extends React.ElementType> = PolymorphicProps<T, GridBaseProps>;
|
|
33
33
|
export interface GridComponent {
|
|
34
|
-
<T extends React.ElementType
|
|
35
|
-
displayName?: string;
|
|
36
|
-
propTypes?: React.WeakValidationMap<GridProps<any>>;
|
|
34
|
+
<T extends React.ElementType>(props: GridProps<T>, context?: any): React.ReactElement<any, any> | null;
|
|
37
35
|
}
|
|
@@ -86,9 +86,9 @@ const IconButton = /*#__PURE__*/React__default["default"].forwardRef(function Ic
|
|
|
86
86
|
kind: kind,
|
|
87
87
|
ref: ref,
|
|
88
88
|
size: size,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
className: cx__default["default"](`${prefix}--btn--icon-only`, {
|
|
90
|
+
[`${prefix}--btn--selected`]: isSelected
|
|
91
|
+
}, className),
|
|
92
92
|
"aria-describedby": badgeCount && badgeId
|
|
93
93
|
}), children, !disabled && badgeCount !== undefined && /*#__PURE__*/React__default["default"].createElement(index.BadgeIndicator, {
|
|
94
94
|
id: badgeId,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { LayerLevel } from './LayerLevel';
|
|
9
|
-
import {
|
|
9
|
+
import { PolymorphicProps } from '../../types/common';
|
|
10
10
|
/**
|
|
11
11
|
* A custom hook that will return information about the current layer. A common
|
|
12
12
|
* field to pull from this is the `level` for the layer that the component that
|
|
@@ -30,6 +30,8 @@ export interface LayerBaseProps {
|
|
|
30
30
|
*/
|
|
31
31
|
level?: LayerLevel;
|
|
32
32
|
}
|
|
33
|
-
export type LayerProps<T extends React.ElementType> =
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
export type LayerProps<T extends React.ElementType> = PolymorphicProps<T, LayerBaseProps>;
|
|
34
|
+
export interface LayerComponent {
|
|
35
|
+
<T extends React.ElementType>(props: LayerProps<T>, context?: any): React.ReactElement<any, any> | null;
|
|
36
|
+
}
|
|
37
|
+
export declare const Layer: LayerComponent;
|
|
@@ -34,9 +34,9 @@ function useLayer() {
|
|
|
34
34
|
level
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
const
|
|
37
|
+
const LayerRenderFunction = /*#__PURE__*/React__default["default"].forwardRef(function Layer(_ref, ref) {
|
|
38
38
|
let {
|
|
39
|
-
as,
|
|
39
|
+
as = 'div',
|
|
40
40
|
className: customClassName,
|
|
41
41
|
children,
|
|
42
42
|
level: overrideLevel,
|
|
@@ -48,7 +48,7 @@ const Layer = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
|
48
48
|
const className = cx__default["default"](`${prefix}--layer-${LayerLevel.levels[level]}`, customClassName);
|
|
49
49
|
// The level should be between MIN_LEVEL and MAX_LEVEL
|
|
50
50
|
const value = Math.max(LayerLevel.MIN_LEVEL, Math.min(level + 1, LayerLevel.MAX_LEVEL));
|
|
51
|
-
const BaseComponent = as
|
|
51
|
+
const BaseComponent = as;
|
|
52
52
|
return /*#__PURE__*/React__default["default"].createElement(LayerContext.LayerContext.Provider, {
|
|
53
53
|
value: value
|
|
54
54
|
}, /*#__PURE__*/React__default["default"].createElement(BaseComponent, _rollupPluginBabelHelpers["extends"]({
|
|
@@ -57,8 +57,8 @@ const Layer = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
|
57
57
|
className: className
|
|
58
58
|
}), children));
|
|
59
59
|
});
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
LayerRenderFunction.displayName = 'Layer';
|
|
61
|
+
LayerRenderFunction.propTypes = {
|
|
62
62
|
/**
|
|
63
63
|
* Specify a custom component or element to be rendered as the top-level
|
|
64
64
|
* element in the component
|
|
@@ -78,6 +78,7 @@ Layer.propTypes = {
|
|
|
78
78
|
*/
|
|
79
79
|
level: PropTypes__default["default"].oneOf([0, 1, 2])
|
|
80
80
|
};
|
|
81
|
+
const Layer = LayerRenderFunction;
|
|
81
82
|
|
|
82
83
|
exports.Layer = Layer;
|
|
83
84
|
exports.useLayer = useLayer;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2016,
|
|
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.
|
|
@@ -31,7 +31,8 @@ export interface LinkBaseProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
|
31
31
|
*/
|
|
32
32
|
inline?: boolean;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* @description Optional prop to render an icon next to the link.
|
|
35
|
+
* Can be a React component class
|
|
35
36
|
*/
|
|
36
37
|
renderIcon?: ComponentType;
|
|
37
38
|
/**
|
|
@@ -92,7 +92,8 @@ Link.propTypes = {
|
|
|
92
92
|
*/
|
|
93
93
|
inline: PropTypes__default["default"].bool,
|
|
94
94
|
/**
|
|
95
|
-
*
|
|
95
|
+
* Optional prop to render an icon next to the link.
|
|
96
|
+
* Can be a React component class
|
|
96
97
|
*/
|
|
97
98
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
98
99
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2016,
|
|
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.
|
|
6
6
|
*/
|
|
7
|
-
import { ForwardedRef, ReactNode
|
|
7
|
+
import React, { ForwardedRef, ReactNode } from 'react';
|
|
8
8
|
import { ForwardRefReturn, ReactAttr } from '../../types/common';
|
|
9
9
|
export interface ListBoxMenuItemProps extends ReactAttr<HTMLLIElement> {
|
|
10
10
|
/**
|
|
@@ -30,7 +30,7 @@ export interface ListBoxMenuItemProps extends ReactAttr<HTMLLIElement> {
|
|
|
30
30
|
title?: string;
|
|
31
31
|
}
|
|
32
32
|
export type ListBoxMenuItemForwardedRef = (ForwardedRef<HTMLLIElement> & {
|
|
33
|
-
menuItemOptionRef?: Ref<HTMLDivElement>;
|
|
33
|
+
menuItemOptionRef?: React.Ref<HTMLDivElement>;
|
|
34
34
|
}) | null;
|
|
35
35
|
export type ListBoxMenuItemComponent = ForwardRefReturn<ListBoxMenuItemForwardedRef, ListBoxMenuItemProps>;
|
|
36
36
|
declare const _default: ListBoxMenuItemComponent;
|
|
@@ -14,7 +14,6 @@ var cx = require('classnames');
|
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var PropTypes = require('prop-types');
|
|
16
16
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
17
|
-
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
18
17
|
|
|
19
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
19
|
|
|
@@ -22,42 +21,24 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
22
21
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
22
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
* Determines if the content of an element is truncated.
|
|
27
|
-
*
|
|
28
|
-
* Merges a forwarded ref with a local ref to check the element's dimensions.
|
|
29
|
-
*
|
|
30
|
-
* @template T
|
|
31
|
-
* @param forwardedRef - A ref passed from the parent component.
|
|
32
|
-
* @param deps - Dependencies to re-run the truncation check.
|
|
33
|
-
* @returns An object containing the truncation state and the merged ref.
|
|
34
|
-
*/
|
|
35
|
-
const useIsTruncated = function (forwardedRef) {
|
|
36
|
-
let deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
37
|
-
const localRef = React.useRef(null);
|
|
38
|
-
const mergedRef = useMergedRefs.useMergedRefs([...(forwardedRef ? [forwardedRef] : []), localRef]);
|
|
24
|
+
function useIsTruncated(ref) {
|
|
39
25
|
const [isTruncated, setIsTruncated] = React.useState(false);
|
|
40
26
|
React.useEffect(() => {
|
|
41
|
-
const element =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
isTruncated,
|
|
52
|
-
ref: mergedRef
|
|
53
|
-
};
|
|
54
|
-
};
|
|
27
|
+
const element = ref.current;
|
|
28
|
+
const {
|
|
29
|
+
offsetWidth,
|
|
30
|
+
scrollWidth
|
|
31
|
+
} = element;
|
|
32
|
+
setIsTruncated(offsetWidth < scrollWidth);
|
|
33
|
+
}, [ref, setIsTruncated]);
|
|
34
|
+
return isTruncated;
|
|
35
|
+
}
|
|
55
36
|
/**
|
|
56
37
|
* `ListBoxMenuItem` is a helper component for managing the container class
|
|
57
38
|
* name, alongside any classes for any corresponding states, for a generic list
|
|
58
39
|
* box menu item.
|
|
59
40
|
*/
|
|
60
|
-
const ListBoxMenuItem = /*#__PURE__*/
|
|
41
|
+
const ListBoxMenuItem = /*#__PURE__*/React__default["default"].forwardRef(function ListBoxMenuItem(_ref, forwardedRef) {
|
|
61
42
|
let {
|
|
62
43
|
children,
|
|
63
44
|
isActive = false,
|
|
@@ -66,11 +47,8 @@ const ListBoxMenuItem = /*#__PURE__*/React.forwardRef((_ref, forwardedRef) => {
|
|
|
66
47
|
...rest
|
|
67
48
|
} = _ref;
|
|
68
49
|
const prefix = usePrefix.usePrefix();
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
isTruncated,
|
|
72
|
-
ref: menuItemOptionRef
|
|
73
|
-
} = useIsTruncated(menuItemOptionRefProp, [children]);
|
|
50
|
+
const ref = React.useRef(null);
|
|
51
|
+
const isTruncated = useIsTruncated(forwardedRef?.menuItemOptionRef || ref);
|
|
74
52
|
const className = cx__default["default"](`${prefix}--list-box__menu-item`, {
|
|
75
53
|
[`${prefix}--list-box__menu-item--active`]: isActive,
|
|
76
54
|
[`${prefix}--list-box__menu-item--highlighted`]: isHighlighted
|
|
@@ -80,7 +58,7 @@ const ListBoxMenuItem = /*#__PURE__*/React.forwardRef((_ref, forwardedRef) => {
|
|
|
80
58
|
title: isTruncated ? title : undefined
|
|
81
59
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
82
60
|
className: `${prefix}--list-box__menu-item__option`,
|
|
83
|
-
ref: menuItemOptionRef
|
|
61
|
+
ref: forwardedRef?.menuItemOptionRef || ref
|
|
84
62
|
}, children));
|
|
85
63
|
});
|
|
86
64
|
ListBoxMenuItem.displayName = 'ListBoxMenuItem';
|
|
@@ -14,14 +14,14 @@ var cx = require('classnames');
|
|
|
14
14
|
var PropTypes = require('prop-types');
|
|
15
15
|
var React = require('react');
|
|
16
16
|
var ReactDOM = require('react-dom');
|
|
17
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
18
|
-
var match = require('../../internal/keyboard/match.js');
|
|
19
17
|
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
20
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
21
19
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
22
20
|
var MenuContext = require('./MenuContext.js');
|
|
23
21
|
var environment = require('../../internal/environment.js');
|
|
24
22
|
var useLayoutDirection = require('../LayoutDirection/useLayoutDirection.js');
|
|
23
|
+
var match = require('../../internal/keyboard/match.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.
|
|
2
|
+
* Copyright IBM Corp. 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.
|
|
@@ -31,7 +31,7 @@ export interface MenuItemProps extends LiHTMLAttributes<HTMLLIElement> {
|
|
|
31
31
|
*/
|
|
32
32
|
onClick?: (event: KeyboardEvent<HTMLLIElement> | MouseEvent<HTMLLIElement>) => void;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Sets the menu item's icon.
|
|
35
35
|
*/
|
|
36
36
|
renderIcon?: FC;
|
|
37
37
|
/**
|
|
@@ -15,8 +15,6 @@ var PropTypes = require('prop-types');
|
|
|
15
15
|
var React = require('react');
|
|
16
16
|
var react = require('@floating-ui/react');
|
|
17
17
|
var iconsReact = require('@carbon/icons-react');
|
|
18
|
-
var keys = require('../../internal/keyboard/keys.js');
|
|
19
|
-
var match = require('../../internal/keyboard/match.js');
|
|
20
18
|
var useControllableState = require('../../internal/useControllableState.js');
|
|
21
19
|
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
22
20
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
@@ -24,7 +22,9 @@ var Menu = require('./Menu.js');
|
|
|
24
22
|
var MenuContext = require('./MenuContext.js');
|
|
25
23
|
require('../Text/index.js');
|
|
26
24
|
var useLayoutDirection = require('../LayoutDirection/useLayoutDirection.js');
|
|
25
|
+
var match = require('../../internal/keyboard/match.js');
|
|
27
26
|
var Text = require('../Text/Text.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
|
|
|
@@ -222,7 +222,7 @@ MenuItem.propTypes = {
|
|
|
222
222
|
// @ts-ignore-next-line -- avoid spurious (?) TS2322 error
|
|
223
223
|
onClick: PropTypes__default["default"].func,
|
|
224
224
|
/**
|
|
225
|
-
*
|
|
225
|
+
* Sets the menu item's icon.
|
|
226
226
|
*/
|
|
227
227
|
// @ts-ignore-next-line -- avoid spurious (?) TS2322 error
|
|
228
228
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|