@atlaskit/menu 1.1.3 → 1.2.2

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 (79) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/cjs/internal/components/menu-item-primitive.js +200 -0
  3. package/dist/cjs/menu-item/button-item.js +31 -25
  4. package/dist/cjs/menu-item/custom-item.js +31 -32
  5. package/dist/cjs/menu-item/heading-item.js +25 -7
  6. package/dist/cjs/menu-item/link-item.js +50 -45
  7. package/dist/cjs/menu-item/skeleton-heading-item.js +42 -14
  8. package/dist/cjs/menu-item/skeleton-item.js +93 -13
  9. package/dist/cjs/menu-section/menu-group.js +11 -8
  10. package/dist/cjs/menu-section/section.js +83 -29
  11. package/dist/cjs/version.json +1 -1
  12. package/dist/es2019/internal/components/menu-item-primitive.js +180 -0
  13. package/dist/es2019/menu-item/button-item.js +28 -21
  14. package/dist/es2019/menu-item/custom-item.js +32 -24
  15. package/dist/es2019/menu-item/heading-item.js +22 -6
  16. package/dist/es2019/menu-item/link-item.js +31 -26
  17. package/dist/es2019/menu-item/skeleton-heading-item.js +37 -11
  18. package/dist/es2019/menu-item/skeleton-item.js +89 -11
  19. package/dist/es2019/menu-section/menu-group.js +12 -8
  20. package/dist/es2019/menu-section/section.js +83 -31
  21. package/dist/es2019/version.json +1 -1
  22. package/dist/esm/internal/components/menu-item-primitive.js +184 -0
  23. package/dist/esm/menu-item/button-item.js +30 -24
  24. package/dist/esm/menu-item/custom-item.js +32 -26
  25. package/dist/esm/menu-item/heading-item.js +22 -8
  26. package/dist/esm/menu-item/link-item.js +49 -45
  27. package/dist/esm/menu-item/skeleton-heading-item.js +38 -14
  28. package/dist/esm/menu-item/skeleton-item.js +89 -13
  29. package/dist/esm/menu-section/menu-group.js +12 -8
  30. package/dist/esm/menu-section/section.js +82 -32
  31. package/dist/esm/version.json +1 -1
  32. package/dist/types/index.d.ts +1 -1
  33. package/dist/types/internal/components/menu-item-primitive.d.ts +17 -0
  34. package/dist/types/menu-item/button-item.d.ts +1 -1
  35. package/dist/types/menu-item/custom-item.d.ts +2 -1
  36. package/dist/types/menu-item/skeleton-heading-item.d.ts +1 -2
  37. package/dist/types/menu-item/skeleton-item.d.ts +1 -2
  38. package/dist/types/types.d.ts +27 -7
  39. package/package.json +4 -2
  40. package/dist/cjs/internal/components/base-item.js +0 -65
  41. package/dist/cjs/internal/styles/menu-item/base-item.js +0 -152
  42. package/dist/cjs/internal/styles/menu-item/button-item.js +0 -28
  43. package/dist/cjs/internal/styles/menu-item/custom-item.js +0 -24
  44. package/dist/cjs/internal/styles/menu-item/heading-item.js +0 -28
  45. package/dist/cjs/internal/styles/menu-item/link-item.js +0 -22
  46. package/dist/cjs/internal/styles/menu-item/skeleton-heading-item.js +0 -50
  47. package/dist/cjs/internal/styles/menu-item/skeleton-item.js +0 -98
  48. package/dist/cjs/internal/styles/menu-section/menu-group.js +0 -24
  49. package/dist/cjs/internal/styles/menu-section/section.js +0 -83
  50. package/dist/es2019/internal/components/base-item.js +0 -51
  51. package/dist/es2019/internal/styles/menu-item/base-item.js +0 -122
  52. package/dist/es2019/internal/styles/menu-item/button-item.js +0 -9
  53. package/dist/es2019/internal/styles/menu-item/custom-item.js +0 -5
  54. package/dist/es2019/internal/styles/menu-item/heading-item.js +0 -16
  55. package/dist/es2019/internal/styles/menu-item/link-item.js +0 -3
  56. package/dist/es2019/internal/styles/menu-item/skeleton-heading-item.js +0 -25
  57. package/dist/es2019/internal/styles/menu-item/skeleton-item.js +0 -75
  58. package/dist/es2019/internal/styles/menu-section/menu-group.js +0 -14
  59. package/dist/es2019/internal/styles/menu-section/section.js +0 -62
  60. package/dist/esm/internal/components/base-item.js +0 -55
  61. package/dist/esm/internal/styles/menu-item/base-item.js +0 -124
  62. package/dist/esm/internal/styles/menu-item/button-item.js +0 -16
  63. package/dist/esm/internal/styles/menu-item/custom-item.js +0 -12
  64. package/dist/esm/internal/styles/menu-item/heading-item.js +0 -16
  65. package/dist/esm/internal/styles/menu-item/link-item.js +0 -10
  66. package/dist/esm/internal/styles/menu-item/skeleton-heading-item.js +0 -33
  67. package/dist/esm/internal/styles/menu-item/skeleton-item.js +0 -81
  68. package/dist/esm/internal/styles/menu-section/menu-group.js +0 -15
  69. package/dist/esm/internal/styles/menu-section/section.js +0 -67
  70. package/dist/types/internal/components/base-item.d.ts +0 -9
  71. package/dist/types/internal/styles/menu-item/base-item.d.ts +0 -23
  72. package/dist/types/internal/styles/menu-item/button-item.d.ts +0 -2
  73. package/dist/types/internal/styles/menu-item/custom-item.d.ts +0 -2
  74. package/dist/types/internal/styles/menu-item/heading-item.d.ts +0 -2
  75. package/dist/types/internal/styles/menu-item/link-item.d.ts +0 -2
  76. package/dist/types/internal/styles/menu-item/skeleton-heading-item.d.ts +0 -2
  77. package/dist/types/internal/styles/menu-item/skeleton-item.d.ts +0 -2
  78. package/dist/types/internal/styles/menu-section/menu-group.d.ts +0 -3
  79. package/dist/types/internal/styles/menu-section/section.d.ts +0 -2
