@atlaskit/menu 2.12.1 → 2.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/cjs/internal/components/menu-item-primitive.js +5 -22
- package/dist/cjs/menu-item/heading-item.js +2 -18
- package/dist/cjs/menu-item/link-item.js +1 -2
- package/dist/es2019/internal/components/menu-item-primitive.js +5 -22
- package/dist/es2019/menu-item/heading-item.js +2 -18
- package/dist/es2019/menu-item/link-item.js +1 -2
- package/dist/esm/internal/components/menu-item-primitive.js +5 -22
- package/dist/esm/menu-item/heading-item.js +2 -18
- package/dist/esm/menu-item/link-item.js +1 -2
- package/dist/types/types.d.ts +1 -1
- package/dist/types-ts4.5/types.d.ts +1 -1
- package/package.json +4 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/menu
|
|
2
2
|
|
|
3
|
+
## 2.12.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#144779](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/144779)
|
|
8
|
+
[`de2f4742e3595`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/de2f4742e3595) -
|
|
9
|
+
[ux] Removed menu section header capitalisation.
|
|
10
|
+
|
|
11
|
+
## 2.12.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#129726](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/129726)
|
|
16
|
+
[`778c15c1d279a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/778c15c1d279a) -
|
|
17
|
+
[ux] Removed feature flag `platform.design-system-team.menu-tokenised-typography-styles` resulting
|
|
18
|
+
in minor changes to typography and spacing.
|
|
19
|
+
|
|
3
20
|
## 2.12.1
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -9,7 +9,6 @@ var _react = require("react");
|
|
|
9
9
|
var _react2 = require("@emotion/react");
|
|
10
10
|
var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
|
|
11
11
|
var _focusRing = _interopRequireDefault(require("@atlaskit/focus-ring"));
|
|
12
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
12
|
var _primitives = require("@atlaskit/primitives");
|
|
14
13
|
var _colors = require("@atlaskit/theme/colors");
|
|
15
14
|
var _menuContext = require("./menu-context");
|
|
@@ -37,9 +36,6 @@ var contentStyles = (0, _primitives.xcss)({
|
|
|
37
36
|
overflow: 'hidden',
|
|
38
37
|
textAlign: 'left'
|
|
39
38
|
});
|
|
40
|
-
var baseContentStyles = (0, _primitives.xcss)({
|
|
41
|
-
lineHeight: '16px'
|
|
42
|
-
});
|
|
43
39
|
var truncateStyles = (0, _react2.css)({
|
|
44
40
|
display: 'block',
|
|
45
41
|
overflow: 'hidden',
|
|
@@ -53,13 +49,7 @@ var wordBreakStyles = (0, _react2.css)({
|
|
|
53
49
|
wordBreak: 'break-word'
|
|
54
50
|
});
|
|
55
51
|
var descriptionStyles = (0, _react2.css)({
|
|
56
|
-
color: "var(--ds-text-subtlest, ".concat(_colors.N200, ")")
|
|
57
|
-
});
|
|
58
|
-
var baseDescriptionStyles = (0, _react2.css)({
|
|
59
|
-
fontSize: '12px',
|
|
60
|
-
marginBlockStart: "var(--ds-space-050, 4px)"
|
|
61
|
-
});
|
|
62
|
-
var tokenizedDescriptionStyles = (0, _react2.css)({
|
|
52
|
+
color: "var(--ds-text-subtlest, ".concat(_colors.N200, ")"),
|
|
63
53
|
font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
|
|
64
54
|
});
|
|
65
55
|
var disabledDescriptionStyles = (0, _react2.css)({
|
|
@@ -87,9 +77,6 @@ var primitiveStyles = (0, _react2.css)({
|
|
|
87
77
|
textDecoration: 'none'
|
|
88
78
|
}
|
|
89
79
|
});
|
|
90
|
-
var primitiveBaseStyles = (0, _react2.css)({
|
|
91
|
-
fontSize: '14px'
|
|
92
|
-
});
|
|
93
80
|
var spacingMapStyles = {
|
|
94
81
|
cozy: (0, _react2.css)({
|
|
95
82
|
// 8 * 2 (16) + icon (24) === 40
|
|
@@ -217,7 +204,7 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
|
|
|
217
204
|
return (0, _react2.jsx)(_focusRing.default, {
|
|
218
205
|
isInset: true
|
|
219
206
|
}, children({
|
|
220
|
-
className: cx([cn([positionRelativeStyles, primitiveStyles,
|
|
207
|
+
className: cx([cn([positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), UNSAFE_className]),
|
|
221
208
|
children: (0, _react2.jsx)(_primitives.Inline, {
|
|
222
209
|
as: "span",
|
|
223
210
|
spread: "space-between",
|
|
@@ -232,18 +219,14 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
|
|
|
232
219
|
}, iconBefore), title && (0, _react2.jsx)(_primitives.Stack, {
|
|
233
220
|
alignBlock: "center",
|
|
234
221
|
grow: "fill",
|
|
235
|
-
xcss:
|
|
236
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
237
|
-
(0, _platformFeatureFlags.fg)('platform.design-system-team.menu-tokenised-typography-styles') ? contentStyles : [contentStyles, baseContentStyles]
|
|
222
|
+
xcss: contentStyles
|
|
238
223
|
}, renderTitle('span', {
|
|
239
224
|
children: title,
|
|
240
|
-
className: cn(
|
|
225
|
+
className: cn(titleStyles, shouldTitleWrap ? wordBreakStyles : truncateStyles),
|
|
241
226
|
'data-item-title': true
|
|
242
227
|
}), description && (0, _react2.jsx)("span", {
|
|
243
228
|
"data-item-description": true,
|
|
244
|
-
css: [descriptionStyles,
|
|
245
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
246
|
-
(0, _platformFeatureFlags.fg)('platform.design-system-team.menu-tokenised-typography-styles') ? tokenizedDescriptionStyles : baseDescriptionStyles, isDisabled && disabledDescriptionStyles, shouldDescriptionWrap ? wordBreakStyles : truncateStyles]
|
|
229
|
+
css: [descriptionStyles, isDisabled && disabledDescriptionStyles, shouldDescriptionWrap ? wordBreakStyles : truncateStyles]
|
|
247
230
|
}, description)), iconAfter && (0, _react2.jsx)("span", {
|
|
248
231
|
"data-item-elem-after": true,
|
|
249
232
|
css: beforeAfterElementStyles,
|
|
@@ -11,32 +11,18 @@ 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");
|
|
15
14
|
var _colors = require("@atlaskit/theme/colors");
|
|
16
|
-
var _typography = require("@atlaskit/theme/typography");
|
|
17
15
|
var _excluded = ["children", "testId", "headingLevel", "id", "cssFn", "className"];
|
|
18
16
|
/**
|
|
19
17
|
* @jsxRuntime classic
|
|
20
18
|
* @jsx jsx
|
|
21
19
|
*/
|
|
22
20
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
23
|
-
var itemHeadingContentHeight = _typography.headingSizes.h100.lineHeight;
|
|
24
|
-
var itemHeadingFontSize = _typography.headingSizes.h100.size;
|
|
25
21
|
var headingStyles = (0, _react2.css)({
|
|
26
22
|
color: "var(--ds-text-subtle, ".concat(_colors.N300, ")"),
|
|
23
|
+
font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
|
|
27
24
|
paddingBlock: "var(--ds-space-0, 0px)",
|
|
28
|
-
paddingInline: "var(--ds-space-200, 16px)"
|
|
29
|
-
textTransform: 'uppercase'
|
|
30
|
-
});
|
|
31
|
-
var baseHeadingStyles = (0, _react2.css)({
|
|
32
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
|
|
33
|
-
fontSize: itemHeadingFontSize,
|
|
34
|
-
fontWeight: "var(--ds-font-weight-bold, 700)",
|
|
35
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
|
|
36
|
-
lineHeight: itemHeadingContentHeight / itemHeadingFontSize
|
|
37
|
-
});
|
|
38
|
-
var tokenizedHeadingStyles = (0, _react2.css)({
|
|
39
|
-
font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
|
|
25
|
+
paddingInline: "var(--ds-space-200, 16px)"
|
|
40
26
|
});
|
|
41
27
|
|
|
42
28
|
/**
|
|
@@ -64,8 +50,6 @@ var HeadingItem = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
64
50
|
var UNSAFE_overrides = (0, _react2.css)(cssFn(undefined));
|
|
65
51
|
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
66
52
|
css: [headingStyles,
|
|
67
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
68
|
-
(0, _platformFeatureFlags.fg)('platform.design-system-team.menu-tokenised-typography-styles') ? tokenizedHeadingStyles : baseHeadingStyles,
|
|
69
53
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
70
54
|
UNSAFE_overrides],
|
|
71
55
|
role: "heading",
|
|
@@ -12,7 +12,6 @@ var _react2 = require("@emotion/react");
|
|
|
12
12
|
var _appProvider = require("@atlaskit/app-provider");
|
|
13
13
|
var _deprecationWarning = require("@atlaskit/ds-lib/deprecation-warning");
|
|
14
14
|
var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
|
|
15
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
15
|
var _menuItemPrimitive = _interopRequireDefault(require("../internal/components/menu-item-primitive"));
|
|
17
16
|
var _excluded = ["children", "href", "cssFn", "description", "iconAfter", "iconBefore", "isDisabled", "isSelected", "onClick", "testId", "overrides", "onMouseDown", "shouldTitleWrap", "shouldDescriptionWrap", "className", "UNSAFE_shouldDisableRouterLink", "UNSAFE_isDraggable"];
|
|
18
17
|
/**
|
|
@@ -76,7 +75,7 @@ function (props, ref) {
|
|
|
76
75
|
* - it doesn't have an empty href (e.g. href="" or href={undefined})
|
|
77
76
|
*/
|
|
78
77
|
var isRouterLink = !UNSAFE_shouldDisableRouterLink && RouterLink && !isExternal && !isNonHttpBased && !isEmptyHref;
|
|
79
|
-
var Component = isRouterLink
|
|
78
|
+
var Component = isRouterLink ? RouterLink : 'a';
|
|
80
79
|
(0, _deprecationWarning.propDeprecationWarning)("@atlaskit/menu" || '', 'cssFn', cssFn !== _noop.default, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
|
|
81
80
|
);
|
|
82
81
|
return (0, _react2.jsx)(_menuItemPrimitive.default, (0, _extends2.default)({}, rest, {
|
|
@@ -8,7 +8,6 @@ import { useContext } from 'react';
|
|
|
8
8
|
import { ClassNames, css, jsx } from '@emotion/react';
|
|
9
9
|
import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
|
|
10
10
|
import FocusRing from '@atlaskit/focus-ring';
|
|
11
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
11
|
import { Inline, Stack, xcss } from '@atlaskit/primitives';
|
|
13
12
|
import { N20, N200, N30 } from '@atlaskit/theme/colors';
|
|
14
13
|
import { SELECTION_STYLE_CONTEXT_DO_NOT_USE, SpacingContext } from './menu-context';
|
|
@@ -26,9 +25,6 @@ const contentStyles = xcss({
|
|
|
26
25
|
overflow: 'hidden',
|
|
27
26
|
textAlign: 'left'
|
|
28
27
|
});
|
|
29
|
-
const baseContentStyles = xcss({
|
|
30
|
-
lineHeight: '16px'
|
|
31
|
-
});
|
|
32
28
|
const truncateStyles = css({
|
|
33
29
|
display: 'block',
|
|
34
30
|
overflow: 'hidden',
|
|
@@ -42,13 +38,7 @@ const wordBreakStyles = css({
|
|
|
42
38
|
wordBreak: 'break-word'
|
|
43
39
|
});
|
|
44
40
|
const descriptionStyles = css({
|
|
45
|
-
color: `var(--ds-text-subtlest, ${N200})
|
|
46
|
-
});
|
|
47
|
-
const baseDescriptionStyles = css({
|
|
48
|
-
fontSize: '12px',
|
|
49
|
-
marginBlockStart: "var(--ds-space-050, 4px)"
|
|
50
|
-
});
|
|
51
|
-
const tokenizedDescriptionStyles = css({
|
|
41
|
+
color: `var(--ds-text-subtlest, ${N200})`,
|
|
52
42
|
font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
|
|
53
43
|
});
|
|
54
44
|
const disabledDescriptionStyles = css({
|
|
@@ -76,9 +66,6 @@ const primitiveStyles = css({
|
|
|
76
66
|
textDecoration: 'none'
|
|
77
67
|
}
|
|
78
68
|
});
|
|
79
|
-
const primitiveBaseStyles = css({
|
|
80
|
-
fontSize: '14px'
|
|
81
|
-
});
|
|
82
69
|
const spacingMapStyles = {
|
|
83
70
|
cozy: css({
|
|
84
71
|
// 8 * 2 (16) + icon (24) === 40
|
|
@@ -204,7 +191,7 @@ const MenuItemPrimitive = ({
|
|
|
204
191
|
return jsx(FocusRing, {
|
|
205
192
|
isInset: true
|
|
206
193
|
}, children({
|
|
207
|
-
className: cx([cn([positionRelativeStyles, primitiveStyles,
|
|
194
|
+
className: cx([cn([positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), UNSAFE_className]),
|
|
208
195
|
children: jsx(Inline, {
|
|
209
196
|
as: "span",
|
|
210
197
|
spread: "space-between",
|
|
@@ -219,18 +206,14 @@ const MenuItemPrimitive = ({
|
|
|
219
206
|
}, iconBefore), title && jsx(Stack, {
|
|
220
207
|
alignBlock: "center",
|
|
221
208
|
grow: "fill",
|
|
222
|
-
xcss:
|
|
223
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
224
|
-
fg('platform.design-system-team.menu-tokenised-typography-styles') ? contentStyles : [contentStyles, baseContentStyles]
|
|
209
|
+
xcss: contentStyles
|
|
225
210
|
}, renderTitle('span', {
|
|
226
211
|
children: title,
|
|
227
|
-
className: cn(
|
|
212
|
+
className: cn(titleStyles, shouldTitleWrap ? wordBreakStyles : truncateStyles),
|
|
228
213
|
'data-item-title': true
|
|
229
214
|
}), description && jsx("span", {
|
|
230
215
|
"data-item-description": true,
|
|
231
|
-
css: [descriptionStyles,
|
|
232
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
233
|
-
fg('platform.design-system-team.menu-tokenised-typography-styles') ? tokenizedDescriptionStyles : baseDescriptionStyles, isDisabled && disabledDescriptionStyles, shouldDescriptionWrap ? wordBreakStyles : truncateStyles]
|
|
216
|
+
css: [descriptionStyles, isDisabled && disabledDescriptionStyles, shouldDescriptionWrap ? wordBreakStyles : truncateStyles]
|
|
234
217
|
}, description)), iconAfter && jsx("span", {
|
|
235
218
|
"data-item-elem-after": true,
|
|
236
219
|
css: beforeAfterElementStyles,
|
|
@@ -9,26 +9,12 @@ import { memo } from 'react';
|
|
|
9
9
|
import { css, jsx } from '@emotion/react';
|
|
10
10
|
import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
|
|
11
11
|
import noop from '@atlaskit/ds-lib/noop';
|
|
12
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
13
12
|
import { N300 } from '@atlaskit/theme/colors';
|
|
14
|
-
import { headingSizes } from '@atlaskit/theme/typography';
|
|
15
|
-
const itemHeadingContentHeight = headingSizes.h100.lineHeight;
|
|
16
|
-
const itemHeadingFontSize = headingSizes.h100.size;
|
|
17
13
|
const headingStyles = css({
|
|
18
14
|
color: `var(--ds-text-subtle, ${N300})`,
|
|
15
|
+
font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
|
|
19
16
|
paddingBlock: "var(--ds-space-0, 0px)",
|
|
20
|
-
paddingInline: "var(--ds-space-200, 16px)"
|
|
21
|
-
textTransform: 'uppercase'
|
|
22
|
-
});
|
|
23
|
-
const baseHeadingStyles = css({
|
|
24
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
|
|
25
|
-
fontSize: itemHeadingFontSize,
|
|
26
|
-
fontWeight: "var(--ds-font-weight-bold, 700)",
|
|
27
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
|
|
28
|
-
lineHeight: itemHeadingContentHeight / itemHeadingFontSize
|
|
29
|
-
});
|
|
30
|
-
const tokenizedHeadingStyles = css({
|
|
31
|
-
font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
|
|
17
|
+
paddingInline: "var(--ds-space-200, 16px)"
|
|
32
18
|
});
|
|
33
19
|
|
|
34
20
|
/**
|
|
@@ -59,8 +45,6 @@ const HeadingItem = /*#__PURE__*/memo(({
|
|
|
59
45
|
const UNSAFE_overrides = css(cssFn(undefined));
|
|
60
46
|
return jsx("div", _extends({
|
|
61
47
|
css: [headingStyles,
|
|
62
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
63
|
-
fg('platform.design-system-team.menu-tokenised-typography-styles') ? tokenizedHeadingStyles : baseHeadingStyles,
|
|
64
48
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
65
49
|
UNSAFE_overrides],
|
|
66
50
|
role: "heading",
|
|
@@ -10,7 +10,6 @@ import { jsx } from '@emotion/react';
|
|
|
10
10
|
import { useRouterLink } from '@atlaskit/app-provider';
|
|
11
11
|
import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
|
|
12
12
|
import noop from '@atlaskit/ds-lib/noop';
|
|
13
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
14
13
|
import MenuItemPrimitive from '../internal/components/menu-item-primitive';
|
|
15
14
|
const IS_EXTERNAL_LINK_REGEX = /^(?:(http|https):\/\/)/;
|
|
16
15
|
const IS_NON_HTTP_BASED = /^(((mailto|tel|sms):)|(#))/;
|
|
@@ -71,7 +70,7 @@ const LinkItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(
|
|
|
71
70
|
* - it doesn't have an empty href (e.g. href="" or href={undefined})
|
|
72
71
|
*/
|
|
73
72
|
const isRouterLink = !UNSAFE_shouldDisableRouterLink && RouterLink && !isExternal && !isNonHttpBased && !isEmptyHref;
|
|
74
|
-
const Component = isRouterLink
|
|
73
|
+
const Component = isRouterLink ? RouterLink : 'a';
|
|
75
74
|
propDeprecationWarning("@atlaskit/menu" || '', 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
|
|
76
75
|
);
|
|
77
76
|
return jsx(MenuItemPrimitive, _extends({}, rest, {
|
|
@@ -8,7 +8,6 @@ import { useContext } from 'react';
|
|
|
8
8
|
import { ClassNames, css, jsx } from '@emotion/react';
|
|
9
9
|
import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
|
|
10
10
|
import FocusRing from '@atlaskit/focus-ring';
|
|
11
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
11
|
import { Inline, Stack, xcss } from '@atlaskit/primitives';
|
|
13
12
|
import { N20, N200, N30 } from '@atlaskit/theme/colors';
|
|
14
13
|
import { SELECTION_STYLE_CONTEXT_DO_NOT_USE, SpacingContext } from './menu-context';
|
|
@@ -29,9 +28,6 @@ var contentStyles = xcss({
|
|
|
29
28
|
overflow: 'hidden',
|
|
30
29
|
textAlign: 'left'
|
|
31
30
|
});
|
|
32
|
-
var baseContentStyles = xcss({
|
|
33
|
-
lineHeight: '16px'
|
|
34
|
-
});
|
|
35
31
|
var truncateStyles = css({
|
|
36
32
|
display: 'block',
|
|
37
33
|
overflow: 'hidden',
|
|
@@ -45,13 +41,7 @@ var wordBreakStyles = css({
|
|
|
45
41
|
wordBreak: 'break-word'
|
|
46
42
|
});
|
|
47
43
|
var descriptionStyles = css({
|
|
48
|
-
color: "var(--ds-text-subtlest, ".concat(N200, ")")
|
|
49
|
-
});
|
|
50
|
-
var baseDescriptionStyles = css({
|
|
51
|
-
fontSize: '12px',
|
|
52
|
-
marginBlockStart: "var(--ds-space-050, 4px)"
|
|
53
|
-
});
|
|
54
|
-
var tokenizedDescriptionStyles = css({
|
|
44
|
+
color: "var(--ds-text-subtlest, ".concat(N200, ")"),
|
|
55
45
|
font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
|
|
56
46
|
});
|
|
57
47
|
var disabledDescriptionStyles = css({
|
|
@@ -79,9 +69,6 @@ var primitiveStyles = css({
|
|
|
79
69
|
textDecoration: 'none'
|
|
80
70
|
}
|
|
81
71
|
});
|
|
82
|
-
var primitiveBaseStyles = css({
|
|
83
|
-
fontSize: '14px'
|
|
84
|
-
});
|
|
85
72
|
var spacingMapStyles = {
|
|
86
73
|
cozy: css({
|
|
87
74
|
// 8 * 2 (16) + icon (24) === 40
|
|
@@ -209,7 +196,7 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
|
|
|
209
196
|
return jsx(FocusRing, {
|
|
210
197
|
isInset: true
|
|
211
198
|
}, children({
|
|
212
|
-
className: cx([cn([positionRelativeStyles, primitiveStyles,
|
|
199
|
+
className: cx([cn([positionRelativeStyles, primitiveStyles, spacingMapStyles[spacing], !isDisabled && !isSelected && unselectedStyles, !isDisabled && isSelected && [selectedStyles, [selectionStyle === 'border' && selectedBorderStyles, selectionStyle === 'notch' && selectedNotchStyles]], isDisabled ? disabledStyles : interactiveStyles]), UNSAFE_className]),
|
|
213
200
|
children: jsx(Inline, {
|
|
214
201
|
as: "span",
|
|
215
202
|
spread: "space-between",
|
|
@@ -224,18 +211,14 @@ var MenuItemPrimitive = function MenuItemPrimitive(_ref) {
|
|
|
224
211
|
}, iconBefore), title && jsx(Stack, {
|
|
225
212
|
alignBlock: "center",
|
|
226
213
|
grow: "fill",
|
|
227
|
-
xcss:
|
|
228
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
229
|
-
fg('platform.design-system-team.menu-tokenised-typography-styles') ? contentStyles : [contentStyles, baseContentStyles]
|
|
214
|
+
xcss: contentStyles
|
|
230
215
|
}, renderTitle('span', {
|
|
231
216
|
children: title,
|
|
232
|
-
className: cn(
|
|
217
|
+
className: cn(titleStyles, shouldTitleWrap ? wordBreakStyles : truncateStyles),
|
|
233
218
|
'data-item-title': true
|
|
234
219
|
}), description && jsx("span", {
|
|
235
220
|
"data-item-description": true,
|
|
236
|
-
css: [descriptionStyles,
|
|
237
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
238
|
-
fg('platform.design-system-team.menu-tokenised-typography-styles') ? tokenizedDescriptionStyles : baseDescriptionStyles, isDisabled && disabledDescriptionStyles, shouldDescriptionWrap ? wordBreakStyles : truncateStyles]
|
|
221
|
+
css: [descriptionStyles, isDisabled && disabledDescriptionStyles, shouldDescriptionWrap ? wordBreakStyles : truncateStyles]
|
|
239
222
|
}, description)), iconAfter && jsx("span", {
|
|
240
223
|
"data-item-elem-after": true,
|
|
241
224
|
css: beforeAfterElementStyles,
|
|
@@ -11,26 +11,12 @@ import { memo } from 'react';
|
|
|
11
11
|
import { css, jsx } from '@emotion/react';
|
|
12
12
|
import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
|
|
13
13
|
import noop from '@atlaskit/ds-lib/noop';
|
|
14
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
15
14
|
import { N300 } from '@atlaskit/theme/colors';
|
|
16
|
-
import { headingSizes } from '@atlaskit/theme/typography';
|
|
17
|
-
var itemHeadingContentHeight = headingSizes.h100.lineHeight;
|
|
18
|
-
var itemHeadingFontSize = headingSizes.h100.size;
|
|
19
15
|
var headingStyles = css({
|
|
20
16
|
color: "var(--ds-text-subtle, ".concat(N300, ")"),
|
|
17
|
+
font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
|
|
21
18
|
paddingBlock: "var(--ds-space-0, 0px)",
|
|
22
|
-
paddingInline: "var(--ds-space-200, 16px)"
|
|
23
|
-
textTransform: 'uppercase'
|
|
24
|
-
});
|
|
25
|
-
var baseHeadingStyles = css({
|
|
26
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
|
|
27
|
-
fontSize: itemHeadingFontSize,
|
|
28
|
-
fontWeight: "var(--ds-font-weight-bold, 700)",
|
|
29
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
|
|
30
|
-
lineHeight: itemHeadingContentHeight / itemHeadingFontSize
|
|
31
|
-
});
|
|
32
|
-
var tokenizedHeadingStyles = css({
|
|
33
|
-
font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
|
|
19
|
+
paddingInline: "var(--ds-space-200, 16px)"
|
|
34
20
|
});
|
|
35
21
|
|
|
36
22
|
/**
|
|
@@ -58,8 +44,6 @@ var HeadingItem = /*#__PURE__*/memo(function (_ref) {
|
|
|
58
44
|
var UNSAFE_overrides = css(cssFn(undefined));
|
|
59
45
|
return jsx("div", _extends({
|
|
60
46
|
css: [headingStyles,
|
|
61
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
62
|
-
fg('platform.design-system-team.menu-tokenised-typography-styles') ? tokenizedHeadingStyles : baseHeadingStyles,
|
|
63
47
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
64
48
|
UNSAFE_overrides],
|
|
65
49
|
role: "heading",
|
|
@@ -12,7 +12,6 @@ import { jsx } from '@emotion/react';
|
|
|
12
12
|
import { useRouterLink } from '@atlaskit/app-provider';
|
|
13
13
|
import { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';
|
|
14
14
|
import noop from '@atlaskit/ds-lib/noop';
|
|
15
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
16
15
|
import MenuItemPrimitive from '../internal/components/menu-item-primitive';
|
|
17
16
|
var IS_EXTERNAL_LINK_REGEX = /^(?:(http|https):\/\/)/;
|
|
18
17
|
var IS_NON_HTTP_BASED = /^(((mailto|tel|sms):)|(#))/;
|
|
@@ -70,7 +69,7 @@ function (props, ref) {
|
|
|
70
69
|
* - it doesn't have an empty href (e.g. href="" or href={undefined})
|
|
71
70
|
*/
|
|
72
71
|
var isRouterLink = !UNSAFE_shouldDisableRouterLink && RouterLink && !isExternal && !isNonHttpBased && !isEmptyHref;
|
|
73
|
-
var Component = isRouterLink
|
|
72
|
+
var Component = isRouterLink ? RouterLink : 'a';
|
|
74
73
|
propDeprecationWarning("@atlaskit/menu" || '', 'cssFn', cssFn !== noop, '' // TODO: Create DAC post when primitives/xcss are available as alternatives
|
|
75
74
|
);
|
|
76
75
|
return jsx(MenuItemPrimitive, _extends({}, rest, {
|
package/dist/types/types.d.ts
CHANGED
|
@@ -165,7 +165,7 @@ export interface MenuItemProps {
|
|
|
165
165
|
/**
|
|
166
166
|
* Event that's triggered when the element is clicked.
|
|
167
167
|
*/
|
|
168
|
-
onClick?: (
|
|
168
|
+
onClick?: (e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void;
|
|
169
169
|
/**
|
|
170
170
|
* Event that's triggered when the element has been pressed.
|
|
171
171
|
*/
|
|
@@ -165,7 +165,7 @@ export interface MenuItemProps {
|
|
|
165
165
|
/**
|
|
166
166
|
* Event that's triggered when the element is clicked.
|
|
167
167
|
*/
|
|
168
|
-
onClick?: (
|
|
168
|
+
onClick?: (e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void;
|
|
169
169
|
/**
|
|
170
170
|
* Event that's triggered when the element has been pressed.
|
|
171
171
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/menu",
|
|
3
|
-
"version": "2.12.
|
|
3
|
+
"version": "2.12.3",
|
|
4
4
|
"description": "A list of options to help users navigate, or perform actions.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -17,10 +17,6 @@
|
|
|
17
17
|
"atlassian": {
|
|
18
18
|
"team": "Design System Team",
|
|
19
19
|
"runReact18": true,
|
|
20
|
-
"productPushConsumption": [
|
|
21
|
-
"jira"
|
|
22
|
-
],
|
|
23
|
-
"releaseModel": "continuous",
|
|
24
20
|
"website": {
|
|
25
21
|
"name": "Menu",
|
|
26
22
|
"subPages": [
|
|
@@ -44,12 +40,12 @@
|
|
|
44
40
|
},
|
|
45
41
|
"dependencies": {
|
|
46
42
|
"@atlaskit/app-provider": "^1.4.0",
|
|
47
|
-
"@atlaskit/ds-lib": "^2.
|
|
43
|
+
"@atlaskit/ds-lib": "^2.6.0",
|
|
48
44
|
"@atlaskit/focus-ring": "^1.6.0",
|
|
49
45
|
"@atlaskit/platform-feature-flags": "^0.3.0",
|
|
50
|
-
"@atlaskit/primitives": "^12.
|
|
46
|
+
"@atlaskit/primitives": "^12.2.0",
|
|
51
47
|
"@atlaskit/theme": "^13.0.0",
|
|
52
|
-
"@atlaskit/tokens": "^1.
|
|
48
|
+
"@atlaskit/tokens": "^1.61.0",
|
|
53
49
|
"@babel/runtime": "^7.0.0",
|
|
54
50
|
"@emotion/react": "^11.7.1"
|
|
55
51
|
},
|
|
@@ -123,12 +119,6 @@
|
|
|
123
119
|
"platform-feature-flags": {
|
|
124
120
|
"platform.design-system-team.section-1px-seperator-borders": {
|
|
125
121
|
"type": "boolean"
|
|
126
|
-
},
|
|
127
|
-
"platform.design-system-team.menu-tokenised-typography-styles": {
|
|
128
|
-
"type": "boolean"
|
|
129
|
-
},
|
|
130
|
-
"platform.wanjel.use-router-links-for-the-linkitem-component": {
|
|
131
|
-
"type": "boolean"
|
|
132
122
|
}
|
|
133
123
|
},
|
|
134
124
|
"homepage": "https://atlassian.design/components/menu/"
|