@atlaskit/menu 8.4.18 → 8.4.20

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 (36) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/internal/components/menu-item-primitive.js +1 -1
  3. package/dist/cjs/menu-item/button-item.js +1 -1
  4. package/dist/cjs/menu-item/custom-item.js +1 -1
  5. package/dist/cjs/menu-item/heading-item.compiled.css +1 -1
  6. package/dist/cjs/menu-item/heading-item.js +3 -8
  7. package/dist/cjs/menu-item/link-item.js +1 -1
  8. package/dist/cjs/menu-item/skeleton-heading-item.js +1 -1
  9. package/dist/cjs/menu-item/skeleton-item.js +1 -1
  10. package/dist/cjs/menu-section/menu-group.js +1 -1
  11. package/dist/cjs/menu-section/popup-menu-group.js +1 -1
  12. package/dist/cjs/menu-section/section.js +1 -1
  13. package/dist/es2019/internal/components/menu-item-primitive.js +1 -1
  14. package/dist/es2019/menu-item/button-item.js +1 -1
  15. package/dist/es2019/menu-item/custom-item.js +1 -1
  16. package/dist/es2019/menu-item/heading-item.compiled.css +1 -1
  17. package/dist/es2019/menu-item/heading-item.js +2 -3
  18. package/dist/es2019/menu-item/link-item.js +1 -1
  19. package/dist/es2019/menu-item/skeleton-heading-item.js +1 -1
  20. package/dist/es2019/menu-item/skeleton-item.js +1 -1
  21. package/dist/es2019/menu-section/menu-group.js +1 -1
  22. package/dist/es2019/menu-section/popup-menu-group.js +1 -1
  23. package/dist/es2019/menu-section/section.js +1 -1
  24. package/dist/esm/internal/components/menu-item-primitive.js +1 -1
  25. package/dist/esm/menu-item/button-item.js +1 -1
  26. package/dist/esm/menu-item/custom-item.js +1 -1
  27. package/dist/esm/menu-item/heading-item.compiled.css +1 -1
  28. package/dist/esm/menu-item/heading-item.js +3 -8
  29. package/dist/esm/menu-item/link-item.js +1 -1
  30. package/dist/esm/menu-item/skeleton-heading-item.js +1 -1
  31. package/dist/esm/menu-item/skeleton-item.js +1 -1
  32. package/dist/esm/menu-section/menu-group.js +1 -1
  33. package/dist/esm/menu-section/popup-menu-group.js +1 -1
  34. package/dist/esm/menu-section/section.js +1 -1
  35. package/menu.docs.tsx +256 -0
  36. package/package.json +10 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/menu
2
2
 
3
+ ## 8.4.20
4
+
5
+ ### Patch Changes
6
+
7
+ - [`08170da1fbf62`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/08170da1fbf62) -
8
+ Migrate spacing prop usages on icons to Flex wrapper
9
+ - Updated dependencies
10
+
11
+ ## 8.4.19
12
+
13
+ ### Patch Changes
14
+
15
+ - [`7aef1e49e90ea`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7aef1e49e90ea) -
16
+ Removes redundant fallback color values via @atlaskit/theme
17
+
3
18
  ## 8.4.18
4
19
 
5
20
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- /* menu-item-primitive.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* menu-item-primitive.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* button-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* button-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* custom-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* custom-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
1
  ._11c8i4vh{font:var(--ds-font-heading-xxsmall,normal 653 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
2
  ._18zrpxbi{padding-inline:var(--ds-space-200,1pc)}
3
3
  ._1rjcze3t{padding-block:var(--ds-space-0,0)}
4
- ._syaz1vvm{color:var(--_bbz764)}
4
+ ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -1,4 +1,4 @@
1
- /* heading-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* heading-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -13,7 +13,6 @@ var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
- var _colors = require("@atlaskit/theme/colors");
17
16
  var _excluded = ["children", "testId", "headingLevel", "id", "className"];
18
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
19
18
  var headingStyles = null;
@@ -42,11 +41,7 @@ var HeadingItem = /*#__PURE__*/(0, _react.memo)(function (_ref) {
42
41
  id: id
43
42
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
44
43
  ,
45
- className: (0, _runtime.ax)(["_11c8i4vh _1rjcze3t _18zrpxbi _syaz1vvm", UNSAFE_className])
46
- }, rest, {
47
- style: {
48
- "--_bbz764": (0, _runtime.ix)("var(--ds-text-subtle, ".concat(_colors.N300, ")"))
49
- }
50
- }), children);
44
+ className: (0, _runtime.ax)(["_11c8i4vh _1rjcze3t _18zrpxbi _syazazsu", UNSAFE_className])
45
+ }, rest), children);
51
46
  });
