carbon-react 117.4.1 → 117.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__internal__/input/input.component.d.ts +3 -3
- package/esm/components/advanced-color-picker/advanced-color-picker.component.js +8 -0
- package/esm/components/button-toggle/button-toggle.component.js +7 -0
- package/esm/components/checkbox/checkbox.component.js +6 -0
- package/esm/components/decimal/decimal.component.js +7 -0
- package/esm/components/grouped-character/grouped-character.component.js +6 -0
- package/esm/components/menu/__internal__/locators.d.ts +6 -6
- package/esm/components/menu/__internal__/spec-helper/index.d.ts +3 -0
- package/esm/components/menu/__internal__/submenu/index.d.ts +2 -0
- package/esm/components/menu/__internal__/submenu/index.js +1 -0
- package/esm/components/menu/__internal__/submenu/submenu.component.d.ts +42 -0
- package/esm/components/menu/__internal__/submenu/submenu.component.js +162 -85
- package/esm/components/menu/__internal__/submenu/submenu.context.d.ts +10 -0
- package/esm/components/menu/__internal__/submenu/submenu.style.d.ts +16 -0
- package/esm/components/menu/__internal__/submenu/submenu.style.js +4 -4
- package/esm/components/menu/index.d.ts +12 -6
- package/esm/components/menu/index.js +5 -5
- package/esm/components/menu/menu-divider/index.d.ts +2 -2
- package/esm/components/menu/menu-divider/index.js +1 -0
- package/esm/components/menu/menu-divider/menu-divider.component.d.ts +7 -0
- package/esm/components/menu/menu-divider/menu-divider.component.js +14 -7
- package/esm/components/menu/menu-divider/menu-divider.style.d.ts +6 -0
- package/esm/components/menu/menu-full-screen/index.d.ts +2 -2
- package/esm/components/menu/menu-full-screen/menu-full-screen.component.d.ts +14 -0
- package/esm/components/menu/menu-full-screen/menu-full-screen.component.js +20 -30
- package/esm/components/menu/menu-full-screen/menu-full-screen.style.d.ts +8 -0
- package/esm/components/menu/menu-full-screen/menu-full-screen.style.js +29 -27
- package/esm/components/menu/menu-item/index.d.ts +2 -2
- package/esm/components/menu/menu-item/menu-item.component.d.ts +67 -0
- package/esm/components/menu/menu-item/menu-item.component.js +2084 -121
- package/esm/components/menu/menu-item/menu-item.style.d.ts +21 -0
- package/esm/components/menu/menu-item/menu-item.style.js +188 -146
- package/esm/components/menu/menu-segment-title/index.d.ts +2 -2
- package/esm/components/menu/menu-segment-title/index.js +1 -0
- package/esm/components/menu/menu-segment-title/menu-segment-title.component.d.ts +10 -0
- package/esm/components/menu/menu-segment-title/menu-segment-title.component.js +13 -9
- package/esm/components/menu/menu-segment-title/menu-segment-title.style.d.ts +8 -0
- package/esm/components/menu/menu.component.d.ts +11 -9
- package/esm/components/menu/menu.component.js +1887 -18
- package/esm/components/menu/menu.config.d.ts +58 -94
- package/esm/components/menu/menu.context.d.ts +12 -6
- package/esm/components/menu/menu.style.d.ts +12 -2
- package/esm/components/menu/menu.style.js +11 -11
- package/esm/components/menu/scrollable-block/index.d.ts +2 -1
- package/esm/components/menu/scrollable-block/scrollable-block.component.d.ts +19 -0
- package/esm/components/menu/scrollable-block/scrollable-block.component.js +13 -20
- package/esm/components/menu/scrollable-block/scrollable-block.style.d.ts +8 -0
- package/esm/components/number/number.component.js +6 -0
- package/esm/components/numeral-date/numeral-date.component.js +8 -0
- package/esm/components/radio-button/radio-button-group.component.js +8 -0
- package/esm/components/radio-button/radio-button.style.js +1 -1
- package/esm/components/search/search.component.js +6 -0
- package/esm/components/select/filterable-select/filterable-select.component.js +9 -1
- package/esm/components/select/multi-select/multi-select.component.js +9 -1
- package/esm/components/select/simple-select/simple-select.component.js +9 -1
- package/esm/components/simple-color-picker/simple-color-picker.component.js +8 -0
- package/esm/components/switch/switch.component.js +6 -0
- package/esm/components/textarea/textarea.component.js +6 -0
- package/esm/components/textbox/textbox.component.js +6 -0
- package/esm/components/vertical-menu/vertical-menu-item.component.d.ts +3 -1
- package/esm/components/vertical-menu/vertical-menu-item.component.js +3 -1
- package/lib/__internal__/input/input.component.d.ts +3 -3
- package/lib/components/advanced-color-picker/advanced-color-picker.component.js +11 -0
- package/lib/components/button-toggle/button-toggle.component.js +10 -0
- package/lib/components/checkbox/checkbox.component.js +7 -0
- package/lib/components/decimal/decimal.component.js +8 -0
- package/lib/components/grouped-character/grouped-character.component.js +7 -0
- package/lib/components/menu/__internal__/locators.d.ts +6 -6
- package/lib/components/menu/__internal__/spec-helper/index.d.ts +3 -0
- package/lib/components/menu/__internal__/submenu/index.d.ts +2 -0
- package/lib/components/menu/__internal__/submenu/index.js +15 -0
- package/lib/components/menu/__internal__/submenu/package.json +6 -0
- package/lib/components/menu/__internal__/submenu/submenu.component.d.ts +42 -0
- package/lib/components/menu/__internal__/submenu/submenu.component.js +162 -86
- package/lib/components/menu/__internal__/submenu/submenu.context.d.ts +10 -0
- package/lib/components/menu/__internal__/submenu/submenu.style.d.ts +16 -0
- package/lib/components/menu/__internal__/submenu/submenu.style.js +4 -4
- package/lib/components/menu/index.d.ts +12 -6
- package/lib/components/menu/index.js +5 -5
- package/lib/components/menu/menu-divider/index.d.ts +2 -2
- package/lib/components/menu/menu-divider/index.js +15 -0
- package/lib/components/menu/menu-divider/menu-divider.component.d.ts +7 -0
- package/lib/components/menu/menu-divider/menu-divider.component.js +15 -7
- package/lib/components/menu/menu-divider/menu-divider.style.d.ts +6 -0
- package/lib/components/menu/menu-divider/package.json +6 -0
- package/lib/components/menu/menu-full-screen/index.d.ts +2 -2
- package/lib/components/menu/menu-full-screen/menu-full-screen.component.d.ts +14 -0
- package/lib/components/menu/menu-full-screen/menu-full-screen.component.js +22 -31
- package/lib/components/menu/menu-full-screen/menu-full-screen.style.d.ts +8 -0
- package/lib/components/menu/menu-full-screen/menu-full-screen.style.js +30 -28
- package/lib/components/menu/menu-item/index.d.ts +2 -2
- package/lib/components/menu/menu-item/menu-item.component.d.ts +67 -0
- package/lib/components/menu/menu-item/menu-item.component.js +2085 -122
- package/lib/components/menu/menu-item/menu-item.style.d.ts +21 -0
- package/lib/components/menu/menu-item/menu-item.style.js +191 -146
- package/lib/components/menu/menu-segment-title/index.d.ts +2 -2
- package/lib/components/menu/menu-segment-title/index.js +15 -0
- package/lib/components/menu/menu-segment-title/menu-segment-title.component.d.ts +10 -0
- package/lib/components/menu/menu-segment-title/menu-segment-title.component.js +14 -9
- package/lib/components/menu/menu-segment-title/menu-segment-title.style.d.ts +8 -0
- package/lib/components/menu/menu-segment-title/package.json +6 -0
- package/lib/components/menu/menu.component.d.ts +11 -9
- package/lib/components/menu/menu.component.js +1889 -20
- package/lib/components/menu/menu.config.d.ts +58 -94
- package/lib/components/menu/menu.context.d.ts +12 -6
- package/lib/components/menu/menu.style.d.ts +12 -2
- package/lib/components/menu/menu.style.js +12 -12
- package/lib/components/menu/scrollable-block/index.d.ts +2 -1
- package/lib/components/menu/scrollable-block/scrollable-block.component.d.ts +19 -0
- package/lib/components/menu/scrollable-block/scrollable-block.component.js +15 -21
- package/lib/components/menu/scrollable-block/scrollable-block.style.d.ts +8 -0
- package/lib/components/number/number.component.js +7 -0
- package/lib/components/numeral-date/numeral-date.component.js +10 -0
- package/lib/components/radio-button/radio-button-group.component.js +11 -0
- package/lib/components/radio-button/radio-button.style.js +1 -1
- package/lib/components/search/search.component.js +7 -0
- package/lib/components/select/filterable-select/filterable-select.component.js +10 -1
- package/lib/components/select/multi-select/multi-select.component.js +10 -1
- package/lib/components/select/simple-select/simple-select.component.js +10 -1
- package/lib/components/simple-color-picker/simple-color-picker.component.js +11 -0
- package/lib/components/switch/switch.component.js +7 -0
- package/lib/components/textarea/textarea.component.js +7 -0
- package/lib/components/textbox/textbox.component.js +7 -0
- package/lib/components/vertical-menu/vertical-menu-item.component.d.ts +3 -1
- package/lib/components/vertical-menu/vertical-menu-item.component.js +3 -1
- package/package.json +2 -2
- package/esm/components/menu/menu-divider/menu-divider.d.ts +0 -11
- package/esm/components/menu/menu-full-screen/menu-full-screen.d.ts +0 -16
- package/esm/components/menu/menu-item/menu-item.d.ts +0 -60
- package/esm/components/menu/menu-segment-title/menu-segment-title.d.ts +0 -12
- package/esm/components/menu/menu.d.ts +0 -28
- package/esm/components/menu/scrollable-block/scrollable-block.d.ts +0 -20
- package/lib/components/menu/menu-divider/menu-divider.d.ts +0 -11
- package/lib/components/menu/menu-full-screen/menu-full-screen.d.ts +0 -16
- package/lib/components/menu/menu-item/menu-item.d.ts +0 -60
- package/lib/components/menu/menu-segment-title/menu-segment-title.d.ts +0 -12
- package/lib/components/menu/menu.d.ts +0 -28
- package/lib/components/menu/scrollable-block/scrollable-block.d.ts +0 -20
|
@@ -46,7 +46,7 @@ const StyledSubmenuWrapper = _styledComponents.default.div`
|
|
|
46
46
|
}) => inFullscreenView && (0, _styledComponents.css)`
|
|
47
47
|
width: 100%;
|
|
48
48
|
|
|
49
|
-
${asPassiveItem && (0, _styledComponents.css)`
|
|
49
|
+
${asPassiveItem && menuType && (0, _styledComponents.css)`
|
|
50
50
|
${_menuItem.default} {
|
|
51
51
|
outline: none;
|
|
52
52
|
color: ${_menu2.default[menuType].title};
|
|
@@ -62,7 +62,7 @@ const StyledSubmenu = _styledComponents.default.ul`
|
|
|
62
62
|
variant,
|
|
63
63
|
inFullscreenView
|
|
64
64
|
}) => (0, _styledComponents.css)`
|
|
65
|
-
${!inFullscreenView && (0, _styledComponents.css)`
|
|
65
|
+
${!inFullscreenView && menuType && (0, _styledComponents.css)`
|
|
66
66
|
box-shadow: var(--boxShadow100);
|
|
67
67
|
position: absolute;
|
|
68
68
|
background-color: ${variant === "default" ? _menu2.default[menuType].submenuItemBackground : _menu2.default[menuType].background};
|
|
@@ -98,7 +98,7 @@ const StyledSubmenu = _styledComponents.default.ul`
|
|
|
98
98
|
white-space: nowrap;
|
|
99
99
|
cursor: pointer;
|
|
100
100
|
|
|
101
|
-
${!inFullscreenView && (0, _styledComponents.css)`
|
|
101
|
+
${!inFullscreenView && menuType && (0, _styledComponents.css)`
|
|
102
102
|
background-color: ${_menu2.default[menuType].submenuItemBackground};
|
|
103
103
|
|
|
104
104
|
a:focus,
|
|
@@ -108,7 +108,7 @@ const StyledSubmenu = _styledComponents.default.ul`
|
|
|
108
108
|
|
|
109
109
|
a:hover,
|
|
110
110
|
button:hover {
|
|
111
|
-
background-color:
|
|
111
|
+
background-color: transparent;
|
|
112
112
|
color: var(--colorsComponentsMenuYang100);
|
|
113
113
|
|
|
114
114
|
[data-component="icon"] {
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
export { default as Menu } from "./menu";
|
|
2
|
-
export {
|
|
3
|
-
export { default as
|
|
4
|
-
export {
|
|
5
|
-
export { default as
|
|
6
|
-
export {
|
|
1
|
+
export { default as Menu } from "./menu.component";
|
|
2
|
+
export type { MenuProps } from "./menu.component";
|
|
3
|
+
export { default as MenuItem } from "./menu-item";
|
|
4
|
+
export type { MenuWithIcon, MenuWithChildren } from "./menu-item";
|
|
5
|
+
export { default as MenuDivider } from "./menu-divider";
|
|
6
|
+
export type { MenuDividerProps } from "./menu-divider";
|
|
7
|
+
export { default as MenuSegmentTitle } from "./menu-segment-title";
|
|
8
|
+
export type { MenuTitleProps } from "./menu-segment-title";
|
|
9
|
+
export { default as MenuFullscreen } from "./menu-full-screen";
|
|
10
|
+
export type { MenuFullscreenProps } from "./menu-full-screen";
|
|
11
|
+
export { default as ScrollableBlock } from "./scrollable-block";
|
|
12
|
+
export type { ScrollableBlockProps } from "./scrollable-block";
|
|
@@ -42,14 +42,14 @@ Object.defineProperty(exports, "ScrollableBlock", {
|
|
|
42
42
|
|
|
43
43
|
var _menu = _interopRequireDefault(require("./menu.component"));
|
|
44
44
|
|
|
45
|
-
var _menuItem = _interopRequireDefault(require("./menu-item
|
|
45
|
+
var _menuItem = _interopRequireDefault(require("./menu-item"));
|
|
46
46
|
|
|
47
|
-
var _menuDivider = _interopRequireDefault(require("./menu-divider
|
|
47
|
+
var _menuDivider = _interopRequireDefault(require("./menu-divider"));
|
|
48
48
|
|
|
49
|
-
var _menuSegmentTitle = _interopRequireDefault(require("./menu-segment-title
|
|
49
|
+
var _menuSegmentTitle = _interopRequireDefault(require("./menu-segment-title"));
|
|
50
50
|
|
|
51
|
-
var _menuFullScreen = _interopRequireDefault(require("./menu-full-screen
|
|
51
|
+
var _menuFullScreen = _interopRequireDefault(require("./menu-full-screen"));
|
|
52
52
|
|
|
53
|
-
var _scrollableBlock = _interopRequireDefault(require("./scrollable-block
|
|
53
|
+
var _scrollableBlock = _interopRequireDefault(require("./scrollable-block"));
|
|
54
54
|
|
|
55
55
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from "./menu-divider";
|
|
2
|
-
export
|
|
1
|
+
export { default } from "./menu-divider.component";
|
|
2
|
+
export type { MenuDividerProps } from "./menu-divider.component";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _menuDivider.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _menuDivider = _interopRequireDefault(require("./menu-divider.component"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TagProps } from "../../../__internal__/utils/helpers/tags";
|
|
3
|
+
export interface MenuDividerProps extends TagProps {
|
|
4
|
+
size?: "default" | "large";
|
|
5
|
+
}
|
|
6
|
+
declare const MenuDivider: React.ForwardRefExoticComponent<MenuDividerProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export default MenuDivider;
|
|
@@ -15,29 +15,37 @@ var _menu = _interopRequireDefault(require("../menu.context"));
|
|
|
15
15
|
|
|
16
16
|
var _menu2 = require("../menu.style");
|
|
17
17
|
|
|
18
|
+
var _tags = _interopRequireDefault(require("../../../__internal__/utils/helpers/tags"));
|
|
19
|
+
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
20
22
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
21
23
|
|
|
22
24
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
25
|
|
|
26
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
27
|
+
|
|
24
28
|
const MenuDivider = /*#__PURE__*/_react.default.forwardRef(({
|
|
25
|
-
size = "default"
|
|
29
|
+
size = "default",
|
|
30
|
+
...rest
|
|
26
31
|
}, ref) => {
|
|
27
32
|
const menuContext = (0, _react.useContext)(_menu.default);
|
|
28
33
|
return /*#__PURE__*/_react.default.createElement(_menu2.StyledMenuItem, {
|
|
29
34
|
inSubmenu: true
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement(_menuDivider.default, {
|
|
31
|
-
size: size
|
|
32
|
-
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(_menuDivider.default, _extends({
|
|
36
|
+
size: size
|
|
37
|
+
}, (0, _tags.default)("menu-divider", rest), {
|
|
33
38
|
menuType: menuContext.menuType,
|
|
34
39
|
ref: ref
|
|
35
|
-
}));
|
|
40
|
+
})));
|
|
36
41
|
});
|
|
37
42
|
|
|
38
43
|
MenuDivider.propTypes = {
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
"data-component": _propTypes.default.string,
|
|
45
|
+
"data-element": _propTypes.default.string,
|
|
46
|
+
"data-role": _propTypes.default.string,
|
|
47
|
+
"size": _propTypes.default.oneOf(["default", "large"])
|
|
41
48
|
};
|
|
49
|
+
MenuDivider.displayName = "MenuDivider";
|
|
42
50
|
var _default = MenuDivider;
|
|
43
51
|
exports.default = _default;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MenuDividerProps } from "./menu-divider.component";
|
|
2
|
+
import { MenuType } from "../menu.context";
|
|
3
|
+
declare const StyledDivider: import("styled-components").StyledComponent<"div", any, MenuDividerProps & {
|
|
4
|
+
menuType: MenuType;
|
|
5
|
+
}, never>;
|
|
6
|
+
export default StyledDivider;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from "./menu-full-screen";
|
|
2
|
-
export
|
|
1
|
+
export { default } from "./menu-full-screen.component";
|
|
2
|
+
export type { MenuFullscreenProps } from "./menu-full-screen.component";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TagProps } from "../../../__internal__/utils/helpers/tags";
|
|
3
|
+
export interface MenuFullscreenProps extends TagProps {
|
|
4
|
+
/** The child elements to render */
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
/** Sets whether the component is open or closed */
|
|
7
|
+
isOpen?: boolean;
|
|
8
|
+
/** The start position for the component to open from */
|
|
9
|
+
startPosition?: "left" | "right";
|
|
10
|
+
/** A callback to be called when the close icon is clicked or enter is pressed when focused */
|
|
11
|
+
onClose: (ev: React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const MenuFullscreen: ({ children, isOpen, startPosition, onClose, ...rest }: MenuFullscreenProps) => JSX.Element;
|
|
14
|
+
export default MenuFullscreen;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.MenuFullscreen = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
@@ -29,6 +29,8 @@ var _portal = _interopRequireDefault(require("../../portal"));
|
|
|
29
29
|
|
|
30
30
|
var _menuDivider = _interopRequireDefault(require("../menu-divider/menu-divider.component"));
|
|
31
31
|
|
|
32
|
+
var _tags = _interopRequireDefault(require("../../../__internal__/utils/helpers/tags"));
|
|
33
|
+
|
|
32
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
35
|
|
|
34
36
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -44,11 +46,12 @@ const MenuFullscreen = ({
|
|
|
44
46
|
onClose,
|
|
45
47
|
...rest
|
|
46
48
|
}) => {
|
|
47
|
-
const menuWrapperRef = (0, _react.useRef)();
|
|
48
|
-
const menuContentRef = (0, _react.useRef)();
|
|
49
|
+
const menuWrapperRef = (0, _react.useRef)(null);
|
|
50
|
+
const menuContentRef = (0, _react.useRef)(null);
|
|
49
51
|
const {
|
|
50
52
|
menuType
|
|
51
53
|
} = (0, _react.useContext)(_menu2.default);
|
|
54
|
+
const isDarkVariant = ["dark", "black"].includes(menuType);
|
|
52
55
|
|
|
53
56
|
const handleKeyDown = ev => {
|
|
54
57
|
/* istanbul ignore else */
|
|
@@ -57,31 +60,18 @@ const MenuFullscreen = ({
|
|
|
57
60
|
}
|
|
58
61
|
};
|
|
59
62
|
|
|
60
|
-
const scrollVariants = {
|
|
61
|
-
light: "light",
|
|
62
|
-
dark: "dark",
|
|
63
|
-
white: "light",
|
|
64
|
-
black: "dark"
|
|
65
|
-
};
|
|
66
|
-
const iconColors = {
|
|
67
|
-
light: undefined,
|
|
68
|
-
dark: "#FFFFFF",
|
|
69
|
-
white: undefined,
|
|
70
|
-
black: "#FFFFFF"
|
|
71
|
-
};
|
|
72
63
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
73
64
|
"aria-label": "menu-fullscreen"
|
|
74
65
|
}, /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement(_focusTrap.default, {
|
|
75
66
|
wrapperRef: menuWrapperRef,
|
|
76
67
|
isOpen: isOpen
|
|
77
68
|
}, /*#__PURE__*/_react.default.createElement(_menuFullScreen.StyledMenuFullscreen, _extends({
|
|
78
|
-
"data-component": "menu-fullscreen",
|
|
79
69
|
ref: menuWrapperRef,
|
|
80
70
|
isOpen: isOpen,
|
|
81
71
|
menuType: menuType,
|
|
82
72
|
startPosition: startPosition,
|
|
83
73
|
onKeyDown: handleKeyDown
|
|
84
|
-
}, rest), /*#__PURE__*/_react.default.createElement(_menuFullScreen.StyledMenuFullscreenHeader, {
|
|
74
|
+
}, rest, (0, _tags.default)("menu-fullscreen", rest)), /*#__PURE__*/_react.default.createElement(_menuFullScreen.StyledMenuFullscreenHeader, {
|
|
85
75
|
isOpen: isOpen,
|
|
86
76
|
menuType: menuType,
|
|
87
77
|
startPosition: startPosition
|
|
@@ -91,10 +81,10 @@ const MenuFullscreen = ({
|
|
|
91
81
|
"data-element": "close"
|
|
92
82
|
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
93
83
|
type: "close",
|
|
94
|
-
color:
|
|
84
|
+
color: isDarkVariant ? "--colorsYang100" : undefined
|
|
95
85
|
}))), /*#__PURE__*/_react.default.createElement(_box.default, {
|
|
96
86
|
overflowY: "auto",
|
|
97
|
-
scrollVariant:
|
|
87
|
+
scrollVariant: isDarkVariant ? "dark" : "light",
|
|
98
88
|
width: "100%",
|
|
99
89
|
height: "calc(100% - 40px)"
|
|
100
90
|
}, /*#__PURE__*/_react.default.createElement(_menu.StyledMenuWrapper, {
|
|
@@ -109,23 +99,24 @@ const MenuFullscreen = ({
|
|
|
109
99
|
value: {
|
|
110
100
|
inFullscreenView: true,
|
|
111
101
|
menuType,
|
|
112
|
-
inMenu: true
|
|
102
|
+
inMenu: true,
|
|
103
|
+
openSubmenuId: null,
|
|
104
|
+
setOpenSubmenuId:
|
|
105
|
+
/* istanbul ignore next */
|
|
106
|
+
() => {}
|
|
113
107
|
}
|
|
114
108
|
}, _react.default.Children.map(children, (child, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, child, index < _react.default.Children.count(children) - 1 && /*#__PURE__*/_react.default.createElement(_menuDivider.default, null))))))))));
|
|
115
109
|
};
|
|
116
110
|
|
|
111
|
+
exports.MenuFullscreen = MenuFullscreen;
|
|
117
112
|
MenuFullscreen.propTypes = {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
isOpen: _propTypes.default.bool,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
startPosition: _propTypes.default.oneOf(["left", "right"]),
|
|
126
|
-
|
|
127
|
-
/** A callback to be called when the close icon is clicked or enter is pressed when focused */
|
|
128
|
-
onClose: _propTypes.default.func.isRequired
|
|
113
|
+
"children": _propTypes.default.node,
|
|
114
|
+
"data-component": _propTypes.default.string,
|
|
115
|
+
"data-element": _propTypes.default.string,
|
|
116
|
+
"data-role": _propTypes.default.string,
|
|
117
|
+
"isOpen": _propTypes.default.bool,
|
|
118
|
+
"onClose": _propTypes.default.func.isRequired,
|
|
119
|
+
"startPosition": _propTypes.default.oneOf(["left", "right"])
|
|
129
120
|
};
|
|
130
121
|
var _default = MenuFullscreen;
|
|
131
122
|
exports.default = _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MenuFullscreenProps } from "./menu-full-screen.component";
|
|
2
|
+
import { MenuType } from "../menu.context";
|
|
3
|
+
interface StyledMenuFullScreenProps extends Pick<MenuFullscreenProps, "isOpen" | "startPosition"> {
|
|
4
|
+
menuType: MenuType;
|
|
5
|
+
}
|
|
6
|
+
declare const StyledMenuFullscreen: import("styled-components").StyledComponent<"div", any, StyledMenuFullScreenProps, never>;
|
|
7
|
+
declare const StyledMenuFullscreenHeader: import("styled-components").StyledComponent<"div", any, StyledMenuFullScreenProps, never>;
|
|
8
|
+
export { StyledMenuFullscreen, StyledMenuFullscreenHeader };
|
|
@@ -50,41 +50,43 @@ const StyledMenuFullscreen = _styledComponents.default.div`
|
|
|
50
50
|
background-color: ${_menu.default[menuType].background};
|
|
51
51
|
z-index: ${theme.zIndex.fullScreenModal};
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
${
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
&& {
|
|
54
|
+
${menuType === "dark" && (0, _styledComponents.css)`
|
|
55
|
+
${_search.default} span > [data-component="icon"] {
|
|
56
|
+
color: var(--colorsUtilityMajor200);
|
|
57
|
+
|
|
58
|
+
&:hover {
|
|
59
|
+
color: var(--colorsUtilityMajor150);
|
|
60
|
+
}
|
|
59
61
|
}
|
|
60
|
-
}
|
|
61
|
-
`}
|
|
62
|
+
`}
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
${menuType === "light" && (0, _styledComponents.css)`
|
|
65
|
+
${_search.default} span > [data-component="icon"] {
|
|
66
|
+
color: var(--colorsUtilityMajor200);
|
|
66
67
|
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
&:hover {
|
|
69
|
+
color: var(--colorsUtilityMajor400);
|
|
70
|
+
}
|
|
69
71
|
}
|
|
70
|
-
}
|
|
71
|
-
`}
|
|
72
|
+
`}
|
|
72
73
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
${_search.default} {
|
|
75
|
+
${_icon.default} {
|
|
76
|
+
display: inline-flex;
|
|
77
|
+
margin-right: 0;
|
|
78
|
+
bottom: auto;
|
|
79
|
+
}
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
${_button.default} {
|
|
82
|
+
display: flex;
|
|
83
|
+
line-height: normal;
|
|
84
|
+
padding-bottom: 0;
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
&:focus {
|
|
87
|
+
outline: solid 3px var(--colorsSemanticFocus500);
|
|
88
|
+
box-shadow: none;
|
|
89
|
+
}
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from "./menu-item";
|
|
2
|
-
export
|
|
1
|
+
export { default } from "./menu-item.component";
|
|
2
|
+
export type { MenuWithChildren, MenuWithIcon, VariantType, } from "./menu-item.component";
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FlexboxProps, LayoutProps, MaxWidthProps, PaddingProps } from "styled-system";
|
|
3
|
+
import { IconType } from "../../icon";
|
|
4
|
+
import { TagProps } from "../../../__internal__/utils/helpers/tags";
|
|
5
|
+
export declare type VariantType = "default" | "alternate";
|
|
6
|
+
interface MenuItemBaseProps extends TagProps, LayoutProps, FlexboxProps, PaddingProps {
|
|
7
|
+
/** Custom className */
|
|
8
|
+
className?: string;
|
|
9
|
+
/** onClick handler */
|
|
10
|
+
onClick?: (event: React.MouseEvent<HTMLAnchorElement> | React.MouseEvent<HTMLButtonElement>) => void;
|
|
11
|
+
/** Defines which direction the submenu will hang eg. left/right */
|
|
12
|
+
submenuDirection?: string;
|
|
13
|
+
/** Is the menu item the currently selected item. */
|
|
14
|
+
selected?: boolean;
|
|
15
|
+
/** A title for the menu item that has a submenu. */
|
|
16
|
+
submenu?: string | boolean;
|
|
17
|
+
/** The href to use for the menu item. */
|
|
18
|
+
href?: string;
|
|
19
|
+
/** onKeyDown handler */
|
|
20
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLAnchorElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
21
|
+
/** The target to use for the menu item. */
|
|
22
|
+
target?: string;
|
|
23
|
+
/** The rel attribute to be used for the underlying <a> tag */
|
|
24
|
+
rel?: string;
|
|
25
|
+
/** set the colour variant for a menuType */
|
|
26
|
+
variant?: VariantType;
|
|
27
|
+
/** Flag to display the dropdown arrow when an item has a submenu */
|
|
28
|
+
showDropdownArrow?: boolean;
|
|
29
|
+
/** If no text is provided an ariaLabel should be given to facilitate accessibility. */
|
|
30
|
+
ariaLabel?: string;
|
|
31
|
+
/** Callback triggered when submenu opens. Only valid with submenu prop */
|
|
32
|
+
onSubmenuOpen?: () => void;
|
|
33
|
+
/** Callback triggered when submenu closes. Only valid with submenu prop */
|
|
34
|
+
onSubmenuClose?: () => void;
|
|
35
|
+
/**
|
|
36
|
+
@ignore @private
|
|
37
|
+
private prop, used inside ScrollableBlock to ensure the MenuItem's color variant overrides the CSS
|
|
38
|
+
for other MenuItems inside the block
|
|
39
|
+
*/
|
|
40
|
+
overrideColor?: boolean;
|
|
41
|
+
/** @private @ignore */
|
|
42
|
+
"data-component"?: string;
|
|
43
|
+
/** When set the submenu opens by click instead of hover */
|
|
44
|
+
clickToOpen?: boolean;
|
|
45
|
+
/** Sets the maxWidth of the MenuItem */
|
|
46
|
+
maxWidth?: MaxWidthProps["maxWidth"];
|
|
47
|
+
/**
|
|
48
|
+
* @private @ignore
|
|
49
|
+
* Renders MenuItem as a div element
|
|
50
|
+
* */
|
|
51
|
+
as?: "div";
|
|
52
|
+
}
|
|
53
|
+
export interface MenuWithChildren extends MenuItemBaseProps {
|
|
54
|
+
children?: React.ReactNode;
|
|
55
|
+
/** Either prop `icon` must be defined or this node must have children. */
|
|
56
|
+
icon?: IconType;
|
|
57
|
+
}
|
|
58
|
+
export interface MenuWithIcon extends MenuItemBaseProps {
|
|
59
|
+
/** Either prop `icon` must be defined or this node must have children. */
|
|
60
|
+
icon: IconType;
|
|
61
|
+
children?: React.ReactNode;
|
|
62
|
+
}
|
|
63
|
+
export declare const MenuItem: {
|
|
64
|
+
({ submenu, children, href, onClick, target, submenuDirection, icon, selected, onKeyDown, variant, showDropdownArrow, ariaLabel, clickToOpen, maxWidth, onSubmenuOpen, onSubmenuClose, overrideColor, rel, as, ...rest }: MenuWithChildren | MenuWithIcon): JSX.Element;
|
|
65
|
+
displayName: string;
|
|
66
|
+
};
|
|
67
|
+
export default MenuItem;
|