@atlaskit/smart-card 34.1.0 → 34.2.0

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 (90) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/utils/analytics/analytics.js +1 -1
  3. package/dist/cjs/view/EmbedCard/components/IFrame.js +6 -3
  4. package/dist/cjs/view/EmbedModal/components/embed-content/index.compiled.css +2 -0
  5. package/dist/cjs/view/EmbedModal/components/embed-content/index.js +23 -14
  6. package/dist/cjs/view/EmbedModal/components/embed-content/indexOld.js +37 -0
  7. package/dist/cjs/view/EmbedModal/components/link-info/index.compiled.css +35 -0
  8. package/dist/cjs/view/EmbedModal/components/link-info/index.js +58 -49
  9. package/dist/cjs/view/EmbedModal/components/link-info/indexOld.js +131 -0
  10. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +9 -11
  11. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/LoadingSkeletonOld.js +52 -0
  12. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.compiled.css +15 -0
  13. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.js +27 -38
  14. package/dist/cjs/view/FlexibleCard/components/container/index.compiled.css +38 -0
  15. package/dist/cjs/view/FlexibleCard/components/container/index.js +94 -87
  16. package/dist/cjs/view/FlexibleCard/components/container/indexOld.js +226 -0
  17. package/dist/cjs/view/FlexibleCard/components/container/layered-link/LayeredLinkOld.js +75 -0
  18. package/dist/cjs/view/FlexibleCard/components/container/layered-link/index.compiled.css +11 -0
  19. package/dist/cjs/view/FlexibleCard/components/container/layered-link/index.js +20 -46
  20. package/dist/cjs/view/LinkUrl/index.js +1 -1
  21. package/dist/es2019/utils/analytics/analytics.js +1 -1
  22. package/dist/es2019/view/EmbedCard/components/IFrame.js +5 -2
  23. package/dist/es2019/view/EmbedModal/components/embed-content/index.compiled.css +2 -0
  24. package/dist/es2019/view/EmbedModal/components/embed-content/index.js +19 -13
  25. package/dist/es2019/view/EmbedModal/components/embed-content/indexOld.js +31 -0
  26. package/dist/es2019/view/EmbedModal/components/link-info/index.compiled.css +35 -0
  27. package/dist/es2019/view/EmbedModal/components/link-info/index.js +59 -49
  28. package/dist/es2019/view/EmbedModal/components/link-info/indexOld.js +122 -0
  29. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +6 -10
  30. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/LoadingSkeletonOld.js +46 -0
  31. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.compiled.css +15 -0
  32. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.js +22 -37
  33. package/dist/es2019/view/FlexibleCard/components/container/index.compiled.css +38 -0
  34. package/dist/es2019/view/FlexibleCard/components/container/index.js +88 -105
  35. package/dist/es2019/view/FlexibleCard/components/container/indexOld.js +229 -0
  36. package/dist/es2019/view/FlexibleCard/components/container/layered-link/LayeredLinkOld.js +69 -0
  37. package/dist/es2019/view/FlexibleCard/components/container/layered-link/index.compiled.css +11 -0
  38. package/dist/es2019/view/FlexibleCard/components/container/layered-link/index.js +16 -45
  39. package/dist/es2019/view/LinkUrl/index.js +1 -1
  40. package/dist/esm/utils/analytics/analytics.js +1 -1
  41. package/dist/esm/view/EmbedCard/components/IFrame.js +6 -3
  42. package/dist/esm/view/EmbedModal/components/embed-content/index.compiled.css +2 -0
  43. package/dist/esm/view/EmbedModal/components/embed-content/index.js +19 -13
  44. package/dist/esm/view/EmbedModal/components/embed-content/indexOld.js +30 -0
  45. package/dist/esm/view/EmbedModal/components/link-info/index.compiled.css +35 -0
  46. package/dist/esm/view/EmbedModal/components/link-info/index.js +59 -49
  47. package/dist/esm/view/EmbedModal/components/link-info/indexOld.js +120 -0
  48. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +6 -10
  49. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/LoadingSkeletonOld.js +45 -0
  50. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.compiled.css +15 -0
  51. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.js +23 -37
  52. package/dist/esm/view/FlexibleCard/components/container/index.compiled.css +38 -0
  53. package/dist/esm/view/FlexibleCard/components/container/index.js +88 -87
  54. package/dist/esm/view/FlexibleCard/components/container/indexOld.js +217 -0
  55. package/dist/esm/view/FlexibleCard/components/container/layered-link/LayeredLinkOld.js +68 -0
  56. package/dist/esm/view/FlexibleCard/components/container/layered-link/index.compiled.css +11 -0
  57. package/dist/esm/view/FlexibleCard/components/container/layered-link/index.js +16 -45
  58. package/dist/esm/view/LinkUrl/index.js +1 -1
  59. package/dist/types/view/EmbedCard/components/IFrame.d.ts +2 -1
  60. package/dist/types/view/EmbedModal/components/embed-content/index.d.ts +3 -7
  61. package/dist/types/view/EmbedModal/components/embed-content/indexOld.d.ts +8 -0
  62. package/dist/types/view/EmbedModal/components/link-info/index.d.ts +3 -3
  63. package/dist/types/view/EmbedModal/components/link-info/indexOld.d.ts +4 -0
  64. package/dist/types/view/FlexibleCard/components/common/image-icon/index.d.ts +2 -6
  65. package/dist/types/view/FlexibleCard/components/common/loading-skeleton/LoadingSkeletonOld.d.ts +8 -0
  66. package/dist/types/view/FlexibleCard/components/common/loading-skeleton/index.d.ts +2 -6
  67. package/dist/types/view/FlexibleCard/components/container/index.d.ts +10 -10
  68. package/dist/types/view/FlexibleCard/components/container/indexOld.d.ts +24 -0
  69. package/dist/types/view/FlexibleCard/components/container/layered-link/LayeredLinkOld.d.ts +13 -0
  70. package/dist/types/view/FlexibleCard/components/container/layered-link/index.d.ts +2 -11
  71. package/dist/types/view/HoverCard/components/CustomPopupContainer.d.ts +1 -1
  72. package/dist/types-ts4.5/view/EmbedCard/components/IFrame.d.ts +2 -1
  73. package/dist/types-ts4.5/view/EmbedModal/components/embed-content/index.d.ts +3 -7
  74. package/dist/types-ts4.5/view/EmbedModal/components/embed-content/indexOld.d.ts +8 -0
  75. package/dist/types-ts4.5/view/EmbedModal/components/link-info/index.d.ts +3 -3
  76. package/dist/types-ts4.5/view/EmbedModal/components/link-info/indexOld.d.ts +4 -0
  77. package/dist/types-ts4.5/view/FlexibleCard/components/common/image-icon/index.d.ts +2 -6
  78. package/dist/types-ts4.5/view/FlexibleCard/components/common/loading-skeleton/LoadingSkeletonOld.d.ts +8 -0
  79. package/dist/types-ts4.5/view/FlexibleCard/components/common/loading-skeleton/index.d.ts +2 -6
  80. package/dist/types-ts4.5/view/FlexibleCard/components/container/index.d.ts +10 -10
  81. package/dist/types-ts4.5/view/FlexibleCard/components/container/indexOld.d.ts +24 -0
  82. package/dist/types-ts4.5/view/FlexibleCard/components/container/layered-link/LayeredLinkOld.d.ts +13 -0
  83. package/dist/types-ts4.5/view/FlexibleCard/components/container/layered-link/index.d.ts +2 -11
  84. package/dist/types-ts4.5/view/HoverCard/components/CustomPopupContainer.d.ts +1 -1
  85. package/package.json +1 -1
  86. /package/dist/cjs/view/EmbedModal/components/link-info/{styled.js → styledOld.js} +0 -0
  87. /package/dist/es2019/view/EmbedModal/components/link-info/{styled.js → styledOld.js} +0 -0
  88. /package/dist/esm/view/EmbedModal/components/link-info/{styled.js → styledOld.js} +0 -0
  89. /package/dist/types/view/EmbedModal/components/link-info/{styled.d.ts → styledOld.d.ts} +0 -0
  90. /package/dist/types-ts4.5/view/EmbedModal/components/link-info/{styled.d.ts → styledOld.d.ts} +0 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
