@atlaskit/menu 1.9.8 → 1.10.1

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/internal/components/menu-item-primitive.js +3 -2
  3. package/dist/cjs/menu-item/button-item.js +6 -2
  4. package/dist/cjs/menu-item/custom-item.js +6 -2
  5. package/dist/cjs/menu-item/heading-item.js +7 -3
  6. package/dist/cjs/menu-item/link-item.js +5 -1
  7. package/dist/cjs/menu-item/skeleton-heading-item.js +3 -1
  8. package/dist/cjs/menu-item/skeleton-item.js +3 -1
  9. package/dist/cjs/menu-section/menu-group.js +15 -9
  10. package/dist/cjs/menu-section/section.js +6 -2
  11. package/dist/es2019/internal/components/menu-item-primitive.js +3 -2
  12. package/dist/es2019/menu-item/button-item.js +9 -1
  13. package/dist/es2019/menu-item/custom-item.js +9 -1
  14. package/dist/es2019/menu-item/heading-item.js +10 -2
  15. package/dist/es2019/menu-item/link-item.js +8 -0
  16. package/dist/es2019/menu-item/skeleton-heading-item.js +3 -1
  17. package/dist/es2019/menu-item/skeleton-item.js +3 -1
  18. package/dist/es2019/menu-section/menu-group.js +19 -9
  19. package/dist/es2019/menu-section/section.js +9 -1
  20. package/dist/esm/internal/components/menu-item-primitive.js +3 -2
  21. package/dist/esm/menu-item/button-item.js +6 -2
  22. package/dist/esm/menu-item/custom-item.js +6 -2
  23. package/dist/esm/menu-item/heading-item.js +7 -3
  24. package/dist/esm/menu-item/link-item.js +5 -1
  25. package/dist/esm/menu-item/skeleton-heading-item.js +3 -1
  26. package/dist/esm/menu-item/skeleton-item.js +3 -1
  27. package/dist/esm/menu-section/menu-group.js +16 -10
  28. package/dist/esm/menu-section/section.js +6 -2
  29. package/dist/types/internal/components/menu-item-primitive.d.ts +1 -1
  30. package/dist/types/menu-item/heading-item.d.ts +1 -1
  31. package/dist/types/menu-section/menu-group.d.ts +1 -1
  32. package/dist/types-ts4.5/internal/components/menu-item-primitive.d.ts +1 -1
  33. package/dist/types-ts4.5/menu-item/heading-item.d.ts +1 -1
  34. package/dist/types-ts4.5/menu-section/menu-group.d.ts +1 -1
  35. package/package.json +5 -3
  36. package/report.api.md +2 -0
  37. package/tmp/api-report-tmp.d.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/menu
2
2
 
3
+ ## 1.10.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`a962b1b24eb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a962b1b24eb) - The internal composition of this component has changed. There is no expected change in behavior.
8
+
9
+ ## 1.10.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`6bb299616f3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6bb299616f3) - Adds a killswitch to turn off unsafe style overrides via a feature flag.
14
+
3
15
  ## 1.9.8
4
16
 
5
17
  ### Patch Changes
@@ -192,7 +192,7 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
192
192
  iconAfter = _ref.iconAfter,
193
193
  iconBefore = _ref.iconBefore,
194
194
  overrides = _ref.overrides,
195
- className = _ref.className,
195
+ UNSAFE_externalClassName = _ref.className,
196
196
  _ref$shouldTitleWrap = _ref.shouldTitleWrap,
197
197
  shouldTitleWrap = _ref$shouldTitleWrap === void 0 ? false : _ref$shouldTitleWrap,
198
198
  _ref$shouldDescriptio = _ref.shouldDescriptionWrap,
@@ -207,13 +207,14 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
207
207
  var spacing = (0, _react.useContext)(_menuContext.SpacingContext);
208
208
  var selectionStyle = (0, _react.useContext)(_menuContext.SELECTION_STYLE_CONTEXT_DO_NOT_USE);
209
209
  var renderTitle = overrides && overrides.Title && overrides.Title.render || defaultRender;