@@ -1,152 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.contentCSSWrapper = exports.descriptionCSS = exports.wrapDescriptionCSS = exports.elemAfterCSS = exports.elemBeforeCSS = exports.wrapTextCSS = exports.truncateCSS = exports.contentCSS = exports.baseItemCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _colors = require("@atlaskit/theme/colors");
13
-
14
- var _constants = require("@atlaskit/theme/constants");
15
-
16
- var _typography = require("@atlaskit/theme/typography");
17
-
18
- var _tokens = require("@atlaskit/tokens");
19
-
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
-
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
-
24
- var gridSize = (0, _constants.gridSize)();
25
- var fontSize = (0, _constants.fontSize)();
26
- var itemTopBottomPadding = gridSize;
27
- var itemSidePadding = gridSize * 2.5;
28
- var itemElemSpacing = gridSize * 1.5;
29
- var itemDescriptionSpacing = gridSize * 0.375;
30
- var itemMinHeight = gridSize * 5;
31
- var itemContentMinHeight = itemMinHeight - itemTopBottomPadding * 2;
32
- var disabledStyles = {
33
- cursor: 'not-allowed',
34
- '&, &:hover, &:focus, &:active': {
35
- backgroundColor: 'transparent',
36
- color: (0, _tokens.token)('color.text.disabled', _colors.N200)
37
- },
38
- '&:focus': {
39
- boxShadow: 'none'
40
- }
41
- };
42
- var selectedStyles = {
43
- backgroundColor: (0, _tokens.token)('color.background.selected.resting', _colors.N20),
44
- // Suppress the need for a fallback as selected color isn't used in the non-tokens world.
45
- // When removing fallbacks make sure to remove this supression.
46
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
47
- color: (0, _tokens.token)('color.text.selected'),
48
- ':hover': {
49
- backgroundColor: (0, _tokens.token)('color.background.selected.hover', _colors.N20),
50
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
51
- color: (0, _tokens.token)('color.text.selected')
52
- },
53
- ':active': {
54
- backgroundColor: (0, _tokens.token)('color.background.selected.pressed', _colors.N30),
55
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
56
- color: (0, _tokens.token)('color.text.selected')
57
- },
58
- ':visited': {
59
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
60
- color: (0, _tokens.token)('color.text.selected')
61
- }
62
- };
63
-
64
- var baseItemCSS = function baseItemCSS(isDisabled, isSelected) {
65
- return _objectSpread(_objectSpread({
66
- padding: "".concat(itemTopBottomPadding, "px ").concat(itemSidePadding, "px"),
67
- cursor: 'pointer',
68
- fontSize: fontSize,
69
- // IE11 fix - wrapping container needs to be flex as well for vertical centering to work.
70
- display: 'flex',
71
- boxSizing: 'border-box',
72
- color: 'currentColor',
73
- userSelect: 'none',
74
- '&:visited': {
75
- color: 'currentColor'
76
- },
77
- '&:hover': {
78
- color: 'currentColor',
79
- backgroundColor: (0, _tokens.token)('color.background.transparentNeutral.hover', _colors.N20),
80
- textDecoration: 'none'
81
- },
82
- '&:focus': {
83
- outline: 'none',
84
- boxShadow: "".concat((0, _tokens.token)('color.border.focus', _colors.B100), " 0 0 0 2px inset")
85
- },
86
- '&:active': {
87
- boxShadow: 'none',
88
- color: 'currentColor',
89
- backgroundColor: (0, _tokens.token)('color.background.transparentNeutral.pressed', _colors.N30)
90
- },
91
- '::-moz-focus-inner': {
92
- border: 0
93
- }
94
- }, isSelected && selectedStyles), isDisabled && disabledStyles);
95
- };
96
-
97
- exports.baseItemCSS = baseItemCSS;
98
- var contentCSS = {
99
- flexGrow: 1,
100
- textAlign: 'left',
101
- overflow: 'hidden',
102
- outline: 'none',
103
- display: 'flex',
104
- flexDirection: 'column',
105
- // Fix - avoid clipped text descenders when using standard 16px line-height
106
- lineHeight: 1.22
107
- };
108
- exports.contentCSS = contentCSS;
109
- var truncateCSS = {
110
- display: 'block',
111
- overflow: 'hidden',
112
- textOverflow: 'ellipsis',
113
- whiteSpace: 'nowrap'
114
- };
115
- exports.truncateCSS = truncateCSS;
116
- var wrapTextCSS = {
117
- wordBreak: 'break-word'
118
- };
119
- exports.wrapTextCSS = wrapTextCSS;
120
- var elemBeforeCSS = {
121
- display: 'flex',
122
- flexShrink: 0,
123
- marginRight: itemElemSpacing
124
- };
125
- exports.elemBeforeCSS = elemBeforeCSS;
126
- var elemAfterCSS = {
127
- display: 'flex',
128
- flexShrink: 0,
129
- marginLeft: itemElemSpacing
130
- };
131
- exports.elemAfterCSS = elemAfterCSS;
132
- var descriptionBaseCSS = {
133
- color: (0, _tokens.token)('color.text.lowEmphasis', _colors.N200),
134
- marginTop: itemDescriptionSpacing,
135
- fontSize: _typography.headingSizes.h200.size
136
- };
137
-
138
- var wrapDescriptionCSS = _objectSpread(_objectSpread({}, wrapTextCSS), descriptionBaseCSS);
139
-
140
- exports.wrapDescriptionCSS = wrapDescriptionCSS;
141
-
142
- var descriptionCSS = _objectSpread(_objectSpread({}, truncateCSS), descriptionBaseCSS);
143
-
144
- exports.descriptionCSS = descriptionCSS;
145
- var contentCSSWrapper = {
146
- display: 'flex',
147
- minHeight: itemContentMinHeight,
148
- alignItems: 'center',
149
- // IE11 fix - used with flex above to fix vertical centering.
150
- width: '100%'
151
- };
152
- exports.contentCSSWrapper = contentCSSWrapper;
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.buttonItemCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _baseItem = require("./base-item");
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
18
- var buttonItemCSS = function buttonItemCSS(isDisabled, isSelected) {
19
- return _objectSpread({
20
- backgroundColor: 'transparent',
21
- border: 0,
22
- outline: 0,
23
- margin: 0,
24
- width: '100%'
25
- }, (0, _baseItem.baseItemCSS)(isDisabled, isSelected));
26
- };
27
-
28
- exports.buttonItemCSS = buttonItemCSS;
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.customItemCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _baseItem = require("./base-item");
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
18
- var customItemCSS = function customItemCSS(isDisabled, isSelected) {
19
- return _objectSpread({
20
- color: 'currentColor'
21
- }, (0, _baseItem.baseItemCSS)(isDisabled, isSelected));
22
- };
23
-
24
- exports.customItemCSS = customItemCSS;
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.headingItemCSS = void 0;
7
-
8
- var _colors = require("@atlaskit/theme/colors");
9
-
10
- var _constants = require("@atlaskit/theme/constants");
11
-
12
- var _typography = require("@atlaskit/theme/typography");
13
-
14
- var _tokens = require("@atlaskit/tokens");
15
-
16
- var gridSize = (0, _constants.gridSize)();
17
- var itemSidePadding = gridSize * 2.5;
18
- var itemHeadingContentHeight = _typography.headingSizes.h100.lineHeight;
19
- var itemHeadingFontSize = _typography.headingSizes.h100.size;
20
- var headingItemCSS = {
21
- textTransform: 'uppercase',
22
- fontSize: itemHeadingFontSize,
23
- lineHeight: itemHeadingContentHeight / itemHeadingFontSize,
24
- fontWeight: 700,
25
- color: (0, _tokens.token)('color.text.lowEmphasis', _colors.N200),
26
- padding: "0 ".concat(itemSidePadding, "px")
27
- };
28
- exports.headingItemCSS = headingItemCSS;
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.linkItemCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _baseItem = require("./base-item");
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
-
18
- var linkItemCSS = function linkItemCSS(isDisabled, isSelected) {
19
- return _objectSpread({}, (0, _baseItem.baseItemCSS)(isDisabled, isSelected));
20
- };
21
-
22
- exports.linkItemCSS = linkItemCSS;
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.skeletonHeadingItemCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _core = require("@emotion/core");
13
-
14
- var _colors = require("@atlaskit/theme/colors");
15
-
16
- var _constants = require("@atlaskit/theme/constants");
17
-
18
- var _tokens = require("@atlaskit/tokens");
19
-
20
- var _headingItem = require("./heading-item");
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
-
26
- var gridSize = (0, _constants.gridSize)();
27
- var skeletonTextBorderRadius = 100;
28
- var skeletonHeadingHeight = gridSize;
29
- var skeletonColor = (0, _tokens.token)('color.background.subtleNeutral.resting', (0, _colors.skeleton)());
30
- var shimmer = (0, _constants.skeletonShimmer)();
31
- var shimmerKeyframes = (0, _core.keyframes)(shimmer.keyframes);
32
-
33
- var skeletonHeadingItemCSS = function skeletonHeadingItemCSS(width, isShimmering) {
34
- return _objectSpread(_objectSpread({}, _headingItem.headingItemCSS), {}, {
35
- '&::after': _objectSpread(_objectSpread({
36
- // This renders the skeleton heading "text".
37
- backgroundColor: skeletonColor
38
- }, isShimmering && _objectSpread(_objectSpread({}, shimmer.css), {}, {
39
- animationName: "".concat(shimmerKeyframes)
40
- })), {}, {
41
- height: skeletonHeadingHeight,
42
- width: width || '30%',
43
- borderRadius: skeletonTextBorderRadius,
44
- display: 'block',
45
- content: '""'
46
- })
47
- });
48
- };
49
-
50
- exports.skeletonHeadingItemCSS = skeletonHeadingItemCSS;
@@ -1,98 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.skeletonItemCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _core = require("@emotion/core");
13
-
14
- var _colors = require("@atlaskit/theme/colors");
15
-
16
- var _constants = require("@atlaskit/theme/constants");
17
-
18
- var _tokens = require("@atlaskit/tokens");
19
-
20
- var _baseItem = require("./base-item");
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
-
26
- var gridSize = (0, _constants.gridSize)();
27
- var borderRadius = (0, _constants.borderRadius)();
28
- var itemElemSpacing = gridSize * 1.5;
29
- var itemExpectedElemSize = gridSize * 3;
30
- var itemMinHeight = gridSize * 5;
31
- var skeletonItemElemSize = gridSize * 2.5;
32
- var itemElemSkeletonOffset = (itemExpectedElemSize - skeletonItemElemSize) / 2;
33
- var skeletonTextBorderRadius = 100;
34
- var skeletonContentHeight = 9;
35
- var skeletonColor = (0, _tokens.token)('color.background.subtleNeutral.resting', (0, _colors.skeleton)());
36
- var shimmer = (0, _constants.skeletonShimmer)();
37
- var shimmerKeyframes = (0, _core.keyframes)(shimmer.keyframes);
38
-
39
- var skeletonItemCSS = function skeletonItemCSS(hasAvatar, hasIcon, width, isShimmering) {
40
- return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, (0, _baseItem.baseItemCSS)(false, false)), {}, {
41
- pointerEvents: 'none',
42
- display: 'flex',
43
- alignItems: 'center',
44
- minHeight: itemMinHeight
45
- }, !width && {
46
- '&:nth-child(1n)::after': {
47
- flexBasis: '70%'
48
- },
49
- '&:nth-child(2n)::after': {
50
- flexBasis: '50%'
51
- },
52
- '&:nth-child(3n)::after': {
53
- flexBasis: '60%'
54
- },
55
- '&:nth-child(4n)::after': {
56
- flexBasis: '90%'
57
- },
58
- '&:nth-child(5n)::after': {
59
- flexBasis: '35%'
60
- },
61
- '&:nth-child(6n)::after': {
62
- flexBasis: '77%'
63
- }
64
- }), (hasAvatar || hasIcon) && {
65
- '&::before': _objectSpread(_objectSpread({
66
- // This will render a skeleton in the "elemBefore" position.
67
- content: '""',
68
- backgroundColor: skeletonColor
69
- }, isShimmering && _objectSpread(_objectSpread({}, shimmer.css), {}, {
70
- animationName: "".concat(shimmerKeyframes)
71
- })), {}, {
72
- marginRight: itemElemSpacing + itemElemSkeletonOffset,
73
- width: skeletonItemElemSize,
74
- height: skeletonItemElemSize,
75
- marginLeft: itemElemSkeletonOffset,
76
- borderRadius: hasAvatar ? '100%' : borderRadius,
77
- flexShrink: 0
78
- })
79
- }), {}, {
80
- '&::after': _objectSpread(_objectSpread({
81
- // This will render the skeleton "text".
82
- content: '""',
83
- backgroundColor: skeletonColor
84
- }, isShimmering && _objectSpread(_objectSpread({}, shimmer.css), {}, {
85
- animationName: "".concat(shimmerKeyframes)
86
- })), {}, {
87
- // This is a little bespoke but we need to push everything down 1px
88
- // because the skeleton content should align to the bottom of the text.
89
- // Confirm VR test failures before accepting a change.
90
- marginTop: 1,
91
- height: skeletonContentHeight,
92
- borderRadius: skeletonTextBorderRadius,
93
- flexBasis: width || '100%'
94
- })
95
- });
96
- };
97
-
98
- exports.skeletonItemCSS = skeletonItemCSS;
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.menuGroupCSS = void 0;
7
-
8
- var menuGroupCSS = function menuGroupCSS(_ref) {
9
- var minWidth = _ref.minWidth,
10
- maxWidth = _ref.maxWidth,
11
- minHeight = _ref.minHeight,
12
- maxHeight = _ref.maxHeight;
13
- return {
14
- display: 'flex',
15
- flexDirection: 'column',
16
- overflow: 'auto',
17
- maxWidth: maxWidth,
18
- minWidth: minWidth,
19
- maxHeight: maxHeight,
20
- minHeight: minHeight
21
- };
22
- };
23
-
24
- exports.menuGroupCSS = menuGroupCSS;
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.sectionCSS = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _colors = require("@atlaskit/theme/colors");
13
-
14
- var _constants = require("@atlaskit/theme/constants");
15
-
16
- var _typography = require("@atlaskit/theme/typography");
17
-
18
- var _tokens = require("@atlaskit/tokens");
19
-
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
-
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
-
24
- var gridSize = (0, _constants.gridSize)();
25
- var itemHeadingTopMargin = gridSize * 2.5;
26
- var itemHeadingBottomMargin = gridSize * 0.75; // Skeleton content is slightly shorter than the real content.
27
- // Because of that we slightly increase the top margin to offset this so the
28
- // containing size both real and skeleton always equal approx 30px.
29
-
30
- var itemHeadingContentHeight = _typography.headingSizes.h100.lineHeight;
31
- var skeletonHeadingHeight = gridSize;
32
- var skeletonHeadingMarginOffset = 3;
33
- var skeletonHeadingTopMargin = itemHeadingTopMargin + (itemHeadingContentHeight - skeletonHeadingHeight) - skeletonHeadingMarginOffset; // We want to move the entire body up by 3px without affecting the height of the skeleton container.
34
-
35
- var skeletonHeadingBottomMargin = itemHeadingBottomMargin + skeletonHeadingMarginOffset;
36
- var sectionPaddingTopBottom = gridSize * 0.75;
37
- var VAR_SEPARATOR_COLOR = '--ds-menu-seperator-color';
38
-
39
- var sectionCSS = function sectionCSS(isScrollable, hasSeparator) {
40
- return _objectSpread(_objectSpread(_objectSpread({
41
- '&:before, &:after': {
42
- content: '" "',
43
- display: 'block',
44
- height: sectionPaddingTopBottom
45
- },
46
- '& [data-ds--menu--heading-item]': {
47
- '&:first-of-type': {
48
- marginTop: itemHeadingTopMargin - sectionPaddingTopBottom
49
- },
50
- marginTop: itemHeadingTopMargin,
51
- marginBottom: itemHeadingBottomMargin
52
- },
53
- '& [data-ds--menu--skeleton-heading-item]': {
54
- '&:first-of-type': {
55
- marginTop: skeletonHeadingTopMargin - sectionPaddingTopBottom
56
- },
57
- marginTop: skeletonHeadingTopMargin,
58
- marginBottom: skeletonHeadingBottomMargin
59
- }
60
- }, isScrollable ? {
61
- flexShrink: 1,
62
- overflow: 'auto'
63
- } : {
64
- flexShrink: 0
65
- }), hasSeparator ? {
66
- borderTop: "2px solid var(".concat(VAR_SEPARATOR_COLOR, ", ").concat((0, _tokens.token)('color.border.neutral', _colors.N30A), ")")
67
- } : {
68
- // this is to ensure that adjacent sections without separators don't get additional margins.
69
- '[data-section] + &': {
70
- marginTop: -6
71
- }
72
- }), {}, {
73
- '&:focus': {
74
- // NOTE: Firefox allows elements that have "overflow: auto" to gain focus (as if it had tab-index="0")
75
- // We have made a deliberate choice to leave this behaviour as is.
76
- // This makes the outline go inside by 1px so it can actually be displayed
77
- // else it gets cut off from the overflow: scroll from the parent menu group.
78
- outlineOffset: -1
79
- }
80
- });
81
- };
82
-
83
- exports.sectionCSS = sectionCSS;
@@ -1,51 +0,0 @@
1
- /** @jsx jsx */
2
- import { memo } from 'react';
3
- import { ClassNames, jsx } from '@emotion/core';
4
- import { contentCSS, contentCSSWrapper, descriptionCSS, elemAfterCSS, elemBeforeCSS, truncateCSS, wrapDescriptionCSS, wrapTextCSS } from '../styles/menu-item/base-item';
5
-
6
- const defaultRender = (Component, props) => jsx(Component, props);
7
- /**
8
- * __Base item__
9
- *
10
- * A base item should be composed for all item experiences.
11
- */
12
-
13
-
14
- const BaseItem = /*#__PURE__*/memo(({
15
- children,
16
- description,
17
- iconAfter,
18
- iconBefore,
19
- overrides,
20
- shouldTitleWrap = false,
21
- shouldDescriptionWrap = false
22
- }) => {
23
- const renderTitle = overrides && overrides.Title && overrides.Title.render || defaultRender;
24
- return (// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
25
- jsx("div", {
26
- css: contentCSSWrapper
27
- }, iconBefore && // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
28
- jsx("span", {
29
- "data-item-elem-before": true,
30
- css: elemBeforeCSS
31
- }, iconBefore), children && // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
32
- jsx("span", {
33
- css: contentCSS
34
- }, jsx(ClassNames, null, ({
35
- css
36
- }) => renderTitle('span', {
37
- children,
38
- className: css(shouldTitleWrap ? wrapTextCSS : truncateCSS),
39
- 'data-item-title': true
40
- })), description && jsx("span", {
41
- "data-item-description": true,
42
- css: // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
43
- shouldDescriptionWrap ? wrapDescriptionCSS : descriptionCSS
44
- }, description)), iconAfter && // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
45
- jsx("span", {
46
- "data-item-elem-after": true,
47
- css: elemAfterCSS
48
- }, iconAfter))
49
- );
50
- });
51
- export default BaseItem;