52
47
  var _default = exports.default = HeadingItem;
@@ -1,4 +1,4 @@
1
- /* link-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* link-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* skeleton-heading-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* skeleton-heading-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* skeleton-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* skeleton-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* menu-group.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* menu-group.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* popup-menu-group.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* popup-menu-group.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* section.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* section.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* menu-item-primitive.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* menu-item-primitive.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import "./menu-item-primitive.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { useContext } from 'react';
@@ -1,4 +1,4 @@
1
- /* button-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* button-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* custom-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* custom-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
1
  ._11c8i4vh{font:var(--ds-font-heading-xxsmall,normal 653 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
2
  ._18zrpxbi{padding-inline:var(--ds-space-200,1pc)}
3
3
  ._1rjcze3t{padding-block:var(--ds-space-0,0)}
4
- ._syaz1n3s{color:var(--ds-text-subtle,#5e6c84)}
4
+ ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -1,10 +1,9 @@
1
- /* heading-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* heading-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./heading-item.compiled.css";
4
4
  import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
6
  import { memo } from 'react';
7
- import { N300 } from '@atlaskit/theme/colors';
8
7
  const headingStyles = null;
9
8
 
10
9
  /**
@@ -35,7 +34,7 @@ const HeadingItem = /*#__PURE__*/memo(({
35
34
  id: id
36
35
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
37
36
  ,
38
- className: ax(["_11c8i4vh _1rjcze3t _18zrpxbi _syaz1n3s", UNSAFE_className])
37
+ className: ax(["_11c8i4vh _1rjcze3t _18zrpxbi _syazazsu", UNSAFE_className])
39
38
  }, rest), children);
40
39
  });
41
40
  export default HeadingItem;
@@ -1,4 +1,4 @@
1
- /* link-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* link-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* skeleton-heading-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* skeleton-heading-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import "./skeleton-heading-item.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* skeleton-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* skeleton-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import "./skeleton-item.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* menu-group.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* menu-group.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./menu-group.compiled.css";
4
4
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- /* popup-menu-group.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* popup-menu-group.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* section.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* section.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./section.compiled.css";
4
4
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- /* menu-item-primitive.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* menu-item-primitive.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import "./menu-item-primitive.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { useContext } from 'react';
@@ -1,4 +1,4 @@
1
- /* button-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* button-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["children", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className", "interactionName"];
@@ -1,4 +1,4 @@
1
- /* custom-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* custom-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["component", "isDisabled", "isSelected", "isTitleHeading", "onClick", "testId", "children", "description", "iconAfter", "iconBefore", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className", "UNSAFE_isDraggable", "interactionName"];
@@ -1,4 +1,4 @@
1
1
  ._11c8i4vh{font:var(--ds-font-heading-xxsmall,normal 653 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
2
  ._18zrpxbi{padding-inline:var(--ds-space-200,1pc)}
3
3
  ._1rjcze3t{padding-block:var(--ds-space-0,0)}
4
- ._syaz1vvm{color:var(--_bbz764)}
4
+ ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -1,4 +1,4 @@
1
- /* heading-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* heading-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["children", "testId", "headingLevel", "id", "className"];
@@ -6,7 +6,6 @@ import "./heading-item.compiled.css";
6
6
  import * as React from 'react';
7
7
  import { ax, ix } from "@compiled/react/runtime";
8
8
  import { memo } from 'react';
9
- import { N300 } from '@atlaskit/theme/colors';
10
9
  var headingStyles = null;
11
10
 
12
11
  /**
@@ -33,11 +32,7 @@ var HeadingItem = /*#__PURE__*/memo(function (_ref) {
33
32
  id: id
34
33
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
35
34
  ,
36
- className: ax(["_11c8i4vh _1rjcze3t _18zrpxbi _syaz1vvm", UNSAFE_className])
37
- }, rest, {
38
- style: {
39
- "--_bbz764": ix("var(--ds-text-subtle, ".concat(N300, ")"))
40
- }
41
- }), children);
35
+ className: ax(["_11c8i4vh _1rjcze3t _18zrpxbi _syazazsu", UNSAFE_className])
36
+ }, rest), children);
42
37
  });
43
38
  export default HeadingItem;