210
+ var UNSAFE_className = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_externalClassName;
210
211
  return (0, _react2.jsx)(_react2.ClassNames, null, function (_ref2) {
211
212
  var cn = _ref2.css,
212
213
  cx = _ref2.cx;
213
214
  return (0, _react2.jsx)(_focusRing.default, {
214
215
  isInset: true
215
216
  }, children({
216
- className: cx([cn([(0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.menu-selected-state-change_0see9') && positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.menu-selected-state-change_0see9') && [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), className]),
217
+ className: cx([cn([(0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.menu-selected-state-change_0see9') && positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.menu-selected-state-change_0see9') && [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), UNSAFE_className]),
217
218
  children: (0, _react2.jsx)(_inline.default, {
218
219
  as: "span",
219
220
  spread: "space-between",
@@ -11,8 +11,9 @@ var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
13
13
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _menuItemPrimitive = _interopRequireDefault(require("../internal/components/menu-item-primitive"));
15
- var _excluded = ["children", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap"];
16
+ var _excluded = ["children", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className"];
16
17
  /** @jsx jsx */
17
18
  /**
18
19
  * __Button item__
@@ -41,6 +42,7 @@ function (props, ref) {
41
42
  onMouseDown = props.onMouseDown,
42
43
  shouldTitleWrap = props.shouldTitleWrap,
43
44
  shouldDescriptionWrap = props.shouldDescriptionWrap,
45
+ UNSAFE_className = props.className,
44
46
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
45
47
  var onMouseDownHandler = onMouseDown;
46
48
  if (!children) {
@@ -49,7 +51,9 @@ function (props, ref) {
49
51
  (0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu", 'cssFn', cssFn !== _noop.default, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
50
52
  );
51
53
 
52
- return (0, _react2.jsx)(_menuItemPrimitive.default, (0, _extends2.default)({}, rest, {
54
+ return (0, _react2.jsx)(_menuItemPrimitive.default, (0, _extends2.default)({
55
+ className: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
56
+ }, rest, {
53
57
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
54
58
  overrides: overrides,
55
59
  iconBefore: iconBefore,
@@ -11,8 +11,9 @@ var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
13
13
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _menuItemPrimitive = _interopRequireDefault(require("../internal/components/menu-item-primitive"));
15
- var _excluded = ["component", "cssFn", "isDisabled", "isSelected", "onClick", "testId", "children", "description", "iconAfter", "iconBefore", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap"];
16
+ var _excluded = ["component", "cssFn", "isDisabled", "isSelected", "onClick", "testId", "children", "description", "iconAfter", "iconBefore", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className"];
16
17
  /** @jsx jsx */
17
18
  var preventEvent = function preventEvent(e) {
18
19
  e.preventDefault();
@@ -46,6 +47,7 @@ var CustomItem = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardR
46
47
  onMouseDown = _ref.onMouseDown,
47
48
  shouldTitleWrap = _ref.shouldTitleWrap,
48
49
  shouldDescriptionWrap = _ref.shouldDescriptionWrap,
50
+ UNSAFE_className = _ref.className,
49
51
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
50
52
  var onMouseDownHandler = onMouseDown;
51
53
  if (!Component) {
@@ -54,7 +56,9 @@ var CustomItem = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardR
54
56
  (0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu", 'cssFn', cssFn !== _noop.default, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
55
57
  );
56
58
 
57
- return (0, _react2.jsx)(_menuItemPrimitive.default, (0, _extends2.default)({}, rest, {
59
+ return (0, _react2.jsx)(_menuItemPrimitive.default, (0, _extends2.default)({
60
+ className: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
61
+ }, rest, {
58
62
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
59
63
  overrides: overrides,
60
64
  description: description,
@@ -11,9 +11,10 @@ var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
13
13
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _colors = require("@atlaskit/theme/colors");
15
16
  var _typography = require("@atlaskit/theme/typography");
16
- var _excluded = ["children", "testId", "id", "cssFn"];
17
+ var _excluded = ["children", "testId", "id", "cssFn", "className"];
17
18
  /** @jsx jsx */
18
19
  var itemHeadingContentHeight = _typography.headingSizes.h100.lineHeight;
19
20
  var itemHeadingFontSize = _typography.headingSizes.h100.size;
@@ -41,17 +42,20 @@ var HeadingItem = /*#__PURE__*/(0, _react.memo)(function (_ref) {
41
42
  id = _ref.id,
42
43
  _ref$cssFn = _ref.cssFn,
43
44
  cssFn = _ref$cssFn === void 0 ? _noop.default : _ref$cssFn,
45
+ UNSAFE_className = _ref.className,
44
46
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
47
  (0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu", 'cssFn', cssFn !== _noop.default, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
46
48
  );
47
49
 
50
+ var UNSAFE_overrides = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : (0, _react2.css)(cssFn(undefined));
48
51
  return (0, _react2.jsx)("div", (0, _extends2.default)({
49
52
  css: [headingStyles,
50
53
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
51
- (0, _react2.css)(cssFn(undefined))],
54
+ UNSAFE_overrides],
52
55
  "data-testid": testId,
53
56
  "data-ds--menu--heading-item": true,
54
- id: id
57
+ id: id,
58
+ className: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
55
59
  }, rest), children);
56
60
  });
57
61
  var _default = HeadingItem;
@@ -11,8 +11,9 @@ var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
13
13
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _menuItemPrimitive = _interopRequireDefault(require("../internal/components/menu-item-primitive"));
15
- var _excluded = ["children", "href", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap"];
16
+ var _excluded = ["children", "href", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className"];
16
17
  /** @jsx jsx */
17
18
  var preventEvent = function preventEvent(e) {
18
19
  e.preventDefault();
@@ -46,6 +47,7 @@ function (props, ref) {
46
47
  onMouseDown = props.onMouseDown,
47
48
  shouldTitleWrap = props.shouldTitleWrap,
48
49
  shouldDescriptionWrap = props.shouldDescriptionWrap,
50
+ UNSAFE_className = props.className,
49
51
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
50
52
  var onMouseDownHandler = onMouseDown;
51
53
  if (!children) {
@@ -55,7 +57,9 @@ function (props, ref) {
55
57
  );
56
58
 
57
59
  return (0, _react2.jsx)(_menuItemPrimitive.default, (0, _extends2.default)({}, rest, {
60
+ className: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
58
61
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
62
+ ,
59
63
  overrides: overrides,
60
64
  iconBefore: iconBefore,
61
65
  iconAfter: iconAfter,
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = require("@emotion/react");
9
9
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
10
10
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _colors = require("@atlaskit/theme/colors");
12
13
  var _skeletonShimmer = _interopRequireDefault(require("../internal/components/skeleton-shimmer"));
13
14
  /** @jsx jsx */
@@ -53,6 +54,7 @@ var SkeletonHeadingItem = function SkeletonHeadingItem(_ref) {
53
54
  (0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu", 'cssFn', cssFn !== _noop.default, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
54
55
  );
55
56
 
57
+ var UNSAFE_overrides = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : (0, _react.css)(cssFn(undefined));
56
58
  return (0, _react.jsx)(_skeletonShimmer.default, {
57
59
  isShimmering: isShimmering
58
60
  }, function (_ref2) {
@@ -64,7 +66,7 @@ var SkeletonHeadingItem = function SkeletonHeadingItem(_ref) {
64
66
  },
65
67
  css: [skeletonStyles, width ? customWidthStyles : defaultWidthStyles,
66
68
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
67
- (0, _react.css)(cssFn(undefined))],
69
+ UNSAFE_overrides],
68
70
  "data-ds--menu--skeleton-heading-item": true,
69
71
  "data-testid": testId
70
72
  });
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = require("@emotion/react");
9
9
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
10
10
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _colors = require("@atlaskit/theme/colors");
12
13
  var _constants = require("@atlaskit/theme/constants");
13
14
  var _skeletonShimmer = _interopRequireDefault(require("../internal/components/skeleton-shimmer"));
@@ -110,6 +111,7 @@ var SkeletonItem = function SkeletonItem(_ref) {
110
111
  (0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu", 'cssFn', cssFn !== _noop.default, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
111
112
  );
112
113
 
114
+ var UNSAFE_overrides = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : (0, _react.css)(cssFn());
113
115
  return (0, _react.jsx)(_skeletonShimmer.default, {
114
116
  isShimmering: isShimmering
115
117
  }, function (_ref2) {
@@ -121,7 +123,7 @@ var SkeletonItem = function SkeletonItem(_ref) {
121
123
  },
122
124
  css: [skeletonStyles, (hasAvatar || hasIcon) && beforeElementStyles, hasAvatar && avatarStyles, hasIcon && iconStyles, width ? customWidthStyles : defaultWidthStyles,
123
125
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
124
- (0, _react.css)(cssFn())],
126
+ UNSAFE_overrides],
125
127
  "data-testid": testId
126
128
  });
127
129
  });
@@ -8,10 +8,17 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _react = require("@emotion/react");
11
- var _dsExplorations = require("@atlaskit/ds-explorations");
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
12
  var _menuContext = require("../internal/components/menu-context");
13
- var _excluded = ["maxWidth", "minWidth", "minHeight", "maxHeight", "testId", "role", "spacing"];
13
+ var _excluded = ["maxWidth", "minWidth", "minHeight", "maxHeight", "testId", "role", "spacing", "className"];
14
14
  /** @jsx jsx */
15
+ var baseStyles = (0, _react.css)({
16
+ display: 'flex',
17
+ position: 'static',
18
+ flexDirection: 'column',
19
+ overflow: 'auto'
20
+ });
21
+
15
22
  /**
16
23
  * __Menu group__
17
24
  *
@@ -29,24 +36,23 @@ var MenuGroup = function MenuGroup(_ref) {
29
36
  role = _ref.role,
30
37
  _ref$spacing = _ref.spacing,
31
38
  spacing = _ref$spacing === void 0 ? 'cozy' : _ref$spacing,
39
+ UNSAFE_className = _ref.className,
32
40
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
41
  return (0, _react.jsx)(_menuContext.SpacingContext.Provider, {
34
42
  value: spacing
35
43
  }, (0, _react.jsx)(_menuContext.SELECTION_STYLE_CONTEXT_DO_NOT_USE.Provider, {
36
44
  value: "border"
37
- }, (0, _react.jsx)(_dsExplorations.UNSAFE_Box, (0, _extends2.default)({
38
- UNSAFE_style: {
45
+ }, (0, _react.jsx)("div", (0, _extends2.default)({
46
+ style: {
39
47
  minWidth: minWidth,
40
48
  maxWidth: maxWidth,
41
49
  minHeight: minHeight,
42
50
  maxHeight: maxHeight
43
51
  },
44
- display: "flex",
45
- flexDirection: "column",
46
- overflow: "auto",
47
- testId: testId,
52
+ css: baseStyles,
53
+ "data-testid": testId,
48
54
  role: role,
49
- position: "static"
55
+ className: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
50
56
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
51
57
  }, rest))));
52
58
  };
@@ -10,11 +10,12 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
13
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
14
  var _colors = require("@atlaskit/theme/colors");
14
15
  var _constants = require("@atlaskit/theme/constants");
15
16
  var _typography = require("@atlaskit/theme/typography");
16
17
  var _headingItem = _interopRequireDefault(require("../menu-item/heading-item"));
17
- var _excluded = ["children", "overrides", "title", "testId", "isScrollable", "hasSeparator", "id", "isList"];
18
+ var _excluded = ["children", "overrides", "title", "testId", "isScrollable", "hasSeparator", "id", "isList", "className"];
18
19
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage, @atlaskit/design-system/ensure-design-token-usage/preview */
19
20
  /** @jsx jsx */
20
21
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
@@ -98,10 +99,12 @@ var Section = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
98
99
  id = _ref.id,
99
100
  _ref$isList = _ref.isList,
100
101
  isList = _ref$isList === void 0 ? false : _ref$isList,
102
+ UNSAFE_className = _ref.className,
101
103
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
102
104
  (0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu", 'overrides', overrides !== undefined, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
103
105
  );
104
106
 
107
+ var UNSAFE_headingOverrides = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : overrides && overrides.HeadingItem && overrides.HeadingItem.cssFn;
105
108
  var content = isList ? (0, _react2.jsx)("ul", {
106
109
  style: {
107
110
  margin: 0,
@@ -120,11 +123,12 @@ var Section = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
120
123
  var childrenMarkup = title !== undefined ? (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_headingItem.default
121
124
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
122
125
  , {
123
- cssFn: overrides && overrides.HeadingItem && overrides.HeadingItem.cssFn,
126
+ cssFn: UNSAFE_headingOverrides,
124
127
  testId: testId && "".concat(testId, "--heading"),
125
128
  "aria-hidden": true
126
129
  }, title), content) : (0, _react2.jsx)(_react.Fragment, null, content);
127
130
  return (0, _react2.jsx)("div", (0, _extends2.default)({}, rest, {
131
+ className: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className,
128
132
  id: id
129
133
  // NOTE: Firefox allows elements that have "overflow: auto" to gain focus (as if it had tab-index="0")
130
134
  // We have made a deliberate choice to leave this behaviour as is.
@@ -181,7 +181,7 @@ const MenuItemPrimitive = ({
181
181
  iconAfter,
182
182
  iconBefore,
183
183
  overrides,
184
- className,
184
+ className: UNSAFE_externalClassName,
185
185
  shouldTitleWrap = false,
186
186
  shouldDescriptionWrap = false,
187
187
  isDisabled = false,
@@ -193,6 +193,7 @@ const MenuItemPrimitive = ({
193
193
  const spacing = useContext(SpacingContext);
194
194
  const selectionStyle = useContext(SELECTION_STYLE_CONTEXT_DO_NOT_USE);
195
195
  const renderTitle = overrides && overrides.Title && overrides.Title.render || defaultRender;
196
+ const UNSAFE_className = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_externalClassName;
196
197
  return jsx(ClassNames, null, ({
197
198
  css: cn,
198
199
  cx
@@ -200,7 +201,7 @@ const MenuItemPrimitive = ({
200
201
  return jsx(FocusRing, {
201
202
  isInset: true
202
203
  }, children({
203
- className: cx([cn([getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), className]),
204
+ className: cx([cn([getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), UNSAFE_className]),
204
205
  children: jsx(Inline, {
205
206
  as: "span",
206
207
  spread: "space-between",
@@ -4,6 +4,7 @@ import { forwardRef, memo } from 'react';
4
4
  import { jsx } from '@emotion/react';
5
5
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
6
6
  import noop from '@atlaskit/ds-lib/noop';
7
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
8
  import MenuItemPrimitive from '../internal/components/menu-item-primitive';
8
9
  /**
9
10
  * __Button item__
@@ -30,6 +31,11 @@ const ButtonItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(
30
31
  onMouseDown,
31
32
  shouldTitleWrap,
32
33
  shouldDescriptionWrap,
34
+ // Although this isn't defined on props it is available because we've used
35
+ // Spread props below and on the jsx element. To forcibly block usage I've
36
+ // picked it out and supressed the expected type error.
37
+ // @ts-expect-error
38
+ className: UNSAFE_className,
33
39
  ...rest
34
40
  } = props;
35
41
  const onMouseDownHandler = onMouseDown;
@@ -39,7 +45,9 @@ const ButtonItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(
39
45
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
40
46
  );
41
47
 
42
- return jsx(MenuItemPrimitive, _extends({}, rest, {
48
+ return jsx(MenuItemPrimitive, _extends({
49
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
50
+ }, rest, {
43
51
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
44
52
  overrides: overrides,
45
53
  iconBefore: iconBefore,
@@ -5,6 +5,7 @@ import { forwardRef, memo } from 'react';
5
5
  import { css, jsx } from '@emotion/react';
6
6
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
7
7
  import noop from '@atlaskit/ds-lib/noop';
8
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
8
9
  import MenuItemPrimitive from '../internal/components/menu-item-primitive';
9
10
  const preventEvent = e => {
10
11
  e.preventDefault();
@@ -35,6 +36,11 @@ const CustomItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
35
36
  onMouseDown,
36
37
  shouldTitleWrap,
37
38
  shouldDescriptionWrap,
39
+ // Although this isn't defined on props it is available because we've used
40
+ // Spread props below and on the jsx element. To forcibly block usage I've
41
+ // picked it out and supressed the expected type error.
42
+ // @ts-expect-error
43
+ className: UNSAFE_className,
38
44
  ...rest
39
45
  }, ref) => {
40
46
  const onMouseDownHandler = onMouseDown;
@@ -44,7 +50,9 @@ const CustomItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
44
50
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
45
51
  );
46
52
 
47
- return jsx(MenuItemPrimitive, _extends({}, rest, {
53
+ return jsx(MenuItemPrimitive, _extends({
54
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
55
+ }, rest, {
48
56
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
49
57
  overrides: overrides,
50
58
  description: description,
@@ -4,6 +4,7 @@ import { memo } from 'react';
4
4
  import { css, jsx } from '@emotion/react';
5
5
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
6
6
  import noop from '@atlaskit/ds-lib/noop';
7
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
8
  import { N300 } from '@atlaskit/theme/colors';
8
9
  import { headingSizes } from '@atlaskit/theme/typography';
9
10
  const itemHeadingContentHeight = headingSizes.h100.lineHeight;
@@ -31,18 +32,25 @@ const HeadingItem = /*#__PURE__*/memo(({
31
32
  testId,
32
33
  id,
33
34
  cssFn = noop,
35
+ // Although this isn't defined on props it is available because we've used
36
+ // Spread props below and on the jsx element. To forcibly block usage I've
37
+ // picked it out and supressed the expected type error.
38
+ // @ts-expect-error
39
+ className: UNSAFE_className,
34
40
  ...rest
35
41
  }) => {
36
42
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
37
43
  );
38
44
 
45
+ const UNSAFE_overrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : css(cssFn(undefined));
39
46
  return jsx("div", _extends({
40
47
  css: [headingStyles,
41
48
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
42
- css(cssFn(undefined))],
49
+ UNSAFE_overrides],
43
50
  "data-testid": testId,
44
51
  "data-ds--menu--heading-item": true,
45
- id: id
52
+ id: id,
53
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
46
54
  }, rest), children);
47
55
  });
48
56
  export default HeadingItem;
@@ -4,6 +4,7 @@ import { forwardRef, memo } from 'react';
4
4
  import { jsx } from '@emotion/react';
5
5
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
6
6
  import noop from '@atlaskit/ds-lib/noop';
7
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
8
  import MenuItemPrimitive from '../internal/components/menu-item-primitive';
8
9
  const preventEvent = e => {
9
10
  e.preventDefault();
@@ -35,6 +36,11 @@ const LinkItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(
35
36
  onMouseDown,
36
37
  shouldTitleWrap,
37
38
  shouldDescriptionWrap,
39
+ // Although this isn't defined on props it is available because we've used
40
+ // Spread props below and on the jsx element. To forcibly block usage I've
41
+ // picked it out and supressed the expected type error.
42
+ // @ts-expect-error
43
+ className: UNSAFE_className,
38
44
  ...rest
39
45
  } = props;
40
46
  const onMouseDownHandler = onMouseDown;
@@ -45,7 +51,9 @@ const LinkItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(
45
51
  );
46
52
 
47
53
  return jsx(MenuItemPrimitive, _extends({}, rest, {
54
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
48
55
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
56
+ ,
49
57
  overrides: overrides,
50
58
  iconBefore: iconBefore,
51
59
  iconAfter: iconAfter,
@@ -3,6 +3,7 @@
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
5
5
  import noop from '@atlaskit/ds-lib/noop';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { N20A } from '@atlaskit/theme/colors';
7
8
  import SkeletonShimmer from '../internal/components/skeleton-shimmer';
8
9
  const skeletonStyles = css({
@@ -45,6 +46,7 @@ const SkeletonHeadingItem = ({
45
46
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
46
47
  );
47
48
 
49
+ const UNSAFE_overrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : css(cssFn(undefined));
48
50
  return jsx(SkeletonShimmer, {
49
51
  isShimmering: isShimmering
50
52
  }, ({
@@ -56,7 +58,7 @@ const SkeletonHeadingItem = ({
56
58
  },
57
59
  css: [skeletonStyles, width ? customWidthStyles : defaultWidthStyles,
58
60
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
59
- css(cssFn(undefined))],
61
+ UNSAFE_overrides],
60
62
  "data-ds--menu--skeleton-heading-item": true,
61
63
  "data-testid": testId
62
64
  }));
@@ -3,6 +3,7 @@
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
5
5
  import noop from '@atlaskit/ds-lib/noop';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { N20A } from '@atlaskit/theme/colors';
7
8
  import { borderRadius as borderRadiusFn,
8
9
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
@@ -104,6 +105,7 @@ const SkeletonItem = ({
104
105
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
105
106
  );
106
107
 
108
+ const UNSAFE_overrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : css(cssFn());
107
109
  return jsx(SkeletonShimmer, {
108
110
  isShimmering: isShimmering
109
111
  }, ({
@@ -115,7 +117,7 @@ const SkeletonItem = ({
115
117
  },
116
118
  css: [skeletonStyles, (hasAvatar || hasIcon) && beforeElementStyles, hasAvatar && avatarStyles, hasIcon && iconStyles, width ? customWidthStyles : defaultWidthStyles,
117
119
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
118
- css(cssFn())],
120
+ UNSAFE_overrides],
119
121
  "data-testid": testId
120
122
  }));
121
123
  };
@@ -1,8 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  /** @jsx jsx */
3
- import { jsx } from '@emotion/react';
4
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
3
+ import { css, jsx } from '@emotion/react';
4
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
5
  import { SELECTION_STYLE_CONTEXT_DO_NOT_USE, SpacingContext } from '../internal/components/menu-context';
6
+ const baseStyles = css({
7
+ display: 'flex',
8
+ position: 'static',
9
+ flexDirection: 'column',
10
+ overflow: 'auto'
11
+ });
12
+
6
13
  /**
7
14
  * __Menu group__
8
15
  *
@@ -19,24 +26,27 @@ const MenuGroup = ({
19
26
  testId,
20
27
  role,
21
28
  spacing = 'cozy',
29
+ // Although this isn't defined on props it is available because we've used
30
+ // Spread props below and on the jsx element. To forcibly block usage I've
31
+ // picked it out and supressed the expected type error.
32
+ // @ts-expect-error
33
+ className: UNSAFE_className,
22
34
  ...rest
23
35
  }) => jsx(SpacingContext.Provider, {
24
36
  value: spacing
25
37
  }, jsx(SELECTION_STYLE_CONTEXT_DO_NOT_USE.Provider, {
26
38
  value: "border"
27
- }, jsx(Box, _extends({
28
- UNSAFE_style: {
39
+ }, jsx("div", _extends({
40
+ style: {
29
41
  minWidth,
30
42
  maxWidth,
31
43
  minHeight,
32
44
  maxHeight
33
45
  },
34
- display: "flex",
35
- flexDirection: "column",
36
- overflow: "auto",
37
- testId: testId,
46
+ css: baseStyles,
47
+ "data-testid": testId,
38
48
  role: role,
39
- position: "static"
49
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
40
50
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
41
51
  }, rest))));
42
52
  export default MenuGroup;
@@ -4,6 +4,7 @@ import _extends from "@babel/runtime/helpers/extends";
4
4
  import { Children, forwardRef, Fragment } from 'react';
5
5
  import { css, jsx } from '@emotion/react';
6
6
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
7
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
8
  import { N30A } from '@atlaskit/theme/colors';
8
9
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
9
10
  import { gridSize as gridSizeFn } from '@atlaskit/theme/constants';
@@ -88,11 +89,17 @@ const Section = /*#__PURE__*/forwardRef(({
88
89
  hasSeparator,
89
90
  id,
90
91
  isList = false,
92
+ // Although this isn't defined on props it is available because we've used
93
+ // Spread props below and on the jsx element. To forcibly block usage I've
94
+ // picked it out and supressed the expected type error.
95
+ // @ts-expect-error
96
+ className: UNSAFE_className,
91
97
  ...rest
92
98
  }, ref) => {
93
99
  propDeprecationWarning("@atlaskit/menu", 'overrides', overrides !== undefined, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
94
100
  );
95
101
 
102
+ const UNSAFE_headingOverrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : overrides && overrides.HeadingItem && overrides.HeadingItem.cssFn;
96
103
  const content = isList ? jsx("ul", {
97
104
  style: {
98
105
  margin: 0,
@@ -109,11 +116,12 @@ const Section = /*#__PURE__*/forwardRef(({
109
116
  const childrenMarkup = title !== undefined ? jsx(Fragment, null, jsx(HeadingItem
110
117
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
111
118
  , {
112
- cssFn: overrides && overrides.HeadingItem && overrides.HeadingItem.cssFn,
119
+ cssFn: UNSAFE_headingOverrides,
113
120
  testId: testId && `${testId}--heading`,
114
121
  "aria-hidden": true
115
122
  }, title), content) : jsx(Fragment, null, content);
116
123
  return jsx("div", _extends({}, rest, {
124
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className,
117
125
  id: id
118
126
  // NOTE: Firefox allows elements that have "overflow: auto" to gain focus (as if it had tab-index="0")
119
127
  // We have made a deliberate choice to leave this behaviour as is.
@@ -184,7 +184,7 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
184
184
  iconAfter = _ref.iconAfter,
185
185
  iconBefore = _ref.iconBefore,
186
186
  overrides = _ref.overrides,
187
- className = _ref.className,
187
+ UNSAFE_externalClassName = _ref.className,
188
188
  _ref$shouldTitleWrap = _ref.shouldTitleWrap,
189
189
  shouldTitleWrap = _ref$shouldTitleWrap === void 0 ? false : _ref$shouldTitleWrap,
190
190
  _ref$shouldDescriptio = _ref.shouldDescriptionWrap,
@@ -199,13 +199,14 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
199
199
  var spacing = useContext(SpacingContext);
200
200
  var selectionStyle = useContext(SELECTION_STYLE_CONTEXT_DO_NOT_USE);
201
201
  var renderTitle = overrides && overrides.Title && overrides.Title.render || defaultRender;
202
+ var UNSAFE_className = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_externalClassName;
202
203
  return jsx(ClassNames, null, function (_ref2) {
203
204
  var cn = _ref2.css,
204
205
  cx = _ref2.cx;
205
206
  return jsx(FocusRing, {
206
207
  isInset: true
207
208
  }, children({
208
- className: cx([cn([getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), className]),
209
+ className: cx([cn([getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, getBooleanFF('platform.design-system-team.menu-selected-state-change_0see9') && [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), UNSAFE_className]),
209
210
  children: jsx(Inline, {
210
211
  as: "span",
211
212
  spread: "space-between",
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap"];
3
+ var _excluded = ["children", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className"];
4
4
  /** @jsx jsx */
5
5
  import { forwardRef, memo } from 'react';
6
6
  import { jsx } from '@emotion/react';
7
7
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
8
8
  import noop from '@atlaskit/ds-lib/noop';
9
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
10
  import MenuItemPrimitive from '../internal/components/menu-item-primitive';
10
11
  /**
11
12
  * __Button item__
@@ -34,6 +35,7 @@ function (props, ref) {
34
35
  onMouseDown = props.onMouseDown,
35
36
  shouldTitleWrap = props.shouldTitleWrap,
36
37
  shouldDescriptionWrap = props.shouldDescriptionWrap,
38
+ UNSAFE_className = props.className,
37
39
  rest = _objectWithoutProperties(props, _excluded);
38
40
  var onMouseDownHandler = onMouseDown;
39
41
  if (!children) {
@@ -42,7 +44,9 @@ function (props, ref) {
42
44
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
43
45
  );
44
46
 
45
- return jsx(MenuItemPrimitive, _extends({}, rest, {
47
+ return jsx(MenuItemPrimitive, _extends({
48
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
49
+ }, rest, {
46
50
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
47
51
  overrides: overrides,
48
52
  iconBefore: iconBefore,
@@ -1,12 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["component", "cssFn", "isDisabled", "isSelected", "onClick", "testId", "children", "description", "iconAfter", "iconBefore", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap"];
3
+ var _excluded = ["component", "cssFn", "isDisabled", "isSelected", "onClick", "testId", "children", "description", "iconAfter", "iconBefore", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className"];
4
4
  /** @jsx jsx */
5
5
 
6
6
  import { forwardRef, memo } from 'react';
7
7
  import { css, jsx } from '@emotion/react';
8
8
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
9
9
  import noop from '@atlaskit/ds-lib/noop';
10
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
10
11
  import MenuItemPrimitive from '../internal/components/menu-item-primitive';
11
12
  var preventEvent = function preventEvent(e) {
12
13
  e.preventDefault();
@@ -40,6 +41,7 @@ var CustomItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref)
40
41
  onMouseDown = _ref.onMouseDown,
41
42
  shouldTitleWrap = _ref.shouldTitleWrap,
42
43
  shouldDescriptionWrap = _ref.shouldDescriptionWrap,
44
+ UNSAFE_className = _ref.className,
43
45
  rest = _objectWithoutProperties(_ref, _excluded);
44
46
  var onMouseDownHandler = onMouseDown;
45
47
  if (!Component) {
@@ -48,7 +50,9 @@ var CustomItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, ref)
48
50
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
49
51
  );
50
52
 
51
- return jsx(MenuItemPrimitive, _extends({}, rest, {
53
+ return jsx(MenuItemPrimitive, _extends({
54
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
55
+ }, rest, {
52
56
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
53
57
  overrides: overrides,
54
58
  description: description,
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "testId", "id", "cssFn"];
3
+ var _excluded = ["children", "testId", "id", "cssFn", "className"];
4
4
  /** @jsx jsx */
5
5
  import { memo } from 'react';
6
6
  import { css, jsx } from '@emotion/react';
7
7
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
8
8
  import noop from '@atlaskit/ds-lib/noop';
9
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
10
  import { N300 } from '@atlaskit/theme/colors';
10
11
  import { headingSizes } from '@atlaskit/theme/typography';
11
12
  var itemHeadingContentHeight = headingSizes.h100.lineHeight;
@@ -34,17 +35,20 @@ var HeadingItem = /*#__PURE__*/memo(function (_ref) {
34
35
  id = _ref.id,
35
36
  _ref$cssFn = _ref.cssFn,
36
37
  cssFn = _ref$cssFn === void 0 ? noop : _ref$cssFn,
38
+ UNSAFE_className = _ref.className,
37
39
  rest = _objectWithoutProperties(_ref, _excluded);
38
40
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
39
41
  );
40
42
 
43
+ var UNSAFE_overrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : css(cssFn(undefined));
41
44
  return jsx("div", _extends({
42
45
  css: [headingStyles,
43
46
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
44
- css(cssFn(undefined))],
47
+ UNSAFE_overrides],
45
48
  "data-testid": testId,
46
49
  "data-ds--menu--heading-item": true,
47
- id: id
50
+ id: id,
51
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
48
52
  }, rest), children);
49
53
  });
50
54
  export default HeadingItem;
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "href", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap"];
3
+ var _excluded = ["children", "href", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className"];
4
4
  /** @jsx jsx */
5
5
  import { forwardRef, memo } from 'react';
6
6
  import { jsx } from '@emotion/react';
7
7
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
8
8
  import noop from '@atlaskit/ds-lib/noop';
9
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
10
  import MenuItemPrimitive from '../internal/components/menu-item-primitive';
10
11
  var preventEvent = function preventEvent(e) {
11
12
  e.preventDefault();
@@ -39,6 +40,7 @@ function (props, ref) {
39
40
  onMouseDown = props.onMouseDown,
40
41
  shouldTitleWrap = props.shouldTitleWrap,
41
42
  shouldDescriptionWrap = props.shouldDescriptionWrap,
43
+ UNSAFE_className = props.className,
42
44
  rest = _objectWithoutProperties(props, _excluded);
43
45
  var onMouseDownHandler = onMouseDown;
44
46
  if (!children) {
@@ -48,7 +50,9 @@ function (props, ref) {
48
50
  );
49
51
 
50
52
  return jsx(MenuItemPrimitive, _extends({}, rest, {
53
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
51
54
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
55
+ ,
52
56
  overrides: overrides,
53
57
  iconBefore: iconBefore,
54
58
  iconAfter: iconAfter,
@@ -3,6 +3,7 @@
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
5
5
  import noop from '@atlaskit/ds-lib/noop';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { N20A } from '@atlaskit/theme/colors';
7
8
  import SkeletonShimmer from '../internal/components/skeleton-shimmer';
8
9
  var skeletonStyles = css({
@@ -46,6 +47,7 @@ var SkeletonHeadingItem = function SkeletonHeadingItem(_ref) {
46
47
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
47
48
  );
48
49
 
50
+ var UNSAFE_overrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : css(cssFn(undefined));
49
51
  return jsx(SkeletonShimmer, {
50
52
  isShimmering: isShimmering
51
53
  }, function (_ref2) {
@@ -57,7 +59,7 @@ var SkeletonHeadingItem = function SkeletonHeadingItem(_ref) {
57
59
  },
58
60
  css: [skeletonStyles, width ? customWidthStyles : defaultWidthStyles,
59
61
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
60
- css(cssFn(undefined))],
62
+ UNSAFE_overrides],
61
63
  "data-ds--menu--skeleton-heading-item": true,
62
64
  "data-testid": testId
63
65
  });
@@ -3,6 +3,7 @@
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
5
5
  import noop from '@atlaskit/ds-lib/noop';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { N20A } from '@atlaskit/theme/colors';
7
8
  import { borderRadius as borderRadiusFn,
8
9
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
@@ -105,6 +106,7 @@ var SkeletonItem = function SkeletonItem(_ref) {
105
106
  propDeprecationWarning("@atlaskit/menu", 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
106
107
  );
107
108
 
109
+ var UNSAFE_overrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : css(cssFn());
108
110
  return jsx(SkeletonShimmer, {
109
111
  isShimmering: isShimmering
110
112
  }, function (_ref2) {
@@ -116,7 +118,7 @@ var SkeletonItem = function SkeletonItem(_ref) {
116
118
  },
117
119
  css: [skeletonStyles, (hasAvatar || hasIcon) && beforeElementStyles, hasAvatar && avatarStyles, hasIcon && iconStyles, width ? customWidthStyles : defaultWidthStyles,
118
120
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
119
- css(cssFn())],
121
+ UNSAFE_overrides],
120
122
  "data-testid": testId
121
123
  });
122
124
  });
@@ -1,10 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["maxWidth", "minWidth", "minHeight", "maxHeight", "testId", "role", "spacing"];
3
+ var _excluded = ["maxWidth", "minWidth", "minHeight", "maxHeight", "testId", "role", "spacing", "className"];
4
4
  /** @jsx jsx */
5
- import { jsx } from '@emotion/react';
6
- import { UNSAFE_Box as Box } from '@atlaskit/ds-explorations';
5
+ import { css, jsx } from '@emotion/react';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
7
  import { SELECTION_STYLE_CONTEXT_DO_NOT_USE, SpacingContext } from '../internal/components/menu-context';
8
+ var baseStyles = css({
9
+ display: 'flex',
10
+ position: 'static',
11
+ flexDirection: 'column',
12
+ overflow: 'auto'
13
+ });
14
+
8
15
  /**
9
16
  * __Menu group__
10
17
  *
@@ -22,24 +29,23 @@ var MenuGroup = function MenuGroup(_ref) {
22
29
  role = _ref.role,
23
30
  _ref$spacing = _ref.spacing,
24
31
  spacing = _ref$spacing === void 0 ? 'cozy' : _ref$spacing,
32
+ UNSAFE_className = _ref.className,
25
33
  rest = _objectWithoutProperties(_ref, _excluded);
26
34
  return jsx(SpacingContext.Provider, {
27
35
  value: spacing
28
36
  }, jsx(SELECTION_STYLE_CONTEXT_DO_NOT_USE.Provider, {
29
37
  value: "border"
30
- }, jsx(Box, _extends({
31
- UNSAFE_style: {
38
+ }, jsx("div", _extends({
39
+ style: {
32
40
  minWidth: minWidth,
33
41
  maxWidth: maxWidth,
34
42
  minHeight: minHeight,
35
43
  maxHeight: maxHeight
36
44
  },
37
- display: "flex",
38
- flexDirection: "column",
39
- overflow: "auto",
40
- testId: testId,
45
+ css: baseStyles,
46
+ "data-testid": testId,
41
47
  role: role,
42
- position: "static"
48
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className
43
49
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
44
50
  }, rest))));
45
51
  };
@@ -1,11 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "overrides", "title", "testId", "isScrollable", "hasSeparator", "id", "isList"];
3
+ var _excluded = ["children", "overrides", "title", "testId", "isScrollable", "hasSeparator", "id", "isList", "className"];
4
4
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage, @atlaskit/design-system/ensure-design-token-usage/preview */
5
5
  /** @jsx jsx */
6
6
  import { Children, forwardRef, Fragment } from 'react';
7
7
  import { css, jsx } from '@emotion/react';
8
8
  import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
9
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
10
  import { N30A } from '@atlaskit/theme/colors';
10
11
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
11
12
  import { gridSize as gridSizeFn } from '@atlaskit/theme/constants';
@@ -91,10 +92,12 @@ var Section = /*#__PURE__*/forwardRef(function (_ref, ref) {
91
92
  id = _ref.id,
92
93
  _ref$isList = _ref.isList,
93
94
  isList = _ref$isList === void 0 ? false : _ref$isList,
95
+ UNSAFE_className = _ref.className,
94
96
  rest = _objectWithoutProperties(_ref, _excluded);
95
97
  propDeprecationWarning("@atlaskit/menu", 'overrides', overrides !== undefined, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
96
98
  );
97
99
 
100
+ var UNSAFE_headingOverrides = getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : overrides && overrides.HeadingItem && overrides.HeadingItem.cssFn;
98
101
  var content = isList ? jsx("ul", {
99
102
  style: {
100
103
  margin: 0,
@@ -113,11 +116,12 @@ var Section = /*#__PURE__*/forwardRef(function (_ref, ref) {
113
116
  var childrenMarkup = title !== undefined ? jsx(Fragment, null, jsx(HeadingItem
114
117
  // eslint-disable-next-line @repo/internal/react/no-unsafe-overrides
115
118
  , {
116
- cssFn: overrides && overrides.HeadingItem && overrides.HeadingItem.cssFn,
119
+ cssFn: UNSAFE_headingOverrides,
117
120
  testId: testId && "".concat(testId, "--heading"),
118
121
  "aria-hidden": true
119
122
  }, title), content) : jsx(Fragment, null, content);
120
123
  return jsx("div", _extends({}, rest, {
124
+ className: getBooleanFF('platform.design-system-team.unsafe-overrides-killswitch_c8j9m') ? undefined : UNSAFE_className,
121
125
  id: id
122
126
  // NOTE: Firefox allows elements that have "overflow: auto" to gain focus (as if it had tab-index="0")
123
127
  // We have made a deliberate choice to leave this behaviour as is.
@@ -14,5 +14,5 @@ import type { MenuItemPrimitiveProps } from '../../types';
14
14
  * </MenuItemPrimitive>
15
15
  * ```
16
16
  */
17
- declare const MenuItemPrimitive: ({ children, title, description, iconAfter, iconBefore, overrides, className, shouldTitleWrap, shouldDescriptionWrap, isDisabled, isSelected, }: MenuItemPrimitiveProps) => jsx.JSX.Element;
17
+ declare const MenuItemPrimitive: ({ children, title, description, iconAfter, iconBefore, overrides, className: UNSAFE_externalClassName, shouldTitleWrap, shouldDescriptionWrap, isDisabled, isSelected, }: MenuItemPrimitiveProps) => jsx.JSX.Element;
18
18
  export default MenuItemPrimitive;
@@ -9,5 +9,5 @@ import type { HeadingItemProps } from '../types';
9
9
  * - [Examples](https://atlaskit.atlassian.com/packages/design-system/menu/docs/heading-item)
10
10
  * - [Code](https://atlaskit.atlassian.com/packages/design-system/menu)
11
11
  */
12
- declare const HeadingItem: import("react").MemoExoticComponent<({ children, testId, id, cssFn, ...rest }: HeadingItemProps) => jsx.JSX.Element>;
12
+ declare const HeadingItem: import("react").MemoExoticComponent<({ children, testId, id, cssFn, className: UNSAFE_className, ...rest }: HeadingItemProps) => jsx.JSX.Element>;
13
13
  export default HeadingItem;
@@ -9,5 +9,5 @@ import type { MenuGroupProps } from '../types';
9
9
  * - [Examples](https://atlaskit.atlassian.com/packages/design-system/menu/docs/menu-group)
10
10
  * - [Code](https://atlaskit.atlassian.com/packages/design-system/menu)
11
11
  */
12
- declare const MenuGroup: ({ maxWidth, minWidth, minHeight, maxHeight, testId, role, spacing, ...rest }: MenuGroupProps) => jsx.JSX.Element;
12
+ declare const MenuGroup: ({ maxWidth, minWidth, minHeight, maxHeight, testId, role, spacing, className: UNSAFE_className, ...rest }: MenuGroupProps) => jsx.JSX.Element;
13
13
  export default MenuGroup;
@@ -14,5 +14,5 @@ import type { MenuItemPrimitiveProps } from '../../types';
14
14
  * </MenuItemPrimitive>
15
15
  * ```
16
16
  */
17
- declare const MenuItemPrimitive: ({ children, title, description, iconAfter, iconBefore, overrides, className, shouldTitleWrap, shouldDescriptionWrap, isDisabled, isSelected, }: MenuItemPrimitiveProps) => jsx.JSX.Element;
17
+ declare const MenuItemPrimitive: ({ children, title, description, iconAfter, iconBefore, overrides, className: UNSAFE_externalClassName, shouldTitleWrap, shouldDescriptionWrap, isDisabled, isSelected, }: MenuItemPrimitiveProps) => jsx.JSX.Element;
18
18
  export default MenuItemPrimitive;
@@ -9,5 +9,5 @@ import type { HeadingItemProps } from '../types';
9
9
  * - [Examples](https://atlaskit.atlassian.com/packages/design-system/menu/docs/heading-item)
10
10
  * - [Code](https://atlaskit.atlassian.com/packages/design-system/menu)
11
11
  */
12
- declare const HeadingItem: import("react").MemoExoticComponent<({ children, testId, id, cssFn, ...rest }: HeadingItemProps) => jsx.JSX.Element>;
12
+ declare const HeadingItem: import("react").MemoExoticComponent<({ children, testId, id, cssFn, className: UNSAFE_className, ...rest }: HeadingItemProps) => jsx.JSX.Element>;
13
13
  export default HeadingItem;
@@ -9,5 +9,5 @@ import type { MenuGroupProps } from '../types';
9
9
  * - [Examples](https://atlaskit.atlassian.com/packages/design-system/menu/docs/menu-group)
10
10
  * - [Code](https://atlaskit.atlassian.com/packages/design-system/menu)
11
11
  */
12
- declare const MenuGroup: ({ maxWidth, minWidth, minHeight, maxHeight, testId, role, spacing, ...rest }: MenuGroupProps) => jsx.JSX.Element;
12
+ declare const MenuGroup: ({ maxWidth, minWidth, minHeight, maxHeight, testId, role, spacing, className: UNSAFE_className, ...rest }: MenuGroupProps) => jsx.JSX.Element;
13
13
  export default MenuGroup;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/menu",
3
- "version": "1.9.8",
3
+ "version": "1.10.1",
4
4
  "description": "A collection of composable menu components that can be used anywhere.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -26,13 +26,12 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "@atlaskit/ds-explorations": "^2.2.0",
30
29
  "@atlaskit/ds-lib": "^2.2.0",
31
30
  "@atlaskit/focus-ring": "^1.3.0",
32
31
  "@atlaskit/platform-feature-flags": "^0.2.0",
33
32
  "@atlaskit/primitives": "^1.2.0",
34
33
  "@atlaskit/theme": "^12.5.0",
35
- "@atlaskit/tokens": "^1.14.0",
34
+ "@atlaskit/tokens": "^1.18.0",
36
35
  "@babel/runtime": "^7.0.0",
37
36
  "@emotion/react": "^11.7.1"
38
37
  },
@@ -107,6 +106,9 @@
107
106
  "platform-feature-flags": {
108
107
  "platform.design-system-team.menu-selected-state-change_0see9": {
109
108
  "type": "boolean"
109
+ },
110
+ "platform.design-system-team.unsafe-overrides-killswitch_c8j9m": {
111
+ "type": "boolean"
110
112
  }
111
113
  },
112
114
  "homepage": "https://atlassian.design/components/menu/",
package/report.api.md CHANGED
@@ -107,6 +107,7 @@ export const HeadingItem: MemoExoticComponent<
107
107
  testId,
108
108
  id,
109
109
  cssFn,
110
+ className: UNSAFE_className,
110
111
  ...rest
111
112
  }: HeadingItemProps) => jsx.JSX.Element
112
113
  >;
@@ -148,6 +149,7 @@ export const MenuGroup: ({
148
149
  testId,
149
150
  role,
150
151
  spacing,
152
+ className: UNSAFE_className,
151
153
  ...rest
152
154
  }: MenuGroupProps) => jsx.JSX.Element;
153
155
 
@@ -84,7 +84,7 @@ interface CustomItemTypeGenericHackProps {
84
84
  export type Dimension = number | string;
85
85
 
86
86
  // @public
87
- export const HeadingItem: MemoExoticComponent<({ children, testId, id, cssFn, ...rest }: HeadingItemProps) => jsx.JSX.Element>;
87
+ export const HeadingItem: MemoExoticComponent<({ children, testId, id, cssFn, className: UNSAFE_className, ...rest }: HeadingItemProps) => jsx.JSX.Element>;
88
88
 
89
89
  // @public (undocumented)
90
90
  export interface HeadingItemProps {
@@ -113,7 +113,7 @@ export interface LinkItemProps extends BaseItemProps {
113
113
  }
114
114
 
115
115
  // @public
116
- export const MenuGroup: ({ maxWidth, minWidth, minHeight, maxHeight, testId, role, spacing, ...rest }: MenuGroupProps) => jsx.JSX.Element;
116
+ export const MenuGroup: ({ maxWidth, minWidth, minHeight, maxHeight, testId, role, spacing, className: UNSAFE_className, ...rest }: MenuGroupProps) => jsx.JSX.Element;
117
117
 
118
118
  // @public (undocumented)
119
119
  export interface MenuGroupProps extends MenuGroupSizing {