@atlaskit/dropdown-menu 11.14.5 → 12.1.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,35 @@
1
1
  # @atlaskit/dropdown-menu
2
2
 
3
+ ## 12.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#41586](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41586) [`ef0466f92d9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ef0466f92d9) - We are removing previously added feature flag and unsafe entry point usage of the new Button inside DropdownMenu.
8
+
9
+ ## 12.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - [#41355](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41355) [`cd1c813da18`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cd1c813da18) - Menu items now have a secondary selected state (border or notch), this was previously feature flagged for Atlassian experiences and is now available for everyone.
14
+
15
+ This change makes all menu items are now relatively positioned, if you had any child elements that leaned on this behaviour your experiences will now be broken!
16
+
17
+ For example the below code code previously the `div` would be positioned relatively to the menu group element. Now, it is positioned relatively to the button item element.
18
+
19
+ ```jsx
20
+ <MenuGroup>
21
+ <ButtonItem>
22
+ <div style={{ position: 'absolute', top: '100%' }} />
23
+ </ButtonItem>
24
+ </MenuGroup>
25
+ ```
26
+
27
+ As a path forward you should not be leaning on this behaviour. If you need a popup experience use `@atlaskit/dropdown-menu` or `@atlaskit/popup`.
28
+
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies
32
+
3
33
  ## 11.14.5
4
34
 
5
35
  ### Patch Changes
@@ -11,7 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
12
12
  var _menu = require("@atlaskit/menu");
13
13
  var _buttonItem = _interopRequireDefault(require("@atlaskit/menu/button-item"));
14
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
14
  var _checkboxIcon = _interopRequireDefault(require("../internal/components/checkbox-icon"));
16
15
  var _useCheckboxState3 = _interopRequireDefault(require("../internal/hooks/use-checkbox-state"));
17
16
  var _useRegisterItemWithFocusManager = _interopRequireDefault(require("../internal/hooks/use-register-item-with-focus-manager"));
@@ -69,7 +68,7 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(_ref) {
69
68
  }),
70
69
  id: id,
71
70
  isDisabled: isDisabled,
72
- isSelected: selected && (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.menu-selected-state-change_0see9'),
71
+ isSelected: selected,
73
72
  onClick: onClickHandler,
74
73
  ref: itemRef,
75
74
  role: "menuitemcheckbox",
@@ -12,14 +12,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _bindEventListener = require("bind-event-listener");
14
14
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
15
- var _unsafe = require("@atlaskit/button/unsafe");
16
15
  var _keycodes = require("@atlaskit/ds-lib/keycodes");
17
16
  var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
18
17
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
19
18
  var _useControlled = _interopRequireDefault(require("@atlaskit/ds-lib/use-controlled"));
20
19
  var _useFocusEvent = _interopRequireDefault(require("@atlaskit/ds-lib/use-focus-event"));
21
20
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
22
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
23
21
  var _popup = _interopRequireDefault(require("@atlaskit/popup"));
24
22
  var _constants = require("@atlaskit/theme/constants");
25
23
  var _focusManager = _interopRequireDefault(require("./internal/components/focus-manager"));
@@ -201,21 +199,7 @@ var DropdownMenu = function DropdownMenu(_ref) {
201
199
  testId: testId && "".concat(testId, "--trigger")
202
200
  }));
