@atlaskit/dropdown-menu 12.18.1 → 12.18.3
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/CHANGELOG.md +16 -0
- package/dist/cjs/checkbox/dropdown-item-checkbox.js +1 -1
- package/dist/cjs/dropdown-menu-item-group.js +1 -1
- package/dist/cjs/dropdown-menu-item.js +1 -1
- package/dist/cjs/dropdown-menu.js +1 -1
- package/dist/cjs/internal/components/context.js +1 -1
- package/dist/cjs/internal/components/focus-manager.js +1 -1
- package/dist/cjs/internal/context/selection-store.js +1 -1
- package/dist/cjs/internal/utils/handle-focus.js +23 -7
- package/dist/cjs/radio/dropdown-item-radio-group.js +1 -1
- package/dist/cjs/radio/dropdown-item-radio.js +1 -1
- package/dist/es2019/internal/utils/handle-focus.js +23 -7
- package/dist/esm/internal/utils/handle-focus.js +23 -7
- package/package.json +10 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/dropdown-menu
|
|
2
2
|
|
|
3
|
+
## 12.18.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 12.18.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#139091](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/139091)
|
|
14
|
+
[`142645f92833a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/142645f92833a) -
|
|
15
|
+
Fix a bug that caused the launch button to lose the ability to focus after closing a popup window
|
|
16
|
+
by pressing the Tab key that opened from a dropdown menu. This problem was reproduced only when
|
|
17
|
+
the `platform_dst_popup-disable-focuslock` feature flag was enabled.
|
|
18
|
+
|
|
3
19
|
## 12.18.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -18,7 +18,7 @@ var _useCheckboxState3 = _interopRequireDefault(require("../internal/hooks/use-c
|
|
|
18
18
|
var _useRegisterItemWithFocusManager = _interopRequireDefault(require("../internal/hooks/use-register-item-with-focus-manager"));
|
|
19
19
|
var _excluded = ["children", "defaultSelected", "description", "id", "isDisabled", "isSelected", "onClick", "shouldDescriptionWrap", "shouldTitleWrap", "testId"];
|
|
20
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
22
|
/**
|
|
23
23
|
* __Dropdown item checkbox__
|
|
24
24
|
*
|
|
@@ -14,7 +14,7 @@ var _menu = require("@atlaskit/menu");
|
|
|
14
14
|
var _groupTitle = _interopRequireDefault(require("./internal/components/group-title"));
|
|
15
15
|
var _excluded = ["children", "id", "isList", "isScrollable", "title", "testId", "hasSeparator", "overrides"];
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
/**
|
|
19
19
|
* __Dropdown item checkbox group__
|
|
20
20
|
*
|
|
@@ -16,7 +16,7 @@ var _linkItem = _interopRequireDefault(require("@atlaskit/menu/link-item"));
|
|
|
16
16
|
var _useRegisterItemWithFocusManager = _interopRequireDefault(require("./internal/hooks/use-register-item-with-focus-manager"));
|
|
17
17
|
var _excluded = ["children", "component", "description", "elemAfter", "elemBefore", "href", "isDisabled", "isSelected", "onClick", "rel", "shouldDescriptionWrap", "shouldTitleWrap", "target", "testId", "UNSAFE_shouldDisableRouterLink", "returnFocusRef"];
|
|
18
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
20
|
/**
|
|
21
21
|
* __Dropdown menu item__
|
|
22
22
|
*
|
|
@@ -29,7 +29,7 @@ var _useRegisterItemWithFocusManager = _interopRequireDefault(require("./interna
|
|
|
29
29
|
var _useGeneratedId = _interopRequireWildcard(require("./internal/utils/use-generated-id"));
|
|
30
30
|
var _excluded = ["ref", "aria-controls", "aria-expanded", "aria-haspopup"]; // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
31
31
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
32
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
32
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
33
33
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
34
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35
35
|
var gridSize = (0, _constants.gridSize)();
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.TrackMaxLevelContext = exports.TrackLevelProvider = exports.NestedLevelContext = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
11
|
/**
|
|
12
12
|
*
|
|
13
13
|
* @internal
|
|
@@ -12,7 +12,7 @@ var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
|
|
|
12
12
|
var _layering = require("@atlaskit/layering");
|
|
13
13
|
var _handleFocus = _interopRequireDefault(require("../utils/handle-focus"));
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
/**
|
|
17
17
|
*
|
|
18
18
|
*
|
|
@@ -9,7 +9,7 @@ exports.default = exports.SelectionStoreContext = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
|
|
11
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
12
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
15
|
* SelectionStoreContext maintains the state of the selected items
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = handleFocus;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _keycodes = require("@atlaskit/ds-lib/keycodes");
|
|
10
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
|
+
var _useGeneratedId = require("./use-generated-id");
|
|
10
12
|
var _actionMap;
|
|
11
13
|
var actionMap = (_actionMap = {}, (0, _defineProperty2.default)(_actionMap, _keycodes.KEY_DOWN, 'next'), (0, _defineProperty2.default)(_actionMap, _keycodes.KEY_UP, 'prev'), (0, _defineProperty2.default)(_actionMap, _keycodes.KEY_HOME, 'first'), (0, _defineProperty2.default)(_actionMap, _keycodes.KEY_END, 'last'), _actionMap);
|
|
12
14
|
|
|
@@ -47,15 +49,29 @@ function handleFocus(refs, isLayerDisabled, onClose) {
|
|
|
47
49
|
var _document$activeEleme;
|
|
48
50
|
return (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.isSameNode(el);
|
|
49
51
|
});
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
if
|
|
53
|
-
|
|
52
|
+
if ((0, _platformFeatureFlags.fg)('platform_dst_popup-disable-focuslock')) {
|
|
53
|
+
var _document$activeEleme2;
|
|
54
|
+
// if we use a popup as a nested dropdown, we must prevent the dropdown from closing.
|
|
55
|
+
var isNestedDropdown = !!((_document$activeEleme2 = document.activeElement) !== null && _document$activeEleme2 !== void 0 && _document$activeEleme2.closest("[id^=".concat(_useGeneratedId.PREFIX, "]")));
|
|
56
|
+
if (isLayerDisabled() && isNestedDropdown) {
|
|
57
|
+
if (e.key === _keycodes.KEY_TAB && !e.shiftKey) {
|
|
58
|
+
onClose(e);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// if it is a nested dropdown and the level of the given dropdown is not the current level,
|
|
62
|
+
// we don't need to have focus on it
|
|
63
|
+
return;
|
|
54
64
|
}
|
|
65
|
+
} else {
|
|
66
|
+
if (isLayerDisabled()) {
|
|
67
|
+
if (e.key === _keycodes.KEY_TAB && !e.shiftKey) {
|
|
68
|
+
onClose(e);
|
|
69
|
+
}
|
|
55
70
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
71
|
+
// if it is a nested dropdown and the level of the given dropdown is not the current level,
|
|
72
|
+
// we don't need to have focus on it
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
59
75
|
}
|
|
60
76
|
var action = actionMap[e.key];
|
|
61
77
|
switch (action) {
|
|
@@ -19,7 +19,7 @@ var _selectionStore = require("../internal/context/selection-store");
|
|
|
19
19
|
var _resetOptionsInGroup = _interopRequireDefault(require("../internal/utils/reset-options-in-group"));
|
|
20
20
|
var _excluded = ["children", "hasSeparator", "id", "isList", "isScrollable", "overrides", "testId", "title"];
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
23
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
24
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25
25
|
/**
|
|
@@ -19,7 +19,7 @@ var _useRegisterItemWithFocusManager = _interopRequireDefault(require("../intern
|
|
|
19
19
|
var _isVoiceOverSupported = _interopRequireDefault(require("../internal/utils/is-voice-over-supported"));
|
|
20
20
|
var _excluded = ["children", "defaultSelected", "testId", "id", "title", "description", "isDisabled", "isSelected", "onClick", "shouldDescriptionWrap", "shouldTitleWrap"];
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
23
|
/**
|
|
24
24
|
* __Dropdown item radio__
|
|
25
25
|
*
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { KEY_DOWN, KEY_END, KEY_HOME, KEY_TAB, KEY_UP } from '@atlaskit/ds-lib/keycodes';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
|
+
import { PREFIX } from './use-generated-id';
|
|
2
4
|
const actionMap = {
|
|
3
5
|
[KEY_DOWN]: 'next',
|
|
4
6
|
[KEY_UP]: 'prev',
|
|
@@ -43,15 +45,29 @@ export default function handleFocus(refs, isLayerDisabled, onClose) {
|
|
|
43
45
|
var _document$activeEleme;
|
|
44
46
|
return (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.isSameNode(el);
|
|
45
47
|
});
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
if
|
|
49
|
-
|
|
48
|
+
if (fg('platform_dst_popup-disable-focuslock')) {
|
|
49
|
+
var _document$activeEleme2;
|
|
50
|
+
// if we use a popup as a nested dropdown, we must prevent the dropdown from closing.
|
|
51
|
+
const isNestedDropdown = !!((_document$activeEleme2 = document.activeElement) !== null && _document$activeEleme2 !== void 0 && _document$activeEleme2.closest(`[id^=${PREFIX}]`));
|
|
52
|
+
if (isLayerDisabled() && isNestedDropdown) {
|
|
53
|
+
if (e.key === KEY_TAB && !e.shiftKey) {
|
|
54
|
+
onClose(e);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// if it is a nested dropdown and the level of the given dropdown is not the current level,
|
|
58
|
+
// we don't need to have focus on it
|
|
59
|
+
return;
|
|
50
60
|
}
|
|
61
|
+
} else {
|
|
62
|
+
if (isLayerDisabled()) {
|
|
63
|
+
if (e.key === KEY_TAB && !e.shiftKey) {
|
|
64
|
+
onClose(e);
|
|
65
|
+
}
|
|
51
66
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
// if it is a nested dropdown and the level of the given dropdown is not the current level,
|
|
68
|
+
// we don't need to have focus on it
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
55
71
|
}
|
|
56
72
|
const action = actionMap[e.key];
|
|
57
73
|
switch (action) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
var _actionMap;
|
|
3
3
|
import { KEY_DOWN, KEY_END, KEY_HOME, KEY_TAB, KEY_UP } from '@atlaskit/ds-lib/keycodes';
|
|
4
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
|
+
import { PREFIX } from './use-generated-id';
|
|
4
6
|
var actionMap = (_actionMap = {}, _defineProperty(_actionMap, KEY_DOWN, 'next'), _defineProperty(_actionMap, KEY_UP, 'prev'), _defineProperty(_actionMap, KEY_HOME, 'first'), _defineProperty(_actionMap, KEY_END, 'last'), _actionMap);
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -40,15 +42,29 @@ export default function handleFocus(refs, isLayerDisabled, onClose) {
|
|
|
40
42
|
var _document$activeEleme;
|
|
41
43
|
return (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.isSameNode(el);
|
|
42
44
|
});
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
if
|
|
46
|
-
|
|
45
|
+
if (fg('platform_dst_popup-disable-focuslock')) {
|
|
46
|
+
var _document$activeEleme2;
|
|
47
|
+
// if we use a popup as a nested dropdown, we must prevent the dropdown from closing.
|
|
48
|
+
var isNestedDropdown = !!((_document$activeEleme2 = document.activeElement) !== null && _document$activeEleme2 !== void 0 && _document$activeEleme2.closest("[id^=".concat(PREFIX, "]")));
|
|
49
|
+
if (isLayerDisabled() && isNestedDropdown) {
|
|
50
|
+
if (e.key === KEY_TAB && !e.shiftKey) {
|
|
51
|
+
onClose(e);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// if it is a nested dropdown and the level of the given dropdown is not the current level,
|
|
55
|
+
// we don't need to have focus on it
|
|
56
|
+
return;
|
|
47
57
|
}
|
|
58
|
+
} else {
|
|
59
|
+
if (isLayerDisabled()) {
|
|
60
|
+
if (e.key === KEY_TAB && !e.shiftKey) {
|
|
61
|
+
onClose(e);
|
|
62
|
+
}
|
|
48
63
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
64
|
+
// if it is a nested dropdown and the level of the given dropdown is not the current level,
|
|
65
|
+
// we don't need to have focus on it
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
52
68
|
}
|
|
53
69
|
var action = actionMap[e.key];
|
|
54
70
|
switch (action) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/dropdown-menu",
|
|
3
|
-
"version": "12.18.
|
|
3
|
+
"version": "12.18.3",
|
|
4
4
|
"description": "A dropdown menu displays a list of actions or options to a user.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -23,17 +23,18 @@
|
|
|
23
23
|
"runReact18": true
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@atlaskit/button": "^20.
|
|
26
|
+
"@atlaskit/button": "^20.2.0",
|
|
27
27
|
"@atlaskit/codemod-utils": "^4.2.0",
|
|
28
|
-
"@atlaskit/ds-lib": "^2.
|
|
29
|
-
"@atlaskit/icon": "^22.
|
|
28
|
+
"@atlaskit/ds-lib": "^2.6.0",
|
|
29
|
+
"@atlaskit/icon": "^22.18.0",
|
|
30
30
|
"@atlaskit/layering": "^0.4.0",
|
|
31
31
|
"@atlaskit/menu": "^2.12.0",
|
|
32
|
-
"@atlaskit/
|
|
33
|
-
"@atlaskit/
|
|
32
|
+
"@atlaskit/platform-feature-flags": "^0.3.0",
|
|
33
|
+
"@atlaskit/popup": "^1.27.0",
|
|
34
|
+
"@atlaskit/primitives": "^12.2.0",
|
|
34
35
|
"@atlaskit/spinner": "^16.3.0",
|
|
35
36
|
"@atlaskit/theme": "^13.0.0",
|
|
36
|
-
"@atlaskit/tokens": "^
|
|
37
|
+
"@atlaskit/tokens": "^2.0.0",
|
|
37
38
|
"@babel/runtime": "^7.0.0",
|
|
38
39
|
"@emotion/react": "^11.7.1",
|
|
39
40
|
"bind-event-listener": "^3.0.0"
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
"@af/integration-testing": "*",
|
|
48
49
|
"@af/visual-regression": "*",
|
|
49
50
|
"@atlaskit/app-provider": "^1.4.0",
|
|
50
|
-
"@atlaskit/modal-dialog": "^12.
|
|
51
|
+
"@atlaskit/modal-dialog": "^12.17.0",
|
|
51
52
|
"@atlaskit/toggle": "^13.4.0",
|
|
52
53
|
"@atlaskit/visual-regression": "*",
|
|
53
54
|
"@atlassian/feature-flags-test-utils": "*",
|
|
@@ -70,16 +71,7 @@
|
|
|
70
71
|
],
|
|
71
72
|
"platform-feature-flags": {
|
|
72
73
|
"platform_dst_popup-disable-focuslock": {
|
|
73
|
-
"type": "boolean"
|
|
74
|
-
"referenceOnly": true
|
|
75
|
-
},
|
|
76
|
-
"sibling-dropdown-close-issue": {
|
|
77
|
-
"type": "boolean",
|
|
78
|
-
"referenceOnly": true
|
|
79
|
-
},
|
|
80
|
-
"design-system-closed-all-when-click-outside": {
|
|
81
|
-
"type": "boolean",
|
|
82
|
-
"referenceOnly": true
|
|
74
|
+
"type": "boolean"
|
|
83
75
|
}
|
|
84
76
|
},
|
|
85
77
|
"techstack": {
|