@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,81 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- 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; }
4
-
5
- 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) { _defineProperty(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; }
6
-
7
- import { keyframes } from '@emotion/core';
8
- import { skeleton as skeletonColorFn } from '@atlaskit/theme/colors';
9
- import { borderRadius as borderRadiusFn, gridSize as gridSizeFn, skeletonShimmer } from '@atlaskit/theme/constants';
10
- import { token } from '@atlaskit/tokens';
11
- import { baseItemCSS } from './base-item';
12
- var gridSize = gridSizeFn();
13
- var borderRadius = borderRadiusFn();
14
- var itemElemSpacing = gridSize * 1.5;
15
- var itemExpectedElemSize = gridSize * 3;
16
- var itemMinHeight = gridSize * 5;
17
- var skeletonItemElemSize = gridSize * 2.5;
18
- var itemElemSkeletonOffset = (itemExpectedElemSize - skeletonItemElemSize) / 2;
19
- var skeletonTextBorderRadius = 100;
20
- var skeletonContentHeight = 9;
21
- var skeletonColor = token('color.background.subtleNeutral.resting', skeletonColorFn());
22
- var shimmer = skeletonShimmer();
23
- var shimmerKeyframes = keyframes(shimmer.keyframes);
24
- export var skeletonItemCSS = function skeletonItemCSS(hasAvatar, hasIcon, width, isShimmering) {
25
- return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, baseItemCSS(false, false)), {}, {
26
- pointerEvents: 'none',
27
- display: 'flex',
28
- alignItems: 'center',
29
- minHeight: itemMinHeight
30
- }, !width && {
31
- '&:nth-child(1n)::after': {
32
- flexBasis: '70%'
33
- },
34
- '&:nth-child(2n)::after': {
35
- flexBasis: '50%'
36
- },
37
- '&:nth-child(3n)::after': {
38
- flexBasis: '60%'
39
- },
40
- '&:nth-child(4n)::after': {
41
- flexBasis: '90%'
42
- },
43
- '&:nth-child(5n)::after': {
44
- flexBasis: '35%'
45
- },
46
- '&:nth-child(6n)::after': {
47
- flexBasis: '77%'
48
- }
49
- }), (hasAvatar || hasIcon) && {
50
- '&::before': _objectSpread(_objectSpread({
51
- // This will render a skeleton in the "elemBefore" position.
52
- content: '""',
53
- backgroundColor: skeletonColor
54
- }, isShimmering && _objectSpread(_objectSpread({}, shimmer.css), {}, {
55
- animationName: "".concat(shimmerKeyframes)
56
- })), {}, {
57
- marginRight: itemElemSpacing + itemElemSkeletonOffset,
58
- width: skeletonItemElemSize,
59
- height: skeletonItemElemSize,
60
- marginLeft: itemElemSkeletonOffset,
61
- borderRadius: hasAvatar ? '100%' : borderRadius,
62
- flexShrink: 0
63
- })
64
- }), {}, {
65
- '&::after': _objectSpread(_objectSpread({
66
- // This will render the skeleton "text".
67
- content: '""',
68
- backgroundColor: skeletonColor
69
- }, isShimmering && _objectSpread(_objectSpread({}, shimmer.css), {}, {
70
- animationName: "".concat(shimmerKeyframes)
71
- })), {}, {
72
- // This is a little bespoke but we need to push everything down 1px
73
- // because the skeleton content should align to the bottom of the text.
74
- // Confirm VR test failures before accepting a change.
75
- marginTop: 1,
76
- height: skeletonContentHeight,
77
- borderRadius: skeletonTextBorderRadius,
78
- flexBasis: width || '100%'
79
- })
80
- });
81
- };
@@ -1,15 +0,0 @@
1
- export var menuGroupCSS = function menuGroupCSS(_ref) {
2
- var minWidth = _ref.minWidth,
3
- maxWidth = _ref.maxWidth,
4
- minHeight = _ref.minHeight,
5
- maxHeight = _ref.maxHeight;
6
- return {
7
- display: 'flex',
8
- flexDirection: 'column',
9
- overflow: 'auto',
10
- maxWidth: maxWidth,
11
- minWidth: minWidth,
12
- maxHeight: maxHeight,
13
- minHeight: minHeight
14
- };
15
- };
@@ -1,67 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- 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; }
4
-
5
- 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) { _defineProperty(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; }
6
-
7
- import { N30A } from '@atlaskit/theme/colors';
8
- import { gridSize as gridSizeFn } from '@atlaskit/theme/constants';
9
- import { headingSizes } from '@atlaskit/theme/typography';
10
- import { token } from '@atlaskit/tokens';
11
- var gridSize = gridSizeFn();
12
- var itemHeadingTopMargin = gridSize * 2.5;
13
- var itemHeadingBottomMargin = gridSize * 0.75; // Skeleton content is slightly shorter than the real content.
14
- // Because of that we slightly increase the top margin to offset this so the
15
- // containing size both real and skeleton always equal approx 30px.
16
-
17
- var itemHeadingContentHeight = headingSizes.h100.lineHeight;
18
- var skeletonHeadingHeight = gridSize;
19
- var skeletonHeadingMarginOffset = 3;
20
- var skeletonHeadingTopMargin = itemHeadingTopMargin + (itemHeadingContentHeight - skeletonHeadingHeight) - skeletonHeadingMarginOffset; // We want to move the entire body up by 3px without affecting the height of the skeleton container.
21
-
22
- var skeletonHeadingBottomMargin = itemHeadingBottomMargin + skeletonHeadingMarginOffset;
23
- var sectionPaddingTopBottom = gridSize * 0.75;
24
- var VAR_SEPARATOR_COLOR = '--ds-menu-seperator-color';
25
- export var sectionCSS = function sectionCSS(isScrollable, hasSeparator) {
26
- return _objectSpread(_objectSpread(_objectSpread({
27
- '&:before, &:after': {
28
- content: '" "',
29
- display: 'block',
30
- height: sectionPaddingTopBottom
31
- },
32
- '& [data-ds--menu--heading-item]': {
33
- '&:first-of-type': {
34
- marginTop: itemHeadingTopMargin - sectionPaddingTopBottom
35
- },
36
- marginTop: itemHeadingTopMargin,
37
- marginBottom: itemHeadingBottomMargin
38
- },
39
- '& [data-ds--menu--skeleton-heading-item]': {
40
- '&:first-of-type': {
41
- marginTop: skeletonHeadingTopMargin - sectionPaddingTopBottom
42
- },
43
- marginTop: skeletonHeadingTopMargin,
44
- marginBottom: skeletonHeadingBottomMargin
45
- }
46
- }, isScrollable ? {
47
- flexShrink: 1,
48
- overflow: 'auto'
49
- } : {
50
- flexShrink: 0
51
- }), hasSeparator ? {
52
- borderTop: "2px solid var(".concat(VAR_SEPARATOR_COLOR, ", ").concat(token('color.border.neutral', N30A), ")")
53
- } : {
54
- // this is to ensure that adjacent sections without separators don't get additional margins.
55
- '[data-section] + &': {
56
- marginTop: -6
57
- }
58
- }), {}, {
59
- '&:focus': {
60
- // NOTE: Firefox allows elements that have "overflow: auto" to gain focus (as if it had tab-index="0")
61
- // We have made a deliberate choice to leave this behaviour as is.
62
- // This makes the outline go inside by 1px so it can actually be displayed
63
- // else it gets cut off from the overflow: scroll from the parent menu group.
64
- outlineOffset: -1
65
- }
66
- });
67
- };
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import type { BaseItemProps } from '../../types';
3
- /**
4
- * __Base item__
5
- *
6
- * A base item should be composed for all item experiences.
7
- */
8
- declare const BaseItem: import("react").MemoExoticComponent<({ children, description, iconAfter, iconBefore, overrides, shouldTitleWrap, shouldDescriptionWrap, }: BaseItemProps) => JSX.Element>;
9
- export default BaseItem;
@@ -1,23 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const baseItemCSS: (isDisabled?: boolean | undefined, isSelected?: boolean | undefined) => CSSObject;
3
- export declare const contentCSS: CSSObject;
4
- export declare const truncateCSS: CSSObject;
5
- export declare const wrapTextCSS: CSSObject;
6
- export declare const elemBeforeCSS: {
7
- display: string;
8
- flexShrink: number;
9
- marginRight: number;
10
- };
11
- export declare const elemAfterCSS: {
12
- display: string;
13
- flexShrink: number;
14
- marginLeft: number;
15
- };
16
- export declare const wrapDescriptionCSS: CSSObject;
17
- export declare const descriptionCSS: CSSObject;
18
- export declare const contentCSSWrapper: {
19
- readonly display: "flex";
20
- readonly minHeight: number;
21
- readonly alignItems: "center";
22
- readonly width: "100%";
23
- };
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const buttonItemCSS: (isDisabled?: boolean | undefined, isSelected?: boolean | undefined) => CSSObject;
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const customItemCSS: (isDisabled?: boolean | undefined, isSelected?: boolean | undefined) => CSSObject;
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const headingItemCSS: CSSObject;
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const linkItemCSS: (isDisabled?: boolean | undefined, isSelected?: boolean | undefined) => CSSObject;
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const skeletonHeadingItemCSS: (width?: string | number | undefined, isShimmering?: boolean | undefined) => CSSObject;
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const skeletonItemCSS: (hasAvatar?: boolean | undefined, hasIcon?: boolean | undefined, width?: string | number | undefined, isShimmering?: boolean | undefined) => CSSObject;
@@ -1,3 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- import type { MenuGroupSizing } from '../../../types';
3
- export declare const menuGroupCSS: ({ minWidth, maxWidth, minHeight, maxHeight, }: MenuGroupSizing) => CSSObject;
@@ -1,2 +0,0 @@
1
- import { CSSObject } from '@emotion/core';
2
- export declare const sectionCSS: (isScrollable?: boolean | undefined, hasSeparator?: boolean | undefined) => CSSObject;