203
201
  }
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: (0, _mergeRefs.default)([ref, itemRef]),
212
- "aria-controls": ariaControls,
213
- "aria-expanded": ariaExpanded,
214
- "aria-haspopup": ariaHasPopup,
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
+ return /*#__PURE__*/_react.default.createElement(_standardButton.default, (0, _extends2.default)({}, bindFocus, {
219
203
  ref: (0, _mergeRefs.default)([ref, itemRef]),
220
204
  "aria-controls": ariaControls,
221
205
  "aria-expanded": ariaExpanded,
@@ -11,7 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
12
12
  var _menu = require("@atlaskit/menu");
13
13
  var _buttonItem = _interopRequireDefault(require("@atlaskit/menu/button-item"));
14
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
14
  var _radioIcon = _interopRequireDefault(require("../internal/components/radio-icon"));
16
15
  var _useRadioState3 = _interopRequireDefault(require("../internal/hooks/use-radio-state"));
17
16
  var _useRegisterItemWithFocusManager = _interopRequireDefault(require("../internal/hooks/use-register-item-with-focus-manager"));
@@ -72,7 +71,7 @@ var DropdownItemRadio = function DropdownItemRadio(_ref) {
72
71
  }),
73
72
  id: id,
74
73
  isDisabled: isDisabled,
75
- isSelected: selected && (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.menu-selected-state-change_0see9'),
74
+ isSelected: selected,
76
75
  onClick: onClickHandler,
77
76
  ref: itemRef,
78
77
  role: (0, _isVoiceOverSupported.default)() ? 'radio' : 'menuitemradio',
@@ -2,7 +2,6 @@ import React, { useCallback } from 'react';
2
2
  import noop from '@atlaskit/ds-lib/noop';
3
3
  import { SELECTION_STYLE_CONTEXT_DO_NOT_USE } from '@atlaskit/menu';
4
4
  import ButtonItem from '@atlaskit/menu/button-item';
5
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
5
  import CheckboxIcon from '../internal/components/checkbox-icon';
7
6
  import useCheckboxState from '../internal/hooks/use-checkbox-state';
8
7
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
@@ -51,7 +50,7 @@ const DropdownItemCheckbox = ({
51
50
  }),
52
51
  id: id,
53
52
  isDisabled: isDisabled,
54
- isSelected: selected && getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9'),
53
+ isSelected: selected,
55
54
  onClick: onClickHandler,
56
55
  ref: itemRef,
57
56
  role: "menuitemcheckbox",
@@ -2,14 +2,12 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback, 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';
6
5
  import { KEY_DOWN } from '@atlaskit/ds-lib/keycodes';
7
6
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
8
7
  import noop from '@atlaskit/ds-lib/noop';
9
8
  import useControlledState from '@atlaskit/ds-lib/use-controlled';
10
9
  import useFocus from '@atlaskit/ds-lib/use-focus-event';
11
10
  import ExpandIcon from '@atlaskit/icon/glyph/chevron-down';
12
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
13
11
  import Popup from '@atlaskit/popup';
14
12
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
15
13
  import { gridSize as gridSizeFn, layers } from '@atlaskit/theme/constants';
@@ -175,21 +173,7 @@ const DropdownMenu = ({
175
173
  testId: testId && `${testId}--trigger`
176
174
  });
177
175
  }
178
- return getBooleanFF('platform.design-system-team.new-button-adoption-in-dropdown_p8sn4') ? /*#__PURE__*/React.createElement(UNSAFE_BUTTON, {
179
- iconAfter: /*#__PURE__*/React.createElement(ExpandIcon, {
180
- size: "medium",
181
- label: ""
182
- }),
183
- onFocus: bindFocus.onFocus,
184
- onBlur: bindFocus.onBlur,
185
- ref: mergeRefs([ref, itemRef]),
186
- "aria-controls": ariaControls,
187
- "aria-expanded": ariaExpanded,
188
- "aria-haspopup": ariaHasPopup,
189
- isSelected: isLocalOpen,
190
- onClick: handleTriggerClicked,
191
- testId: testId && `${testId}--trigger`
192
- }, trigger) : /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
176
+ return /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
193
177
  ref: mergeRefs([ref, itemRef]),
194
178
  "aria-controls": ariaControls,
195
179
  "aria-expanded": ariaExpanded,
@@ -2,7 +2,6 @@ import React, { useCallback } from 'react';
2
2
  import noop from '@atlaskit/ds-lib/noop';
3
3
  import { SELECTION_STYLE_CONTEXT_DO_NOT_USE } from '@atlaskit/menu';
4
4
  import ButtonItem from '@atlaskit/menu/button-item';
5
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
5
  import RadioIcon from '../internal/components/radio-icon';
7
6
  import useRadioState from '../internal/hooks/use-radio-state';
8
7
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
@@ -54,7 +53,7 @@ const DropdownItemRadio = ({
54
53
  }),
55
54
  id: id,
56
55
  isDisabled: isDisabled,
57
- isSelected: selected && getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9'),
56
+ isSelected: selected,
58
57
  onClick: onClickHandler,
59
58
  ref: itemRef,
60
59
  role: isVoiceOverSupported() ? 'radio' : 'menuitemradio',
@@ -3,7 +3,6 @@ import React, { useCallback } from 'react';
3
3
  import noop from '@atlaskit/ds-lib/noop';
4
4
  import { SELECTION_STYLE_CONTEXT_DO_NOT_USE } from '@atlaskit/menu';
5
5
  import ButtonItem from '@atlaskit/menu/button-item';
6
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
6
  import CheckboxIcon from '../internal/components/checkbox-icon';
8
7
  import useCheckboxState from '../internal/hooks/use-checkbox-state';
9
8
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
@@ -59,7 +58,7 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(_ref) {
59
58
  }),
60
59
  id: id,
61
60
  isDisabled: isDisabled,
62
- isSelected: selected && getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9'),
61
+ isSelected: selected,
63
62
  onClick: onClickHandler,
64
63
  ref: itemRef,
65
64
  role: "menuitemcheckbox",
@@ -6,14 +6,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
6
6
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
7
7
  import { bind } from 'bind-event-listener';
8
8
  import Button from '@atlaskit/button/standard-button';
9
- import { UNSAFE_BUTTON } from '@atlaskit/button/unsafe';
10
9
  import { KEY_DOWN } from '@atlaskit/ds-lib/keycodes';
11
10
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
12
11
  import noop from '@atlaskit/ds-lib/noop';
13
12
  import useControlledState from '@atlaskit/ds-lib/use-controlled';
14
13
  import useFocus from '@atlaskit/ds-lib/use-focus-event';
15
14
  import ExpandIcon from '@atlaskit/icon/glyph/chevron-down';
16
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
17
15
  import Popup from '@atlaskit/popup';
18
16
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
19
17
  import { gridSize as gridSizeFn, layers } from '@atlaskit/theme/constants';
@@ -192,21 +190,7 @@ var DropdownMenu = function DropdownMenu(_ref) {
192
190
  testId: testId && "".concat(testId, "--trigger")
193
191
  }));