@@ -1,4 +1,4 @@
1
- /* link-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* link-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["children", "href", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className", "UNSAFE_shouldDisableRouterLink", "UNSAFE_isDraggable", "interactionName"];
@@ -1,4 +1,4 @@
1
- /* skeleton-heading-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* skeleton-heading-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import "./skeleton-heading-item.compiled.css";
4
4
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- /* skeleton-item.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* skeleton-item.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import "./skeleton-item.compiled.css";
4
4
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- /* menu-group.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* menu-group.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["isLoading", "maxWidth", "minWidth", "minHeight", "maxHeight", "testId", "role", "spacing", "menuLabel", "className"];
@@ -1,4 +1,4 @@
1
- /* popup-menu-group.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* popup-menu-group.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["maxWidth", "minWidth"];
@@ -1,4 +1,4 @@
1
- /* section.tsx generated by @compiled/babel-plugin v0.38.1 */
1
+ /* section.tsx generated by @compiled/babel-plugin v0.39.1 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  var _excluded = ["children", "title", "titleId", "testId", "isScrollable", "hasSeparator", "id", "isList", "isSideNavSection", "label", "className"];
package/menu.docs.tsx ADDED
@@ -0,0 +1,256 @@
1
+ import path from 'path';
2
+
3
+ import type { ComponentStructuredContentSource } from '@atlassian/structured-docs-types';
4
+
5
+ const documentation: ComponentStructuredContentSource[] = [
6
+ {
7
+ name: 'MenuGroup',
8
+ description: 'A list of options to action or navigate.',
9
+ status: 'general-availability',
10
+ import: {
11
+ name: 'MenuGroup',
12
+ package: '@atlaskit/menu',
13
+ type: 'named',
14
+ packagePath: path.resolve(__dirname),
15
+ packageJson: require('./package.json'),
16
+ },
17
+ usageGuidelines: [
18
+ 'Use for list of options to action or navigate',
19
+ 'Button items = actions (e.g. Copy); Link items = navigate (e.g. Team Spaces)',
20
+ 'Group related menu items together',
21
+ 'Use clear section titles',
22
+ ],
23
+ contentGuidelines: [
24
+ 'Use clear, descriptive menu item labels',
25
+ 'Group related items logically',
26
+ 'Use consistent terminology',
27
+ 'Keep menu structure simple',
28
+ ],
29
+ accessibilityGuidelines: [
30
+ 'Provide clear menu item labels',
31
+ 'Use appropriate ARIA attributes',
32
+ 'Ensure keyboard navigation with arrow keys',
33
+ 'Provide clear section titles',
34
+ ],
35
+ examples: [
36
+ {
37
+ name: 'Menu',
38
+ description: 'Menu example',
39
+ source: path.resolve(__dirname, './examples/ai/menu.tsx'),
40
+ },
41
+ ],
42
+ keywords: ['menu', 'group', 'navigation', 'section', 'items'],
43
+ categories: ['navigation'],
44
+ },
45
+ {
46
+ name: 'ButtonItem',
47
+ description:
48
+ 'A menu item that triggers an action when clicked. Use for actions like Copy, Delete, or Create.',
49
+ status: 'general-availability',
50
+ import: {
51
+ name: 'ButtonItem',
52
+ package: '@atlaskit/menu',
53
+ type: 'named',
54
+ packagePath: path.resolve(__dirname),
55
+ packageJson: require('./package.json'),
56
+ },
57
+ usageGuidelines: [
58
+ 'Use for actions that do not navigate (e.g. Copy, Create article)',
59
+ 'Combine with icons for clarity when they add meaning',
60
+ 'Use secondary text for context when helpful (e.g. project type)',
61
+ ],
62
+ contentGuidelines: [
63
+ 'Use clear, action-oriented labels',
64
+ 'Use consistent terminology across menus',
65
+ ],
66
+ examples: [
67
+ {
68
+ name: 'Button Item',
69
+ description: 'ButtonItem example',
70
+ source: path.resolve(__dirname, './examples/constellation/button-item.tsx'),
71
+ },
72
+ ],
73
+ keywords: ['menu', 'button', 'item', 'action'],
74
+ categories: ['navigation', 'interaction'],
75
+ },
76
+ {
77
+ name: 'LinkItem',
78
+ description:
79
+ 'A menu item that navigates to a URL when clicked. Use for navigation links like Dashboard or Settings.',
80
+ status: 'general-availability',
81
+ import: {
82
+ name: 'LinkItem',
83
+ package: '@atlaskit/menu',
84
+ type: 'named',
85
+ packagePath: path.resolve(__dirname),
86
+ packageJson: require('./package.json'),
87
+ },
88
+ usageGuidelines: [
89
+ 'Use for navigation (e.g. Team Spaces, Settings)',
90
+ 'Indicate the current page when relevant',
91
+ 'Combine with icons for context when they add meaning',
92
+ ],
93
+ contentGuidelines: ['Use clear, descriptive labels for destinations', 'Keep labels concise'],
94
+ examples: [
95
+ {
96
+ name: 'Link Item',
97
+ description: 'LinkItem example',
98
+ source: path.resolve(__dirname, './examples/constellation/link-item.tsx'),
99
+ },
100
+ ],
101
+ keywords: ['menu', 'link', 'item', 'navigation'],
102
+ categories: ['navigation'],
103
+ },
104
+ {
105
+ name: 'CustomItem',
106
+ description:
107
+ 'A menu item that accepts a custom component for advanced use cases when ButtonItem or LinkItem do not meet your needs.',
108
+ status: 'general-availability',
109
+ import: {
110
+ name: 'CustomItem',
111
+ package: '@atlaskit/menu',
112
+ type: 'named',
113
+ packagePath: path.resolve(__dirname),
114
+ packageJson: require('./package.json'),
115
+ },
116
+ usageGuidelines: [
117
+ 'Use when ButtonItem or LinkItem cannot fulfill your requirements',
118
+ 'Preserve menu item styling and behavior in custom implementations',
119
+ ],
120
+ contentGuidelines: [
121
+ 'Ensure custom components maintain accessibility',
122
+ 'Keep custom implementations minimal',
123
+ ],
124
+ examples: [
125
+ {
126
+ name: 'Custom Item',
127
+ description: 'CustomItem example',
128
+ source: path.resolve(__dirname, './examples/constellation/custom-item.tsx'),
129
+ },
130
+ ],
131
+ keywords: ['menu', 'custom', 'item', 'component'],
132
+ categories: ['navigation'],
133
+ },
134
+ {
135
+ name: 'Section',
136
+ description: 'Groups related menu items together with an optional title or heading.',
137
+ status: 'general-availability',
138
+ import: {
139
+ name: 'Section',
140
+ package: '@atlaskit/menu',
141
+ type: 'named',
142
+ packagePath: path.resolve(__dirname),
143
+ packageJson: require('./package.json'),
144
+ },
145
+ usageGuidelines: [
146
+ 'Use to group related menu items (e.g. Actions, Settings)',
147
+ 'Use clear section titles when grouping',
148
+ 'Use visual separators between sections when helpful',
149
+ ],
150
+ contentGuidelines: ['Use clear section titles', 'Group items logically'],
151
+ examples: [
152
+ {
153
+ name: 'Section',
154
+ description: 'Section example',
155
+ source: path.resolve(__dirname, './examples/constellation/section-default.tsx'),
156
+ },
157
+ ],
158
+ keywords: ['menu', 'section', 'group', 'items'],
159
+ categories: ['navigation'],
160
+ },
161
+ {
162
+ name: 'PopupMenuGroup',
163
+ description:
164
+ 'A variant of MenuGroup with sensible default max/min width for popup menus. Deprecated—use MenuGroup instead.',
165
+ status: 'deprecated',
166
+ import: {
167
+ name: 'PopupMenuGroup',
168
+ package: '@atlaskit/menu',
169
+ type: 'named',
170
+ packagePath: path.resolve(__dirname),
171
+ packageJson: require('./package.json'),
172
+ },
173
+ usageGuidelines: [
174
+ 'Prefer MenuGroup instead; PopupMenuGroup is deprecated',
175
+ 'Use only when migrating existing code',
176
+ ],
177
+ keywords: ['menu', 'popup', 'group', 'deprecated'],
178
+ categories: ['navigation'],
179
+ },
180
+ {
181
+ name: 'HeadingItem',
182
+ description:
183
+ 'A non-interactive heading within a menu section. Use to label groups of items when Section title is not used.',
184
+ status: 'general-availability',
185
+ import: {
186
+ name: 'HeadingItem',
187
+ package: '@atlaskit/menu',
188
+ type: 'named',
189
+ packagePath: path.resolve(__dirname),
190
+ packageJson: require('./package.json'),
191
+ },
192
+ usageGuidelines: [
193
+ 'Use to label section groups when a section title is not sufficient',
194
+ 'Do not use for interactive content—headings are display-only',
195
+ ],
196
+ contentGuidelines: ['Use clear, descriptive headings', 'Keep headings concise'],
197
+ examples: [
198
+ {
199
+ name: 'Heading Item',
200
+ description: 'HeadingItem example',
201
+ source: path.resolve(__dirname, './examples/constellation/heading-item.tsx'),
202
+ },
203
+ ],
204
+ keywords: ['menu', 'heading', 'item', 'label'],
205
+ categories: ['navigation'],
206
+ },
207
+ {
208
+ name: 'SkeletonItem',
209
+ description: 'A skeleton placeholder for a menu item during loading states.',
210
+ status: 'general-availability',
211
+ import: {
212
+ name: 'SkeletonItem',
213
+ package: '@atlaskit/menu',
214
+ type: 'named',
215
+ packagePath: path.resolve(__dirname),
216
+ packageJson: require('./package.json'),
217
+ },
218
+ usageGuidelines: [
219
+ 'Use during loading to maintain layout stability',
220
+ 'Match the shape of the loaded item (e.g. with or without icon)',
221
+ ],
222
+ examples: [
223
+ {
224
+ name: 'Skeleton Item',
225
+ description: 'SkeletonItem example',
226
+ source: path.resolve(__dirname, './examples/constellation/menu-loading.tsx'),
227
+ },
228
+ ],
229
+ keywords: ['menu', 'skeleton', 'loading', 'placeholder'],
230
+ categories: ['loading', 'navigation'],
231
+ },
232
+ {
233
+ name: 'SkeletonHeadingItem',
234
+ description: 'A skeleton placeholder for a menu heading during loading states.',
235
+ status: 'general-availability',
236
+ import: {
237
+ name: 'SkeletonHeadingItem',
238
+ package: '@atlaskit/menu',
239
+ type: 'named',
240
+ packagePath: path.resolve(__dirname),
241
+ packageJson: require('./package.json'),
242
+ },
243
+ usageGuidelines: ['Use during loading when a section heading will appear'],
244
+ examples: [
245
+ {
246
+ name: 'Skeleton Heading Item',
247
+ description: 'SkeletonHeadingItem example',
248
+ source: path.resolve(__dirname, './examples/constellation/menu-loading.tsx'),
249
+ },
250
+ ],
251
+ keywords: ['menu', 'skeleton', 'heading', 'loading'],
252
+ categories: ['loading', 'navigation'],
253
+ },
254
+ ];
255
+
256
+ export default documentation;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/menu",
3
- "version": "8.4.18",
3
+ "version": "8.4.20",
4
4
  "description": "A list of options to help users navigate, or perform actions.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -40,15 +40,14 @@
40
40
  }
41
41
  },
42
42
  "dependencies": {
43
- "@atlaskit/app-provider": "^4.1.0",
43
+ "@atlaskit/app-provider": "^4.2.0",
44
44
  "@atlaskit/css": "^0.19.0",
45
45
  "@atlaskit/interaction-context": "^3.1.0",
46
46
  "@atlaskit/platform-feature-flags": "^1.1.0",
47
- "@atlaskit/primitives": "^18.0.0",
48
- "@atlaskit/theme": "^22.0.0",
49
- "@atlaskit/tokens": "^11.0.0",
47
+ "@atlaskit/primitives": "^18.1.0",
48
+ "@atlaskit/tokens": "^11.4.0",
50
49
  "@babel/runtime": "^7.0.0",
51
- "@compiled/react": "^0.18.6"
50
+ "@compiled/react": "^0.20.0"
52
51
  },
53
52
  "peerDependencies": {
54
53
  "react": "^18.2.0",
@@ -59,13 +58,14 @@
59
58
  "@af/integration-testing": "workspace:^",
60
59
  "@af/visual-regression": "workspace:^",
61
60
  "@atlaskit/button": "^23.10.0",
62
- "@atlaskit/docs": "^11.5.0",
63
- "@atlaskit/ds-lib": "^5.3.0",
64
- "@atlaskit/icon": "^32.0.0",
61
+ "@atlaskit/docs": "^11.7.0",
62
+ "@atlaskit/ds-lib": "^6.0.0",
63
+ "@atlaskit/icon": "^33.1.0",
65
64
  "@atlaskit/icon-file-type": "^7.0.0",
66
- "@atlaskit/icon-object": "^7.4.0",
65
+ "@atlaskit/icon-object": "^7.5.0",
67
66
  "@atlaskit/link": "^3.3.0",
68
67
  "@atlaskit/section-message": "^8.12.0",
68
+ "@atlassian/structured-docs-types": "workspace:^",
69
69
  "@testing-library/react": "^16.3.0",
70
70
  "ast-types": "^0.13.3",
71
71
  "jscodeshift": "^17.0.0"