@atlaskit/dropdown-menu 11.11.6 → 11.13.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/dropdown-menu
2
2
 
3
+ ## 11.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`4f211dbe626`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4f211dbe626) - [ux] We are adopting a new Button component behind a feature flag. This is necessary for the implementation of the SplitButton component. If this adoption is successful, it will be available in a later release.
8
+
9
+ ## 11.12.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`b66fdec7fd1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b66fdec7fd1) - Add a new prop `shouldRenderToParent` to allow render content into a DOM node within the parent DOM hierarchy instead of React portal.
14
+
3
15
  ## 11.11.6
4
16
 
5
17
  ### Patch Changes
@@ -13,6 +13,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _bindEventListener = require("bind-event-listener");
15
15
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
16
+ var _unsafe = require("@atlaskit/button/unsafe");
16
17
  var _keycodes = require("@atlaskit/ds-lib/keycodes");
17
18
  var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
18
19
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
@@ -31,8 +32,8 @@ var _useGeneratedId = _interopRequireWildcard(require("./internal/utils/use-gene
31
32
  var _excluded = ["ref"]; // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
32
33
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
+ 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; }
36
+ 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; }
36
37
  var gridSize = (0, _constants.gridSize)();
37
38
  var MAX_HEIGHT = "calc(100vh - ".concat(gridSize * 2, "px)");
