carbon-react 94.1.1 → 94.1.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.
@@ -17,6 +17,8 @@ var _menu2 = _interopRequireDefault(require("../menu.context"));
17
17
 
18
18
  var _focusTrap = _interopRequireDefault(require("../../../__internal__/focus-trap"));
19
19
 
20
+ var _events = _interopRequireDefault(require("../../../__internal__/utils/helpers/events"));
21
+
20
22
  var _box = _interopRequireDefault(require("../../box"));
21
23
 
22
24
  var _iconButton = _interopRequireDefault(require("../../icon-button"));
@@ -47,17 +49,39 @@ const MenuFullscreen = ({
47
49
  const {
48
50
  menuType
49
51
  } = (0, _react.useContext)(_menu2.default);
52
+
53
+ const handleKeyDown = ev => {
54
+ /* istanbul ignore else */
55
+ if (_events.default.isEscKey(ev)) {
56
+ onClose(ev);
57
+ }
58
+ };
59
+
60
+ (0, _react.useLayoutEffect)(() => {
61
+ const checkTransitionEnd = () => {
62
+ menuContentRef.current.focus();
63
+ };
64
+
65
+ const wrapperRef = menuWrapperRef.current;
66
+
67
+ if (isOpen) {
68
+ wrapperRef.addEventListener("transitionend", checkTransitionEnd);
69
+ } else {
70
+ wrapperRef.removeEventListener("transitionend", checkTransitionEnd);
71
+ }
72
+ }, [isOpen]);
50
73
  return /*#__PURE__*/_react.default.createElement("li", {
51
- "aria-label": "menu fullscreen",
52
- role: "menuitem"
74
+ "aria-label": "menu-fullscreen"
53
75
  }, /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement(_focusTrap.default, {
76
+ autoFocus: false,
54
77
  wrapperRef: menuWrapperRef
55
78
  }, /*#__PURE__*/_react.default.createElement(_menuFullScreen.StyledMenuFullscreen, _extends({
56
79
  "data-component": "menu-fullscreen",
57
80
  ref: menuWrapperRef,
58
81
  isOpen: isOpen,
59
82
  menuType: menuType,
60
- startPosition: startPosition
83
+ startPosition: startPosition,
84
+ onKeyDown: handleKeyDown
61
85
  }, rest), /*#__PURE__*/_react.default.createElement(_menuFullScreen.StyledMenuFullscreenHeader, {
62
86
  isOpen: isOpen,
63
87
  menuType: menuType,
@@ -80,8 +104,9 @@ const MenuFullscreen = ({
80
104
  ref: menuContentRef,
81
105
  display: "flex",
82
106
  flexDirection: "column",
83
- role: "menu",
84
- inFullscreenView: true
107
+ role: "list",
108
+ inFullscreenView: true,
109
+ tabIndex: -1
85
110
  }, _react.default.Children.map(children, (child, index) => /*#__PURE__*/_react.default.createElement(_menu2.default.Provider, {
86
111
  value: {
87
112
  inFullscreenView: true,
@@ -83,21 +83,6 @@ const StyledMenuFullscreenHeader = _styledComponents.default.div`
83
83
  background-color: ${theme.menu.dark.submenuBackground};
84
84
  `}
85
85
  `}
86
-
87
- ${({
88
- isOpen,
89
- startPosition
90
- }) => (0, _styledComponents.css)`
91
- ${isOpen && (0, _styledComponents.css)`
92
- ${startPosition}: 0;
93
- transition: all 0.3s ease;
94
- `}
95
-
96
- ${!isOpen && (0, _styledComponents.css)`
97
- ${startPosition}: -100vw;
98
- transition: all 0.3s ease;
99
- `}
100
- `}
101
86
  `;
102
87
  exports.StyledMenuFullscreenHeader = StyledMenuFullscreenHeader;
103
88
  StyledMenuFullscreen.defaultProps = {
@@ -22,6 +22,7 @@ const StyledMenuWrapper = _styledComponents.default.ul`
22
22
  list-style: none;
23
23
  margin: 0;
24
24
  padding: 0;
25
+ outline: none;
25
26
 
26
27
  ${_styledSystem.layout}
27
28
  ${_styledSystem.flexbox}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "94.1.1",
3
+ "version": "94.1.2",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "engineStrict": true,
6
6
  "engines": {