194
192
  }
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: mergeRefs([ref, itemRef]),
203
- "aria-controls": ariaControls,
204
- "aria-expanded": ariaExpanded,
205
- "aria-haspopup": ariaHasPopup,
206
- isSelected: isLocalOpen,
207
- onClick: handleTriggerClicked,
208
- testId: testId && "".concat(testId, "--trigger")
209
- }, _trigger) : /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
193
+ return /*#__PURE__*/React.createElement(Button, _extends({}, bindFocus, {
210
194
  ref: mergeRefs([ref, itemRef]),
211
195
  "aria-controls": ariaControls,
212
196
  "aria-expanded": ariaExpanded,
@@ -3,7 +3,6 @@ import React, { useCallback } from 'react';
3
3
  import noop from '@atlaskit/ds-lib/noop';
4
4
  import { SELECTION_STYLE_CONTEXT_DO_NOT_USE } from '@atlaskit/menu';
5
5
  import ButtonItem from '@atlaskit/menu/button-item';
6
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
6
  import RadioIcon from '../internal/components/radio-icon';
8
7
  import useRadioState from '../internal/hooks/use-radio-state';
9
8
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
@@ -62,7 +61,7 @@ var DropdownItemRadio = function DropdownItemRadio(_ref) {
62
61
  }),
63
62
  id: id,
64
63
  isDisabled: isDisabled,
65
- isSelected: selected && getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9'),
64
+ isSelected: selected,
66
65
  onClick: onClickHandler,
67
66
  ref: itemRef,
68
67
  role: isVoiceOverSupported() ? 'radio' : 'menuitemradio',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/dropdown-menu",
3
- "version": "11.14.5",
3
+ "version": "12.1.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/"
@@ -12,14 +12,6 @@
12
12
  "module": "dist/esm/index.js",
13
13
  "module:es2019": "dist/es2019/index.js",
14
14
  "types": "dist/types/index.d.ts",
15
- "typesVersions": {
16
- ">=4.5 <4.9": {
17
- "*": [
18
- "dist/types-ts4.5/*",
19
- "dist/types-ts4.5/index.d.ts"
20
- ]
21
- }
22
- },
23
15
  "sideEffects": false,
24
16
  "atlaskit:src": "src/index.tsx",
25
17
  "atlassian": {
@@ -36,13 +28,13 @@
36
28
  "@atlaskit/ds-lib": "^2.2.0",
37
29
  "@atlaskit/icon": "^21.12.0",
38
30
  "@atlaskit/layering": "^0.2.0",
39
- "@atlaskit/menu": "^1.11.0",
31
+ "@atlaskit/menu": "^2.0.0",
40
32
  "@atlaskit/platform-feature-flags": "^0.2.2",
41
- "@atlaskit/popup": "^1.10.0",
33
+ "@atlaskit/popup": "^1.11.0",
42
34
  "@atlaskit/primitives": "^1.6.0",
43
35
  "@atlaskit/spinner": "^15.6.0",
44
36
  "@atlaskit/theme": "^12.6.0",
45
- "@atlaskit/tokens": "^1.25.0",
37
+ "@atlaskit/tokens": "^1.26.0",
46
38
  "@babel/runtime": "^7.0.0",
47
39
  "@emotion/react": "^11.7.1",
48
40
  "bind-event-listener": "^2.1.1"
@@ -53,6 +45,7 @@
53
45
  },
54
46
  "devDependencies": {
55
47
  "@af/accessibility-testing": "*",
48
+ "@af/visual-regression": "*",
56
49
  "@atlaskit/visual-regression": "*",
57
50
  "@atlaskit/webdriver-runner": "*",
58
51
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
@@ -96,20 +89,22 @@
96
89
  "deprecation": "no-deprecated-imports"
97
90
  }
98
91
  },
92
+ "typesVersions": {
93
+ ">=4.5 <4.9": {
94
+ "*": [
95
+ "dist/types-ts4.5/*",
96
+ "dist/types-ts4.5/index.d.ts"
97
+ ]
98
+ }
99
+ },
99
100
  "af:exports": {
100
101
  ".": "./src/index.tsx",
101
102
  "./types": "./src/types.tsx"
102
103
  },
103
104
  "platform-feature-flags": {
104
- "platform.design-system-team.menu-selected-state-change_0see9": {
105
- "type": "boolean"
106
- },
107
105
  "platform.design-system-team.border-checkbox_nyoiu": {
108
106
  "type": "boolean"
109
107
  },
110
- "platform.design-system-team.new-button-adoption-in-dropdown_p8sn4": {
111
- "type": "boolean"
112
- },
113
108
  "platform.design-system-team.icon-button-spacing-fix_o1zc5": {
114
109
  "type": "boolean",
115
110
  "referenceOnly": "true"