38
39
  var opposites = {
@@ -85,6 +86,8 @@ var DropdownMenu = function DropdownMenu(props) {
85
86
  spacing = props.spacing,
86
87
  _props$shouldFlip = props.shouldFlip,
87
88
  shouldFlip = _props$shouldFlip === void 0 ? true : _props$shouldFlip,
89
+ _props$shouldRenderTo = props.shouldRenderToParent,
90
+ shouldRenderToParent = _props$shouldRenderTo === void 0 ? false : _props$shouldRenderTo,
88
91
  _props$isLoading = props.isLoading,
89
92
  isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
90
93
  _props$autoFocus = props.autoFocus,
@@ -186,7 +189,7 @@ var DropdownMenu = function DropdownMenu(props) {
186
189
  fallbackPlacements: fallbackPlacements,
187
190
  testId: testId && "".concat(testId, "--content"),
188
191
  shouldUseCaptureOnOutsideClick: true,
189
- shouldRenderToParent: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.render-popup-in-parent_f73ij') ? true : undefined,
192
+ shouldRenderToParent: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.render-popup-in-parent_f73ij') ? shouldRenderToParent : undefined,
190
193
  trigger: function trigger(triggerProps) {
191
194
  if (typeof _trigger === 'function') {
192
195
  var ref = triggerProps.ref,
@@ -198,7 +201,21 @@ var DropdownMenu = function DropdownMenu(props) {
198
201
  testId: testId && "".concat(testId, "--trigger")
199
202
  }));
200
203
  }
201
- return /*#__PURE__*/_react.default.createElement(_standardButton.default, (0, _extends2.default)({}, bindFocus, {
204
+ return (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.new-button-adoption-in-dropdown_p8sn4') ? /*#__PURE__*/_react.default.createElement(_unsafe.UNSAFE_BUTTON, {
205
+ iconAfter: /*#__PURE__*/_react.default.createElement(_chevronDown.default, {
206
+ size: "medium",
207
+ label: ""
208
+ }),
209
+ onFocus: bindFocus.onFocus,
210
+ onBlur: bindFocus.onBlur,
211
+ ref: isNested ? (0, _mergeRefs.default)([triggerProps.ref, itemRef]) : triggerProps.ref,
212
+ "aria-controls": triggerProps['aria-controls'],
213
+ "aria-expanded": triggerProps['aria-expanded'],
214
+ "aria-haspopup": triggerProps['aria-haspopup'],
215
+ isSelected: isLocalOpen,
216
+ onClick: handleTriggerClicked,
217
+ testId: testId && "".concat(testId, "--trigger")
218
+ }, _trigger) : /*#__PURE__*/_react.default.createElement(_standardButton.default, (0, _extends2.default)({}, bindFocus, {
202
219
  ref: isNested ? (0, _mergeRefs.default)([triggerProps.ref, itemRef]) : triggerProps.ref,
203
220
  "aria-controls": triggerProps['aria-controls'],
204
221
  "aria-expanded": triggerProps['aria-expanded'],
@@ -11,8 +11,8 @@ var _react = require("react");
11
11
  var _dropdownItemRadioGroup = require("../../radio/dropdown-item-radio-group");
12
12
  var _selectionStore = require("../context/selection-store");
13
13
  var _resetOptionsInGroup = _interopRequireDefault(require("../utils/reset-options-in-group"));
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ 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; }
15
+ 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; }
16
16
  function useRadioState(_ref) {
17
17
  var id = _ref.id,
18
18
  isSelected = _ref.isSelected,
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+ 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; }
10
+ 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; }
11
11
  var resetOptionsInGroup = function resetOptionsInGroup(group) {
12
12
  return Object.keys(group || {}).reduce(function (accumulator, current) {
13
13
  return _objectSpread(_objectSpread({}, accumulator), {}, (0, _defineProperty2.default)({}, current, typeof group[current] === 'undefined' ? undefined : false));
@@ -15,8 +15,8 @@ var _selectionStore = require("../internal/context/selection-store");
15
15
  var _resetOptionsInGroup = _interopRequireDefault(require("../internal/utils/reset-options-in-group"));
16
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ 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; }
19
+ 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; }
20
20
  /**
21
21
  * __Radio group context__
22
22
  * Context provider that wraps each DropdownItemRadioGroup
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
3
3
  import { bind } from 'bind-event-listener';
4
4
  import Button from '@atlaskit/button/standard-button';
5
+ import { UNSAFE_BUTTON } from '@atlaskit/button/unsafe';
5
6
  import { KEY_DOWN } from '@atlaskit/ds-lib/keycodes';
6
7
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
7
8
  import noop from '@atlaskit/ds-lib/noop';
@@ -67,6 +68,7 @@ const DropdownMenu = props => {
67
68
  trigger,
68
69
  spacing,
69
70
  shouldFlip = true,
71
+ shouldRenderToParent = false,
70
72
  isLoading = false,
71
73
  autoFocus = false,
72
74
  testId,
@@ -159,7 +161,7 @@ const DropdownMenu = props => {
159
161
  fallbackPlacements: fallbackPlacements,
160
162
  testId: testId && `${testId}--content`,
161
163
  shouldUseCaptureOnOutsideClick: true,
162
- shouldRenderToParent: getBooleanFF('platform.design-system-team.render-popup-in-parent_f73ij') ? true : undefined,
164
+ shouldRenderToParent: getBooleanFF('platform.design-system-team.render-popup-in-parent_f73ij') ? shouldRenderToParent : undefined,
163
165
  trigger: triggerProps => {
164
166
  if (typeof trigger === 'function') {
165
167
  const {
@@ -175,7 +177,21 @@ const DropdownMenu = props => {
175
177
  testId: testId && `${testId}--trigger`
176
178
  });
177
179
  }
178
- return /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
180
+ return getBooleanFF('platform.design-system-team.new-button-adoption-in-dropdown_p8sn4') ? /*#__PURE__*/React.createElement(UNSAFE_BUTTON, {
181
+ iconAfter: /*#__PURE__*/React.createElement(ExpandIcon, {
182
+ size: "medium",
183
+ label: ""
184
+ }),
185
+ onFocus: bindFocus.onFocus,
186
+ onBlur: bindFocus.onBlur,
187
+ ref: isNested ? mergeRefs([triggerProps.ref, itemRef]) : triggerProps.ref,
188
+ "aria-controls": triggerProps['aria-controls'],
189
+ "aria-expanded": triggerProps['aria-expanded'],
190
+ "aria-haspopup": triggerProps['aria-haspopup'],
191
+ isSelected: isLocalOpen,
192
+ onClick: handleTriggerClicked,
193
+ testId: testId && `${testId}--trigger`
194
+ }, trigger) : /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
179
195
  ref: isNested ? mergeRefs([triggerProps.ref, itemRef]) : triggerProps.ref,
180
196
  "aria-controls": triggerProps['aria-controls'],
181
197
  "aria-expanded": triggerProps['aria-expanded'],
@@ -3,11 +3,12 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  var _excluded = ["ref"];
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
+ 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; }
7
+ 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) { _defineProperty(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; }
8
8
  import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
9
9
  import { bind } from 'bind-event-listener';
10
10
  import Button from '@atlaskit/button/standard-button';
11
+ import { UNSAFE_BUTTON } from '@atlaskit/button/unsafe';
11
12
  import { KEY_DOWN } from '@atlaskit/ds-lib/keycodes';
12
13
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
13
14
  import noop from '@atlaskit/ds-lib/noop';
@@ -76,6 +77,8 @@ var DropdownMenu = function DropdownMenu(props) {
76
77
  spacing = props.spacing,
77
78
  _props$shouldFlip = props.shouldFlip,
78
79
  shouldFlip = _props$shouldFlip === void 0 ? true : _props$shouldFlip,
80
+ _props$shouldRenderTo = props.shouldRenderToParent,
81
+ shouldRenderToParent = _props$shouldRenderTo === void 0 ? false : _props$shouldRenderTo,
79
82
  _props$isLoading = props.isLoading,
80
83
  isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
81
84
  _props$autoFocus = props.autoFocus,
@@ -177,7 +180,7 @@ var DropdownMenu = function DropdownMenu(props) {
177
180
  fallbackPlacements: fallbackPlacements,
178
181
  testId: testId && "".concat(testId, "--content"),
179
182
  shouldUseCaptureOnOutsideClick: true,
180
- shouldRenderToParent: getBooleanFF('platform.design-system-team.render-popup-in-parent_f73ij') ? true : undefined,
183
+ shouldRenderToParent: getBooleanFF('platform.design-system-team.render-popup-in-parent_f73ij') ? shouldRenderToParent : undefined,
181
184
  trigger: function trigger(triggerProps) {
182
185
  if (typeof _trigger === 'function') {
183
186
  var ref = triggerProps.ref,
@@ -189,7 +192,21 @@ var DropdownMenu = function DropdownMenu(props) {
189
192
  testId: testId && "".concat(testId, "--trigger")
190
193
  }));
191
194
  }
192
- return /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
195
+ return getBooleanFF('platform.design-system-team.new-button-adoption-in-dropdown_p8sn4') ? /*#__PURE__*/React.createElement(UNSAFE_BUTTON, {
196
+ iconAfter: /*#__PURE__*/React.createElement(ExpandIcon, {
197
+ size: "medium",
198
+ label: ""
199
+ }),
200
+ onFocus: bindFocus.onFocus,
201
+ onBlur: bindFocus.onBlur,
202
+ ref: isNested ? mergeRefs([triggerProps.ref, itemRef]) : triggerProps.ref,
203
+ "aria-controls": triggerProps['aria-controls'],
204
+ "aria-expanded": triggerProps['aria-expanded'],
205
+ "aria-haspopup": triggerProps['aria-haspopup'],
206
+ isSelected: isLocalOpen,
207
+ onClick: handleTriggerClicked,
208
+ testId: testId && "".concat(testId, "--trigger")
209
+ }, _trigger) : /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
193
210
  ref: isNested ? mergeRefs([triggerProps.ref, itemRef]) : triggerProps.ref,
194
211
  "aria-controls": triggerProps['aria-controls'],
195
212
  "aria-expanded": triggerProps['aria-expanded'],
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
+ 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; }
4
+ 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) { _defineProperty(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; }
5
5
  import { useCallback, useContext, useEffect, useState } from 'react';
6
6
  import { RadioGroupContext } from '../../radio/dropdown-item-radio-group';
7
7
  import { SelectionStoreContext } from '../context/selection-store';
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2
+ 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; }
3
+ 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) { _defineProperty(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; }
4
4
  var resetOptionsInGroup = function resetOptionsInGroup(group) {
5
5
  return Object.keys(group || {}).reduce(function (accumulator, current) {
6
6
  return _objectSpread(_objectSpread({}, accumulator), {}, _defineProperty({}, current, typeof group[current] === 'undefined' ? undefined : false));
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
+ 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; }
4
+ 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) { _defineProperty(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; }
5
5
  import React, { createContext, useContext, useState } from 'react';
6
6
  import noop from '@atlaskit/ds-lib/noop';
7
7
  import Section from '@atlaskit/menu/section';
@@ -92,6 +92,12 @@ export interface DropdownMenuProps<TriggerElement extends HTMLElement = HTMLElem
92
92
  * fit in the viewport.
93
93
  */
94
94
  shouldFlip?: boolean;
95
+ /**
96
+ * The root element where the DropdownMenu content should be rendered.
97
+ * `true` - rendering in the DOM node closest to the trigger. `false` - rendering in React.Portal.
98
+ * Defaults to `false`.
99
+ */
100
+ shouldRenderToParent?: boolean;
95
101
  /**
96
102
  * Controls the spacing density of the menu.
97
103
  */
@@ -92,6 +92,12 @@ export interface DropdownMenuProps<TriggerElement extends HTMLElement = HTMLElem
92
92
  * fit in the viewport.
93
93
  */
94
94
  shouldFlip?: boolean;
95
+ /**
96
+ * The root element where the DropdownMenu content should be rendered.
97
+ * `true` - rendering in the DOM node closest to the trigger. `false` - rendering in React.Portal.
98
+ * Defaults to `false`.
99
+ */
100
+ shouldRenderToParent?: boolean;
95
101
  /**
96
102
  * Controls the spacing density of the menu.
97
103
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/dropdown-menu",
3
- "version": "11.11.6",
3
+ "version": "11.13.0",
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/"
@@ -31,17 +31,17 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@atlaskit/button": "^16.8.0",
34
+ "@atlaskit/button": "^16.9.0",
35
35
  "@atlaskit/codemod-utils": "^4.2.0",
36
36
  "@atlaskit/ds-lib": "^2.2.0",
37
37
  "@atlaskit/icon": "^21.12.0",
38
- "@atlaskit/menu": "^1.9.0",
38
+ "@atlaskit/menu": "^1.10.0",
39
39
  "@atlaskit/platform-feature-flags": "^0.2.2",
40
40
  "@atlaskit/popup": "^1.9.0",
41
- "@atlaskit/primitives": "^1.0.6",
41
+ "@atlaskit/primitives": "^1.3.0",
42
42
  "@atlaskit/spinner": "^15.5.0",
43
- "@atlaskit/theme": "^12.5.0",
44
- "@atlaskit/tokens": "^1.14.0",
43
+ "@atlaskit/theme": "^12.6.0",
44
+ "@atlaskit/tokens": "^1.20.0",
45
45
  "@atlaskit/visually-hidden": "^1.2.0",
46
46
  "@babel/runtime": "^7.0.0",
47
47
  "@emotion/react": "^11.7.1",
@@ -109,6 +109,13 @@
109
109
  },
110
110
  "platform.design-system-team.border-checkbox_nyoiu": {
111
111
  "type": "boolean"
112
+ },
113
+ "platform.design-system-team.new-button-adoption-in-dropdown_p8sn4": {
114
+ "type": "boolean"
115
+ },
116
+ "platform.design-system-team.icon-button-spacing-fix_o1zc5": {
117
+ "type": "boolean",
118
+ "referenceOnly": "true"
112
119
  }
113
120
  },
114
121
  "homepage": "https://atlassian.design/components/dropdown-menu/",
package/report.api.md CHANGED
@@ -147,6 +147,7 @@ export interface DropdownMenuProps<
147
147
  onOpenChange?: (args: OnOpenChangeArgs) => void;
148
148
  placement?: Placement;
149
149
  shouldFlip?: boolean;
150
+ shouldRenderToParent?: boolean;
150
151
  spacing?: Extract<MenuGroupProps['spacing'], 'compact' | 'cozy'>;
151
152
  statusLabel?: string;
152
153
  testId?: string;
@@ -123,6 +123,7 @@ export interface DropdownMenuProps<TriggerElement extends HTMLElement = HTMLElem
123
123
  onOpenChange?: (args: OnOpenChangeArgs) => void;
124
124
  placement?: Placement;
125
125
  shouldFlip?: boolean;
126
+ shouldRenderToParent?: boolean;
126
127
  spacing?: Extract<MenuGroupProps['spacing'], 'compact' | 'cozy'>;
127
128
  statusLabel?: string;
128
129
  testId?: string;
@@ -1,5 +0,0 @@
1
- {
2
- "name": "@atlaskit/dropdown-menu",
3
- "version": "11.11.6",
4
- "sideEffects": false
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "name": "@atlaskit/dropdown-menu",
3
- "version": "11.11.6",
4
- "sideEffects": false
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "name": "@atlaskit/dropdown-menu",
3
- "version": "11.11.6",
4
- "sideEffects": false
5
- }