+ import { css, jsx, keyframes } from '@emotion/react';
8
+ var LoadingSkeletonOld = function LoadingSkeletonOld(_ref) {
9
+ var testId = _ref.testId,
10
+ width = _ref.width,
11
+ height = _ref.height;
12
+ var animationNameStyles = keyframes({
13
+ '0%': {
14
+ backgroundPosition: '50% 0'
15
+ },
16
+ '100%': {
17
+ backgroundPosition: '-50% 0'
18
+ }
19
+ });
20
+ var styles = css({
21
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
22
+ width: "".concat(width, "rem"),
23
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
24
+ height: "".concat(height, "rem"),
25
+ borderRadius: '2px',
26
+ userSelect: 'none',
27
+ background: "var(--ds-skeleton-subtle, #f6f7f8)",
28
+ backgroundImage: "linear-gradient( to right, transparent 0%, ".concat("var(--ds-skeleton, #edeef1)", " 20%, transparent 40%, transparent 100% )"),
29
+ backgroundRepeat: 'no-repeat',
30
+ backgroundSize: '280% 100%',
31
+ display: 'inline-block',
32
+ animationDuration: '1s',
33
+ animationFillMode: 'forwards',
34
+ animationIterationCount: 'infinite',
35
+ animationName: animationNameStyles,
36
+ animationTimingFunction: 'linear'
37
+ });
38
+
39
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- needs dynamic css
40
+ return jsx("span", {
41
+ css: styles,
42
+ "data-testid": testId
43
+ });
44
+ };
45
+ export default LoadingSkeletonOld;
@@ -0,0 +1,15 @@
1
+
2
+ ._2rkoyh40{border-radius:2px}._12vemgnk{background-repeat:no-repeat}
3
+ ._1bsb9a7u{width:var(--_uc2kr6)}
4
+ ._1e0c1o8l{display:inline-block}
5
+ ._1itkx3i8{background-image:var(--_16116mi)}
6
+ ._1lrw6rms{background-size:280% 100%}
7
+ ._1o51q7pw{animation-fill-mode:forwards}
8
+ ._1pglp3kn{animation-timing-function:linear}
9
+ ._4t3iaym7{height:var(--_1nl18gq)}
10
+ ._5sag9cwz{animation-duration:1s}
11
+ ._bfhk178v{background-color:var(--ds-skeleton-subtle,#f6f7f8)}
12
+ ._j7hqqkar{animation-name:kc09ee}
13
+ ._tip812c5{animation-iteration-count:infinite}
14
+ ._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}
15
+ @keyframes kc09ee{0%{background-position:50% 0}to{background-position:-50% 0}}
@@ -1,45 +1,31 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
-
6
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
- import { css, jsx, keyframes } from '@emotion/react';
8
- var LoadingSkeleton = function LoadingSkeleton(_ref) {
1
+ /* index.tsx generated by @compiled/babel-plugin v0.35.0 */
2
+ import "./index.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import { fg } from '@atlaskit/platform-feature-flags';
6
+ import LoadingSkeletonOld from './LoadingSkeletonOld';
7
+ var animationNameStyles = null;
8
+ var LoadingSkeletonNew = function LoadingSkeletonNew(_ref) {
9
9
  var testId = _ref.testId,
10
10
  width = _ref.width,
11
11
  height = _ref.height;
12
- var animationNameStyles = keyframes({
13
- '0%': {
14
- backgroundPosition: '50% 0'
15
- },
16
- '100%': {
17
- backgroundPosition: '-50% 0'
18
- }
19
- });
20
- var styles = css({
21
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
22
- width: "".concat(width, "rem"),
23
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
24
- height: "".concat(height, "rem"),
25
- borderRadius: '2px',
26
- userSelect: 'none',
27
- background: "var(--ds-skeleton-subtle, #f6f7f8)",
28
- backgroundImage: "linear-gradient( to right, transparent 0%, ".concat("var(--ds-skeleton, #edeef1)", " 20%, transparent 40%, transparent 100% )"),
29
- backgroundRepeat: 'no-repeat',
30
- backgroundSize: '280% 100%',
31
- display: 'inline-block',
32
- animationDuration: '1s',
33
- animationFillMode: 'forwards',
34
- animationIterationCount: 'infinite',
35
- animationName: animationNameStyles,
36
- animationTimingFunction: 'linear'
37
- });
12
+ var styles = null;
38
13
 
39
14
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- needs dynamic css
40
- return jsx("span", {
41
- css: styles,
42
- "data-testid": testId
15
+ return /*#__PURE__*/React.createElement("span", {
16
+ "data-testid": testId,
17
+ className: ax(["_2rkoyh40 _1bsb9a7u _4t3iaym7 _uiztglyw _bfhk178v _1itkx3i8 _12vemgnk _1lrw6rms _1e0c1o8l _5sag9cwz _1o51q7pw _tip812c5 _j7hqqkar _1pglp3kn"]),
18
+ style: {
19
+ "--_uc2kr6": ix("".concat(width, "rem")),
20
+ "--_1nl18gq": ix("".concat(height, "rem")),
21
+ "--_16116mi": ix("linear-gradient( to right, transparent 0%, ".concat("var(--ds-skeleton, #edeef1)", " 20%, transparent 40%, transparent 100% )"))
22
+ }
43
23
  });
44
24
  };
25
+ var LoadingSkeleton = function LoadingSkeleton(props) {
26
+ if (fg('bandicoots-compiled-migration-smartcard')) {
27
+ return /*#__PURE__*/React.createElement(LoadingSkeletonNew, props);
28
+ }
29
+ return /*#__PURE__*/React.createElement(LoadingSkeletonOld, props);
30
+ };
45
31
  export default LoadingSkeleton;
@@ -0,0 +1,38 @@
1
+ ._18s8v77o{margin:var(--ds-space-025,2px)}
2
+ ._19itn8v0{border:var(--_vzvmm2)}
3
+ ._1yt418y6{padding:var(--_1xumd0e)}
4
+ ._2rkopd34{border-radius:var(--ds-border-radius-200,8px)}
5
+ ._zulp1jvo{gap:1.25rem 0}
6
+ ._zulp1qos{gap:.5rem 0}
7
+ ._zulpfzsm{gap:.25rem 0}
8
+ ._zulph3jc{gap:1rem 0}
9
+ ._19bv15sf{padding-left:calc(var(--preview-block-width) + 1.25rem)}
10
+ ._19bv1ltm{padding-left:calc(var(--preview-block-width) + .25rem)}
11
+ ._19bvf557{padding-left:calc(var(--preview-block-width) + 1rem)}
12
+ ._19bvqox2{padding-left:calc(var(--preview-block-width) + .5rem)}
13
+ ._1e0c1txw{display:flex}
14
+ ._1pcmkb7n:hover~.actions-button-group{opacity:1}
15
+ ._1reo15vq{overflow-x:hidden}
16
+ ._1t4ckb7n .has-action, ._1nxdkb7n a, ._xnbykb7n button{z-index:1}
17
+ ._1ul9idpf{min-width:0}
18
+ ._1yob1j6v{--container-gap-right:1rem}
19
+ ._1yob1k92{--container-gap-right:1.25rem}
20
+ ._1yob1kwk{--container-gap-right:.5rem}
21
+ ._1yob1wow{--container-gap-right:var(--_12k13bg)}
22
+ ._1yob6mu8{--container-gap-right:.25rem}
23
+ ._2lx21bp4{flex-direction:column}
24
+ ._bfhkhp5a{background-color:var(--ds-surface-raised,#fff)}
25
+ ._jb7v18y6{--container-padding:var(--_1xumd0e)}
26
+ ._kqswh2mm{position:relative}
27
+ ._nqwih2mm .has-action, ._18ywh2mm a, ._1nq3h2mm button{position:relative}
28
+ ._r37x1r5k{--preview-block-width:30%}
29
+ ._u5f315sf{padding-right:calc(var(--preview-block-width) + 1.25rem)}
30
+ ._u5f31ltm{padding-right:calc(var(--preview-block-width) + .25rem)}
31
+ ._u5f3f557{padding-right:calc(var(--preview-block-width) + 1rem)}
32
+ ._u5f3qox2{padding-right:calc(var(--preview-block-width) + .5rem)}
33
+ ._y5vk167t{--container-gap-left:var(--_73mooq)}
34
+ ._y5vk1j6v{--container-gap-left:1rem}
35
+ ._y5vk1k92{--container-gap-left:1.25rem}
36
+ ._y5vk1kwk{--container-gap-left:.5rem}
37
+ ._y5vk6mu8{--container-gap-left:.25rem}
38
+ ._1v7y1i6y .has-action:focus, ._ufn21i6y a:focus{outline-offset:var(--ds-space-negative-025,-2px)}
@@ -1,87 +1,24 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject;
3
- /**
4
- * @jsxRuntime classic
5
- * @jsx jsx
6
- */
1
+ /* index.tsx generated by @compiled/babel-plugin v0.35.0 */
2
+ /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage */
3
+ /* eslint-disable @atlaskit/ui-styling-standard/no-unsafe-values */
4
+ import "./index.compiled.css";
5
+ import { ax, ix } from "@compiled/react/runtime";
7
6
  import React, { useContext } from 'react';
8
-
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
- import { css, jsx } from '@emotion/react';
11
7
  import { di } from 'react-magnetic-di';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
12
9
  import { N40 } from '@atlaskit/theme/colors';
13
10
  import { MediaPlacement, SmartLinkSize, SmartLinkTheme } from '../../../../constants';
14
11
  import { FlexibleUiContext } from '../../../../state/flexible-ui-context';
15
12
  import { isFlexUiPreviewPresent } from '../../../../state/flexible-ui-context/utils';
16
13
  import { isFlexibleUiBlock, isFlexibleUiPreviewBlock, isFlexibleUiTitleBlock } from '../../../../utils/flexible';
17
14
  import HoverCardControl from './hover-card-control';
15
+ import ContainerOld from './indexOld';
18
16
  import LayeredLink from './layered-link';
19
- var elevationStyles = css({
20
- border: "1px solid ".concat("var(--ds-border, ".concat(N40, ")")),
21
- borderRadius: "var(--ds-border-radius-200, 8px)",
22
- margin: "var(--ds-space-025, 2px)"
23
- });
24
- var getGap = function getGap(size) {
25
- switch (size) {
26
- case SmartLinkSize.XLarge:
27
- return '1.25rem';
28
- case SmartLinkSize.Large:
29
- return '1rem';
30
- case SmartLinkSize.Medium:
31
- return '.5rem';
32
- case SmartLinkSize.Small:
33
- default:
34
- return '.25rem';
35
- }
36
- };
37
-
38
17
  /**
39
- * Get container padding based on smart link size
40
- * Equivalent version for DS primitives space token is getPrimitivesPaddingSpaceBySize()
41
- * at view/FlexibleCard/components/utils.tsx
18
+ * Eventually these exports should be removed on FF clean up bandicoots-compiled-migration-smartcard
42
19
  */
43
- var getPadding = function getPadding(size) {
44
- switch (size) {
45
- case SmartLinkSize.XLarge:
46
- return '1.5rem';
47
- case SmartLinkSize.Large:
48
- return '1.25rem';
49
- case SmartLinkSize.Medium:
50
- return '1rem';
51
- case SmartLinkSize.Small:
52
- default:
53
- return '.5rem';
54
- }
55
- };
56
- var clickableContainerStyles = css({
57
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
58
- 'a, button, .has-action': {
59
- position: 'relative',
60
- zIndex: 1
61
- }
62
- });
63
- var getContainerPaddingStyles = function getContainerPaddingStyles(size, hidePadding, childrenOptions) {
64
- var padding = hidePadding ? '0rem' : getPadding(size);
65
- var gap = getGap(size);
66
- var previewOnLeft = childrenOptions.previewOnLeft,
67
- previewOnRight = childrenOptions.previewOnRight;
68
- return css({
69
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
70
- '--container-padding': padding,
71
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
72
- '--container-gap-left': previewOnLeft ? gap : padding,
73
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
74
- '--container-gap-right': previewOnRight ? gap : padding,
75
- '--preview-block-width': '30%',
76
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
77
- padding: padding
78
- },
79
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
80
- previewOnLeft ? "padding-left: calc(var(--preview-block-width) + ".concat(gap, ");") : '',
81
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
82
- previewOnRight ? "padding-right: calc(var(--preview-block-width) + ".concat(gap, ");") : '');
83
- };
84
- var getChildrenOptions = function getChildrenOptions(children, context) {
20
+ export { getContainerStyles } from './indexOld';
21
+ export var getChildrenOptions = function getChildrenOptions(children, context) {
85
22
  var options = {};
86
23
  if (isFlexUiPreviewPresent(context)) {
87
24
  React.Children.map(children, function (child) {
@@ -100,12 +37,6 @@ var getChildrenOptions = function getChildrenOptions(children, context) {
100
37
  }
101
38
  return options;
102
39
  };
103
- export var getContainerStyles = function getContainerStyles(size, hideBackground, hideElevation, hidePadding, clickableContainer, childrenOptions) {
104
- var paddingCss = getContainerPaddingStyles(size, hidePadding, childrenOptions);
105
-
106
- // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
107
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\tdisplay: flex;\n\t\tgap: ", " 0;\n\t\tflex-direction: column;\n\t\tmin-width: 0;\n\t\toverflow-x: hidden;\n\t\tposition: relative;\n\t\t", "\n\t\t", "\n ", "\n ", "\n &:hover ~ .actions-button-group {\n\t\t\topacity: 1;\n\t\t}\n\t\ta:focus,\n\t\t.has-action:focus {\n\t\t\toutline-offset: -2px;\n\t\t}\n\t"])), getGap(size), hideBackground ? '' : "background-color: ".concat("var(--ds-surface-raised, #FFFFFF)", ";"), paddingCss, hideElevation ? '' : elevationStyles, clickableContainer ? clickableContainerStyles : '');
108
- };
109
40
  var renderChildren = function renderChildren(children, containerSize, containerTheme, status, retry, onClick) {
110
41
  return React.Children.map(children, function (child) {
111
42
  // TODO: EDM-6468: Use useFlexibleUiOptionContext for rendering options inside block/element instead
@@ -146,7 +77,7 @@ var getLayeredLink = function getLayeredLink(testId, context, children, onClick)
146
77
  var _ref2 = getTitleBlockProps(children) || {},
147
78
  target = _ref2.anchorTarget,
148
79
  text = _ref2.text;
149
- return jsx(LayeredLink, {
80
+ return /*#__PURE__*/React.createElement(LayeredLink, {
150
81
  onClick: onClick,
151
82
  target: target,
152
83
  testId: testId,
@@ -154,6 +85,60 @@ var getLayeredLink = function getLayeredLink(testId, context, children, onClick)
154
85
  url: url
155
86
  });
156
87
  };
88
+ var baseStyleCommon = null;
89
+ var backgroundStyle = null;
90
+ var elevationStyles = null;
91
+ var clickableContainerStyles = null;
92
+ var gapStyleMap = {
93
+ xlarge: "_zulp1jvo",
94
+ large: "_zulph3jc",
95
+ medium: "_zulp1qos",
96
+ small: "_zulpfzsm"
97
+ };
98
+
99
+ /**
100
+ * Get container padding based on smart link size
101
+ * Equivalent version for DS primitives space token is getPrimitivesPaddingSpaceBySize()
102
+ * at view/FlexibleCard/components/utils.tsx
103
+ */
104
+ var getPadding = function getPadding(size) {
105
+ switch (size) {
106
+ case SmartLinkSize.XLarge:
107
+ return '1.5rem';
108
+ case SmartLinkSize.Large:
109
+ return '1.25rem';
110
+ case SmartLinkSize.Medium:
111
+ return '1rem';
112
+ case SmartLinkSize.Small:
113
+ default:
114
+ return '.5rem';
115
+ }
116
+ };
117
+ var getGap = function getGap(size) {
118
+ switch (size) {
119
+ case SmartLinkSize.XLarge:
120
+ return '1.25rem';
121
+ case SmartLinkSize.Large:
122
+ return '1rem';
123
+ case SmartLinkSize.Medium:
124
+ return '.5rem';
125
+ case SmartLinkSize.Small:
126
+ default:
127
+ return '.25rem';
128
+ }
129
+ };
130
+ var previewOnLeftStyleMap = {
131
+ xlarge: "_19bv15sf _y5vk1k92",
132
+ large: "_19bvf557 _y5vk1j6v",
133
+ medium: "_19bvqox2 _y5vk1kwk",
134
+ small: "_19bv1ltm _y5vk6mu8"
135
+ };
136
+ var previewOnRightStyleMap = {
137
+ xlarge: "_u5f315sf _1yob1k92",
138
+ large: "_u5f3f557 _1yob1j6v",
139
+ medium: "_u5f3qox2 _1yob1kwk",
140
+ small: "_u5f31ltm _1yob6mu8"
141
+ };
157
142
 
158
143
  /**
159
144
  * A container is a hidden component that build the Flexible Smart Link.
@@ -163,7 +148,7 @@ var getLayeredLink = function getLayeredLink(testId, context, children, onClick)
163
148
  * @internal
164
149
  * @see Block
165
150
  */
166
- var Container = function Container(_ref3) {
151
+ var ContainerNew = function ContainerNew(_ref3) {
167
152
  var children = _ref3.children,
168
153
  _ref3$clickableContai = _ref3.clickableContainer,
169
154
  clickableContainer = _ref3$clickableContai === void 0 ? false : _ref3$clickableContai,
@@ -186,20 +171,30 @@ var Container = function Container(_ref3) {
186
171
  testId = _ref3$testId === void 0 ? 'smart-links-container' : _ref3$testId,
187
172
  _ref3$theme = _ref3.theme,
188
173
  theme = _ref3$theme === void 0 ? SmartLinkTheme.Link : _ref3$theme;
174
+ var padding = hidePadding ? '0rem' : getPadding(size);
175
+ var gap = getGap(size);
189
176
  var context = useContext(FlexibleUiContext);
190
- var childrenOptions = getChildrenOptions(children, context);
177
+ var _getChildrenOptions = getChildrenOptions(children, context),
178
+ previewOnLeft = _getChildrenOptions.previewOnLeft,
179
+ previewOnRight = _getChildrenOptions.previewOnRight;
191
180
  var canShowHoverPreview = showHoverPreview && status === 'resolved';
192
181
  // `retry` object contains action that can be performed on
193
182
  // unresolved link (unauthorized, forbidden, not found, etc.)
194
183
  var canShowAuthTooltip = showHoverPreview && status === 'unauthorized' && retry !== undefined;
195
- var container = jsx("div", {
196
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
197
- css: getContainerStyles(size, hideBackground, hideElevation, hidePadding, clickableContainer, childrenOptions),
184
+ var containerPaddingStyles = null;
185
+ var container = /*#__PURE__*/React.createElement("div", {
198
186
  "data-smart-link-container": true,
199
- "data-testid": testId
187
+ "data-testid": testId,
188
+ className: ax(["_1e0c1txw _2lx21bp4 _1ul9idpf _1reo15vq _kqswh2mm _1pcmkb7n _1v7y1i6y _ufn21i6y", gapStyleMap[size], !hideBackground && "_bfhkhp5a", "_1yt418y6 _jb7v18y6 _y5vk167t _1yob1wow _r37x1r5k", previewOnLeft && previewOnLeftStyleMap[size], previewOnRight && previewOnRightStyleMap[size], !hideElevation && "_19itn8v0 _2rkopd34 _18s8v77o", clickableContainer && "_nqwih2mm _18ywh2mm _1nq3h2mm _1t4ckb7n _1nxdkb7n _xnbykb7n"]),
189
+ style: {
190
+ "--_1xumd0e": ix(padding),
191
+ "--_73mooq": ix(previewOnLeft ? gap : padding),
192
+ "--_12k13bg": ix(previewOnRight ? gap : padding),
193
+ "--_vzvmm2": ix("1px solid ".concat("var(--ds-border, ".concat(N40, ")")))
194
+ }
200
195
  }, clickableContainer ? getLayeredLink(testId, context, children, onClick) : null, renderChildren(children, size, theme, status, retry, onClick));
201
196
  if (context !== null && context !== void 0 && context.url && (canShowHoverPreview || canShowAuthTooltip)) {
202
- return jsx(HoverCardControl, {
197
+ return /*#__PURE__*/React.createElement(HoverCardControl, {
203
198
  isHoverPreview: canShowHoverPreview,
204
199
  isAuthTooltip: canShowAuthTooltip,
205
200
  actionOptions: actionOptions,
@@ -210,4 +205,10 @@ var Container = function Container(_ref3) {
210
205
  }
211
206
  return container;
212
207
  };
208
+ var Container = function Container(props) {
209
+ if (fg('bandicoots-compiled-migration-smartcard')) {
210
+ return /*#__PURE__*/React.createElement(ContainerNew, props);
211
+ }
212
+ return /*#__PURE__*/React.createElement(ContainerOld, props);
213
+ };
213
214
  export default Container;
@@ -0,0 +1,217 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ /**
4
+ * @jsxRuntime classic
5
+ * @jsx jsx
6
+ */
7
+ import React, { useContext } from 'react';
8
+
9
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
+ import { css, jsx } from '@emotion/react';
11
+ import { di } from 'react-magnetic-di';
12
+ import { N40 } from '@atlaskit/theme/colors';
13
+ import { MediaPlacement, SmartLinkSize, SmartLinkTheme } from '../../../../constants';
14
+ import { FlexibleUiContext } from '../../../../state/flexible-ui-context';
15
+ import { isFlexUiPreviewPresent } from '../../../../state/flexible-ui-context/utils';
16
+ import { isFlexibleUiBlock, isFlexibleUiPreviewBlock, isFlexibleUiTitleBlock } from '../../../../utils/flexible';
17
+ import HoverCardControl from './hover-card-control';
18
+ import LayeredLink from './layered-link';
19
+ var elevationStyles = css({
20
+ border: "1px solid ".concat("var(--ds-border, ".concat(N40, ")")),
21
+ borderRadius: "var(--ds-border-radius-200, 8px)",
22
+ margin: "var(--ds-space-025, 2px)"
23
+ });
24
+ var clickableContainerStyles = css({
25
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
26
+ 'a, button, .has-action': {
27
+ position: 'relative',
28
+ zIndex: 1
29
+ }
30
+ });
31
+ var getGap = function getGap(size) {
32
+ switch (size) {
33
+ case SmartLinkSize.XLarge:
34
+ return '1.25rem';
35
+ case SmartLinkSize.Large:
36
+ return '1rem';
37
+ case SmartLinkSize.Medium:
38
+ return '.5rem';
39
+ case SmartLinkSize.Small:
40
+ default:
41
+ return '.25rem';
42
+ }
43
+ };
44
+
45
+ /**
46
+ * Get container padding based on smart link size
47
+ * Equivalent version for DS primitives space token is getPrimitivesPaddingSpaceBySize()
48
+ * at view/FlexibleCard/components/utils.tsx
49
+ */
50
+ var getPadding = function getPadding(size) {
51
+ switch (size) {
52
+ case SmartLinkSize.XLarge:
53
+ return '1.5rem';
54
+ case SmartLinkSize.Large:
55
+ return '1.25rem';
56
+ case SmartLinkSize.Medium:
57
+ return '1rem';
58
+ case SmartLinkSize.Small:
59
+ default:
60
+ return '.5rem';
61
+ }
62
+ };
63
+ var getContainerPaddingStyles = function getContainerPaddingStyles(size, hidePadding, childrenOptions) {
64
+ var padding = hidePadding ? '0rem' : getPadding(size);
65
+ var gap = getGap(size);
66
+ var previewOnLeft = childrenOptions.previewOnLeft,
67
+ previewOnRight = childrenOptions.previewOnRight;
68
+ return css({
69
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
70
+ '--container-padding': padding,
71
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
72
+ '--container-gap-left': previewOnLeft ? gap : padding,
73
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
74
+ '--container-gap-right': previewOnRight ? gap : padding,
75
+ '--preview-block-width': '30%',
76
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
77
+ padding: padding
78
+ },
79
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
80
+ previewOnLeft ? "padding-left: calc(var(--preview-block-width) + ".concat(gap, ");") : '',
81
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
82
+ previewOnRight ? "padding-right: calc(var(--preview-block-width) + ".concat(gap, ");") : '');
83
+ };
84
+
85
+ /**
86
+ * @deprecated consider removing on FF bandicoots-compiled-migration-smartcard
87
+ */
88
+ export var getContainerStyles = function getContainerStyles(size, hideBackground, hideElevation, hidePadding, clickableContainer, childrenOptions) {
89
+ var paddingCss = getContainerPaddingStyles(size, hidePadding, childrenOptions);
90
+
91
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
92
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\tdisplay: flex;\n\t\tgap: ", " 0;\n\t\tflex-direction: column;\n\t\tmin-width: 0;\n\t\toverflow-x: hidden;\n\t\tposition: relative;\n\t\t", "\n\t\t", "\n ", "\n ", "\n &:hover ~ .actions-button-group {\n\t\t\topacity: 1;\n\t\t}\n\t\ta:focus,\n\t\t.has-action:focus {\n\t\t\toutline-offset: -2px;\n\t\t}\n\t"])), getGap(size), hideBackground ? '' : "background-color: ".concat("var(--ds-surface-raised, #FFFFFF)", ";"), paddingCss, hideElevation ? '' : elevationStyles, clickableContainer ? clickableContainerStyles : '');
93
+ };
94
+ var getLayeredLink = function getLayeredLink(testId, context, children, onClick) {
95
+ var _ref = context || {},
96
+ title = _ref.title,
97
+ _ref$url = _ref.url,
98
+ url = _ref$url === void 0 ? '' : _ref$url;
99
+ var _ref2 = getTitleBlockProps(children) || {},
100
+ target = _ref2.anchorTarget,
101
+ text = _ref2.text;
102
+ return jsx(LayeredLink, {
103
+ onClick: onClick,
104
+ target: target,
105
+ testId: testId,
106
+ text: text || title,
107
+ url: url
108
+ });
109
+ };
110
+ var getTitleBlockProps = function getTitleBlockProps(children) {
111
+ var block = React.Children.toArray(children).find(function (child) {
112
+ return isFlexibleUiTitleBlock(child);
113
+ });
114
+ if ( /*#__PURE__*/React.isValidElement(block)) {
115
+ return block.props;
116
+ }
117
+ };
118
+ export var getChildrenOptions = function getChildrenOptions(children, context) {
119
+ var options = {};
120
+ if (isFlexUiPreviewPresent(context)) {
121
+ React.Children.map(children, function (child) {
122
+ if ( /*#__PURE__*/React.isValidElement(child)) {
123
+ if (isFlexibleUiPreviewBlock(child)) {
124
+ var placement = child.props.placement;
125
+ if (placement === MediaPlacement.Left) {
126
+ options.previewOnLeft = true;
127
+ }
128
+ if (placement === MediaPlacement.Right) {
129
+ options.previewOnRight = true;
130
+ }
131
+ }
132
+ }
133
+ });
134
+ }
135
+ return options;
136
+ };
137
+ var renderChildren = function renderChildren(children, containerSize, containerTheme, status, retry, onClick) {
138
+ return React.Children.map(children, function (child) {
139
+ // TODO: EDM-6468: Use useFlexibleUiOptionContext for rendering options inside block/element instead
140
+ if ( /*#__PURE__*/React.isValidElement(child) && isFlexibleUiBlock(child)) {
141
+ var blockSize = child.props.size;
142
+ var size = blockSize || containerSize;
143
+ if (isFlexibleUiTitleBlock(child)) {
144
+ return /*#__PURE__*/React.cloneElement(child, {
145
+ // @ts-expect-error
146
+ onClick: onClick,
147
+ retry: retry,
148
+ size: size,
149
+ status: status,
150
+ theme: containerTheme
151
+ });
152
+ }
153
+ // @ts-expect-error
154
+ return /*#__PURE__*/React.cloneElement(child, {
155
+ size: size,
156
+ status: status
157
+ });
158
+ }
159
+ });
160
+ };
161
+
162
+ /**
163
+ * A container is a hidden component that build the Flexible Smart Link.
164
+ * All the Flexible UI components are wrapped inside the container.
165
+ * It inherits the ui props from Card component and applies the custom styling
166
+ * accordingly.
167
+ * @internal
168
+ * @see Block
169
+ */
170
+ var ContainerOld = function ContainerOld(_ref3) {
171
+ var children = _ref3.children,
172
+ _ref3$clickableContai = _ref3.clickableContainer,
173
+ clickableContainer = _ref3$clickableContai === void 0 ? false : _ref3$clickableContai,
174
+ _ref3$hideBackground = _ref3.hideBackground,
175
+ hideBackground = _ref3$hideBackground === void 0 ? false : _ref3$hideBackground,
176
+ _ref3$hideElevation = _ref3.hideElevation,
177
+ hideElevation = _ref3$hideElevation === void 0 ? false : _ref3$hideElevation,
178
+ _ref3$hidePadding = _ref3.hidePadding,
179
+ hidePadding = _ref3$hidePadding === void 0 ? false : _ref3$hidePadding,
180
+ onClick = _ref3.onClick,
181
+ retry = _ref3.retry,
182
+ _ref3$showHoverPrevie = _ref3.showHoverPreview,
183
+ showHoverPreview = _ref3$showHoverPrevie === void 0 ? false : _ref3$showHoverPrevie,
184
+ hoverPreviewOptions = _ref3.hoverPreviewOptions,
185
+ actionOptions = _ref3.actionOptions,
186
+ _ref3$size = _ref3.size,
187
+ size = _ref3$size === void 0 ? SmartLinkSize.Medium : _ref3$size,
188
+ status = _ref3.status,
189
+ _ref3$testId = _ref3.testId,
190
+ testId = _ref3$testId === void 0 ? 'smart-links-container' : _ref3$testId,
191
+ _ref3$theme = _ref3.theme,
192
+ theme = _ref3$theme === void 0 ? SmartLinkTheme.Link : _ref3$theme;
193
+ var context = useContext(FlexibleUiContext);
194
+ var childrenOptions = getChildrenOptions(children, context);
195
+ var canShowHoverPreview = showHoverPreview && status === 'resolved';
196
+ // `retry` object contains action that can be performed on
197
+ // unresolved link (unauthorized, forbidden, not found, etc.)
198
+ var canShowAuthTooltip = showHoverPreview && status === 'unauthorized' && retry !== undefined;
199
+ var container = jsx("div", {
200
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
201
+ css: getContainerStyles(size, hideBackground, hideElevation, hidePadding, clickableContainer, childrenOptions),
202
+ "data-smart-link-container": true,
203
+ "data-testid": testId
204
+ }, clickableContainer ? getLayeredLink(testId, context, children, onClick) : null, renderChildren(children, size, theme, status, retry, onClick));
205
+ if (context !== null && context !== void 0 && context.url && (canShowHoverPreview || canShowAuthTooltip)) {
206
+ return jsx(HoverCardControl, {
207
+ isHoverPreview: canShowHoverPreview,
208
+ isAuthTooltip: canShowAuthTooltip,
209
+ actionOptions: actionOptions,
210
+ testId: testId,
211
+ url: context.url,
212
+ hoverPreviewOptions: hoverPreviewOptions
213
+ }, container);
214
+ }
215
+ return container;
216
+ };
217
+ export default ContainerOld;